:root{--bg:#f5f5f7;--bg-2:#fff;--panel:#ffffffd9;--line:#e3e3e8;--text:#1d1d1f;--muted:#86868b;--white-piece:#14304f;--white-cell:#fff;--black-piece:#f7f7fa;--black-cell:#8a8f9c;--gold:#d1901a;--emerald:#34c759;--danger:#ff3b30;--beam:#0071e3;--radius:16px;--cell:clamp(18px, 3.4vh, 32px);--empty-light:#f7f7f9;--empty-dark:#ededf1;--board-shadow:0 24px 60px #0000001f;--scrim:#f5f5f7eb;--accent:#0071e3;--accent-ink:#fff;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0b0d12;--bg-2:#12151d;--panel:#171b25;--line:#262c3a;--text:#e8ecf4;--muted:#8b93a7;--white-piece:#f4f6fb;--white-cell:#39415a;--black-piece:#10131a;--black-cell:#6d5540;--gold:#e3b341;--emerald:#35c88a;--danger:#e5484d;--beam:#ffe08a;--radius:12px;--empty-light:#0e1119;--empty-dark:#101420;--board-shadow:0 24px 70px #0000008c;--scrim:#07090edb;--accent:#e3b341;--accent-ink:#1a1405;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{flex-direction:column;align-items:center;gap:1rem;min-height:100%;padding:1rem;display:flex}.topbar{justify-content:space-between;align-items:center;width:min(1100px,100%);display:flex}.topbar h1{letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.topbar h1 span{color:var(--accent)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}[data-theme=dark] body{background:radial-gradient(1200px 700px at 50% -10%, #1b2030 0%, transparent 60%), var(--bg)}.stage{justify-content:center;align-items:flex-start;gap:1rem;width:100%;display:flex}.board-column{position:relative}.rail{flex-direction:column;flex:none;gap:.6rem;width:8.5rem;display:flex}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;padding:.6rem}.panel h2{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.65rem;font-weight:600}.hint{color:var(--muted);margin:.4rem 0 0;font-size:.62rem}.material{color:var(--emerald);font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800}.garbage-count{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:800}.combo{color:var(--gold);font-size:1.8rem;font-weight:800}.panel-alarm{border-color:var(--danger);animation:.9s ease-in-out infinite pulse-alarm}.panel-alarm .garbage-count{color:var(--danger)}.panel-combo{border-color:var(--gold)}@keyframes pulse-alarm{50%{background:color-mix(in srgb, var(--danger) 14%, var(--panel))}}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.5rem .6rem;display:flex}.stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.6rem}.stat-value{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:700}.stat-accent .stat-value{color:var(--gold)}.board-wrap{position:relative}.board-wrap.shaking{animation:.22s ease-out shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(calc(var(--shake) * -1), calc(var(--shake) * .4))}50%{transform:translate(var(--shake), calc(var(--shake) * -.3))}75%{transform:translate(calc(var(--shake) * -.5), 0)}}.board{grid-template-columns:repeat(var(--cols), var(--cell));grid-template-rows:repeat(var(--rows), var(--cell));background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--board-shadow);gap:1px;padding:6px;display:grid;position:relative}.cell{background:var(--empty-light);font-size:calc(var(--cell) * .72);border-radius:3px;place-items:center;line-height:1;display:grid;position:relative}.cell-empty.cell-odd{background:var(--empty-dark)}.cell-white{background:var(--white-cell);box-shadow:inset 0 -2px #00000047,inset 0 1px #ffffff1a}.cell-black{background:var(--black-cell);box-shadow:inset 0 -2px #00000059,inset 0 1px #ffffff14}.cell-white .glyph{color:var(--white-piece);text-shadow:0 1px 1px #0009}.cell-black .glyph{color:var(--black-piece);text-shadow:0 1px #ffffff24}.cell-active{filter:brightness(1.18)}.cell-ghost{border:1px dashed color-mix(in srgb, var(--white-piece) 26%, transparent);background:0 0}.cell-threat{outline:1px solid var(--danger);outline-offset:-1px}.threat-dot{background:var(--danger);border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:2px}.cell-cleared{animation:.26s ease-out flash}@keyframes flash{0%{filter:brightness(3)}to{filter:brightness()}}.glyph{pointer-events:none;-webkit-user-select:none;user-select:none}.glyph-black{color:var(--text)}.beams{pointer-events:none;width:calc(100% - 12px);height:calc(100% - 12px);position:absolute;inset:6px;overflow:visible}.beam{stroke:var(--beam);stroke-width:.11px;stroke-linecap:round;opacity:0;animation:.38s ease-out forwards beam}@keyframes beam{0%{opacity:0;stroke-width:.3px}18%{opacity:1}to{opacity:0;stroke-width:.05px}}.beam-hit{fill:none;stroke:var(--beam);stroke-width:.08px;opacity:0;animation:.42s ease-out forwards beam-hit}@keyframes beam-hit{0%{opacity:0}30%{opacity:1}to{opacity:0;transform-origin:50%;transform-box:fill-box;transform:scale(1.7)}}.cell-value{font-size:calc(var(--cell) * .28);color:#ffffff80;font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;font-weight:700;line-height:1;position:absolute;bottom:1px;left:2px}.pop{white-space:nowrap;color:var(--emerald);text-shadow:0 2px 6px #000c;pointer-events:none;opacity:0;font-variant-numeric:tabular-nums;z-index:2;align-items:center;gap:2px;font-size:.8rem;font-weight:800;animation:.9s ease-out forwards pop;display:flex;position:absolute;transform:translate(-50%,-50%)}.pop-glyph{opacity:.85;font-size:.85em}.pop-big{color:#ffd76a;font-size:1rem}.pop-fork{color:#ff8bd0;font-size:1.05rem}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}25%{opacity:1;transform:translate(-50%,-120%)scale(1.15)}to{opacity:0;transform:translate(-50%,-260%)scale(1)}}.banner{letter-spacing:.06em;white-space:nowrap;pointer-events:none;z-index:3;text-shadow:0 3px 14px #000000e6;font-size:clamp(1rem,3.4vh,1.6rem);font-weight:900;animation:1.1s ease-out forwards banner;position:absolute;top:22%;left:50%;transform:translate(-50%,-50%)}.banner-fork{color:#ff8bd0}.banner-chain{color:var(--beam)}.banner-queen{color:#ffd76a}.banner-combo{color:var(--emerald)}@keyframes banner{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}15%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}30%{transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-90%)scale(1)}}.mini{grid-template-columns:repeat(var(--box,3), 1fr);aspect-ratio:1;gap:1px;width:4.6rem;margin:0 auto;display:grid}.mini-dim{opacity:.42}.mini-empty{height:4.6rem;display:block}.mini-cell{border-radius:2px;place-items:center;font-size:.85rem;display:grid}.mini-cell.filled{background:var(--white-cell)}.mini-cell.filled .glyph{color:var(--white-piece)}.queue{flex-direction:column;gap:.35rem;display:flex}.queue .mini{width:3.5rem}.overlay{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:var(--radius);z-index:5;place-items:center;padding:.75rem;display:grid;position:absolute;inset:0}.sheet{text-align:center;flex-direction:column;align-items:center;gap:.75rem;max-width:30rem;max-height:100%;display:flex;overflow-y:auto}.sheet h2{letter-spacing:-.01em;margin:0;font-size:1.5rem}.lede{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.lede em{color:var(--text);font-style:italic}.rules{text-align:left;color:var(--muted);flex-direction:column;gap:.5rem;margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.45;display:flex}.rules strong{color:var(--text);font-weight:600}.values{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.value-chip{background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.8rem;font-weight:700;display:flex}.value-chip .glyph{font-size:1.05rem}.keys{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.35rem .75rem;font-size:.7rem;display:flex}kbd{background:var(--panel);border:1px solid var(--line);color:var(--text);border-bottom-width:2px;border-radius:4px;padding:.05rem .3rem;font-family:inherit;font-size:.68rem}.summary{grid-template-columns:repeat(3,1fr);gap:.5rem;width:100%;display:grid}.summary div{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;padding:.6rem .3rem;display:flex}.summary span{font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.summary small{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.6rem}.record{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:700}.sheet-over h2{color:var(--danger)}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:10px;padding:.5rem 1rem;font-weight:600;transition:transform 80ms,filter .12s}.btn:hover{filter:brightness(1.18)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);padding:.6rem 2rem;font-weight:800}.btn-ghost{background:0 0;font-size:.8rem}.touch{display:none}@media (hover:none) and (pointer:coarse){.touch{width:min(26rem,100%);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(5,1fr);gap:.4rem;display:grid}.tbtn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--text);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:10px;padding:.85rem 0;font-size:1.1rem}.tbtn:active{background:var(--line)}.tbtn-wide{letter-spacing:.1em;grid-column:span 3;font-size:.8rem;font-weight:700}}@media (width<=720px){:root{--cell:clamp(16px, 8.2vw, 30px)}.stage{flex-wrap:wrap;gap:.5rem}.rail{flex-flow:wrap;order:3;justify-content:center;width:auto;max-width:100%}.board-column{order:1;justify-content:center;width:100%;display:flex}.mini,.queue .mini{width:2.6rem}.mini-empty{height:2.6rem}.queue{flex-direction:row}.summary{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.board-wrap.shaking,.cell-cleared,.pop,.beam,.beam-hit,.board.rose,.cell-threat,.panel-combo,.board-wrap.danger:after,.board-wrap.levelup:before,.panel-alarm{animation:none}.beam,.beam-hit{opacity:.9}}[data-theme=dark] .topbar h1{text-shadow:0 2px 24px #00000073}[data-theme=dark] .topbar h1 span{text-shadow:0 0 18px #e3b34173}[data-theme=dark] .board{background:radial-gradient(120% 80% at 50% -8%, #1a2130 0%, transparent 60%), linear-gradient(180deg, #141926 0%, #0c1017 72%), var(--bg-2);box-shadow:0 34px 90px #0000009e,inset 0 2px #ffffff0a,inset 0 -30px 70px #00000080}[data-theme=dark] .cell-empty{background:#0c1018}[data-theme=dark] .cell-empty:nth-child(odd){background:#10151f}[data-theme=dark] .cell-white{background:linear-gradient(180deg, color-mix(in srgb, var(--white-cell) 80%, #fff) 0%, var(--white-cell) 46%, color-mix(in srgb, var(--white-cell) 76%, #000) 100%);border-radius:4px;box-shadow:inset 0 1px #ffffff4d,inset 0 -3px 6px #00000057,0 1px 2px #00000059}[data-theme=dark] .cell-white .glyph{color:var(--white-piece);text-shadow:0 1px #00000059,0 0 6px #b4cdff4d}[data-theme=dark] .cell-black{background:linear-gradient(180deg, color-mix(in srgb, var(--black-cell) 80%, #fff) 0%, var(--black-cell) 52%, color-mix(in srgb, var(--black-cell) 68%, #000) 100%);border-radius:4px;box-shadow:inset 0 1px #ffffff1f,inset 0 -3px 7px #0000006b,0 1px 2px #0006}[data-theme=dark] .cell-black .glyph{color:var(--black-piece);text-shadow:0 1px #ffffff2e}[data-theme=dark] .cell-active{filter:brightness(1.15)saturate(1.05);z-index:1;box-shadow:inset 0 1px #ffffff6b,inset 0 -3px 6px #0000004d,0 0 10px #96beff80,0 0 2px #c8dcffe6}[data-theme=dark] .cell-ghost{background:color-mix(in srgb, var(--white-cell) 15%, transparent);border:1px solid color-mix(in srgb, var(--white-piece) 22%, transparent)}[data-theme=dark] .glyph-ghost{color:color-mix(in srgb, var(--white-piece) 34%, transparent)}[data-theme=dark] .glyph-queen{color:var(--gold)!important;text-shadow:0 0 7px #e3b341b3,0 1px #0006!important}[data-theme=dark] .cell-black .glyph-queen{color:#b98a1e!important}[data-theme=dark] .glyph-ghost.glyph-queen{color:color-mix(in srgb, var(--gold) 42%, transparent)!important}[data-theme=dark] .cell-threat{outline:1.5px solid var(--danger);outline-offset:-1.5px;animation:1.1s ease-in-out infinite threat-pulse}[data-theme=dark] .threat-dot{box-shadow:0 0 5px var(--danger)}[data-theme=dark] .beam-queen{stroke:var(--gold);stroke-width:.14px}[data-theme=dark] .pop-queen{color:var(--gold);text-shadow:0 0 10px #e3b34199,0 2px 6px #000c;font-size:1rem}[data-theme=dark] .board-wrap:after{content:"";border-radius:var(--radius);pointer-events:none;opacity:0;z-index:3;background:linear-gradient(#e5484d8c 0%,#0000 32%);transition:opacity .22s;position:absolute;inset:0}[data-theme=dark] .board-wrap.danger:after{opacity:1;animation:.82s ease-in-out infinite danger-pulse}[data-theme=dark] .board.rose{animation:.26s cubic-bezier(.3,0,.2,1) rose}[data-theme=dark] .board-wrap.levelup:before{content:"";border-radius:calc(var(--radius) + 3px);pointer-events:none;z-index:4;animation:.66s ease-out levelup;position:absolute;inset:-3px}[data-theme=dark] .panel-combo{animation:1.2s ease-in-out infinite combo-glow}@keyframes threat-pulse{50%{outline-color:color-mix(in srgb, var(--danger) 35%, transparent)}}@keyframes danger-pulse{50%{opacity:.38}}@keyframes rose{0%{transform:translateY(0)}35%{transform:translateY(calc(var(--cell) * .5))}to{transform:translateY(0)}}@keyframes levelup{0%{box-shadow:0 0 #e3b34100}30%{box-shadow:0 0 0 3px #e3b34199,0 0 46px #e3b3416b}to{box-shadow:0 0 #e3b34100}}@keyframes combo-glow{50%{border-color:color-mix(in srgb, var(--gold) 70%, var(--line));box-shadow:0 0 18px #e3b34147}}.cell-hint{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--emerald) 70%, transparent);background:color-mix(in srgb, var(--emerald) 12%, transparent)}.cell-hint.cell-ghost{border-color:#0000}.hint-chip{z-index:8;white-space:nowrap;border:1px solid color-mix(in srgb, var(--emerald) 45%, var(--line));background:color-mix(in srgb, var(--emerald) 14%, var(--panel));color:var(--text);letter-spacing:.04em;font-variant-numeric:tabular-nums;border-radius:999px;padding:.2rem .6rem;font-size:.74rem;font-weight:700;position:absolute;top:-1.85rem;left:50%;transform:translate(-50%)}.file-labels{grid-template-columns:repeat(var(--cols), var(--cell));justify-content:center;margin-top:.25rem;display:grid}.file-label{text-align:center;letter-spacing:.08em;color:color-mix(in srgb, var(--muted) 70%, transparent);font-variant-numeric:tabular-nums;font-size:.6rem}.file-target{color:var(--emerald);font-weight:700}.banner-tspin{color:#a98bff}.pill{border:1px solid var(--line);background:var(--panel);color:var(--muted);letter-spacing:.12em;border-radius:999px;align-self:center;padding:.15rem .5rem;font-size:.6rem;font-weight:700}.pill-live{border-color:color-mix(in srgb, var(--emerald) 50%, var(--line));color:var(--emerald)}.panel-goals{gap:.5rem}.goal{flex-direction:column;gap:.25rem;width:100%;display:flex}.goal-head{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:.5rem;font-size:.62rem;display:flex}.goal-track{background:var(--bg-2);border-radius:999px;height:5px;overflow:hidden}.goal-fill{background:var(--gold);border-radius:999px;height:100%;transition:width .18s ease-out}.goal-done .goal-fill{background:var(--emerald)}.goal-done .goal-head{color:var(--emerald)}.sheet-won h2{color:var(--emerald)}.levels{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;width:100%;display:grid}.level{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;font:inherit;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .65rem;display:flex}.level:hover:not(:disabled){border-color:color-mix(in srgb, var(--gold) 50%, var(--line))}.level-locked{opacity:.38;cursor:not-allowed}.level-cleared{border-color:color-mix(in srgb, var(--emerald) 40%, var(--line))}.level-no{letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.6rem}.level-name{font-size:.85rem;font-weight:700}.level-goal{color:var(--muted);font-size:.66rem}.level-best{color:var(--emerald);font-size:.62rem}.setting{text-align:left;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);cursor:pointer;align-items:flex-start;gap:.6rem;width:100%;padding:.55rem .65rem;display:flex}.setting input[type=checkbox]{accent-color:var(--emerald);margin-top:.15rem}.setting span{flex-direction:column;gap:.1rem;display:flex}.setting strong{font-size:.85rem;font-weight:700}.setting small{color:var(--muted);font-size:.7rem;line-height:1.35}.setting-range{align-items:center}.setting-range input[type=range]{accent-color:var(--gold);flex:1;min-width:5rem}.setting-value{font-variant-numeric:tabular-nums;color:var(--gold);min-width:1ch;font-weight:700}.overlay-full{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#07090ee0;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.sheet-tall{max-width:min(34rem,100vw - 3rem)}.review{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-2);flex-direction:column;gap:.55rem;width:100%;padding:.7rem .75rem;display:flex}.review-head{text-align:left;align-items:baseline;gap:.75rem;display:flex}.review-accuracy{flex-direction:column;line-height:1.05;display:flex}.review-accuracy span{color:var(--gold);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:800}.review-accuracy small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.58rem}.review-meta{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column;gap:.1rem;font-size:.68rem;display:flex}.eval-graph{background:color-mix(in srgb, var(--panel) 70%, transparent);border-radius:6px;width:100%;height:2.5rem;display:block}.eval-graph polyline{fill:none;stroke:var(--emerald);stroke-width:1.1px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.review-counts{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.tag{border:1px solid var(--line);background:var(--panel);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;padding:.12rem .45rem;font-size:.64rem;font-weight:700}.tag-brilliant{color:#6fe3c8;border-color:color-mix(in srgb, var(--emerald) 55%, var(--line))}.tag-best{color:var(--emerald);border-color:color-mix(in srgb, var(--emerald) 35%, var(--line))}.tag-excellent{color:var(--emerald)}.tag-good{color:var(--text)}.tag-inaccuracy{color:var(--gold)}.tag-mistake{color:#ff9a4d;border-color:color-mix(in srgb, #ff9a4d 35%, var(--line))}.tag-blunder{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.review-worst{text-align:left;margin:0;line-height:1.4}.cell-white{border-radius:4px;box-shadow:inset 0 1px #ffffffe6,inset 0 -2px #14304f1a,0 1px 3px #14304f38}.cell-black{border-radius:4px;box-shadow:inset 0 1px #ffffff38,inset 0 -2px #0000002e,0 1px 3px #0000002e}.cell-white .glyph{text-shadow:none}.cell-black .glyph{text-shadow:0 1px 1px #00000040}.cell-active{filter:none;box-shadow:0 0 0 2px var(--accent), 0 2px 8px #0071e359}.cell-ghost{background:#0071e312;border:1px dashed #0071e373}.glyph-ghost{color:#14304f6b}.glyph-queen{color:#b8860b}.ws-overlay{z-index:60;color:#1d1d1f;background:#f5f5f7;padding:clamp(.5rem,2vh,2rem);font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;animation:.26s ease-out ws-in;position:fixed;inset:0;overflow-y:auto}@keyframes ws-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.ws-shell{max-width:1180px;margin:0 auto}.ws-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:clamp(.75rem,2vh,1.75rem);display:flex}.ws-wordmark{letter-spacing:-.02em;text-transform:uppercase;color:#1d1d1f;margin:0;font-size:clamp(1.25rem,3.4vw,2rem);font-weight:800}.ws-wordmark span{font-weight:300}.ws-sub{color:#86868b}.ws-chips{flex-wrap:wrap;gap:.5rem;display:flex}.ws-chip{-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border:1px solid #e5e5ea;border-radius:.75rem;flex-direction:column;align-items:center;min-width:78px;padding:.35rem 1rem;display:flex;box-shadow:0 1px 2px #0000000a}.ws-chip-label{color:#a1a1a6;text-transform:uppercase;letter-spacing:.14em;font-size:.5rem;font-weight:700}.ws-chip-value{font-size:clamp(.95rem,2vw,1.25rem);font-weight:900;line-height:1.1}.ws-blue{color:#0071e3}.ws-mono{font-variant-numeric:tabular-nums}.ws-chip-timer{min-width:92px}.ws-main{grid-template-columns:minmax(240px,320px) 1fr;align-items:start;gap:clamp(.75rem,2vw,2rem);display:grid}.ws-panel{-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border:1px solid #fff;border-radius:2rem;padding:clamp(1rem,2vw,1.5rem);box-shadow:0 20px 40px #0000000f}.ws-panel-head{justify-content:space-between;align-items:center;display:flex}.ws-panel-head h2{color:#a1a1a6;text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:.75rem;font-weight:900}.ws-progress{color:#0071e3;font-size:.8rem;font-weight:700}.ws-lede{color:#86868b;margin:.5rem 0 1rem;font-size:.8rem;line-height:1.45}.ws-words{flex-wrap:wrap;gap:.4rem;display:flex}.ws-word{letter-spacing:.06em;background:#ffffffb3;border:1px solid #e5e5ea;border-radius:.7rem;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.78rem;font-weight:800;display:flex;box-shadow:0 1px 2px #0000000a}.ws-word-found{color:#fff;background:#34c759;border-color:#34c759;box-shadow:0 4px 10px #34c7594d}.ws-check{opacity:.85}.ws-def{background:linear-gradient(#f0f7ff,#fff);border:1px solid #d6e8fb;border-radius:1rem;margin-top:1rem;padding:.85rem 1rem}.ws-def-title{letter-spacing:.06em;color:#0071e3;font-size:.85rem;font-weight:900}.ws-def-text{color:#4b4b50;margin-top:.25rem;font-size:.78rem;line-height:1.45}.ws-btn{color:#fff;cursor:pointer;background:#0071e3;border:0;border-radius:.9rem;width:100%;margin-top:1.1rem;padding:.8rem 1rem;font-family:inherit;font-size:.9rem;font-weight:800;transition:transform .1s,background .2s}.ws-btn:hover{background:#0062c4}.ws-btn:active{transform:scale(.98)}.ws-board{justify-content:center;display:flex}.ws-grid{grid-template-columns:repeat(var(--ws-cols), 1fr);touch-action:none;border-radius:1rem;gap:0;width:100%;max-width:min(76vh,100%);display:grid;overflow:hidden;box-shadow:0 24px 60px #0000001f}.ws-cell{aspect-ratio:1;color:#1d1d1f;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(.5rem,1.5vw,1rem);font-weight:900;transition:all .1s;animation:.32s cubic-bezier(.2,1.4,.5,1) backwards ws-land;display:flex}@keyframes ws-land{0%{opacity:0;transform:translateY(-40px)scale(.4)}to{opacity:1;transform:none}}.ws-light{background:#fff}.ws-dark{background:#e2e8f0}.ws-selected{color:#fff;z-index:10;background:#0071e3;border-radius:4px;transform:scale(.92);box-shadow:0 4px 12px #0071e366}.ws-found{color:#fff;z-index:5;background:linear-gradient(135deg,#34c759,#2eb350);border-radius:4px;box-shadow:inset 0 2px 4px #ffffff4d,0 2px 8px #34c7594d}.ws-board-wrong{animation:.3s ws-shake}@keyframes ws-shake{25%{transform:translate(-6px)}75%{transform:translate(6px)}}@media (width<=860px){.ws-main{grid-template-columns:1fr}.ws-panel{order:2}.ws-board{order:1}}@media (prefers-reduced-motion:reduce){.ws-overlay,.ws-cell,.ws-board-wrong{animation:none}}.panel-letters .letter-now{text-align:center;color:var(--beam);letter-spacing:.02em;font-size:clamp(1.6rem,5vh,2.4rem);font-weight:900;line-height:1}.letter-tray{flex-wrap:wrap;justify-content:center;gap:3px;min-height:1rem;margin-top:.5rem;display:flex}.letter-bead{background:color-mix(in srgb, var(--beam) 16%, transparent);color:var(--text);border:1px solid color-mix(in srgb, var(--beam) 30%, transparent);border-radius:4px;padding:1px 4px;font-size:.62rem;font-weight:800}.quickstart{text-align:left;flex-direction:column;gap:.45rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.quickstart li{color:var(--muted);padding-left:1.1rem;font-size:.86rem;line-height:1.4;position:relative}.quickstart li:before{content:"";background:var(--beam);border-radius:50%;width:6px;height:6px;position:absolute;top:.45em;left:0}.quickstart b{color:var(--text);font-weight:700}
