:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#070b14;--color-surface:#0e1728;--color-surface-raised:#15213a;--color-primary:#8b5cf6;--color-accent:#22d3ee;--color-success:#34d399;--color-danger:#fb7185;--color-text:#f8fafc;--color-muted:#a5b4cc;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-card:24px;--focus-ring:0 0 0 3px color-mix(in srgb, var(--color-accent) 75%, white)}*{box-sizing:border-box}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);margin:0;font-family:Inter,Microsoft YaHei,sans-serif}button{font:inherit}:focus-visible{box-shadow:var(--focus-ring);outline:none}.skip-link{top:-4rem;left:var(--space-2);z-index:1;min-width:44px;min-height:44px;padding:var(--space-2);place-items:center;display:inline-grid;position:fixed}.skip-link:focus{top:var(--space-2)}.app-shell{min-height:100dvh;padding:var(--space-4);place-items:center;display:grid}.lobby{border:1px solid color-mix(in srgb, var(--color-muted) 20%, transparent);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,720px);padding:clamp(32px,8vw,64px)}.eyebrow{margin:0 0 var(--space-2);color:var(--color-accent);letter-spacing:.08em;text-transform:uppercase;font-size:.875rem;font-weight:700}h1{margin:0;font-size:clamp(2.5rem,8vw,4.5rem)}.lobby__intro{margin:var(--space-4) 0 var(--space-6);color:var(--color-muted)}.lobby__summary,.lobby__best{margin:0 0 var(--space-6);padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-muted) 20%, transparent);background:var(--color-surface-raised);border-radius:16px}.lobby__summary h2,.lobby__best h2{margin:0 0 var(--space-2);font-size:1rem}.lobby__summary p,.lobby__summary ol{color:var(--color-muted);margin:0}.lobby__summary ol{gap:var(--space-1);padding-inline-start:1.25rem;display:grid}.lobby__best dl{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));margin:0;display:grid}.lobby__best dl div{gap:var(--space-1);display:grid}.lobby__best dd{color:var(--color-accent);margin:0;font-weight:700}.lobby__games{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.game-card{background:var(--color-surface-raised);min-height:96px;color:var(--color-text);cursor:pointer;border:0;border-radius:16px}.game-card:hover{background:#7c3aed}.game-setup,.game-shell{border:1px solid color-mix(in srgb, var(--color-muted) 20%, transparent);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,720px);padding:clamp(16px,4vw,64px);position:relative}.game-setup__difficulty{gap:var(--space-2);margin:var(--space-6) 0;border:0;padding:0;display:grid}.game-setup__difficulty label{gap:var(--space-2);align-items:center;display:flex}.touch-target{min-block-size:44px;min-inline-size:44px}.primary-action{background:var(--color-accent);min-width:10rem;color:var(--color-surface);font:inherit;border:0;border-radius:999px;padding:.875rem 1.25rem;font-weight:700}.game-shell__header,.game-shell__meta{gap:var(--space-4);justify-content:space-between;align-items:flex-start;display:flex}.game-shell__meta{margin:var(--space-6) 0}.game-shell__meta div{gap:var(--space-1);display:grid}.game-shell__meta dd{margin:0;font-weight:700}.game-feedback{gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-4);border:1px solid;border-radius:12px;align-items:center;font-weight:700;display:flex}.game-feedback[data-kind=error]{color:var(--color-danger)}.game-feedback[data-kind=success]{color:var(--color-success)}.game-feedback[data-kind=info]{color:var(--color-accent)}.game-shell__content{min-height:12rem;padding:var(--space-4);background:var(--color-surface-raised);border-radius:16px}.feedback-effect{z-index:1;pointer-events:none;block-size:0;inline-size:0;position:relative}.feedback-effect--at-point{left:var(--feedback-x);top:var(--feedback-y);position:fixed}.feedback-effect--default{position:absolute;top:50%;left:50%}.feedback-effect__ring,.feedback-effect__pulse,.feedback-effect__particle{pointer-events:none;display:block;position:absolute;inset:0 auto auto 0}.feedback-effect__ring{border:2px solid var(--color-success);block-size:2.75rem;inline-size:2.75rem;box-shadow:0 0 1.5rem color-mix(in srgb, var(--color-success) 60%, transparent);border-radius:50%;margin:-1.375rem}.feedback-effect__pulse{background:var(--color-danger);border-radius:999px;block-size:.25rem;inline-size:2.75rem;margin-inline-start:-1.375rem}.feedback-effect__particle{background:var(--color-accent);border-radius:50%;block-size:.32rem;inline-size:.32rem}.result-sheet{border:1px solid color-mix(in srgb, var(--color-accent) 42%, transparent);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,40rem);padding:clamp(24px,6vw,48px);position:relative;overflow:hidden}.result-sheet__glow{background:radial-gradient(circle, color-mix(in srgb, var(--color-primary) 38%, transparent), transparent 66%);pointer-events:none;border-radius:50%;block-size:12rem;position:absolute;inset:-30% 5% auto}.result-sheet__saved{color:var(--color-success);font-weight:700;position:relative}.result-sheet__saved--unsaved{color:var(--color-danger)}.result-sheet__metrics{gap:var(--space-2);margin:var(--space-6) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:relative}.result-sheet__metrics div{padding:var(--space-2);background:var(--color-surface-raised);border-radius:12px}.result-sheet__metrics dd{margin:var(--space-1) 0 0;font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:800}.result-sheet__actions{gap:var(--space-2);flex-wrap:wrap;display:flex;position:relative}.result-sheet__actions button:not(.primary-action){border:1px solid color-mix(in srgb, var(--color-accent) 48%, transparent);color:var(--color-text);background:0 0;border-radius:999px;padding:.875rem 1.25rem}.result-sheet__particle{background:var(--color-accent);inset:1.5rem auto auto 50%}.result-sheet__particle:nth-of-type(2n){background:var(--color-success)}.result-sheet__particle:nth-of-type(3n){background:var(--color-primary)}.schulte-status{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-muted);font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schulte-status p{margin:0}.schulte-grid{gap:var(--space-2);grid-template-columns:repeat(var(--grid-size), minmax(0, 1fr));display:grid}.number-cell{aspect-ratio:1;border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-surface);min-block-size:44px;min-inline-size:44px;color:var(--color-text);font-variant-numeric:tabular-nums;border-radius:12px;place-items:center;font-size:clamp(1rem,5vw,1.5rem);font-weight:700;display:grid}.number-cell:not(:disabled){cursor:pointer}.number-cell:disabled{border-color:color-mix(in srgb, var(--color-success) 45%, transparent);color:var(--color-success);opacity:.7}.sudoku-status{gap:var(--space-2);margin-bottom:var(--space-4);color:var(--color-muted);font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sudoku-status p{margin:0}.sudoku-grid{gap:var(--space-2);grid-template-columns:repeat(var(--grid-size), minmax(0, 1fr));border:2px solid var(--color-accent);background:color-mix(in srgb, var(--color-accent) 48%, var(--color-surface-raised));border-radius:12px;display:grid;overflow:hidden}.sudoku-cell{aspect-ratio:1;border:0;border-inline-end:1px solid color-mix(in srgb, var(--color-muted) 55%, transparent);border-block-end:1px solid color-mix(in srgb, var(--color-muted) 55%, transparent);background:var(--color-surface);min-block-size:44px;min-inline-size:0;color:var(--color-text);font:inherit;font-variant-numeric:tabular-nums;place-items:center;font-size:clamp(1rem,5vw,1.5rem);font-weight:700;display:grid}.sudoku-grid--6 .sudoku-cell:nth-child(3n),.sudoku-grid--4 .sudoku-cell:nth-child(2n){border-inline-end:2px solid var(--color-accent)}.sudoku-grid--6 .sudoku-cell:nth-child(n+7):nth-child(-n+12),.sudoku-grid--6 .sudoku-cell:nth-child(n+19):nth-child(-n+24),.sudoku-grid--6 .sudoku-cell:nth-child(n+31):nth-child(-n+36),.sudoku-grid--4 .sudoku-cell:nth-child(n+9){border-block-start:2px solid var(--color-accent)}.sudoku-cell--given{background:color-mix(in srgb, var(--color-surface-raised) 75%, var(--color-accent));color:var(--color-muted)}.sudoku-cell--input:not(:disabled){cursor:pointer}.sudoku-cell--input[aria-pressed=true]{outline:3px solid var(--color-success);outline-offset:-3px}.sudoku-cell--error{background:color-mix(in srgb, var(--color-danger) 20%, var(--color-surface));animation:.18s ease-in-out sudoku-error}.sudoku-keypad{gap:var(--space-2);margin-top:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(44px,1fr));display:grid}.sudoku-keypad__key{border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-surface);color:var(--color-text);font:inherit;border-radius:10px;font-weight:700}.sudoku-result{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-danger);border-radius:12px;justify-items:start;display:grid}.sudoku-result p{margin:0}.stroop{gap:var(--space-4);display:grid}.stroop__status{gap:var(--space-2);color:var(--color-muted);font-variant-numeric:tabular-nums;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stroop__status p,.stroop-prompt__instruction,.stroop-complete{margin:0}.stroop-timer{background:color-mix(in srgb, var(--color-muted) 24%, transparent);border-radius:999px;block-size:12px;overflow:hidden}.stroop-timer__fill{border-radius:inherit;background:var(--color-accent);block-size:100%;transform:scaleX(var(--progress));transform-origin:0}.stroop-timer__label{margin:calc(var(--space-2) * -1) 0 0;color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:end;font-size:.875rem}.stroop-prompt{gap:var(--space-2);min-block-size:12rem;padding:var(--space-4);border:1px solid color-mix(in srgb, var(--color-primary) 50%, transparent);background:var(--color-surface);text-align:center;border-radius:16px;place-items:center;display:grid}.stroop-prompt__instruction{color:var(--color-muted)}.stroop-word{letter-spacing:.08em;font-size:clamp(3rem,18vw,6rem);font-weight:800;line-height:1}.stroop-options{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(44px,1fr));display:grid}.stroop-option{gap:var(--space-2);border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);background:var(--color-surface);color:var(--color-text);border-radius:12px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.stroop-option:not(:disabled){cursor:pointer}.stroop-option__swatch{border:1px solid var(--color-text);border-radius:50%;block-size:1rem;inline-size:1rem}.stroop-complete{padding:var(--space-2) var(--space-4);border:1px solid var(--color-success);color:var(--color-success);text-align:center;border-radius:12px;font-weight:700}@keyframes sudoku-error{50%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.sudoku-cell--error{animation:none}}@media (width<=375px){.schulte-grid--compact .number-cell{min-block-size:44px;min-inline-size:44px}}@media (width>=360px) and (width<=375px){.game-shell--compact{padding-inline:2px}}@media (width<=373px){.schulte-grid--compact .number-cell{min-block-size:0;inline-size:100%;min-inline-size:0;max-inline-size:100%}}@media (width<=375px){.game-shell--compact{min-inline-size:0}.sudoku-grid--6{outline:2px solid var(--color-accent);outline-offset:-2px;border:0;inline-size:304px;position:relative;inset-inline-start:50%;transform:translate(-50%)}}@media (width<=359px){.sudoku-cell{min-block-size:0}}@media (width>=768px){.result-sheet{box-shadow:0 1.5rem 4rem color-mix(in srgb, var(--color-bg) 65%, transparent)}}@media (width<=767px){.result-sheet{border-end-end-radius:0;border-end-start-radius:0;align-self:end}}.exit-dialog{width:min(90vw,24rem);height:max-content;padding:var(--space-5);border:1px solid var(--color-muted);border-radius:var(--radius-card);background:var(--color-surface);margin:auto;position:fixed;inset:0}.exit-dialog button+button{margin-left:var(--space-2)}@media (prefers-reduced-motion:no-preference){button,.skip-link{transition:transform .16s cubic-bezier(.34,1.56,.64,1)}.game-card{animation:.22s ease-out backwards game-card-enter}.game-card:nth-child(2){animation-delay:35ms}.game-card:nth-child(3){animation-delay:70ms}.game-card:hover{transform:translateY(-2px)}button:active,.game-card:active{transform:scale(.97)}.lobby__summary li{animation:.22s ease-out backwards lobby-record-enter}.lobby__summary li:nth-child(2){animation-delay:35ms}.lobby__summary li:nth-child(3){animation-delay:70ms}.lobby__summary li:nth-child(4){animation-delay:.105s}.lobby__summary li:nth-child(5){animation-delay:.14s}.lobby__summary li:nth-child(6){animation-delay:.175s}.lobby__summary li:nth-child(7){animation-delay:.21s}.lobby__summary li:nth-child(8){animation-delay:.245s}.lobby__summary li:nth-child(9){animation-delay:.28s}.lobby__summary li:nth-child(10){animation-delay:.315s}.lobby__summary li:nth-child(11){animation-delay:.35s}.lobby__summary li:nth-child(12){animation-delay:.385s}.stroop-timer__fill{transition:transform .1s linear}.feedback-effect[data-kind=success] .feedback-effect__ring{animation:.36s ease-out both energy-ring}.feedback-effect[data-kind=success] .feedback-effect__particle{transform:translate(var(--particle-x), var(--particle-y));animation:.36s ease-out both feedback-particle}.feedback-effect[data-kind=error] .feedback-effect__pulse{animation:.22s ease-out both error-pulse}.feedback-target--error{animation:.4s ease-out both feedback-target-error}.result-sheet{animation:.42s cubic-bezier(.16,1,.3,1) both result-enter}.result-sheet__glow{animation:.52s ease-out both completion-glow}.result-sheet__particle:nth-of-type(3n){animation:.46s ease-out both result-particle-a}.result-sheet__particle:nth-of-type(3n+1){animation:.46s ease-out both result-particle-b}.result-sheet__particle:nth-of-type(3n+2){animation:.46s ease-out both result-particle-c}}@keyframes game-card-enter{0%{opacity:0}to{opacity:1}}@keyframes lobby-record-enter{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes energy-ring{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.5)}}@keyframes feedback-particle{0%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--particle-x), var(--particle-y)) scale(.5)}}@keyframes error-pulse{25%{opacity:1;transform:translate(-5px)}75%{opacity:1;transform:translate(5px)}to{opacity:0;transform:translate(0)}}@keyframes feedback-target-error{25%{transform:translate(-4px)}75%{transform:translate(4px)}to{transform:translate(0)}}@keyframes result-enter{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes completion-glow{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes result-particle-a{to{opacity:0;transform:translate(-6rem,-3rem)}}@keyframes result-particle-b{to{opacity:0;transform:translate(5rem,-4rem)}}@keyframes result-particle-c{to{opacity:0;transform:translate(1rem,4rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.feedback-effect,.feedback-effect *,.result-sheet,.result-sheet *,.particle{transform:none!important}.feedback-effect .particle,.result-sheet .particle{display:none}.stroop-timer__fill{inline-size:calc(var(--progress) * 100%);transform:none!important}}
