:root{--font-display: "Fraunces", "Iowan Old Style", Georgia, serif;--font-body: "Inter Tight", system-ui, -apple-system, sans-serif;--font-tile: "Chivo", "Inter Tight", system-ui, sans-serif;--tile-weight: 700;--radius-tile: 14px;--radius-card: 18px;--radius-pill: 999px;--dur-fast: .12s;--dur-base: .22s;--dur-slow: .42s;--dur-found: .21s;--dur-chip: 1.05s;--ease-out: cubic-bezier(.22, 1, .36, 1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--space-8: 32px;--focus-ring: #2563eb;--tile-gap: clamp(6px, 1.6vw, 10px)}:root[data-font=hyperlegible]{--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--font-tile: "Atkinson Hyperlegible", system-ui, sans-serif;--font-display: "Atkinson Hyperlegible", system-ui, sans-serif;--tile-weight: 700}:root[data-font=bricolage]{--font-tile: "Bricolage Grotesque", "Chivo", system-ui, sans-serif;--tile-weight: 700}:root[data-theme=paper]{--focus-ring: #1a1613;color-scheme:light;--bg-canvas: #faf7f2;--bg-raised: #ffffff;--bg-sunken: #f1ece3;--fg-primary: #16130f;--fg-secondary: #5b544a;--fg-muted: #6b6357;--tile-bg: #ffffff;--tile-edge: #e3dcd0;--tile-fg: #16130f;--state-select: #fdf0c7;--state-select-edge: #e0b93f;--state-valid: #0e7c6b;--state-valid-fg: #ffffff;--state-bonus: #7a4fa3;--state-bonus-fg: #ffffff;--state-invalid: #b5462f;--state-spent: #f4efe6;--state-spent-fg: #a19889;--state-hint: #f5a524;--fire-1: #ffd166;--fire-2: #f5811f;--fire-3: #c93c17;--fire-glow: rgba(245, 129, 31, .55);--tile-hot-bg: #fff6e4;--tile-hot-edge: #f0b464;--smoke-core: rgba(88, 78, 66, .5);--smoke-edge: rgba(88, 78, 66, .18);--trace: #0e7c6b;--trace-invalid: #b5462f;--accent: #0e7c6b;--accent-hover: #0a6659;--accent-fg: #ffffff;--accent-soft: #e3f0ed;--star-full: #d98c0a;--star-empty: #ded6c8;--shadow-soft: 0 1px 2px rgba(31, 25, 15, .06), 0 6px 18px -8px rgba(31, 25, 15, .16);--hairline: rgba(22, 19, 15, .1)}:root[data-theme=ink]{--focus-ring: #f4eee2;color-scheme:dark;--bg-canvas: #14120f;--bg-raised: #1e1b17;--bg-sunken: #100e0c;--fg-primary: #f4efe7;--fg-secondary: #c2b8a8;--fg-muted: #a29788;--tile-bg: #262218;--tile-edge: #3a3428;--tile-fg: #f7f2ea;--state-select: #4a3d14;--state-select-edge: #c9a63f;--state-valid: #3fbfa8;--state-valid-fg: #08221d;--state-bonus: #b489dd;--state-bonus-fg: #211433;--state-invalid: #e8785c;--state-spent: #1a1713;--state-spent-fg: #6a6155;--state-hint: #ffc061;--fire-1: #ffe08a;--fire-2: #ff9436;--fire-3: #e8562a;--fire-glow: rgba(255, 148, 54, .5);--tile-hot-bg: #3a2413;--tile-hot-edge: #b96a2c;--smoke-core: rgba(226, 216, 200, .34);--smoke-edge: rgba(226, 216, 200, .12);--trace: #3fbfa8;--trace-invalid: #e8785c;--accent: #3fbfa8;--accent-hover: #57d3bc;--accent-fg: #08221d;--accent-soft: #1d2c28;--star-full: #ffc061;--star-empty: #3a3428;--shadow-soft: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px -10px rgba(0, 0, 0, .7);--hairline: rgba(244, 239, 231, .14)}:root[data-theme=contrast]{--focus-ring: #0a58ff;color-scheme:dark;--bg-canvas: #000000;--bg-raised: #000000;--bg-sunken: #000000;--fg-primary: #ffffff;--fg-secondary: #ffffff;--fg-muted: #e6e6e6;--tile-bg: #000000;--tile-edge: #ffffff;--tile-fg: #ffffff;--state-select: #333300;--state-select-edge: #ffe000;--state-valid: #00e0c0;--state-valid-fg: #000000;--state-bonus: #ffffff;--state-bonus-fg: #000000;--state-invalid: #ff8a70;--state-spent: #141414;--state-spent-fg: #9c9c9c;--state-hint: #ffe000;--fire-1: #ffe000;--fire-2: #ff9d2e;--fire-3: #ff5a2e;--fire-glow: rgba(255, 157, 46, .6);--tile-hot-bg: #241300;--tile-hot-edge: #ff9d2e;--smoke-core: rgba(255, 255, 255, .38);--smoke-edge: rgba(255, 255, 255, .14);--trace: #00e0c0;--trace-invalid: #ff8a70;--accent: #00e0c0;--accent-hover: #5affe6;--accent-fg: #000000;--accent-soft: #001f1a;--star-full: #ffe000;--star-empty: #5a5a5a;--shadow-soft: none;--hairline: #ffffff}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}*{-webkit-tap-highlight-color:transparent}html{background:var(--bg-canvas)}body{margin:0;background:var(--bg-canvas);color:var(--fg-primary);font-family:var(--font-body);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:clip}html{overflow-x:clip;overscroll-behavior-x:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input,select,textarea{font-size:max(16px,1em)}input.btn,select.btn,textarea.btn{font-size:16px}h1,h2,h3{font-family:var(--font-display);font-variation-settings:"SOFT" 20,"WONK" 1;letter-spacing:-.01em;margin:0}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;border-radius:6px}::-moz-selection{background:var(--state-select);color:var(--fg-primary)}::selection{background:var(--state-select);color:var(--fg-primary)}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.shell{width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(10px,3.2vw,24px);--board-w: min(100%, 420px)}[data-cols="3"]{--board-w: min(100%, 340px)}[data-cols="5"]{--board-w: min(100%, 460px)}.board{width:var(--board-w);margin-inline:auto}.card{background:var(--bg-raised);border:1px solid var(--hairline);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.muted{color:var(--fg-muted)}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--bg-raised);padding:6px 12px;font-size:13px;font-weight:500;white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--radius-pill);border:1px solid var(--hairline);background:var(--bg-raised);font-size:15px;font-weight:500;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--bg-sunken)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:transparent;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-icon{min-width:44px;padding:0 10px;flex-direction:column;gap:1px}.tabnums{font-variant-numeric:tabular-nums}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.skip{position:fixed;left:50%;top:8px;transform:translate(-50%,-160%);z-index:90;padding:10px 16px;border-radius:var(--radius-pill);background:var(--accent);color:var(--accent-fg);font-size:14px;font-weight:600;text-decoration:none;transition:transform var(--dur-fast) var(--ease-out)}.skip:focus-visible{transform:translate(-50%)}.play-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding-top:14px;align-items:start}@media (min-width: 768px){.play-layout{grid-template-columns:minmax(0,58fr) minmax(0,42fr);gap:24px;padding-top:20px}.play-layout>:last-child{position:sticky;top:116px;max-height:calc(100vh - 140px);overflow-y:auto}}@media (min-width: 1024px){.play-layout{grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:32px}}.steprow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width: 640px){.steprow{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 768px){.overlay-shell{align-items:center!important}.overlay-shell>.sheet{border-radius:var(--radius-card)!important;padding-bottom:20px!important;max-height:86vh}}:root[data-theme=contrast] [aria-pressed=true],:root[data-theme=contrast] [aria-checked=true]{outline:2px solid var(--accent);outline-offset:-3px;border-radius:999px}.toast{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:70;display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;width:-moz-max-content;width:max-content;max-width:min(calc(100vw - 24px),560px);padding:12px 14px;font-size:14px;animation:sheetup var(--dur-base) var(--ease-out)}.grid-wrap{position:relative;width:100%;display:grid;justify-items:stretch;align-items:center}.board{position:relative;display:grid;gap:var(--tile-gap);touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:transform var(--dur-slow) var(--ease-out)}.tile{position:relative;aspect-ratio:1;display:grid;place-items:center;background:var(--tile-bg);color:var(--tile-fg);border:1px solid var(--tile-edge);border-radius:var(--radius-tile);box-shadow:0 2px 0 0 var(--tile-edge);font-family:var(--font-tile);font-weight:var(--tile-weight, 700);font-variation-settings:normal;font-size:clamp(20px,calc(var(--tile-size) * .44),44px);line-height:1;text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.tile>.glyph{transition:transform var(--dur-slow) var(--ease-out)}.tile[data-state=select]{background:var(--state-select);border-color:var(--state-select-edge);transform:scale(1.06);box-shadow:0 0 0 1px var(--state-select-edge);z-index:3}.tile[data-state=select]>.glyph{position:relative;z-index:5}.tile[data-state=valid]{background:var(--state-valid);color:var(--state-valid-fg);border-color:var(--state-valid);animation:pop var(--dur-found) var(--ease-out)}.tile[data-state=bonus]{background:var(--state-bonus);color:var(--state-bonus-fg);border-color:var(--state-bonus);animation:pop var(--dur-found) var(--ease-out)}.tile[data-state=invalid]{border-color:var(--state-invalid);box-shadow:0 0 0 2px var(--state-invalid)}.tile[data-state=hint]{border-color:var(--state-hint);box-shadow:0 0 0 2px var(--state-hint);background:color-mix(in srgb,var(--state-hint) 16%,var(--tile-bg))}.tile[data-state=hint]>.glyph{position:relative;z-index:5}.tile[data-hint-step="1"]{background:color-mix(in srgb,var(--state-hint) 34%,var(--tile-bg))}.tile[data-hint-step="2"]{background:color-mix(in srgb,var(--state-hint) 22%,var(--tile-bg))}.tile[data-hint-step="3"]{background:color-mix(in srgb,var(--state-hint) 12%,var(--tile-bg))}.tile[data-spent=true][data-state=idle]{background:var(--state-spent);color:var(--state-spent-fg)}.tile>.tile-fx{position:absolute;inset:0;pointer-events:none;transition:transform var(--dur-slow) var(--ease-out);z-index:6}.tile .assist{position:absolute;top:3px;right:5px;font-family:var(--font-body);font-size:clamp(9px,calc(var(--tile-size) * .19),14px);font-weight:600;font-variant-numeric:tabular-nums;color:var(--fg-muted);animation:rise var(--dur-base) var(--ease-out)}.tile[data-state=valid] .assist,.tile[data-state=bonus] .assist{color:currentColor;opacity:.85}.tile .badge{position:absolute;bottom:2px;left:5px;font-family:var(--font-body);font-size:11px;font-weight:700;line-height:1}.trace{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:4}.trace polyline{fill:none;stroke:var(--trace);stroke-width:var(--trace-w, 10);stroke-linecap:round;stroke-linejoin:round;opacity:.34}:root[data-theme=contrast] .trace polyline{opacity:.6}.trace polyline[data-invalid=true]{stroke:var(--trace-invalid);stroke-dasharray:6 8}.trace polygon.hint-mark{fill:color-mix(in srgb,var(--state-hint) 14%,transparent);stroke:var(--state-hint);stroke-width:calc(var(--trace-w, 10) * .22);stroke-linejoin:round;opacity:.9}:root[data-theme=contrast] .trace polygon.hint-mark{fill:none;opacity:1}.trace polyline.hint-trace{stroke:var(--state-hint);stroke-width:calc(var(--trace-w, 10) * .3);opacity:.92}.readout{display:flex;align-items:center;justify-content:center;gap:2px;min-height:42px;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;overflow:hidden}.readout[data-shake=true]{animation:shake .18s ease-in-out 2;color:var(--state-invalid);text-decoration:line-through}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@keyframes flyup{0%{opacity:0;transform:translate(-50%,-12px) scale(.5)}12%{opacity:1;transform:translate(-50%,-30px) scale(1.12)}22%{transform:translate(-50%,-28px) scale(1)}70%{opacity:1;transform:translate(-50%,-25px) scale(1)}to{opacity:0;transform:translate(-50%,-33px) scale(.92)}}@keyframes sheetup{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.board-anchor{position:relative;display:grid;justify-items:stretch}.chip-fly{position:absolute;left:50%;top:100%;z-index:40;pointer-events:none;font-family:var(--font-display);font-weight:700;font-size:clamp(30px,9vw,40px);line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;padding:4px 16px 6px;border-radius:999px;background:var(--bg-raised);border:2px solid currentColor;box-shadow:0 8px 22px #00000038;animation:flyup var(--dur-chip) var(--ease-out) forwards}.sheet{animation:sheetup var(--dur-slow) var(--ease-out)}.sheet:focus,.sheet:focus-visible{outline:none}.backdrop{animation:fade var(--dur-base) var(--ease-out)}.wordchip{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:8px;background:var(--bg-sunken);border:1px solid transparent;font-size:13px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;transition:all var(--dur-fast) var(--ease-out)}.wordchip:hover{border-color:var(--accent)}.wordchip[data-ghost=true]{opacity:.55}.wordchip[data-bonus=true]{color:var(--state-bonus);background:color-mix(in srgb,var(--state-bonus) 12%,var(--bg-sunken))}.blank{display:inline-flex;gap:3px}.blank i{width:9px;height:12px;border-bottom:2px solid var(--star-empty);display:block}.skeleton{background:linear-gradient(90deg,var(--bg-sunken) 25%,var(--bg-raised) 50%,var(--bg-sunken) 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-tile)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:500px;margin-inline:auto}.calday{aspect-ratio:1;min-height:42px;max-height:68px;border-radius:10px;border:1px solid var(--hairline);background:var(--bg-raised);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:13px;font-variant-numeric:tabular-nums;transition:all var(--dur-fast) var(--ease-out)}.calday:hover:not(:disabled){border-color:var(--accent);transform:translateY(-1px)}.calday[data-done=true]{background:var(--accent-soft);border-color:var(--accent);font-weight:600}.calday:disabled{opacity:.3;cursor:default}.caldot{width:5px;height:5px;border-radius:50%;background:var(--accent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}:root[data-motion=off] *,:root[data-motion=off] *:before,:root[data-motion=off] *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-property:opacity!important;transition-duration:80ms!important}#root{min-height:100dvh;display:flex;flex-direction:column}#root>#main{flex:1 0 auto}@media (max-width: 600px){.wordmark-text{display:none}}.audience-pill{display:flex;flex:none;gap:2px;padding:2px;border:1px solid var(--hairline);border-radius:999px;background:var(--bg-sunken)}.audience-pill-btn{min-height:34px;padding:7px 10px;border-radius:999px;color:var(--fg-muted);font-size:12px;font-weight:600}.audience-pill-btn[aria-pressed=true]{color:var(--fg-primary);background:var(--bg-raised);box-shadow:var(--shadow-soft)}.header-main{gap:10px}.mode-pill-btn{padding:7px 13px;font-size:13px}@media (max-width: 430px){.header-main{gap:6px}.audience-pill-btn,.mode-pill-btn{padding:6px 7px;font-size:11px}}@media (max-width: 360px){.header-main{gap:4px}[data-streak] .header-brand{display:none}.audience-pill-btn,.mode-pill-btn{padding-inline:5px}}@media (max-width: 430px){[data-streak] .wordmark-text{display:none}}.firstrun{display:grid;gap:12px;align-items:center}@media (min-width: 640px){.firstrun{grid-template-columns:minmax(0,1fr) auto;gap:18px}}.adslot{display:grid;justify-items:center;gap:4px;width:100%;max-width:min(100%,var(--ad-w, 728px));margin-inline:auto}.adslot[data-slot=top]{margin-block:12px 2px}.adslot[data-slot=bottom]{margin-block:22px 4px}.adslot-label{font-family:var(--font-body);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-muted);opacity:.75}.adslot-frame{width:100%;overflow:hidden;border-radius:var(--radius-card);background:var(--bg-sunken)}.adslot-frame>a{display:block}.adslot-img{display:block;width:100%;height:auto}.flame{display:block;filter:drop-shadow(0 0 3px var(--fire-glow))}.flame-lit{animation:flamelick .62s ease-in-out infinite alternate;transform-origin:50% 90%}@keyframes flamelick{0%{transform:scale(1) skew(0)}40%{transform:scale(1.05,.97) skew(-3deg)}to{transform:scale(.96,1.07) skew(3deg)}}.speed-badge{display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 4px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:var(--bg-raised);font-size:12px;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--fg-muted);transition:border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),background var(--dur-base) var(--ease-out)}.speed-ring{display:block;line-height:0}.speed-pips{display:inline-flex;align-items:flex-end;gap:3px;color:var(--fg-muted)}.speed-pip{line-height:0;opacity:.55}.speed-pip-on{opacity:1;animation:pipcatch .32s var(--ease-out)}@keyframes pipcatch{0%{transform:translateY(3px) scale(.6);opacity:0}60%{transform:translateY(0) scale(1.22);opacity:1}to{transform:none}}.speed-badge-hot{border-color:var(--fire-2);color:var(--fire-2);background:radial-gradient(120% 180% at 50% 130%,var(--fire-glow) 0%,transparent 62%),var(--bg-raised);animation:badgeburn .9s ease-in-out infinite alternate}@keyframes badgeburn{0%{box-shadow:0 0 0 0 var(--fire-glow),0 4px 16px -6px var(--fire-glow)}to{box-shadow:0 0 0 4px color-mix(in srgb,var(--fire-2) 0%,transparent),0 8px 26px -6px var(--fire-glow)}}.speed-hot-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:800;font-size:12.5px;letter-spacing:.06em;background:linear-gradient(90deg,var(--fire-2),var(--fire-3),var(--fire-2),var(--fire-3));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:firesweep 2.4s linear infinite}.speed-hot-flame{line-height:0;color:var(--fire-2)}.speed-hot-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--fire-2);color:#fff;font-family:var(--font-body);font-size:11px;font-weight:800;letter-spacing:0;-webkit-text-fill-color:#fff}@keyframes firesweep{0%{background-position:0% 50%}to{background-position:300% 50%}}.speed-burst{position:absolute;left:50%;bottom:100%;margin-bottom:8px;transform:translate(-50%);z-index:45;pointer-events:none;display:grid;place-items:center}.board-stage{position:relative;overflow-x:clip;overflow-y:visible}.speed-flash{position:absolute;left:50%;top:50%;z-index:44;pointer-events:none;width:150vmin;height:150vmin;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,var(--fire-glow) 0%,transparent 46%);animation:heatwash .9s var(--ease-out) forwards}@keyframes heatwash{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}22%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.speed-burst-label{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;padding:7px 16px;border-radius:var(--radius-pill);background:var(--bg-raised);border:2px solid var(--fire-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--fire-2) 16%,transparent),0 12px 30px -8px var(--fire-glow);animation:burstpop 1.9s var(--ease-out) forwards}.speed-burst-text{font-family:var(--font-display);font-weight:800;font-size:clamp(15px,4.2vw,19px);letter-spacing:.04em;background:linear-gradient(90deg,var(--fire-2),var(--fire-3),var(--fire-2),var(--fire-3));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:firesweep 1.6s linear infinite}.speed-burst-text b{font-weight:800}@keyframes burstpop{0%{opacity:0;transform:scale(.55) rotate(-3deg)}14%{opacity:1;transform:scale(1.14) rotate(1.5deg)}22%{transform:scale(.98) rotate(-1deg)}30%{transform:scale(1.04) rotate(0)}38%{transform:scale(1)}80%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-22px) scale(.97)}}.speed-out{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:45;pointer-events:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-size:13px;font-weight:600;color:var(--fg-muted);background:var(--bg-raised);border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:4px 12px;animation:speedfade 1s var(--ease-out) forwards}.speed-out-smoke{width:9px;height:9px;border-radius:999px;background:color-mix(in srgb,var(--fg-muted) 45%,transparent);animation:smokeup .9s var(--ease-out) forwards}@keyframes smokeup{0%{opacity:.9;transform:translateY(2px) scale(.6)}to{opacity:0;transform:translateY(-14px) scale(1.9)}}@keyframes speedfade{0%{opacity:0}20%{opacity:1}70%{opacity:1}to{opacity:0}}.burn{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}.burn-smoke{position:absolute;left:50%;bottom:64%;width:46%;aspect-ratio:1;margin-left:-23%;border-radius:50%;background:radial-gradient(circle at 50% 60%,var(--smoke-core) 0%,var(--smoke-edge) 58%,transparent 72%);filter:blur(5px);opacity:0;animation:smokerise 1.4s ease-out forwards}@keyframes smokerise{0%{opacity:0;transform:translate(0) scale(calc(var(--sc) * .3)) rotate(0);filter:blur(3px)}22%{opacity:.52}55%{opacity:.34}to{opacity:0;transform:translate(var(--dx),-235%) scale(calc(var(--sc) * 1.75)) rotate(var(--rot));filter:blur(11px)}}.board[data-hot=true] .tile[data-state=select]{background:var(--fire-1);border-color:var(--fire-2);box-shadow:0 0 0 2px var(--fire-2),0 0 18px var(--fire-glow)}:root[data-motion=off] .speed-burst-label,:root[data-motion=off] .speed-out{animation:none!important;opacity:1}:root[data-motion=off] .flame-lit,:root[data-motion=off] .speed-badge-hot,:root[data-motion=off] .speed-hot-label,:root[data-motion=off] .speed-burst-text{animation:none!important}:root[data-motion=off] .burn{display:none}:root[data-motion=off] .speed-hot-label,:root[data-motion=off] .speed-burst-text{background:none;-webkit-text-fill-color:var(--fire-2);color:var(--fire-2)}:root[data-motion=off] .speed-flash,:root[data-motion=off] .speed-out-smoke{display:none}:root[data-motion=off] .speed-badge-hot{box-shadow:0 0 0 2px var(--fire-2)}.chip-fly-hot{text-shadow:0 0 10px var(--fire-glow),0 1px 0 color-mix(in srgb,var(--fire-3) 40%,transparent)}@media (prefers-reduced-motion: reduce){.speed-burst-label,.speed-out{animation:none!important;opacity:1}.flame-lit,.speed-badge-hot,.speed-hot-label,.speed-burst-text{animation:none!important}.burn{display:none}.speed-hot-label,.speed-burst-text{background:none;-webkit-text-fill-color:var(--fire-2);color:var(--fire-2)}.speed-flash,.speed-out-smoke{display:none}.speed-badge-hot{box-shadow:0 0 0 2px var(--fire-2)}.chip-fly-hot{text-shadow:0 0 10px var(--fire-glow),0 1px 0 color-mix(in srgb,var(--fire-3) 40%,transparent)}}
