@font-face{font-family:Manrope;src:url(/fonts/manrope.woff2)format("woff2");font-display:swap}@font-face{font-family:Cormorant;src:url(/fonts/cormorant.woff2)format("woff2");font-display:swap}*{box-sizing:border-box}html,body,#app{width:100%;min-height:100%;margin:0}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#061c22}body{color:#e9e8d7;overscroll-behavior:none;font:14px/1.5 Manrope,system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation;background:#0b2a31;border:1px solid #6c8c8a42;min-height:44px;padding:12px 16px;transition:background .18s,border-color .18s,transform .18s}button:hover{background:#173e44;border-color:#c4d3bd88}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:2px solid #f2c77f}button:disabled{opacity:.45;cursor:not-allowed}h1,h2,h3,p{margin:0}p+p{margin-top:12px}h2{letter-spacing:-.02em;font:500 clamp(26px,5vw,38px)/1.08 Cormorant,Georgia,serif}h3{margin:22px 0 8px;font-size:15px}small{color:#8eafad;font-size:11px;line-height:1.4;display:block}b,strong{font-weight:650}.eyebrow,.edition,.landing-bottom,.chart-caption,.panel-footer,.node-kind,.location-tag,.forecast-legend{letter-spacing:.15em;font-size:9px;line-height:1.4}.eyebrow{color:#a7c8c2;margin-bottom:6px;display:block}.primary{color:#17292a;background:#e7c697;border-color:#e7c697;justify-content:space-between;align-items:center;min-height:50px;font-weight:700;display:flex}.primary:hover{color:#102025;background:#f7dcad}.secondary{background:#0c292ec9;border-color:#c4d3bd55}.text-button{color:#b3c7be;letter-spacing:.04em;background:0 0;border:0;font-size:11px}.muted,.fine{color:#99b5b1}.fine{font-size:11px}.boot{text-align:center;place-content:center;gap:20px;height:100dvh;display:grid}.boot-ring{border:1px solid #83afa044;border-top-color:#e7c697;border-radius:50%;width:44px;height:44px;margin:auto;animation:1.5s linear infinite turn}@keyframes turn{to{transform:rotate(360deg)}}.landing{isolation:isolate;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));flex-direction:column;display:flex;position:relative;overflow:hidden}.landing-art{z-index:-3;background:#092730 url(/art/cover.webp) 50% 43%/cover no-repeat;position:absolute;inset:0}.landing-art:after{content:"";background:linear-gradient(90deg,#051b23d9 0%,#051b235c 70%),linear-gradient(#03171f55 0%,#03171f1a 40%,#03171ffa 100%);position:absolute;inset:0}.landing-grain{z-index:-1;opacity:.14;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z' opacity='.4'/%3E%3C/svg%3E");position:absolute;inset:0}.landing-top,.landing-bottom{color:#c3d1bf;justify-content:space-between;align-items:center;display:flex}.tiny-dot,.radio-lamp{background:#e6bf76;border-radius:50%;width:8px;height:8px;box-shadow:0 0 20px #ebbb5b88}.landing-copy{width:min(100%,440px);margin:auto 0;padding:66px 0 30px}.landing-copy .eyebrow{letter-spacing:.22em;font-size:9px}.landing h1{letter-spacing:-.045em;text-shadow:0 4px 60px #041619;margin:22px 0 20px;font:500 clamp(78px,17.5vw,138px)/.83 Cormorant,Georgia,serif}.landing h1 span{color:#e8c695}.tagline{color:#f0ead6;font:400 26px/1.15 Cormorant,Georgia,serif}.landing-desc{color:#aac2bb;margin-top:16px;font-size:12px;line-height:1.7}.menu-actions{gap:9px;max-width:360px;margin-top:36px;display:grid}.menu-actions>.primary,.menu-actions>.secondary{text-align:left;justify-content:center;width:100%}.small-actions{grid-template-columns:1fr 1fr 1fr;gap:5px;display:grid}.small-actions button{background:#051c2177;border-color:#9ab9af2c;padding:8px 2px;font-size:11px}.menu-progress{letter-spacing:.025em;color:#98afa6;margin-top:16px;font-size:10px}.landing-bottom{letter-spacing:.15em;opacity:.7;gap:16px;font-size:8px}.toast{background:#173a40;border:1px solid #91ac9b55;padding:14px;font-size:12px;position:absolute;bottom:60px;left:22px;right:22px}#game{height:100dvh;min-height:560px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);grid-template-rows:64px 53px minmax(195px,1fr) auto;display:grid;position:relative;overflow:hidden}.game-head{padding:8px max(16px, env(safe-area-inset-right)) 8px max(16px, env(safe-area-inset-left));background:#061c22;border-bottom:1px solid #86aca523;justify-content:space-between;align-items:center;gap:12px;display:flex}.wordmark{letter-spacing:.13em;text-align:left;border:0;min-width:64px;padding:0;font-size:9px;line-height:1.3;background:0 0!important}.wordmark b{color:#e7c697;letter-spacing:.02em;font:600 18px Cormorant,Georgia,serif;display:block}#chapter{text-align:center;flex:1;line-height:1.1}#chapter b{font-size:12px;font-weight:500}#chapter .eyebrow{letter-spacing:.17em;margin-bottom:4px;font-size:8px}.pause-button{background:0 0;width:44px;min-width:44px;padding:0;font-size:18px}#hud{z-index:4;background:#082329;border-bottom:1px solid #86aca523;grid-template-columns:repeat(4,1fr);align-items:center;padding:6px 14px;display:grid;position:relative}#hud>div{border-right:1px solid #78999124;grid-template-rows:22px 12px;grid-template-columns:20px 1fr;align-items:center;column-gap:4px;padding-left:7px;display:grid}#hud>div:last-child{border-right:0}#hud .resource-icon{color:#d3ba8e;grid-row:1/3;font-size:21px}#hud strong{font:500 22px/1 Cormorant,Georgia,serif}#hud strong i{color:#8eaaa2;font-size:14px;font-style:normal}#hud small{letter-spacing:.09em;font-size:7px}#hud .turn-stat{justify-content:center;align-items:center;gap:5px;display:flex}.danger{color:#efa091}.danger .resource-icon{color:#efa091!important}#chart{background:radial-gradient(#163f48,#061c22 78%);min-height:0;position:relative;overflow:hidden}#sea{position:absolute;inset:0}#sea canvas{touch-action:manipulation;outline:none;width:100%;height:100%;display:block}.chart-caption{color:#7fa49e;pointer-events:none;letter-spacing:.13em;justify-content:space-between;gap:10px;font-size:7px;display:flex;position:absolute;top:13px;left:16px;right:16px}#weather{color:#d5be94;font-size:9px}#map-caption{pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;bottom:10px;left:16px;right:16px}.location-tag{color:#c7d8cb;background:#082329b3;border:1px solid #78a99f55;padding:5px 8px;font-size:8px}.forecast-legend{letter-spacing:.01em;color:#7fa49e;font-size:7px}.compat-note{text-align:center;color:#c4d2c7;font-size:12px;position:absolute;top:40%;left:20px;right:20px}#panel{z-index:5;scrollbar-width:thin;scrollbar-color:#547d74 transparent;scroll-behavior:smooth;background:linear-gradient(145deg,#0b2c31,#071e25);border-top:1px solid #99b0a44a;max-height:39dvh;padding:17px 18px 14px;overflow:hidden auto;box-shadow:0 -14px 40px #02121755}.panel-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.panel-heading h2{font-size:28px}.panel-heading .eyebrow{letter-spacing:.13em;font-size:8px}.node-kind{color:#c9be9c;border:1px solid #b1ba9d44;padding:5px 8px;font-size:7px}.brief{color:#c2d1c7;font-size:12px}.tutorial{color:#9cbbb5;border-left:1px solid #d4bd8b99;margin:11px 0 13px;padding-left:11px;font-size:11px;line-height:1.6}.routes{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.route-card{text-align:left;background:#12353a66;grid-template-columns:21px 1fr auto;align-items:center;gap:8px;min-height:68px;padding:9px 10px;display:grid}.route-card b{font-size:11px;line-height:1.3;display:block}.route-card small{margin-top:3px;font-size:8px;line-height:1.35}.route-kind{color:#cbb487;font-size:21px}.route-cost{color:#e2c696;text-align:right;white-space:nowrap;font-size:10px}.route-cost small{color:#9dbab0;font-size:7px}.route-card.risky{border-color:#bd866854}.panel-footer{letter-spacing:.08em;color:#6f9690;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:7px;display:flex}.panel-footer button{min-height:35px;padding:7px 0 5px 14px;font-size:8px}.close-button{background:0 0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font:25px/1 Manrope,system-ui}.route-preview>p{color:#b4c9be;font-size:12px}.cost-strip{color:#acbfb1;gap:16px;margin:3px 0 4px;padding:13px 0;font-size:11px;display:flex}.cost-strip b{color:#edc98f;font-size:16px}.confirm-route{width:100%;margin-top:6px}.warning,.notice{color:#d7c49f;background:#9d7c2310;border-left:2px solid #a78453;margin-top:10px;padding:5px 9px;font-size:11px}.service-button{color:#d3cead;background:#a6b38b16;border-color:#a6b38b55;width:100%;margin-top:9px;font-size:12px}.radio-panel{position:relative}.radio-panel:before{content:"";z-index:-1;background:linear-gradient(#082329bb,#082329ef),url(/art/radio.webp) 50%/cover;height:190px;position:absolute;inset:-16px -18px auto}.clue{color:#e6d6b8;background:#0f3339;border:1px solid #c3b28555;margin-bottom:7px;padding:10px 12px;font-size:12px;line-height:1.6}.candidates{gap:7px;margin-top:11px;display:grid}.candidate{text-align:left;grid-template-columns:47px 1fr 20px;align-items:center;gap:9px;min-height:72px;padding:11px 12px;display:grid}.candidate .frequency{color:#edc98f;font:500 19px Cormorant,Georgia,serif}.candidate b{font-size:12px}.pattern{color:#87c4b9;letter-spacing:.09em;margin-left:9px;font-size:12px;display:inline-block}.candidate small{margin-top:3px;font-size:10px}.candidate-arrow{color:#bdcbb1}.radio-panel>.text-button{width:100%;margin-top:5px}.result-panel>p:not(.eyebrow){color:#b8cbc0;margin-top:13px;font-size:12px;line-height:1.7}.result-panel h2{font-size:34px}.result-strip{color:#99b2a7;border-top:1px solid #839b8533;border-bottom:1px solid #839b8533;flex-wrap:wrap;gap:16px;margin:15px 0;padding:14px 0;font-size:10px;display:flex}.result-strip b{color:#e5c797;margin-left:4px}.upgrade-label{margin-top:18px}.module-list{gap:7px;margin-top:10px;display:grid}.module-list button{text-align:left;grid-template-columns:32px 1fr 16px;align-items:center;gap:11px;min-height:72px;padding:10px 12px;display:grid}.module-icon{color:#e0bb86;font:26px Cormorant,Georgia,serif}.module-list b{font-size:12px}.module-list small{margin-top:3px;font-size:10px}.ending-copy{border-left:1px solid #dab985;padding-left:12px}.result-panel>.primary,.result-panel>.secondary{justify-content:center;width:100%;margin-top:12px}.lost-panel h2{color:#ebbe9a}#subtitle{left:18px;right:18px;top:calc(120px + env(safe-area-inset-top));text-align:center;z-index:8;color:#e6dfc8;pointer-events:none;text-shadow:0 1px 6px #031c22;font-size:11px;line-height:1.5;position:absolute}#subtitle:not(:empty){background:#031d24e6;border:1px solid #aebc9a44;padding:7px 10px}.modal-backdrop{z-index:30;padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#02141de8;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.modal{width:min(100%,470px);max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:linear-gradient(145deg,#0e3038,#071d25);border:1px solid #aab8a65c;padding:20px 22px;overflow-y:auto;box-shadow:0 20px 100px #0007}.modal-top{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.modal-top .eyebrow{margin:0;font-size:8px}.modal h2{margin-bottom:16px;font-size:40px}.modal>p{color:#b7c9bf;font-size:12px;line-height:1.8}.modal>.primary,.modal>.secondary{justify-content:center;width:100%;margin-top:12px}.modal>.text-button{width:100%;margin-top:10px}.volume-label{grid-template-columns:1fr auto;gap:9px;margin:20px 0;font-size:12px;display:grid}.volume-label output{color:#c5b285;font-size:10px}.volume-label input{accent-color:#e1bf8f;touch-action:pan-y;grid-column:1/3;width:100%;height:32px}.setting-row{border-top:1px solid #9cbaae2a;justify-content:space-between;align-items:center;gap:14px;min-height:58px;font-size:12px;display:flex}.setting-row input{accent-color:#e1bf8f;width:24px;height:24px}.setting-row select{color:#d9dccc;background:#0a2931;border:1px solid #a7b79f55;max-width:145px;min-height:44px;padding:7px;font-size:11px}.help-box{background:#051a2377;border:1px solid #9cb1a12b;margin-top:14px;padding:15px;font-size:11px}.help-box p{color:#a7bfb6;margin:5px 0 12px;font-size:11px}.record-list>div{border-bottom:1px solid #a4b6a929;grid-template-columns:28px 1fr auto;align-items:center;gap:11px;padding:13px 0;display:grid}.record-number{color:#8daaa3;font:21px Cormorant,Georgia,serif}.record-list b{font-size:12px}.record-list small{margin-top:3px;font-size:10px}.record-stars{color:#d8b97f;font-size:10px}.journal-lines p{color:#99b8ac;border-left:1px solid #839f8e55;margin:7px 0;padding-left:9px;font-size:11px}.journal-lines .good{color:#b6ceaf}.journal-lines .bad{color:#d8a38b}.external-link{color:#ddc296;margin:16px 0;font-size:12px;display:block}.sea-label{font-family:Manrope,system-ui!important}html[data-motion=reduced] *,html[data-motion=reduced] :before,html[data-motion=reduced] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-hand=left] .confirm-route{flex-direction:row-reverse}html[data-hand=left] .module-list button{direction:rtl;grid-template-columns:16px 1fr 32px}html[data-hand=left] .module-list button>span:nth-child(2){text-align:left;direction:ltr}@media (min-width:700px){.landing{padding:36px 6vw 25px}.landing-copy{width:520px;margin-left:5vw;padding-top:70px}.landing h1{font-size:150px}.landing-art{background-position:50% 42%}.landing-art:after{background:linear-gradient(90deg,#051b23e8,#051b2310 80%),linear-gradient(#03171f00 30%,#03171fc7)}.landing-desc{font-size:14px}.tagline{font-size:33px}.menu-actions{max-width:370px}.landing .eyebrow{font-size:10px}#game{grid-template-rows:70px 58px minmax(0,1fr);grid-template-columns:minmax(0,1.8fr) minmax(310px,1fr)}.game-head{grid-column:1/3;padding-left:24px;padding-right:24px}#hud{grid-column:1/3;justify-content:center;gap:55px;display:flex}#hud>div{min-width:115px;padding-right:22px}#hud small{font-size:8px}#hud strong{font-size:26px}#chart{grid-area:3/1;min-height:0}#panel{max-height:none;box-shadow:none;border-top:0;border-left:1px solid #92b1a33b;grid-area:3/2;padding:24px 22px}.routes{grid-template-columns:1fr}.route-card{min-height:80px}.route-card b{font-size:13px}.route-card small{font-size:10px}.panel-heading h2{font-size:32px}.tutorial,.brief{font-size:12px}.chart-caption{font-size:8px;top:22px;left:25px;right:25px}#map-caption{bottom:22px;left:25px;right:25px}#subtitle{width:min(500px,60vw - 50px);left:30px;right:auto;top:calc(150px + env(safe-area-inset-top))}.forecast-legend{font-size:8px}.candidate{grid-template-columns:42px 1fr 10px}.pattern{margin-left:0;display:block}.game-head #chapter b{font-size:15px}}@media (min-width:700px) and (min-height:1000px){#game{grid-template-rows:72px 58px minmax(360px,1fr) auto;grid-template-columns:1fr}.game-head,#hud{grid-column:1}#chart{grid-area:3/1}#panel{border-top:1px solid #92b1a34a;border-left:0;grid-area:4/1;max-height:36dvh;padding:22px 30px}.routes,.module-list{grid-template-columns:repeat(3,minmax(0,1fr))}.module-list button{align-items:start;display:flex}.module-list button>span:last-child{display:none}.candidates{grid-template-columns:repeat(3,minmax(0,1fr))}.candidate{flex-direction:column;align-items:start;display:flex}.candidate-arrow{display:none}#subtitle{width:auto;top:145px;right:30px}}@media (max-width:380px){.landing{padding-left:22px;padding-right:22px}.landing-copy{padding-top:45px}.landing h1{font-size:82px}.landing-desc{font-size:11px}.menu-actions{margin-top:28px}#panel{max-height:40dvh;padding:13px 13px 9px}.panel-heading h2{font-size:25px}.route-card{grid-template-columns:18px 1fr auto;gap:5px;padding:8px 7px}.route-card b{font-size:10px}.route-card small{font-size:7px}.resource-icon{font-size:18px!important}#hud{padding-left:5px;padding-right:5px}.forecast-legend{font-size:6px}.tutorial,.fine{font-size:10px}}@media (max-height:620px) and (min-width:600px){.landing-copy{width:65%;margin:auto 0;padding:15px 0}.landing h1{margin:15px 0;font-size:85px}.landing-copy .landing-desc{display:none}.menu-actions{margin-top:15px}.landing-top{font-size:7px}.landing{min-height:100dvh;padding-top:15px;padding-bottom:12px}.landing-bottom{display:none}#game{grid-template-rows:55px 43px minmax(0,1fr);grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr);min-height:360px}#hud{gap:10px}#panel{padding:14px}#subtitle{font-size:10px;top:105px}.wordmark b{font-size:16px}.route-card{min-height:65px}.game-head{padding:5px 15px}.modal{max-height:calc(100dvh - 24px)}}.volume-label input{height:44px}.panel-footer button{min-height:44px}.route-card b{font-size:12px}.route-card small{font-size:10px}.candidate small,.tutorial,.brief,.route-preview>p{font-size:12px}#app[data-status=radio] #panel,#app[data-status=debrief] #panel,#app[data-status=won] #panel{max-height:58dvh}@media (min-width:700px) and (max-height:999px){#app[data-status] #panel{max-height:none}}@media (max-width:380px){.route-card b{font-size:11px}.route-card small{font-size:9px}.tutorial{font-size:11px}}@media (prefers-reduced-motion:reduce){.boot-ring{animation:none}}
