@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-ext-wght-normal-CawQDOvP.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/sora-latin-wght-normal-DdqRvwsR.woff2) format("woff2-variations");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}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations");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}:root{--color-primary: #e63946;--color-secondary: #9aa4b2;--color-accent: #3b82f6;--color-bg: #0b0d12;--color-bg-alt: #10131a;--color-surface: #151923;--color-text: #f5f7fa;--color-text-muted: #9aa4b2;--color-border: #262c3a;--color-success: #22c55e;--color-warning: #f59e0b;--color-error: #ef4444;--color-audi: #e63946;--color-bmw: #3b82f6;--color-board: #0f1219;--color-cell: #1a1f2c;--color-win-line: #facc15;--color-on-primary: #ffffff;--color-on-secondary: #000000;--color-on-accent: #000000;--color-on-success: #000000;--color-on-warning: #000000;--color-on-error: #000000;--color-on-audi: #ffffff;--color-on-bmw: #000000;--font-body: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-heading: "Sora Variable", "Sora", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base: 16px;--heading-scale: 1.25;--line-height-body: 1.55;--font-weight-body: 400;--font-weight-heading: 700;--radius-base: 8px;--content-width: 1200px;--density-scale: 1;--space-scale: 1;--shadow-intensity: .55;--motion-scale: 1;--glass-blur: 0px;--glass-alpha: 1}:root,.theme-scope{--space-unit: calc(var(--font-size-base) * .25 * var(--space-scale) * var(--density-scale));--space-1: var(--space-unit);--space-2: calc(var(--space-unit) * 2);--space-3: calc(var(--space-unit) * 3);--space-4: calc(var(--space-unit) * 4);--space-5: calc(var(--space-unit) * 5);--space-6: calc(var(--space-unit) * 6);--space-8: calc(var(--space-unit) * 8);--space-12: calc(var(--space-unit) * 12);--space-16: calc(var(--space-unit) * 16);--text-xs: calc(var(--font-size-base) * .75);--text-sm: calc(var(--font-size-base) * .875);--text-md: var(--font-size-base);--text-lg: calc(var(--font-size-base) * var(--heading-scale));--text-xl: calc(var(--font-size-base) * var(--heading-scale) * var(--heading-scale));--text-2xl: calc(var(--font-size-base) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale));--text-3xl: calc(var(--font-size-base) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale));--text-4xl: calc(var(--font-size-base) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale) * var(--heading-scale));--radius-sm: calc(var(--radius-base) * .5);--radius-md: var(--radius-base);--radius-lg: calc(var(--radius-base) * 1.75);--radius-pill: 999px;--shadow-sm: 0 1px 2px rgb(0 0 0 / calc(.35 * var(--shadow-intensity)));--shadow-md: 0 8px 24px rgb(0 0 0 / calc(.3 * var(--shadow-intensity)));--shadow-lg: 0 24px 64px rgb(0 0 0 / calc(.45 * var(--shadow-intensity)));--dur-fast: calc(.12s * var(--motion-scale));--dur-base: calc(.24s * var(--motion-scale));--dur-slow: calc(.6s * var(--motion-scale));--ease: cubic-bezier(.2, .8, .2, 1);--tap-size: 2.75rem;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-accent) 75%, transparent);--surface-glass: color-mix(in srgb, var(--color-surface) calc(var(--glass-alpha) * 100%), transparent);--tint-primary: color-mix(in srgb, var(--color-primary) 16%, transparent);--tint-audi: color-mix(in srgb, var(--color-audi) 16%, transparent);--tint-bmw: color-mix(in srgb, var(--color-bmw) 16%, transparent)}.theme-scope{font-family:var(--font-body);font-size:var(--font-size-base);font-weight:var(--font-weight-body);line-height:var(--line-height-body);color:var(--color-text);background:var(--color-bg)}*,*:before,*:after{box-sizing:border-box}html{font-size:var(--font-size-base);-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;font-family:var(--font-body);font-weight:var(--font-weight-body);line-height:var(--line-height-body);color:var(--color-text);background:radial-gradient(70rem 32rem at 50% -8rem,color-mix(in srgb,var(--color-primary) 13%,transparent),transparent 70%),radial-gradient(48rem 28rem at 100% 0%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 70%),var(--color-bg);background-attachment:fixed;transition:background-color var(--dur-base) var(--ease),color var(--dur-base) var(--ease)}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--font-weight-heading);line-height:1.15;letter-spacing:-.01em;margin:0}p{margin:0}a{color:var(--color-accent);text-underline-offset:.2em}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:var(--focus-ring)}::selection{background:color-mix(in srgb,var(--color-accent) 40%,transparent)}.container{width:100%;max-width:var(--content-width);margin-inline:auto;padding-inline:max(var(--space-4),env(safe-area-inset-left,0px))}.main{flex:1 0 auto;display:flex;flex-direction:column;gap:var(--space-8);padding-block:var(--space-6) var(--space-12)}.main:focus{outline:none}.sr-only,.sr-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-4);top:-4rem;z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;transition:top var(--dur-fast) var(--ease)}.skip-link:focus{top:var(--space-3)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.cell,.btn,.card,.player-card{border:1px solid CanvasText}}.site-header{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb,var(--color-bg) 82%,transparent);backdrop-filter:blur(14px) saturate(1.2);border-bottom:1px solid var(--color-border)}.header-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-4);min-height:4rem}.brand{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--color-text);text-decoration:none;min-height:var(--tap-size)}.brand-mini{height:1.5rem;width:auto}.brand-mini.brand-logo-audi{height:1.1rem}.brand-vs{color:var(--color-text-muted);font-family:var(--font-heading);font-size:var(--text-sm)}.brand-title{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--text-md);margin-left:var(--space-2)}.header-tools{display:flex;align-items:center;gap:var(--space-3);min-width:0}@media(max-width:40rem){.brand-title{display:none}.icon-button-label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.connection{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.connection-dot{width:.55rem;height:.55rem;border-radius:var(--radius-pill);background:var(--color-warning)}.connection-connected .connection-dot{background:var(--color-success)}.connection-disconnected .connection-dot{background:var(--color-error)}.site-footer{border-top:1px solid var(--color-border);padding-block:var(--space-6) calc(var(--space-6) + env(safe-area-inset-bottom,0px));color:var(--color-text-muted);font-size:var(--text-sm)}.site-footer p{max-width:60rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-size);padding:var(--space-2) var(--space-5);border:1px solid transparent;border-radius:var(--radius-md);font:inherit;font-weight:600;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform var(--dur-fast) var(--ease),background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),filter var(--dur-fast) var(--ease)}.btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(calc(-1px * var(--motion-scale)))}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled,.btn[aria-busy=true]{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}[data-button-style=outline] .btn-primary{background:transparent;border-color:var(--color-primary);color:var(--color-primary)}[data-button-style=soft] .btn-primary{background:var(--tint-primary);color:var(--color-text);border-color:color-mix(in srgb,var(--color-primary) 40%,transparent)}[data-button-style=gradient] .btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:var(--color-on-primary)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border)}.btn-ghost{background:transparent;color:var(--color-text)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-text) 8%,transparent)}.btn-danger{background:var(--color-error);color:var(--color-on-error)}.icon-button{padding-inline:var(--space-3)}.spinner{width:1em;height:1em;border-radius:var(--radius-pill);border:2px solid currentColor;border-right-color:transparent;animation:spin calc(.8s * var(--motion-scale)) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.card{background:var(--surface-glass);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md)}[data-card-style=flat] .card{background:var(--color-bg-alt);border-color:transparent;box-shadow:none}[data-card-style=outlined] .card{box-shadow:none}[data-glass=on] .card,[data-glass=on] .player-card,[data-glass=on] .dialog{backdrop-filter:blur(var(--glass-blur)) saturate(1.3)}.panel{display:flex;flex-direction:column;gap:var(--space-4)}.section-title{font-size:var(--text-xl)}.page-title{font-size:var(--text-2xl)}.banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-surface)}.banner-warning{border-left-color:var(--color-warning)}.banner-info{border-left-color:var(--color-accent)}.hint{color:var(--color-text-muted);font-size:var(--text-sm)}.empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-6);border:1px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-muted)}.field-label{display:block;margin-bottom:var(--space-2);font-weight:600;font-size:var(--text-sm)}.field{width:100%;min-height:var(--tap-size);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-alt);color:var(--color-text);font:inherit}.field:disabled{opacity:.55}.code-field{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase}form .hint{margin-block:var(--space-2) var(--space-4)}.hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center;padding-block:var(--space-6) var(--space-2)}.hero-duel{display:flex;align-items:center;gap:var(--space-5)}.hero-duel .brand-logo-audi{height:2rem;width:auto}.hero-duel .brand-logo-bmw{height:3.25rem;width:auto}.hero-vs{font-family:var(--font-heading);font-weight:var(--font-weight-heading);color:var(--color-text-muted);letter-spacing:.2em}.hero-title{font-size:clamp(var(--text-3xl),7vw,var(--text-4xl));background:linear-gradient(100deg,var(--color-audi) 8%,var(--color-text) 48%,var(--color-bmw) 92%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-vs-inline{font-weight:500}.hero-sub{max-width:34rem;color:var(--color-text-muted);font-size:var(--text-lg)}.modes{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.mode-card{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3)}.mode-card h2{font-size:var(--text-lg)}.mode-card>p:not(.hint){color:var(--color-text-muted);flex:1}.join-prompt{max-width:36rem;margin-inline:auto;display:flex;flex-direction:column;gap:var(--space-4)}.scoreboard{display:flex;flex-direction:column;gap:var(--space-4)}.stats{display:grid;gap:var(--space-3);margin:0;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.stat{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-glass);border-top:3px solid var(--color-border)}.stat-audi{border-top-color:var(--color-audi)}.stat-bmw{border-top-color:var(--color-bmw)}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm)}.stat-value{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--text-3xl);line-height:1.1;font-variant-numeric:tabular-nums}.stat-hint{margin:0;color:var(--color-text-muted);font-size:var(--text-sm)}.split-bar{display:flex;height:.75rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-bg-alt);border:1px solid var(--color-border)}.split-bar>span{flex-basis:0;transition:flex-grow var(--dur-slow) var(--ease)}.split-audi{background:var(--color-audi)}.split-draw{background:var(--color-secondary)}.split-bmw{background:var(--color-bmw)}.split-none{flex-grow:1}.skeleton-stats{height:7rem;border-radius:var(--radius-lg);background:linear-gradient(90deg,var(--color-surface),var(--color-bg-alt),var(--color-surface));background-size:200% 100%;animation:shimmer calc(1.6s * var(--motion-scale)) linear infinite}@keyframes shimmer{to{background-position:-200% 0}}.match-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.match{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);background:var(--surface-glass)}.match[data-result=audi]{border-left-color:var(--color-audi)}.match[data-result=bmw]{border-left-color:var(--color-bmw)}.match[data-result=draw]{border-left-color:var(--color-secondary)}.match-result{font-weight:700}.match-meta,.match-time{color:var(--color-text-muted);font-size:var(--text-sm)}@media(max-width:34rem){.match{grid-template-columns:1fr auto}.match-meta{grid-column:1 / -1;order:3}}.dialog{width:min(32rem,calc(100vw - 2rem));padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-glass);color:var(--color-text);box-shadow:var(--shadow-lg)}.dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}.dialog[open]{animation:dialog-in var(--dur-base) var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(.75rem) scale(.98)}}.dialog-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6)}.dialog-title{font-size:var(--text-xl)}.dialog-intro{color:var(--color-text-muted)}.dialog-actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-2)}.pref-group{margin:0;padding:0;border:0}.pref-group legend{padding:0;margin-bottom:var(--space-2);font-weight:600}.pref-options{display:flex;flex-wrap:wrap;gap:var(--space-2)}.pref-option{position:relative;display:inline-flex}.pref-option input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.pref-option span{display:inline-flex;align-items:center;min-height:var(--tap-size);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-bg-alt);transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.pref-option input:checked+span{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 20%,transparent);font-weight:600}.pref-option input:focus-visible+span{box-shadow:var(--focus-ring)}.toast-region{position:fixed;inset:auto var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px)) var(--space-4);z-index:60;display:flex;justify-content:center;pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);max-width:34rem;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);pointer-events:auto;animation:dialog-in var(--dur-base) var(--ease)}.toast-error{border-left-color:var(--color-error)}.toast-info{border-left-color:var(--color-accent)}.game-layout{display:grid;gap:var(--space-5);align-items:start;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"audi center bmw"}.game-layout>.player-card-audi{grid-area:audi}.game-layout>.player-card-bmw{grid-area:bmw}.game-center{grid-area:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4);min-width:0}@media(max-width:60rem){.game-layout{align-items:stretch;grid-template-columns:1fr 1fr;grid-template-areas:"audi bmw" "center center"}}.player-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-top:3px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-glass);box-shadow:var(--shadow-sm);transition:border-color var(--dur-base) var(--ease),box-shadow var(--dur-base) var(--ease),transform var(--dur-base) var(--ease)}.player-card-audi{border-top-color:var(--color-audi)}.player-card-bmw{border-top-color:var(--color-bmw)}.player-card .brand-logo-audi{height:1.6rem;width:auto}.player-card .brand-logo-bmw{height:2.4rem;width:auto}.player-card.is-active{transform:translateY(calc(-3px * var(--motion-scale)))}.player-card-audi.is-active{border-color:var(--color-audi);box-shadow:0 0 0 1px var(--color-audi),0 10px 40px color-mix(in srgb,var(--color-audi) 30%,transparent)}.player-card-bmw.is-active{border-color:var(--color-bmw);box-shadow:0 0 0 1px var(--color-bmw),0 10px 40px color-mix(in srgb,var(--color-bmw) 30%,transparent)}.player-name{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xl)}.you-badge{padding:.1rem var(--space-2);border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-bg);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.player-meta{color:var(--color-text-muted);font-size:var(--text-sm)}.presence{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.presence-dot{width:.5rem;height:.5rem;border-radius:var(--radius-pill);background:var(--color-success)}.presence[data-state=waiting] .presence-dot{background:var(--color-warning)}.presence[data-state=offline] .presence-dot{background:var(--color-error)}.turn-badge{padding:.15rem var(--space-3);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:600}.player-card-audi .turn-badge{background:var(--tint-audi);color:var(--color-text)}.player-card-bmw .turn-badge{background:var(--tint-bmw);color:var(--color-text)}@media(max-width:34rem){.player-card{padding:var(--space-4)}.player-name{font-size:var(--text-lg)}}.status-line{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center;min-height:3.2rem}.status-headline{font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--text-xl)}.status-detail{color:var(--color-text-muted)}.status-line[data-tone=audi] .status-headline{color:var(--color-audi)}.status-line[data-tone=bmw] .status-headline{color:var(--color-bmw)}.status-line[data-tone=success] .status-headline{color:var(--color-success)}.status-line[data-tone=danger] .status-headline{color:var(--color-error)}.status-line[data-tone=warning] .status-headline{color:var(--color-warning)}.board-frame{--board-size: min(92vw, 30rem, 64vh);--board-pad: var(--space-3);--cell-gap: var(--space-2);position:relative;width:var(--board-size);aspect-ratio:1;margin-inline:auto}.board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;padding:var(--board-pad);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-board);box-shadow:var(--shadow-md)}.cell{display:grid;place-items:center;margin:var(--cell-gap);padding:0;border:1px solid color-mix(in srgb,var(--color-border) 70%,transparent);border-radius:var(--radius-md);background:var(--color-cell);color:var(--color-text);font:inherit;cursor:default;transition:background-color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-base) var(--ease),transform var(--dur-fast) var(--ease)}.cell[data-playable=true]{cursor:pointer}.cell[data-playable=true]:hover{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,var(--color-cell));transform:scale(calc(1 + .025 * var(--motion-scale)))}.cell[data-mark=audi]{color:var(--color-audi)}.cell[data-mark=bmw]{color:var(--color-bmw)}.cell.is-pending{opacity:.7}.cell[data-win=true]{border-color:var(--color-win-line);box-shadow:0 0 0 1px var(--color-win-line),0 0 28px color-mix(in srgb,var(--color-win-line) 40%,transparent)}.board-frame[data-status=finished] .cell:not([data-win=true]),.board-frame[data-status=abandoned] .cell{opacity:.55}.mark{width:64%;height:64%;animation:mark-in var(--dur-base) var(--ease)}@keyframes mark-in{0%{opacity:0;transform:scale(.35) rotate(-14deg)}}.win-line{position:absolute;left:var(--board-pad);top:var(--board-pad);width:calc(100% - 2 * var(--board-pad));height:calc(100% - 2 * var(--board-pad));pointer-events:none;overflow:visible;filter:drop-shadow(0 0 6px var(--color-win-line))}.win-line line{stroke:var(--color-win-line);stroke-width:.085;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:draw-line var(--dur-slow) var(--ease) .15s forwards}@keyframes draw-line{to{stroke-dashoffset:0}}.share-room{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:min(100%,30rem);padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-lg);text-align:center}.share-label{color:var(--color-text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em}.share-code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:var(--text-2xl);font-weight:700;letter-spacing:.16em}.share-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.share-link{max-width:100%;overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--text-sm)}.game-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3)}.game-over-body{display:flex;flex-direction:column;gap:var(--space-3)}.game-over .dialog-title{font-size:var(--text-3xl);text-align:center}.game-over:has([data-tone=audi]) .dialog-title{color:var(--color-audi)}.game-over:has([data-tone=bmw]) .dialog-title{color:var(--color-bmw)}.game-over:has([data-tone=success]) .dialog-title{color:var(--color-success)}.game-over:has([data-tone=danger]) .dialog-title{color:var(--color-error)}.game-over-detail,.game-over-meta,.game-over-note{text-align:center;color:var(--color-text-muted)}.game-over-detail{color:var(--color-text);font-size:var(--text-lg)}.game-over .dialog-actions{justify-content:center}.match-score{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.match-score-title{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--space-2);margin:0;font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted)}.match-score-games{font-weight:400}.match-score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin:0}.match-score-cell{display:flex;flex-direction:column;align-items:center;gap:.125rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-top:3px solid var(--color-border);border-radius:var(--radius-lg);background:var(--surface-glass)}.match-score-cell dt{color:var(--color-text-muted);font-size:var(--text-sm)}.match-score-cell dd{margin:0;font-family:var(--font-heading);font-weight:var(--font-weight-heading);font-size:var(--text-2xl, var(--text-3xl));line-height:1.1;font-variant-numeric:tabular-nums}.match-score-audi{border-top-color:var(--color-audi)}.match-score-bmw{border-top-color:var(--color-bmw)}
