html,body{overscroll-behavior:none;touch-action:none;background:#6f7c80;height:100%;margin:0;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}#hud{display:none}.delivery-open-btn,.heli-tour-hud-btn{top:calc(max(10px,env(safe-area-inset-top)) + 48px);right:max(12px,env(safe-area-inset-right));z-index:46;color:#edf8f4;cursor:pointer;background:#12272ddd;border:1px solid #badbc866;border-radius:12px;align-items:center;gap:6px;min-height:44px;padding:6px 12px;font:600 13px system-ui;display:inline-flex;position:fixed}.delivery-modal,.heli-tour-modal{z-index:1300;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;color:#edf8f4;background:#071519b8;justify-content:center;align-items:center;font:14px system-ui;display:flex;position:fixed;inset:0}.heli-tour-modal[hidden]{display:none}.delivery-backdrop{position:absolute;inset:0}.delivery-window{flex-direction:column;display:flex;overflow:hidden!important}.delivery-body{overscroll-behavior:contain;touch-action:pan-y;min-height:0;overflow:auto}.delivery-header,.delivery-footer{flex-shrink:0}.heli-tour-stops-list li{gap:12px}.heli-tour-stops-list li>span:first-child{flex:1;min-width:0}.heli-tour-stops-list li>span:last-child{white-space:nowrap;flex-shrink:0}.heli-tour-leg-row{flex-wrap:wrap;gap:6px;display:flex}.delivery-window,.heli-tour-card{overscroll-behavior:contain;box-sizing:border-box;background:#14282e;border:1px solid #b0d9cf44;border-radius:18px;width:min(680px,100%);max-height:100%;padding:18px;position:relative;overflow:auto;box-shadow:0 14px 60px #0008}.delivery-header,.heli-tour-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.delivery-body,.heli-tour-body{margin:12px 0}.delivery-columns{grid-template-columns:1fr 1fr;gap:14px;display:grid}.delivery-cards,.heli-tour-stops{flex-direction:column;gap:8px;display:flex}.delivery-card{cursor:pointer;background:#203b42;border:1px solid #accacb55;border-radius:10px;padding:12px}.delivery-card.selected{background:#27584e;border-color:#77d8b6}.delivery-card-title,.delivery-pane-title{margin-bottom:8px;font-weight:700}.delivery-placeholder,.delivery-progress-bar,.heli-tour-meta{color:#b4ccd0}.delivery-footer,.heli-tour-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.delivery-window button,.heli-tour-card button{color:#f1f9f6;cursor:pointer;background:#24434a;border:1px solid #aed1c955;border-radius:10px;min-width:44px;min-height:44px;padding:10px 14px;font:600 14px system-ui}.delivery-window button:disabled,.heli-tour-card button:disabled{opacity:.5;cursor:default}.delivery-window button:focus-visible,.heli-tour-card button:focus-visible,.delivery-card:focus-visible{outline-offset:2px;outline:3px solid #77d8b6}.delivery-status-msg{margin-top:12px}.delivery-status-msg.error{color:#ffc1ad}.heli-tour-stop{border-bottom:1px solid #bdd1d122;padding:8px}@media (max-width:600px){.delivery-columns{grid-template-columns:1fr}.delivery-window,.heli-tour-card{padding:14px}}#touch{pointer-events:none;color:#eef2f0;-webkit-user-select:none;user-select:none;font:700 11px/1 ui-sans-serif,system-ui;display:none;position:fixed;inset:0}#touch.on{display:block}#touch .lever,#touch .helm,#touch .buttons{pointer-events:auto;touch-action:none;position:absolute}#touch .lever{left:max(12px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:6px;width:92px;height:min(62vh,300px);display:flex}#touch .track{background:#0006;border:1px solid #fff4;border-radius:22px;flex:1;width:44px;position:relative}#touch .neutral{background:#fff9;height:2px;position:absolute;top:72%;left:-10px;right:-10px}#touch .knob{background:#d9dfdc;border-radius:10px;width:62px;height:30px;margin:-15px 0 0 -31px;position:absolute;left:50%;box-shadow:0 2px 6px #0008}#touch .helm{right:max(12px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-end;gap:6px;width:min(46vw,360px);height:120px;display:flex}#touch .bar{background:#0005;border:1px solid #fff4;border-radius:35px;height:70px;position:relative}#touch .dot{background:#d9dfdc;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;position:absolute;top:50%;box-shadow:0 2px 6px #0008}#touch .helm span,#touch .lever span{text-align:center;opacity:.75}#touch .buttons{right:max(12px, env(safe-area-inset-right));top:max(10px, env(safe-area-inset-top));flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:60vw;display:flex}#touch button{font:inherit;color:inherit;background:#0006;border:1px solid #fff5;border-radius:8px;padding:9px 10px}@media (pointer:coarse){#hud{font-size:12px}}#compare{pointer-events:none;color:#fff;text-shadow:0 1px 3px #000a;justify-content:space-around;font:700 14px/1 ui-sans-serif,system-ui;display:none;position:fixed;top:45%;left:0;right:0}#compare:after{content:"";background:#fff8;width:2px;position:fixed;top:0;bottom:0;left:50%}@media (pointer:coarse) and (orientation:portrait){#touch .buttons{top:calc(max(10px, env(safe-area-inset-top)) + 175px);max-width:92vw}#hud{font-size:11px}}#garage-modal{z-index:100;color:#f2f4f2;-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;display:none;position:fixed;inset:0}#garage-modal.open{justify-content:center;align-items:center;display:flex}.garage-backdrop{-webkit-backdrop-filter:blur(8px);background:#0a1216bf;position:absolute;inset:0}.garage-window{background:#182226ee;border:1px solid #fff3;border-radius:14px;flex-direction:column;width:min(92vw,860px);max-height:min(90vh,720px);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #0009}.garage-header{background:#111a1de0;border-bottom:1px solid #fff2;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.garage-title{letter-spacing:1px;color:#a9d4cb;font-size:16px;font-weight:800}.garage-close-btn{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px}.garage-close-btn:hover{color:#fff;background:#fff2}.garage-boat-picker{background:#141d20;border-bottom:1px solid #ffffff15;flex-wrap:wrap;gap:6px;padding:10px 18px;display:flex}.boat-tab-btn{color:#99a6a8;cursor:pointer;white-space:nowrap;background:#1c272a;border:1px solid #fff2;border-radius:6px;padding:8px 12px;font-size:12px;font-weight:700;transition:all .15s}.boat-tab-btn.active{color:#fff;background:#2a3c42;border-color:#62b5a5;box-shadow:0 0 10px #62b5a54d}.garage-stats-bar{background:#0f1618;border-bottom:1px solid #ffffff15;flex-wrap:wrap;gap:12px;padding:10px 18px;font-size:12px;display:flex}.garage-stats-bar .stat{flex-direction:column;gap:2px;display:flex}.garage-stats-bar .lbl{color:#788a8d;letter-spacing:.5px;font-size:10px;font-weight:700}.garage-stats-bar .val{color:#e6f0ed;font-family:ui-monospace,monospace;font-weight:700}.garage-items-scroll{flex-direction:column;flex:1;gap:16px;padding:14px 18px;display:flex;overflow-y:auto}.garage-slot-group{flex-direction:column;gap:8px;display:flex}.slot-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding-bottom:4px;display:flex}.slot-title{color:#9ab4b9;text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:700}.uninstall-slot-btn{color:#ccd6d8;cursor:pointer;background:#263337;border:1px solid #fff2;border-radius:4px;padding:2px 8px;font-size:11px}.slot-items-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.garage-item-card{background:#1d292d;border:1px solid #ffffff1f;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.garage-item-card.installed{background:#1c3233;border-color:#55b29f}.item-name{color:#f2f7f5;font-size:13px;font-weight:700}.item-desc{color:#9bb0b3;font-size:11px;line-height:1.3}.item-gain{color:#5ad8aa;font-size:11px;font-weight:700}.item-action{justify-content:flex-end;margin-top:auto;padding-top:6px;display:flex}.item-action-btn{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-size:11px;font-weight:700}.item-action-btn.buy-btn{color:#fff;background:#2c6e61;border-color:#50bfa9}.item-action-btn.equip-btn{color:#e2eff0;background:#2d454a;border-color:#4b747d}.badge{letter-spacing:.5px;border-radius:4px;padding:4px 8px;font-size:10px;font-weight:800}.installed-badge{color:#72f0cb;background:#16483f;border:1px solid #3ca88d}.locked-badge{color:#c48b8b;background:#2a1f1f}.garage-footer{background:#111a1de0;border-top:1px solid #fff2;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.garage-btn{cursor:pointer;border:1px solid #fff3;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700}.reset-btn{color:#bcc7c9;background:#293437}.drive-btn{color:#fff;background:#247565;border-color:#57cfb7}#pause-modal{z-index:95;color:#f2f4f2;-webkit-user-select:none;user-select:none;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;display:none;position:fixed;inset:0}#pause-modal.open{justify-content:center;align-items:center;display:flex}.pause-backdrop{-webkit-backdrop-filter:blur(8px);background:#0a1216b8;position:absolute;inset:0}.pause-window{background:#162024fa;border:1px solid #fff3;border-radius:14px;flex-direction:column;width:min(92vw,560px);max-height:min(90vh,700px);display:flex;position:relative;overflow:hidden;box-shadow:0 16px 40px #000000b3}.pause-body{-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:1;min-height:0;overflow-y:auto}.pause-header{background:#10181ce0;border-bottom:1px solid #ffffff20;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.pause-title{letter-spacing:1.5px;color:#a9d4cb;font-size:15px;font-weight:800}.pause-close-btn{color:#ccc;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px}.pause-close-btn:hover{color:#fff;background:#fff2}.pause-status-card{background:#10191c;border-bottom:1px solid #ffffff14;flex-direction:column;gap:4px;padding:12px 20px;display:flex}.status-boat{color:#7de0cb;font-size:16px;font-weight:800}.status-metrics{color:#b1c4c2;flex-wrap:wrap;gap:8px;font-family:ui-monospace,monospace;font-size:12px;display:flex}.pause-actions{flex-direction:column;gap:10px;padding:16px 20px 8px;display:flex}.pause-btn{color:#eaf0ed;cursor:pointer;text-align:left;background:#202d32;border:1px solid #ffffff26;border-radius:10px;align-items:center;gap:14px;padding:12px 16px;transition:all .15s;display:flex}.pause-btn:hover{background:#28393f;border-color:#62b5a5;transform:translateY(-1px)}.pause-btn.primary{background:#1e4a42;border-color:#4ebfa7}.pause-btn.primary:hover{background:#265d53;border-color:#72f0cb}.pause-btn .icon{text-align:center;width:28px;font-size:20px}.pause-btn .text{flex-direction:column;gap:2px;display:flex}.pause-btn strong{letter-spacing:.5px;font-size:14px}.pause-btn small{opacity:.75;font-size:11px}.pause-subheading{letter-spacing:1px;color:#7f9598;text-transform:uppercase;padding:12px 20px 4px;font-size:11px;font-weight:800}.pause-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;padding:8px 20px 16px;display:grid}.pause-chip{cursor:pointer;text-align:left;color:inherit;font:inherit;background:#1c272a;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.pause-chip:hover{background:#253338;border-color:#fff3}.chip-title{color:#879ea2;text-transform:uppercase;font-size:10px;font-weight:700}.chip-val{color:#d4e8e4;font-family:ui-monospace,monospace;font-size:12px;font-weight:700}.wind-chip{cursor:default}.wind-chip .wind-controls{justify-content:space-between;align-items:center;gap:6px;display:flex}.wind-btn{color:#fff;cursor:pointer;background:#29383e;border:1px solid #ffffff26;border-radius:4px;width:26px;height:24px;font-weight:700}.wind-btn:hover{background:#354950}.pause-footer{background:#0f1719;border-top:1px solid #ffffff18;padding:12px 20px}.controls-legend{color:#8ea4a7;font-family:ui-monospace,monospace;font-size:11px;line-height:1.4}#marine-hud{pointer-events:none;color:#f2f5f4;-webkit-user-select:none;user-select:none;z-index:40;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;position:fixed;inset:0}.hud-top-bar{top:max(12px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));text-shadow:0 1px 4px #000c;pointer-events:none;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute}.hud-course-line{-webkit-backdrop-filter:blur(6px);color:#d6e8e3;letter-spacing:.3px;background:#0c1418bf;border:1px solid #ffffff2e;border-radius:8px;padding:6px 14px}.hud-env-line{-webkit-backdrop-filter:blur(6px);color:#9bb7bd;background:#0c1418bf;border:1px solid #ffffff2e;border-radius:8px;padding:6px 14px;font-family:ui-monospace,Menlo,monospace}.hud-cluster{bottom:max(20px, env(safe-area-inset-bottom));right:max(24px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);background:#0c1418d6;border:1px solid #ffffff38;border-radius:14px;flex-direction:column;gap:10px;width:320px;padding:12px 16px;display:flex;position:absolute;box-shadow:0 12px 30px #0000008c,inset 0 1px #ffffff26}.hud-boat-banner{border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:6px;padding-bottom:6px;display:flex}.hud-boat-name{color:#a7d3cb;letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:800;overflow:hidden}.hud-status-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:800}.badge-planing{color:#55f3ca;background:#174d41;border:1px solid #3ebf9e;box-shadow:0 0 8px #55f3ca59}.badge-displacement{color:#8da4a8;background:#1f2b2f;border:1px solid #ffffff1a}.hud-airborne-badge{color:#ffb8b8;background:#732323;border:1px solid #d94b4b;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:900;animation:.5s infinite alternate pulse-airborne;display:none}@keyframes pulse-airborne{0%{opacity:.8;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}.hud-hull-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800;display:none}.hull-damaged{color:#ffc978;background:#5a3c10;border:1px solid #d99330}.hull-critical{color:#ff9b9b;background:#6b1818;border:1px solid #e64040;animation:.5s infinite alternate pulse-airborne}.hud-main-instruments{align-items:center;gap:14px;display:flex}.hud-speedo-panel{background:#080e11a6;border:1px solid #ffffff24;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-width:105px;padding:8px 6px;display:flex}.hud-speed-unit{letter-spacing:1.5px;color:#799195;font-size:10px;font-weight:800}.hud-speed-digits{color:#f7faf9;letter-spacing:-1px;text-shadow:0 2px 8px #0009;margin:4px 0 2px;font-family:ui-monospace,Menlo,SF Mono,monospace;font-size:38px;font-weight:900;line-height:1;transition:color .2s}.hud-speed-digits.speed-planing{color:#5cf2cb;text-shadow:0 0 12px #5cf2cb73}.hud-speed-secondary{color:#8da4a7;font-family:ui-monospace,monospace;font-size:10px}.hud-drivetrain-panel{flex-direction:column;flex:1;gap:7px;display:flex}.hud-row{align-items:center;gap:8px;display:flex}.hud-row-lbl{color:#809699;width:28px;font-size:10px;font-weight:800}.hud-row-val{color:#eaf0ee;text-align:right;width:44px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}.hud-gear-badge{letter-spacing:.5px;text-align:center;border-radius:4px;width:48px;padding:2px 6px;font-size:10px;font-weight:800}.gear-ahead{color:#42cbb1;background:#19463c;border:1px solid #36a48f}.gear-neutral{color:#f7ba53;background:#423018;border:1px solid #d4952c}.gear-astern{color:#f08365;background:#4a241b;border:1px solid #c95232}.hud-bar-container{background:#00000073;border:1px solid #ffffff26;border-radius:4px;flex:1;height:8px;position:relative;overflow:hidden}.hud-bar-track{width:100%;height:100%;position:relative}.hud-bar-fill{border-radius:3px;width:0%;height:100%;transition:width 80ms ease-out}.throttle-fill{background:#42cbb1;box-shadow:0 0 6px #42cbb166}.rpm-fill{background:#62b5a5;box-shadow:0 0 6px #62b5a559}.hud-sub-gauges{gap:12px;margin-top:2px;display:flex}.hud-mini-gauge{flex:1;align-items:center;gap:5px;display:flex}.mini-lbl{color:#7b8f92;letter-spacing:.5px;font-size:9px;font-weight:800}.mini-track{background:#00000073;border:1px solid #ffffff26;border-radius:3px;flex:1;height:5px;position:relative;overflow:hidden}.mini-center-mark{background:#ffffff4d;width:1px;position:absolute;top:0;bottom:0;left:50%}.mini-fill{background:#cfdeda;border-radius:2px;position:absolute;top:0;bottom:0}.mini-val{color:#cad8d5;text-align:right;width:26px;font-family:ui-monospace,monospace;font-size:9px}.hud-controls-hint{color:#7d9396;text-align:center;border-top:1px solid #ffffff14;padding-top:5px;font-family:ui-monospace,monospace;font-size:10px}@media (pointer:coarse){#touch button[data-id=compare]{display:none}}@media (max-width:900px),(pointer:coarse){.hud-cluster{top:calc(max(12px, env(safe-area-inset-top)) + 42px);bottom:auto;left:max(8px, env(safe-area-inset-left));gap:6px;width:min(70vw,280px);padding:8px 10px;right:auto;transform:none}.hud-speed-digits{font-size:30px}.hud-speedo-panel{min-width:86px}.hud-top-bar{font-size:11px}}.pause-courses-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;max-height:220px;padding:4px;display:grid;overflow-y:auto}.pause-course-card{text-align:left;cursor:pointer;color:#c5d3d4;background:#1c272a;border:1px solid #ffffff1a;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;transition:all .15s;display:flex}.pause-course-card:hover{background:#253438;border-color:#62b5a588}.pause-course-card.active{background:#1d3635;border-color:#42cbb1;box-shadow:0 0 10px #42cbb140}.course-header{justify-content:space-between;align-items:center;display:flex}.course-title{color:#fff;font-size:13px;font-weight:700}.course-badge{color:#72f0cb;letter-spacing:.5px;background:#1b5349;border:1px solid #3ca88d;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:800}.course-details{color:#92a4a6;justify-content:space-between;font-size:11px;display:flex}.course-reward{color:#5ad8aa;font-weight:700}.course-desc{color:#74898c;margin-top:2px;font-size:10px;line-height:1.25}.chart-overlay{z-index:120;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;color:#e2ece9;background:#080e12f2;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;inset:0}.chart-overlay.hidden{display:none!important}.chart-header{background:#0e161ce6;border-bottom:1px solid #ffffff1f;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 16px;display:flex}.chart-title{flex:1;align-items:center;gap:10px;min-width:0;font-size:14px;display:flex}.chart-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chart-badge{color:#4cd3e6;letter-spacing:.8px;background:#17424a;border:1px solid #287380;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:800}.chart-scale-text{color:#7b949c;margin-left:6px;font-size:11px;display:inline-block}.chart-stats{white-space:nowrap;color:#00f0ff;background:#00f0ff1a;border:1px solid #00f0ff40;border-radius:6px;flex-shrink:0;padding:3px 10px;font-family:ui-monospace,monospace;font-size:13px}.chart-actions{align-items:center;gap:6px;display:flex}.chart-btn{color:#e2ece9;cursor:pointer;white-space:nowrap;background:#1e2c33;border:1px solid #ffffff26;border-radius:6px;min-width:44px;min-height:44px;padding:6px 12px;font-size:13px;font-weight:600;transition:all .15s}.chart-btn:hover{background:#2a3c45;border-color:#4cd3e6}.chart-close-btn{color:#f88;background:#3c2424;border-color:#633b3b}.chart-close-btn:hover{color:#fff;background:#542d2d;border-color:#f55}.chart-viewport{cursor:grab;touch-action:none;background:#081119;flex:1;position:relative;overflow:hidden}.chart-viewport:active{cursor:grabbing}.chart-start-picker{z-index:2;box-sizing:border-box;background:#0e1a20f7;border:1px solid #94d3c34d;border-radius:12px;gap:8px;width:min(360px,100% - 24px);max-height:calc(100% - 24px);padding:14px;display:grid;position:absolute;bottom:12px;left:12px;overflow:auto;box-shadow:0 8px 28px #0000004d}.chart-start-picker[hidden]{display:none}.chart-start-picker-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.chart-start-name{font-size:15px;line-height:1.3}.chart-start-picker label,.chart-start-kind,.chart-start-status{font-size:12px;line-height:1.4}.chart-start-kind{color:#bdd7ce}.chart-start-status:empty{display:none}#chart-start-select{color:#e2ece9;width:100%;min-height:44px;font:inherit;background:#182c35;border:1px solid #49666a;border-radius:6px;padding:8px}#chart-start-search{box-sizing:border-box;color:#e2ece9;width:100%;min-height:44px;font:inherit;background:#182c35;border:1px solid #49666a;border-radius:6px;padding:8px}#chart-start-search:focus-visible{outline-offset:2px;outline:3px solid #a9f1df}#chart-start-travel{background:#2b7769;min-height:44px;font-weight:650}#chart-start-travel:disabled{opacity:.65;cursor:wait}.chart-start-list-toggle{min-height:44px}.legend-location{background:#ffc76a}@media (max-height:480px){.chart-start-picker{gap:5px;width:min(320px,100% - 24px);padding:10px}}#chart-canvas{width:100%;height:100%;position:absolute;top:0;left:0}.chart-legend{color:#9cb1b8;background:#0e161cf2;border-top:1px solid #ffffff1a;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 18px;min-height:38px;padding:8px 16px;font-size:11px;display:flex}.chart-legend>span{white-space:nowrap}.chart-attribution{font-size:10px}.wind-btn:disabled{opacity:.35;cursor:default}@media (max-width:760px),(pointer:coarse){.chart-header{flex-wrap:wrap;gap:8px;height:auto;min-height:52px;padding:8px}.chart-scale-text{display:none}.chart-stats{white-space:nowrap}.chart-actions{flex-wrap:wrap;flex:100%;justify-content:flex-end;min-width:0}.chart-btn{padding:6px}}.legend-dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.legend-boat{background:#00f0ff;box-shadow:0 0 6px #00f0ff}.legend-route{background:#ff007f}.legend-port{background:#f22}.legend-stbd{background:#0d4}.legend-start{background:#f80}.race-result-overlay{z-index:100;padding:max(12px, env(safe-area-inset-top)) 12px;background:#06111edb;place-items:center;display:grid;position:fixed;inset:0}.race-result-overlay[hidden]{display:none}.race-result-card{box-sizing:border-box;color:#edf7fa;background:#101e2b;border:1px solid #42cbb1;border-radius:14px;width:min(620px,100%);max-height:90dvh;padding:24px;overflow:auto}.race-result-card h1{color:#42cbb1;margin:0;font-size:28px}.race-result-card h2{font-size:16px}#result-summary{grid-template-columns:1fr auto;gap:7px 18px;display:grid}#result-summary dd{text-align:right;margin:0}#result-splits{max-height:140px;padding-left:22px;overflow:auto}.result-actions{flex-wrap:wrap;gap:8px;display:flex}.result-actions button{color:#fff;background:#183e45;border:1px solid #42cbb1;border-radius:7px;flex:1;min-height:44px;padding:10px}#race-feedback{color:#cffff5;z-index:12;pointer-events:none;text-align:center;background:#10252fe8;border:1px solid #42cbb1;border-radius:9px;padding:10px 18px;position:fixed;top:100px;left:50%;transform:translate(-50%)}#loading{z-index:200;color:#d8f5ef;text-align:center;background:#0a1926;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:fixed;inset:0}#loading[hidden]{display:none}#loading button{color:#fff;background:#153b43;border:1px solid #42cbb1;border-radius:8px;min-height:44px;padding:12px 24px}.touch-trim{bottom:max(12px, env(safe-area-inset-bottom));pointer-events:auto;flex-direction:column;align-items:center;gap:5px;width:150px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.touch-trim button{color:#e6fffa;background:#16313ddd;border:1px solid #42cbb1;border-radius:6px;min-height:32px}.touch-trim input{accent-color:#42cbb1;touch-action:none;width:140px;min-height:28px}@media (max-width:480px){.touch-trim{width:90px}.touch-trim input{width:85px}.race-result-card{padding:15px}}#flight-picker{flex-wrap:wrap;gap:8px;display:flex}#flight-picker button,#flight-picker select{color:#e9ffff;font:inherit;background:#24444a;border:1px solid #628d95;border-radius:8px;padding:12px}#flight-controls{z-index:45;bottom:max(16px, env(safe-area-inset-bottom));pointer-events:none;position:fixed;left:12px;right:12px}#flight-controls>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}#flight-controls button{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;color:#fff;background:#13292dd9;border:1px solid #8ba5a9;border-radius:9px;padding:16px 4px;font:600 13px system-ui}#flight-status{z-index:44;color:#eaffff;pointer-events:none;background:#12282bd9;padding:10px;font:13px system-ui;position:fixed;top:64px;left:12px;right:12px}.flying #marine-hud,.flying #touch .lever,.flying #touch .helm,.flying #touch .touch-trim,#flight-controls[hidden],#flight-status[hidden]{display:none}#debug-contact{z-index:70;color:#c8ffff;pointer-events:none;background:#092429dd;padding:8px;font:12px monospace;position:fixed;bottom:12px;left:12px}#debug-performance{z-index:70;color:#c8ffff;pointer-events:none;background:#092429dd;padding:8px;font:12px monospace;position:fixed;top:64px;left:12px}@media (max-width:900px){#touch .buttons button{min-width:44px;min-height:44px}.touch-trim{left:calc(50% - 25px)}.touch-trim button{min-height:44px}}@media (max-width:480px){.touch-trim{bottom:160px;left:50%}#touch .buttons{max-width:94vw;top:140px}}@media (max-width:900px) and (orientation:landscape){.hud-cluster{width:min(30vw,250px);top:76px;left:110px}.hud-top-bar{flex-direction:column;align-items:flex-start;gap:6px}#touch .touch-trim{bottom:16px}}@media (max-width:480px){.hud-top-bar{flex-direction:column;align-items:flex-start;gap:6px}.chart-header{flex-wrap:wrap;gap:8px;height:auto;min-height:52px;padding:8px}.chart-scale-text{display:none}.chart-actions{flex-wrap:wrap;flex:100%;justify-content:flex-end;min-width:0}.chart-btn{min-width:44px;min-height:44px;padding:6px}.garage-window{max-height:96vh}.garage-boat-picker{gap:4px;padding:6px}.boat-tab-btn{padding:6px}.hud-cluster{top:80px}#touch .buttons{top:250px}}button,select,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline-offset:3px;outline:3px solid #a9f1df}button[hidden],.pause-btn[hidden],#touch button[hidden]{display:none!important}.garage-window{width:min(96vw,860px);height:min(96dvh,760px);max-height:96dvh}.garage-header,.pause-header{flex-shrink:0;min-height:44px;padding:6px 14px}.garage-title,.pause-title{letter-spacing:.6px;font-size:14px}.garage-close-btn,.pause-close-btn,.wind-btn{min-width:44px;min-height:44px}.garage-content{touch-action:pan-y;overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.garage-boat-picker{align-items:center;gap:12px;padding:6px 12px;font-size:12px;display:flex}.garage-boat-picker select{color:#e6ffff;min-width:0;min-height:44px;font:inherit;background:#20383c;border:1px solid #628d95;border-radius:7px;flex:1;padding:6px;font-size:16px}.fleet-grid{clear:both;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:8px 12px;display:grid}.fleet-card{text-align:left;color:#edf9fc;min-height:98px;font:inherit;cursor:pointer;background:#1a2c31;border:1px solid #48646b;border-radius:9px;flex-direction:column;gap:5px;padding:12px;display:flex}.fleet-card strong{font-size:15px}.fleet-card span{color:#b7ccd3;font-size:12px;line-height:1.35}.fleet-card small{color:#99d8cd;font-size:12px}.fleet-card[aria-pressed=true]{background:#204840;border-color:#82e7cf;box-shadow:inset 0 0 0 1px #82e7cf}.fleet-card:focus-visible{outline-offset:2px;outline:3px solid #ffd88a}.fleet-list{clear:both}.fleet-list>summary{cursor:pointer;color:#c5e5df;box-sizing:border-box;min-height:44px;padding:12px;font-size:13px}.fleet-card:disabled{opacity:.55;cursor:progress}@media (max-width:480px){.fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px}.fleet-card{min-height:110px;padding:10px}}.garage-stats-details{border-bottom:1px solid #ffffff26}.garage-stats-details summary{box-sizing:border-box;cursor:pointer;min-height:44px;padding:0 12px;font-size:12px;line-height:44px}.garage-stats-bar{font-size:12px}.garage-maintenance{flex-wrap:wrap;gap:8px;padding:8px 12px;display:flex}.garage-items-scroll{padding:8px 12px 16px;overflow:visible}.garage-item-card{padding:8px 10px}.item-action-btn,.uninstall-slot-btn,.item-requirement-btn,.garage-btn{min-height:44px}.item-requirement-btn{color:#cffff5;background:#263b42;border:1px solid #6c9698;border-radius:6px;align-self:flex-start;padding:6px 10px;font-size:12px}.garage-footer{flex-shrink:0;justify-content:flex-end;padding:6px 12px}.garage-footer .drive-btn{min-height:44px}.garage-empty{color:#c3d4d8;line-height:1.5}.garage-notice{color:#a9f1df;background:#111a1de0;flex-shrink:0;margin:0;padding:8px 12px;font-size:12px;line-height:1.5}.garage-notice:empty{display:none}.pause-window{max-height:96dvh}.pause-body{overscroll-behavior:contain}.pause-actions{gap:8px;padding:10px 12px}.pause-btn{min-height:44px;padding:10px 12px}.pause-footer{padding:8px 12px}.controls-legend{font:12px/1.4 ui-sans-serif,system-ui}.menu-section{border:1px solid #45646c;border-radius:9px;margin:0 12px 10px}.menu-section>summary{box-sizing:border-box;cursor:pointer;min-height:44px;padding:10px;font-size:14px}.menu-section>summary span{color:#b5d7d7;padding:4px 0 0 15px;font-size:11px;display:block}.menu-note{padding:0 12px;font-size:12px;line-height:1.5}.pause-courses-grid{max-height:none;padding:8px;overflow:visible}.pause-grid,#pause-flight-panel{padding:8px}.race-result-card{touch-action:pan-y;overscroll-behavior:contain;max-height:94dvh;padding:16px;font:15px/1.4 system-ui,sans-serif}.race-result-card h1{font-size:24px}.race-result-card p{margin:8px 0}.result-time{color:#a9f1df;font-size:26px;font-weight:800}.result-details{margin-top:10px}.result-details summary{cursor:pointer;align-items:center;min-height:44px;display:flex}#result-splits{max-height:none;overflow:visible}.result-actions button{min-width:130px}#game-help{z-index:110;color:#edf7fa;background:#071522df;place-items:center;padding:10px;font:14px/1.5 system-ui,sans-serif;display:grid;position:fixed;inset:0}#game-help[hidden]{display:none}.help-card{background:#101e2b;border:1px solid #42cbb1;border-radius:14px;flex-direction:column;width:min(620px,100%);max-height:94dvh;display:flex;overflow:hidden}.help-card header{justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;display:flex}.help-card h1{margin:6px 0;font-size:20px}.help-body{touch-action:pan-y;min-height:0;padding:0 16px;overflow:auto}.help-steps{padding-left:22px}.help-steps li{margin:10px 0}.help-card summary{cursor:pointer;align-items:center;min-height:44px;display:flex}.help-card button{color:#e6fffa;min-width:44px;min-height:44px;font:inherit;background:#203e45;border:1px solid #62b5a5;border-radius:8px;padding:8px 12px}.help-card footer{flex-wrap:wrap;gap:8px;padding:10px 14px;display:flex}#help-practice{background:#247565}#driving-lesson{z-index:30;box-sizing:border-box;color:#ecfffc;background:#102731ee;border:1px solid #71d7bf;border-radius:9px;width:min(480px,100vw - 24px);padding:10px;font:13px/1.4 system-ui;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}#driving-lesson[hidden]{display:none}#driving-lesson button{color:#dffff7;background:#244a4e;border:1px solid #62b5a5;border-radius:6px;min-height:44px;margin-top:6px}#touch{display:block}#touch:not(.on) .lever,#touch:not(.on) .helm,#touch:not(.on) .touch-trim{display:none}#touch .buttons{top:max(10px,env(safe-area-inset-top));max-width:75vw}#touch .buttons button{min-width:44px;min-height:44px;font-size:12px;display:block}#touch .buttons button[data-id=help],#touch .buttons button[data-id=neutral],#touch .buttons button[data-id=reset]{display:block}#touch .lever{width:104px;height:min(46vh,290px)}#touch .lever>button{pointer-events:auto;background:#1f5154;border-color:#8fdfcb;width:92px;min-height:44px;font-size:12px}#touch .lever>span,#touch .helm>span{font-size:10px;line-height:1.2}#touch .gear-label{color:#cbe5e0;text-align:center;pointer-events:none;font:10px system-ui;position:absolute;left:4px;right:4px}#touch .ahead{top:8px}#touch .astern{bottom:5px}#touch .neutral-label{top:calc(72% - 15px)}.touch-controls #touch .buttons button[data-id=neutral],.touch-controls #touch .buttons button[data-id=reset],.flying #touch .buttons button[data-id=cam],.flying #touch .buttons button[data-id=garage],.flying #touch .buttons button[data-id=neutral],.flying #touch .buttons button[data-id=reset]{display:none}.hud-controls-hint{font-size:12px;line-height:1.5}#race-feedback{max-width:calc(100vw - 48px);font:13px/1.4 system-ui;top:auto;bottom:160px}@media (max-width:900px){#touch .buttons{top:max(10px,env(safe-area-inset-top));gap:5px;max-width:calc(100vw - 24px)}#touch .buttons button{padding:8px}.hud-top-bar{top:66px}.hud-env-line{display:none}.hud-cluster{width:min(300px,100vw - 24px);top:158px;left:12px;right:auto}.hud-speed-secondary,.hud-sub-gauges{display:none}#driving-lesson{font-size:12px;top:292px;bottom:auto}.touch-trim{bottom:150px;left:50%}}@media (max-width:900px) and (orientation:landscape){.garage-boat-picker{box-sizing:border-box;width:100%;margin:0}.garage-stats-details>summary{align-items:center;min-height:44px;padding:6px 12px;line-height:1.3;display:flex}.garage-stats-details[open],.garage-notice,.garage-items-scroll{clear:both}.hud-cluster{width:174px;padding:8px;top:auto;bottom:70px;left:126px}.hud-cluster .hud-boat-banner,.hud-cluster .hud-row:not(.hud-throttle-row){display:none}.hud-main-instruments{gap:8px}.hud-speed-digits{font-size:27px}#driving-lesson{width:45vw;inset:128px 12px auto auto;transform:none}#touch .touch-trim{bottom:16px}}[hidden]{display:none!important}.hud-top-bar{gap:8px;right:auto}#course-navigator{z-index:41;box-sizing:border-box;color:#e5fff8;pointer-events:none;background:#102731e8;border:1px solid #6cae9d;border-radius:9px;align-items:center;gap:12px;max-width:calc(100vw - 48px);padding:8px 12px;font:13px/1.4 system-ui;display:flex;position:fixed;top:64px;left:16px}.nav-arrow{text-align:center;min-width:25px;font-size:30px;display:inline-block}#nav-warning{color:#ffd2a3;max-width:540px;font-size:12px}#nav-warning:empty,.lesson-active .hud-cluster{display:none}#flight-picker{flex-direction:column;gap:10px;display:flex}#flight-picker .flight-choice{gap:6px;display:flex}#flight-picker .flight-choice button{flex:1;min-width:0;min-height:44px;padding:10px 4px;font-size:13px}#flight-picker button[aria-pressed=true]{color:#fff;background:#2b655d;border:2px solid #a9f1df}#flight-picker label{flex-direction:column;gap:4px;font-size:12px;display:flex}#flight-picker select{min-width:0;min-height:44px;padding:8px}#flight-picker p{margin:0;font-size:12px;line-height:1.4}#flight-picker small{color:#b9cecf;font-size:10px;line-height:1.4}#flight-picker small a{color:#c4f4e7}#flight-controls{height:auto}#flight-controls .flight-stick{display:none}#flight-controls .flight-toolbar{justify-content:center;gap:8px;display:flex}#flight-controls button{min-height:44px;padding:8px;font-size:12px}#flight-controls .flight-button-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}#flight-controls .flight-camera{pointer-events:auto;color:#e6ffff;background:#122d35e6;border-radius:7px;align-items:center;gap:10px;padding:4px 10px;font:12px system-ui;display:flex;position:fixed;top:122px;right:12px}#flight-controls input{accent-color:#a9f1df;width:140px;min-height:44px}#flight-status{font-size:13px;line-height:1.4;top:66px}.touch-controls #flight-controls{height:206px}.touch-controls #flight-controls .flight-stick{pointer-events:auto;touch-action:none;color:#e4fffa;-webkit-user-select:none;user-select:none;background:#102a35dd;border:1px solid #719b9d;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:min(38vw,180px);height:144px;font:700 12px system-ui;display:flex;position:absolute;bottom:56px}.touch-controls #flight-controls .flight-stick[data-stick=move]{left:0}.touch-controls #flight-controls .flight-stick[data-stick=height]{right:0}.flight-stick small{font:10px system-ui}.stick-ring{background:#0003;border:1px dashed #abd9d9;border-radius:50%;width:80px;height:80px;margin-top:6px;position:relative}.stick-knob{background:#d9f2ed;border-radius:50%;width:44px;height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 5px #0006}.touch-controls #flight-controls .flight-toolbar{position:absolute;bottom:0;left:0;right:0}.touch-controls #flight-controls.button-mode .flight-stick{display:none}.touch-controls #flight-controls .flight-button-grid{position:absolute;bottom:56px;left:0;right:0}.touch-controls #flight-controls .flight-button-grid button{min-height:62px}@media (max-width:900px){#course-navigator{max-width:none;padding:6px 10px;font-size:12px;top:100px;left:12px;right:12px}#nav-target{font-size:13px}.hud-cluster{top:176px}#driving-lesson{top:178px}#flight-controls .flight-camera{top:134px}#flight-controls input{width:110px}}@media (max-width:900px) and (orientation:landscape){.hud-cluster{top:auto}#course-navigator{width:calc(100vw - 24px);top:92px;right:auto}#driving-lesson{top:160px}#flight-status{right:240px}#flight-controls .flight-camera{top:66px}}body.lesson-active #race-feedback,.hud-top-bar,.hud-cluster,#touch .touch-trim,#nav-instruction,#flight-controls .flight-camera,#flight-controls .flight-toolbar [data-reset],#flight-controls .flight-toolbar [data-buttons]{display:none}#touch .buttons{flex-wrap:nowrap;gap:4px;max-width:none}#touch .buttons button{background:#102731bb;padding:8px}#touch .buttons button[aria-pressed=true]{background:#27665c;border-color:#a9f1df}#course-navigator{top:max(10px,env(safe-area-inset-top));background:#10273199;border-color:#a9f1df55;gap:6px;width:auto;max-width:calc(100vw - 204px);min-height:44px;padding:4px 8px;left:12px;right:auto}.nav-arrow{min-width:20px;font-size:23px}#nav-target{font-size:12px}#nav-side{font-size:11px}#nav-side:empty{display:none}#nav-warning{font-size:11px;line-height:1.3}#drive-readout{left:16px;bottom:max(16px,env(safe-area-inset-bottom));color:#e5fff8;text-align:center;background:#10273188;border-radius:8px;padding:5px 10px;font:12px/1.2 system-ui;position:fixed}#drive-speed{font-variant-numeric:tabular-nums;font-size:26px}#drive-gear{font-size:11px;display:block}.drive-astern,#drive-warning{color:#ffd2a3}#drive-warning:not(:empty){padding-top:3px;display:block}#touch .track,#touch .bar{background:#10273144;border-color:#c3eee866}#touch .helm{height:96px}#touch .bar{height:56px}#touch .lever>span,#touch .helm>span{text-shadow:0 1px 3px #000}#flight-status{top:max(10px,env(safe-area-inset-top));background:#10273199;border-radius:8px;max-width:calc(100vw - 212px);padding:5px 8px;font-size:11px;right:auto}.touch-controls #flight-controls .flight-stick{background:#10273144;border-color:#a9f1df55}body:not(.hud-expanded) .flight-stick small{display:none}body.hud-expanded .hud-top-bar{font-size:12px;display:flex;top:66px;left:12px;right:12px}body.hud-expanded .hud-env-line{display:block}body.hud-expanded #drive-readout{display:none}body.hud-expanded .hud-cluster{width:min(310px,100vw - 24px);display:block;inset:106px auto auto 12px}body.hud-expanded #nav-instruction{display:block}body.hud-expanded #nav-side{display:none}body.hud-expanded #course-navigator{max-width:min(540px,100vw - 24px);top:auto;bottom:90px}body.hud-expanded #touch.on .touch-trim{display:flex}body.flying.hud-expanded #touch.on .touch-trim{display:none}body.hud-expanded #flight-controls .flight-camera{display:flex;top:106px}body.hud-expanded #flight-controls .flight-toolbar [data-reset],body.hud-expanded #flight-controls .flight-toolbar [data-buttons]{display:block}body.hud-expanded #flight-status{max-width:none;top:66px;right:12px}@media (max-width:900px){.touch-controls #drive-readout{bottom:140px;left:50%;transform:translate(-50%)}body.hud-expanded #course-navigator{max-width:calc(100vw - 24px);top:54px;bottom:auto}body.hud-expanded .hud-top-bar{gap:0;top:132px}body.hud-expanded .hud-cluster{box-sizing:border-box;top:192px}body.hud-expanded .hud-speed-secondary,body.hud-expanded .hud-sub-gauges,body.hud-expanded .hud-cluster .hud-row,body.hud-expanded .hud-cluster .hud-boat-banner{display:flex}}@media (max-width:900px) and (orientation:portrait){.touch-controls #race-feedback{bottom:212px}}@media (max-width:900px) and (orientation:landscape){.touch-controls #drive-readout{bottom:16px;left:126px;transform:none}body.hud-expanded #course-navigator{max-width:calc(100vw - 356px)}body.hud-expanded .hud-top-bar{max-width:calc(100vw - 356px);top:126px}body.hud-expanded .hud-cluster{width:280px;top:64px;left:auto;right:12px}body.hud-expanded #touch .touch-trim{bottom:16px;left:50%}}.gallery-invitation{color:#f8f2df;text-align:left;cursor:pointer;background:linear-gradient(120deg,#26362c,#1d2a31);border:1px solid #d6bd7b55;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;width:calc(100% - 24px);margin:0 12px 12px;padding:16px;display:flex}.gallery-invitation>span:first-child{gap:5px;display:grid}.gallery-invitation small{letter-spacing:2px;color:#ddc68e;font-size:10px}.gallery-invitation strong{font-size:16px}.gallery-invitation span span{color:#c9d4d1;font-size:12px}.gallery-invitation>span:last-child{font-size:26px}#pause-modal.show-gallery .pause-window{background:#111a1f;width:min(94vw,1080px);max-height:94dvh}#pause-modal .pause-body[hidden],#pause-modal .pause-footer[hidden],.archipelago-gallery[hidden],.gallery-loading[hidden]{display:none}.archipelago-gallery{overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:0 22px 22px;overflow-y:auto}.gallery-top{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.gallery-top>span{letter-spacing:2px;color:#c7b98c;font-size:10px}#pause-modal.show-gallery .pause-window.gallery-expanded-window{border-radius:0;width:100vw;height:100dvh;max-height:100dvh}.gallery-expanded-window>.pause-header{display:none}.archipelago-gallery.gallery-expanded{padding-bottom:max(10px,env(safe-area-inset-bottom));flex-direction:column;flex:1;display:flex;overflow:hidden}.gallery-expanded .gallery-top,.gallery-expanded .gallery-caption{flex-shrink:0}.gallery-expanded .gallery-figure{flex-direction:column;flex:1;min-height:0;display:flex}.gallery-expanded .gallery-stage{aspect-ratio:auto;flex:1;min-height:0;max-height:none}.gallery-expanded .gallery-thumbnails,.gallery-expanded .gallery-story{display:none}@media (max-width:600px){.gallery-expanded .gallery-top>span{display:none}}@media (max-height:500px){.gallery-expanded #gallery-caption-description{display:none}.gallery-expanded .gallery-top{padding:4px 0}.gallery-expanded .gallery-caption{padding:5px 0}}.gallery-top button,.gallery-nav button{color:#f3eee2;cursor:pointer;min-height:44px;font:inherit;background:#ffffff08;border:1px solid #ffffff30;border-radius:7px;padding:0 14px}.gallery-figure{margin:0}.gallery-stage{aspect-ratio:16/9;touch-action:pan-y;background:#080d10;border-radius:8px;width:100%;max-height:53dvh;position:relative;overflow:hidden}.gallery-stage>img{object-fit:contain;width:100%;height:100%;display:block}.gallery-loading{text-align:center;background:#10181ce0;place-items:center;padding:20px;font-size:13px;display:grid;position:absolute;inset:0}.gallery-loading [data-gallery=retry]{color:#f3eee2;cursor:pointer;min-height:44px;font:inherit;background:#19272e;border:1px solid #e1c88b;border-radius:7px;padding:0 20px}.gallery-loading [data-gallery=retry][hidden]{display:none}.gallery-caption{justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.gallery-caption>div:first-child{gap:5px;display:grid}.gallery-caption strong{font-size:15px;font-weight:500}#gallery-count{color:#a8b7be;font-size:11px}#gallery-caption-description{color:#c1ced3;max-width:65ch;font-size:12px;line-height:1.4}.gallery-nav{gap:8px;display:flex}.gallery-nav button{min-width:48px;font-size:21px}.gallery-thumbnails{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:2px 0 14px;display:grid}.gallery-thumbnails button{cursor:pointer;background:0 0;border:1px solid #ffffff25;border-radius:6px;min-width:44px;min-height:44px;padding:3px}.gallery-thumbnails img{aspect-ratio:16/9;object-fit:cover;border-radius:3px;width:100%;height:auto;display:block}.gallery-thumbnails button[aria-pressed=true]{background:#e1c88b25;border-color:#e1c88b}.gallery-story{border-top:1px solid #ffffff18;padding-top:15px}.gallery-eyebrow{color:#ddc68e;letter-spacing:3px;margin:0;font-size:10px}.gallery-story h2{letter-spacing:-.5px;margin:7px 0;font-size:clamp(22px,3vw,30px);font-weight:500}.gallery-story p:not(.gallery-eyebrow){color:#c5d0d3;max-width:670px;margin:8px 0;font-size:13px;line-height:1.6}.gallery-story .gallery-note{color:#9bacb3;font-size:11px}.gallery-bottom{color:#9bacb3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.gallery-download{color:#ddc68e;text-underline-offset:4px;align-items:center;min-height:44px;text-decoration:underline;display:inline-flex}.gallery-invitation:hover,.gallery-top button:hover,.gallery-nav button:hover{border-color:#e1c88b}.gallery-invitation:focus-visible,.archipelago-gallery button:focus-visible,.gallery-download:focus-visible{outline-offset:3px;outline:2px solid #e1c88b}@media (max-width:600px){.archipelago-gallery{padding:0 12px 12px}.gallery-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.gallery-caption strong{font-size:13px}.gallery-top>span{letter-spacing:1px;font-size:9px}}@media (max-height:500px) and (min-width:600px){.gallery-top{padding:4px 0}.gallery-stage{max-height:42dvh}.gallery-caption{padding:5px 0}}.camera-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.camera-choices[hidden]{display:none}.camera-choices button{color:#edf8fa;min-height:44px;font:inherit;cursor:pointer;background:#142534;border:1px solid #64748b;border-radius:10px;padding:10px 6px}.camera-choices button[aria-pressed=true]{background:#244a49;border-color:#83d8c4;box-shadow:inset 0 0 0 1px #83d8c4}#gate-edge-hints{pointer-events:none;z-index:8;position:fixed;inset:0}.gate-edge{box-sizing:border-box;opacity:.85;filter:drop-shadow(0 1px 1px #182b38);border-top:2px solid #f4f3e5;border-bottom:2px solid #f4f3e5;width:10px;height:14px;position:absolute;top:-7px;left:-5px}.gate-edge.port{border-left:2px solid #ff7c70}.gate-edge.starboard{border-right:2px solid #67ddac}.gate-edge[hidden]{display:none}@media (max-width:520px){.camera-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}#course-preview canvas{background:#102c35;border-radius:8px;width:100%;max-width:400px;height:auto}#course-preview .pause-btn,#pause-quality{min-height:44px}#pause-volume{width:100%;min-height:44px}#pause-reduced-motion,#course-event-weather{min-width:24px;min-height:24px}#pause-modal label:has(input[type=checkbox]){align-items:center;gap:10px;min-height:44px;display:flex}#pause-save-status{font-size:12px;line-height:1.4}#nav-time{font-variant-numeric:tabular-nums;font-size:12px}.passage-info{color:#d0e5e8;background:#122a31;border-left:3px solid #6fa0a8;border-radius:5px;margin:10px 0;padding:10px 12px;font-size:13px}.passage-info p{margin:6px 0}.passage-info small{color:#adbec5;line-height:1.4;display:block}.passage-info ul{margin:6px 0;padding-left:18px}.passage-info.blocked{border-color:#f3b35a}.passage-info button{color:#e7f4f4;min-height:44px;font:inherit;background:#23444b;border:1px solid #7198a0;border-radius:6px;margin-top:8px;padding:8px 12px}.course-passage-badge,.fleet-route-status{color:#ffd193;font-size:12px}#garage-passages{margin:10px 12px}.harbour-overlay{z-index:130;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));color:#eaf4f7;background:#040e17c7;place-items:center;display:grid;position:fixed;inset:0}.harbour-overlay[hidden]{display:none}.harbour-card{background:linear-gradient(145deg,#142b39,#0d1e2a);border:1px solid #39505d;border-radius:18px;flex-direction:column;width:min(680px,100%);min-height:0;max-height:100%;display:flex;overflow:hidden;box-shadow:0 20px 70px #0008}.harbour-card header,.harbour-card footer{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex}.harbour-card h1{margin:3px 0;font-size:20px}.harbour-card header small{color:#a7c1c9;letter-spacing:.13em;font-size:10px}.harbour-card nav{gap:8px;padding:0 18px 12px;display:flex}.harbour-card button{color:#f0f7fa;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:#1e3847;border:1px solid #526a77;border-radius:9px;padding:10px 14px}.harbour-card button[aria-pressed=true],.harbour-card .harbour-primary{color:#102b28;background:#b8e4d0;border-color:#b8e4d0}.harbour-card button:disabled{opacity:.45;cursor:default}.harbour-card button:focus-visible,.discovery-list summary:focus-visible{outline-offset:2px;outline:2px solid #a7e4d5}.harbour-body{overscroll-behavior:contain;min-height:0;padding:4px 18px 18px;overflow:auto}.harbour-body h2{margin:12px 0 8px;font-size:23px}.harbour-body p{line-height:1.5}.harbour-lead{color:#bde3d4;font-size:18px}.harbour-note{color:#adc2cc;font-size:13px}.harbour-metrics{flex-wrap:wrap;gap:12px;display:flex}.harbour-metrics>div{border:1px solid #314c5b;border-radius:10px;flex:1;padding:16px}.harbour-metrics span,.harbour-metrics strong{display:block}.harbour-metrics strong{margin-top:6px;font-size:22px}.harbour-metrics span{color:#adc2cc;font-size:13px}.harbour-body progress{accent-color:#b8e4d0;width:100%}.discovery-list details{border-bottom:1px solid #314c5b}.discovery-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 0;display:flex}.discovery-list summary small{white-space:nowrap;color:#adc2cc}.harbour-card footer{border-top:1px solid #314c5b}.harbour-card footer span{color:#ebc998;font-size:12px}@media (max-height:450px){.harbour-card header{padding:8px 14px}.harbour-card h1{font-size:17px}.harbour-card nav{padding-bottom:6px}.harbour-card footer{padding:6px 14px}.harbour-body{padding:0 14px 12px}}.harbour-card{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}#pause-light-select{color:#f0f7fa;width:100%;min-height:44px;font:inherit;background:#1e3847;border:1px solid #526a77;border-radius:8px;padding:8px 10px}.activity-modal{z-index:140;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));box-sizing:border-box;background:#030f17b8;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.activity-modal.open{display:flex}.activity-window{color:#eaf4f7;background:#102a37;border:1px solid #527581;border-radius:18px;width:min(100%,600px);max-height:100%;overflow:auto;box-shadow:0 18px 65px #00101999}.activity-window header{z-index:1;background:#102a37;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;display:flex;position:sticky;top:0}.activity-window h2{margin:0;font-size:21px}.activity-body{padding:0 18px 18px}.activity-body section{border-top:1px solid #395464;padding:14px 0}.activity-body p{line-height:1.5}.activity-body small{color:#a8c6d3;line-height:1.5;display:block}.activity-window button{color:#eef9ff;min-width:44px;min-height:44px;font:inherit;cursor:pointer;background:#205066;border:1px solid #6c929f;border-radius:12px;padding:10px 14px}.activity-window button:disabled{opacity:.55;cursor:default}.activity-window button[aria-pressed=true]{background:#31695b;border-color:#89c6ac}.activity-row{flex-wrap:wrap;gap:10px;display:flex}.activity-row button{flex:1}.activity-body>[data-action=close]{width:100%;margin-top:12px}.activity-window :focus-visible{outline-offset:3px;outline:3px solid #ffdb7a}.course-search-row{gap:8px;margin:16px 0;display:grid}.course-search-row label{color:#dce7eb;font-size:14px}.course-search-row>div{gap:8px;display:flex}.course-search-row input{color:#eef4f6;background:#12212b;border:1px solid #ffffff35;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:8px 12px;font:16px system-ui}.course-search-row button{color:#eef4f6;cursor:pointer;background:#1b2d39;border:1px solid #ffffff35;border-radius:8px;min-height:44px;padding:8px 12px}.course-search-row p{color:#abc0cc;margin:0;font-size:13px}#pause-courses-grid>[hidden]{display:none}.gallery-share{color:#f3eee2;cursor:pointer;min-height:44px;font:inherit;background:#1b2d39;border:1px solid #ffffff35;border-radius:7px;padding:8px 14px}.gallery-share:disabled{opacity:.6;cursor:wait}.gallery-share-status{color:#c1ced3;overflow-wrap:anywhere;font-size:12px;line-height:1.5}.gallery-share-status[hidden]{display:none}.pause-actions .menu-row{background:#202d32;border-color:#ffffff26;margin:0}.pause-actions .menu-row[open]{border-color:#62b5a5}.pause-actions .menu-row>summary{color:#eaf0ed;align-items:center;gap:14px;padding:10px 12px;list-style:none;display:flex}.pause-actions .menu-row>summary::-webkit-details-marker{display:none}.pause-actions .menu-row>summary:after{content:"▾";opacity:.6;margin-left:auto}.pause-actions .menu-row[open]>summary:after{content:"▴"}.pause-actions .menu-row>summary>.icon{text-align:center;width:28px;color:inherit;padding:0;font-size:20px;display:block}.pause-actions .menu-row>summary>.text{font-size:inherit;color:inherit;flex-direction:column;gap:2px;padding:0;display:flex}.pause-actions .menu-row>summary>.text strong{letter-spacing:.5px;font-size:14px}.pause-actions .menu-row>summary>.text small{opacity:.75;color:inherit;padding:0;font-size:11px;display:block}.pause-actions .menu-row>summary small span{font-size:inherit;color:#9fe0cf;padding:0;display:inline}.pause-actions .menu-row>.pause-btn.compact{box-sizing:border-box;width:calc(100% - 16px);margin:0 8px 8px}.pause-actions .menu-row .menu-section{margin:0 8px 8px}.pause-secondary{gap:8px;margin-bottom:8px;display:flex}.pause-secondary button{color:#cfe0dd;cursor:pointer;background:#1c272a;border:1px solid #ffffff1f;border-radius:8px;flex:1;min-height:40px;padding:6px 8px;font-size:13px}.pause-secondary button:hover{background:#253338;border-color:#62b5a5}.pause-about{margin:0 12px 12px}.pause-about .gallery-invitation{width:100%;margin:0 0 8px}.pause-about a{color:#9fe0cf}.engine-inspection{background:#141d20;border:1px solid #ffffff1f;border-radius:8px;margin:8px 18px}.engine-inspection>summary{color:#e6f0ed;cursor:pointer;padding:10px 12px;font-size:13px;font-weight:700}.engine-controls{color:#9ab4b9;flex-wrap:wrap;align-items:center;gap:10px;padding:0 12px 8px;font-size:12px;display:flex}.engine-stage{background:#182226;border-radius:6px;height:clamp(240px,46vh,420px);margin:0 12px;overflow:hidden}.engine-stage canvas{cursor:grab;width:100%;height:100%;display:block}.engine-note{color:#788a8d;margin:6px 12px 10px;font-size:11px;line-height:1.4}
