:root{--bg: #faf8f3;--fg: #1c1b19;--muted: #706c64;--card: #ffffff;--line: #e9e4da;--line-strong: #1c1b19;--ok: #17a673;--bad: #e5484d;--warn: #f59e0b;--cell: #ffffff;--cell-alt: #f4f1ea;--sel: #fff3c4;--brand: #3b5bdb;--brand-soft: #e6ebff;--brand-ink: #ffffff;--radius: 16px;--shadow: 0 1px 2px rgba(28,27,25,.05), 0 8px 24px rgba(28,27,25,.06);--shadow-lg: 0 12px 40px rgba(28,27,25,.14);--font: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}[data-game=mini-sudoku]{--brand: #6d5dfc;--brand-soft: #ebe8ff;--brand-deep: #4b3fd6}[data-game=patches]{--brand: #f26b1d;--brand-soft: #ffe9da;--brand-deep: #c9520f}[data-game=wend]{--brand: #12a77f;--brand-soft: #d9f5eb;--brand-deep: #0d8262}[data-game=pips]{--brand: #e0475b;--brand-soft: #fde3e7;--brand-deep: #b93244}:root[data-theme=dark]{--bg: #14131a;--fg: #ecebe6;--muted: #9b978f;--card: #1e1d26;--line: #2d2c37;--line-strong: #ecebe6;--cell: #23222c;--cell-alt: #2a2934;--sel: #3a3620;--shadow: none;--shadow-lg: 0 12px 40px rgba(0,0,0,.5)}@media (prefers-color-scheme: dark){:root[data-theme=auto]{--bg: #14131a;--fg: #ecebe6;--muted: #9b978f;--card: #1e1d26;--line: #2d2c37;--line-strong: #ecebe6;--cell: #23222c;--cell-alt: #2a2934;--sel: #3a3620;--shadow: none;--shadow-lg: 0 12px 40px rgba(0,0,0,.5)}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 var(--font);font-weight:400;min-height:100dvh;display:flex;flex-direction:column}a{color:var(--brand);text-decoration:none;-webkit-tap-highlight-color:transparent}.prose a:hover,p a:hover,li a:hover,.crumbs a:hover,.foot-links a:hover{text-decoration:underline}a.btn,.cta,.seg a,.mode-tabs a,.sublinks a,.game-card,.foot-games a,.date-grid a,.archive-row,.hero-links a,.archive-nav a,.jump a,.nav a{-webkit-touch-callout:none;user-select:none;-webkit-user-select:none;text-decoration:none!important}button,.btn{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}.linkish{background:none;border:0;padding:0;font:inherit;color:var(--fg);font-weight:600;cursor:pointer}a:focus:not(:focus-visible),button:focus:not(:focus-visible){outline:none}a:focus-visible,button:focus-visible{outline:3px solid var(--brand);outline-offset:3px}h1{font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin:.2em 0 .3em}h2{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;margin:1.3em 0 .4em}h3{font-size:1.05rem;font-weight:700;margin:1em 0 .3em}p{margin:.5em 0}main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:12px 16px 40px}.muted{color:var(--muted)}.small{font-size:.875rem}.kbd{font-family:ui-monospace,monospace;background:var(--cell-alt);padding:1px 6px;border-radius:4px;border:1px solid var(--line)}#site-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px)}.brand{font-weight:800;font-size:1.2rem;color:var(--fg);letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px}.brand svg{width:26px;height:26px}.brand span{color:var(--brand)}.nav{display:none}@media (min-width: 720px){.nav{display:flex;gap:2px}.nav a{padding:6px 12px;border-radius:999px;color:var(--fg);font-weight:600;font-size:.92rem}.nav a.active,.nav a:hover{background:var(--brand-soft);color:var(--brand);text-decoration:none}}.icon-btn{background:var(--card);border:1px solid var(--line);border-radius:999px;color:var(--fg);width:38px;height:38px;cursor:pointer;font-size:1rem;box-shadow:var(--shadow)}#site-footer{border-top:1px solid var(--line);padding:28px 16px 36px;color:var(--muted);font-size:.85rem}.foot-games{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;max-width:720px;margin:0 auto 16px}@media (min-width: 560px){.foot-games{grid-template-columns:repeat(4,1fr)}}.foot-games a{display:flex;flex-direction:column;padding:12px 14px;border-radius:12px;color:var(--fg);background:var(--card);border:1px solid var(--line)}.foot-games a b{font-weight:700}.foot-games a:hover{text-decoration:none;border-color:var(--brand)}.foot-links,.disclaimer{max-width:720px;margin:8px auto;text-align:center}.foot-links a{color:var(--fg);font-weight:600}.disclaimer{font-size:.78rem;line-height:1.45}.btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--line);background:var(--card);color:var(--fg);padding:0 20px;height:48px;border-radius:999px;font:inherit;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .08s,box-shadow .15s,background .15s;box-shadow:var(--shadow);white-space:nowrap}.btn:hover{border-color:var(--brand)}.btn:active{transform:translateY(1px);box-shadow:none}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand);box-shadow:0 6px 18px color-mix(in srgb,var(--brand) 35%,transparent)}.btn.primary:hover{background:var(--brand-deep, var(--brand));border-color:var(--brand-deep, var(--brand))}.btn.ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--muted)}.btn.ghost:hover{color:var(--fg);border-color:transparent}.btn.big{height:60px;font-size:1.15rem;padding:0 32px;width:100%;max-width:420px}.btn:disabled{opacity:.45;cursor:default;transform:none}.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:14px 0}.btn-row .spacer{flex:1}.seg{display:inline-flex;background:var(--cell-alt);padding:4px;border-radius:999px;margin:6px 0 12px}.seg a{padding:8px 18px;border-radius:999px;color:var(--muted);font-weight:700;font-size:.95rem}.seg a.active{background:var(--card);color:var(--brand);box-shadow:var(--shadow)}.seg a:hover{text-decoration:none}.sublinks{display:flex;gap:14px;flex-wrap:wrap;font-size:.9rem;margin:8px 0 4px}.sublinks a{color:var(--muted);font-weight:600}.sublinks a:hover{color:var(--brand);text-decoration:none}.mode-tabs{display:inline-flex;gap:6px;margin:0 0 12px;flex-wrap:wrap}.mode-tabs a{padding:7px 14px;border:2px solid var(--line);border-radius:999px;color:var(--muted);font-size:.9rem;font-weight:700;background:var(--card)}.mode-tabs a.active{background:var(--brand-soft);color:var(--brand);border-color:var(--brand-soft)}.mode-tabs a:hover{text-decoration:none;border-color:var(--brand)}.gamehead{display:flex;align-items:center;gap:12px;margin:4px 0 8px}.gamehead .gicon{width:44px;height:44px;border-radius:12px;background:var(--brand);display:grid;place-items:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 35%,transparent)}.gamehead .gicon svg{width:30px;height:30px}.gamebar{display:grid;grid-template-columns:1fr auto;grid-template-areas:"title timer" "meta meta";align-items:center;column-gap:10px;flex:1;min-width:0}.gamebar .title{grid-area:title;font-weight:800;font-size:1.3rem;letter-spacing:-.02em;color:var(--brand);line-height:1.15}.gamebar .meta{grid-area:meta;color:var(--muted);font-size:.85rem;font-weight:500}.gamebar .timer{grid-area:timer;font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;background:var(--cell-alt);padding:4px 12px;border-radius:999px}.gamebar .timer:empty{display:none}.board-wrap{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;margin:10px auto}.grid{display:grid;gap:0;margin:0 auto;border:3px solid var(--line-strong);border-radius:14px;overflow:hidden;background:var(--line-strong);box-shadow:var(--shadow-lg)}.cell{position:relative;display:flex;align-items:center;justify-content:center;background:var(--cell);font-weight:700;font-size:clamp(16px,5.5vw,30px);cursor:pointer;aspect-ratio:1}.legend{font-size:.85rem;color:var(--muted);text-align:center;margin:10px auto;max-width:440px}.sudoku .grid{grid-template-columns:repeat(6,1fr);width:min(92vw,420px);gap:1px}.sudoku .cell{border:0}.sudoku .cell.given{background:var(--cell-alt)}.sudoku .cell.bR{box-shadow:inset -3px 0 0 var(--line-strong)}.sudoku .cell.bB{box-shadow:inset 0 -3px 0 var(--line-strong)}.sudoku .cell.bR.bB{box-shadow:inset -3px 0 0 var(--line-strong),inset 0 -3px 0 var(--line-strong)}.sudoku .cell:not(.given){color:var(--brand)}.sudoku .cell.peer{background:color-mix(in srgb,var(--brand-soft) 55%,var(--cell))}.sudoku .cell.sel{background:var(--brand-soft);box-shadow:inset 0 0 0 3px var(--brand)}.sudoku .cell.same{background:color-mix(in srgb,var(--brand) 22%,var(--cell))}.sudoku .cell.err{color:var(--bad);background:color-mix(in srgb,var(--bad) 14%,var(--cell))}.sudoku .cell .notes{position:absolute;inset:3px;display:grid;grid-template-columns:repeat(3,1fr);font-size:.5em;color:var(--muted);font-weight:600;line-height:1}.sudoku .cell .notes span{display:flex;align-items:center;justify-content:center}.numpad{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;width:min(92vw,420px);margin:14px auto 4px}.numpad .btn{height:52px;font-size:1.35rem;font-weight:800;padding:0;border-radius:14px}.numpad .btn.wide{grid-column:span 2;font-size:.95rem}.numpad .btn.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.patches .grid{width:min(92vw,440px);background:var(--line);gap:3px;padding:3px;border:3px solid var(--line-strong)}.patches .cell{background:var(--cell);border-radius:8px;font-size:clamp(14px,4.2vw,22px);transition:background .12s}.patches .cell.covered{background:var(--pc, #bfdbfe)}.patches .cell .clue{display:flex;flex-direction:column;align-items:center;line-height:1;gap:3px}.patches .cell .clue .n{font-size:1.05em;font-weight:800}.patches .cell .clue .b{font-size:.55em;font-weight:700;padding:2px 6px;border-radius:999px;background:color-mix(in srgb,var(--fg) 10%,transparent);letter-spacing:.04em}.patches .cell.covered .clue .b{background:#0000002e}.patches .cell.wrong{animation:shake .3s;box-shadow:inset 0 0 0 3px var(--bad)}.patches .cell.sel-preview{background:color-mix(in srgb,var(--brand) 40%,var(--cell))!important;box-shadow:inset 0 0 0 2px var(--brand)}.patches .cell.hint{animation:pulse 1s infinite}@keyframes pulse{50%{box-shadow:inset 0 0 0 4px var(--warn)}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.wend .grid{background:transparent;gap:6px;padding:0;border:none;box-shadow:none;width:min(92vw,440px);border-radius:0;overflow:visible}.wend .cell{background:var(--card);border-radius:12px;font-size:clamp(17px,5vw,27px);font-weight:800;text-transform:uppercase;box-shadow:0 2px 0 var(--line),var(--shadow);transition:transform .08s,background .12s}.wend .cell.wall{background:var(--cell-alt);box-shadow:none;opacity:.7;cursor:default}.wend .cell.trace{background:var(--brand-soft);color:var(--brand);transform:scale(1.06);box-shadow:0 0 0 3px var(--brand);z-index:1}.wend .cell.used{color:#fff;box-shadow:none}.wend .cell.flash{animation:flash .35s}@keyframes flash{0%,to{background:var(--card)}50%{background:var(--bad);color:#fff}}.wend .cell.hint{box-shadow:0 0 0 3px var(--warn)}.slots{display:flex;flex-direction:column;gap:8px;width:min(92vw,440px);margin:16px auto}.slot{display:flex;gap:6px}.slot span{flex:1;aspect-ratio:1;max-width:42px;border-radius:9px;background:var(--cell-alt);border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;font-weight:800;text-transform:uppercase;font-size:1rem;color:var(--muted)}.slot.done span{color:#fff;border:none}.wend .cell.wc0,.slot.c0.done span{background:#17a673}.wend .cell.wc1,.slot.c1.done span{background:#3b82f6}.wend .cell.wc2,.slot.c2.done span{background:#f59e0b}.wend .cell.wc3,.slot.c3.done span{background:#8b5cf6}.wend .cell.wc4,.slot.c4.done span{background:#ef476f}.wend .cell.wc5,.slot.c5.done span{background:#06b6d4}.wend .cell.wc6,.slot.c6.done span{background:#84cc16}.pips .board{position:relative;margin:0 auto;width:min(92vw,420px)}.pips .grid{border:none;background:transparent;gap:4px;box-shadow:none;overflow:visible;border-radius:0}.pips .cell{background:var(--rt, var(--cell));border-radius:8px;font-size:clamp(14px,4.4vw,22px);border:2px dashed transparent}.pips .cell.bt{border-top-color:var(--rc)}.pips .cell.br{border-right-color:var(--rc)}.pips .cell.bb{border-bottom-color:var(--rc)}.pips .cell.bl{border-left-color:var(--rc)}.pips .cell.void{background:transparent;border:none;cursor:default;visibility:hidden}.pips .cell .val{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:68%;height:68%}.pips .cell .val i{border-radius:50%;background:#1c1b19;width:58%;height:58%;margin:auto}.pips .cell.filled{background:#fff;border-style:solid;border-color:#1c1b19;box-shadow:0 2px #1c1b19}:root[data-theme=dark] .pips .cell.filled,:root[data-theme=auto] .pips .cell.filled{color:#1c1b19}.pips .cell.hl{box-shadow:0 0 0 3px var(--brand)}.pips .cell.preview{background:color-mix(in srgb,var(--brand) 35%,var(--cell));border-style:solid;border-color:var(--brand)}.pips .region-label{position:absolute;font-size:clamp(11px,3vw,14px);font-weight:800;min-width:22px;height:22px;padding:0 6px;border-radius:7px;background:var(--rc, var(--fg));color:#fff;z-index:2;pointer-events:none;transform:translate(-35%,-45%) rotate(-8deg);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #00000040;transition:background .15s}.pips .region-label.ok{background:var(--ok)}.pips .region-label.bad{background:var(--bad)}.rack{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center;width:min(92vw,440px);margin:16px auto 4px;min-height:64px;padding:14px;background:var(--card);border-radius:18px;box-shadow:var(--shadow)}.domino{display:flex;border:3px solid #1c1b19;border-radius:10px;background:#fff;cursor:grab;touch-action:none;user-select:none;box-shadow:0 3px #1c1b19;transition:transform .08s}.domino:active{transform:translateY(2px);box-shadow:0 1px #1c1b19}.domino.v{flex-direction:column}.domino .half{width:46px;height:46px;display:flex;align-items:center;justify-content:center}.domino .half+.half{border-left:3px solid #1c1b19}.domino.v .half+.half{border-left:none;border-top:3px solid #1c1b19}.domino .val{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:32px;height:32px}.domino .val i{border-radius:50%;background:#1c1b19;width:8px;height:8px;margin:auto}.domino.sel{outline:3px solid var(--brand);outline-offset:3px}.domino.ghost{position:fixed;z-index:30;pointer-events:none;opacity:.92;transform:translate(-50%,-50%) scale(1.05)}.pips-controls{display:flex;gap:8px;justify-content:center;margin:8px 0 0;flex-wrap:wrap}.result{text-align:center;padding:6px 0}.result .big{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}.stat-row{display:flex;justify-content:center;gap:26px;margin:14px 0}.stat-row div{text-align:center}.stat-row b{display:block;font-size:1.5rem;font-weight:800}.stat-row small{color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.share-pre{white-space:pre-wrap;font-family:ui-monospace,monospace;background:var(--cell-alt);padding:12px;border-radius:12px;font-size:.95rem;line-height:1.3}#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--fg);color:var(--bg);padding:11px 18px;border-radius:999px;opacity:0;transition:.2s;z-index:50;pointer-events:none;font-size:.95rem;font-weight:600}#toast.show{opacity:1;transform:translate(-50%)}.modal-back{position:fixed;inset:0;background:#14131a8c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:40;padding:16px;animation:fade .15s}@keyframes fade{0%{opacity:0}}.modal{background:var(--card);color:var(--fg);border-radius:22px;padding:22px 22px 18px;max-width:440px;width:100%;max-height:90dvh;overflow:auto;box-shadow:var(--shadow-lg);animation:rise .2s}@keyframes rise{0%{transform:translateY(14px);opacity:0}}.modal h2{margin:0 0 10px;font-size:1.35rem}.modal-body p{margin:.6em 0}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.modal-actions .btn{flex:1}.code{width:100%;font-family:ui-monospace,monospace;font-size:.8rem;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--cell-alt);color:var(--fg)}.onboard{text-align:center}.onboard .ob-art{margin:4px auto 14px;width:150px;height:150px;border-radius:28px;background:var(--brand-soft);display:grid;place-items:center}.onboard .ob-art svg{width:110px;height:110px}.onboard ol{text-align:left;padding-left:20px;margin:8px 0}.onboard li{margin:6px 0}.confetti{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}.confetti i{position:absolute;top:-10px;width:9px;height:15px;border-radius:3px;animation:fall 2.2s ease-in forwards}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:.2}}.hero{text-align:center;padding:26px 0 10px}.hero h1{font-size:clamp(2rem,7vw,2.6rem);line-height:1.1;margin:0 0 8px}.hero p{color:var(--muted);font-size:1.05rem;max-width:520px;margin:0 auto}.game-cards{display:grid;grid-template-columns:1fr;gap:14px;margin:22px 0}@media (min-width: 560px){.game-cards{grid-template-columns:repeat(2,1fr)}}.game-card{display:flex;gap:14px;align-items:center;color:var(--fg);padding:16px;border-radius:20px;background:var(--brand-soft);border:2px solid transparent;transition:transform .12s,border-color .12s}.game-card:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--brand)}.game-card .gicon{width:64px;height:64px;border-radius:16px;background:var(--brand);display:grid;place-items:center;flex-shrink:0;box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 40%,transparent)}.game-card .gicon svg{width:44px;height:44px}.game-card .gtext{min-width:0}.game-card h3{margin:0;font-size:1.2rem;color:var(--brand-deep, var(--brand))}.game-card .tag{margin:2px 0 6px;color:var(--muted);font-size:.9rem}.game-card .badge{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--card);color:var(--brand-deep, var(--brand))}.prose{max-width:680px}.prose li{margin:.35em 0}.prose ol,.prose ul{padding-left:22px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow)}.hero-brand{margin:-12px -16px 0;padding:36px 20px 40px;background:var(--brand);color:#fff;text-align:center;border-radius:0 0 32px 32px}.hero-brand .hero-icon{width:128px;height:128px;margin:0 auto 18px;border-radius:30px;background:#fff;display:grid;place-items:center;box-shadow:0 14px 40px #00000040}.hero-brand .hero-icon svg{width:96px;height:96px}.hero-brand h1{color:#fff;font-size:2.4rem;margin:0}.hero-brand .tagline{font-size:1.15rem;opacity:.95;margin:4px 0 2px;font-weight:500}.hero-brand .num{opacity:.8;font-size:.9rem;margin:0 0 22px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.hero-brand .cta{display:inline-flex;align-items:center;justify-content:center;height:60px;padding:0 34px;border-radius:999px;background:#fff;color:var(--brand-deep, var(--brand));font-weight:800;font-size:1.15rem;width:100%;max-width:380px;box-shadow:0 10px 30px #0003}.hero-brand .cta:hover{transform:translateY(-1px)}.hero-brand .cta:active,.game-card:active,a.btn:active{transform:translateY(1px);box-shadow:none}.hero-brand .hero-links{margin:16px 0 0;display:flex;justify-content:center;gap:22px;font-weight:600}.hero-brand .hero-links a{color:#fff;opacity:.9}.landing-body{padding-top:12px}.archive-row{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:12px 14px;border-radius:14px;margin:8px 0;color:var(--fg);background:var(--card);border:1px solid var(--line)}.archive-row:hover{border-color:var(--brand);text-decoration:none}.archive-row span:first-child{font-weight:800;color:var(--brand)}.archive-row .ok{color:var(--ok);font-weight:700}.archive-nav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:6px 0 2px;font-size:.9rem;font-weight:600}.archive-nav:empty{display:none}.ad-slot{min-height:90px;margin:28px 0;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.75rem}.ad-slot:empty{display:none}.answers h1{font-size:1.5rem}.crumbs a{color:var(--muted);font-weight:600}.jump a{font-weight:700}.ans-sec{margin-top:26px;padding-top:6px;border-top:1px solid var(--line)}.ans-sec h2{color:var(--brand)}details.hint,details.sol-text{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 14px;margin:8px 0}details.hint summary,details.sol-text summary{cursor:pointer;font-weight:700}details.hint p{margin:8px 0 2px}.ans-board .grid{width:min(92vw,380px);margin:12px auto 4px}.ans-board .cell.rv{cursor:pointer}.ans-board .cell.rv:not(.show) .val{visibility:hidden}.ans-board .cell.rv.show{background:#fff;border-style:solid;border-color:#1c1b19;box-shadow:0 2px #1c1b19}.ans-board .cell .rl{position:absolute;top:-8px;left:-6px;font-size:clamp(10px,2.8vw,13px);font-weight:800;min-width:20px;height:20px;padding:0 5px;border-radius:6px;background:var(--rc);color:#fff;z-index:2;display:flex;align-items:center;justify-content:center;transform:rotate(-8deg);box-shadow:0 2px 5px #00000040}.ans-board .cell .val{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:66%;height:66%}.ans-board .cell .val i{border-radius:50%;background:#1c1b19;width:58%;height:58%;margin:auto}.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;margin:6px 0 16px}.date-grid a{display:block;text-align:center;padding:8px 4px;border-radius:10px;background:var(--card);border:1px solid var(--line);color:var(--fg);font-weight:600;font-size:.85rem}.date-grid a:hover{border-color:var(--brand);text-decoration:none}.btn .short{display:none}@media (max-width: 600px){main{padding:8px 12px 40px}.gamehead{margin:0 0 4px;gap:10px}.gamehead .gicon{width:36px;height:36px;border-radius:10px}.gamehead .gicon svg{width:24px;height:24px}.gamebar .title{font-size:1.15rem}.gamebar .meta{font-size:.78rem}.gamebar .timer{font-size:.95rem;padding:3px 10px}.seg{margin:2px 0 6px;padding:3px}.seg a{padding:7px 16px;font-size:.9rem}.mode-tabs{margin:0 0 8px}.board-wrap{margin:6px auto}.legend{margin:6px auto;font-size:.8rem}.numpad{margin:10px auto 2px;gap:6px}.numpad .btn{height:48px}.play-area .btn-row{position:sticky;bottom:0;z-index:20;margin:8px -12px 0;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));gap:6px;flex-wrap:nowrap;background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line)}.play-area .btn-row .btn{height:44px;padding:0 14px;font-size:.95rem}.btn .full{display:none}.btn .short{display:inline}#toast{bottom:84px}.slots{flex-direction:row;flex-wrap:wrap;gap:8px 14px;margin:10px auto;justify-content:center}.slot{gap:4px}.slot span{flex:none;width:26px;height:26px;border-radius:7px;font-size:.8rem;border-width:1.5px}.rack{gap:8px;padding:10px;margin:8px auto 4px;border-radius:14px;min-height:52px}.domino .half{width:36px;height:36px}.domino .val{width:26px;height:26px}.domino .val i{width:7px;height:7px}.pips-controls{margin:4px 0 0}.pips-controls .btn{height:38px;font-size:.9rem;padding:0 16px}}.rack .domino{transition:transform .12s}.domino.lift{transform:translateY(-3px) scale(1.04)}.domino.spin{animation:dspin .18s ease-out}@keyframes dspin{0%{transform:rotate(-90deg) scale(.9)}to{transform:none}}.pips .cell.shake{animation:dshake .3s ease-in-out}@keyframes dshake{0%,to{transform:none}25%{transform:translate(-4px)}75%{transform:translate(4px)}}.ans-li .cell{position:relative;font-weight:800;font-size:clamp(14px,4.4vw,22px)}.ans-li .cell .val{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.ans-li .cell.rv:not(.show) .val{visibility:hidden}.ans-li .cell.rv.show{background:var(--pc, #fff);color:var(--pcf, #1c1b19)}.ans-li.loose .cell.rv.show{border-color:transparent;box-shadow:none}.ans-li .cell.given{background:var(--cell-alt)}.ans-li .cell .lt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}.ans-li .cell.rv.show .lt{color:#fff}.ans-li .cell .stp{position:absolute;right:3px;bottom:1px;font-size:.55em;font-weight:700;opacity:.85}.ans-li .cell .num{position:absolute;top:3px;left:3px;font-size:.62em;background:#1c1b19;color:#fff;border-radius:999px;min-width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;padding:0 .3em;z-index:2}.ans-li .cell .clue{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.9em;line-height:1.05;z-index:1}.ans-li .cell .clue small{font-size:.55em;font-weight:700;opacity:.8}.ans-li .cell.wall{background:var(--cell-alt);opacity:.55}.ans-li.loose .grid{gap:5px;border:none;background:transparent;box-shadow:none;overflow:visible;border-radius:0}.ans-li.loose .cell{border-radius:8px;border:2px solid var(--line)}.ans-li .cell.wl{border-left:4px solid #1c1b19!important}.ans-li .cell.wr{border-right:4px solid #1c1b19!important}.ans-li .cell.wt{border-top:4px solid #1c1b19!important}.ans-li .cell.wb{border-bottom:4px solid #1c1b19!important}.ans-sudoku .cell.bx-r{border-right:3px solid var(--line-strong)!important}.ans-sudoku .cell.bx-b{border-bottom:3px solid var(--line-strong)!important}.ans-board .ans-reveal{display:block;margin:8px auto 0}.ans-li .ladder{list-style:none;padding:0;margin:10px 0;display:grid;gap:6px}.ans-li .ladder li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:8px 12px}.ans-li .ladder b.rv{font-family:ui-monospace,monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:2px 8px;border-radius:6px;min-width:6ch;text-align:center}.ans-li .ladder b.rv:not(.show){color:transparent;background:var(--cell-alt)}.ans-li .ladder b.rv.show{background:var(--brand-soft, var(--cell-alt));color:var(--brand)}.ans-li .clues{padding-left:22px;margin:8px 0}.ans-li .big-answer{font-size:1.25rem;font-weight:800;padding:14px 16px;background:var(--card);border:1px solid var(--line);border-radius:12px;cursor:pointer;text-align:center}.ans-li .big-answer:not(.show){color:transparent}.ans-li .big-answer:not(.show):after{content:"Tap to reveal the answer";color:var(--muted);font-size:1rem;font-weight:600;display:block;margin-top:-1.5em}.ans-li .big-answer.show{color:var(--brand);border-color:var(--brand)}.ans-queens .cell{border-color:transparent}.ans-queens .cell.rv.show .val{font-size:1.35em;color:#1c1b19}.ans-li.loose.ans-tango .cell{background:var(--card);overflow:visible}.ans-li.loose.ans-tango .cell.rv.show{background:var(--card);border-color:var(--line)}.ans-tango .sym{font-size:1.2em}.ans-tango .s1{color:#f59e0b}.ans-tango .s2{color:#3b82f6}.ans-tango .cx{position:absolute;z-index:3;width:18px;height:18px;border-radius:50%;background:#1c1b19;color:#fff;font:700 12px/18px system-ui,sans-serif;text-align:center;font-style:normal}.ans-tango .cxr{right:-12px;top:50%;transform:translateY(-50%)}.ans-tango .cxb{bottom:-12px;left:50%;transform:translate(-50%)}
