:root{font-family:"Avenir Next","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#eafcf5;background:#087b99;font-synthesis:none;--ink:#eafcf5;--mint:#a3f0d7;--orange:#f3a254}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;color:inherit;border:0;cursor:pointer;transition:background .15s,transform .15s}button:focus-visible{outline:3px solid #f3d99a;outline-offset:4px}button:disabled{cursor:default;opacity:.42}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}#ocean{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#loading{position:fixed;z-index:30;inset:0;display:grid;place-items:center;background:#087b99;font-size:18px}#visor{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 15px #00334075;border-radius:3vw;z-index:1}.screen{position:fixed;inset:0;z-index:5;background:linear-gradient(90deg,#06394bdc 0%,#06394b80 35%,transparent 75%)}.titleCopy{position:absolute;left:7.5%;top:20%;width:530px;max-width:80%}.wordmark{font-weight:650;font-size:clamp(45px,7vw,98px);letter-spacing:-.055em;line-height:1;position:relative;padding-bottom:22px}.waterline{display:block;width:100%;height:7px;border-radius:50%;border-top:2px solid #c6fbeaa6;transform:rotate(-2deg);margin-top:13px}h1{font-weight:400;font-size:26px;letter-spacing:.18em;margin:15px 0 26px}.intro{font-size:16px;line-height:2.1;white-space:pre-line;color:#d8eae5}.titleActions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.primary{padding:16px 32px;background:#d6f2de;color:#173f4c;border-radius:4px;font-weight:650;min-height:50px}.primary:hover{background:#effcec}.secondary{padding:15px 26px;background:#23546a7a;border:1px solid #aad6cb88;border-radius:4px}.secondary:hover{background:#2f687b}.startControls{font-size:13px;margin:26px 0 7px;color:#c3e5df}.startHint{font-size:12px;color:#a3cbc8;margin-top:6px}.titleFooter{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:7.5%;right:6%;display:flex;gap:18px;align-items:center;font-size:12px;color:#acd9d6}.titleFooter span{margin-right:auto}.quiet{background:transparent;padding:10px 0;color:#cbe8e1}
#hud{position:fixed;inset:0;z-index:3;pointer-events:none;text-shadow:0 1px 5px #07364a90}#hud button{pointer-events:auto}.topbar{position:absolute;top:max(23px,env(safe-area-inset-top));left:32px;right:32px;display:flex;justify-content:space-between;align-items:center}.smallBrand{font-weight:700;font-size:18px;letter-spacing:-.04em;opacity:.8}.depth{min-width:122px;text-align:right;font-size:12px}.depth b{font-size:32px;font-weight:500;margin:0 6px}.depth small{font-size:15px}#compass{font-size:12px;letter-spacing:3px;opacity:.75}.biome{position:absolute;top:80px;left:32px;display:flex;flex-direction:column;gap:8px;font-size:13px;letter-spacing:.06em}#safeIndicator{font-size:12px;color:#b3f8c3}.hudButton{position:absolute;right:31px;top:85px;background:#173e5655;border:1px solid #d4faf344;border-radius:50%;width:38px;height:38px;font-weight:700;font-size:19px}#crosshair{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%);border:1px solid #effff668;border-radius:50%}#crosshair:after{content:"";position:absolute;left:9px;top:9px;width:2px;height:2px;background:#eafff8;border-radius:50%}#crosshair.active{border-color:#dcffd1;box-shadow:0 0 12px #b6fac47a}#targetPrompt{position:absolute;left:50%;top:calc(50% + 30px);transform:translateX(-50%);white-space:nowrap;text-align:center;font-size:14px;line-height:1.8}#targetPrompt kbd{margin-right:8px}kbd{font:inherit;font-size:11px;border:1px solid #d8fbee85;border-radius:3px;padding:2px 5px;background:#153b4f55}#markers{position:absolute;inset:0;overflow:hidden}.marker{position:absolute;text-align:center;font-size:11px;color:#d1fced;transform:translate(-50%,-50%);white-space:nowrap}.marker .symbol{font-size:20px;display:block;margin-bottom:3px;color:#caecaa}.marker small{display:block;font-size:10px;color:#b9dbd4}.marker.pod .symbol{color:#ffb776}.marker:before{content:"";display:block;position:absolute;top:-9px;left:50%;height:4px;width:4px;background:currentColor;border-radius:50%}#warnings{position:absolute;top:22%;left:50%;width:min(500px,85vw);transform:translateX(-50%);color:#ffe1b2;text-align:center;font-size:14px;line-height:1.65}#toast{position:absolute;top:14%;left:50%;transform:translateX(-50%);text-align:center;max-width:80vw;padding:10px 20px;border-radius:4px;background:#0d465cd9;font-size:14px;opacity:0;transition:opacity .2s;pointer-events:none}#toast.show{opacity:1}
.vitals{position:absolute;left:30px;bottom:94px;display:flex;align-items:center;gap:15px}.oxygenDial{width:102px;height:102px;position:relative}.oxygenDial svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}.oxygenDial circle{fill:none;stroke-width:3.2;stroke:#b1efdc;stroke-dasharray:270.2;transition:stroke-dashoffset .12s linear}.oxygenDial circle.track{stroke:#d7fff32a;stroke-width:2}.oxygenDial>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.oxygenDial b{font-size:37px;line-height:1.1;font-weight:500}.oxygenDial span{font-size:12px;color:#b7dcd6;margin-top:5px}.vitalBars{width:123px;display:flex;flex-direction:column;gap:10px}.vitalBars>div{display:flex;align-items:center;gap:7px;font-size:10px}.vitalBars span{width:26px}.vitalBars i{height:3px;flex:1;background:#f4fff42b;display:block}.vitalBars em{display:block;height:100%;background:#d8f3c4;transition:width .2s}.vitalBars b{font-size:10px;font-weight:400;width:19px}.mission{position:absolute;right:32px;bottom:113px;width:275px;border-left:2px solid #d9f6d460;padding-left:15px}.mission>span{font-size:11px;color:#b6d9d3}.mission p{font-size:13px;line-height:1.8;margin:7px 0 9px}.mission #recordProgress{font-size:11px;color:#d6ead2;letter-spacing:1px}.toolbar{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:32px;right:32px;display:flex;align-items:center;justify-content:center;gap:25px}.toolbar button{background:#14415868;padding:10px 12px;border:1px solid #d1fbee35;border-radius:4px;display:flex;align-items:center;gap:9px;font-size:12px}.toolbar button:hover{background:#1f657d94}.toolbar small{font-size:10px;color:#cae3b7}.toolbar kbd{border:0;background:none;padding:0;color:#b0d6cc;font-size:13px}#touchControls{display:none}.danger #visor{box-shadow:inset 0 0 140px 15px #922b2866}.danger .oxygenDial circle:not(.track){stroke:#ffd394}.danger #warnings{background:#07334a80;border-radius:4px;padding:8px}#debug{position:absolute;right:25px;top:140px;font:11px monospace;background:#002c4099;padding:7px}
.modal{position:fixed;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;background:#052d47a8;backdrop-filter:blur(8px);padding:24px}.panel{background:#103e52f2;border:1px solid #9dd2c865;border-radius:10px;padding:28px;max-width:600px;width:100%;max-height:88vh;overflow:auto;box-shadow:0 25px 90px #031f4766}.panelHeading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}.panel h2{margin:0;font-size:23px;font-weight:500}.close{background:transparent;font-size:30px;color:#bde6dc;padding:0 7px}.panel h3{font-weight:500;font-size:13px;letter-spacing:.02em;margin:24px 0 12px;color:#abd6ce}.panel button:not(.close):not(.primary){background:#28637877;border:1px solid #90c9c244;border-radius:4px;padding:11px 15px;font-size:12px}.panel button:hover:not(:disabled){background:#498a9180}.inventoryPanel{max-width:860px}.inventoryPanel h2{font-size:23px}#stationStatus{font-size:12px;color:#a8d3cb}#inventoryGrid{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.inventoryItem{text-align:center;padding:13px 4px;background:#21566c60;border-radius:4px}.inventoryItem .itemIcon{display:block;font-size:22px;color:#bfe6d0}.inventoryItem b{font-size:20px;display:block;font-weight:500;margin-top:5px}.inventoryItem span{font-size:10px;color:#bdcfc8}.inventoryItem button{font-size:10px!important;padding:4px 8px!important;margin-top:7px}#recipeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.recipe{border-top:1px solid #a8dfcf50;padding:15px 0 5px}.recipe .recipeName{font-size:15px;font-weight:500}.recipe .recipeName i{font-style:normal;color:#c5e4ac;margin-right:8px}.recipe p{font-size:11px;line-height:1.8;color:#c1d8d0;min-height:38px;margin:9px 0}.cost{font-size:10px;display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 13px}.cost span{padding:3px 5px;background:#23657a69;border-radius:3px}.cost .missing{color:#ffc6ab}.panelFooter{margin-top:24px;display:flex;align-items:center;gap:15px;font-size:11px;color:#bad9ce}.pausePanel{max-width:400px;display:flex;flex-direction:column;gap:13px}.pausePanel h2{margin-bottom:13px}.split{display:flex;gap:9px}.split button{flex:1}.helpBrief{font-size:11px;color:#c0d7cd;text-align:center}.fullHelp{white-space:pre-line;font-size:14px;line-height:2;color:#d3e8df}.winPanel{text-align:center;max-width:570px;padding:35px}.winPanel h2{font-size:29px}.winPanel p{white-space:pre-line;font-size:13px;line-height:2;color:#cbe5d9;margin:22px 0}.signalGraphic{font-size:74px;line-height:1;color:#c1e4a9;margin-bottom:20px}
@media(max-width:700px){.titleCopy{left:8%;top:17%;max-width:85%;width:420px}.wordmark{font-size:61px}h1{font-size:22px}.intro{font-size:14px}.titleFooter{left:8%;right:8%;bottom:20px;font-size:10px;gap:13px}.titleFooter span{max-width:190px}.topbar{left:16px;right:16px;top:18px}.smallBrand{font-size:14px}.depth b{font-size:27px}.depth{min-width:90px}#compass{letter-spacing:1px;font-size:10px}.biome{left:16px;top:65px;font-size:11px}.hudButton{right:16px;top:65px}.vitals{left:16px;bottom:156px;gap:7px}.oxygenDial{width:77px;height:77px}.oxygenDial b{font-size:28px}.vitalBars{width:85px;gap:8px}.vitalBars span{width:22px;font-size:9px}.mission{right:16px;bottom:156px;width:155px;padding-left:10px}.mission p{font-size:11px;line-height:1.7}.mission>span{font-size:10px}.toolbar{bottom:max(18px,env(safe-area-inset-bottom));left:15px;right:15px;gap:7px}.toolbar button{padding:9px;font-size:10px;gap:5px;min-height:40px}.toolbar kbd{display:none}.toolbar button:last-child span{font-size:9px}#targetPrompt{font-size:12px;max-width:90vw}#toast{font-size:12px;top:17%;width:90%;max-width:90%}#warnings{font-size:11px;top:26%}.panel{padding:19px;max-height:90vh}.modal{padding:13px}.panel h2{font-size:19px}.inventoryPanel h2{font-size:19px}#inventoryGrid{grid-template-columns:repeat(4,1fr);gap:6px}.inventoryItem{padding:8px 4px}.inventoryItem .itemIcon{font-size:18px}.inventoryItem b{font-size:17px}#recipeGrid{grid-template-columns:repeat(2,1fr);gap:12px}.recipe .recipeName{font-size:13px}.recipe p{font-size:10px;min-height:36px}.panelFooter{font-size:10px;gap:7px}.winPanel h2{font-size:23px}#debug{top:120px;right:12px;font-size:9px}}
@media(pointer:coarse),(max-width:700px){#touchControls{display:block}.startControls{display:none}#stick{position:absolute;left:28px;bottom:72px;width:94px;height:94px;border:1px solid #d9faf15e;border-radius:50%;background:#12485e45;pointer-events:auto;touch-action:none}#stick i{position:absolute;left:32px;top:32px;width:28px;height:28px;border-radius:50%;background:#c4e7d580;border:1px solid #e0f8ef88;pointer-events:none}.touchActions{position:absolute;right:20px;bottom:74px;display:grid;grid-template-columns:repeat(2,50px);gap:8px}.touchActions button{border:1px solid #d6eee559;background:#174b6377;border-radius:50%;font-size:10px;width:50px;height:50px;touch-action:none}.touchActions button:last-child{grid-column:2;grid-row:1/3;width:54px;height:54px;align-self:center;background:#bddcd333;color:#ecfff1}#stick.active{border-color:#b3f5d8}}
@media(max-height:620px) and (min-width:701px){.titleCopy{top:11%}.wordmark{font-size:70px}h1{font-size:22px;margin:5px 0 12px}.intro{font-size:13px;line-height:1.7}.titleActions{margin-top:20px}.startControls{margin-top:16px}.mission{bottom:92px}.vitals{bottom:77px}}
@media(prefers-reduced-motion:reduce){button,#toast,.oxygenDial circle,.vitalBars em{transition:none}}
.mission{background:#0733498c;padding:11px 14px;border-radius:0 4px 4px 0}.vitals{filter:drop-shadow(0 2px 4px #073349aa)}.enabled{border-color:#c0fbd6!important;background:#28776a99!important}
#touchControls{position:absolute;inset:0;pointer-events:none}
@media(max-width:700px){.mission{bottom:202px}.startHint{max-width:290px;font-size:11px}}
