:root{font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f5f5ed;background:#111b1c;font-synthesis:none;font-weight:400;font-size:14px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e8bb70;outline-offset:4px}button{color:inherit}canvas{display:block;width:100%;height:100%;position:absolute;inset:0}#app{height:100dvh;position:relative;min-height:480px}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(9,21,23,.38),transparent 26%,transparent 62%,rgba(8,18,20,.7)),radial-gradient(ellipse at 50% 45%,transparent 40%,rgba(12,19,20,.15));z-index:1}.topbar{position:absolute;z-index:3;top:0;left:0;right:0;padding:29px 38px;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:34px;height:34px;position:relative;border:1px solid #e7e7d64d;border-radius:50%;display:grid;place-items:center;font-size:24px;font-family:serif;line-height:1;transform:rotate(-12deg)}.brand-text{font-family:Manrope,sans-serif;font-size:14px;font-weight:700;letter-spacing:3px}.brand-sub{font-size:9px;letter-spacing:2.8px;opacity:.56;margin-top:5px}.status{display:flex;gap:9px;align-items:center;font-size:11px;letter-spacing:1.3px;color:#e5e9db}.dot{width:5px;height:5px;border-radius:50%;background:#c9d5a3;box-shadow:0 0 10px #c9d5a355}.top-right{display:flex;align-items:center;gap:24px}.icon-button{background:#ffffff0b;border:1px solid #ffffff25;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;transition:background .2s}.icon-button:hover{background:#fff2}.icon-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.location{position:absolute;z-index:2;top:117px;left:39px;max-width:420px}.eyebrow{font-size:9px;letter-spacing:2.9px;text-transform:uppercase;color:#e7d6b3;margin-bottom:12px;display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";height:1px;width:24px;background:#e3cfa6}.location h1{font-family:Manrope,sans-serif;font-size:clamp(27px,3vw,42px);font-weight:400;letter-spacing:-1.5px;margin:0;line-height:1.2;text-shadow:0 2px 18px #0004}.location p{font-size:12px;color:#e3e8dfb3;letter-spacing:.25px;margin-top:11px;text-shadow:0 1px 8px #0008}.region-number{font-size:9px;letter-spacing:1.8px;color:#d6dfd1;opacity:.55;margin-top:24px}.bottom{position:absolute;z-index:3;bottom:0;left:0;right:0;padding:0 38px 24px}.journey-row{display:flex;justify-content:space-between;align-items:end;margin-bottom:21px}.journey-label{font-size:9px;letter-spacing:2px;opacity:.5;text-transform:uppercase}.journey-reading{margin-top:6px;font-size:20px;letter-spacing:-.5px;font-weight:400;font-variant-numeric:tabular-nums}.journey-reading small{font-size:10px;color:#d6dfd1;letter-spacing:.5px;margin-left:5px}.right-readings{display:flex;gap:35px;text-align:right}.progress{height:1px;background:#ffffff26;position:relative;margin-bottom:20px}.progress-fill{height:1px;background:#e3c994;width:5%;transition:width .5s}.progress-fill:after{content:"";float:right;width:5px;height:5px;border-radius:50%;background:#ead2a1;transform:translate(2px,-2px)}.controls{display:flex;align-items:center;gap:18px;min-height:47px}.play-button{width:44px;height:44px;background:#e7d8b7;color:#263132;border:0;border-radius:50%;display:grid;place-items:center;transition:transform .2s,background .2s;flex-shrink:0}.play-button:hover{background:#f5e9ce;transform:scale(1.04)}.play-button svg{width:15px;height:15px;fill:currentColor}.control-caption{font-size:11px;min-width:100px}.control-caption small{display:block;font-size:9px;opacity:.43;margin-top:4px;letter-spacing:.5px}.divider{height:28px;width:1px;background:#ffffff20;margin:0 6px}.seed-control{display:flex;align-items:center;gap:9px}.seed-control label{font-size:9px;letter-spacing:1.6px;opacity:.45}.seed-control input{background:transparent;border:0;border-bottom:1px solid transparent;color:#e9ecdfad;width:145px;padding:7px 2px;font-size:11px}.seed-control input:focus{border-color:#e5d6b750;outline:none;color:#fff}.seed-button{background:none;border:0;padding:5px;opacity:.6}.seed-button:hover{opacity:1}.seed-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.5}.terrain-control{margin-left:auto;display:flex;align-items:center;gap:13px}.terrain-control label{font-size:9px;letter-spacing:1.5px;opacity:.5}.terrain-control select{background:#13242370;color:#ececdd;border:1px solid #ffffff2a;border-radius:5px;font-size:11px;padding:10px 28px 10px 12px;max-width:190px}.terrain-control option{background:#1c2b2c;color:#eee}.footer{display:flex;justify-content:space-between;margin-top:23px;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#e6ece16b}.footer button{background:none;border:0;padding:0;text-transform:uppercase;font-size:8px;letter-spacing:1.5px;opacity:.8}.telemetry{position:absolute;z-index:5;right:38px;top:88px;background:#101d20e8;border:1px solid #ffffff24;backdrop-filter:blur(15px);border-radius:8px;padding:18px 20px;width:290px;font-size:11px;box-shadow:0 20px 80px #0003}.telemetry[hidden]{display:none}.telemetry h2{font-size:11px;font-weight:500;letter-spacing:1.3px;margin:0 0 16px}.metric{display:flex;justify-content:space-between;gap:20px;margin:9px 0;color:#e8ecdf9c}.metric strong{font-weight:400;color:#f0f1e8;font-variant-numeric:tabular-nums}.telemetry p{font-size:10px;line-height:1.6;opacity:.5;margin:17px 0 0}.loading{position:absolute;inset:0;z-index:6;background:#15252add;backdrop-filter:blur(13px);display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .7s;pointer-events:none}.loading.done{opacity:0}.loading .loader{width:34px;height:34px;border:1px solid #ffffff21;border-top-color:#e5c991;border-radius:50%;animation:spin 1.2s linear infinite;margin-bottom:26px}.loading h2{font-family:Manrope,sans-serif;font-weight:400;font-size:24px;letter-spacing:-.5px;margin:0 0 13px}.loading p{font-size:11px;color:#e7e6d48a;margin:0}.toast{position:absolute;z-index:6;left:50%;top:80px;transform:translate(-50%);background:#152628e8;border:1px solid #ffffff2c;border-radius:5px;padding:12px 20px;font-size:11px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:90vw;text-align:center}.toast.visible{opacity:1}.error{position:absolute;inset:0;background:#14252a;display:grid;place-content:center;text-align:center;padding:40px}.error h1{font-weight:400}.error p{line-height:1.7;max-width:500px;color:#ffffff90}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:760px){.topbar{padding:22px}.brand-text{font-size:11px;letter-spacing:2px}.brand-sub{font-size:8px;letter-spacing:1.5px}.status{display:none}.location{left:23px;top:110px}.location h1{font-size:29px}.bottom{padding:0 22px 20px}.seed-control{display:none}.controls{gap:12px}.divider,.terrain-control label{display:none}.terrain-control select{max-width:160px}.control-caption{min-width:60px;font-size:10px}.right-readings{gap:19px}.journey-reading{font-size:18px}.footer{font-size:7px;letter-spacing:1px}.footer span:last-child{max-width:160px;text-align:right}.telemetry{right:22px;top:75px}.journey-row{margin-bottom:18px}.brand-mark{width:30px;height:30px}.top-right{gap:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.loading .loader{animation-duration:3s}}.sky-panel label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#ffffffa0;margin:20px 0 10px}.sky-panel output{letter-spacing:0;color:#efe6d1;font-variant-numeric:tabular-nums}.sky-panel input[type=range]{width:100%;accent-color:#d8c49e;cursor:pointer}.sky-panel p{line-height:1.7}.sky-panel{max-height:calc(100dvh - 115px);overflow:auto}.sky-panel input[type=date],.sky-panel select{width:100%;background:#203234;color:#eee9dd;border:1px solid #ffffff30;border-radius:3px;padding:7px;font-size:11px;color-scheme:dark}.sky-panel label:has(input[type=checkbox]){justify-content:flex-start;gap:9px;align-items:center;letter-spacing:.4px}.sky-panel input[type=checkbox]{accent-color:#d8c49e}.touch-driving,.touch-driving[hidden]{display:none}@media(max-width:760px){.touch-driving{position:absolute;z-index:4;bottom:188px;left:22px;right:22px;display:flex;gap:9px;justify-content:space-between}.touch-driving button{width:48px;height:48px;border:1px solid #ffffff55;border-radius:50%;background:#142629c9;color:#eee;touch-action:none;user-select:none;font-size:20px}}@media(pointer:coarse){.touch-driving{position:absolute;z-index:4;bottom:188px;left:22px;right:22px;display:flex;gap:9px;justify-content:space-between}.touch-driving button{width:48px;height:48px;border:1px solid #ffffff55;border-radius:50%;background:#142629c9;touch-action:none;user-select:none;font-size:20px}}.topbar,.location,.bottom{transition:opacity 1.2s ease}.cinema-mode:not(.ui-awake) .topbar,.cinema-mode:not(.ui-awake) .location,.cinema-mode:not(.ui-awake) .bottom{opacity:0;pointer-events:none}.cinema-mode:has(:focus-visible) .topbar,.cinema-mode:has(:focus-visible) .bottom{opacity:1;pointer-events:auto}.cinema-mode .touch-driving{opacity:.6}.audio-panel .audio-start{width:100%;border:1px solid #e7d8b760;border-radius:5px;background:#e7d8b7;color:#263132;padding:10px}.audio-start[hidden]{display:none}.audio-panel #audio-status{min-height:28px;opacity:.8;margin-top:12px}.audio-panel label:has(input[type=checkbox]){font-size:12px;letter-spacing:0;gap:10px}.audio-panel{max-height:calc(100dvh - 115px);overflow:auto}@media(max-width:540px){.top-right{gap:7px}.top-right .icon-button{width:30px;height:30px}.brand-sub,.brand-mark{display:none}.brand-text{font-size:10px;letter-spacing:1.3px}.audio-panel{max-height:calc(100dvh - 95px);width:min(290px,calc(100vw - 44px))}}.activity-panel{position:absolute;left:50%;bottom:160px;transform:translate(-50%);max-width:660px;width:90%;padding:14px 20px;border:1px solid #ffffff24;border-radius:12px;background:#142125dc;color:#e8eadf;z-index:5;text-align:center;backdrop-filter:blur(12px)}.activity-panel p{margin:0 0 12px}.activity-panel small{opacity:.55;font-size:11px}.activity-panel button,.activity-offer{background:#25383be8;color:#e8eadf;border:1px solid #b4cab643;border-radius:7px;padding:9px 13px;margin:3px;cursor:pointer}.activity-panel button:disabled{opacity:.35;cursor:default}.activity-offer{position:absolute;left:50%;bottom:270px;transform:translate(-50%);z-index:5}.activity-panel[hidden],.activity-offer[hidden],.activity-panel button[hidden]{display:none}.activity-mode .location,.activity-mode .bottom,.activity-mode .touch-driving{opacity:0;pointer-events:none}.activity-mode .activity-panel{bottom:25px;background:#142125c9}.activity-mode .activity-panel small{display:block;margin-top:7px}#boat-touch,#boat-touch[hidden]{display:none}@media(pointer:coarse){#boat-touch{display:block}.activity-panel{max-height:42vh;overflow:auto}}#return-shade{position:absolute;inset:0;background:#070c10;opacity:0;pointer-events:none;z-index:30}.activity-mode .activity-panel{width:auto;min-width:200px;max-width:90%;padding:10px 18px}.activity-panel p:empty{display:none}.activity-offer{width:42px;height:46px;padding:5px;margin:0;background:none;border:0;border-radius:0;box-shadow:none;opacity:.65;color:#e4e9dc;transition:opacity .5s;bottom:260px}.activity-offer svg{display:block;width:100%;height:100%;filter:drop-shadow(0 1px 3px #07141380)}.activity-offer:hover{background:none;opacity:1}.activity-panel{box-shadow:none}.activity-panel p{font-size:12px;opacity:.7}.activity-panel button{background:none;border:0;font-size:12px;padding:2px 5px;opacity:.7}.activity-mode .activity-panel{background:none;border:0;backdrop-filter:none;min-width:0;filter:drop-shadow(0 1px 3px #071413)}.activity-panel p{margin-bottom:5px}.activity-panel button:hover{background:none;opacity:1}.activity-offer{bottom:auto;transform:translate(-50%,-100%);pointer-events:auto}.cockpit-view .location,.cockpit-view .journey-row{opacity:0;pointer-events:none}.cockpit-view .bottom{background:none}.icon-button[aria-pressed=true]{background:#a4cdb526;border-color:#bce3c566}@media(max-width:700px){.topbar{padding:18px 16px;align-items:flex-start}.topbar .brand-text,.topbar .brand-sub{display:none}.top-right{gap:7px;flex-wrap:wrap;justify-content:flex-end;max-width:300px}.top-right .status{display:none}.top-right .icon-button{width:30px;height:30px}}.route-gps{position:absolute;z-index:2;right:38px;bottom:232px;width:152px;height:117.333px;overflow:hidden;border:1px solid #e0e9dc1c;border-radius:18px;background:linear-gradient(145deg,#17272a3d,#10202366);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);box-shadow:0 8px 30px #07131514,inset 0 1px #ffffff05;pointer-events:none;opacity:.86}.route-gps[hidden]{display:none}.route-gps svg{display:block;width:100%;height:100%}.route-gps .route-edge{fill:none;stroke:#c8ded329;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}.route-gps .route-line{fill:none;stroke:#d4e3c6bd;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.route-gps .route-marker{fill:#e3eacb;stroke:#f1f2e399;stroke-width:.65;stroke-linejoin:round;filter:drop-shadow(0 1px 3px #061412aa)}.route-gps .route-scale{fill:#dce8d478;stroke:#dce8d45c;stroke-width:.65}.route-gps .route-scale text{font-size:7px;font-family:inherit;text-anchor:middle;stroke:none;letter-spacing:.4px}@media(max-width:700px){.route-gps{right:16px;bottom:272px;width:100px;height:77.333px;border-radius:10px}}.route-gps .route-compass circle{fill:#13242380;stroke:#dde8d52e;stroke-width:.8}.route-gps .route-compass text{fill:#e3e9d9a6;font-size:12px;font-family:inherit;letter-spacing:.5px}.route-gps .route-north-label{text-anchor:middle}.route-gps .route-north path{fill:none;stroke:#e3e9d9bd;stroke-width:1;stroke-linejoin:round}.route-gps .route-bearing{font-variant-numeric:tabular-nums}.route-gps .route-scale text{font-size:10px}.fish-catch-card{position:fixed;right:30px;top:23%;width:340px;max-width:calc(100vw - 40px);padding:22px 24px 24px;box-sizing:border-box;background:#e7e5d4f5;border:1px solid rgba(239,242,222,.5);border-radius:12px;color:#273a31;box-shadow:0 16px 65px #0003;pointer-events:none;z-index:12}.fish-catch-card[hidden]{display:none}.fish-catch-card svg{display:block;width:100%;height:auto;margin:10px 0 5px}.fish-catch-eyebrow{font-size:9px;letter-spacing:.23em;opacity:.64}.fish-catch-name{font-size:27px;font-family:Georgia,serif}.fish-catch-latin{font:italic 12px Georgia,serif;opacity:.64;margin-top:4px}.fish-catch-measure{font-size:13px;letter-spacing:.06em;margin-top:16px}.fish-catch-measure span{padding:0 8px;opacity:.4}@media(max-width:600px){.fish-catch-card{right:16px;top:14%;width:260px;padding:16px}.fish-catch-name{font-size:23px}}
