:root{--bg: #f6f3ec;--surface: #ffffff;--ink: #23262f;--muted: #7a7e8a;--line: #d6d2c8;--backdrop: #e2ded3;--guide: #8a8679;--accent: #d9534f;--accent-ink: #ffffff;--ok: #2e8b57;--hl: #fbefc9;--cell-bg: #fffdf8;--mark: #b0aa9c;--dirt: #a9825a;--dirt-speck: #8d6a45;--dirt-line: #93704b;--dug: #e8d8bd;--metal: #3d4450;--spark: #e0a800;--spark-hot: #f07c00;--mischief: #7b5cff;--squid-ink: #2c2350;--bronze: #a8672f;--silver: #7f8a96;--gold: #c99a06;--shadow: rgb(35 38 47 / .14);--font-ui: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light;font-family:var(--font-ui)}@media(prefers-color-scheme:dark){:root{--bg: #17181c;--surface: #212329;--ink: #e9e6de;--muted: #8d909a;--line: #353841;--backdrop: #2c2e36;--guide: #6c7080;--accent: #e8716d;--accent-ink: #17181c;--ok: #5cc48a;--hl: #2e2b20;--cell-bg: #1c1e23;--mark: #5d606b;--dirt: #5e4630;--dirt-speck: #4b3725;--dirt-line: #6d543b;--dug: #2e2a24;--metal: #b9c2cf;--spark: #f2c230;--spark-hot: #ff9a3c;--mischief: #9d86ff;--squid-ink: #4b3d8f;--bronze: #d08a4c;--silver: #b4bdc8;--gold: #f2c230;--shadow: rgb(0 0 0 / .4);color-scheme:dark}}:root[data-contrast=high]{--bg: #ffffff;--surface: #ffffff;--ink: #000000;--muted: #000000;--line: #000000;--backdrop: #d9d9d9;--guide: #000000;--accent: #c00000;--accent-ink: #ffffff;--ok: #006b2e;--hl: #ffe14d;--cell-bg: #ffffff;--mark: #444444;--dirt: #ffffff;--dirt-speck: #ffffff;--dirt-line: #000000;--dug: #ffffff;--metal: #000000;--spark: #000000;--spark-hot: #c00000;--mischief: #c00000;--squid-ink: #6b6b6b;--bronze: #000000;--silver: #000000;--gold: #000000;--shadow: rgb(0 0 0 / .35);color-scheme:light}:root{--vox-graphite: #3a3e48;--vox-stone: #9a968c;--vox-white: #f4f1ea;--vox-cream: #eadcb8;--vox-wood: #b8875a;--vox-brown: #7a5235;--vox-red: #d9534f;--vox-coral: #ee8a6e;--vox-orange: #ec9338;--vox-yellow: #ecc440;--vox-leaf: #7fb04f;--vox-green: #3f8f5a;--vox-teal: #3d9e9a;--vox-sky: #79b6e0;--vox-blue: #3f6fb5;--vox-purple: #7b5cc8;--vox-pink: #e98bb0;--cube: var(--cell-bg);--cube-edge: var(--guide);--cube-painted: var(--accent);--cube-lit: var(--hl)}@media(prefers-color-scheme:dark){:root{--vox-graphite: #555a66;--vox-stone: #8a867d;--vox-white: #d9d6cf;--vox-cream: #cfc29f;--vox-wood: #a0754c;--vox-brown: #6c4a31;--vox-red: #d4605c;--vox-coral: #db7f66;--vox-orange: #d88534;--vox-yellow: #d7b23c;--vox-leaf: #73a048;--vox-green: #3f8758;--vox-teal: #3a918d;--vox-sky: #6aa3cb;--vox-blue: #4a73b0;--vox-purple: #7f66c2;--vox-pink: #d27e9f;--cube: #2a2d34}}:root[data-contrast=high]{--vox-graphite: #000000;--vox-stone: #6b6b6b;--vox-white: #ffffff;--vox-cream: #ffe9a8;--vox-wood: #9a5a1c;--vox-brown: #5a2d00;--vox-red: #c00000;--vox-coral: #ff5a36;--vox-orange: #ff8000;--vox-yellow: #ffd400;--vox-leaf: #52a000;--vox-green: #006b2e;--vox-teal: #007a78;--vox-sky: #3aa0ff;--vox-blue: #0039b3;--vox-purple: #6a00c8;--vox-pink: #ff4fa0;--cube: #ffffff;--cube-edge: #000000}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);min-height:100dvh;font-variant-numeric:tabular-nums}h1,h2,h3{font-weight:700;letter-spacing:.01em}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.screen{max-width:960px;margin:0 auto;padding:16px}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.topbar h1{margin:0;font-size:clamp(1.15rem,5.5vw,1.5rem);letter-spacing:.01em;line-height:1.15}.topbar .button{white-space:nowrap}.home-link{gap:6px}@media(max-width:480px){.topbar.nested .home-label{display:none}}.help{text-align:center;color:var(--muted);font-size:.8rem}@media(pointer:coarse){.help.keyboard{display:none}}button,.button{font:inherit;font-size:.9rem;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}button:disabled{opacity:.4;cursor:default}.button.ghost{background:transparent}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.toggle[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.segmented{display:inline-flex}.segmented>button{border-radius:0}.segmented>button+button{border-left:none}.segmented>button:first-child{border-radius:8px 0 0 8px}.segmented>button:last-child{border-radius:0 8px 8px 0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}}.game .topbar h1{flex:0 1 auto}.size{color:var(--muted);font-weight:600;font-size:.9rem}.hearts{margin-left:auto;color:var(--accent);font-size:1.2rem;letter-spacing:2px}.hearts:not([hidden])+.timer{margin-left:12px}.timer{margin-left:auto;color:var(--muted);font-weight:600}.toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-bottom:8px}.actions{display:inline-flex;gap:6px}.actions button{min-width:44px;justify-content:center}.actions .icon{font-size:1.2rem;padding-block:4px}.stage{position:relative;height:min(68dvh,120vw);min-height:280px;border-radius:14px;background:var(--surface);border:1px solid var(--line);overflow:hidden}.block-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.block-canvas:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;margin:10px 0 6px}.tools button{min-height:44px}.peel{display:flex;align-items:center;gap:8px}.peel-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:600}.peel .segmented button{min-width:40px;min-height:44px;justify-content:center;font-weight:600}.peel input[type=range]{width:110px;accent-color:var(--accent)}.peel-count{min-width:2.5em;color:var(--muted);font-size:.85rem}.shake .stage{animation:shake .35s ease-in-out}@keyframes shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.end-panel{margin:14px auto 0;max-width:320px;padding:20px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 8px 24px var(--shadow);display:flex;flex-direction:column;align-items:center;gap:10px;animation:pop .3s ease-out}.end-panel[hidden]{display:none}.end-panel h2{margin:0;color:var(--accent)}.end-name{margin:0;font-weight:600;font-size:1.1rem}.end-note{margin:0;color:var(--muted);font-size:.9rem;text-align:center}.end-actions{display:flex;gap:8px}@keyframes pop{0%{transform:scale(.9);opacity:0}}.game:has(.end-panel:not([hidden])) .controls,.game:has(.end-panel:not([hidden])) .help{display:none}.select .topbar h1{flex:1}.lede{margin:0 0 14px;color:var(--muted)}.settings{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.stats{margin:0 0 8px;color:var(--muted);font-size:.85rem}.list-section h2{margin:22px 0 10px;font-size:1.05rem}.list-section .count{color:var(--muted);font-weight:500;font-size:.9rem}.puzzle-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}.puzzle-card{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);text-decoration:none}.puzzle-card:hover{border-color:var(--guide)}.thumb{height:96px;display:grid;place-items:center;border-radius:8px;background:var(--bg)}.card-name{font-weight:600}.card-meta{font-size:.8rem;color:var(--muted)}.rules{margin:0 0 20px}.rules dt{font-weight:700;margin-top:14px}.rules dd{margin:4px 0 0;color:var(--ink);line-height:1.45}
