@charset "UTF-8";
:root{color-scheme:dark;--ink:#061014;--paper:#eee9db;--muted:#99b1b2;--mint:#79f2cc;--gold:#ffc477;--line:rgba(170,211,208,.16);font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--paper)}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--mint);outline-offset:5px}button{color:var(--paper)}[hidden]{display:none!important}.app{height:100vh;height:100dvh;display:flex;flex-direction:column;background:#061014 url('./assets/cosmos.webp') center/cover no-repeat;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.topbar{flex:0 0 83px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;border-bottom:1px solid var(--line);z-index:3;background:rgba(3,10,14,.4)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;color:var(--paper);font-size:12px;font-weight:bold;letter-spacing:.17em}.brand-glyph{font-size:40px;font-weight:normal;color:var(--mint);line-height:1}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.18em;margin-top:7px;font-weight:normal}.top-actions{display:flex;gap:9px;align-items:center}.quiet{background:transparent;border:1px solid transparent;min-width:42px;min-height:42px;border-radius:50%;font-size:16px;color:var(--muted)}.quiet:hover{color:var(--paper);border-color:var(--line)}#sound{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;padding:0 14px}#help{border:1px solid var(--line)}
.stage{flex:1;min-height:0;position:relative;isolation:isolate;overflow:hidden}#sea{display:block;width:100%;height:100%;touch-action:none;outline:none}.vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 100px 16px rgba(0,0,0,.2);z-index:1}.eyebrow{font-size:12px;letter-spacing:.17em;line-height:1.6;color:var(--muted);font-weight:normal}.title-screen{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:24px 8%;pointer-events:none;z-index:2}.title-copy{pointer-events:auto}.opening{font-size:11px;color:var(--mint);margin:0 0 22px}.title-screen h1{font:normal clamp(62px,7.7vw,124px)/.91 Georgia,'Times New Roman',serif;letter-spacing:-.065em;margin:0;text-shadow:0 2px 26px #061014}.title-screen h1 em{font-weight:normal;color:var(--paper)}.title-period{color:var(--mint)}.intro{font:normal 19px/1.5 Georgia,'Times New Roman',serif;color:#aabfbb;margin:24px 0 25px}.start-actions{display:flex;flex-wrap:wrap;gap:10px}.primary{display:flex;justify-content:space-between;align-items:center;gap:28px;min-height:54px;background:var(--paper);color:#10201f;border:0;padding:14px 22px;font-size:14px;font-weight:bold;letter-spacing:.025em;transition:background .2s,transform .2s}.primary:hover{background:var(--mint);transform:translateY(-1px)}.primary span{font-size:21px;font-weight:normal}.secondary{background:rgba(7,20,23,.8);border:1px solid var(--line);padding:12px 18px;min-height:48px;font-size:14px}.secondary:hover{border-color:var(--mint)}.gentle-option{display:flex;align-items:center;gap:10px;margin-top:19px;font-size:12px;color:var(--muted);cursor:pointer;max-width:max-content}.gentle-option input{accent-color:var(--mint);width:16px;height:16px}.gentle-option small{display:block;font-size:11px;margin-top:4px;opacity:.75}.title-aside{align-self:flex-end;text-align:right;padding-bottom:28px;max-width:240px}.coordinate{font-size:10px;letter-spacing:.13em;color:#7e9997}.title-aside p{font:normal 21px/1.5 Georgia,serif;color:#bed0c6}.title-aside em{color:var(--gold)}.aside-rule{display:inline-block;height:1px;width:42px;background:var(--gold)}
.hud{position:absolute;inset:24px 34px auto;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;pointer-events:none;z-index:2}.light{width:130px}.light-track{height:4px;background:#29423d;margin-top:10px;overflow:hidden}.light-track span{display:block;height:100%;background:var(--mint);width:100%;transition:width .2s,background .3s}.mission{text-align:center;max-width:420px;text-shadow:0 2px 9px #000}.mission .eyebrow{color:var(--gold)}#objective{font-size:14px;line-height:1.5;color:#c6d8d1;margin-top:5px}.world-count{text-align:right;display:flex;align-items:center;gap:11px;max-width:150px}.world-count strong{font:normal 36px/1 Georgia,serif}.world-count span{font-size:10px;max-width:65px;text-align:left}.toast{position:absolute;top:111px;left:50%;transform:translate(-50%,-7px);background:rgba(4,17,21,.9);border:1px solid var(--line);color:#d9e9df;padding:10px 20px;font:italic 17px/1.5 Georgia,serif;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;text-align:center;max-width:90%;width:max-content;z-index:4}.toast.visible{opacity:1;transform:translate(-50%,0)}.tutorial{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;gap:14px;align-items:center;max-width:540px;width:max-content;pointer-events:none;color:#b8ccc7;background:rgba(4,17,21,.83);border:1px solid var(--line);padding:13px 20px;z-index:2}.tutorial-number{font:italic 25px Georgia,serif;color:var(--gold)}.tutorial p{font-size:14px;line-height:1.5;margin:0}.tutorial strong{font-weight:normal;color:var(--gold)}.boss-banner{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none}#seals{display:flex;gap:10px;justify-content:center;margin-top:9px}#seals i{display:block;width:9px;height:9px;transform:rotate(45deg);border:1px solid var(--gold)}#seals i.broken{background:var(--mint);border-color:var(--mint)}
.bottom-bar{flex:0 0 88px;border-top:1px solid var(--line);z-index:3;background:rgba(3,10,14,.77);padding:0 44px;display:flex;align-items:center}.title-footer{display:flex;justify-content:space-between;width:100%;color:#859d9a;font-size:10px;letter-spacing:.13em;gap:20px}.play-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%}.control-hint{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px}.keycap{border:1px solid var(--line);padding:8px 9px;font-size:10px;letter-spacing:.13em;color:var(--paper)}.mobile-hint{display:none}.thread-ui{width:180px}.thread-ui .eyebrow{font-size:10px}.thread-track{height:2px;margin-top:8px;background:#273b3c}.thread-track span{width:0;display:block;height:100%;background:var(--gold)}.fold-button{display:flex;align-items:center;gap:14px;min-width:148px;justify-content:center;min-height:58px;border:1px solid rgba(255,196,119,.5);background:rgba(255,196,119,.06);padding:8px 20px;color:var(--gold);touch-action:manipulation}.fold-button:hover:not(:disabled){background:rgba(255,196,119,.15)}.fold-symbol{font-size:34px;line-height:1}.fold-button strong{display:block;text-align:left;font:normal 19px Georgia,serif}.fold-button small{display:block;text-align:left;font-size:9px;letter-spacing:.16em;margin-top:3px}
.modal{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;background:rgba(2,9,13,.81);backdrop-filter:blur(10px);padding:22px;overflow:auto}.modal-panel{max-width:800px;width:100%;text-align:center;padding:25px 20px}.modal-panel>.eyebrow{color:var(--mint);margin:0 0 16px}.modal h2{font:normal clamp(34px,4.8vw,62px)/1.08 Georgia,serif;letter-spacing:-.035em;margin:0 0 15px}.modal-copy{font:normal 17px/1.6 Georgia,serif;color:#b7c9c0;max-width:560px;margin:0 auto 28px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:24px}.gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gift{background:rgba(18,34,39,.8);border:1px solid var(--line);text-align:left;min-height:210px;padding:23px 22px;transition:transform .2s,border-color .2s}.gift:hover{transform:translateY(-4px);border-color:var(--gift-color)}.gift-symbol{display:block;font:normal 36px Georgia,serif;color:var(--gift-color);margin-bottom:22px}.gift h3{font:normal 21px/1.2 Georgia,serif;margin:0 0 12px}.gift p{color:#aac1bd;line-height:1.6;font-size:13px;margin:0}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}.help-grid strong{display:block;font:normal 23px Georgia,serif;color:var(--mint);margin-bottom:12px}.help-grid p{font-size:14px;line-height:1.6;color:#b5c9c3}.help-note{font-size:13px;line-height:1.65;color:var(--muted);border-top:1px solid var(--line);padding-top:17px;margin-top:20px}.run-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:480px;margin:25px auto}.run-stats strong{display:block;font:normal 40px Georgia,serif;color:var(--gold);margin-bottom:8px}.run-stats span{font-size:11px;letter-spacing:.1em;color:var(--muted)}.constellation-name{font:italic 24px Georgia,serif;color:var(--mint);margin:24px 0}.no-script{position:fixed;inset:35% 10%;z-index:50;padding:40px;background:#061014;border:1px solid var(--mint);font-size:20px;line-height:1.5;text-align:center}
@media(max-width:900px){.topbar{padding:0 25px;flex-basis:70px}.bottom-bar{padding:0 25px;flex-basis:82px}.title-screen{padding:20px 7%}.title-aside{max-width:190px}.title-screen h1{font-size:clamp(64px,10.7vw,96px)}.hud{inset:22px 22px auto;gap:15px}.light{width:94px}.mission{max-width:330px}.control-hint{gap:9px}.desktop-hint{max-width:100px}.thread-ui{width:140px}}
@media(max-width:600px){.topbar{flex-basis:63px;padding:0 17px}.brand{font-size:10px;letter-spacing:.1em;gap:8px}.brand-glyph{font-size:31px}.brand small{font-size:8px;letter-spacing:.12em;margin-top:5px}.top-actions{gap:1px}.quiet{min-width:34px;min-height:38px}#sound{padding:0 8px;font-size:10px}#help{border:0}.title-screen{padding:24px 8%;align-items:flex-start}.title-copy{position:relative;z-index:1}.opening{font-size:9px;margin-top:10px;margin-bottom:24px;letter-spacing:.12em}.title-screen h1{font-size:clamp(68px,17vw,90px)}.intro{font-size:18px;margin-top:23px;margin-bottom:24px}.title-aside{display:none}.primary{min-height:51px;padding:13px 19px}.start-actions{max-width:260px}.secondary{font-size:13px}.gentle-option{margin-top:17px}.bottom-bar{padding:0 17px;flex-basis:81px}.title-footer{font-size:9px;line-height:1.7;gap:18px}.title-footer span:last-child{text-align:right;max-width:160px}.hud{inset:18px 17px auto;gap:12px}.light{width:62px;flex-shrink:0}.light .eyebrow{font-size:9px;letter-spacing:.12em}.light-track{margin-top:6px}.world-count{gap:5px;max-width:55px}.world-count strong{font-size:27px}.world-count span{font-size:8px;max-width:32px;letter-spacing:.03em}.mission{padding-top:1px}.mission .eyebrow{font-size:9px;letter-spacing:.08em}#objective{font-size:12px;line-height:1.5;margin-top:4px}.play-footer{gap:13px}.control-hint{max-width:70px;line-height:1.5;font-size:11px}.keycap,.desktop-hint{display:none}.mobile-hint{display:block}.thread-ui{width:90px}.thread-ui .eyebrow{font-size:8px;letter-spacing:.08em}.fold-button{min-width:116px;min-height:53px;padding:7px 13px;gap:10px}.fold-button strong{font-size:18px}.fold-button small{font-size:8px}.fold-symbol{font-size:29px}.tutorial{max-width:calc(100% - 34px);width:calc(100% - 34px);bottom:18px;padding:10px 14px;gap:10px}.tutorial p{font-size:12px}.toast{top:95px;font-size:15px;padding:8px 14px}.modal{padding:17px;align-items:safe center}.modal-panel{padding:16px 0}.modal-panel>.eyebrow{font-size:10px;margin-bottom:12px}.modal h2{font-size:36px}.modal-copy{font-size:15px;margin-bottom:20px}.gifts{grid-template-columns:1fr;gap:9px}.gift{min-height:0;padding:15px 17px;display:grid;grid-template-columns:39px 1fr;column-gap:14px}.gift-symbol{grid-row:1/3;font-size:32px;margin:0;align-self:center}.gift h3{font-size:19px;margin:0 0 5px}.gift p{font-size:12px;line-height:1.5}.help-grid{grid-template-columns:1fr;gap:8px}.help-grid strong{font-size:19px;margin-bottom:4px}.help-grid p{font-size:13px;margin:4px 0 9px}.help-note{font-size:12px}.run-stats{gap:12px}.run-stats strong{font-size:33px}.run-stats span{font-size:9px}.boss-banner .eyebrow{font-size:10px}}
@media(max-height:680px) and (min-width:601px){.topbar{flex-basis:60px}.bottom-bar{flex-basis:68px}.title-screen h1{font-size:70px}.opening{margin-bottom:14px}.intro{margin:18px 0}.title-screen{padding:15px 7%}.gentle-option{margin-top:12px}.title-aside{padding-bottom:10px}.modal-panel{padding:12px}.gift{min-height:180px}.modal-copy{margin-bottom:17px}}
@media(max-height:700px) and (max-width:600px){.title-screen{padding-top:10px}.opening{margin-bottom:17px}.title-screen h1{font-size:64px}.intro{margin:17px 0;font-size:16px}.gentle-option{margin-top:12px}.gentle-option small{display:none}.start-actions{gap:7px}.primary,.secondary{min-height:42px;padding:10px 15px}.topbar{flex-basis:57px}.bottom-bar{flex-basis:69px}.modal h2{font-size:29px}.modal-copy{margin-bottom:14px}.gift{padding:11px 14px}.modal-panel>.eyebrow{margin-bottom:7px}.modal-actions{margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
