
:root{color-scheme:dark;--mint:#ccf8a3;--ink:#071c21;--muted:#7f9b9a;--cyan:#82e5ef;--coral:#ffc078}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--ink);color:#e4efe4;font-family:Arial,Helvetica,sans-serif}body{overflow-x:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--coral);outline-offset:4px}button:disabled{cursor:default}button svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.ambient{position:fixed;inset:0;background:radial-gradient(ellipse at 46% 32%,#193b3638,transparent 65%);pointer-events:none}.layout{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(230px,1fr) minmax(320px,520px) minmax(200px,.8fr);gap:clamp(26px,4.5vw,80px);max-width:1560px;margin:auto;padding:28px clamp(26px,4.5vw,80px);align-items:center}.intro,.field-notes{height:min(870px,calc(100svh - 58px));display:flex;flex-direction:column;justify-content:space-between}.wordmark{display:flex;align-items:center;color:var(--mint);font-weight:900;letter-spacing:-1.7px;font-size:31px;text-decoration:none;gap:12px;width:fit-content}.wordmark svg{width:39px;height:35px}.wordmark-dot{font:12px Arial;align-self:flex-start;margin:5px 0 0 -8px}.edition{color:#9bbba6;font-size:9px;font-weight:700;letter-spacing:2.1px;display:flex;align-items:center;gap:9px}.edition i,.game-topline i{width:5px;height:5px;border-radius:50%;background:#cdf6a1;display:inline-block;box-shadow:0 0 9px #b7ff8780}.intro h1{font-size:clamp(45px,5vw,75px);line-height:1.04;font-weight:800;letter-spacing:-4px;margin:28px 0 22px}.intro h1 span{color:var(--mint)}.intro-copy{font-size:14px;line-height:1.9;color:#97b1a9}.intro-rule{height:1px;width:48px;background:#65897566;margin:30px 0}.desktop-tip{font-size:12px;line-height:1.8;color:#719187}.best{margin-top:34px}.best>span{font-size:8px;letter-spacing:2px;color:#8eaa99;font-weight:bold}.best strong{display:block;font-size:48px;font-weight:500;color:var(--mint);letter-spacing:-2px;margin-top:6px}.best strong small{font-size:18px;color:#87a38f}.aside-footer{color:#729083;font-size:8px;letter-spacing:1.6px;display:flex;justify-content:space-between;padding-top:24px}.aside-footer span{color:var(--mint);font-size:17px;margin-top:-7px}.game-shell{width:100%;align-self:center;max-width:520px;margin:auto}.game-topline,.game-bottomline{display:flex;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#90a89f;font-weight:bold;padding:0 5px;height:28px}.game-topline>span:first-child{display:flex;gap:8px;align-items:center}.game-topline>span:last-child{color:#647d78}.game-stage{position:relative;width:100%;height:min(calc(100svh - 120px),820px);min-height:420px;overflow:hidden;border:1px solid #315b4e;border-radius:18px;background:#0e3734;box-shadow:0 30px 100px #0005,0 0 60px #9fdc7810;isolation:isolate}#world{width:100%;height:100%;display:block;touch-action:none;outline:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#041e2440,transparent 30%,transparent 68%,#041d2380);border-radius:inherit;box-shadow:inset 0 0 65px #041c2350}.hud{position:absolute;top:max(20px,env(safe-area-inset-top));left:24px;right:20px;display:flex;gap:13px;align-items:center;pointer-events:none}.score{flex:1}.score>span{display:block;font-size:7px;letter-spacing:2px;color:#b1cbb3;font-weight:bold;margin-bottom:3px}.score strong{font-size:30px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.score small{font-size:13px;color:#95b6a2;letter-spacing:0}.collect{display:flex;gap:6px;align-items:center;color:var(--coral);margin-right:8px}.collect .spark{font-size:29px}.collect strong{font-size:15px;font-weight:500;min-width:16px}.hud-actions{display:flex;gap:5px;pointer-events:auto}.round-button{width:44px;height:44px;position:relative;border-radius:50%;border:1px solid #afceaf30;background:#092e2d60;color:#d7ebca;font-size:20px;backdrop-filter:blur(10px)}.round-button:hover{background:#c5f8a322}.sound-slash{position:absolute;top:9px;left:21px;width:1px;height:25px;background:#d7ebca;transform:rotate(-40deg)}.round-button.on .sound-slash{display:none}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:35px 24px 130px;background:linear-gradient(#06282b30,#07282a10 20%,#052a2a12 40%,#05292b30);z-index:4}.menu-eyebrow{color:#c1d8bc;font-size:8px;font-weight:bold;letter-spacing:2.2px;margin-bottom:14px}.overlay h2{font-weight:900;font-size:clamp(66px,7.7vw,102px);letter-spacing:-7px;line-height:.96;margin:0 0 22px;color:#e6f8c5;text-shadow:0 4px 30px #041d2140}.overlay h2>span{color:var(--mint)}.overlay p{font-size:13px;color:#bdd3c3;line-height:1.8;margin:0 0 27px}.main-button{border:0;background:var(--coral);border-radius:12px;min-height:54px;min-width:220px;padding:17px 21px;text-align:left;display:flex;justify-content:space-between;gap:30px;align-items:center;color:#183626;font-size:14px;font-weight:700;box-shadow:0 5px 0 #a67443,0 15px 30px #041f2260;transition:transform .15s,background .15s}.main-button:hover{background:#ffd4a2;transform:translateY(-2px)}.main-button:active{transform:translateY(3px);box-shadow:0 2px 0 #a67443}.main-button span{font-size:20px}.start-hint{font-size:7px;letter-spacing:1.8px;color:#a3c2ac;margin-top:19px}.text-button{min-height:44px;min-width:100px;background:none;border:0;color:#bbd7b8;margin-top:16px;font-size:11px}.text-button span{margin-left:8px}.controls{position:absolute;left:16px;right:16px;bottom:max(24px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 1.15fr 1fr 1fr;gap:9px;z-index:5}.controls button{height:54px;min-width:44px;border-radius:14px;border:1px solid #d5efb02b;background:linear-gradient(#b6e7ab13,#2d6e5520);box-shadow:0 3px 0 #061e2360;backdrop-filter:blur(12px);color:#d3e9c3;display:flex;align-items:center;justify-content:center;transition:background .1s,transform .1s;touch-action:none}.controls button>span{font-size:26px}.controls button.pressed,.controls button:active{transform:translateY(2px);background:#c6ff9144;border-color:#c6ff9180}.controls .parry-button{color:#a3f3ff;border-color:#90e2ff66;background:linear-gradient(#90e8ff2a,#2b92aa25);box-shadow:0 0 20px #41d9ff15}.game-watermark{position:absolute;bottom:7px;left:0;width:100%;text-align:center;font-size:6px;font-weight:bold;letter-spacing:1.8px;color:#82b79e;pointer-events:none}.game-bottomline{height:32px;letter-spacing:.6px;font-size:7px}.game-bottomline i{font-style:normal;margin-left:10px}.game-bottomline b{color:#86e7fa;font-size:12px;margin-left:4px}.note-heading{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;color:#87a090;margin-top:10px}.note-heading span{color:#567c6c}.field-copy{padding-left:16px;border-left:1px solid #4f736330}.mini-number{display:block;color:#8cbd80;font-size:9px;letter-spacing:1px;margin-top:30px}.mini-number:first-child{margin-top:0}.field-copy h3{font-size:22px;letter-spacing:-.7px;font-weight:500;color:#d3e6c3;margin:11px 0 9px}.field-copy p{color:#759b86;font-size:12px;line-height:1.9;margin:0}.cyan{color:var(--cyan)}.note-bottom{color:#89a993;font-size:10px;line-height:1.9;margin-top:32px;position:relative;padding-left:25px}.note-bottom span{position:absolute;left:0;color:var(--coral);font-size:25px;top:-6px}.feedback{position:absolute;top:25%;left:0;width:100%;color:#d8ffa9;text-align:center;font-size:21px;font-weight:bold;letter-spacing:1px;pointer-events:none;opacity:0;transition:opacity .15s;text-shadow:0 2px 15px #071c21}.feedback.visible{opacity:1}.threat{position:absolute;bottom:110px;left:20%;width:60%;text-align:center;pointer-events:none}.threat>span{display:block;font-size:8px;font-weight:bold;letter-spacing:2px;color:#e6f0c5;margin-bottom:7px;text-shadow:0 2px 6px #061d22}.threat-track{height:3px;background:#eaffbf24;border-radius:3px;overflow:hidden}.threat-track i{display:block;height:100%;background:#bbf08b;width:100%;transition:width .03s}.pause-overlay,.end-overlay,.tutorial-overlay{background:#062429e8;backdrop-filter:blur(12px)}.pause-overlay h2,.end-overlay h2,.tutorial-overlay h2{font-size:58px;letter-spacing:-3px}.end-score{margin:0 0 22px}.end-score strong{display:block;font-size:83px;line-height:1.1;color:var(--mint);letter-spacing:-4px;font-weight:500}.end-score span{font-size:10px;color:#9cbaa2}.tutorial-overlay{padding-bottom:110px}.tutorial-overlay .menu-eyebrow{margin-bottom:12px}.tutorial-overlay h2{font-size:46px;margin-bottom:18px}.tutorial-lines{width:100%;max-width:300px;text-align:left}.tutorial-lines p{display:flex;gap:14px;align-items:center;margin:0 0 14px;font-size:13px;line-height:1.45}.tutorial-lines b{color:var(--mint);min-width:42px;text-align:center;font-size:27px;font-weight:500}.tutorial-lines small{color:#7caaa0;font-size:9px}.tutorial-lines b.blue{color:var(--cyan)}body.running #controls button{opacity:1}body:not(.running) .controls{opacity:.45;pointer-events:none}.end-overlay .main-button{margin-top:4px}
@media(min-width:1600px){.layout{grid-template-columns:1fr 570px .8fr;max-width:1700px}.game-shell{max-width:570px}}
@media(max-width:1100px){.layout{grid-template-columns:1fr minmax(320px,500px);max-width:1000px;gap:35px;padding:20px 32px}.field-notes{display:none}.intro h1{font-size:58px}.intro-copy{font-size:12px}.game-stage{height:calc(100svh - 100px)}}
@media(max-width:740px){.layout{display:block;padding:0;min-height:100dvh}.intro,.field-notes,.game-topline,.game-bottomline{display:none}.game-shell{max-width:520px;margin:auto}.game-stage{height:100dvh;min-height:320px;border-radius:0;border:0}.hud{top:max(19px,env(safe-area-inset-top));left:20px;right:14px}.controls{bottom:max(24px,env(safe-area-inset-bottom));left:15px;right:15px;gap:8px}.controls button{height:56px}.game-watermark{bottom:6px}.overlay h2{font-size:88px}.pause-overlay h2,.end-overlay h2{font-size:58px}.tutorial-overlay h2{font-size:43px}.overlay{padding-bottom:145px}.main-button{min-height:56px}.tutorial-overlay{padding-top:70px;padding-bottom:120px}.tutorial-lines p{margin-bottom:17px}.threat{bottom:108px}.intro-copy{display:none}}
@media(max-height:620px){.layout{min-height:100dvh;padding-top:0;padding-bottom:0;gap:20px}.game-stage{height:calc(100dvh - 50px);min-height:270px}.intro,.field-notes{height:calc(100dvh - 44px)}.intro h1{font-size:45px}.intro-rule,.desktop-tip,.best,.field-notes{display:none}.intro-copy{font-size:11px}.overlay{padding-top:55px;padding-bottom:92px}.overlay h2{font-size:58px;margin-bottom:12px}.menu-eyebrow{font-size:7px;margin-bottom:10px}.overlay p{font-size:11px;line-height:1.5;margin-bottom:15px}.start-hint{display:none}.text-button{margin-top:8px}.controls{bottom:max(14px,env(safe-area-inset-bottom));gap:7px}.controls button{height:46px}.hud{top:10px}.score strong{font-size:24px}.score>span{font-size:6px}.main-button{min-height:46px;padding:12px 18px}.threat{bottom:78px}.tutorial-overlay h2{font-size:32px}.tutorial-lines p{margin:0 0 9px;font-size:10px}.tutorial-lines b{font-size:23px}.tutorial-lines small{font-size:8px}.end-score{margin-bottom:10px}.end-score strong{font-size:56px}.end-score span{font-size:9px}.game-watermark{font-size:5px}.feedback{top:27%;font-size:17px}}
@media(max-height:620px) and (orientation:landscape){.layout{display:block;padding:0}.intro{display:none}.game-shell{max-width:370px}.game-stage{height:100dvh}.game-topline,.game-bottomline{display:none}.overlay{padding-top:42px}.overlay h2{font-size:46px}.overlay p{font-size:10px;margin-bottom:10px}.menu-eyebrow{font-size:6px}.tutorial-overlay .menu-eyebrow{display:none}.tutorial-overlay h2{font-size:27px;margin-bottom:7px}.tutorial-lines p{margin-bottom:6px}.tutorial-overlay{padding:25px 30px 75px}.tutorial-lines small{font-size:7px}.controls button{height:44px}.controls{bottom:10px}.game-watermark{display:none}.end-overlay{padding-top:55px}.end-score strong{font-size:43px}.hud-actions .round-button{width:44px;height:44px}.threat{bottom:70px}.text-button{min-height:44px;margin-top:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.main-button{transition:none}}
