:root{color-scheme:dark;--ink:#e7eadf;--sub:#aebdb7;--dim:#74918c;--accent:#d3a368;--line:rgba(214,225,208,.18);--glass:rgba(8,30,34,.79);--deep:#0c2429}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:Arial,Helvetica,sans-serif;background:#162e36;color:var(--ink)}button,input{font:inherit}button{color:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid #eab96e;outline-offset:3px}#app,#world{position:absolute;inset:0;width:100%;height:100%}#world{display:block;touch-action:none;cursor:grab}#world:active{cursor:grabbing}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(5,25,27,.69) 0%,rgba(5,25,27,.24) 25%,transparent 57%,rgba(5,19,25,.18) 100%),linear-gradient(0deg,rgba(3,19,22,.65),transparent 25%,transparent 80%,rgba(4,20,25,.3));z-index:1}.brand,.locationchip,.hero,.compass,.discovery-info,.control-panel,.statusbar,.mobile-open{z-index:3;position:absolute}.brand{top:32px;left:44px;display:flex;align-items:center;gap:13px}.brandmark{height:45px;width:45px;border:1px solid rgba(232,221,188,.75);display:grid;place-items:center;font-family:Georgia,serif;font-size:27px;color:#f1ddb6}.brandmark span{color:var(--accent)}.eyebrow,.section-index,.microcopy,.locationchip,.info-label,.note-foot,.range-label,.inline-help,.label-secondary,.statusbar,.presets,.small-action,.route-list button>span,.panel-bottom,.compass small{font-size:10px;letter-spacing:1.7px;font-weight:700}.eyebrow{color:#a1b4a9}.brandname{font-size:22px;letter-spacing:3px;line-height:1.3;font-weight:700}.brandedition{font-weight:400;font-size:15px;color:#d5ac7a}.locationchip{top:47px;left:50%;transform:translateX(-50%);background:rgba(8,33,35,.48);border:1px solid var(--line);border-radius:24px;padding:12px 18px;white-space:nowrap;color:#d7e3dd;backdrop-filter:blur(10px)}.beacon,.status-dot{display:inline-block;background:#8bc5a6;width:7px;height:7px;border-radius:50%;box-shadow:0 0 14px #78b991;margin-right:8px}.chipbar{color:#bf996c;margin:0 9px}.hero{left:49px;top:24%;max-width:395px;pointer-events:none}.hero button{pointer-events:auto}.section-index{display:flex;align-items:center;gap:13px;color:#d0b188}.section-index .line{height:1px;width:28px;background:#caaa79}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(49px,5vw,87px);line-height:1.01;letter-spacing:-2.5px;font-weight:400;margin:23px 0}.hero h1 em{font-style:italic;color:#e6c49a}.hero p{color:#dae1d4;font-size:14px;line-height:1.95;font-weight:400;letter-spacing:.2px}.hero-cta{margin-top:29px;display:flex;align-items:center;gap:15px}.primary-btn{border:1px solid rgba(244,227,189,.7);padding:15px 19px;background:rgba(233,193,141,.93);color:#22332c;font-size:11px;letter-spacing:1.1px;font-weight:800;text-transform:uppercase;white-space:nowrap;transition:background .2s}.primary-btn:hover{background:#fde0ae}.primary-btn span{font-size:15px;margin-left:15px}.microcopy{color:#dbd9c9;max-width:110px;line-height:1.6;font-size:9px}.compass{left:45px;bottom:180px;display:flex;align-items:center;gap:13px}.compass-circle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:1px solid var(--line);height:54px;width:54px;border-radius:50%;background:rgba(4,24,28,.48)}.compass-circle span{font-size:10px;color:#d2b88a}.compass-circle .arrow{font-size:19px;color:white;line-height:18px;transform:rotate(0deg)}.compass small{color:var(--sub);font-size:9px}.discovery-info{left:45px;bottom:54px;width:410px;max-width:calc(100vw - 445px);background:linear-gradient(110deg,rgba(8,30,33,.84),rgba(9,35,36,.72));border:1px solid rgba(217,233,211,.16);padding:20px 23px 13px;backdrop-filter:blur(18px)}.info-label{color:#c7aa80;display:flex;justify-content:space-between}.info-label span{color:#8ca5a0}.discovery-info h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:9px 0 5px}.discovery-info p{font-size:12px;color:#c2d0c6;line-height:1.75;margin:0;min-height:43px}.note-foot{display:flex;justify-content:space-between;align-items:center;margin-top:9px;border-top:1px solid var(--line);padding-top:8px;color:#a2b5a7}.note-foot button{background:none;border:0;color:#e8ca9b;font-weight:700;font-size:10px;letter-spacing:1.4px}.note-foot button span{margin-left:7px}.control-panel{right:22px;top:112px;bottom:59px;width:340px;max-height:calc(100vh - 160px);display:flex;flex-direction:column;background:var(--glass);border:1px solid rgba(222,231,211,.23);box-shadow:0 20px 70px rgba(3,20,24,.3);backdrop-filter:blur(22px)}.panel-heading{display:flex;align-items:start;justify-content:space-between;padding:22px 25px 19px;border-bottom:1px solid var(--line)}.panel-heading h2{font-size:20px;font-family:Georgia,serif;font-weight:400;margin:7px 0 0}.panel-close{background:transparent;border:1px solid var(--line);width:30px;height:30px;font-size:20px;line-height:12px;color:#f2d6ae}.panel-body{overflow-y:auto;scrollbar-width:thin;scrollbar-color:#67817c transparent;padding:0 25px 22px}.control-group{border-bottom:1px solid var(--line);padding:20px 0}.control-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700;color:#e1e6db;margin-bottom:16px}.value{font-family:monospace;color:#edc79b;font-size:12px;font-weight:500}.label-secondary{color:#95a6a0;font-size:9px}input[type=range]{appearance:none;-webkit-appearance:none;height:2px;background:linear-gradient(90deg,#e8bf85,#577976);width:100%;cursor:pointer;display:block;margin:0 0 9px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#f6d2a2;border:3px solid #2c4440;box-shadow:0 0 0 1px #f6d2a2}input[type=range]::-moz-range-thumb{height:11px;width:11px;background:#f6d2a2;border:2px solid #2c4440;border-radius:50%}.range-label{display:flex;justify-content:space-between;color:#829d97;font-size:9px}.inline-help{color:#abc0b3;font-size:9px;letter-spacing:.5px;margin-top:12px}.time-actions{display:flex;gap:8px;margin-top:15px}.small-action{padding:11px 12px;border:1px solid #b39165;color:#f0d1a8;background:rgba(205,157,92,.1);letter-spacing:.8px;font-size:10px}.small-action.muted{border:1px solid var(--line);background:none;color:#b4c8bb}.wind-meter{height:15px;display:flex;align-items:end;gap:4px;margin-top:16px}.wind-meter i{width:12%;height:5px;background:#496963;transition:background .2s,height .2s}.wind-meter i.on{background:#cfad7c}.presets{display:flex;gap:6px;margin-top:14px}.presets button{border:1px solid var(--line);background:rgba(230,239,222,.03);padding:9px 8px;color:#b5c8bf;font-size:9px;letter-spacing:.9px;flex:1}.presets button.active{border-color:#c5a77d;color:#f4d7af}.routes{padding-bottom:12px}.route-list{margin-top:-5px}.route-list button{display:flex;gap:12px;align-items:center;width:100%;border:0;border-bottom:1px solid rgba(221,237,223,.08);background:transparent;text-align:left;padding:11px 4px;color:#c1ccc2;font-size:12px;letter-spacing:0;transition:color .2s}.route-list button span{color:#bb9b70;font-size:10px}.route-list button b{margin-left:auto;font-weight:400;color:#8da99c}.route-list button.active,.route-list button:hover{color:#f4d8aa}.switch-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:19px;font-size:12px;font-weight:700}.switch-row small{display:block;color:#8fa7a0;font-size:10px;font-weight:400;margin-top:7px}.switch{display:block;position:relative;width:38px;height:21px}.switch input{position:absolute;opacity:0}.track{display:block;width:100%;height:100%;border-radius:20px;background:#47645e;border:1px solid #6a9280;transition:.2s}.track:after{content:'';position:absolute;left:3px;top:3px;height:15px;width:15px;border-radius:50%;background:#d6e6d0;transition:.2s}.switch input:checked+.track{background:#a3825a}.switch input:checked+.track:after{transform:translateX(17px);background:#fff0d1}.panel-bottom{display:flex;justify-content:space-between;margin-top:17px}.text-btn{background:none;border:0;padding:5px 0;color:#e3c99c;font-weight:700;letter-spacing:1px;font-size:10px}.statusbar{bottom:0;left:0;right:0;height:39px;background:rgba(5,22,26,.89);border-top:1px solid rgba(225,232,209,.16);display:flex;justify-content:space-between;align-items:center;padding:0 28px;font-size:9px;color:#b5c6bb;letter-spacing:1.3px}.statusbar strong{color:#eec68a}.statusbar .sep,.status-right span{margin:0 12px;color:#6a8980}.hotspot-layer{position:absolute;inset:0;pointer-events:none;z-index:2}.hotspot{position:absolute;transform:translate(-50%,-50%);background:rgba(9,40,42,.72);border:1px solid rgba(236,223,184,.48);padding:7px 10px 7px 7px;display:flex;gap:7px;align-items:center;white-space:nowrap;color:#f5e0c5;font-size:10px;letter-spacing:1px;backdrop-filter:blur(8px);pointer-events:auto}.hotspot:before{content:'';width:8px;height:8px;border:1px solid #f4d0a0;transform:rotate(45deg)}.hotspot:hover,.hotspot.active{background:rgba(138,100,56,.85)}.mobile-open{display:none}.error-screen{position:absolute;inset:0;z-index:10;background:#10292d;display:grid;place-content:center;text-align:center;padding:30px}.error-screen[hidden]{display:none}.error-screen h2{font:38px Georgia,serif}.error-screen p{max-width:550px;line-height:1.6}.toast{position:absolute;bottom:59px;left:50%;transform:translateX(-50%) translateY(15px);opacity:0;z-index:7;background:rgba(15,36,38,.95);border:1px solid #c7a274;color:#f6e2be;padding:12px 20px;font-size:11px;transition:opacity .3s,transform .3s;pointer-events:none;white-space:nowrap}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-height:800px){.control-panel{top:85px;max-height:calc(100vh - 130px)}.hero{top:25%}.hero h1{font-size:clamp(43px,5vw,70px)}.discovery-info{padding:14px 20px 10px}.compass{bottom:170px}.control-group{padding:16px 0}}
@media(max-width:1120px){.locationchip{left:53%;top:34px}.hero{top:21%;left:30px;max-width:330px}.hero h1{font-size:59px}.brand{left:29px;top:26px}.control-panel{right:14px;width:318px}.discovery-info{left:28px;max-width:calc(100vw - 380px);width:360px}.compass{left:28px}.microcopy{display:none}}
@media(max-width:760px){.brand{top:18px;left:17px}.brandmark{height:36px;width:36px;font-size:22px}.brandname{font-size:15px}.brandedition{font-size:12px}.brand .eyebrow{font-size:8px;letter-spacing:1px}.locationchip{left:auto;right:13px;top:69px;transform:none;font-size:8px;padding:9px 11px}.hero{top:19%;left:20px;max-width:290px}.hero h1{font-size:46px;margin:15px 0}.hero p{font-size:12px;line-height:1.6}.hero-cta{margin-top:14px}.primary-btn{padding:12px;font-size:10px}.control-panel{right:8px;top:128px;bottom:66px;max-height:calc(100vh - 197px);width:min(345px,calc(100vw - 16px));z-index:6}.control-panel.collapsed{display:none}.mobile-open{display:block;right:13px;top:18px;border:1px solid #b5a07e;background:rgba(10,37,39,.86);color:#edd6b0;padding:10px;font-size:10px;letter-spacing:1px}.discovery-info{left:11px;bottom:48px;width:calc(100vw - 22px);max-width:none;padding:12px 15px}.discovery-info h2{font-size:21px}.discovery-info p{font-size:11px;min-height:0}.compass{display:none}.statusbar{height:36px;padding:0 10px;justify-content:space-between;font-size:8px}.statusbar .status-right{display:none}.statusbar .sep{margin:0 6px}.hotspot{font-size:8px;padding:5px}.locationchip{white-space:nowrap}}
@media(max-width:400px){.hero h1{font-size:42px}.hero{top:19%}.locationchip{top:64px}.discovery-info p{line-height:1.4}}

.hero.exploring{opacity:0;pointer-events:none;transition:opacity .35s ease}.hero{transition:opacity .35s ease}
