:root{--bg:#f4f1ea;--surface:#fff;--text:#1b1f2a;--muted:#6b7083;--rod:#c9c3b6;--accent:#3b6ef5;--ok:#2fa36b;--bad:#d9473b;--disk-l:60%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1b1f2a;--surface:#252a38;--text:#eef0f5;--muted:#9298ab;--rod:#4a5165;--accent:#7b9cff;--disk-l:64%}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;overscroll-behavior:none}.app{max-width:960px;min-height:100%;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));flex-direction:column;gap:16px;margin:0 auto;display:flex}.top{justify-content:space-between;align-items:center;gap:12px;display:flex}h1{margin:0;font-size:clamp(1.25rem,4vw,1.75rem)}.disk-picker{color:var(--muted);align-items:center;gap:8px;display:flex}select,button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--rod);cursor:pointer;border-radius:10px;padding:8px 14px}button:disabled{opacity:.4;cursor:default}button:not(:disabled):active{transform:scale(.97)}.stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.stats>div{background:var(--surface);border-radius:12px;flex-direction:column;align-items:center;padding:8px 4px;display:flex}.stats .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.stats .value{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1.15rem}.board{--disk-h:clamp(16px, calc(min(50vh, 420px) / (var(--disks) + 3)), 36px);min-height:calc(var(--disk-h) * (var(--disks) + 3) + 40px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:pointer;flex:1;grid-template-columns:repeat(3,1fr);padding-bottom:14px;display:grid;position:relative}.base{background:var(--rod);border-radius:7px;height:14px;position:absolute;bottom:0;left:0;right:0}.peg{border-radius:16px 16px 0 0;flex-direction:column;justify-content:flex-end;align-items:center;transition:background .15s;display:flex;position:relative}.peg.droppable{background:color-mix(in srgb, var(--ok) 8%, transparent)}.peg.hover.droppable{background:color-mix(in srgb, var(--ok) 18%, transparent)}.peg.hover:not(.droppable){background:color-mix(in srgb, var(--bad) 12%, transparent)}.peg.shake{animation:.3s shake}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.rod{width:10px;height:calc(var(--disk-h) * (var(--disks) + 1.5));background:var(--rod);border-radius:5px 5px 0 0;position:absolute;bottom:0}.stack{flex-direction:column-reverse;align-items:center;width:100%;display:flex;position:relative}.disk{width:calc(28% + 68% * var(--size) / var(--disks));height:var(--disk-h);border-radius:calc(var(--disk-h) / 2);background:hsl(var(--hue) 70% var(--disk-l));transition:transform .18s ease-out;box-shadow:inset 0 -3px #00000026}.disk.lifted{transform:translateY(calc(var(--disk-h) * -1.2));box-shadow:inset 0 -3px #00000026,0 6px 14px #00000040}.disk.dragging{z-index:10;cursor:grabbing;transition:none;position:relative}.key-hint{color:var(--muted);font-size:.75rem;position:absolute;bottom:-32px}@media (pointer:coarse){.key-hint{display:none}}.controls{justify-content:center;gap:10px;padding-top:24px;display:flex}.controls button{min-width:96px}.win{background:#00000059;place-items:center;padding:16px;animation:.25s fade;display:grid;position:fixed;inset:0}.win-card{text-align:center;background:var(--surface);border-radius:18px;width:100%;max-width:360px;padding:24px;box-shadow:0 20px 50px #0000004d}.win-card h2{margin:0 0 8px}.new-best{color:var(--ok);font-weight:600}.win-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.win-actions button:first-child{background:var(--accent);border-color:var(--accent);color:#fff}@keyframes fade{0%{opacity:0}}.toast{left:50%;top:max(16px, env(safe-area-inset-top));z-index:20;background:var(--surface);white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0003}.toast button{padding:4px 10px}@media (width<=480px){.stats .value{font-size:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
