:root{color-scheme:dark;--ink:#071e29;--ink-2:#0b2a36;--panel:#0d2b36;--panel-raised:#123844;--line:rgba(195,235,227,.13);--muted:#9ab9b4;--cream:#eff5e8;--aqua:#84e1cb;--aqua-bright:#b5f8e6;--amber:#f2c179;--coral:#ea927b;--focus:#ffe09b;--shadow:0 20px 65px rgba(0,12,18,.35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--ink);color:var(--cream)}body{min-height:100vh;background:radial-gradient(ellipse at 20% -20%,#194956 0,transparent 48%),linear-gradient(155deg,#0b2530,#061820 70%);font-size:14px;line-height:1.45}button,input{font:inherit}button{color:inherit}.app-shell{max-width:1680px;margin:0 auto;padding:0 28px 24px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--cream);letter-spacing:.12em}.brand strong{display:block;font-size:13px;font-weight:780;letter-spacing:.18em}.brand small{display:block;color:#92b3b1;font-size:9px;letter-spacing:.17em;margin-top:3px}.brand-mark{width:32px;height:32px;border:1px solid rgba(132,225,203,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;gap:2px;transform:rotate(26deg)}.brand-mark span{display:block;width:3px;border-radius:3px;background:var(--aqua)}.brand-mark span:nth-child(1){height:10px}.brand-mark span:nth-child(2){height:17px}.brand-mark span:nth-child(3){height:8px}.top-stats{display:flex;gap:34px;margin-left:auto}.stat{display:flex;flex-direction:column;gap:1px;min-width:65px}.stat-label{font-size:9px;color:#89aaa8;letter-spacing:.15em}.stat strong{font-size:13px;font-weight:670;letter-spacing:.04em}.icon-button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#113542;color:var(--aqua);font-size:16px;display:grid;place-items:center}.icon-button:disabled,.quiet-button:disabled{opacity:.4;cursor:not-allowed}.main-layout{display:grid;grid-template-columns:minmax(0,1fr) 304px;gap:18px;padding-top:18px;align-items:start}.stage-wrap{min-width:0}.stage{position:relative;width:100%;height:min(79vh,800px);min-height:540px;overflow:hidden;border:1px solid rgba(170,230,220,.18);border-radius:18px;background:linear-gradient(180deg,#0d4a5c 0%,#0d6470 38%,#1b7677 62%,#ab9c75 100%);box-shadow:var(--shadow);isolation:isolate}#reefCanvas{display:block;width:100%;height:100%;outline:none;touch-action:none}#reefCanvas:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(2,27,37,.33),transparent 27%,transparent 66%,rgba(4,25,31,.33)),radial-gradient(ellipse at center,transparent 52%,rgba(1,20,28,.32) 100%);z-index:1}.scene-labels{position:absolute;inset:0;pointer-events:none;z-index:3}.world-label{position:absolute;transform:translate(-50%,-100%);padding:6px 10px;border:1px solid rgba(179,245,226,.42);border-radius:999px;background:rgba(5,35,43,.84);color:#e5fff4;font-size:11px;font-weight:700;letter-spacing:.04em;white-space:nowrap;box-shadow:0 4px 14px rgba(0,20,24,.25);backdrop-filter:blur(5px)}.world-label::after{content:"";position:absolute;top:100%;left:50%;width:1px;height:10px;background:rgba(179,245,226,.65)}.world-label.debris-label{border-color:rgba(242,193,121,.58);color:#ffe2ad}.world-label.done{opacity:.5;text-decoration:line-through}.reticle{position:absolute;z-index:2;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border:1px solid rgba(231,255,247,.76);border-radius:50%;box-shadow:0 0 0 4px rgba(5,35,43,.14);pointer-events:none}.reticle i{position:absolute;width:3px;height:3px;background:#f4fff9;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}.hud-top{position:absolute;z-index:4;left:20px;right:20px;top:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.hud-pill{display:flex;align-items:center;gap:9px;min-height:34px;padding:0 12px;border:1px solid rgba(221,251,244,.18);border-radius:99px;background:rgba(5,31,40,.65);color:#edfff9;font-size:10px;font-weight:700;letter-spacing:.14em;backdrop-filter:blur(8px)}.pulse-dot{width:7px;height:7px;border-radius:50%;background:#83e1c7;box-shadow:0 0 0 4px rgba(131,225,199,.13)}.hud-target{letter-spacing:.03em;font-size:11px;font-weight:600;color:#d6f5eb}.target-glyph{font-size:16px;color:var(--aqua)}.stage-footer{position:absolute;z-index:3;bottom:14px;left:20px;right:20px;display:flex;justify-content:space-between;color:rgba(222,247,238,.73);font-size:9px;letter-spacing:.16em;text-shadow:0 1px 6px rgba(0,0,0,.45);pointer-events:none}.interaction-prompt{position:absolute;z-index:5;left:50%;bottom:62px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;padding:9px 14px 9px 9px;border:1px solid rgba(204,248,232,.34);border-radius:11px;background:rgba(4,32,40,.88);color:#f3fff9;box-shadow:0 10px 30px rgba(0,12,18,.28);backdrop-filter:blur(10px);white-space:nowrap;font-weight:650}.prompt-key{display:grid;place-items:center;width:31px;height:31px;border-radius:7px;background:var(--aqua);color:#06343b;font-weight:850}.toast{position:absolute;z-index:6;left:50%;top:64px;transform:translateX(-50%);max-width:calc(100% - 32px);padding:10px 16px;border:1px solid rgba(175,245,224,.35);border-radius:9px;background:rgba(3,33,42,.91);color:#eafff6;text-align:center;box-shadow:0 8px 28px rgba(0,10,16,.28)}.screen-card{position:absolute;z-index:7;left:50%;top:50%;transform:translate(-50%,-50%);width:min(460px,calc(100% - 36px));padding:30px 32px 26px;border:1px solid rgba(199,240,229,.21);border-radius:18px;background:linear-gradient(160deg,rgba(10,47,57,.95),rgba(5,31,40,.95));box-shadow:0 28px 80px rgba(0,13,20,.55);backdrop-filter:blur(16px)}.start-card{top:50%;left:7%;transform:translateY(-50%);width:min(455px,53%)}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--aqua);font-size:9px;font-weight:750;letter-spacing:.21em}.eyebrow-line{width:23px;height:1px;background:var(--aqua);opacity:.8}.screen-card h1,.screen-card h2{margin:12px 0 10px;font-size:clamp(35px,4vw,54px);line-height:.97;letter-spacing:-.055em;font-weight:600}.screen-card h1 em,.screen-card h2 em{font-family:Georgia,serif;font-weight:400;color:#b7ecd9}.screen-card h2{font-size:38px}.lead{margin:0;color:#bfd3ce;font-size:13px;line-height:1.6}.mission-summary{display:flex;gap:12px;margin:19px 0 16px;padding:12px;border:1px solid rgba(153,222,202,.17);border-radius:11px;background:rgba(14,66,72,.35)}.summary-icon{display:grid;place-items:center;flex:0 0 32px;height:32px;border-radius:9px;background:rgba(132,225,203,.15);color:var(--aqua);font-size:20px}.mission-summary p{margin:0;color:#b7cbc4;font-size:11px;line-height:1.45}.mission-summary strong{color:#f1fff8;font-size:12px}.control-summary{display:flex;flex-wrap:wrap;gap:7px 11px;color:#a8c2ba;font-size:10px}.control-summary span{display:flex;align-items:center;gap:5px}kbd{padding:3px 5px;border:1px solid rgba(205,239,229,.18);border-radius:4px;background:rgba(234,255,247,.06);color:#e5f7f0;font:700 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.07em}.comfort-settings{margin-top:14px;padding-top:10px;border-top:1px solid rgba(201,237,225,.12);color:#b5c9c3;font-size:11px}.comfort-settings summary{cursor:pointer;color:#cfe7de;font-weight:650}.comfort-settings[open] summary{margin-bottom:9px}.range-label{display:flex;justify-content:space-between;margin:8px 0 4px}.range-label output{color:var(--aqua)}input[type=range]{width:100%;accent-color:var(--aqua)}.check-label{display:flex;align-items:center;gap:7px;margin-top:7px}.check-label input{accent-color:var(--aqua)}.primary-button{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding:13px 16px;border:0;border-radius:9px;background:linear-gradient(105deg,#9ce7d3,#b9f3d5);color:#072a32;font-size:13px;font-weight:800;letter-spacing:.02em;cursor:pointer;transition:transform .18s ease,filter .18s ease}.primary-button:hover{transform:translateY(-1px);filter:brightness(1.07)}.primary-button:focus-visible,.text-button:focus-visible,.icon-button:focus-visible,.quiet-button:focus-visible,.touch-controls button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.disclaimer{margin:10px 0 0;color:#89aaa4;font-size:9px}.text-button{display:block;margin:13px auto 0;border:0;background:none;color:#c1d7cf;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.completion-stats{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin-top:20px;padding:12px;border-radius:9px;background:rgba(139,216,195,.1)}.completion-stats span{font-size:9px;color:#91b7ac;letter-spacing:.13em}.completion-stats strong{color:#eafff6}.mission-panel{padding:21px 20px;border:1px solid rgba(195,235,227,.12);border-radius:15px;background:linear-gradient(150deg,rgba(16,53,64,.91),rgba(9,35,45,.94));box-shadow:0 14px 40px rgba(0,13,18,.19)}.panel-heading{display:flex;align-items:center;justify-content:space-between}.panel-heading h2{margin:4px 0 0;font-size:24px;letter-spacing:-.04em;font-weight:600}.panel-stamp{display:grid;place-content:center;width:43px;height:43px;border:1px solid rgba(132,225,203,.4);border-radius:50%;color:var(--aqua);text-align:center;font-family:Georgia,serif;font-size:16px;line-height:1}.panel-stamp small{margin-top:3px;font:700 6px system-ui;letter-spacing:.13em}.panel-copy{margin:12px 0 20px;color:#a5c0b8;font-size:11px;line-height:1.55}.objective-group{padding:15px 0 12px;border-top:1px solid var(--line)}.group-heading{display:flex;align-items:center;gap:8px;color:#e4f2eb;font-size:11px;font-weight:700}.group-heading strong{margin-left:auto;color:#a5dcca;font-size:11px}.group-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;font-size:15px}.survey-icon{color:var(--aqua);background:rgba(132,225,203,.12)}.debris-icon{color:var(--amber);background:rgba(242,193,121,.12)}.objective-list{list-style:none;padding:0;margin:9px 0 0}.objective-list li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;min-height:34px;color:#b4c7c0;font-size:10px;border-bottom:1px solid rgba(196,231,222,.055)}.objective-list li:last-child{border-bottom:0}.step-dot{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(188,230,216,.08);color:#a0c1b5;font:700 9px ui-monospace,monospace}.task-state{color:#789990;font-size:8px;font-weight:700;letter-spacing:.11em}.objective-list li.done .step-dot{background:var(--aqua);color:#052c33}.objective-list li.done .task-state{color:var(--aqua)}.objective-list li.done>span:nth-child(2){color:#789d91;text-decoration:line-through}.return-card{display:flex;align-items:center;gap:11px;margin:13px 0 13px;padding:11px;border:1px solid rgba(242,193,121,.13);border-radius:10px;background:rgba(242,193,121,.045)}.return-card.ready{border-color:rgba(132,225,203,.45);background:rgba(132,225,203,.09)}.return-icon{display:grid;place-items:center;width:31px;height:31px;flex:0 0 31px;border-radius:9px;background:rgba(242,193,121,.12);color:var(--amber);font-size:18px}.return-card.ready .return-icon{background:rgba(132,225,203,.14);color:var(--aqua)}.return-card strong{font-size:10px;color:#e6f4ed}.return-card p{margin:2px 0 0;color:#93aca3;font-size:9px;line-height:1.35}.quiet-button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 12px;border:1px solid rgba(200,239,227,.15);border-radius:8px;background:rgba(234,255,246,.035);color:#d0e4db;font-size:10px;cursor:pointer}.quiet-button:not(:disabled):hover{border-color:rgba(132,225,203,.5);color:var(--aqua)}.source-note{margin:13px 0 0;color:#76958e;font-size:9px;line-height:1.5}.touch-controls{display:none}.touch-controls button{touch-action:none;user-select:none;-webkit-user-select:none}.stage.is-playing .touch-controls{display:none}.stage-footer{font-weight:650}.stage:has(.start-card:not([hidden])) .hud-top,.stage:has(.start-card:not([hidden])) .reticle{opacity:.62} [hidden]{display:none!important}
@media(max-width:1120px){.app-shell{padding-left:18px;padding-right:18px}.main-layout{grid-template-columns:minmax(0,1fr) 280px;gap:13px}.mission-panel{padding:18px 16px}.start-card{width:min(440px,60%);left:5%}.top-stats{gap:20px}}
@media(max-width:820px){.app-shell{padding:0 12px 18px}.topbar{height:65px;gap:10px}.top-stats{gap:12px}.stat{min-width:53px}.stat-label{font-size:8px}.stat strong{font-size:11px}.main-layout{grid-template-columns:1fr;gap:12px;padding-top:12px}.stage{height:min(70vh,720px);min-height:480px;border-radius:14px}.mission-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.panel-heading,.panel-copy,.return-card,.quiet-button,.source-note{grid-column:1/-1}.panel-copy{margin:8px 0 12px}.objective-group{padding-top:12px}.start-card{left:50%;top:50%;transform:translate(-50%,-50%);width:min(455px,calc(100% - 32px));padding:24px}.screen-card h1{font-size:46px}.touch-controls{display:flex;position:absolute;z-index:4;left:14px;right:14px;bottom:46px;align-items:end;justify-content:space-between;pointer-events:none}.touch-controls button{pointer-events:auto;border:1px solid rgba(217,251,238,.35);background:rgba(4,35,43,.62);color:#e4fff5;backdrop-filter:blur(5px);box-shadow:0 6px 18px rgba(0,10,16,.25)}.dpad{width:132px;height:136px;position:relative}.dpad button{position:absolute;width:48px;height:48px;border-radius:14px;font-weight:800;font-size:18px}.dpad button:nth-child(1){left:42px;top:0}.dpad button:nth-child(2){left:0;top:44px}.dpad button:nth-child(3){left:42px;top:88px}.dpad button:nth-child(4){right:0;top:44px}.vertical-pad{display:flex;flex-direction:column;gap:8px;margin:0 auto 6px 8px}.vertical-pad button{width:48px;height:48px;border-radius:12px;font-size:21px}.touch-interact{width:63px;height:63px;border-radius:50%;background:rgba(135,225,202,.8)!important;color:#063039!important;border-color:rgba(227,255,244,.65)!important;font-size:15px;font-weight:850}.touch-interact small{font-size:7px;letter-spacing:.12em}.stage.is-playing .touch-controls{display:flex}.stage:has(.screen-card:not([hidden])) .touch-controls{display:none}.stage-footer{bottom:12px;font-size:8px}.interaction-prompt{bottom:184px}.hud-top{left:12px;right:12px;top:12px}.hud-pill{min-height:31px;padding:0 9px;font-size:9px}}
@media(max-width:480px){.app-shell{padding:0 8px 12px}.brand{gap:8px}.brand-mark{width:28px;height:28px}.brand strong{font-size:11px}.brand small{font-size:7px}.topbar{height:60px}.top-stats{gap:8px}.stat{min-width:42px}.stat-label{font-size:7px}.stat strong{font-size:10px}.compass-stat{display:none}.icon-button{width:34px;height:34px}.stage{height:64svh;min-height:440px}.mission-panel{padding:15px 13px;grid-template-columns:1fr}.panel-heading,.panel-copy,.return-card,.quiet-button,.source-note{grid-column:1}.objective-group{padding:12px 0 9px}.start-card{padding:20px 19px;width:calc(100% - 24px)}.screen-card h1{font-size:40px}.lead{font-size:12px}.mission-summary{margin:14px 0 12px;padding:10px}.control-summary{gap:6px 8px}.control-summary span{font-size:9px}.hud-target{max-width:55%;font-size:9px}.stage-footer{left:10px;right:10px;font-size:7px;letter-spacing:.12em}.touch-controls{left:9px;right:9px;bottom:42px}.dpad{transform:scale(.94);transform-origin:left bottom}.touch-interact{width:56px;height:56px}.interaction-prompt{bottom:176px}.source-note{font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
