:root{--space-0-5: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-12: 48px;--space-16: 64px;--radius-none: 0px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 20px;--radius-full: 999px;--size-board-max: 540px;--size-board-min: 288px;--size-panel: 368px;--size-touch-min: 44px;--size-control-md: 40px;--size-control-lg: 48px;--size-key: 56px;--breakpoint-md: 760px;--breakpoint-sm: 400px;--border-cell: 1px;--border-box: 2px;--border-board: 2px;--focus-ring-width: 2px;--focus-ring-offset: 2px;--duration-instant: 80ms;--duration-fast: .14s;--duration-base: .22s;--duration-slow: .36s;--duration-celebrate: .9s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.3, 0, 0, 1.3);--ease-exit: cubic-bezier(.4, 0, 1, 1);--z-board: 1;--z-sticky: 10;--z-overlay: 100;--font-sans: Manrope, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-digits: Manrope, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace}:root,[data-theme=light]{--color-bg-app: #f5f3ee;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #ebe8e1;--color-overlay: rgba(20, 22, 21, .4);--color-border-subtle: #e1ddd4;--color-border-default: #8f8a80;--color-border-strong: #34332f;--color-text-primary: #1e1d1a;--color-text-secondary: #5c5850;--color-text-disabled: #a19c92;--color-brand: #2a6356;--color-brand-hover: #22544a;--color-brand-active: #1a453c;--color-brand-soft: #dcebe6;--color-text-on-brand: #ffffff;--color-success: #1f5f7a;--color-success-soft: #dcecf3;--color-error: #b3261e;--color-error-soft: #fbe4df;--color-hint: #8a5a00;--color-hint-soft: #f8ecd2;--color-cell-bg: var(--color-surface);--color-cell-bg-related: #efece5;--color-cell-bg-same-value: #d4e6e0;--color-cell-bg-selected: #b9d9d0;--color-cell-bg-error: var(--color-error-soft);--color-cell-bg-hint: var(--color-hint-soft);--color-cell-bg-complete: var(--color-success-soft);--color-cell-text-given: var(--color-text-primary);--color-cell-text-user: var(--color-brand);--color-cell-text-error: var(--color-error);--color-cell-text-note: var(--color-text-secondary);--color-cell-text-note-match: var(--color-brand);--color-cell-border: #dcd8cf;--color-box-border: var(--color-border-strong);--color-key-bg: var(--color-surface);--color-key-bg-hover: #eef3f1;--color-key-bg-active: var(--color-brand-soft);--color-key-text: var(--color-brand);--color-key-count: var(--color-text-secondary);--color-key-bg-complete: var(--color-surface-sunken);--color-key-text-complete: var(--color-text-disabled);--color-note-match-bg: var(--color-brand);--color-note-match-text: var(--color-text-on-brand);--color-focus-ring: #1a5fb4;--shadow-board: 0 1px 2px rgba(30, 29, 26, .06), 0 8px 24px rgba(30, 29, 26, .06);--shadow-modal: 0 24px 64px rgba(30, 29, 26, .18);--shadow-key: 0 1px 0 rgba(30, 29, 26, .08)}[data-theme=dark]{--color-bg-app: #121413;--color-surface: #1b1e1d;--color-surface-raised: #232726;--color-surface-sunken: #0e100f;--color-overlay: rgba(0, 0, 0, .6);--color-border-subtle: #2b2f2d;--color-border-default: #6b716e;--color-border-strong: #9aa19d;--color-text-primary: #ecebe6;--color-text-secondary: #b6bab6;--color-text-disabled: #5d625f;--color-brand: #7fc7b7;--color-brand-hover: #98d4c6;--color-brand-active: #b1dfd4;--color-brand-soft: #1d3531;--color-text-on-brand: #0d1a17;--color-success: #86c6e0;--color-success-soft: #16303b;--color-error: #ff9585;--color-error-soft: #3b1f1b;--color-hint: #f0c36a;--color-hint-soft: #3a2f17;--color-cell-bg-related: #282d2b;--color-cell-bg-same-value: #213d38;--color-cell-bg-selected: #2c5049;--color-cell-border: #2e3230;--color-key-bg-hover: #252a29;--color-focus-ring: #8ab8ff;--shadow-board: 0 1px 2px rgba(0, 0, 0, .4);--shadow-modal: 0 24px 64px rgba(0, 0, 0, .6);--shadow-key: 0 1px 0 rgba(0, 0, 0, .5)}[data-theme=hc]{--color-bg-app: #ffffff;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: #f0f0f0;--color-overlay: rgba(0, 0, 0, .7);--color-border-subtle: #8a8a8a;--color-border-default: #000000;--color-border-strong: #000000;--color-text-primary: #000000;--color-text-secondary: #262626;--color-text-disabled: #6e6e6e;--color-brand: #004438;--color-brand-hover: #00302a;--color-brand-active: #001f1a;--color-brand-soft: #d2efe8;--color-text-on-brand: #ffffff;--color-success: #00405c;--color-success-soft: #cfe8f5;--color-error: #8a0000;--color-error-soft: #ffe0e0;--color-hint: #5c3b00;--color-hint-soft: #fff0c2;--color-cell-bg-related: #e6e6e6;--color-cell-bg-same-value: #bfe9de;--color-cell-bg-selected: #ffe45c;--color-cell-border: #8a8a8a;--color-key-bg-hover: #e6e6e6;--color-focus-ring: #0038d6;--shadow-board: none;--shadow-modal: none;--shadow-key: none}body{margin:0;font-family:var(--font-sans);background:var(--color-bg-app);color:var(--color-text-primary);-webkit-font-smoothing:antialiased}.sz-root,.sz-root *{box-sizing:border-box}.sz-caption{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.02em;color:var(--color-text-secondary)}.sz-theme-anim,.sz-theme-anim *{transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard)}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sz-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--size-control-md);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid transparent;font:inherit;font-size:14px;line-height:20px;font-weight:600;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.sz-btn svg{width:18px;height:18px;flex:none}.sz-btn--lg{height:var(--size-control-lg);padding:0 var(--space-5);font-size:15px}.sz-btn--block{width:100%}.sz-btn--primary{background:var(--color-brand);color:var(--color-text-on-brand)}.sz-btn--primary:hover{background:var(--color-brand-hover)}.sz-btn--primary:active{background:var(--color-brand-active);transform:scale(.98)}.sz-btn--secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-default)}.sz-btn--secondary:hover{background:var(--color-surface-sunken)}.sz-btn--secondary:active{transform:scale(.98)}.sz-btn--ghost{background:transparent;color:var(--color-text-primary)}.sz-btn--ghost:hover{background:var(--color-surface-sunken)}.sz-btn--ghost:active{transform:scale(.98)}.sz-btn:focus-visible,.sz-iconbtn:focus-visible,.sz-key:focus-visible,.sz-seg__opt:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus-ring);outline-offset:var(--focus-ring-offset)}.sz-btn:disabled,.sz-btn[aria-disabled=true]{background:var(--color-surface-sunken);color:var(--color-text-disabled);border-color:transparent;cursor:not-allowed;transform:none}.sz-iconbtn{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);min-width:var(--size-touch-min);min-height:var(--size-touch-min);padding:var(--space-2) var(--space-3);border:0;border-radius:var(--radius-md);background:transparent;color:var(--color-text-primary);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.sz-iconbtn svg{width:24px;height:24px}.sz-iconbtn__label{font-size:12px;line-height:16px;font-weight:600;color:var(--color-text-secondary)}.sz-iconbtn:hover{background:var(--color-surface-sunken)}.sz-iconbtn:active{transform:scale(.94)}.sz-iconbtn[aria-pressed=true]{background:var(--color-brand-soft);color:var(--color-brand)}.sz-iconbtn[aria-pressed=true] .sz-iconbtn__label{color:var(--color-brand)}.sz-iconbtn:disabled{color:var(--color-text-disabled);cursor:not-allowed;background:transparent;transform:none}.sz-iconbtn:disabled .sz-iconbtn__label{color:var(--color-text-disabled)}.sz-iconbtn__badge{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-full);background:var(--color-brand);color:var(--color-text-on-brand);font-size:11px;line-height:18px;font-weight:700;font-variant-numeric:tabular-nums}.sz-iconbtn:disabled .sz-iconbtn__badge{background:var(--color-surface-sunken);color:var(--color-text-disabled)}.sz-toolbar{display:flex;justify-content:space-between;gap:var(--space-1)}.sz-toolbar .sz-iconbtn{flex:1 1 0;min-width:0;padding-left:0;padding-right:0}.sz-toolbar .sz-iconbtn__label{font-size:11px}.sz-board{container-type:inline-size;position:relative;width:100%;max-width:var(--size-board-max);aspect-ratio:1 / 1;display:grid;grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(9,1fr);border:var(--border-board) solid var(--color-box-border);border-radius:var(--radius-md);overflow:hidden;background:var(--color-cell-bg);box-shadow:var(--shadow-board);z-index:var(--z-board)}.sz-board__row{display:contents}.sz-cell{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:var(--color-cell-bg);color:var(--color-cell-text-user);border-right:var(--border-cell) solid var(--color-cell-border);border-bottom:var(--border-cell) solid var(--color-cell-border);font-family:var(--font-digits);font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"lnum" 1;font-size:5.6cqi;line-height:1;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-instant) var(--ease-standard),color var(--duration-base) var(--ease-standard)}.sz-cell[data-c="8"]{border-right:0}.sz-cell[data-r="8"]{border-bottom:0}.sz-cell[data-c="2"],.sz-cell[data-c="5"]{border-right:var(--border-box) solid var(--color-box-border)}.sz-cell[data-r="2"],.sz-cell[data-r="5"]{border-bottom:var(--border-box) solid var(--color-box-border)}.sz-cell.is-given{color:var(--color-cell-text-given);font-weight:600;cursor:default}.sz-cell.is-related{background:var(--color-cell-bg-related)}.sz-cell.is-same{background:var(--color-cell-bg-same-value)}.sz-cell.is-hint{background:var(--color-cell-bg-hint);color:var(--color-hint)}.sz-cell.is-selected{background:var(--color-cell-bg-selected)}.sz-cell.is-error{background:var(--color-cell-bg-error);color:var(--color-cell-text-error)}.sz-cell.is-given.is-error{color:var(--color-cell-text-given)}.sz-cell.is-error:not(.is-given):after{content:"";position:absolute;top:0;right:0;width:0;height:0;border-top:max(6px,1.7cqi) solid var(--color-error);border-left:max(6px,1.7cqi) solid transparent}.sz-cell.is-selected.is-error{box-shadow:inset 0 0 0 2px var(--color-error)}[data-theme=hc] .sz-cell.is-selected{box-shadow:inset 0 0 0 2px var(--color-border-strong)}.sz-cell:focus-visible{box-shadow:inset 0 0 0 var(--focus-ring-width) var(--color-focus-ring),inset 0 0 0 4px var(--color-cell-bg-selected);z-index:2}.sz-cell__digit{display:block}.sz-cell__digit.is-pop{animation:sz-pop var(--duration-fast) var(--ease-emphasized)}.sz-cell.is-shake .sz-cell__digit{animation:sz-shake var(--duration-slow) var(--ease-standard)}.sz-cell.is-flash{animation:sz-flash .6s var(--ease-standard)}.sz-notes{position:absolute;top:6%;right:6%;bottom:6%;left:6%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);font-size:max(8px,2cqi);font-weight:600;line-height:1;color:var(--color-cell-text-note)}.sz-notes span{display:flex;align-items:center;justify-content:center}.sz-notes span.is-match{background:var(--color-note-match-bg);color:var(--color-note-match-text);font-weight:800;border-radius:var(--radius-sm);margin:8%}.sz-board.is-won .sz-cell{animation:sz-wave var(--duration-celebrate) var(--ease-emphasized) both;animation-delay:calc(var(--d, 0) * 40ms)}.sz-pad{display:grid;grid-template-columns:repeat(9,1fr);gap:var(--space-1)}.sz-pad--grid{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sz-key{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;height:var(--size-key);padding:0;border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);background:var(--color-key-bg);color:var(--color-key-text);box-shadow:var(--shadow-key);font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transition:background-color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.sz-pad--grid .sz-key{height:64px}.sz-key__digit{font-family:var(--font-digits);font-variant-numeric:tabular-nums;font-size:26px;line-height:1;font-weight:600}.sz-key__count{font-size:11px;line-height:14px;font-weight:600;color:var(--color-key-count);font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;height:14px}.sz-key__count svg{width:13px;height:13px}.sz-key:hover{background:var(--color-key-bg-hover)}.sz-key:active{background:var(--color-key-bg-active);transform:scale(.95)}.sz-key.is-current{border-color:var(--color-brand);box-shadow:inset 0 0 0 1px var(--color-brand)}.sz-key.is-complete{background:var(--color-key-bg-complete);color:var(--color-key-text-complete);box-shadow:none;border-color:transparent;cursor:default;transform:none}.sz-key.is-complete .sz-key__count{color:var(--color-key-text-complete)}.sz-pad.is-notes .sz-key__digit{font-size:18px;font-weight:700;color:var(--color-text-secondary)}.sz-pad.is-notes .sz-key:not(.is-complete):before{content:"";position:absolute;top:6px;left:6px;width:6px;height:6px;border-radius:var(--radius-full);background:var(--color-brand)}@container (max-width: 399px){.sz-pad:not(.sz-pad--grid) .sz-key{height:52px}.sz-pad:not(.sz-pad--grid) .sz-key__digit{font-size:22px}}.sz-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--color-overlay);animation:sz-fade var(--duration-base) var(--ease-standard) both}.sz-dialog{width:100%;max-width:360px;padding:var(--space-8);border-radius:var(--radius-xl);background:var(--color-surface-raised);color:var(--color-text-primary);box-shadow:var(--shadow-modal);text-align:center;animation:sz-enter var(--duration-slow) var(--ease-emphasized) both;animation-delay:.12s}[data-theme=hc] .sz-dialog{border:2px solid var(--color-border-strong)}.sz-dialog__seal{width:56px;height:56px;margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--color-success-soft);color:var(--color-success);display:flex;align-items:center;justify-content:center}.sz-dialog__seal svg{width:28px;height:28px}.sz-dialog__title{margin:0;font-size:32px;line-height:40px;font-weight:700;letter-spacing:-.02em}.sz-dialog__sub{margin:var(--space-1) 0 var(--space-6);font-size:15px;line-height:22px;color:var(--color-text-secondary)}.sz-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2);margin:0 0 var(--space-6);padding:0}.sz-stats div{padding:var(--space-3) var(--space-1);border-radius:var(--radius-lg);background:var(--color-surface-sunken)}.sz-stats dt{font-size:12px;line-height:16px;font-weight:500;color:var(--color-text-secondary)}.sz-stats dd{margin:2px 0 0;font-family:var(--font-mono);font-size:16px;line-height:24px;font-weight:500;font-variant-numeric:tabular-nums}.sz-game{container-type:inline-size;position:relative;width:100%;background:var(--color-bg-app);color:var(--color-text-primary)}.sz-game__layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-4);padding:var(--space-4);max-width:600px;margin:0 auto}.sz-game__board{display:flex;justify-content:center}.sz-game__panel{display:flex;flex-direction:column;gap:var(--space-4)}.sz-hud{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;row-gap:var(--space-2)}.sz-hud__meta{display:flex;gap:var(--space-4);align-items:baseline;white-space:nowrap}.sz-hud__item{font-size:12px;line-height:16px;font-weight:500;letter-spacing:.02em;color:var(--color-text-secondary);white-space:nowrap}.sz-hud__item strong{font-weight:700;color:var(--color-text-primary)}.sz-timer{font-family:var(--font-mono);font-size:16px;line-height:24px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.sz-game__cta{display:none}.sz-card{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-5)}.sz-game__panel .sz-card{display:contents}.sz-title{margin:0;font-size:20px;line-height:28px;font-weight:700;letter-spacing:-.01em}.sz-game__head,.sz-desktop-only{display:none}@container (min-width: 760px){.sz-game__layout{max-width:none;grid-template-columns:minmax(0,var(--size-board-max)) var(--size-panel);justify-content:center;align-items:start;gap:var(--space-8);padding:var(--space-12) var(--space-8)}.sz-game__panel .sz-card{display:flex}.sz-game__head{display:flex;justify-content:space-between;align-items:baseline}.sz-game__cta{display:flex}.sz-game .sz-pad{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.sz-game .sz-pad .sz-key{height:64px}.sz-mobile-only{display:none}.sz-desktop-only{display:block}.sz-game__mobilehud{display:none}}@keyframes sz-pop{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes sz-shake{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes sz-flash{0%{background-color:var(--color-cell-bg-complete)}}@keyframes sz-wave{0%{transform:scale(1)}40%{transform:scale(.9);background-color:var(--color-success-soft);color:var(--color-success)}to{transform:scale(1)}}@keyframes sz-fade{0%{opacity:0}to{opacity:1}}@keyframes sz-enter{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.sz-root *,.sz-root{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important}}.sz-app{min-height:100vh}.sz-appbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-2);padding:var(--space-4)}.sz-appbar__title{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.sz-logo{width:28px;height:28px;flex-shrink:0}.sz-logo--dark,[data-theme=dark] .sz-logo--light{display:none}[data-theme=dark] .sz-logo--dark{display:block}.sz-appbar__actions{display:flex;justify-content:flex-end}.sz-seg{display:inline-flex;padding:var(--space-0-5);gap:var(--space-0-5);background:var(--color-surface-sunken);border-radius:var(--radius-md)}.sz-seg__opt{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--color-text-secondary);font:inherit;font-size:13px;font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.sz-seg__opt:hover:not([aria-pressed=true]):not(:disabled){color:var(--color-text-primary)}.sz-seg__opt[aria-pressed=true]{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-key)}.sz-seg__opt:disabled{cursor:not-allowed;color:var(--color-text-disabled)}.sz-board--loading{display:grid;place-items:center}.sz-spinner{width:42px;height:42px;border:4px solid var(--color-border-subtle);border-top-color:var(--color-brand);border-radius:50%;animation:sz-spin .8s linear infinite}@keyframes sz-spin{to{transform:rotate(360deg)}}.sz-hint{margin:0;font-size:12px;line-height:1.5;color:var(--color-text-secondary)}
