:root{--ground: #10131c;--ink: #f3f5f8;--muted: #b7c0d0;--accent: #3dba84;--accent-ink: #062216;--danger: #e15d5d;--surface: #1a2030;--surface-2: #2a3348;--font: "Bricolage Grotesque", "Avenir Next", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--ease: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font);color:var(--ink);background:radial-gradient(880px 480px at 50% 38%,rgba(61,186,132,.1),transparent 68%),var(--ground);min-height:100dvh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}::selection{background:var(--accent);color:var(--accent-ink)}.skip{position:absolute;left:12px;top:12px;z-index:6;transform:translateY(-140%);background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none;border-radius:10px;padding:10px 14px}.skip:focus{transform:none}.shell{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;padding:16px 24px 14px;animation:rise .68s var(--ease) both}.column{width:min(100%,960px,calc((100dvh - 308px) * 4 / 3));margin:0 auto;flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px}.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 32px}.brand{flex:1 1 320px;min-width:0}h1{margin:0;font-size:clamp(2.35rem,4vw,3.7rem);font-weight:760;letter-spacing:-.048em;line-height:.9;text-wrap:balance}.lede{margin:8px 0 0;max-width:42ch;color:var(--muted);font-size:1.05rem;font-weight:480;line-height:1.45;text-wrap:pretty}.stats{display:flex;gap:8px;margin:0}.stat{min-width:104px;margin:0;padding:10px 14px 12px;background:var(--surface);border-radius:14px}.stat dt{margin:0;color:var(--muted);font-size:.82rem;font-weight:600}.stat dd{margin:6px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:500;letter-spacing:-.04em;line-height:1}.stat.is-hot dd{color:var(--accent)}.stage{display:flex;justify-content:center}.playfield{position:relative;width:100%}.playfield canvas{display:block;width:100%;height:auto;background:#141824;border-radius:18px;touch-action:none;cursor:crosshair}.playfield canvas:focus-visible,button:focus-visible,.skip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.waiting,.loading{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;pointer-events:none}.waiting{display:flex;align-items:flex-start;justify-content:center;padding-top:22%;margin:0;color:var(--muted);font-size:1rem;font-weight:560}.loading{background:#141824;overflow:hidden}.loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,transparent 30%,rgba(243,245,248,.05) 48%,transparent 66%);animation:sheen 1.15s var(--ease) infinite}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:#0a0c12c7;animation:rise .42s var(--ease) both}.overlay h2{margin:0;font-size:clamp(2.4rem,6vw,4rem);font-weight:760;letter-spacing:-.045em;line-height:.92}.overlay p{margin:0;font-size:1.2rem;font-weight:520}.overlay button{margin-top:8px}.reward{color:var(--accent);font-weight:700}.dock{display:flex;flex-direction:column;gap:12px}.dock-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.hints,.legend,.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0;padding:0;list-style:none}.hints{width:100%;justify-content:space-between;color:var(--muted);font-size:.95rem;font-weight:520}.hints li,.legend li{display:flex;align-items:center;gap:6px}kbd{font-family:var(--font);font-weight:680;font-size:.84rem;color:var(--ink);background:var(--surface-2);border-radius:8px;padding:5px 8px}.swatch{width:12px;height:12px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #00000047}.legend{color:var(--muted);font-size:.84rem;font-weight:580;gap:8px 12px}button{font:inherit;font-weight:680;color:var(--ink);background:var(--surface-2);border:0;border-radius:12px;min-height:44px;padding:0 14px;cursor:pointer;touch-action:none;transition:transform .16s var(--ease),background-color .16s var(--ease)}button:hover{background:#364158}button:active{transform:scale(.98)}button:disabled{opacity:.42;cursor:not-allowed;transform:none}button.primary{background:var(--accent);color:var(--accent-ink)}button.primary:hover{background:#59c996}button.primary:disabled:hover{background:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes sheen{0%{transform:translate(-40%)}to{transform:translate(40%)}}@media(max-width:760px){.shell{padding:16px 14px 18px}.column{width:100%;gap:14px}h1{font-size:2.35rem}.lede{font-size:.98rem;margin-top:8px}.stats{width:100%}.stat{flex:1;min-width:0;padding:8px 10px 10px}.stat dd{font-size:1.28rem}.playfield{width:100%}.dock-row{align-items:stretch}.actions{display:grid;grid-template-columns:1fr auto 1fr;width:100%;gap:8px}.actions button{padding:0 10px;white-space:nowrap}.hints{justify-content:flex-start;gap:8px 12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
