.play-page{padding-top:32px;padding-bottom:var(--section)}.play-intro{max-width:720px;margin-bottom:20px}.play-intro .lede{margin-top:8px}.play-noscript{margin-top:12px;font-weight:650}.pb-root{color:var(--ink);scroll-margin-top:88px}.pb-tabs{background:var(--surface);box-shadow:var(--shadow-rest);border-radius:16px;gap:6px;margin:0 0 16px;padding:4px;display:flex;overflow-x:auto}.pb-tab{min-height:44px;color:var(--ink-2);font:650 15px/20px var(--font-display-stack);cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1 0 auto;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.pb-tab[aria-selected=true]{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--hair-2)}.pb-tab:hover{color:var(--ink)}.pb-dot{background:var(--t-accent,var(--lamp));border-radius:50%;flex:none;width:10px;height:10px}.pb-weekchip{background:var(--surface);min-height:36px;box-shadow:var(--shadow-rest);font:650 15px/20px var(--font-display-stack);border-radius:999px;align-items:center;gap:8px;margin:0 0 16px;padding:4px 14px;display:inline-flex}.pb-game{gap:20px;display:grid;position:relative}.pb-main,.pb-side{min-width:0}@media (min-width:768px) and (max-width:1023px){.pb-game{max-width:640px;margin-inline:auto}}@media (min-width:1024px){.pb-game{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:40px}.pb-main{position:sticky;top:88px}}.pb-case{gap:6px;margin-bottom:14px;display:grid}.pb-casehead{align-items:center;gap:8px;display:flex}.pb-title{flex:1;min-width:0;font-size:24px;font-weight:750;line-height:30px}.pb-timer{min-width:56px;min-height:44px;color:var(--ink-3);cursor:pointer;font:600 14px/1 var(--font-display-stack);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:10px}.pb-timer.is-hidden span{color:#0000;text-shadow:0 0 6px color-mix(in srgb, var(--ink) 40%, transparent)}.pb-setup,.pb-story{color:var(--ink-2);margin:0;font-size:16px;line-height:24px}.pb-story b{color:var(--ink);font-weight:600}.pb-tier{font:650 13px/18px var(--font-display-stack);box-shadow:inset 0 0 0 1.5px var(--t-accent);color:var(--ink);border-radius:999px;justify-self:start;padding:3px 10px}.pb-boardwrap{container-type:inline-size}.pb-stage{justify-content:center;display:flex;position:relative;overflow-x:auto}.pb-grid{--rul:20px;--cs:clamp(40px, calc((100cqi - 32px) / var(--n,5)), 64px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding-right:6px;display:grid;position:relative}.pb-row{grid-template-columns:var(--rul) repeat(var(--n), var(--cs));display:grid}.pb-head{height:22px}.pb-lab{font:700 11px/1 var(--font-display-stack);color:var(--ink-3);font-variant-numeric:tabular-nums;place-items:center;display:grid}.pb-frame{box-shadow:0 0 0 3px var(--t-wall), var(--shadow-rest);border-radius:14px;margin-left:0;display:grid;position:relative}.pb-frame .pb-row .pb-lab{margin-left:-3px}.pb-grid .pb-frame{margin:3px 0}.pb-grid .pb-frame:before{content:"";left:var(--rul);border:3px solid var(--t-wall);pointer-events:none;z-index:5;border-radius:16px;position:absolute;top:-3px;bottom:-3px;right:-3px}.pb-frame{box-shadow:none}.pb-cell{width:var(--cs);height:var(--cs);background-color:var(--rc);touch-action:manipulation;cursor:pointer;outline:none;place-items:center;transition:opacity .16s,filter .16s;display:grid;position:relative}.pb-cell[data-corner=tl]{border-top-left-radius:12px}.pb-cell[data-corner=tr]{border-top-right-radius:12px}.pb-cell[data-corner=bl]{border-bottom-left-radius:12px}.pb-cell[data-corner=br]{border-bottom-right-radius:12px}.pb-wall{box-shadow:var(--w);z-index:3;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.pb-cell:focus-visible{z-index:7;box-shadow:inset 0 0 0 2px var(--paper), inset 0 0 0 4px var(--ink)}.pb-cell:focus-visible:after{content:"";border:2px solid var(--ink);z-index:8;pointer-events:none;border-radius:4px;position:absolute;inset:-2px}.tx1{--tx:color-mix(in srgb, var(--t-ink) 9%, transparent);background-image:radial-gradient(circle, var(--tx) 1.3px, transparent 1.6px);background-size:7px 7px}.tx2{--tx:color-mix(in srgb, var(--t-ink) 8%, transparent);background-image:repeating-linear-gradient(0deg, var(--tx) 0 1px, transparent 1px 6px)}.tx3{--tx:color-mix(in srgb, var(--t-ink) 8%, transparent);background-image:repeating-linear-gradient(90deg, var(--tx) 0 1px, transparent 1px 6px)}.tx4{--tx:color-mix(in srgb, var(--t-ink) 8%, transparent);background-image:linear-gradient(var(--tx) 1px, transparent 1px), linear-gradient(90deg, var(--tx) 1px, transparent 1px);background-size:8px 8px}.tx5{--tx:color-mix(in srgb, var(--t-ink) 9%, transparent);background-image:radial-gradient(circle, var(--tx) 2.2px, transparent 2.6px);background-position:3px 3px;background-size:13px 13px}.tx6{--tx:color-mix(in srgb, var(--t-ink) 7%, transparent);background-image:conic-gradient(var(--tx) 25%, transparent 0 50%, var(--tx) 0 75%, transparent 0);background-size:8px 8px}.pb-cell.is-blk{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--t-ink) 18%, transparent) 0 2px, transparent 2px 7px);cursor:not-allowed}.pb-obj{text-align:center;font:650 9px/11px var(--font-body);color:color-mix(in srgb, var(--t-ink) 70%, transparent);white-space:nowrap;text-overflow:clip;pointer-events:none;z-index:1;position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden}.pb-cell.is-blk .pb-obj{color:var(--t-ink);text-shadow:0 0 3px var(--rc), 0 0 3px var(--rc);place-items:center;font-size:10px;font-weight:700;display:grid;top:0;bottom:0}.pb-chip{max-width:calc(var(--cs) - 6px);z-index:4;pointer-events:none;background:color-mix(in srgb, var(--t-paper) 88%, transparent);color:var(--t-ink);font:650 10px/13px var(--font-body);white-space:nowrap;border-radius:6px;padding:1px 5px;position:absolute;top:3px;left:3px;overflow:hidden;box-shadow:0 1px 2px #00000014}.pb-chip[data-span="2"]{max-width:calc(var(--cs) * 2 - 6px)}.pb-x{pointer-events:none;z-index:2;width:22px;height:22px;margin:auto;position:absolute;inset:0}.pb-x path{stroke:var(--ink-3);stroke-width:2.6px;stroke-linecap:round;fill:none;stroke-dasharray:20;animation:.12s linear both pb-drawx}.pb-x path+path{animation-delay:60ms}@keyframes pb-drawx{0%{stroke-dashoffset:20px}}@media (prefers-color-scheme:dark){.pb-x path{stroke:color-mix(in srgb, var(--t-ink) 75%, transparent)}}.pb-pens{font:700 10px/12px var(--font-display-stack);color:var(--ink-2);pointer-events:none;z-index:2;grid-template-columns:1fr 1fr;align-content:end;justify-items:center;display:grid;position:absolute;inset:16px 3px 3px}.pb-cell .pb-pens{color:color-mix(in srgb, var(--t-ink) 80%, transparent)}.pb-pens s{opacity:.7;text-decoration-thickness:1.5px}.pb-tok{z-index:5;width:min(40px, calc(var(--cs) - 10px));height:min(40px, calc(var(--cs) - 10px));background:var(--cc);color:var(--ci);font:800 18px/1 var(--font-display-stack);letter-spacing:-.02em;box-shadow:0 0 0 3px var(--ring), 0 0 0 5px var(--t-paper,var(--paper)), 0 3px 8px 2px #0000002e;border-radius:50%;place-items:center;display:grid;position:relative}.pb-tok.is-anchor:before{content:"";border:2px dashed var(--bad);border-radius:50%;position:absolute;inset:-8px}.pb-tok.is-bad{box-shadow:0 0 0 3px var(--bad), 0 0 0 5px var(--t-paper,var(--paper)), 0 3px 8px 2px #0000002e}.pb-tok.is-picked{box-shadow:0 0 0 3px var(--ring), 0 0 0 6px var(--t-accent), 0 3px 8px 2px #0000002e}.pb-cell .pb-tok{animation:pb-pop .26s var(--spring)}.pb-tok.is-shake{animation:.24s linear pb-shake}@keyframes pb-pop{0%{transform:scale(1.25)}55%{transform:scale(.92)}to{transform:scale(1)}}@keyframes pb-shake{20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.pb-fly{z-index:60;pointer-events:none;width:40px;height:40px;position:fixed}.pb-cell.is-dim{opacity:.35}.pb-cell.is-sel:before{content:"";box-shadow:inset 0 0 0 3px var(--t-accent);z-index:4;pointer-events:none;border-radius:inherit;position:absolute;inset:0}.pb-cell.m-ok:after{content:"";box-shadow:inset 0 0 0 2.5px var(--t-accent);z-index:2;pointer-events:none;animation:.2s both pb-fade;animation-delay:var(--d,0s);position:absolute;inset:0}.pb-cell.m-no:before,.pb-cell.is-elim:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--t-ink) 30%, transparent) 0 1.5px, transparent 1.5px 6px);animation:.2s both pb-fade;position:absolute;inset:0}.pb-cell.m-nx:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--t-ink) 45%, transparent) 0 1.5px, transparent 1.5px 6px), color-mix(in srgb, var(--t-ink) 24%, transparent);animation:.2s both pb-fade;position:absolute;inset:0}.pb-cell.is-elim:before{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--bad) 55%, transparent) 0 2px, transparent 2px 6px)}.pb-cell.ring-forced:after,.pb-cell.ring-mist:after{content:"";z-index:6;pointer-events:none;border-radius:8px;animation:1s ease-in-out infinite pb-pulse;position:absolute;inset:2px}.pb-cell.ring-forced:after{box-shadow:inset 0 0 0 3px var(--good-text)}.pb-cell.ring-mist:after{box-shadow:inset 0 0 0 3px var(--amber)}.pb-cell.is-focus{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--t-accent) 70%, transparent)}.pb-bdg{z-index:6;pointer-events:none;gap:1px;display:flex;position:absolute;bottom:2px;right:2px}.pb-bdg span{background:var(--t-accent);min-width:15px;height:15px;color:var(--t-paper);font:750 9px/15px var(--font-display-stack);text-align:center;border-radius:8px;padding:0 2px}@keyframes pb-fade{0%{opacity:0}}@keyframes pb-pulse{50%{opacity:.45}}@media (hover:hover) and (pointer:fine){.pb-cell:not(.is-blk):hover{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--t-ink) 30%, transparent)}.pb-grid.has-sel .pb-cell.is-empty:hover:after{content:"";width:min(40px, calc(var(--cs) - 10px));height:min(40px, calc(var(--cs) - 10px));background:var(--ghost);opacity:.35;z-index:3;pointer-events:none;border-radius:50%;position:absolute}}.pb-grid.is-solving .pb-frame{animation:.6s ease-in-out 3 pb-frame}.pb-grid.is-solving .pb-cell .pb-tok{animation:pb-flip .6s var(--ease) both;animation-delay:var(--wave)}@keyframes pb-frame{50%{transform:scale(1.01)}}@keyframes pb-flip{to{transform:rotateY(360deg)}}.pb-grid.is-spot .pb-cell{transition:opacity .3s}.pb-cell.spot-dim{opacity:.4}.pb-cell.spot-reg{opacity:.85}.pb-cell.spot-culprit:after{content:"";z-index:6;pointer-events:none;box-shadow:0 0 0 3px var(--lamp), 0 0 18px 6px color-mix(in srgb, var(--lamp) 70%, transparent);border-radius:9px;position:absolute;inset:1px}.pb-grid.is-locked .pb-cell{cursor:default}.pb-check{z-index:20;pointer-events:none;min-height:36px;font:650 14px/20px var(--font-display-stack);box-shadow:var(--shadow-lift);animation:pb-slide .22s var(--ease) both;border-radius:999px;max-width:calc(100% - 32px);padding:6px 16px;position:absolute;top:30px;left:50%;transform:translate(-50%)}.pb-check.tone-good{background:var(--good-text);color:#fff}.pb-check.tone-amber{background:var(--amber);color:#1c1f3b}@keyframes pb-slide{0%{opacity:0;transform:translate(-50%,-10px)}}.pb-toast{z-index:20;background:var(--ink);max-width:calc(100% - 32px);color:var(--paper);font:600 14px/20px var(--font-body);box-shadow:var(--shadow-lift);text-align:center;pointer-events:none;animation:pb-slide .22s var(--ease) both;border-radius:12px;padding:8px 16px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.pb-toast.tone-bad{background:var(--bad);color:#fff}@media (prefers-color-scheme:dark){.pb-toast.tone-bad{color:#1c1f3b}}.pb-caption{background:var(--surface);width:fit-content;max-width:100%;box-shadow:var(--shadow-rest);text-align:center;font:600 14px/20px var(--font-display-stack);border-radius:14px;gap:2px;margin:10px auto 0;padding:6px 14px;display:grid}.pb-caption-clue{font:400 15px/21px var(--font-body);color:var(--ink-2)}.pb-caption-clue b{color:var(--ink);font-weight:650}@media (min-width:1024px){.pb-caption{border-radius:999px;padding:4px 12px}.pb-caption-clue{display:none}}.pb-tray{flex-wrap:wrap;justify-content:center;gap:6px 8px;margin:18px 0 12px;display:flex}.pb-trayc{min-width:56px;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:6px;padding:6px 4px 4px;display:grid;position:relative}.pb-trayc .pb-tok{width:40px;height:40px;animation:none}.pb-trayc.is-placed .pb-tok{opacity:.35}.pb-trayc.is-sel{background:var(--surface);box-shadow:inset 0 0 0 2px var(--t-accent)}.pb-trayn{font:600 12px/14px var(--font-body);color:var(--ink-2);text-align:center;max-width:72px}.pb-key{font:600 11px/1 var(--font-body);color:var(--ink-3);position:absolute;top:2px;right:4px}.pb-tools{grid-template-columns:auto 1fr 1.3fr 1fr;align-items:center;gap:8px;display:grid}.pb-seg{background:var(--surface);box-shadow:inset 0 0 0 1px var(--hair-2);border-radius:12px;padding:3px;display:inline-flex}.pb-seg button{min-width:56px;min-height:38px;color:var(--ink-2);font:650 14px/1 var(--font-display-stack);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 10px}.pb-seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.pb-tool{background:var(--surface);min-height:44px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair-2);font:650 15px/1 var(--font-display-stack);cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.pb-tool:hover,.pb-seg button:hover{box-shadow:inset 0 0 0 1.5px var(--ink-3)}.pb-hintbtn .pb-bulb{color:var(--t-accent)}.pb-free{color:var(--ink-3);font-weight:600}[aria-disabled=true]{cursor:default;opacity:.55}@media (max-width:420px){.pb-tools{grid-template-columns:1fr 1fr 1fr}.pb-seg{grid-column:1/-1;justify-self:stretch}.pb-seg button{flex:1}}.pb-keys{color:var(--ink-2);margin-top:14px;font-size:14px;line-height:20px}.pb-keys summary{cursor:pointer;align-items:center;min-height:44px;font-weight:650;display:flex}.pb-keys dl{grid-template-columns:max-content 1fr;gap:4px 14px;margin:4px 0 0;display:grid}.pb-keys dt{color:var(--ink);font-weight:700}.pb-keys dd{margin:0}@media (hover:none){.pb-keys{display:none}}.pb-clues-h{margin:4px 0 10px;font-size:20px;line-height:26px}.pb-clues{gap:8px;margin:0;padding:0;list-style:none;display:grid}.pb-clue{background:var(--surface);box-shadow:var(--shadow-rest);touch-action:pan-y;border-radius:14px;align-items:stretch;margin:0;display:flex}.pb-clue+.pb-clue{margin-top:0}.pb-cluebtn{min-height:52px;color:var(--ink);text-align:left;font:400 16px/24px var(--font-body);cursor:pointer;background:0 0;border:0;border-radius:14px 0 0 14px;flex:1;align-items:flex-start;gap:12px;padding:12px 8px 12px 14px;display:flex}.pb-cluebtn b{font-weight:650}.pb-clueno{background:var(--paper);width:24px;height:24px;font:700 13px/1 var(--font-display-stack);color:var(--ink-2);border-radius:50%;flex:none;place-items:center;display:grid}.pb-clue.is-on{box-shadow:inset 0 0 0 2px var(--t-accent), var(--shadow-rest)}.pb-clue.is-on .pb-clueno{background:var(--t-accent);color:var(--t-paper)}.pb-clue.is-struck .pb-cluetext{color:var(--ink-3);text-decoration:line-through}.pb-strike{width:52px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:0 14px 14px 0;flex:none;place-items:center;display:grid}.pb-strike[aria-pressed=true]{color:var(--good-text)}.pb-clue.is-pulse{animation:.7s ease-in-out 2 pb-cluepulse}@keyframes pb-cluepulse{50%{box-shadow:inset 0 0 0 3px var(--t-accent), var(--shadow-rest)}}.pb-reset{margin-top:14px;font-size:15px}.pb-textbtn{color:var(--ink-2);font:650 15px/20px var(--font-body);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;min-height:44px;padding:0 8px;text-decoration:underline}.pb-textbtn:hover{color:var(--ink)}.pb-hint{z-index:50;max-height:44vh;padding:18px var(--gutter) calc(18px + env(safe-area-inset-bottom));background:var(--surface);color:var(--ink);animation:pb-sheet .22s var(--ease) both;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 32px -12px #00000059}@keyframes pb-sheet{0%{opacity:0;transform:translateY(24px)}}@media (min-width:1024px){.pb-hint{max-height:none;box-shadow:var(--shadow-lift);border-radius:18px;margin-bottom:18px;padding:18px 20px;animation:.2s both pb-fade;position:static}}.pb-hint-title{align-items:center;gap:10px;font-size:19px;line-height:24px;display:flex}.pb-hint-title .pb-bulb{color:var(--t-accent);width:24px;height:24px}.pb-hint-body{animation:.22s both pb-fade}.pb-hint-text{outline:none;margin:12px 0 14px;font-size:17px;line-height:24px}.pb-hint-text b{font-weight:650}.pb-hint-note{color:var(--ink-3)}.pb-hint-quote{border-left:3px solid var(--t-accent);background:var(--paper);color:var(--ink);border-radius:4px;margin-top:8px;padding:8px 12px;font-size:16px;line-height:23px;display:block}.pb-hint-actions{gap:6px;display:grid}.pb-hint-tag{color:var(--ink-3);text-align:center;margin:6px 0 0;font-size:13px;font-weight:600;line-height:18px}.pb-end{gap:16px;margin-top:18px;display:grid}.pb-reveal{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-lift);animation:pb-rise .32s var(--ease) both;padding:22px 20px;position:relative}@keyframes pb-rise{0%{opacity:0;transform:translateY(12px)}}.pb-stamp{border:3px solid var(--t-accent);color:var(--t-accent);font:800 14px/18px var(--font-display-stack);letter-spacing:.06em;border-radius:8px;padding:4px 10px;position:absolute;top:16px;right:16px;transform:rotate(-8deg)}.pb-kicker{font:650 14px/20px var(--font-display-stack);color:var(--ink-3);margin:0 0 4px}.pb-answer{outline:none;margin:0 110px 8px 0;font-size:28px;line-height:32px}.pb-reason{margin:0 0 8px}.pb-flavor{color:var(--ink-2);margin:0 0 14px;font-style:italic}.pb-share{border-top:1px solid var(--hair);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding-top:12px;display:flex}.pb-shareline{font:650 15px/20px var(--font-display-stack);font-variant-numeric:tabular-nums}.pb-app{border-radius:var(--radius-card);background:var(--night);color:var(--on-night);gap:14px;padding:24px 20px;display:grid}.pb-app h2{font-size:24px;line-height:30px}.pb-app p{color:var(--on-night-2);margin:0}.pb-app-next{font-size:15px}.pb-linkbtn{color:var(--on-night);min-height:44px;font:700 15px/20px var(--font-body);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.pb-game.is-solved .pb-reset{margin-top:18px}.play-copy{max-width:68ch;margin-top:56px}.play-copy h2{margin:32px 0 10px;font-size:26px;line-height:32px}.play-copy h2:first-child{margin-top:0}@media (min-width:1024px){.play-copy h2{font-size:30px;line-height:36px}}.play-more{padding-left:1.2em}@media (prefers-reduced-motion:reduce){.pb-cell .pb-tok,.pb-tok.is-shake,.pb-grid.is-solving .pb-cell .pb-tok,.pb-grid.is-solving .pb-frame,.pb-clue.is-pulse,.pb-cell.ring-forced:after,.pb-cell.ring-mist:after,.pb-x path{animation:none}.pb-cell.m-ok:after{animation-delay:0s}.pb-hint,.pb-reveal,.pb-check,.pb-toast{animation:.15s both pb-fade}}@media (max-width:480px){.pb-tabs{gap:2px}.pb-tab{white-space:normal;text-align:center;flex:auto;gap:6px;min-width:0;padding:4px 6px;font-size:13px;line-height:1.2}.pb-tab .pb-dot{flex:none;width:8px;height:8px}}
