:root{--bg:#e4e9ef;--surface:#f7f9fb;--ink:#1b2430;--muted:#5d6b7c;--line:#adb8c6;--locked-ink:#2b3746;--card-bg:#fbf8f0;--ghost-bg:#fff;--drop-ok-bg:#fff;--card-edge:#6f6553;--card-edge-width:4px;--marker-edge:#8794a6;--guide:#b4ab9b;--zone-radius:14px;--spot-radius:10px;--card-shadow:0 1px 0 #1b243014, 0 3px 8px #1b24301f;--accent:#2f5bd3;--accent-soft:#2f5bd324;--on-accent:#fff;--danger:#c4302b;--ok:#2a8a55;--overlay:#141a2273;--level-easy:#2a78d6;--level-medium:#43b05c;--level-tricky:#e98300;--level-hard:#a8231c;--on-level:#fff;--font-display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--font-body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--board:min(calc(100vw - 32px), 480px);--gap:clamp(4px, calc(var(--board) * .014), 7px);--slot:calc((var(--board) - var(--gap) * 2) / 3);--tc:clamp(64px, calc(var(--board) * .235), 110px);--hand-gap:10px;--frame:6px;--board-radius:4px;--deal-start:.6s;--theme-fade:.3s ease;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12161c;--surface:#1a2029;--ink:#e5eaf1;--muted:#93a0b2;--line:#2b313b;--locked-ink:#c9d2de;--card-bg:#333d4b;--ghost-bg:#3a4351;--drop-ok-bg:#455061;--card-edge:#6b7688;--marker-edge:#444d5b;--guide:#6e7b8e;--card-shadow:0 1px 0 #0000004d, 0 4px 10px #00000059;--accent:#7d9cff;--accent-soft:#7d9cff2e;--on-accent:#0d1530;--danger:#ff6f69;--ok:#5fcf8f;--overlay:#0009;--level-easy:#3987e5;--level-medium:#45ad5f;--level-tricky:#d17800;--level-hard:#bd3a33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#12161c;--surface:#1a2029;--ink:#e5eaf1;--muted:#93a0b2;--line:#2b313b;--locked-ink:#c9d2de;--card-bg:#333d4b;--ghost-bg:#3a4351;--drop-ok-bg:#455061;--card-edge:#6b7688;--marker-edge:#444d5b;--guide:#6e7b8e;--card-shadow:0 1px 0 #0000004d, 0 4px 10px #00000059;--accent:#7d9cff;--accent-soft:#7d9cff2e;--on-accent:#0d1530;--danger:#ff6f69;--ok:#5fcf8f;--overlay:#0009;--level-easy:#3987e5;--level-medium:#45ad5f;--level-tricky:#d17800;--level-hard:#bd3a33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-level="3"]{--level:var(--level-easy)}[data-level="4"]{--level:var(--level-medium)}[data-level="5"]{--level:var(--level-tricky)}[data-level="6"]{--level:var(--level-hard)}@media (width<=520px){:root{--board:calc(100vw - 20px - var(--frame) * 2);--hand-gap:8px;--tc:calc((100vw - 32px - 24px) / 4 * .94)}}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);transition:background-color var(--theme-fade), color var(--theme-fade);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;margin:0;padding-block:10px;padding-inline:10px;font-size:15px}.app{max-width:calc(480px + var(--frame) * 2);flex-direction:column;gap:20px;margin:0 auto;display:flex}button{font:inherit;color:inherit}button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:26px;font-weight:700}h1 span,.game-title span{color:var(--accent)}.table{border:var(--frame) solid var(--level,transparent);border-radius:calc(var(--board-radius) + var(--frame));background:var(--level,transparent);--level-line:color-mix(in srgb, var(--level,var(--line)) 14%, var(--line));transition:background-color var(--theme-fade), border-color var(--theme-fade);border-top:0;align-self:center}.table .board{--line:var(--level-line);background:var(--bg);border-radius:var(--board-radius);transition:background-color var(--theme-fade)}.game-bar{width:var(--board);min-height:48px;color:var(--on-level);justify-content:space-between;align-items:center;gap:12px;padding:6px 0;display:flex}.level-name{font-family:var(--font-display);font-size:18px;font-weight:700}.share-btn{align-items:center;gap:8px;display:inline-flex}.btn.bar-btn{width:40px;height:40px;color:var(--on-level);background:0 0;border-color:#0000;place-items:center;padding:0;display:inline-grid}.btn.bar-btn:hover{background:#ffffff2e;border-color:#0000}.btn.bar-btn:disabled{cursor:default;opacity:.5;background:0 0}.bar-btn:focus-visible{outline-color:var(--on-level)}.bar-btn svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:22px;height:22px}.share-btn svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:16px;height:16px}.menu-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 -8px;font-size:13px;font-weight:600}.toggle{cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;font-weight:600;display:grid}.toggle input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;margin:0}.toggle input:disabled{cursor:default}.toggle:has(input:disabled){cursor:default}.toggle input.bounce{transform-origin:50% 100%;animation:.1s ease-out bounce}@keyframes bounce{0%{transform:scale(1.2,.75)}50%{transform:scale(.9,1.15)}to{transform:none}}.toggle-title{justify-self:start;transition:opacity .12s ease-out 40ms;display:inline-block}.toggle:not(:has(input:checked)) .toggle-title{opacity:.72}.toggle:has(input:checked) .toggle-title{transition-delay:.14s}.toggle-title.bump{animation:.12s ease-out 40ms bump-up}.toggle:has(input:checked) .toggle-title.bump{animation-delay:.14s}.toggle small{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.choice{gap:8px;display:grid}.choice-label{font-weight:600}.segmented{border:1px solid var(--line);background:var(--bg);transition:background-color var(--theme-fade);border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;padding:3px;display:grid;position:relative}.segmented label{cursor:pointer;position:relative}.segmented .knob{width:calc((100% - 6px - 3px * (var(--count) - 1)) / var(--count));background:var(--ghost-bg);box-shadow:var(--card-shadow);translate:calc(var(--index) * (100% + 3px)) 0;transition:translate .12s ease-out, background-color var(--theme-fade);border-radius:7px;position:absolute;top:3px;bottom:3px;left:3px}.segmented .knob.squash{animation:.12s ease-out squash}@keyframes squash{40%{scale:1.22 .75}to{scale:1}}.segmented input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.segmented span{text-align:center;color:var(--muted);border-radius:7px;padding:7px 8px;font-weight:600;display:block}.segmented label:hover span,.segmented input:checked+span{color:var(--ink)}.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.choice:has(.segmented.icons){grid-template-columns:1fr auto auto;align-items:center;gap:10px}.choice-value{color:var(--muted);font-size:14px}.choice-value.bump{animation:.14s ease-out 40ms bump-up}@keyframes bump-up{50%{transform:translateY(-4px)}}.segmented.icons span{place-items:center;padding:6px 9px;display:grid}.segmented.icons svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:18px;height:18px}.segmented.icons svg .filled{fill:currentColor;stroke:none}.menu-list{flex-direction:column;gap:8px;display:flex}.menu-list .btn{text-align:center;justify-content:center;width:100%;min-height:46px;font-weight:600}.levels{grid-template-columns:repeat(4,1fr);gap:8px 16px;margin:8px 0;display:grid}.next-daily{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;margin:-12px 0 0;font-size:13px}.level{cursor:pointer;color:var(--ink);text-align:center;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:center;gap:10px;padding:0;font-size:13px;font-weight:600;line-height:1.1;display:flex}.level-tile{aspect-ratio:1;background:var(--level);width:100%;color:var(--on-level);border-radius:8px;place-items:center;transition:transform .15s ease-out,filter .15s;display:grid}.level svg{fill:currentColor;width:62%;overflow:visible}.level:focus-visible{outline:0}.level:focus-visible .level-tile{outline:2px solid var(--accent);outline-offset:2px}.level:hover .level-tile{filter:brightness(1.08);transform:translateY(-2px)}.level:active .level-tile{transform:scale(.96)}.level-rank{font-size:30px;line-height:1}.menu-date{text-transform:none;letter-spacing:normal;margin-top:2px;font-weight:500;display:block}.rules{flex-direction:column;gap:8px;margin:0;padding-left:20px;line-height:1.4;display:flex}select,.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:40px;font:inherit;color:var(--ink);border-radius:8px;padding:8px 12px}.btn:hover{border-color:var(--muted)}.btn{white-space:nowrap}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:600}.loading{text-align:center;color:var(--muted);padding:40px 0}@media (width<=420px){h1{white-space:nowrap;font-size:22px}.game-bar{gap:8px}}.board{width:var(--board);height:var(--board);gap:var(--gap);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid}.slot{cursor:default;outline-offset:-2px;background:0 0;border:0;border-radius:6px;padding:0;transition:outline-color .15s,outline-offset .1s ease-out,background-color .15s;position:relative}.slot.empty{background:var(--line)}.slot.filled{cursor:grab}.grid3{border-radius:var(--zone-radius);grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:100%;height:100%;display:grid;overflow:hidden}.grid3 .cell{font-variant-numeric:tabular-nums;place-items:center;font-weight:600;transition:font-size .22s ease-out;display:grid}.slot .grid3 .cell{font-size:calc(var(--slot) / 3 * .5)}.locked .grid3{color:var(--locked-ink);outline:1px solid var(--line);outline-offset:-1px;background:0 0}.card-face{background:var(--card-bg);box-shadow:var(--card-shadow);outline:var(--card-edge-width) solid var(--card-edge);outline-offset:calc(var(--card-edge-width) * -1);position:relative}.guides{pointer-events:none;width:100%;height:100%;fill:var(--guide);position:absolute;inset:0}.grid3 .cell.conflict{color:var(--danger)}.board.done .card-face{outline-color:var(--ok)}.board.offset{--cell:calc(var(--board) / 9);display:block;position:relative}.board.offset .cells{border-radius:var(--board-radius);grid-template-rows:repeat(9,1fr);grid-template-columns:repeat(9,1fr);display:grid;position:absolute;inset:0;overflow:hidden}.gcell{color:var(--locked-ink);font-weight:500;font-size:calc(var(--cell) * .5);font-variant-numeric:tabular-nums;border-right:1px solid var(--line);border-bottom:1px solid var(--line);place-items:center;display:grid}.gcell:nth-child(9n){border-right:0}.gcell:nth-child(n+73){border-bottom:0}.gcell.box-r{border-right:0}.gcell.box-b{border-bottom:0}.gcell.conflict{color:var(--danger)}.gcell.forced{color:var(--accent)}.board.hidden-slots .gcell.forced{color:color-mix(in srgb, var(--locked-ink) 34%, transparent)}.gcell.impossible{color:var(--danger);font-weight:700}.gcell.forced .digit,.gcell.impossible .digit{animation:.28s ease-out both pop;animation-delay:calc(.2s + var(--ripple,0s))}@keyframes pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.3)}to{transform:none}}.gcell.revealed{color:var(--ok)}.gcell.revealed .digit{animation:.35s ease-out both reveal}.board.restored .gcell.revealed .digit{animation:none}@keyframes reveal{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}.board.offset .slot{left:calc(var(--zc) * var(--cell));top:calc(var(--zr) * var(--cell));width:calc(var(--cell) * 3);height:calc(var(--cell) * 3);--edge-t:calc(1 - min(1, var(--zr)));--edge-l:calc(1 - min(1, var(--zc)));--edge-b:calc(1 - min(1, 6 - var(--zr)));--edge-r:calc(1 - min(1, 6 - var(--zc)));border-radius:6px;border-radius:calc(var(--board-radius) * var(--edge-t) * var(--edge-l)) calc(var(--board-radius) * var(--edge-t) * var(--edge-r)) calc(var(--board-radius) * var(--edge-b) * var(--edge-r)) calc(var(--board-radius) * var(--edge-b) * var(--edge-l));box-shadow:inset calc(var(--edge-r) * 1px - 1px) calc(var(--edge-b) * 1px - 1px) 0 0 var(--line);padding:2px;position:absolute;outline:none!important}.board.offset .slot.empty{background:var(--bg)}.board.offset .slot.empty:after{content:"";inset:calc(var(--cell) * .16);border-radius:var(--zone-radius);background:var(--line);border:2px solid #0000;transition:border-color .15s,background-color .15s,inset .1s ease-out;position:absolute}.board.offset .slot.empty.drop-hover{background:var(--bg)}.board.offset .slot.empty.drop-hover:after{inset:calc(var(--cell) * .16 - var(--drop-grow));border:3px dashed var(--accent)}.board.offset .slot.area.drop-hover{pointer-events:none;box-shadow:none;background:0 0}.board.offset .slot.area:after{background:color-mix(in srgb, var(--accent) 12%, transparent)}.board.offset .slot .grid3 .cell{font-size:calc(var(--cell) * .5)}.board.offset .slot .hint-face{z-index:1;background:0 0;position:relative}.board.offset .slot .hint-face .cell{color:var(--accent)}.board.offset .slot.shown{pointer-events:none}.board:not(.dealing) .slot.shown:after{animation:.2s cubic-bezier(.2,.7,.3,1.3) both zone-in}.hint-face .cell.new{animation:.28s ease-out both pop}.card-face.landed{animation:.3s ease-out land}@keyframes land{0%{transform:scale(1.04)}35%{transform:scale(.9)}70%{transform:scale(1.05)}to{transform:none}}.slot.wrong .card-face{outline:3px solid var(--danger);outline-offset:-3px;animation:.24s ease-in-out 2 nudge}@keyframes nudge{0%,to{transform:none}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.gcell.conflict:not(.forced,.impossible) .digit{animation:.26s ease-out .12s throb}@keyframes throb{40%{transform:scale(1.45)}to{transform:none}}.board.offset .slot.filled{z-index:3}.board.offset .box-lines{--box-line:color-mix(in srgb, var(--level,var(--locked-ink)) 60%, var(--locked-ink));pointer-events:none;z-index:2;background:linear-gradient(to right, transparent calc(100% / 3 - 1px), var(--box-line) 0 calc(100% / 3 + 1px), transparent 0 calc(200% / 3 - 1px), var(--box-line) 0 calc(200% / 3 + 1px), transparent 0), linear-gradient(to bottom, transparent calc(100% / 3 - 1px), var(--box-line) 0 calc(100% / 3 + 1px), transparent 0 calc(200% / 3 - 1px), var(--box-line) 0 calc(200% / 3 + 1px), transparent 0);position:absolute;inset:0}.board.dealing .cells,.board.dealing .box-lines,.board.dealing .slot.filled{animation:.25s ease-out .1s both fade-in}.board.dealing .slot.empty{animation:.18s ease-out both fade-in;animation-delay:calc(.28s + var(--deal) * 30ms)}.board.dealing .slot.empty:after{animation:.2s cubic-bezier(.2,.7,.3,1.3) both zone-in;animation-delay:calc(.28s + var(--deal) * 30ms)}@keyframes zone-in{0%{transform:scale(.6)}}.board.dealing .gcell .digit{animation:deal-pop .24s ease-out var(--deal-start) both}.board.dealing:not(.done) .slot.filled .card-face:not(.landed){animation:.24s ease-out both deal-pop;animation-delay:calc(var(--deal-start) + 80ms + var(--deal) * 45ms)}.board.dealing .slot.empty .hint-face{animation:deal-pop .24s ease-out var(--deal-start) both}@keyframes deal-pop{0%{opacity:0;transform:scale(.5)}65%{opacity:1;transform:scale(1.18)}to{transform:none}}.hand{grid-template-columns:repeat(4, var(--tc));gap:var(--hand-gap);justify-content:center;display:grid}.hand-card{width:var(--tc);height:var(--tc);cursor:grab;border-radius:var(--spot-radius);background:0 0;border:0;padding:0}.hand-card.empty-spot{background:var(--line);cursor:default}.hand:not(.spare-open) .hand-card.empty-spot.spare{background:0 0}.hand:not(.spare-open) .hand-card.empty-spot.spare:not(.drop-hover){outline:1px dashed var(--line);outline-offset:-1px}.hand-card.spare{transition:height .2s ease-out}.hand:not(.spare-open) .hand-card.spare{height:calc(var(--tc) / 3)}.hand-card>.grid3{height:var(--tc);border-radius:var(--spot-radius)}.hand-card .grid3 .cell{font-size:calc(var(--tc) / 3 * .44)}.hand.dealing .hand-card{animation:.18s ease-out .28s both fade-in}.hand.dealing .card-face:not(.landed){animation:.22s cubic-bezier(.2,.7,.3,1) both deal-in;animation-delay:calc(var(--deal-start) + 80ms + var(--deal) * 45ms)}.hand.dealing .hand-card:not(.empty-spot){animation:fade-in .18s ease-out .28s both, spot-awaiting 0s calc(var(--deal-start) + 80ms + var(--deal) * 45ms + .22s) both}@keyframes spot-awaiting{0%{background:var(--line)}}@keyframes deal-in{0%{opacity:0;transform:translateY(-18px)scale(1.15)}}.slot.filled,.hand-card{touch-action:none}.board,.hand,.drag-ghost{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dragging{opacity:.3}.drag-ghost{z-index:20;pointer-events:none;transition:width .22s ease-out,height .22s ease-out,font-size .22s ease-out,background-color .12s ease-out;position:fixed;top:0;left:0;box-shadow:0 14px 30px #00000047}.drag-ghost.card-face.drop-ok{background:var(--drop-ok-bg)}.drag-ghost .cell{font-size:inherit}body.is-dragging,body.is-dragging *{cursor:grabbing!important}:root{--drop-grow:3px}.slot.drop-hover{z-index:1;outline-offset:calc(var(--drop-grow) - 3px);outline:3px dashed var(--accent)!important}.slot.filled.drop-hover .card-face,.hand-card.drop-hover .card-face{outline:3px dashed var(--accent);outline-offset:calc(var(--drop-grow) - 3px)}.hand-card.drop-hover{z-index:1;position:relative}.hand-card.empty-spot.drop-hover{outline:3px dashed var(--accent);outline-offset:calc(var(--drop-grow) - 3px)}.slot.marker{touch-action:none;cursor:grab}.board.offset .slot.marker:after{border:var(--card-edge-width) solid var(--marker-edge)}.drag-ghost.marker-face{background:var(--line);outline:var(--card-edge-width) solid var(--marker-edge);outline-offset:calc(var(--card-edge-width) * -1);transition:width .22s ease-out,height .22s ease-out,opacity .12s ease-out}.drag-ghost.marker-face.drop-off{opacity:.4}.board.celebrate .slot.filled .card-face{animation:cheer .3s cubic-bezier(.3, .7, .4, 1) calc((var(--zr) + var(--zc)) * 25ms) backwards}@keyframes cheer{0%{transform:none}40%{transform:translateY(-9%)scale(1.07)rotate(-2deg)}70%{transform:translateY(1%)scale(.98)}to{transform:none}}.confetti{z-index:11;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-origin{position:absolute;top:40%;left:50%}.confetti span{left:calc(var(--w) / -2);top:calc(var(--h) / -2);width:var(--w);height:var(--h);opacity:0;animation:confetti-fly .9s cubic-bezier(.15, .6, .35, 1) var(--delay) both, confetti-fall .9s cubic-bezier(.5, 0, .9, .6) var(--delay) both;border-radius:2px;position:absolute}.confetti span.round{border-radius:50%}@keyframes confetti-fly{0%{opacity:1;transform:scale(.4)rotate(0)}12%{opacity:1}75%{opacity:1}to{opacity:0;translate:var(--dx) var(--dy);transform:scale(1) rotate(var(--spin))}}@keyframes confetti-fall{0%{margin-top:0}to{margin-top:var(--fall)}}.overlay{background:var(--overlay);z-index:10;overscroll-behavior:contain;justify-items:center;padding:16px;animation:.18s ease-out fade-in;display:grid;position:fixed;inset:0;overflow-y:auto}.overlay.swap{animation:none}.dialog{background:var(--surface);color:var(--ink);width:min(100%,360px);transition:background-color var(--theme-fade), color var(--theme-fade);border-radius:14px;flex-direction:column;gap:16px;margin-block:auto;padding:24px;animation:.22s ease-out rise-in;display:flex;box-shadow:0 20px 50px #0000004d}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}}.dialog h2{font-family:var(--font-display);text-wrap:balance;margin:0;font-size:28px}.win-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;display:flex}.win-title .streak{color:var(--muted);font-weight:600;animation:.3s ease-out .1s both slide-in-right}.dialog .note{color:var(--muted);margin:0;font-size:13px}.dialog .options-section{flex-direction:column;gap:16px;display:flex}.dialog .options-section+.options-section{border-top:1px solid var(--line);padding-top:14px}.dialog .options-section h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.dialog .actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.dialog .results{border:1px solid var(--line);border-radius:10px;gap:8px;padding:12px 14px;display:grid}.dialog .results-text{white-space:pre-line;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;margin:0;line-height:1.5}.dialog .results-line{display:block}.dialog .results-text.slide-in{overflow-x:clip}.dialog .results-text.slide-in .results-line{animation:.35s cubic-bezier(.2,.8,.3,1) both slide-in-right;animation-delay:calc(.2s + var(--i) * 90ms)}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}}.dialog .results-row{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dialog .results-toggle{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;margin-right:auto;font-size:14px;display:inline-flex}.dialog .results-image{border-radius:8px;width:100%;height:auto;display:block}.dialog .results-copy{min-height:32px;padding:4px 10px;font-size:14px}.big-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.big-stats div{border:1px solid var(--line);text-align:center;border-radius:10px;align-content:start;justify-items:center;gap:2px;padding:10px 4px;display:grid}.big-stats strong{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1}.big-stats span{color:var(--muted);font-size:12px;line-height:1.2}.stats-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}.stats-table caption{text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:13px;font-weight:600}.stats-table th,.stats-table td{text-align:right;white-space:nowrap;padding:6px 4px}.stats-table :is(th,td):last-child{text-align:center}.stats-table thead th{color:var(--muted);font-size:12px;font-weight:600}.stats-table tbody tr{border-top:1px solid var(--line)}.stats-table th[scope=row]{text-align:left;font-weight:600}.stats-table .stats-level,.stats-table .icon-spacer{vertical-align:-5px;border-radius:5px;place-items:center;width:20px;height:20px;margin:-4px 6px -4px 0;display:inline-grid}.stats-table .stats-level{background:var(--level);color:var(--on-level)}.stats-table .stats-level svg{fill:currentColor;width:14px;height:14px;display:block;overflow:visible}.stats-table tfoot tr{border-top:2px solid var(--line);font-weight:700}.dialog .resume-date{margin:-8px 0 -6px;font-weight:600}.dialog .resume-info{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;margin:0;display:flex}.dialog .resume-info svg{fill:currentColor;width:18px;height:18px}.dialog .paused-banner{background:var(--accent-soft);color:var(--accent);text-align:center;border-radius:8px;margin:-4px 0 0;padding:6px 12px;font-size:14px;font-weight:600}.dialog .about{margin:0}.dialog .about a{color:var(--accent)}.dialog .end-links{flex-direction:column;align-items:flex-start;gap:2px;margin-top:-4px;display:flex}.link-btn{min-height:36px;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;font-weight:600;display:inline-flex}.link-btn:hover{text-underline-offset:3px;text-decoration:underline}.link-btn svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:16px;height:16px}[data-symbols=animals] .gcell,[data-symbols=animals] .grid3 .cell{line-height:1}[data-symbols=animals] .gcell,[data-symbols=animals] .board.offset .slot .grid3 .cell{font-size:calc(var(--cell) * .46)}[data-symbols=animals] .hand-card .grid3 .cell{font-size:calc(var(--tc) / 3 * .5)}[data-symbols=animals] .gcell.forced,[data-symbols=animals] .board.offset .slot .hint-face .cell{background:var(--accent-soft)}[data-symbols=animals] .gcell.conflict,[data-symbols=animals] .grid3 .cell.conflict{background:color-mix(in srgb, var(--danger) 30%, transparent)}.tutorial-prompt{width:calc(var(--tc) * 4 + var(--hand-gap) * 3);box-sizing:border-box;border-radius:var(--spot-radius);background:var(--accent-soft);flex-direction:column;justify-content:center;gap:6px;margin:0 auto;padding:12px 14px;display:flex}.tutorial-prompt .actions{justify-content:flex-end;display:flex}.tutorial-prompt .btn{min-height:0;padding:3px 14px;font-size:14px}.tutorial-prompt p{margin:0;line-height:1.4;animation:.3s ease-out fade-in}.tutorial-text{line-height:1.6}.tutorial-text p{margin:0}.tutorial-text p+p{margin-top:12px}.hint-word{white-space:nowrap}.hint-word svg{vertical-align:-.2em;stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:1.1em;height:1.1em;margin-right:2px}.guide-pick .card-face{animation:1.4s ease-in-out infinite guide-glow}@keyframes guide-glow{50%{box-shadow:var(--card-shadow), 0 0 0 4px var(--accent)}}.hand-card.guide-shown{cursor:default}.grid3 .cell.marked{color:var(--accent);font-weight:700}.gcell.strong .digit,.grid3 .cell.strong{color:var(--danger);font-weight:700}.board.offset .slot.guide-slot{transition:left .4s ease-in-out,top .4s ease-in-out}.hand .hand-card.guide-crossed{opacity:1;position:relative}.hand-card.guide-crossed .card-face{opacity:.4}.hand-card.guide-crossed:after{content:"";pointer-events:none;background:linear-gradient(45deg, transparent calc(50% - 3px), var(--danger) 0 calc(50% + 3px), transparent 0), linear-gradient(-45deg, transparent calc(50% - 3px), var(--danger) 0 calc(50% + 3px), transparent 0);position:absolute;inset:8%}.hand .hand-card.guide-split{position:relative}.hand-card.guide-split:before{content:"";background:var(--accent);pointer-events:none;border-radius:2px;width:3px;position:absolute;top:4%;bottom:4%;left:calc(33.3333% - 1.5px)}.hand-card.guide-locked{cursor:default;opacity:.4}.board.offset .guide-area{left:calc(var(--zc) * var(--cell));top:calc(var(--zr) * var(--cell));width:calc(var(--zw) * var(--cell));height:calc(var(--zh) * var(--cell));box-sizing:border-box;border:3px dashed var(--accent);border-radius:var(--zone-radius);background:color-mix(in srgb, var(--accent) 10%, transparent);pointer-events:none;z-index:2;animation:1.4s ease-in-out infinite guide-pulse;position:absolute}.board.offset .guide-area.over{z-index:4}@keyframes guide-pulse{50%{background:color-mix(in srgb, var(--accent) 22%, transparent)}}@media (prefers-reduced-motion:reduce){.tutorial-prompt p,.guide-pick .card-face,.board.offset .guide-area{animation:none}.guide-pick .card-face{box-shadow:var(--card-shadow), 0 0 0 4px var(--accent)}}.tutorial-title small{font-family:var(--font-body);color:var(--muted);margin-top:2px;font-size:16px;font-weight:600;display:block}@media (prefers-reduced-motion:reduce){.slot,.drag-ghost,.grid3 .cell,.segmented .knob,.toggle-title{transition:none!important}.gcell .digit,.hint-face .cell,.card-face.landed,.hand.dealing .card-face,.hand.dealing .hand-card,.board.dealing .card-face,.board.dealing .hint-face,.board.dealing .cells,.board.dealing .box-lines,.board.dealing .slot,.board.dealing .slot:after,.slot.shown:after,.overlay,.dialog,.results-line,.slot.wrong .card-face,.gcell.conflict .digit,.board.done .card-face,.confetti span,.win-title .streak,.toggle input.bounce,.segmented .knob.squash,.toggle-title.bump,.choice-value.bump{animation:none!important}}
