@layer theme,base,components,utilities;@property --cell-size{syntax: "<length>"; inherits: true; initial-value: 32px;}@property --pan-x{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --pan-y{syntax: "<length>"; inherits: false; initial-value: 0px;}@layer theme{:root{color-scheme:dark;--color-tile-face: oklch(.93 .025 80);--color-tile-border: oklch(.75 .03 80);--color-tile-letter: oklch(.2 .02 80);--color-tile-points: oklch(.4 .02 80);--color-surface: oklch(.16 .005 250);--color-surface-elevated: oklch(.21 .008 250);--color-on-surface: oklch(.9 .008 80);--color-on-surface-muted: oklch(.68 .008 80);--color-accent: oklch(.65 .15 145);--color-accent-subtle: oklch(.25 .04 145);--color-outline: oklch(.3 .008 250);--color-cell-empty: oklch(.19 .005 250);--color-cell-dw: oklch(.26 .06 25);--color-cell-tw: oklch(.3 .09 25);--color-cell-dl: oklch(.26 .05 230);--color-cell-tl: oklch(.3 .06 230);--color-cell-center: oklch(.28 .07 145);--color-score-flow-dl: oklch(.82 .13 230);--color-score-flow-tl: oklch(.82 .13 230);--color-score-flow-dw: oklch(.82 .13 25);--color-score-flow-tw: oklch(.82 .13 25);--color-score-flow-center: oklch(.82 .17 145);--color-score-flow-bingo: oklch(.84 .16 78);--color-score-flow-dest-glow: oklch(.94 .1 78);--color-cell-label-word: oklch(.45 .07 25);--color-cell-label-letter: oklch(.45 .07 230);--color-cell-label-center: oklch(.47 .07 145);--color-recently-placed-rim: oklch(.58 .13 145);--color-recently-placed-glow: oklch(.52 .16 145);--color-active-indicator: oklch(.65 .15 145);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-rack-blur: 12px;--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-panel-blur: 16px;--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--glass-dim-blur: 4px;--color-proposal: oklch(.45 .07 320);--color-swap-area: oklch(.45 .07 180);--color-pending-rim: oklch(.6 .11 230);--color-pending-glow: oklch(.5 .09 230);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 25%, transparent);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.12 .005 250);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 80%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.68 .008 80);--on-surface-faint: oklch(.5 .008 80);--outline: var(--color-outline);--outline-strong: oklch(.4 .008 250);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.4 .008 80);--state-error: oklch(.62 .16 25);--state-warn: oklch(.72 .14 75);--state-info: oklch(.65 .11 230);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--z-board: 0;--z-rack: 10;--z-proposal: 20;--z-toast: 30;--z-modal: 40;--z-dev: 50;--ease-out: cubic-bezier(.25, .1, .25, 1);--ease-decisive: cubic-bezier(.3, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--dur-quick: .16s;--dur-short: .22s;--dur-exit: .14s;--stagger-tile: 18ms;--cell-size: 32px;--cell-gap: 2px;--rack-tile-size: clamp(2rem, 7vw, 3rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-zone-pad: var(--space-4);--space-stack-tight: var(--space-2);--space-stack-loose: var(--space-6);--space-control-inset: var(--space-3);--space-edge-safe-top: max(var(--space-3), env(safe-area-inset-top, 0px));--space-edge-safe-right: max(var(--space-3), env(safe-area-inset-right, 0px));--space-edge-safe-bottom: max(var(--space-1), env(safe-area-inset-bottom, 0px));--space-edge-safe-left: max(var(--space-3), env(safe-area-inset-left, 0px));--space-edge-safe: var(--space-edge-safe-top);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-display: 1.75rem;--weight-regular: 400;--weight-medium: 600;--weight-strong: 700;--type-display: var(--weight-strong) var(--text-display) / 1.1 system-ui, sans-serif;--type-heading: var(--weight-medium) var(--text-lg) / 1.3 system-ui, sans-serif;--type-body: var(--weight-regular) var(--text-base) / 1.5 system-ui, sans-serif;--type-meta: var(--weight-medium) var(--text-sm) / 1.4 system-ui, sans-serif;--type-caption: var(--weight-regular) var(--text-xs) / 1.4 system-ui, sans-serif;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--grain-opacity: .3;--grain-blend: screen;--grain-surface-scale: .5;--bg-filter: url(#felt);--nf-seed: 42;--nf-noise-scale: .004;--nf-force-scale: 1.5;--nf-particle-count: 1500;--nf-lifetime: 250;--nf-stroke-weight: .8;--nf-opacity: .06;--nf-base-hue: 220}@media(color-gamut:p3){:root{--color-accent: oklch(.65 .19 145);--color-cell-tw: oklch(.3 .12 25);--color-cell-tl: oklch(.3 .08 230);--color-recently-placed-rim: oklch(.58 .17 145);--color-recently-placed-glow: oklch(.52 .2 145)}}:root[data-color-mode=light]{color-scheme:light;--color-surface: oklch(.96 .006 70);--color-surface-elevated: oklch(.94 .008 70);--color-on-surface: oklch(.22 .008 80);--color-on-surface-muted: oklch(.42 .008 80);--color-accent: oklch(.48 .14 145);--color-accent-subtle: oklch(.92 .04 145);--color-outline: oklch(.82 .006 70);--color-cell-empty: oklch(.95 .005 70);--color-cell-dw: oklch(.91 .04 25);--color-cell-tw: oklch(.87 .07 25);--color-cell-dl: oklch(.91 .04 230);--color-cell-tl: oklch(.87 .07 230);--color-cell-center: oklch(.89 .04 145);--color-score-flow-dl: oklch(.54 .14 230);--color-score-flow-tl: oklch(.54 .14 230);--color-score-flow-dw: oklch(.54 .14 25);--color-score-flow-tw: oklch(.54 .14 25);--color-score-flow-center: oklch(.54 .18 145);--color-score-flow-bingo: oklch(.58 .17 75);--color-cell-label-word: oklch(.61 .05 25);--color-cell-label-letter: oklch(.61 .05 230);--color-cell-label-center: oklch(.59 .05 145);--color-recently-placed-rim: oklch(.48 .13 145);--color-recently-placed-glow: oklch(.52 .16 145);--color-active-indicator: oklch(.48 .14 145);--color-pending-rim: oklch(.48 .09 230);--color-pending-glow: oklch(.52 .1 230);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 15%, transparent);--color-proposal: oklch(.48 .07 320);--color-swap-area: oklch(.48 .07 180);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.98 .004 70);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 85%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.42 .008 80);--on-surface-faint: oklch(.58 .006 80);--outline: var(--color-outline);--outline-strong: oklch(.72 .008 70);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.65 .008 80);--state-error: oklch(.5 .16 25);--state-warn: oklch(.55 .11 75);--state-info: oklch(.48 .09 230);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--grain-opacity: .6;--grain-blend: multiply;--grain-surface-scale: .5}@media(prefers-color-scheme:light){:root:not([data-color-mode=dark]){color-scheme:light;--color-surface: oklch(.96 .006 70);--color-surface-elevated: oklch(.94 .008 70);--color-on-surface: oklch(.22 .008 80);--color-on-surface-muted: oklch(.42 .008 80);--color-accent: oklch(.48 .14 145);--color-accent-subtle: oklch(.92 .04 145);--color-outline: oklch(.82 .006 70);--color-cell-empty: oklch(.95 .005 70);--color-cell-dw: oklch(.91 .04 25);--color-cell-tw: oklch(.87 .07 25);--color-cell-dl: oklch(.91 .04 230);--color-cell-tl: oklch(.87 .07 230);--color-cell-center: oklch(.89 .04 145);--color-score-flow-dl: oklch(.54 .14 230);--color-score-flow-tl: oklch(.54 .14 230);--color-score-flow-dw: oklch(.54 .14 25);--color-score-flow-tw: oklch(.54 .14 25);--color-score-flow-center: oklch(.54 .18 145);--color-score-flow-bingo: oklch(.58 .17 75);--color-cell-label-word: oklch(.64 .04 25);--color-cell-label-letter: oklch(.64 .04 230);--color-cell-label-center: oklch(.62 .04 145);--color-recently-placed-rim: oklch(.48 .13 145);--color-recently-placed-glow: oklch(.52 .16 145);--color-active-indicator: oklch(.48 .14 145);--color-pending-rim: oklch(.48 .09 230);--color-pending-glow: oklch(.52 .1 230);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 15%, transparent);--color-proposal: oklch(.48 .07 320);--color-swap-area: oklch(.48 .07 180);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.98 .004 70);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 85%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.42 .008 80);--on-surface-faint: oklch(.58 .006 80);--outline: var(--color-outline);--outline-strong: oklch(.72 .008 70);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.65 .008 80);--state-error: oklch(.5 .16 25);--state-warn: oklch(.55 .11 75);--state-info: oklch(.48 .09 230);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--grain-opacity: .6;--grain-blend: multiply;--grain-surface-scale: .5}}}:root[data-theme=vivid]{color-scheme:dark;--color-tile-face: oklch(.93 .04 75);--color-tile-border: oklch(.72 .04 75);--color-tile-letter: oklch(.18 .03 75);--color-tile-points: oklch(.38 .03 75);--color-surface: oklch(.1 .01 302);--color-surface-elevated: oklch(.14 .02 302);--color-on-surface: oklch(.93 .01 80);--color-on-surface-muted: oklch(.75 .01 80);--color-accent: oklch(.7 .14 73);--color-accent-subtle: oklch(.32 .06 73);--color-outline: oklch(.22 .01 302);--color-cell-empty: oklch(.09 .01 302);--color-cell-dw: oklch(.2 .08 351);--color-cell-tw: oklch(.28 .11 351);--color-cell-dl: oklch(.2 .09 282);--color-cell-tl: oklch(.28 .13 282);--color-cell-center: oklch(.25 .08 144);--color-score-flow-dl: oklch(.75 .12 282);--color-score-flow-tl: oklch(.75 .12 282);--color-score-flow-dw: oklch(.75 .15 351);--color-score-flow-tw: oklch(.75 .15 351);--color-score-flow-center: oklch(.75 .18 144);--color-score-flow-bingo: oklch(.78 .16 73);--color-score-flow-dest-glow: oklch(.92 .06 73);--color-cell-label-word: oklch(.55 .1 351);--color-cell-label-letter: oklch(.55 .09 282);--color-cell-label-center: oklch(.55 .09 144);--color-recently-placed-rim: oklch(.65 .13 73);--color-recently-placed-glow: oklch(.58 .12 73);--color-active-indicator: oklch(.7 .18 285);--color-pending-rim: oklch(.6 .12 282);--color-pending-glow: oklch(.52 .14 282);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 25%, transparent);--color-proposal: oklch(.5 .08 320);--color-swap-area: oklch(.5 .08 180);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.06 .01 302);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 80%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.75 .01 80);--on-surface-faint: oklch(.55 .01 80);--outline: var(--color-outline);--outline-strong: oklch(.35 .02 302);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.4 .01 80);--state-error: oklch(.55 .1 25);--state-warn: oklch(.72 .14 73);--state-info: oklch(.6 .12 282);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--grain-opacity: .3;--grain-blend: screen;--grain-surface-scale: .5;--bg-filter: url(#static)}:root[data-theme=vivid][data-color-mode=light]{color-scheme:light;--color-tile-face: oklch(.93 .04 75);--color-tile-border: oklch(.72 .04 75);--color-tile-letter: oklch(.18 .03 75);--color-tile-points: oklch(.38 .03 75);--color-surface: oklch(.95 .01 302);--color-surface-elevated: oklch(.92 .01 302);--color-on-surface: oklch(.18 .01 80);--color-on-surface-muted: oklch(.4 .01 80);--color-accent: oklch(.48 .1 73);--color-accent-subtle: oklch(.9 .04 73);--color-outline: oklch(.82 .01 302);--color-cell-empty: oklch(.94 .01 302);--color-cell-dw: oklch(.82 .1 351);--color-cell-tw: oklch(.78 .14 351);--color-cell-dl: oklch(.82 .09 282);--color-cell-tl: oklch(.78 .11 282);--color-cell-center: oklch(.8 .1 144);--color-score-flow-dl: oklch(.65 .14 282);--color-score-flow-tl: oklch(.65 .14 282);--color-score-flow-dw: oklch(.65 .14 351);--color-score-flow-tw: oklch(.65 .14 351);--color-score-flow-center: oklch(.65 .18 144);--color-score-flow-bingo: oklch(.68 .14 73);--color-score-flow-dest-glow: oklch(.94 .04 73);--color-cell-label-word: oklch(.42 .08 351);--color-cell-label-letter: oklch(.42 .07 282);--color-cell-label-center: oklch(.42 .07 144);--color-recently-placed-rim: oklch(.58 .12 73);--color-recently-placed-glow: oklch(.52 .1 73);--color-active-indicator: oklch(.58 .16 285);--color-pending-rim: oklch(.55 .1 282);--color-pending-glow: oklch(.6 .12 282);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 15%, transparent);--color-proposal: oklch(.48 .07 320);--color-swap-area: oklch(.48 .07 180);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.98 .01 302);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 85%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.4 .01 80);--on-surface-faint: oklch(.55 .01 80);--outline: var(--color-outline);--outline-strong: oklch(.72 .01 302);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.65 .01 80);--state-error: oklch(.5 .12 25);--state-warn: oklch(.55 .11 73);--state-info: oklch(.48 .1 282);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--grain-opacity: .6;--grain-blend: multiply;--grain-surface-scale: .5;--bg-filter: url(#static)}@media(prefers-color-scheme:light){:root[data-theme=vivid]:not([data-color-mode=dark]){color-scheme:light;--color-tile-face: oklch(.93 .04 75);--color-tile-border: oklch(.72 .04 75);--color-tile-letter: oklch(.18 .03 75);--color-tile-points: oklch(.38 .03 75);--color-surface: oklch(.95 .01 302);--color-surface-elevated: oklch(.92 .01 302);--color-on-surface: oklch(.18 .01 80);--color-on-surface-muted: oklch(.4 .01 80);--color-accent: oklch(.48 .1 73);--color-accent-subtle: oklch(.9 .04 73);--color-outline: oklch(.82 .01 302);--color-cell-empty: oklch(.94 .01 302);--color-cell-dw: oklch(.82 .1 351);--color-cell-tw: oklch(.78 .14 351);--color-cell-dl: oklch(.82 .09 282);--color-cell-tl: oklch(.78 .11 282);--color-cell-center: oklch(.8 .1 144);--color-score-flow-dl: oklch(.65 .14 282);--color-score-flow-tl: oklch(.65 .14 282);--color-score-flow-dw: oklch(.65 .14 351);--color-score-flow-tw: oklch(.65 .14 351);--color-score-flow-center: oklch(.65 .18 144);--color-score-flow-bingo: oklch(.68 .14 73);--color-score-flow-dest-glow: oklch(.94 .04 73);--color-cell-label-word: oklch(.42 .08 351);--color-cell-label-letter: oklch(.42 .07 282);--color-cell-label-center: oklch(.42 .07 144);--color-recently-placed-rim: oklch(.58 .12 73);--color-recently-placed-glow: oklch(.52 .1 73);--color-active-indicator: oklch(.58 .16 285);--color-pending-rim: oklch(.55 .1 282);--color-pending-glow: oklch(.6 .12 282);--color-pending-tint: color-mix(in oklch, var(--color-pending-rim) 15%, transparent);--color-proposal: oklch(.48 .07 320);--color-swap-area: oklch(.48 .07 180);--surface-page: var(--color-surface);--surface-raised: var(--color-surface-elevated);--surface-sunken: oklch(.98 .01 302);--surface-floating-chrome: color-mix(in oklch, var(--surface-raised) 85%, transparent);--on-surface: var(--color-on-surface);--on-surface-muted: oklch(.4 .01 80);--on-surface-faint: oklch(.55 .01 80);--outline: var(--color-outline);--outline-strong: oklch(.72 .01 302);--outline-faint: color-mix(in oklch, var(--outline) 40%, transparent);--state-hover: color-mix(in oklch, var(--on-surface) 8%, transparent);--state-pressed: color-mix(in oklch, var(--on-surface) 14%, transparent);--state-disabled: oklch(.65 .01 80);--state-error: oklch(.5 .12 25);--state-warn: oklch(.55 .11 73);--state-info: oklch(.48 .1 282);--state-success: var(--color-accent);--ring-focus: 0 0 0 2px var(--surface-page), 0 0 0 4px var(--color-accent);--glass-rack-bg: color-mix(in oklch, var(--color-surface) 70%, transparent);--glass-panel-bg: color-mix(in oklch, var(--color-surface) 55%, transparent);--glass-dim-bg: color-mix(in oklch, var(--color-surface) 35%, transparent);--grain-opacity: .6;--grain-blend: multiply;--grain-surface-scale: .5;--bg-filter: url(#static)}}@layer base{.sveltekit-body{display:contents}.svg-defs{position:absolute;width:0;height:0;pointer-events:none}*,*:before,*:after{box-sizing:border-box;margin:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none}body{font-family:system-ui,-apple-system,sans-serif;color:var(--color-on-surface);background:var(--color-surface);line-height:1.5}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:#636363;filter:var(--bg-filter);opacity:var(--grain-opacity);mix-blend-mode:var(--grain-blend);pointer-events:none;will-change:transform}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:none;box-shadow:var(--ring-focus);border-radius:var(--radius-sm)}button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}button[disabled]{cursor:not-allowed;color:var(--state-disabled)}}@layer components{.tabular{font-variant-numeric:tabular-nums}.surface-floating-chrome{background:var(--surface-floating-chrome);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--outline);border-radius:var(--radius-full);box-shadow:0 2px 8px #00000026}}@layer utilities{.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}
