:root{color-scheme:light;--space-2xs: 2px;--space-xs: 4px;--space-sm: 8px;--space-ms: 12px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--size-target: 44px;--press-scale: .94;--font-sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--text-body-size: 1rem;--text-body-weight: 400;--text-body-lh: 1.5;--text-label-size: .875rem;--text-label-weight: 400;--text-label-lh: 1.4;--text-number-size: 1.25rem;--text-number-weight: 700;--text-number-lh: 1.2;--text-heading-size: 1.5rem;--text-heading-weight: 700;--text-heading-lh: 1.2;--text-display-size: 2rem;--text-display-weight: 700;--text-display-lh: 1.1;--measure: 70ch;--motion-fast: .1s;--motion-base: .2s;--motion-slow: .32s;--motion-celebrate: 1.8s;--motion-ease: cubic-bezier(.2, 0, 0, 1);--elevation-1: 0 1px 3px var(--color-shadow);--elevation-2: 0 2px 8px var(--color-shadow);--elevation-3: 0 4px 14px var(--color-shadow);--color-page: #ffffff;--color-surface: #ffffff;--color-border: #d9dbde;--color-border-strong: #90959d;--color-scrim: #2d374899;--color-scrim-strong: #000000d9;--color-shadow: #00000040;--color-overlay-soft: #2d374824;--color-text: #2d3748;--color-on-surface: #2d3748;--color-muted: #707783;--color-accent-text: #2c6594;--color-destructive-text: #b63629;--color-board-frame: #2d3748;--color-board-line: #718096;--color-cell-bg: #ffffff;--color-cell-text: #2d3748;--color-notes: #565c65;--color-cell-peer-box: #e5f1fb;--color-cell-peer-line: #d5e9f8;--color-cell-same-bg: #c6e0f6;--color-cell-same-text: #2c6594;--color-cell-wrong-bg: #f4dbd9;--color-cell-wrong-text: #b63629;--color-cell-wrong-selected-bg: #c0392b;--color-cell-selected-bg: #4299e1;--color-cell-selected-text: #252d3b;--color-cell-hint: #aad1f2;--color-cell-hint-strong: #7bb8ea;--color-mark-1: #caddfc;--color-mark-2: #c6e7cf;--color-mark-3: #fee8a8;--color-mark-4: #fad0cd;--color-mark-5: #e7cbec;--color-accent: #4299e1;--color-accent-soft: #e5f1fb;--color-accent-bright: #84bdec;--color-on-accent: #252d3b;--color-destructive: #c0392b;--color-on-destructive: #ffffff;--color-control: #2d3748;--color-on-control: #ffffff;--color-hud-bg: #2d3748;--color-on-hud: #ffffff;--color-hud-chip-bg: #335273;--color-hud-chip-text: #ffffff;--color-focus: #7b818c;--color-focus-on-hud: #ffffff;--color-success: #2f855a;--color-warning: #b7791f}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-page: #1a202c;--color-surface: #1a202c;--color-border: #3e444f;--color-border-strong: #7e848e;--color-scrim: #00000099;--color-scrim-strong: #000000d9;--color-shadow: #00000040;--color-overlay-soft: #e2e8f024;--color-text: #e2e8f0;--color-on-surface: #e2e8f0;--color-muted: #a2a8b1;--color-accent-text: #73b4e9;--color-destructive-text: #f66e6e;--color-board-frame: #2d3748;--color-board-line: #718096;--color-cell-bg: #1a202c;--color-cell-text: #e2e8f0;--color-notes: #cccfd4;--color-cell-peer-box: #203145;--color-cell-peer-line: #233b54;--color-cell-same-bg: #264462;--color-cell-same-text: #73b4e9;--color-cell-wrong-bg: #412c36;--color-cell-wrong-text: #f66e6e;--color-cell-wrong-selected-bg: #f56565;--color-cell-selected-bg: #4299e1;--color-cell-selected-text: #1a202c;--color-cell-hint: #2c567d;--color-cell-hint-strong: #3675ab;--color-mark-1: #253c64;--color-mark-2: #214637;--color-mark-3: #69571e;--color-mark-4: #4e292e;--color-mark-5: #432b54;--color-accent: #4299e1;--color-accent-soft: #203145;--color-accent-bright: #68ade7;--color-on-accent: #1a202c;--color-destructive: #f56565;--color-on-destructive: #1a202c;--color-control: #e2e8f0;--color-on-control: #1a202c;--color-hud-bg: #e2e8f0;--color-on-hud: #1a202c;--color-hud-chip-bg: #b5d2ec;--color-hud-chip-text: #1a202c;--color-focus: #e2e8f0;--color-focus-on-hud: #1a202c;--color-success: #68d391;--color-warning: #f6ad55}}:root[data-theme=dark]{color-scheme:dark;--color-page: #1a202c;--color-surface: #1a202c;--color-border: #3e444f;--color-border-strong: #7e848e;--color-scrim: #00000099;--color-scrim-strong: #000000d9;--color-shadow: #00000040;--color-overlay-soft: #e2e8f024;--color-text: #e2e8f0;--color-on-surface: #e2e8f0;--color-muted: #a2a8b1;--color-accent-text: #73b4e9;--color-destructive-text: #f66e6e;--color-board-frame: #2d3748;--color-board-line: #718096;--color-cell-bg: #1a202c;--color-cell-text: #e2e8f0;--color-notes: #cccfd4;--color-cell-peer-box: #203145;--color-cell-peer-line: #233b54;--color-cell-same-bg: #264462;--color-cell-same-text: #73b4e9;--color-cell-wrong-bg: #412c36;--color-cell-wrong-text: #f66e6e;--color-cell-wrong-selected-bg: #f56565;--color-cell-selected-bg: #4299e1;--color-cell-selected-text: #1a202c;--color-cell-hint: #2c567d;--color-cell-hint-strong: #3675ab;--color-mark-1: #253c64;--color-mark-2: #214637;--color-mark-3: #69571e;--color-mark-4: #4e292e;--color-mark-5: #432b54;--color-accent: #4299e1;--color-accent-soft: #203145;--color-accent-bright: #68ade7;--color-on-accent: #1a202c;--color-destructive: #f56565;--color-on-destructive: #1a202c;--color-control: #e2e8f0;--color-on-control: #1a202c;--color-hud-bg: #e2e8f0;--color-on-hud: #1a202c;--color-hud-chip-bg: #b5d2ec;--color-hud-chip-text: #1a202c;--color-focus: #e2e8f0;--color-focus-on-hud: #1a202c;--color-success: #68d391;--color-warning: #f6ad55}@media (min-width: 75rem){:root{--space-2xs: .125rem;--space-xs: .25rem;--space-sm: .5rem;--space-ms: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--size-target: 2.75rem}}@media (min-width: 100rem) and (min-height: 56rem) and (max-resolution: 1.4dppx){html{font-size:112.5%}}@media (min-width: 140rem) and (min-height: 80rem) and (max-resolution: 1.4dppx){html{font-size:150%}}@media (min-width: 180rem) and (min-height: 112rem) and (max-resolution: 1.4dppx){html{font-size:200%}}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-wght-normal-3100e775.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*{box-sizing:border-box}:root{--layout-offline-gutter: 5rem;--layout-board-min: 240px;--layout-side-width: clamp(16rem, 36%, 22rem);--layout-hint-slot: calc(2 * var(--text-label-lh) * var(--text-label-size))}button,input,select,textarea{font:inherit}body{margin:0;font-family:var(--font-sans);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-lh);background:var(--color-page);color:var(--color-text)}button{font-family:inherit;cursor:pointer}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,a,summary,label,[role=radio],[role=gridcell]{touch-action:manipulation}.board,.numpad,.mark-picker,.cellpop{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app{max-width:480px;margin:0 auto;padding:max(var(--space-md),env(safe-area-inset-top)) max(var(--space-md),env(safe-area-inset-right)) max(var(--space-md),env(safe-area-inset-bottom)) max(var(--space-md),env(safe-area-inset-left));-webkit-user-select:none;user-select:none}h1{margin:0 0 var(--space-md);text-align:center;font-size:var(--text-heading-size);font-weight:var(--text-heading-weight);line-height:var(--text-heading-lh)}.app>h1{text-align:left;padding-inline-end:var(--layout-offline-gutter);overflow-wrap:anywhere}h2{margin:0;font-size:var(--text-heading-size);font-weight:var(--text-heading-weight);line-height:var(--text-heading-lh)}p{margin:0;max-width:var(--measure)}h1,h2,p{overflow-wrap:anywhere}.empty-state{position:static;display:block;padding:var(--space-sm);margin-bottom:var(--space-sm);border:1px dashed var(--color-border-strong);border-radius:12px;text-align:center}.empty-state h2{font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-lh)}.empty-state p{font-size:var(--text-body-size);line-height:var(--text-body-lh)}.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(4rem,calc((100% - 3 * var(--space-sm)) / 4)),1fr));gap:var(--space-sm);margin-top:var(--space-md)}.menu button{min-height:44px;padding:var(--space-sm);border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-on-surface);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh)}.menu+.cta{margin-top:var(--space-md)}.menu button.is-active{background:var(--color-control);border-color:var(--color-control);color:var(--color-on-control);font-weight:var(--text-heading-weight)}.cta{display:block;width:100%;min-height:48px;margin-top:var(--space-lg);padding:var(--space-md);border:0;border-radius:12px;background:var(--color-accent);color:var(--color-on-accent);font-size:var(--text-body-size);font-weight:var(--text-heading-weight);line-height:var(--text-body-lh)}.hud{display:flex;flex-wrap:wrap;row-gap:var(--space-xs);justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);border-radius:12px;background:var(--color-hud-bg);color:var(--color-on-hud);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);font-variant-numeric:tabular-nums}.hud .btn-invert{min-height:var(--size-target);min-width:var(--size-target);padding:var(--space-xs) var(--space-sm);border:0;border-radius:8px;background:var(--color-surface);color:var(--color-on-surface);font-size:var(--text-label-size);font-weight:var(--text-heading-weight);line-height:var(--text-label-lh)}.hud-clock{display:inline-flex;align-items:center;gap:var(--space-xs)}.hud-timer.is-paused{background:var(--color-hud-chip-bg);color:var(--color-hud-chip-text);border-radius:6px;padding:var(--space-xs) var(--space-sm)}.hud-flag{display:inline-block;margin-left:var(--space-xs);padding:0 var(--space-xs);border-radius:6px;background:var(--color-hud-chip-bg);color:var(--color-hud-chip-text);font-size:var(--text-label-size);text-transform:uppercase}.board{display:grid;grid-template-rows:repeat(9,1fr);aspect-ratio:1;border-radius:8px;touch-action:manipulation;overscroll-behavior:contain;background:linear-gradient(var(--color-board-line),var(--color-board-line)) 0 calc(100% / 3 * 1 - 1.5px) / 100% 3px,linear-gradient(var(--color-board-line),var(--color-board-line)) 0 calc(100% / 3 * 2 - 1.5px) / 100% 3px,linear-gradient(var(--color-board-line),var(--color-board-line)) calc(100% / 3 * 1 - 1.5px) 0 / 3px 100%,linear-gradient(var(--color-board-line),var(--color-board-line)) calc(100% / 3 * 2 - 1.5px) 0 / 3px 100%,var(--color-board-frame);gap:2px;padding:3px}.board-row{display:grid;grid-template-columns:repeat(9,1fr);gap:2px;min-height:0}.cell{position:relative;padding:0;border:0;background:var(--color-cell-bg);color:var(--color-cell-text);min-width:0;font-size:1rem;font-size:min(clamp(.875rem,5.4cqw,1.5rem),6.5cqw);font-weight:var(--text-body-weight);cursor:pointer;z-index:1}.cell.given{font-weight:var(--text-heading-weight)}.cell.box-col{box-shadow:inset 2px 0 0 var(--color-board-line)}.cell.box-row{box-shadow:inset 0 2px 0 var(--color-board-line)}.cell.box-col.box-row{box-shadow:inset 2px 2px 0 var(--color-board-line)}.cell.state-base{background:var(--color-cell-bg);color:var(--color-cell-text)}.cell.state-peer-box{background:var(--color-cell-peer-box);color:var(--color-cell-text)}.cell.state-peer-line{background:var(--color-cell-peer-line);color:var(--color-cell-text)}.cell.state-mark{color:var(--color-cell-text)}.cell.state-mark.mark-1{background:var(--color-mark-1)}.cell.state-mark.mark-2{background:var(--color-mark-2)}.cell.state-mark.mark-3{background:var(--color-mark-3)}.cell.state-mark.mark-4{background:var(--color-mark-4)}.cell.state-mark.mark-5{background:var(--color-mark-5)}.cell.state-hinted{background:var(--color-cell-hint);color:var(--color-cell-text)}.cell.state-same{background:var(--color-cell-same-bg);color:var(--color-cell-same-text);font-weight:var(--text-heading-weight)}.cell.state-same.given{text-decoration:underline 2px;text-underline-offset:3px}.cell.state-selected{background:var(--color-cell-selected-bg);color:var(--color-cell-selected-text);font-weight:var(--text-heading-weight)}.cell.state-wrong{background:var(--color-cell-wrong-bg);color:var(--color-cell-wrong-text)}.cell.state-wrong-selected{background:var(--color-cell-wrong-selected-bg);color:var(--color-on-destructive)}.cell.state-selected{outline:3px solid var(--color-cell-selected-text);outline-offset:-3px}.cell.state-same{outline:2px dashed var(--color-cell-same-text);outline-offset:-2px}.cell.state-wrong-selected{outline:3px solid var(--color-on-destructive);outline-offset:-3px}.cell.state-peer-line{outline:1px solid var(--color-border-strong);outline-offset:-1px}.cell.state-peer-box{outline:1px dotted var(--color-border-strong);outline-offset:-1px}.board .cell:focus-visible{outline:3px solid var(--color-focus);outline-offset:-3px}.cell.state-wrong,.cell.state-wrong-selected{text-decoration:underline wavy;text-underline-offset:3px}.cell.wrong:after{content:"×";position:absolute;top:1px;right:3px;font-size:min(.6875rem,3.4cqw);font-weight:var(--text-heading-weight);line-height:1;color:inherit}.cell.wrong .notes{color:var(--color-cell-wrong-text);font-weight:var(--text-heading-weight)}.cell.state-selected .notes{color:var(--color-cell-selected-text)}.cell.state-wrong-selected .notes{color:var(--color-on-destructive)}.empty-state-copy{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface);text-align:center}.empty-state-copy h2{margin:0 0 var(--space-xs)}.empty-state-copy p{margin:0;color:var(--color-muted)}.numpad{--layout-numpad-gap: var(--space-sm);display:grid;grid-template-columns:minmax(0,calc((100% - 4 * var(--layout-numpad-gap)) / 5)) minmax(0,1fr) minmax(0,calc((100% - 4 * var(--layout-numpad-gap)) / 5));gap:var(--layout-numpad-gap);margin-top:var(--space-md)}.numpad-side,.numpad-digits{display:grid;column-gap:var(--layout-numpad-gap);row-gap:var(--layout-numpad-gap);min-width:0}.numpad-side{grid-template-rows:repeat(4,1fr)}.numpad-digits{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,1fr)}.numpad button{min-width:0;overflow-wrap:anywhere;min-height:44px;padding:var(--space-sm) 0;border:0;border-radius:10px;background:var(--color-control);color:var(--color-on-control);font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-lh)}.numpad .hint-reason{grid-column:1 / -1;margin:0;text-align:center;color:var(--color-muted);font-size:var(--text-label-size);line-height:var(--text-label-lh);overflow-wrap:anywhere}.numpad button.is-active{background:var(--color-accent-soft);color:var(--color-accent-text);outline:2px solid var(--color-accent)}.numpad button.is-compact{font-size:var(--text-label-size);font-weight:var(--text-label-weight)}.numpad button.is-spent{opacity:.5;cursor:not-allowed}.numpad button:disabled{opacity:.25;cursor:default;text-decoration:line-through}.numpad button.num{position:relative}.numpad .num-left{position:absolute;top:var(--space-2xs);right:var(--space-xs);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:1;color:var(--color-on-control);pointer-events:none}.numpad button.num:disabled{opacity:1;background:transparent;color:var(--color-muted);text-decoration:none;outline:2px dashed var(--color-border-strong);outline-offset:-2px}.numpad button.notes-key{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-label-size);font-weight:var(--text-heading-weight)}.numpad-side button{padding:var(--space-xs) var(--space-2xs);line-height:var(--text-heading-lh)}.numpad-side button.notes-key{font-weight:var(--text-label-weight)}.numpad.notes-on button.num:not(:disabled){outline:2px dashed var(--color-accent);outline-offset:-4px}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.mark-dock{margin-top:var(--space-sm);position:relative;z-index:2;padding:var(--space-xs) 0;border-block:1px solid var(--color-border-strong);background:var(--color-surface);box-shadow:var(--elevation-2)}.mark-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--space-sm)}.mark-picker .mark-pick-hint{grid-column:1 / -1;padding-inline-end:calc(2 * (100% - 5 * var(--space-sm)) / 6 + 2 * var(--space-sm));align-self:center;min-height:var(--size-target);display:flex;align-items:center;margin:0;text-align:start;color:var(--color-muted);font-size:var(--text-label-size);line-height:var(--text-label-lh);overflow-wrap:anywhere}.mark-bar{position:absolute;top:var(--space-xs);right:0;width:calc(2 * (100% - 5 * var(--space-sm)) / 6 + var(--space-sm));display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}.mark-bar button{min-width:0;min-height:44px;padding:0;border-radius:10px;border:2px solid var(--color-border-strong);background:var(--color-control);color:var(--color-on-control)}.mark-bar button[aria-pressed=true]{background:var(--color-accent-soft);color:var(--color-accent-text);outline:2px solid var(--color-accent);outline-offset:1px}.mark-picker button{position:relative;min-width:0;min-height:44px;padding:0;border-radius:10px;border:2px solid var(--color-border-strong);background:var(--color-control);color:var(--color-cell-text)}.mark-picker button.mark-swatch.mark-1{background:var(--color-mark-1)}.mark-picker button.mark-swatch.mark-2{background:var(--color-mark-2)}.mark-picker button.mark-swatch.mark-3{background:var(--color-mark-3)}.mark-picker button.mark-swatch.mark-4{background:var(--color-mark-4)}.mark-picker button.mark-swatch.mark-5{background:var(--color-mark-5)}.mark-picker button.mark-remove{color:var(--color-on-control);border-color:transparent}.mark-picker button[aria-pressed=true]{outline:2px solid var(--color-accent);outline-offset:1px}.mark-picker button:disabled{opacity:.25;cursor:default}.cell[class*=mark-]:before,.mark-swatch:before{content:"";position:absolute;background:linear-gradient(currentColor,currentColor);pointer-events:none}.cell[class*=mark-]:before{top:2px;left:2px;width:min(.625rem,3.4cqw);height:min(.625rem,3.4cqw);z-index:-1}.mark-swatch:before{top:50%;left:50%;width:1rem;height:1rem;transform:translate(-50%,-50%)}.mark-1:before{clip-path:circle(50% at 50% 50%)}.mark-2:before{clip-path:polygon(50% 0%,100% 100%,0% 100%)}.mark-3:before{clip-path:polygon(8% 8%,92% 8%,92% 92%,8% 92%)}.mark-4:before{clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.mark-5:before{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;font-size:.625rem;font-size:min(3.6cqw,max(.625rem,min(3.3cqw,.9375rem)));line-height:1;grid-template-rows:repeat(3,1fr);color:var(--color-notes)}.notes i{font-style:normal;display:flex;align-items:center;justify-content:center}.notes i.note-conflict{color:var(--color-destructive-text)}.win{margin-top:var(--space-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.error{margin-top:var(--space-lg);text-align:center;color:var(--color-destructive-text)}.error p{font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--color-destructive-text)}.error .btn+.consent-link{margin-inline-start:var(--space-md)}.btn,.btn-destructive,.btn-destructive-outline{min-height:44px;padding:var(--space-sm) var(--space-lg);border-radius:10px;font-size:var(--text-body-size);font-weight:var(--text-heading-weight);line-height:var(--text-body-lh)}.btn{border:0;background:var(--color-control);color:var(--color-on-control)}.btn-destructive{border:0;background:var(--color-destructive);color:var(--color-on-destructive)}.btn-destructive-outline{margin-top:var(--space-md);border:1px solid var(--color-destructive);background:var(--color-surface);color:var(--color-destructive-text)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);background:var(--color-scrim)}.modal{width:100%;max-width:360px;padding:var(--space-lg);border-radius:12px;background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-border-strong);box-shadow:var(--elevation-3);display:flex;flex-direction:column;gap:var(--space-md)}.modal-actions{display:flex;flex-direction:column;gap:var(--space-sm)}html.modal-open{overflow:hidden}.adgate-backdrop{background:var(--color-scrim-strong)}.adgate{gap:var(--space-md)}.adgate-header{display:flex;justify-content:space-between;align-items:center}.adgate-label{font-size:var(--text-label-size);font-weight:var(--text-heading-weight);line-height:var(--text-label-lh);color:var(--color-accent-text);text-transform:uppercase;letter-spacing:.05em}.adgate-timer{font-size:var(--text-number-size);font-weight:var(--text-number-weight);line-height:var(--text-number-lh);font-variant-numeric:tabular-nums;color:var(--color-on-surface)}.adgate-close{min-width:32px;min-height:32px;padding:0;border:0;border-radius:8px;background:var(--color-overlay-soft);color:var(--color-on-surface);font-size:var(--text-body-size)}.adstage{display:flex;align-items:center;justify-content:center;min-height:160px;border-radius:10px;background:var(--color-hud-bg);padding:var(--space-md)}.adstage-copy{color:var(--color-on-hud);text-align:center;font-size:var(--text-body-size);line-height:var(--text-body-lh)}.adgate-progress{height:14px;border-radius:7px;background:var(--color-hud-bg);border:2px solid var(--color-accent);overflow:hidden}.adgate-progress-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-bright));box-shadow:inset 0 -3px 0 var(--color-shadow);transition:width var(--motion-fast) var(--motion-ease)}.adgate-reward{width:100%}.adgate-reward:disabled{opacity:.6;cursor:default}.adgate-skip{width:100%;margin-top:var(--space-xs);padding:var(--space-xs) 0;border:0;border-radius:10px;background:transparent;color:var(--color-muted);font-size:var(--text-label-size);font-weight:var(--text-body-weight);cursor:pointer}.consent-backdrop{z-index:30}.consent-notice-backdrop{z-index:60}.consent-body{font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--color-on-surface)}.consent-accept,.consent-reject{width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:10px;font-size:var(--text-body-size);font-weight:var(--text-heading-weight);line-height:var(--text-body-lh)}.consent-accept{margin-top:0;border:0;background:var(--color-accent);color:var(--color-on-accent)}.consent-reject{border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-on-surface)}.consent-link{min-height:var(--size-target);padding:var(--space-xs) 0;border:0;background:transparent;color:var(--color-accent-text);font-size:var(--text-label-size);line-height:var(--text-label-lh);text-decoration:underline;text-align:center}.privacy-settings-row{margin-top:var(--space-md)}.privacy-notice{max-width:480px;width:100%;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-lg);max-height:90vh;overflow-y:auto}.no-ads-notice-link{align-self:flex-start}.privacy-notice p{font-size:var(--text-body-size);line-height:var(--text-body-lh)}.privacy-notice a{color:var(--color-accent-text)}.auth-backdrop{z-index:20;padding:var(--space-lg);padding-left:max(var(--space-lg),env(safe-area-inset-left));padding-right:max(var(--space-lg),env(safe-area-inset-right));padding-top:max(var(--space-lg),env(safe-area-inset-top));padding-bottom:max(var(--space-lg),env(safe-area-inset-bottom))}.auth-dialog{max-height:100%;max-height:100dvh;overflow:hidden}.auth-body{display:flex;flex-direction:column;gap:var(--space-md);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.auth-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.auth-close{min-width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:var(--color-overlay-soft);color:var(--color-on-surface);font-size:var(--text-body-size)}.auth-menu{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-menu button{min-height:44px;overflow-wrap:anywhere}.field{display:flex;flex-direction:column;gap:var(--space-xs)}.field-label{font-size:var(--text-label-size);line-height:var(--text-label-lh)}.field-input{min-height:48px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface);font-family:inherit;font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-lh)}.field-input[aria-invalid=true]{border-color:var(--color-destructive)}.field-password{padding-right:calc(var(--size-target) + var(--space-sm))}.field-hint{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-on-surface)}.field-invalid{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-destructive-text)}.auth-error{margin-top:0;font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--color-destructive-text);overflow-wrap:anywhere}.btn-block{width:100%;min-height:48px;margin-top:var(--space-sm)}.hud a.btn-invert{display:flex;align-items:center;justify-content:center;min-height:var(--size-target);min-width:var(--size-target);padding:var(--space-xs) var(--space-sm);border:0;border-radius:8px;background:var(--color-surface);color:var(--color-on-surface);text-decoration:none;font-size:var(--text-label-size)}.btn-block:disabled{opacity:.6;cursor:default}.auth-links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm)}.auth-link{min-height:44px;padding:0;border:0;background:transparent;color:var(--color-on-surface);font-size:var(--text-label-size);line-height:var(--text-label-lh);text-align:left;text-decoration:underline}.auth-row{display:flex;flex-direction:column;gap:var(--space-xs)}.auth-row-outlined{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:10px}.auth-row-label{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-on-surface)}.auth-row-value{font-size:var(--text-body-size);line-height:var(--text-body-lh);color:var(--color-on-surface);overflow-wrap:anywhere}.auth-row-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.auth-row-hint{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-on-surface);overflow-wrap:anywhere}.auth-account{display:flex;flex-direction:column;gap:var(--space-md)}.auth-section{display:flex;flex-direction:column;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.auth-section:first-child{padding-top:0;border-top:0}.auth-section-title{margin:0;font-size:var(--text-label-size);font-weight:var(--text-heading-weight);line-height:var(--text-label-lh);color:var(--color-on-surface)}.auth-section-signout{margin-top:var(--space-sm);padding-top:var(--space-lg);border-top:2px solid var(--color-border-strong)}.auth-section .btn-block,.auth-section .btn-destructive-outline{margin-top:0}.auth-section a.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.auth-section .scheme-menu button{padding-inline:var(--space-xs);overflow-wrap:normal}.auth-section .btn-destructive-outline{display:block}.auth-consent{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-xs);padding-block:var(--space-sm)}.auth-check{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--size-target);cursor:pointer}.auth-check input{flex:none;margin:0;accent-color:var(--color-accent)}.account-reminder .btn-block{margin-top:0}.reminder-toggle{justify-content:space-between}.unsubscribe-panel{display:flex;flex-direction:column;gap:var(--space-md)}.unsubscribe-panel .btn{margin-top:var(--space-sm)}.unsubscribe-home{display:flex;align-items:center;justify-content:center;text-decoration:none}.account-challenge .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.auth-strip{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);margin-top:var(--space-md);border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface);font-size:var(--text-label-size);line-height:var(--text-label-lh);overflow-wrap:anywhere}.auth-strip button{min-height:44px;padding:0 var(--space-sm);border:0;background:transparent;color:var(--color-on-surface);text-decoration:underline}.hud-actions{display:flex;flex:1 1 auto;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs);align-items:center;min-width:0}.icon{width:1.25em;height:1.25em;flex:none;vertical-align:-.2em}.icon-lead{margin-inline-end:var(--space-xs)}.icon-trail{margin-inline-start:var(--space-xs)}.icon-tone-accent{color:var(--color-accent-text)}.icon-tone-danger{color:var(--color-destructive-text)}.icon-tone-success{color:var(--color-success)}.icon-tone-warning{color:var(--color-warning)}.icon-tone-muted{color:var(--color-muted)}.icon-tone-hud{color:var(--color-on-hud)}.hud-lives{display:inline-flex;align-items:center;gap:var(--space-xs)}.hud-lives .icon{vertical-align:0}.hud-lives .life-on{fill:currentColor}.hud-lives .life-lost{fill:none}.hud-actions .btn-invert{flex:none}.hud-actions .hud-account{flex:0 1 auto;min-width:6.5rem;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.btn,.cta,.menu button,.numpad button,.mark-picker button,.mark-bar button,.cellpop button,.theme-swatch,.scheme-menu button,.auth-menu button,.auth-strip button,.auth-close,.friend-toggle,.challenge-chip,.leaderboards [role=radio],.lb-friends-section [role=radio],.segment [role=radio],.theme-group summary{transition:background-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),outline-color var(--motion-fast) var(--motion-ease),opacity var(--motion-fast) var(--motion-ease)}@keyframes motion-fade-in{0%{opacity:0}}@keyframes motion-rise-in{0%{opacity:0;transform:translateY(var(--space-sm))}}.modal-backdrop{animation:motion-fade-in var(--motion-base) var(--motion-ease)}.modal{animation:motion-rise-in var(--motion-base) var(--motion-ease)}.theme-group[open]>.theme-group-rows{animation:motion-fade-in var(--motion-base) var(--motion-ease)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-property:opacity!important;animation:none!important;scroll-behavior:auto!important}.modal-backdrop,.modal,.theme-group[open]>.theme-group-rows{animation:motion-fade-in var(--motion-base) var(--motion-ease)!important}}@keyframes cell-pop{40%{transform:scale(1.14)}}@keyframes cell-shake{20%{transform:translate(calc(var(--space-xs) * -1))}40%{transform:translate(var(--space-xs))}60%{transform:translate(calc(var(--space-xs) * -1))}80%{transform:translate(var(--space-xs))}}@keyframes cell-flash{50%{opacity:.35}}@keyframes result-icon-pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.15);opacity:1}}.board .cell[data-fx=pop]{z-index:2;animation:cell-pop var(--motion-base) var(--motion-ease)}.board .cell[data-fx=shake]{z-index:2;animation:cell-shake var(--motion-slow) var(--motion-ease)}.board .cell[data-fx=flash]{animation:cell-flash calc(var(--motion-slow) * 2) var(--motion-ease)}@media (prefers-reduced-motion: reduce){.board .cell[data-fx=flash]{outline:2px solid var(--color-accent);outline-offset:-2px}.board .cell[data-fx=shake]{outline:2px dashed var(--color-cell-wrong-text);outline-offset:-2px}}.vibration-toggle[aria-checked=true],.reminder-toggle[aria-checked=true]{outline:2px solid var(--color-accent);outline-offset:2px}.result-panel{animation:motion-fade-in var(--motion-base) var(--motion-ease)}.result-panel h2 .icon-lead{animation:result-icon-pop var(--motion-slow) var(--motion-ease)}@keyframes celebrate-burst{0%{transform:translate(0) rotate(var(--rot)) scale(.3);opacity:0;animation-timing-function:var(--motion-ease)}6%{opacity:1}38%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--rot) + var(--spin) * .4)) scale(1);opacity:1;animation-timing-function:ease-in}72%{opacity:1}to{transform:translate(calc(var(--dx) * 1.12),calc(var(--dy) + var(--fall))) rotate(calc(var(--rot) + var(--spin))) scale(.8);opacity:0}}@keyframes celebrate-ring{0%{transform:translate(-50%,-50%) scale(.1);opacity:0}15%{opacity:1}to{transform:translate(-50%,-50%) scale(2.2);opacity:0}}.celebrate{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:12}.celebrate-p{position:absolute;width:var(--space-sm);height:var(--space-sm);border-radius:50%;background:var(--color-accent);opacity:0;will-change:transform,opacity;animation:celebrate-burst var(--motion-celebrate) var(--motion-ease) var(--delay) both}.celebrate-p[data-s="0"]{width:var(--space-sm);height:var(--space-sm)}.celebrate-p[data-s="1"]{width:var(--space-ms);height:var(--space-ms)}.celebrate-p[data-s="2"]{width:var(--space-md);height:var(--space-md)}.celebrate-p[data-k="1"]{border-radius:var(--space-2xs)}.celebrate-p[data-k="1"][data-s="0"]{width:var(--space-ms);height:var(--space-sm)}.celebrate-p[data-k="1"][data-s="1"]{width:var(--space-md);height:var(--space-ms)}.celebrate-p[data-k="1"][data-s="2"]{width:var(--space-lg);height:var(--space-ms)}.celebrate-p[data-k="2"]{border-radius:var(--space-2xs);height:var(--space-xs)}.celebrate-p[data-k="2"][data-s="0"]{width:var(--space-lg)}.celebrate-p[data-k="2"][data-s="1"]{width:var(--space-xl)}.celebrate-p[data-k="2"][data-s="2"]{width:calc(var(--space-xl) + var(--space-sm))}.celebrate-p[data-c="1"]{background:var(--color-success)}.celebrate-p[data-c="2"]{background:var(--color-warning)}.celebrate-p[data-c="3"]{background:var(--color-accent-bright)}.celebrate-p[data-c="4"]{background:var(--color-destructive)}.celebrate-p[data-c="5"]{background:var(--color-focus)}.celebrate-ring{position:absolute;width:calc(var(--space-3xl) * 2);height:calc(var(--space-3xl) * 2);border:var(--space-xs) solid var(--color-accent);border-radius:50%;opacity:0;animation:celebrate-ring calc(var(--motion-slow) * 2) var(--motion-ease) var(--delay) both}.celebrate-ring[data-c="1"]{border-color:var(--color-success)}.celebrate-ring[data-c="2"]{border-color:var(--color-warning)}.celebrate-ring[data-c="3"]{border-color:var(--color-accent-bright)}.celebrate-ring[data-c="4"]{border-color:var(--color-destructive)}.celebrate-ring[data-c="5"]{border-color:var(--color-focus)}@media (prefers-reduced-motion: reduce){.celebrate{display:none}}.error.result-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.error.result-panel p,.error.result-panel h2{margin:0}.error.result-panel .win-compare,.error.result-panel .win-stats{font-size:var(--text-label-size);line-height:var(--text-label-lh)}.game-side .result-panel{gap:var(--space-sm)}.game-side .error.result-panel .win-actions{margin-top:0}.btn:active:not(:disabled),.btn-destructive:active:not(:disabled),.btn-destructive-outline:active:not(:disabled),.cta:active:not(:disabled),.btn-invert:active:not(:disabled),.menu button:active:not(:disabled),.numpad button:active:not(:disabled),.mark-picker button:active:not(:disabled),.mark-bar button:active:not(:disabled),.cellpop button:active:not(:disabled),.scheme-menu button:active:not(:disabled),.auth-menu button:active:not(:disabled),.auth-strip button:active:not(:disabled),.friend-toggle:active:not(:disabled),.challenge-chip:active,.leaderboards [role=radio]:active,.lb-friends-section [role=radio]:active,.segment [role=radio]:active,.theme-swatch:active,.theme-group summary:active{transform:scale(var(--press-scale))}.pause-panel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm);overflow:auto;text-align:center;background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-border-strong);border-radius:12px}.pause-panel h2,.pause-panel p{margin:0}.pause-panel .cta,.pause-panel .btn{min-height:var(--size-target);min-width:10rem;margin:0}.board.is-paused{visibility:hidden}.board .cell:active{transform:scale(var(--press-scale));outline:2px solid var(--color-accent);outline-offset:-2px}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.hud :focus-visible,.hud-actions :focus-visible{outline-color:var(--color-focus-on-hud)}.cta:focus-visible{outline-color:var(--color-accent-text)}.highscore{margin-top:var(--space-ms);padding:var(--space-sm) var(--space-ms);border:1px solid var(--color-border-strong);border-radius:8px}.highscore h2{margin:0 0 var(--space-sm);font-size:var(--text-heading-size)}.highscore table{width:100%;border-collapse:collapse;font-size:var(--text-label-size)}.highscore th,.highscore td{text-align:left;padding:var(--space-2xs) var(--space-sm) var(--space-2xs) 0;white-space:nowrap}.board-notice-slot{position:relative;height:0}.board-notice{position:absolute;top:calc(-1 * var(--space-sm));left:var(--space-md);right:var(--space-md);z-index:15;margin:0;padding:var(--space-xs) var(--space-sm);border-radius:8px;background:var(--color-hud-chip-bg);color:var(--color-hud-chip-text);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);text-align:center;pointer-events:none}.board-notice:empty{display:none}.offline-slot{position:fixed;top:0;left:0;right:0;height:0;z-index:15;pointer-events:none}.offline-notice{position:absolute;top:max(var(--space-sm),env(safe-area-inset-top));right:max(var(--space-sm),env(safe-area-inset-right));margin:0;padding:var(--space-xs) var(--space-sm);border-radius:8px;background:var(--color-hud-chip-bg);color:var(--color-hud-chip-text);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);pointer-events:none}.offline-notice:empty{display:none}.board-wrap{position:relative;container-type:inline-size}.cellpop{position:absolute;z-index:20;transform:translateY(4px);background:var(--color-surface);color:var(--color-on-surface);border:1px solid var(--color-border-strong);border-radius:10px;box-shadow:var(--elevation-3);padding:var(--space-xs);min-width:180px}.cellpop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2xs)}.cellpop button{min-width:0;padding:var(--space-sm) 0;font-size:var(--text-body-size)}@keyframes hint-blink{0%,to{box-shadow:0 0 0 3px var(--color-accent);background:var(--color-cell-hint)}50%{box-shadow:0 0 0 6px var(--color-cell-hint);background:var(--color-cell-hint-strong)}}.cell.state-hinted{animation:hint-blink calc(var(--motion-slow) * 2.5) var(--motion-ease) 5;box-shadow:0 0 0 3px var(--color-accent)}.theme-swatches{display:inline-flex;flex-wrap:wrap;gap:var(--space-xs)}.theme-swatch{box-sizing:border-box;width:44px;height:44px;padding:var(--space-sm);border:0;border-radius:50%;background-clip:content-box;cursor:pointer}.theme-swatch.is-active{outline:2px solid var(--color-text);outline-offset:-3px}.scheme-menu{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--space-sm)}.scheme-menu button{min-height:44px;overflow-wrap:anywhere}.theme-editor{display:flex;flex-direction:column;gap:var(--space-md);-webkit-user-select:auto;user-select:auto}.theme-editor>.back-link{margin-bottom:0;align-self:flex-start}.theme-editor>h1{margin:0}.theme-editor a.btn{display:inline-flex;align-items:center;text-decoration:none;min-height:44px;padding:var(--space-sm) var(--space-md);border-radius:10px}.theme-editor .btn,.theme-editor .btn-destructive{min-height:44px;cursor:pointer}.theme-section{display:flex;flex-direction:column;gap:var(--space-sm)}.theme-note{font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-muted)}.theme-preview{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-sm);border:1px solid var(--color-border);border-radius:10px;background:var(--color-page);pointer-events:none}.theme-preview-board{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;border-radius:8px;background:var(--color-board-frame)}.theme-preview-board .cell{display:flex;align-items:center;justify-content:center;min-height:40px}.theme-preview-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.theme-preview-cta,.theme-preview-destructive{width:auto;margin-top:0;padding:var(--space-sm) var(--space-md);text-align:center}.theme-group{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface)}.theme-group summary{min-height:44px;display:flex;align-items:center;padding:0 var(--space-md);cursor:pointer;font-weight:var(--text-heading-weight)}.theme-group-rows{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-xs) var(--space-md) var(--space-md)}.theme-token-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm)}.theme-token-field{flex:1 1 160px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:44px}.theme-token-label{min-width:0;overflow-wrap:anywhere;font-size:var(--text-label-size);line-height:var(--text-label-lh)}.theme-token-field .theme-color-input{flex:none}.theme-token-reset{max-width:100%;white-space:normal;overflow-wrap:anywhere}.theme-token-hint{flex-basis:100%;font-size:var(--text-label-size);line-height:var(--text-label-lh);color:var(--color-muted)}.theme-color-input{box-sizing:border-box;width:56px;height:44px;padding:var(--space-2xs);border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-surface);cursor:pointer}.theme-token-reset:disabled{cursor:default;background:var(--color-surface);color:var(--color-muted);border:1px solid var(--color-border)}.contrast-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs)}.contrast-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:8px;font-size:var(--text-label-size);line-height:var(--text-label-lh)}.contrast-row.is-warning{border-color:var(--color-destructive);color:var(--color-destructive-text)}.contrast-label{flex:1 1 160px}.contrast-ratio{font-variant-numeric:tabular-nums;font-weight:var(--text-heading-weight)}.contrast-status{font-weight:var(--text-heading-weight)}.theme-resets{flex-direction:row;flex-wrap:wrap}.home-top{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-sm)}.home-top>.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-width:0;min-height:var(--size-target);padding:var(--space-sm) var(--space-ms);border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-top>.home-challenge,.home-top>:last-child:nth-child(2n){grid-column:1 / -1}.lb-podium-1 td{font-weight:700}.lb-you{font-weight:700;color:var(--color-accent-text)}.leaderboards tr.lb-you-row td{background:var(--color-accent-soft);color:var(--color-on-surface);font-weight:700}.leaderboards tr.lb-you-row td:first-child{border-inline-start:4px solid var(--color-accent-text)}.leaderboards tr.lb-you-row .lb-you{color:var(--color-accent-text)}.leaderboards tr.lb-you-row:focus-visible{outline-offset:-2px}.leaderboards .lb-jump-own,.leaderboards .lb-own-note,.leaderboards .lb-friends-guest{margin-top:var(--space-sm)}.leaderboards .lb-jump-own{min-height:var(--size-target)}.leaderboards .lb-own-note,.leaderboards .lb-friends-guest{color:var(--color-muted);font-size:var(--text-label-size);line-height:var(--text-label-lh)}@keyframes skeleton-pulse{0%{opacity:1}to{opacity:.45}}.leaderboards .lb-skeleton td{height:var(--size-target)}.skeleton-bar{display:block;height:1em;border-radius:4px;background:var(--color-border);animation:skeleton-pulse var(--motion-slow) var(--motion-ease) infinite alternate}.leaderboards .lb-skeleton td:nth-child(1) .skeleton-bar{width:1.5em}.leaderboards .lb-skeleton td:nth-child(2) .skeleton-bar{width:60%;max-width:10em}.leaderboards .lb-skeleton td:nth-child(3) .skeleton-bar{width:3em}.leaderboards .lb-skeleton td:nth-child(4) .skeleton-bar{width:1.5em}.home-top .challenge-chip{background:none;color:inherit;padding:0}.challenge-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:0 var(--space-xs);border-radius:6px;background:var(--color-accent-soft);color:var(--color-accent-text);font-size:var(--text-label-size);max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.challenge-chip-title,.challenge-chip-state,.challenge-chip-diff{overflow:hidden;text-overflow:ellipsis}.challenge-streak{font-variant-numeric:tabular-nums}.challenge-no-hints{margin-left:var(--space-xs)}.back-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px;margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:10px;text-decoration:none}@keyframes view-enter{0%{opacity:0;transform:translateY(var(--space-sm))}}.view-frame{animation:view-enter var(--motion-base) var(--motion-ease) backwards}h1[tabindex="-1"]:focus-visible{outline:2px solid var(--color-accent);outline-offset:var(--space-2xs)}.leaderboards>section,.challenge-page>section{margin-top:var(--space-lg)}.leaderboards h2,.challenge-page h2{margin-bottom:var(--space-sm)}.segment{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.leaderboards>.segment{margin-top:var(--space-md)}.segment [role=radio]{flex:1 1 auto;min-height:var(--size-target);min-width:var(--size-target);padding:var(--space-sm);border-radius:10px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-on-surface);font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh)}.segment [role=radio].is-active{background:var(--color-control);border-color:var(--color-control);color:var(--color-on-control);font-weight:var(--text-heading-weight)}.leaderboards table,.challenge-page table{width:100%;margin-top:var(--space-md);border-collapse:collapse;table-layout:auto}.leaderboards th,.leaderboards td,.challenge-page th,.challenge-page td{padding:var(--space-xs);border-bottom:1px solid var(--color-border);text-align:left;overflow-wrap:break-word;white-space:nowrap;font-variant-numeric:tabular-nums}.leaderboards .lb-name,.challenge-page .lb-name,.highscore .lb-name{white-space:normal;overflow-wrap:anywhere;width:100%}.leaderboards td .btn{white-space:normal;overflow-wrap:anywhere;padding-inline:var(--space-sm)}.leaderboards th,.challenge-page th{white-space:normal;font-size:var(--text-label-size);overflow-wrap:anywhere;min-width:min(4.5em,18vw)}.leaderboards .error,.challenge-page .error{margin-top:var(--space-sm)}.leaderboards>.btn:not(.back-link),.leaderboards .btn[data-testid=lb-refresh]{margin-top:var(--space-lg);min-height:44px}.leaderboards .lb-loading,.leaderboards .lb-empty{color:var(--color-muted);text-align:center;white-space:normal}.result-card p{overflow-wrap:anywhere}.result-sheet{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);color:var(--color-on-surface);display:flex;flex-direction:column;gap:var(--space-md)}.result-title{font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);color:var(--color-muted)}.result-outcome{display:flex;align-items:center;margin:0 0 var(--space-md);font-size:var(--text-display-size);font-weight:var(--text-display-weight);line-height:var(--text-display-lh);white-space:nowrap}.result-outcome .icon{width:1em;height:1em}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(max(7rem,40%),1fr));gap:var(--space-md) var(--space-md);margin:0}.result-item{min-width:0}.result-item-wide{grid-column:1 / -1}.result-item dt{font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);color:var(--color-muted)}.result-item dd{margin:0;font-size:var(--text-number-size);font-weight:var(--text-number-weight);line-height:var(--text-number-lh);font-variant-numeric:tabular-nums;white-space:nowrap}.result-item-wide dd,.result-item dd[data-testid=result-player]{white-space:normal;overflow-wrap:anywhere}.result-challenge dd{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-sm);font-size:var(--text-body-size)}.result-challenge .hud-flag,.result-challenge span{margin:0;white-space:nowrap}.result-item dd.result-date{font-size:var(--text-body-size);font-weight:var(--text-body-weight);line-height:var(--text-body-lh);white-space:normal;overflow-wrap:normal}.result-item dd.result-rank{white-space:nowrap}.result-board{margin-top:var(--space-md)}.result-board-title{font-size:var(--text-label-size);font-weight:var(--text-label-weight);line-height:var(--text-label-lh);color:var(--color-muted)}.result-board table{width:100%;margin-top:var(--space-sm);border-collapse:collapse;table-layout:auto}.result-board th,.result-board td{padding:var(--space-xs);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}.result-board th{white-space:normal;font-size:var(--text-label-size);overflow-wrap:anywhere;min-width:min(4.5em,18vw)}.result-board .lb-name{white-space:normal;overflow-wrap:anywhere;width:100%}.result-board tr.lb-you-row td{background:var(--color-accent-soft);color:var(--color-on-surface);font-weight:700}.result-board tr.lb-you-row td:first-child{border-inline-start:4px solid var(--color-accent-text)}.result-board tr.lb-you-row .lb-you{color:var(--color-accent-text)}.result-board .result-board-cue{display:block;font-size:var(--text-label-size);line-height:var(--text-label-lh)}.result-board tr.result-board-gap td{border-top:2px solid var(--color-border-strong)}.result-board-empty{margin:var(--space-sm) 0 0;color:var(--color-muted)}.result-invite{margin:0;color:var(--color-on-surface)}.result-sheet .cta{margin-top:0}.error>.cta{margin-top:var(--space-md)}.profile-links{display:flex;flex-wrap:wrap;gap:0 var(--space-md);margin:0}.profile-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;overflow-wrap:anywhere}.leaderboards .lb-stale{margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-on-surface);font-size:var(--text-label-size);line-height:var(--text-label-lh)}.leaderboards .error .btn,.challenge-error-row .btn,.challenge-view .btn,.challenge-league .btn,.challenge-friends-empty .btn{min-height:44px;margin-top:var(--space-sm)}.win-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:var(--space-md)}.challenge-view,.challenge-calendar,.challenge-friends,.challenge-friends-empty,.challenge-sections-guest,.challenge-league,.challenge-badges,.challenge-error-row{margin-top:var(--space-lg);padding:var(--space-md);border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-on-surface)}.challenge-view>*+*,.challenge-friends>*+*,.challenge-league>*+*{margin-top:var(--space-sm)}.challenge-view .cta{margin-top:var(--space-md)}.challenge-format,.challenge-status-line{overflow-wrap:anywhere}.challenge-calendar-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--space-xs)}.challenge-calendar-cell{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--color-border-strong);border-radius:8px;background:var(--color-page);color:var(--color-text)}.challenge-calendar-cell.is-completed{border-color:var(--color-success)}.challenge-calendar-cell.is-today{border-color:var(--color-accent-text);color:var(--color-accent-text)}.challenge-friends ul,.challenge-badges ul{margin:0;padding:0;list-style:none}.challenge-friends li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--space-xs);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border)}.challenge-friend-name,.challenge-friend-result{overflow-wrap:anywhere}.challenge-league tr[data-highlighted=true] td{font-weight:700;color:var(--color-accent-text)}.challenge-calendar-error,.challenge-friends-error,.challenge-badges-error,.challenge-league-error{color:var(--color-destructive-text)}@media (hover: hover){.btn:hover:not(:disabled),.numpad button:hover:not(:disabled):not(.is-active),.mark-picker button:hover:not(:disabled):not(.is-active),.mark-bar button:hover:not(:disabled),.segment [role=radio].is-active:hover,.menu button.is-active:hover,.auth-strip button:hover:not(:disabled),.scheme-menu button:hover:not(:disabled):not(.is-active),.auth-menu button:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-control) 80%,var(--color-accent))}.hud .btn-invert:hover:not(:disabled),.menu button:hover:not(:disabled):not(.is-active),.segment [role=radio]:hover:not(.is-active),.leaderboards [role=radio]:hover:not(.is-active),.lb-friends-section [role=radio]:hover:not(.is-active),.home-top>.btn:hover,.challenge-chip:hover,.theme-group summary:hover,.friend-toggle:hover:not(:disabled),.auth-close:hover{background-color:var(--color-accent-soft)}.cta:hover:not(:disabled),.btn-destructive:hover:not(:disabled){filter:brightness(1.1);box-shadow:var(--elevation-2)}.btn-destructive-outline:hover:not(:disabled){background-color:var(--color-overlay-soft)}.theme-swatch:hover{box-shadow:var(--elevation-2)}.cell:not(.state-selected):not(.state-wrong-selected):hover{outline:2px solid var(--color-accent);outline-offset:-2px}a[href],summary,label,select,[role=radio],input[type=color],input[type=checkbox]{cursor:pointer}}@media (prefers-contrast: more){.cell{border:1px solid var(--color-border-strong)}.btn,.cta,.numpad button,.menu button,.consent-accept,.consent-reject{border:1px solid var(--color-text)}}.install-offer{position:absolute;inset-inline:var(--space-sm);bottom:var(--space-sm);max-height:calc(100% - 2 * var(--space-sm));overflow-y:auto;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-strong);border-radius:12px;background:var(--color-surface);color:var(--color-on-surface);box-shadow:var(--elevation-2);z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);text-align:center}.install-offer p{margin:0;font-size:var(--text-label-size);line-height:var(--text-label-lh)}.install-offer-actions{display:flex;gap:var(--space-sm);justify-content:center;flex-wrap:wrap}.install-offer .consent-link{min-height:44px}.friends-page>.segment{margin-top:var(--space-md)}.friends-page>section[hidden]{display:none}.friends-page>section{margin-top:var(--space-lg)}.friends-search label{display:block;margin-bottom:var(--space-sm);color:var(--color-on-surface)}.friends-search input{box-sizing:border-box;width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border-strong);border-radius:10px;background:var(--color-surface);color:var(--color-on-surface);font:inherit}.friends-search input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.friends-hint{margin-top:var(--space-sm);color:var(--color-on-surface)}.friends-error p,.friend-row-error{color:var(--color-destructive-text)}.friend-list{list-style:none;margin:var(--space-sm) 0 0;padding:0}.friend-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border);color:var(--color-on-surface)}.friend-name{flex:1 1 8rem;min-width:0;overflow-wrap:anywhere}.friend-country,.friend-following-hint{min-width:0;overflow-wrap:anywhere;color:var(--color-on-surface)}.friend-toggle{min-height:44px;min-width:44px}.friend-row-error{flex:1 0 100%;margin:0}.lb-friends-section{margin-top:var(--space-lg)}.lb-friends-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);color:var(--color-on-surface)}.lb-friends-empty .btn{min-height:44px;display:inline-flex;align-items:center}@media (forced-colors: active){.cell.state-selected,.cell.state-wrong-selected{outline:3px solid Highlight;outline-offset:-3px}.cell.state-wrong,.cell.state-wrong-selected{border:2px dashed CanvasText}.cell.state-same{outline:2px dotted Highlight;outline-offset:-2px}.cell.state-hinted{outline:2px solid Highlight;outline-offset:-2px}:focus-visible{outline:2px solid Highlight;outline-offset:2px}.cell[class*=mark-]:before,.mark-swatch:before{background:CanvasText;forced-color-adjust:none}.skeleton-bar{border:1px solid GrayText;background:none;forced-color-adjust:none}.btn,.cta,.friend-toggle,.segment [role=radio],.lb-friends-section [role=radio],.numpad button,.menu button{border:1px solid ButtonText}}.app{max-width:30rem}.app-game{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:40rem}.app-game>h1{margin:0 0 var(--space-sm);flex:none}.app-game .hud{margin-bottom:0}.app-game>section.error{position:relative;z-index:1}@media (max-width: 23rem){.app-game{padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left))}}.game-layout{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(var(--layout-board-min),1fr) auto;gap:var(--space-sm)}.game-board{min-height:0;min-width:0;container-type:size;display:flex;align-items:center;justify-content:center}.board-wrap{width:min(100%,28rem);width:min(100cqw,100cqh);flex:none}.board{width:100%}.game-side{min-width:0;min-height:0;position:relative}.game-side .numpad{margin-top:0;max-width:100%}.game-side input{max-width:100%}.game-side .win{margin-top:0;gap:var(--space-sm)}.game-side .win .win-actions{margin-top:0}.game-side .win h2{margin:0}.win-compare,.win-errors,.win-stats,.win-streak{margin:0;overflow-wrap:anywhere;font-size:var(--text-label-size);line-height:var(--text-label-lh)}.win-compare{font-weight:var(--text-heading-weight)}.numpad .hint-reason{min-height:var(--layout-hint-slot)}.numpad:not(:has(.hint-reason)):after{content:"";grid-column:1 / -1;min-height:var(--layout-hint-slot)}@media (orientation: landscape) and (max-height: 37.5rem),(orientation: landscape) and (min-aspect-ratio: 4/3){.app-game{max-width:64rem}.game-layout{grid-template-columns:minmax(0,1fr) var(--layout-side-width);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "board side";column-gap:var(--space-md)}.game-layout>.hud{grid-area:hud}.game-board{grid-area:board;min-height:var(--layout-board-min)}.game-side{grid-area:side;overflow-y:auto;align-self:stretch}.game-side .win,.game-side .error{margin-top:0}}@media (orientation: landscape) and (max-height: 37.5rem){.app-game{padding-top:max(var(--space-xs),env(safe-area-inset-top));padding-bottom:max(var(--space-xs),env(safe-area-inset-bottom))}.app-game>h1{display:flex;align-items:center;min-height:1.75rem;margin:0 0 var(--space-xs);font-size:var(--text-body-size)}.game-layout>.hud{padding:var(--space-xs) var(--space-sm);margin-bottom:0}.game-layout{gap:var(--space-xs) var(--space-md)}.mark-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.mark-picker .mark-pick-hint{padding-inline-end:0}.mark-dock{display:grid;gap:var(--space-sm)}.mark-bar{position:static;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}.mark-bar .mark-close{grid-column:3}}@media (orientation: portrait){.mark-dock{position:absolute;left:0;right:0;bottom:0;margin-top:0}}@media (orientation: portrait) and (max-width: 30rem){.app-game{padding:max(var(--space-sm),env(safe-area-inset-top)) max(var(--space-sm),env(safe-area-inset-right)) max(var(--space-sm),env(safe-area-inset-bottom)) max(var(--space-sm),env(safe-area-inset-left))}.app-game>h1{display:flex;align-items:center;justify-content:center;min-height:1.75rem;margin:0 0 var(--space-xs);font-size:var(--text-body-size)}.game-layout{gap:var(--space-xs)}.game-board{margin-inline-start:calc(max(var(--space-2xs),env(safe-area-inset-left)) - max(var(--space-sm),env(safe-area-inset-left)));margin-inline-end:calc(max(var(--space-2xs),env(safe-area-inset-right)) - max(var(--space-sm),env(safe-area-inset-right)))}.game-layout>.hud{padding:var(--space-xs) var(--space-sm);row-gap:var(--space-xs)}.hud-actions{flex:1 1 100%;justify-content:space-between}.hud-actions .hud-account{flex:1 1 auto}.numpad,.numpad-side,.numpad-digits{row-gap:var(--space-xs)}}@media (orientation: portrait) and (max-width: 24rem){.app-game{height:auto;min-height:100vh;min-height:100dvh}.app-game>h1{margin-bottom:var(--space-xs)}.game-layout{flex:1 1 auto;grid-template-rows:auto auto auto;align-content:start;gap:var(--space-xs)}.game-board{container-type:normal;display:block;min-height:0}.board-wrap{width:min(100%,max(var(--layout-board-min),90vh));width:min(100%,max(var(--layout-board-min),90dvh));margin-inline:auto}.numpad .hint-reason{min-height:0}.numpad:not(:has(.hint-reason)):after{display:none}.mark-dock{position:sticky;left:auto;right:auto;bottom:var(--space-sm);margin-top:var(--space-sm)}}@media (orientation: portrait) and (max-width: 22rem){.game-layout>.hud{padding-inline:var(--space-xs)}.hud-actions{gap:var(--space-2xs)}.numpad{--layout-numpad-gap: var(--space-xs)}}@media (min-width: 75rem){:root{--layout-home-width: 36rem;--layout-view-width: 48rem;--layout-shell-width: 72rem;--layout-dialog-width: 30rem;--layout-side-width: clamp(24rem, 38%, 30rem);--layout-board-cap: 82vh}html{scrollbar-gutter:stable}.app{max-width:var(--layout-home-width);padding-top:max(var(--space-xl),env(safe-area-inset-top))}.view-frame{max-width:var(--layout-view-width)}.app-game{max-width:var(--layout-shell-width);padding-top:max(var(--space-md),env(safe-area-inset-top))}.app-game>h1{text-align:left}.board-wrap{width:min(100cqw,100cqh,var(--layout-board-cap))}.offline-notice{right:max(var(--space-sm),env(safe-area-inset-right),calc((100% - var(--layout-shell-width)) / 2 + var(--space-md)))}.modal{max-width:var(--layout-dialog-width)}.auth-dialog{max-height:calc(100dvh - 2 * var(--space-lg))}.theme-swatch{width:var(--size-target);height:var(--size-target)}.theme-color-input{width:3.5rem;height:var(--size-target)}.auth-close{min-width:var(--size-target);min-height:var(--size-target)}.adgate-close{min-width:2rem;min-height:2rem}.cta{min-height:3rem}.cellpop{min-width:11.25rem}.game-side .numpad button{min-height:4rem}.game-side .numpad button.num{font-size:var(--text-number-size)}}@media (min-width: 75rem) and (orientation: landscape){.app-game{padding-bottom:max(var(--space-md),env(safe-area-inset-bottom))}.game-layout{grid-template-columns:minmax(0,1fr) var(--layout-side-width);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"hud hud" "board side";column-gap:var(--space-lg);row-gap:var(--space-md)}.game-layout>.hud{grid-area:hud}.game-board{grid-area:board;min-height:var(--layout-board-min);align-items:flex-start;justify-content:flex-start}.game-side{grid-area:side;overflow-y:auto;align-self:stretch}.game-side .win,.game-side .error{margin-top:0}}@media (min-width: 75rem) and (orientation: portrait){.app-game{max-width:48rem}.game-layout{grid-template-rows:auto auto auto;align-content:start;row-gap:var(--space-md)}.game-board{container-type:normal;display:block;min-height:0}.board-wrap{width:min(100%,var(--layout-board-cap));margin-inline:auto}}
