@font-face{font-family:Manrope;src:url('/assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{color-scheme:light;--bg:#edf1ef;--surface:#f7f9f7;--ink:#162327;--muted:#56676a;--line:#cbd6d1;--accent:#72baa9;--accent-ink:#122c27;--ring:#cbd8d2;--rock:#4b5b5d;--shadow:rgba(37,69,60,.08)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#141e22;--surface:#1a282b;--ink:#edf2ef;--muted:#a8b9b3;--line:#344a46;--ring:#36514b;--rock:#c2cdc8;--shadow:rgba(5,20,17,.18)}}
:root[data-theme=dark]{color-scheme:dark;--bg:#141e22;--surface:#1a282b;--ink:#edf2ef;--muted:#a8b9b3;--line:#344a46;--ring:#36514b;--rock:#c2cdc8;--shadow:rgba(5,20,17,.18)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}button,a,canvas{touch-action:manipulation}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button{transition:transform .15s ease,background .15s ease}button:not(:disabled):active{transform:scale(.97)}.wrap{width:min(1240px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;top:12px;left:12px;z-index:3;transform:translateY(-180%);background:var(--surface);padding:16px}.skip:focus{transform:translateY(0)}.header{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center;font-size:20px;font-weight:800;letter-spacing:-.6px}.brand img{object-fit:contain}.brand-sub{display:block;color:var(--muted);font-weight:500;font-size:10px;letter-spacing:.1px;margin-top:1px}nav{display:flex;gap:26px;align-items:center;font-size:13px;font-weight:650}.icon-button{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--line);border-radius:12px;background:transparent}.icon-button img{opacity:.85}.icon-button:not(:disabled):hover{background:var(--surface)}:root[data-theme=dark] .icon-button img{filter:invert(1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .icon-button img{filter:invert(1)}}
.hero{display:grid;grid-template-columns:.82fr 1.18fr;gap:64px;align-items:center;padding:30px 0 46px;min-height:calc(100dvh - 88px);max-height:1000px}.intro{align-self:center;padding-bottom:30px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:750;color:var(--muted);margin:0 0 24px}h1{font-size:clamp(40px,4.4vw,62px);line-height:1.1;font-weight:800;letter-spacing:-2.8px;max-width:430px;margin:0 0 26px}h1 span{display:block;color:#467b6f}:root[data-theme=dark] h1 span{color:var(--accent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) h1 span{color:var(--accent)}}.lead{font-size:16px;line-height:1.75;max-width:345px;color:var(--muted);margin:0}.control-note{display:flex;align-items:center;gap:12px;margin-top:42px;color:var(--muted);font-size:12px}kbd{font-family:inherit;font-weight:650;font-size:10px;padding:5px 9px;border:1px solid var(--line);border-radius:6px;white-space:nowrap}.game-shell{width:100%;max-width:586px;justify-self:end;position:relative;background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 70px var(--shadow);overflow:hidden}.game-topbar{display:flex;align-items:center;gap:30px;padding:22px 26px 8px}.metric{display:flex;flex-direction:column;gap:5px;min-width:58px}.metric span{font-size:10px;letter-spacing:.02em;color:var(--muted)}.metric strong{font-size:24px;line-height:1.1;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.best strong{font-size:19px;color:var(--muted)}.game-tools{display:flex;gap:8px;margin-left:auto}.stage{aspect-ratio:1;position:relative;max-height:550px;width:100%;overflow:hidden}canvas{display:block;width:100%;height:100%;outline-offset:-4px!important}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 86%,transparent);z-index:1}.overlay[hidden]{display:none}.overlay-content{text-align:center;padding:24px}.orbit-badge{display:block;margin-bottom:12px}.orbit-badge img{object-fit:contain}.overlay h2{font-size:26px;letter-spacing:-1px;margin:0 0 13px}.overlay p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 26px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:196px;min-height:50px;border:0;border-radius:12px;background:var(--accent);color:var(--accent-ink);font-size:13px;font-weight:800;white-space:nowrap}.primary:hover{background:#83c6b6}.game-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:45px;padding:0 26px 12px;color:var(--muted);font-size:10px}.keys{white-space:nowrap}.keys kbd{padding:3px 6px;margin-right:5px}.switch-button{display:flex;align-items:center;justify-content:center;gap:14px;width:calc(100% - 52px);margin:0 26px 23px;min-height:46px;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:12px;font-size:12px;font-weight:700}.switch-button:not(:disabled):hover{background:var(--bg)}.switch-button kbd{font-size:9px;padding:3px 6px}.notice{padding:12px 26px;font-size:13px;color:var(--muted)}.rules{padding:50px 0 65px;border-top:1px solid var(--line)}.rules h2{font-size:23px;letter-spacing:-.7px;margin:0 0 32px;font-weight:750}.rule-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:50px}.rule-row p{margin:0;max-width:300px;font-size:12px;line-height:1.9;color:var(--muted)}.rule-row strong{display:block;font-size:13px;margin-bottom:9px;color:var(--ink)}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:26px 0 34px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer>span{font-size:14px;font-weight:800;color:var(--ink)}.footer p{margin:0}.footer a{font-weight:700;white-space:nowrap}.footer a span{margin-left:8px}
@media(min-width:1100px) and (max-height:850px){.hero{min-height:calc(100dvh - 88px);gap:60px;padding-top:12px}.game-shell{max-width:500px}.stage{max-height:460px}.game-topbar{padding-top:16px}.switch-button{margin-bottom:17px}.intro{padding-bottom:0}}
@media(max-width:1024px){.wrap{width:calc(100% - 48px)}.hero{gap:35px}h1{font-size:48px;letter-spacing:-2px}.control-note{margin-top:27px}.rule-row{gap:30px}.game-bottom{padding-inline:20px}.keys{display:none}}
@media(max-width:767px){.wrap{width:calc(100% - 32px)}.header{height:74px}.brand{font-size:18px}.brand img{width:36px;height:36px}nav{gap:17px;font-size:11px}.hero{grid-template-columns:1fr;gap:22px;min-height:0;max-height:none;padding:20px 0 40px}.intro{padding:0}.eyebrow{font-size:9px;margin-bottom:13px}h1{font-size:37px;line-height:1.13;letter-spacing:-1.7px;margin:0 0 14px;max-width:none}h1 span{display:inline}.lead{font-size:13px;line-height:1.8;max-width:400px}.control-note{display:none}.game-shell{justify-self:center;max-width:510px;border-radius:20px}.game-topbar{padding:17px 20px 4px;gap:24px}.metric strong{font-size:21px}.best strong{font-size:17px}.stage{max-height:none}.overlay h2{font-size:23px}.orbit-badge img{width:65px;height:65px}.overlay p{font-size:12px;margin-bottom:20px}.overlay-content{padding:15px}.game-bottom{font-size:9px;min-height:35px;padding:0 20px 8px}.switch-button{width:calc(100% - 40px);margin:0 20px 18px;min-height:43px}.rules{padding:29px 0 38px}.rules h2{font-size:20px;max-width:270px;line-height:1.5;margin-bottom:24px}.rule-row{grid-template-columns:1fr;gap:22px}.rule-row p{max-width:440px}.rule-row strong{margin-bottom:4px}.footer{flex-wrap:wrap;padding:20px 0 27px;gap:12px}.footer p{order:3;flex-basis:100%;line-height:1.7}.footer a{margin-left:auto}}
@media(prefers-reduced-motion:no-preference){.intro,.game-shell{animation:arrive .6s cubic-bezier(.2,.7,.2,1) both}.game-shell{animation-delay:.08s}@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.header{height:76px}
@media(min-width:768px){.hero{min-height:calc(100dvh - 76px)}}
