:root{--bg-0:#05060b;--bg-1:#0b0e18;--tint-a:#5eead429;--tint-b:#e879f921;--text:#eef1f8;--text-dim:#868ea5;--text-faint:#59617a;--surface:#ffffff0b;--surface-hover:#ffffff16;--border:#ffffff1a;--border-strong:#ffffff2e;--accent:#818cf8;--accent-soft:#818cf829;--accent-2:#5eead4;--accent-3:#e879f9;--danger:#fb7185;--overlay-veil:#05060bdb;--panel:#0f1320;--panel-shadow:0 20px 52px #0000008c, 0 2px 10px #00000059;--radius-sm:10px;--radius:16px;--radius-lg:24px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg-0:#f4f5fa;--bg-1:#e8eaf3;--tint-a:#0d948824;--tint-b:#c026d31a;--text:#10131c;--text-dim:#5a6379;--text-faint:#8b93a5;--surface:#0f14230a;--surface-hover:#0f142314;--border:#0f14231a;--border-strong:#0f142333;--accent:#4f46e5;--accent-soft:#4f46e51f;--accent-2:#0d9488;--accent-3:#c026d3;--danger:#e11d48;--overlay-veil:#f4f5fae0;--panel:#fff;--panel-shadow:0 20px 52px #0f14232e, 0 2px 10px #0f142314;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(120% 90% at 50% 0%, var(--bg-1) 0%, var(--bg-0) 62%);min-height:100dvh;color:var(--text);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(36% 36% at 24% 26%, var(--tint-a), transparent 70%), radial-gradient(40% 40% at 76% 72%, var(--tint-b), transparent 72%);will-change:transform;animation:32s ease-in-out infinite alternate drift;position:fixed;inset:-25%}body:after{content:"";z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}@keyframes drift{0%{transform:translate(-2%,-1.5%)scale(1)}to{transform:translate(3%,2%)scale(1.09)}}.app{z-index:1;height:100dvh;padding:calc(var(--safe-top) + 10px) 14px calc(var(--safe-bottom) + 10px);flex-direction:column;gap:8px;display:flex;position:fixed;inset:0}.hud{touch-action:none;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(14px);align-items:center;gap:12px;padding:8px 10px 8px 12px;display:flex}.hud__brand{color:var(--accent);flex:none;align-items:center;gap:8px;display:flex}.hud__mark{width:26px;height:26px;box-shadow:0 0 0 1px var(--border);border-radius:7px;display:block}.hud__name{letter-spacing:-.02em;color:var(--text);font-size:15px;font-weight:620}.hud__stats{gap:clamp(12px,4vw,26px);margin-inline:auto;display:flex}.stat{flex-direction:column;align-items:center;line-height:1.15;display:flex}.stat__label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-faint);font-size:10px;font-weight:560}.stat__value{letter-spacing:-.01em;font-size:16px;font-weight:620}.stat__value--num{font-variant-numeric:tabular-nums}.hud__actions{flex:none;gap:6px;display:flex}.pill,.btn{font:inherit;color:var(--text);border:1px solid var(--border);background:var(--surface);cursor:pointer;touch-action:manipulation;border-radius:999px;transition:background-color .14s,border-color .14s,transform .14s}.pill{letter-spacing:.04em;min-width:40px;height:36px;color:var(--text-dim);justify-content:center;align-items:center;padding:0 10px;font-size:12px;font-weight:620;display:inline-flex}.pill--icon{width:36px;padding:0}.pill svg{width:18px;height:18px;display:block}.pill:hover,.btn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.pill:active,.btn:active{transform:scale(.96)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.btn{letter-spacing:-.01em;min-height:52px;padding:0 30px;font-size:16px;font-weight:620}.btn--primary{background:var(--accent);color:#fff;box-shadow:0 10px 30px -12px var(--accent);border-color:#0000}[data-theme=light] .btn--primary{color:#fff}.btn--primary:hover{background:var(--accent);filter:brightness(1.08);border-color:#0000}.btn--ghost{min-height:48px;color:var(--text-dim);padding:0 26px}.btn--quiet{min-height:44px;color:var(--text-dim);background:0 0;border-color:#0000;padding:0 20px;font-size:14px;font-weight:560}.btn--quiet:hover{background:var(--surface-hover);color:var(--text);border-color:#0000}.btn[hidden]{display:none}.board{touch-action:none;border-radius:var(--radius);min-height:0;box-shadow:inset 0 0 0 1px var(--border);flex:auto;position:relative}.board:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.board canvas{border-radius:inherit;display:block;position:absolute;inset:0}.progress{pointer-events:none;white-space:nowrap;align-items:center;gap:14px;width:66%;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.progress__track{background:var(--border-strong);border-radius:999px;flex:auto;height:10px;overflow:hidden}.progress__fill{background:linear-gradient(90deg, var(--accent-2) 0%, var(--accent) 55%, var(--accent-3) 100%);border-radius:999px;width:0;height:100%;transition:width .18s cubic-bezier(.22,1,.36,1);display:block}.progress__count{letter-spacing:-.01em;color:var(--text-dim);font-variant-numeric:tabular-nums;flex:none;font-size:16px;font-weight:620}.dock{touch-action:none;flex:none;justify-content:center;display:flex}.dock--hidden{visibility:hidden}.overlay{z-index:10;padding:24px 20px calc(var(--safe-bottom) + 34px);background:var(--overlay-veil);justify-content:center;align-items:flex-end;animation:.13s ease-out veil-in;display:flex;position:fixed;inset:0}.overlay[hidden]{display:none}@keyframes veil-in{0%{opacity:0}to{opacity:1}}.overlay__card{text-align:center;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--panel);width:min(420px,100%);box-shadow:var(--panel-shadow);flex-direction:column;align-items:center;gap:10px;padding:20px 18px 18px;animation:.18s cubic-bezier(.22,1,.36,1) card-in;display:flex}@keyframes card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.overlay__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);min-height:14px;margin:0;font-size:11px;font-weight:620}.overlay__title{letter-spacing:-.03em;margin:0;font-size:clamp(26px,8vw,34px);font-weight:680}.overlay--failed .overlay__eyebrow{color:var(--danger)}.overlay__body{max-width:32ch;color:var(--text-dim);margin:0;font-size:15px;line-height:1.5}.overlay__time{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin:2px 0 4px;font-size:clamp(38px,13vw,54px);font-weight:300}.overlay__time[hidden]{display:none}.overlay__hint{color:var(--text-faint);min-height:16px;margin:0;font-size:12px}.steps{counter-reset:step;text-align:left;flex-direction:column;gap:10px;width:100%;max-width:340px;margin:4px 0 8px;padding:0;list-style:none;display:flex}.steps[hidden]{display:none}.levels{touch-action:pan-y;overscroll-behavior:contain;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:340px;max-height:42vh;margin:2px 0 4px;padding:4px 2px;display:flex;overflow-y:auto}.levels[hidden]{display:none}.level-chip{font:inherit;border:1px solid var(--border);background:var(--surface);min-width:46px;height:46px;color:var(--text-dim);font-variant-numeric:tabular-nums;cursor:pointer;touch-action:manipulation;border-radius:12px;padding:0 6px;font-size:15px;font-weight:600;transition:background-color .14s,border-color .14s,transform .14s}.level-chip:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.level-chip:active{transform:scale(.94)}.level-chip--solved{color:var(--text);border-color:var(--border-strong)}.level-chip--current{background:var(--accent);color:#fff;border-color:#0000}.level-chip--current:hover{background:var(--accent);color:#fff;filter:brightness(1.08);border-color:#0000}.steps li{counter-increment:step;color:var(--text-dim);align-items:flex-start;gap:12px;font-size:14px;line-height:1.45;display:flex}.steps li:before{content:counter(step);background:var(--accent-soft);width:22px;height:22px;color:var(--accent);border-radius:999px;flex:none;place-items:center;margin-top:1px;font-size:11px;font-weight:700;display:grid}.overlay .btn--primary{width:100%;max-width:320px;margin-top:6px}.overlay .btn--quiet{width:100%;max-width:320px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=439px){.app{padding-inline:10px}.hud{gap:6px;padding:8px 8px 8px 10px}.hud__name{display:none}.hud__mark{border-radius:6px;width:22px;height:22px}.hud__stats{gap:14px}.pill{min-width:34px;height:34px;padding:0 8px}.pill--icon{width:34px}.hud__actions{gap:4px}}@media (width<=359px){.hud__brand{display:none}.hud__stats{gap:10px;margin-inline:0}}@media (width>=720px){.app{padding-inline:max(20px,50vw - 450px)}.overlay{align-items:center;padding-bottom:24px}}@media (prefers-reduced-motion:reduce){body:before{animation:none}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
