
:root{color-scheme:dark;--cream:#f7eddb;--peach:#ffbb77;--muted:#8d9cae;font-family:ui-rounded,'Arial Rounded MT Bold',system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:#0c1422;color:var(--cream);min-height:100vh;background-image:radial-gradient(ellipse at 55% 50%,#1b3045 0,transparent 60%)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff;outline-offset:5px}main{max-width:1390px;margin:auto;min-height:100vh;display:grid;grid-template-columns:1fr minmax(300px,390px) .65fr;align-items:center;gap:64px;padding:40px 60px}.wordmark{display:flex;gap:12px;align-items:center;text-decoration:none;color:var(--cream);font-size:14px;font-weight:850;letter-spacing:3px;margin-bottom:88px}.logo{display:grid;place-items:center;background:var(--peach);color:#152534;width:30px;height:30px;border-radius:10px;font-size:24px}.eyebrow,.mini{font:10px ui-monospace,monospace;letter-spacing:2.1px;color:var(--peach)}h1{font-size:clamp(52px,5.8vw,86px);line-height:1.03;letter-spacing:-4px;margin:22px 0 26px;font-weight:850}h1 em{color:var(--peach);font-style:normal}.intro>p{font-size:15px;line-height:1.9;color:var(--muted)}.chips{display:flex;gap:8px;margin-top:30px;flex-wrap:wrap}.chips span{font:8px ui-monospace,monospace;letter-spacing:1px;border:1px solid #2b3948;border-radius:40px;padding:9px 10px;color:#b8c3cd}.footnote{display:flex;align-items:center;gap:9px;font:8px ui-monospace,monospace;letter-spacing:1px;color:#65798b;margin-top:78px}.status-dot{width:5px;height:5px;border-radius:50%;background:#96c4aa}.line{height:1px;width:20px;background:#3c4c5e}.device{position:relative;width:100%;aspect-ratio:390/760;border:1px solid #40515b;border-radius:34px;overflow:hidden;box-shadow:0 35px 100px #0008,0 0 0 8px #17222e,0 0 0 9px #273744;background:#101c33;touch-action:manipulation;user-select:none}canvas{width:100%;height:100%;display:block}.hud{position:absolute;inset:0 0 auto;padding:24px;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.hud b{font-size:12px;letter-spacing:2.6px}.hud small{display:block;margin-top:7px;font:10px ui-monospace,monospace;color:#99a9bc;letter-spacing:1px}.round{pointer-events:auto;border:1px solid #ffffff20;background:#ffffff0c;border-radius:50%;width:44px;height:44px;color:var(--cream);z-index:4}.scoreboard{position:absolute;top:90px;left:0;right:0;text-align:center;pointer-events:none}.scoreboard strong{display:block;font-size:58px;line-height:1.1;font-weight:850;letter-spacing:-3px}.scoreboard span{font:10px ui-monospace,monospace;letter-spacing:2px;color:#c3b4b7}.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#101c33c9;padding:26px;text-align:center;z-index:5;backdrop-filter:blur(7px)}.ready{justify-content:flex-end;padding-bottom:100px;background:none;backdrop-filter:none;pointer-events:none}.ready>*{pointer-events:auto}.ready .mini{font-size:8px;letter-spacing:1.6px}h2{font-size:45px;font-weight:850;letter-spacing:-2px;line-height:1.06;margin:17px 0 27px}.primary{display:flex;justify-content:center;gap:38px;align-items:center;border:0;background:var(--peach);color:#2c2830;min-height:57px;width:240px;border-radius:40px;font-size:12px;font-weight:900;letter-spacing:2px;box-shadow:0 5px 0 #b57749}.primary:hover{background:#ffca91;transform:translateY(-1px)}.primary:active{transform:translateY(3px);box-shadow:0 2px 0 #b57749}.primary span{font-size:21px;font-weight:400}.overlay p{font-size:12px;line-height:1.8;color:#9cabbe;margin:22px 0 8px}.overlay small{color:#778da5;font-size:9px}.game-footer{position:absolute;bottom:17px;left:0;right:0;text-align:center;font:8px ui-monospace,monospace;letter-spacing:1.8px;color:#9bbdb5;pointer-events:none;z-index:6}.flap{position:absolute;inset:160px 0 40px;opacity:0;border:0}.stats{display:flex;gap:40px;margin:0 0 32px;font:9px ui-monospace,monospace;letter-spacing:1px;color:#9cabbe}.stats b{display:block;font:800 33px system-ui;color:var(--cream);margin-top:9px;letter-spacing:-1px}.side-label{font:9px ui-monospace,monospace;letter-spacing:1.7px;color:#657e8c;margin-bottom:48px}.guide{display:flex;gap:16px;margin:0 0 34px;align-items:start}.guide>span{font-size:20px;color:#a9b8b4;width:24px}.guide p{margin:0;font-size:11px;line-height:1.9;color:#788e9e;white-space:nowrap}.guide b{color:#c1cdd3;font-size:12px;font-weight:500}.hidden{display:none!important}@media(max-width:1150px){main{grid-template-columns:1fr minmax(300px,370px);gap:45px;padding:40px}aside{display:none}.footnote{flex-wrap:wrap;font-size:7px}}@media(max-width:720px){main{display:flex;justify-content:center;padding:14px;min-height:100svh}.intro{display:none}.device{width:min(390px,calc((100svh - 28px)*390/760));border-radius:24px;box-shadow:0 0 0 4px #17222e}.ready{padding-bottom:13%}h2{font-size:clamp(30px,10vw,45px)}.hud{padding:20px}.primary{width:75%;min-height:50px}.overlay .mini{font-size:7px}.overlay p{font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

[hidden]{display:none!important}.install-button{position:absolute;right:24px;top:24px;font-size:24px;color:var(--peach)}.hud:has(#pause:not(.hidden)) .install-button{display:none}dialog{width:min(360px,calc(100vw - 32px));border:1px solid #40515b;border-radius:28px;background:#142238;color:var(--cream);padding:32px 28px;text-align:center;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#070d18c9;backdrop-filter:blur(8px)}dialog img{display:block;margin:0 auto 20px;border-radius:16px}dialog .mini{font-size:8px}dialog h2{font-size:32px;margin:14px 0 22px}dialog p{font-size:14px;line-height:1.8;color:#b6c3d2}dialog .primary{margin:24px auto;width:100%;font-size:11px}dialog small{display:block;font:9px ui-monospace,monospace;letter-spacing:1px;color:#95c3aa;margin-top:24px}.dialog-close{position:absolute;top:12px;right:12px;width:44px;height:44px;background:transparent;color:#bccbd6;border:0;font-size:25px}body:has(dialog[open]){overflow:hidden}@media(display-mode:standalone){main{min-height:100svh;padding-top:max(14px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.device{width:min(390px,calc((100svh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom))*390/760))}} 
