:root{color-scheme:light;--ink: #2b2a27;--stone: #aca090;--clan-north: #ff6b00;--clan-south: #0057b8;--accent: #d45d4c;--paper: #f5efe6;--paper-dark: #ded3be;--deep: #1c1b19}*{box-sizing:border-box}body{margin:0;font-family:Plus Jakarta Sans,sans-serif;color:var(--ink);background:linear-gradient(120deg,rgba(255,255,255,.45),transparent 60%),radial-gradient(circle at top left,#f8f3ea,#e7ddc7 45%,#d5c8b0);min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(90deg,rgba(43,42,39,.08) 0 2px,transparent 2px 24px),linear-gradient(0deg,rgba(43,42,39,.08) 0 2px,transparent 2px 24px),linear-gradient(90deg,rgba(255,107,0,.12) 0 6px,transparent 6px 72px),linear-gradient(0deg,rgba(0,87,184,.12) 0 6px,transparent 6px 72px);background-size:48px 48px,48px 48px,96px 96px,96px 96px;mix-blend-mode:multiply;pointer-events:none;opacity:.35}#root{position:relative;z-index:1}:root{--dur-fast: .12s;--dur-base: .2s;--ease-out: cubic-bezier(.2, .8, .2, 1);--focus-ring: 0 0 0 3px rgba(212, 93, 76, .45)}@media (prefers-reduced-motion: reduce){:root{--dur-fast: 0ms;--dur-base: 0ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{scroll-behavior:smooth}body{font-feature-settings:"tnum" 1,"kern" 1,"liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}::selection{background:#d45d4c59;color:var(--deep)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible{outline:none;box-shadow:var(--focus-ring)}button,a.primary,a.ghost{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),background-color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out)}button:hover:not(:disabled),a.primary:hover,a.ghost:hover{transform:translateY(-1px)}button:active:not(:disabled),a.primary:active,a.ghost:active{transform:translateY(0)}button.primary:hover:not(:disabled),a.primary:hover{box-shadow:0 8px 18px -10px #1c1b1999}button.ghost:hover:not(:disabled),a.ghost:hover{background:#2b2a270f;border-color:#2b2a2766}button:disabled{cursor:not-allowed;opacity:.55}img,svg{display:block;max-width:100%}@keyframes ui-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ui-pop-in{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-backdrop{animation:ui-fade-in var(--dur-base, .2s) var(--ease-out, ease-out)}.modal{animation:ui-pop-in var(--dur-base, .2s) var(--ease-out, ease-out);transform-origin:center}input[type=text],input[type=email],input[type=search],input[type=number],input[type=password],input[type=url],input:not([type]),select,textarea{font-family:inherit;font-size:inherit;color:var(--ink);background:#fff9;border:1px solid rgba(43,42,39,.22);border-radius:10px;padding:8px 12px;transition:border-color var(--dur-base, .2s) var(--ease-out, ease-out),box-shadow var(--dur-base, .2s) var(--ease-out, ease-out),background-color var(--dur-base, .2s) var(--ease-out, ease-out)}input[type=text]:hover,input[type=email]:hover,input[type=search]:hover,input[type=number]:hover,input[type=password]:hover,input[type=url]:hover,input:not([type]):hover,select:hover,textarea:hover{border-color:#2b2a2766;background:#ffffffc7}input,textarea{caret-color:var(--accent)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}a:not(.primary):not(.ghost){color:var(--accent);text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#d45d4c66;transition:text-decoration-color var(--dur-base, .2s) var(--ease-out, ease-out)}a:not(.primary):not(.ghost):hover{text-decoration-color:var(--accent)}code,kbd,samp,pre{font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,Courier New,monospace;font-size:.92em;background:#2b2a270f;padding:.08em .32em;border-radius:4px}pre{padding:12px 14px;overflow-x:auto}pre code{background:transparent;padding:0}*{scrollbar-width:thin;scrollbar-color:rgba(43,42,39,.25) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#2b2a272e;border-radius:999px;border:2px solid transparent;background-clip:content-box}*::-webkit-scrollbar-thumb:hover{background:#2b2a2759;background-clip:content-box}.player-zone .hand button.card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 20px -12px #1c1b198c}.tournament-detail__ready-btn:hover:not(:disabled){box-shadow:0 10px 24px -14px #1c1b198c}.modal ::selection,.app--landing ::selection{background:#d45d4c80;color:#fff}*{-webkit-tap-highlight-color:rgba(212,93,76,.18)}.stone--active{box-shadow:0 0 0 2px #d45d4c8c,0 0 22px -8px #d45d4c73}select{cursor:pointer}h1,h2,h3,h4{text-wrap:balance}p{text-wrap:pretty}img{height:auto}::placeholder{color:#2b2a2773;opacity:1}input[type=checkbox],input[type=radio],input[type=range],progress{accent-color:var(--accent)}button.card:active:not(:disabled){transform:translateY(-2px) scale(.97);box-shadow:0 6px 14px -10px #1c1b1980}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"▸";display:inline-block;margin-right:8px;color:var(--accent);transition:transform var(--dur-fast, .12s) var(--ease-out, ease-out)}details[open]>summary:before{transform:rotate(90deg)}[id]{scroll-margin-top:24px}.stone:active{transform:translateY(-1px) scale(.995)}button:not(:disabled){cursor:pointer}button{user-select:none;-webkit-user-select:none}summary:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}button.primary:active:not(:disabled),a.primary:active,button.ghost:active:not(:disabled),a.ghost:active{transform:translateY(0) scale(.985)}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}html{scrollbar-gutter:stable}.app{max-width:1200px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:32px}.app--landing{max-width:1100px}.landing{display:flex;flex-direction:column;gap:48px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding:28px;border-radius:26px;background:linear-gradient(140deg,#ffffffe6,#ece2d2cc);border:1px solid rgba(43,42,39,.14);box-shadow:0 22px 36px #1c1b1929}.landing-hero__copy h1{font-size:3rem;margin:0 0 12px}.landing-lang{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2799;margin-bottom:12px}.landing-lang select{border-radius:999px;border:1px solid rgba(43,42,39,.2);padding:6px 12px;background:#fffc;font-weight:600;color:var(--ink)}.landing h2{margin:0 0 8px;font-family:Fraunces,serif;font-size:2rem}.landing-eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;margin:0 0 10px;color:#2b2a278c}.landing-lede{margin:0 0 20px;font-size:1.05rem;color:#2b2a27bf;line-height:1.6}.landing-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.landing-pillars{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2799}.landing-hero__card{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:20px;background:#2b2a2714;box-shadow:inset 0 0 0 1px #2b2a271f}.hero-board{padding:16px;border-radius:18px;background:#fffc;box-shadow:inset 0 0 12px #2b2a271a;display:flex;flex-direction:column;gap:12px}.hero-banner{font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:#2b2a278c}.hero-row{display:flex;gap:8px}.hero-row--top{justify-content:flex-end}.hero-row--bottom{justify-content:flex-start}.hero-card{width:38px;height:52px;border-radius:10px;background:linear-gradient(140deg,#fff7ea,#e7d1b4);border:1px solid rgba(43,42,39,.2);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--accent)}.hero-card--back{background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 4px),repeating-linear-gradient(0deg,transparent 0 7px,rgba(156,44,38,.32) 7px 11px,transparent 11px 14px,rgba(200,164,88,.24) 14px 16px,transparent 16px 19px),repeating-linear-gradient(90deg,transparent 0 7px,rgba(156,44,38,.32) 7px 11px,transparent 11px 14px,rgba(200,164,88,.24) 14px 16px,transparent 16px 19px),linear-gradient(160deg,#243024,#161d12);border:1px solid rgba(255,255,255,.1)}.hero-card--accent{background:linear-gradient(140deg,#f7e1cf,#e9bba1)}.hero-stones{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.hero-stone{height:22px;border-radius:999px;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.5),transparent 46%),radial-gradient(circle at 74% 86%,rgba(43,42,39,.22),transparent 48%),linear-gradient(157deg,#bcb0a0,#9b8f80 48%,#7e7264);box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 4px #2b2a2766,inset 0 0 0 1px #2b2a272e;font-size:.6rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;color:#1c1814d9;text-shadow:0 1px 0 rgba(255,255,255,.35)}.hero-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#2b2a27a6;text-align:center}.landing-section{display:flex;flex-direction:column;gap:20px}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.landing-card{padding:18px;border-radius:18px;background:#ffffffbf;border:1px solid rgba(43,42,39,.12);box-shadow:0 14px 26px #1c1b191f}.landing-card h3{margin:0 0 8px;font-family:Fraunces,serif}.landing-card p{margin:0;color:#2b2a27b3}.landing-section--modes{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.landing-modes{display:grid;gap:12px}.landing-mode{padding:14px 16px;border-radius:16px;background:#fffc;border:1px solid rgba(43,42,39,.12)}.landing-mode h4{margin:0 0 6px;font-family:Fraunces,serif}.landing-mode p{margin:0;color:#2b2a27b3}.landing-section--install{padding:20px;border-radius:20px;background:linear-gradient(150deg,#ffffffe0,#e9dcc7d9);border:1px solid rgba(43,42,39,.12);box-shadow:0 18px 30px #1c1b1926}.install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.install-card{padding:12px 14px;border-radius:14px;background:#ffffffbf;border:1px solid rgba(43,42,39,.12);display:flex;flex-direction:column;gap:4px}.install-title{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:#2b2a2799}.install-detail{font-weight:600;color:#2b2a27cc}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#fffffffa,#ebe4d8eb);border:1px solid rgba(43,42,39,.18);color:var(--ink);font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 28px #1c1b192e;z-index:999;animation:fadeUp .4s ease}@keyframes fadeUp{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.topbar{display:flex;flex-direction:column;gap:20px;align-items:stretch}.topbar-copy{display:flex;flex-direction:column;gap:6px}.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.18em;margin:0 0 8px;color:#2b2a2799}h1{font-family:Fraunces,serif;font-size:2.6rem;margin:0 0 8px}.topbar-copy h1{letter-spacing:-.015em;text-shadow:0 1px 0 rgba(255,255,255,.6),0 -1px 1px rgba(31,26,22,.16)}html[data-color-scheme=dark] .topbar-copy h1{text-shadow:0 1px 1px rgba(0,0,0,.55),0 -1px 0 rgba(255,255,255,.07)}.subtitle{max-width:420px;margin:0;color:#2b2a27b3;line-height:1.5}.controls{display:flex;flex-direction:column;gap:16px;width:100%;background:#ffffffb3;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b1926;border:1px solid rgba(43,42,39,.12)}.controls-row{order:99;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.language-picker{display:flex;align-items:center;gap:10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:#2b2a2799}.language-picker select{border-radius:999px;border:1px solid rgba(43,42,39,.2);padding:6px 12px;background:#fffc;font-weight:600;color:var(--ink)}.debug-toggle.active,.sound-toggle.active{background:var(--ink);color:#f8f3ea}.control-group{display:flex;flex-direction:column;gap:8px}.control-group>.label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2780}.mode-toggle{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.mode-toggle button{border:1px solid transparent;background:#f0e7d7;padding:8px 10px;border-radius:999px;font-weight:600;cursor:pointer}.mode-toggle button.active{background:var(--ink);color:#f8f3ea;box-shadow:inset 0 1px #ffffff24,0 6px 14px -8px #1c1b198c}.mode-toggle button:not(.active):not(:disabled):hover{background:#e7d9c0;border-color:#2b2a272e}.mode-toggle button:disabled{opacity:.5;cursor:not-allowed}.status{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.status--secondary{grid-template-columns:repeat(2,minmax(0,1fr))}.status .label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2780}.status .value{font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums}.last-action{margin-top:10px;padding:10px 12px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(43,42,39,.12);border-left:3px solid var(--accent);box-shadow:inset 0 0 12px #2b2a2714;display:flex;flex-direction:column;gap:6px}.last-action__text{font-size:.9rem;font-weight:600;color:#2b2a27d9}.tactics-played{margin-top:10px;display:flex;flex-direction:column;gap:8px}.tactics-row{display:flex;flex-direction:column;gap:6px}.tactics-cards{display:flex;flex-wrap:wrap;gap:6px}.tactic-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:#ffffffb3;border:1px solid rgba(43,42,39,.2);color:var(--ink)}.tactic-chip--south{border-color:#0057b8b3;color:#003a7a}.tactic-chip--north{border-color:#ff6b00b3;color:#b04400}.tactics-empty{font-size:.62rem;color:#2b2a2799}.level-toggle button{font-size:.8rem;padding:8px 12px}.stone-track{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;padding:8px 10px;border-radius:999px;background:#ffffffa6;border:1px solid rgba(43,42,39,.12);box-shadow:inset 0 0 12px #2b2a2714}.stone-token{height:22px;border-radius:999px;background:#2b2a271f;border:1px solid rgba(43,42,39,.15);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#2b2a2799;box-shadow:inset 0 1px 2px #fffc}.stone-token--south{background:linear-gradient(145deg,#dceafffa,#aaccffeb);border-color:#0057b899;color:#003a7a}.stone-token--north{background:linear-gradient(145deg,#ffebd7fa,#ffc68aeb);border-color:#ff6b0099;color:#b04400}.action-row{display:flex;gap:12px;flex-wrap:wrap}button.primary,a.primary{background:var(--ink);color:#f8f3ea;border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}button.ghost,a.ghost{background:transparent;border:1px solid rgba(43,42,39,.2);border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer}a.primary,a.ghost{text-decoration:none;display:inline-flex;align-items:center}.auth-page{max-width:440px;margin:clamp(40px,12vh,120px) auto 64px;padding:36px 34px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(160deg,#fffffff5,#ebdfcee6);border:1px solid rgba(43,42,39,.14);border-radius:24px;box-shadow:0 28px 56px -28px #1c1b1973,inset 0 0 0 1px #ffffff80}.auth-page h1{margin:0;font-family:Fraunces,serif;font-size:1.9rem;line-height:1.1}.auth-body{margin:0;color:#2b2a27b3;line-height:1.5}.auth-page form{display:flex;flex-direction:column;gap:10px;margin-top:6px}.auth-page label{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#2b2a278c}.auth-page input{width:100%;font-size:1rem;padding:11px 14px}.auth-page button[type=submit]{margin-top:6px;padding:12px 16px;border:none;border-radius:12px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(135deg,#e0715c,var(--accent));box-shadow:0 14px 26px -16px #d45d4cd9}.auth-page button[type=submit]:hover:not(:disabled){box-shadow:0 18px 32px -16px #d45d4cf2}.auth-error{margin:0;color:#b23b2c;font-weight:600;font-size:.9rem}.auth-sent{display:flex;flex-direction:column;gap:14px}.auth-sent p{margin:0;padding:14px 16px;border-radius:14px;background:#1aa1791a;border:1px solid rgba(26,161,121,.28);border-left:3px solid #1aa179;color:#1a6b54;line-height:1.5}.auth-sent button{align-self:flex-start;background:transparent;border:1px solid rgba(43,42,39,.25);border-radius:10px;padding:8px 14px;font-weight:600}.ai-row{display:flex;align-items:center;gap:12px;font-size:.9rem}.ai-row input[type=range]{width:160px}.online-panel{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:20px;background:#ffffffb8;border:1px solid rgba(43,42,39,.12);box-shadow:0 14px 30px #1c1b192e}.online-panel__header{display:flex;flex-direction:column;gap:12px}.online-actions{display:flex;flex-wrap:wrap;gap:8px}.online-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 11px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;background:#2b2a271a;border:1px solid rgba(43,42,39,.1)}.online-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.online-pill--connected,.online-pill--waiting{background:#0057b82e;color:#003a7a;border-color:#0057b847}.online-pill--connecting{background:#d45d4c26;color:#8b3c2f;border-color:#d45d4c4d}.online-pill--connecting:before,.online-pill--waiting:before{animation:online-dot-pulse 1.2s ease-in-out infinite}@keyframes online-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.online-pill--error{background:#d45d4c40;color:#7b2f23;border-color:#d45d4c66}.online-pill--idle{background:#2b2a271a;color:#5a544c}.online-pill--idle:before{opacity:.5}.online-meta{font-size:.7rem;color:#2b2a2799}.online-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.online-card{padding:12px 14px;border-radius:16px;background:#ffffffb3;border:1px solid rgba(43,42,39,.12);display:flex;flex-direction:column;gap:8px}.online-card__title{text-transform:uppercase;letter-spacing:.18em;font-size:.62rem;color:#2b2a2799;font-weight:700}.online-metric{display:flex;justify-content:space-between;gap:10px;font-size:.85rem}.online-metric .label{text-transform:uppercase;letter-spacing:.14em;font-size:.6rem;color:#2b2a278c}.online-metric .value{font-weight:700}.stability--good{color:#003a7a}.stability--warn{color:#8b6b2d}.stability--bad{color:#7b2f23}.stability--idle{color:#2b2a2780}.timer-display{font-size:1.6rem;font-weight:800;text-align:center;padding:8px 12px;border-radius:14px;background:#2b2a2714}.timer-display--turn{background:#0057b833;color:#003a7a}.timer-meta{text-align:center;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:#2b2a2799}.timer-hard{text-align:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a278c}.timer-notify{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.65rem;color:#2b2a278c}.timer-notify .label{text-transform:uppercase;letter-spacing:.14em}.timer-notify .value{font-weight:600;letter-spacing:.06em}.timer-controls{display:flex;flex-direction:column;gap:6px}.timer-controls label{display:flex;flex-direction:column;gap:4px;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#2b2a278c}.timer-controls select{border-radius:999px;border:1px solid rgba(43,42,39,.2);padding:6px 10px;background:#fffc;font-weight:600}.timer-pending{padding:8px 10px;border-radius:12px;background:#d45d4c1f;border:1px solid rgba(212,93,76,.2);font-size:.75rem;display:flex;flex-direction:column;gap:8px}.timer-divider{height:1px;background:#2b2a271f;margin:8px 0}.timer-display--urgent{background:#d43c2826;color:#a82000;animation:soloTimerUrgent .7s ease-in-out infinite}@keyframes soloTimerUrgent{0%,to{opacity:1}50%{opacity:.6}}.solo-timer{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0}.online-leaderboard{list-style:none;padding:0;margin:6px 0 0;display:flex;flex-direction:column;gap:6px;font-size:.8rem}.online-leaderboard li{display:flex;justify-content:space-between;padding:6px 8px;border-radius:10px;background:#2b2a270f}.online-empty{color:#2b2a2799}.online-watch{display:flex;gap:8px;align-items:center;padding:8px 0}.online-watch input{flex:1;border-radius:10px;border:1px solid rgba(43,42,39,.2);padding:8px 10px;background:#fffc;font-size:.8rem;color:var(--ink)}.spectator-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 16px;background:var(--accent, #e8dcc8);border-radius:10px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.spectator-count{font-weight:400;opacity:.7;text-transform:none}.online-panel__footer{display:flex;flex-direction:column;gap:6px}.online-server{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#2b2a27a6}.online-server input{border-radius:10px;border:1px solid rgba(43,42,39,.2);padding:8px 10px;background:#fffc;font-weight:600;color:var(--ink)}.online-server .value{font-weight:700}.online-note{font-size:.7rem;color:#2b2a278c}button.ghost.danger{border-color:#d45d4c66;color:#7b2f23}.online-status{display:flex;flex-direction:column;gap:2px;min-width:120px}.online-status .label{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a278c}.error{color:var(--accent);font-weight:600;font-size:.85rem}.winner-banner{background:var(--ink);color:#f8f3ea;padding:12px 16px;border-radius:12px;font-weight:700;text-align:center}.board{display:flex;flex-direction:column;gap:24px;padding:18px;border-radius:26px;background:linear-gradient(135deg,#f7f1e7e6,#dfd1bde6);border:1px solid rgba(43,42,39,.12);box-shadow:0 16px 32px #1c1b192e}.opponent-zone,.player-zone{background:#ffffffb3;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b1926;border:1px solid rgba(43,42,39,.1)}.opponent-zone h2,.player-zone h2{margin:0 0 14px;font-family:Fraunces,serif;display:inline-block;padding-bottom:5px;border-bottom:2px solid rgba(212,93,76,.5)}.hand{display:flex;gap:10px;flex-wrap:wrap}.hand--tactics{flex-wrap:nowrap;gap:6px;justify-content:center}.hand--tactics>.card{flex:0 1 auto;min-width:0;width:min(68px,calc((100% - 36px) / 7))}.hand--tactics,:root[data-style-theme] .player-zone .hand--tactics,:root[data-style-theme] .opponent-zone .hand--tactics{overflow:visible;display:flex}@media (max-width: 640px){.hand--tactics{gap:4px}.hand--tactics>.card{width:min(60px,calc((100% - 24px) / 7));height:82px}}.hint{margin:10px 0 0;color:#2b2a2799}.hint--drag{margin-top:4px;color:var(--accent);font-weight:600}.hint--pass{margin-top:4px;color:#1b4b7ad9;font-weight:600}.hint--narrative{margin-top:4px;color:#2b2a27bf;font-style:italic}.hint--tutorial{margin-top:6px;color:#2b2a27e6}.tutorial-skip{margin-top:8px;display:inline-flex;box-shadow:0 16px 28px #1c1b1938}.support-panel{background:linear-gradient(180deg,#ffffffe6,#e6dccdcc);border-radius:22px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;box-shadow:0 18px 40px #14131233,inset 0 0 0 1px #2b2a271a}.support-panel__copy{flex:1}.support-panel__copy h3{margin:0 0 10px}.support-panel__actions{display:flex;align-items:center}.support-panel__link{padding:12px 22px;border-radius:999px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.support-panel__hint{margin-top:10px;color:#2b2a2799}.thinking{margin:8px 0 0;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #d45d4c66;animation:pulse-dot 1.3s ease-in-out infinite}.dotty:after{content:"...";display:inline-block;width:0ch;text-align:left;overflow:hidden;animation:dotty 1.2s steps(3,end) infinite}.draw-panel,.recruiter-panel{background:#ffffffb3;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b1926}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1c1a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.modal{width:min(440px,92vw);border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px #14131247,inset 0 0 0 1px #2b2a2714;border:1px solid rgba(43,42,39,.12)}.winner-modal{text-align:center;background:linear-gradient(160deg,#fffffff5,#ebdfceeb)}.winner-modal--south{border-top:5px solid var(--clan-south);box-shadow:0 30px 60px #1c1b1952,0 0 0 1px #0057b833}.winner-modal--south h3{color:var(--clan-south)}.winner-modal--north{border-top:5px solid var(--clan-north);box-shadow:0 30px 60px #1c1b1952,0 0 0 1px #ff6b0038}.winner-modal--north h3{color:var(--clan-north)}.hotseat-modal{text-align:center}.modal-subtitle{margin:6px 0 18px;color:#2b2a27b3}.modal-actions{justify-content:center}.recruiter-panel h3,.draw-panel h3{margin:0 0 10px;font-family:Fraunces,serif}.recruiter-return{margin-top:16px}.recruiter-return h4{margin:0 0 10px;font-family:Fraunces,serif}.stones{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:14px;align-items:stretch}.board-claim{position:sticky;bottom:8px;z-index:30;margin:14px 0 4px;display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-radius:14px;background:linear-gradient(165deg,#fffdf7,#f3ead7);border:1px solid rgba(166,106,26,.45);box-shadow:0 8px 22px #14131240}@media (prefers-reduced-motion: no-preference){@keyframes claim-step-pulse{0%,to{box-shadow:0 8px 22px #14131240,0 0 #d8962073}50%{box-shadow:0 8px 22px #14131240,0 0 0 6px #d8962000}}.board-claim{animation:claim-step-pulse 1.6s ease-in-out 3}}.board-claim__title{font-weight:700;font-size:.9rem;color:#2c2218}.board-claim__hint{font-weight:400;font-size:.8rem;opacity:.75}.stone{background:linear-gradient(160deg,#f8f3ea,#e4d7c2);border-radius:22px;padding:10px 6px;box-shadow:inset 0 0 0 1px #2b2a271f,0 12px 24px #1c1b1926;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;position:relative;transition:transform .2s ease,box-shadow .2s ease;animation:rise .6s ease both}.stone:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border-radius:18px;background:radial-gradient(circle at top,rgba(255,255,255,.7),transparent 70%);opacity:.6;pointer-events:none}.stone:nth-child(odd){animation-delay:.05s}.stone:nth-child(2n){animation-delay:.12s}.stone:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px #2b2a2733,0 20px 30px #1c1b1933}.stone--active{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 2px #d45d4c59,0 20px 30px #1c1b1933}.stone--kb-focus{outline:2px solid rgba(37,99,235,.9);outline-offset:3px;box-shadow:0 0 0 3px #2563eb40,0 20px 30px #1c1b1933}.stone--last{outline:2px solid rgba(212,93,76,.65);outline-offset:3px;box-shadow:0 0 0 3px #d45d4c33,0 18px 28px #1c1b192e;animation:pulse 1.4s ease-in-out infinite}.stone--ruse-source{outline:2px dashed rgba(27,75,122,.7);outline-offset:3px;box-shadow:0 0 0 3px #1b4b7a2e,0 18px 28px #1c1b1929}.stone--ruse-dest{outline:2px solid rgba(21,117,126,.7);outline-offset:3px;box-shadow:0 0 0 3px #15757e2e,0 18px 28px #1c1b1929}.stone--tutorial{outline:2px solid rgba(212,93,76,.75);outline-offset:3px;box-shadow:0 0 0 3px #d45d4c40,0 22px 32px #1c1b1938;animation:pulse 1.6s ease-in-out infinite}.stone--target{outline:2px dashed rgba(43,42,39,.6);outline-offset:2px}.stone--south{background:linear-gradient(160deg,#e2eeff,#b3cdfa);box-shadow:inset 0 0 0 2px #0057b8a6,0 12px 24px #1c1b192e}.stone--north{background:linear-gradient(160deg,#ffe9d6,#ffc078);box-shadow:inset 0 0 0 2px #ff6b00a6,0 12px 24px #1c1b192e}.cards{display:flex;flex-direction:column;gap:6px;min-height:92px;width:100%;align-items:center}.stone-core{width:100%;display:flex;justify-content:center;align-items:center;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.45),transparent 42%),radial-gradient(circle at 72% 84%,rgba(43,42,39,.22),transparent 46%),linear-gradient(157deg,#bcb0a0,#9b8f80 48%,#7e7264);border-radius:999px;padding:8px 0;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -2px 6px #2b2a2766,inset 0 0 0 1px #2b2a272e;flex-direction:column;gap:4px}.stone-pips{display:flex;flex-direction:column;gap:3px;align-items:center}.stone-claim{font-size:.55rem;text-transform:uppercase;letter-spacing:.2em;padding:4px 10px 4px 8px;border-radius:999px;background:linear-gradient(120deg,#fffffff2,#fff9);border:1px solid rgba(43,42,39,.2);display:inline-flex;align-items:center;gap:6px;font-weight:700}.stone-claim:before{content:"";width:6px;height:6px;border-radius:999px;background:currentColor;box-shadow:0 0 0 2px #fffc}.stone-claim--south{color:#003a7a;border-color:#0057b899}.stone-claim--north{color:#b04400;border-color:#ff6b0099}.stone-index{font-family:Fraunces,serif;font-weight:800;color:var(--ink);text-shadow:0 1px 0 rgba(255,255,255,.5)}html[data-color-scheme=dark] .stone-index{text-shadow:0 1px 1px rgba(0,0,0,.55)}.stone-pips{display:flex;gap:4px;align-items:center;justify-content:center}.stone-pip{width:6px;height:6px;border-radius:999px;border:1.5px solid currentColor;opacity:.35}.stone-pips--p0{color:var(--clan-south)}.stone-pips--p1{color:var(--clan-north)}.stone-pips--p0 .stone-pip--filled{background:var(--clan-south);opacity:.85}.stone-pips--p1 .stone-pip--filled{background:var(--clan-north);opacity:.85}.stone-mode{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:#6b3f0a;background:linear-gradient(140deg,#fff4d6,#f0c66a);border:1px solid #b8841a;border-radius:999px;padding:3px 10px;box-shadow:0 2px 6px #6b3f0a47,inset 0 1px 1px #ffffffb3;display:inline-flex;align-items:center;gap:4px}.stone-mode:before{content:"⚡";font-size:.75rem}.stone-mode--last{animation:stone-mode-pulse 1.6s ease-out 1}.stone-mode{cursor:pointer}.stone-mode:hover{transform:translateY(-1px)}.stone-mode--pinned{outline:2px solid #b8841a;outline-offset:2px}@keyframes stone-mode-pulse{0%{transform:scale(1);box-shadow:0 0 #b8841ab3,0 2px 6px #6b3f0a47}60%{transform:scale(1.08);box-shadow:0 0 0 10px #b8841a00,0 2px 6px #6b3f0a47}to{transform:scale(1);box-shadow:0 2px 6px #6b3f0a47,inset 0 1px 1px #ffffffb3}}.card{width:68px;height:92px;border-radius:16px;background:linear-gradient(160deg,#fef6e8,#f0dfc6 45%,#e7cda8);border:1px solid rgba(43,42,39,.24);--card-accent: var(--ink);--card-contrast: #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914;font-weight:700;text-transform:uppercase;letter-spacing:.08em;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:visible}.card--dragging{opacity:.7;transform:translateY(-2px) scale(.98)}.tactic-tooltip-portal{padding:10px 12px;border-radius:12px;background:#1a1815f7;color:#f8f3ea;font-size:.72rem;line-height:1.45;text-transform:none;letter-spacing:.02em;box-shadow:0 16px 30px #14121073;pointer-events:none;animation:tactic-tooltip-in .16s ease-out}.tactic-tooltip-portal--pinned{pointer-events:auto}@keyframes tactic-tooltip-in{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.card[data-tooltip-pinned=true]{outline:2px solid #b8841a;outline-offset:2px}.card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.85),transparent 45%),radial-gradient(circle at 80% 85%,rgba(43,42,39,.12),transparent 55%),repeating-linear-gradient(135deg,rgba(43,42,39,.05) 0 1px,transparent 1px 7px);opacity:.85;pointer-events:none}.card:after{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:11px;border:1px solid rgba(43,42,39,.2);box-shadow:inset 0 0 0 1px #fff9;pointer-events:none}button.card{border:none;padding:0;cursor:pointer}button.card:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.45)}button.card:hover:not(:disabled){transform:translateY(-7px) rotate(-1.5deg);box-shadow:0 18px 28px #1c1b193d}button.card:focus-visible{outline:3px solid rgba(43,42,39,.6);outline-offset:2px}.card--tactic{background:linear-gradient(140deg,#fff4d6,#e6b85a);border:2px solid #b8841a;--card-accent: #6b3f0a;box-shadow:0 0 0 1px #b8841a66,0 8px 18px #6b3f0a47,inset 0 1px 2px #ffffffa6}.card--tactic .card-value{font-size:.78rem;line-height:1.1;text-align:center;width:auto;height:auto;padding:4px 6px;background:#fff4d6d9;border:1px solid rgba(184,132,26,.5);color:#6b3f0a;font-weight:700;letter-spacing:.04em}.card--tactic:before{background:radial-gradient(circle at 22% 12%,rgba(255,255,255,.8),transparent 55%),linear-gradient(125deg,rgba(255,195,60,.45),transparent 70%)}.card--tactic:after{content:"⚡";position:absolute;top:4px;right:6px;font-size:.85rem;color:#b8841a;text-shadow:0 1px 1px rgba(255,255,255,.8);pointer-events:none;z-index:2}.card--tactic.card--last{animation:tactic-just-played 1.6s ease-out 1}@keyframes tactic-just-played{0%{box-shadow:0 0 #b8841ad9,0 8px 18px #6b3f0a47;transform:translateY(-2px)}60%{box-shadow:0 0 0 12px #b8841a00,0 8px 18px #6b3f0a47;transform:translateY(0)}to{box-shadow:0 0 0 1px #b8841a66,0 8px 18px #6b3f0a47,inset 0 1px 2px #ffffffa6;transform:translateY(0)}}.card-value{font-size:1.45rem;font-family:Fraunces,serif;z-index:1;width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#fffffff2,#f5ecdee6);border:1px solid rgba(43,42,39,.2);color:var(--card-accent);box-shadow:inset 0 1px 4px #ffffffe6,inset 0 -2px 6px #2b2a271f,0 8px 14px #1c1b192e}.card-suit{font-size:.58rem;z-index:1;padding:3px 8px;border-radius:999px;background:linear-gradient(120deg,#ffffffd9,#ffffff80);border:1px solid rgba(43,42,39,.18);color:var(--card-accent)}.card--selected{outline:3px solid var(--accent);outline-offset:2px;transform:translateY(-6px);box-shadow:0 0 0 3px #d45d4c38,0 18px 30px #1c1b194d}button.card.card--selected:hover:not(:disabled){box-shadow:0 0 0 3px var(--accent),0 0 18px 6px #d45d4c66,0 18px 28px #1c1b193d}.card--tutorial{outline:3px solid rgba(212,93,76,.9);outline-offset:3px;animation:pulse 1.4s ease-in-out infinite}.card--last{outline:3px solid rgba(212,93,76,.75);outline-offset:2px;box-shadow:0 18px 30px #d45d4c40,0 8px 18px #1c1b192e;animation:pulse 1.4s ease-in-out infinite}@keyframes cardFlipIn{0%{transform:rotateY(90deg) scale(.85);opacity:0}60%{opacity:1}to{transform:rotateY(0) scale(1);opacity:1}}.card--flip{animation:cardFlipIn .4s ease-out both}.card--back{background:linear-gradient(140deg,#1f1e1c,#4a463f);border:1px solid rgba(255,255,255,.18)}.card--back:before{background:radial-gradient(circle at center,rgba(255,255,255,.18),transparent 60%),repeating-linear-gradient(45deg,rgba(212,93,76,.2) 0 2px,transparent 2px 8px)}.card--back-clan{background:linear-gradient(145deg,#22201d,#514b40)}.card--back-clan:before{background:radial-gradient(circle at center,rgba(255,255,255,.18),transparent 60%),repeating-linear-gradient(135deg,rgba(231,220,199,.28) 0 2px,transparent 2px 10px)}.card--back-tactic{background:linear-gradient(145deg,#1d1a17,#4a4137);border-style:dashed}.card--back-tactic:before{background:radial-gradient(circle at center,rgba(255,255,255,.2),transparent 60%),repeating-linear-gradient(45deg,rgba(212,93,76,.25) 0 2px,transparent 2px 9px)}.card--green{background:linear-gradient(145deg,#e6ffe9,#a8f2b8);--card-accent: #00a651;border:2px solid var(--card-accent)}.card--blue{background:linear-gradient(145deg,#e5efff,#a9c4ff);--card-accent: #0057ff;border:2px solid var(--card-accent)}.card--red{background:linear-gradient(145deg,#ffe5e5,#ffb0b0);--card-accent: #d60000;border:2px solid var(--card-accent)}.card--yellow{background:linear-gradient(145deg,#fff9cc,#ffe066);--card-accent: #ffcc00;--card-contrast: #1c1b19;border:2px solid var(--card-accent)}.card--purple{background:linear-gradient(145deg,#f0e0ff,#c5a1ff);--card-accent: #6a00ff;border:2px solid var(--card-accent)}.card--pink{background:linear-gradient(145deg,#ffe3f4,#ffb3df);--card-accent: #ff1493;border:2px solid var(--card-accent)}.card--green .card-suit,.card--blue .card-suit,.card--red .card-suit,.card--yellow .card-suit,.card--purple .card-suit,.card--pink .card-suit{background:var(--card-accent);color:var(--card-contrast);border-color:#0003}.rules-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}.rules-card{background:#ffffffc7;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b191f;border:1px solid rgba(43,42,39,.12)}.rules-card--scenario{background:linear-gradient(160deg,#ffffffe6,#f4e6d5d9)}.rules-card h3{margin:0 0 8px;font-family:Fraunces,serif}.rules-card ol{margin:0;padding-left:18px;line-height:1.6}.legend{background:#ffffffb3;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b1926;border:1px solid rgba(43,42,39,.12)}.legend h3{margin:0 0 10px;font-family:Fraunces,serif}.legend ol{margin:0;padding-left:20px;line-height:1.6}.app-footer,.landing-footer{margin:20px 0 10px;padding:14px 18px;display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;border-radius:16px;background:#ffffffb3;border:1px solid rgba(43,42,39,.12);box-shadow:0 10px 22px #1c1b191f;font-size:.85rem}.footer-links{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.footer-label{margin-right:8px;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#2b2a278c}.app-footer a:not(.primary):not(.ghost),.landing-footer a:not(.primary):not(.ghost){color:var(--ink);font-weight:600;text-decoration:none;transition:color var(--dur-base, .2s) var(--ease-out, ease-out)}.app-footer a:not(.primary):not(.ghost):hover,.landing-footer a:not(.primary):not(.ghost):hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}@keyframes rise{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%{box-shadow:0 16px 26px #d45d4c2e,0 8px 16px #1c1b1929}50%{box-shadow:0 20px 34px #d45d4c4d,0 12px 22px #1c1b1933}to{box-shadow:0 16px 26px #d45d4c2e,0 8px 16px #1c1b1929}}@keyframes pulse-dot{0%{transform:scale(1);box-shadow:0 0 #d45d4c73}70%{transform:scale(1.1);box-shadow:0 0 0 8px #d45d4c00}to{transform:scale(1);box-shadow:0 0 #d45d4c00}}@keyframes dotty{to{width:3ch}}@media (min-width: 960px){.topbar{flex-direction:row;align-items:flex-start;justify-content:space-between}}@media (max-width: 960px){.stones{grid-template-columns:repeat(3,minmax(0,1fr))}.rules-panel,.landing-hero{grid-template-columns:1fr}.landing-hero__copy h1{font-size:2.4rem}.landing-section--modes{grid-template-columns:1fr}.card{width:60px;height:84px}.card-value{width:38px;height:38px;font-size:1.3rem}}@media (max-width: 640px){.app{padding:16px 12px 24px;gap:16px}.topbar{gap:12px}h1{font-size:1.8rem}.subtitle{display:none}.controls,.online-panel{padding:12px;gap:12px}.online-grid{grid-template-columns:1fr}.controls-row{gap:8px}.mode-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-toggle button{font-size:.72rem;padding:8px 10px}.status{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-lang{justify-content:flex-start}.landing-hero{padding:20px}.landing-hero__copy h1{font-size:2rem}.controls{width:100%}.stone-track{gap:4px;padding:6px 8px}.stone-token{height:18px;font-size:.55rem}.stones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-bottom:6px}.stone{min-width:0}.board{gap:12px;padding:12px}.opponent-zone,.player-zone{padding:10px 12px}.opponent-zone h2,.player-zone h2{margin:0 0 8px;font-size:1rem}.hand{flex-wrap:nowrap;overflow-x:auto;gap:8px;padding-bottom:4px}.stone{padding:8px 4px;gap:5px}.cards{min-height:0;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:center;gap:2px}.stones .card{width:36px;height:50px}.stones .card-value{width:22px;height:22px;font-size:.85rem}.stones .card-suit{font-size:.55rem}.stone-core{padding:4px 0}.stone-pips{display:none}.stone-claim{font-size:.5rem;padding:3px 8px 3px 6px}.stone-pip{width:5px;height:5px}.stone-pips{gap:3px}.card{width:54px;height:74px}.card-value{width:32px;height:32px;font-size:1.1rem}.legend,.app-footer{display:none}.rules-card{padding:12px 14px}.support-panel{flex-direction:column;align-items:flex-start}.support-panel__actions,.support-panel__copy{width:100%}.support-panel__actions{justify-content:flex-start}.support-panel__link{width:100%;text-align:center}}@media (max-width: 520px){.card{width:50px;height:70px}.card-value{width:30px;height:30px;font-size:1rem}.stones{gap:6px}.cards{gap:3px}.stones .card{width:32px;height:46px}.stones .card-value{width:20px;height:20px;font-size:.78rem}.stones .card-suit{font-size:.5rem}}@media (max-width: 420px){.card{width:46px;height:64px}.card-value{width:28px;height:28px;font-size:.95rem}.cards{min-height:0;gap:3px}.stones .card{width:30px;height:42px}.stones .card-value{width:18px;height:18px;font-size:.72rem}.stones .card-suit{font-size:.48rem}}:root{--ink: #1f1a16;--accent: #c24a2e;--stone: #aca090;--paper: #f7efdf;--paper-dark: #dcc5a5;--deep: #181512;--clan-north: #e16a1f;--clan-south: #0b6a8f}body{background:radial-gradient(1100px 700px at -8% -18%,rgba(252,236,212,.96),transparent 62%),radial-gradient(900px 620px at 108% -10%,rgba(191,226,234,.75),transparent 56%),linear-gradient(160deg,#fbf6ea,#f2e4cf,#e5cfaf)}body:before{background-image:linear-gradient(90deg,rgba(31,26,22,.06) 0 1px,transparent 1px 24px),linear-gradient(0deg,rgba(31,26,22,.06) 0 1px,transparent 1px 24px),linear-gradient(120deg,rgba(194,74,46,.1),transparent 55%),linear-gradient(300deg,rgba(11,106,143,.12),transparent 58%);background-size:24px 24px,24px 24px,100% 100%,100% 100%;mix-blend-mode:soft-light;opacity:.55}body:after{content:"";position:fixed;top:-15%;right:-10%;bottom:-15%;left:-10%;pointer-events:none;background:radial-gradient(circle at 22% 28%,rgba(242,160,129,.22),transparent 36%),radial-gradient(circle at 78% 76%,rgba(88,176,201,.18),transparent 32%),radial-gradient(circle at 74% 20%,rgba(255,232,188,.28),transparent 26%);filter:blur(6px);animation:auraDrift 18s ease-in-out infinite alternate;z-index:0}@keyframes auraDrift{0%{transform:translate3d(-1%,-1%,0) scale(1)}to{transform:translate3d(1.8%,1.2%,0) scale(1.04)}}#root{isolation:isolate}h1,.landing h2,.landing-card h3,.landing-mode h4,.opponent-zone h2,.player-zone h2,.recruiter-panel h3,.draw-panel h3{letter-spacing:-.015em}.app{max-width:1280px;gap:36px}.app--landing{max-width:1220px}.landing{gap:56px}.landing-hero{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(31,26,22,.16);background:linear-gradient(165deg,#fffc,#f8e7cdb8 45%,#e3f8fc70),radial-gradient(circle at 88% 18%,rgba(233,114,80,.14),transparent 46%);box-shadow:0 24px 42px #1d171133,inset 0 1px #ffffffc7}.landing-hero:before{content:"";position:absolute;width:340px;height:340px;right:-120px;top:-130px;border-radius:50%;background:radial-gradient(circle at 38% 36%,#ffe8c8cc,#c24a2e38);filter:blur(2px);pointer-events:none}.landing-hero__copy,.landing-hero__card{position:relative;z-index:1}.landing-hero__copy h1{font-size:clamp(2.5rem,4.9vw,4rem);line-height:.94;max-width:16ch;text-wrap:balance;letter-spacing:-.015em;text-shadow:0 1px 0 rgba(255,255,255,.55),0 -1px 1px rgba(31,26,22,.14)}.landing-eyebrow{color:#1f1a169e}.landing-eyebrow:before{content:"";display:inline-block;width:26px;height:2px;margin-right:12px;vertical-align:middle;background:var(--accent);border-radius:2px}.landing-lede{font-size:1.08rem;line-height:1.7;max-width:62ch}.landing-pillars span{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid rgba(31,26,22,.15);background:#ffffff94;box-shadow:inset 0 1px #ffffffc7}.landing-hero__card{border-radius:24px;background:#1c16110f;box-shadow:inset 0 0 0 1px #1f1a161f}.hero-board{background:linear-gradient(170deg,#ffffffe0,#f0dec3e6)}.hero-card{border-radius:12px;box-shadow:inset 0 1px #ffffffbf,0 8px 12px #1e161029}.hero-badge{color:#1f1a16bd}.landing-grid,.landing-modes,.install-grid{gap:16px}.landing-card,.landing-mode,.install-card{border-radius:18px;background:linear-gradient(170deg,#ffffffd6,#f7ecdbb8);border:1px solid rgba(31,26,22,.14);box-shadow:0 16px 28px #1d171124,inset 0 1px #ffffffdb;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:cardRise .7s ease both}.landing-card:hover,.landing-mode:hover,.install-card:hover{transform:translateY(-4px);border-color:#1f1a1642;box-shadow:0 20px 32px #1d17112e,inset 0 1px #ffffffe0}.landing-grid .landing-card:nth-child(2),.landing-modes .landing-mode:nth-child(2),.install-grid .install-card:nth-child(2){animation-delay:.08s}.landing-grid .landing-card:nth-child(3),.landing-modes .landing-mode:nth-child(3),.install-grid .install-card:nth-child(3){animation-delay:.14s}@keyframes cardRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.landing-section--install{border-radius:24px;background:linear-gradient(160deg,#ffffffdb,#ebdabccc),radial-gradient(circle at 86% 14%,rgba(11,106,143,.15),transparent 36%)}.controls,.online-panel,.rules-card,.draw-panel,.recruiter-panel,.opponent-zone,.player-zone,.last-action{border-radius:20px;border:1px solid rgba(31,26,22,.14);background:linear-gradient(170deg,#fffc,#f6e8cfad);box-shadow:0 16px 28px #1d171129,inset 0 1px #ffffffd6}.mode-toggle button,button.ghost,a.ghost{border-radius:999px;border:1px solid rgba(31,26,22,.2);background:linear-gradient(170deg,#ffffffb8,#efe0c5b8);box-shadow:inset 0 1px #ffffffb3}button.primary,a.primary{border-radius:999px;background:linear-gradient(135deg,#bb4329,#e16a3a);color:#fff4ea;box-shadow:0 12px 22px #ac42284d,inset 0 1px #ffffff59}button.primary:hover,a.primary:hover,button.ghost:hover,a.ghost:hover,.mode-toggle button:hover{transform:translateY(-1px);filter:brightness(1.03)}button.primary:focus-visible,a.primary:focus-visible,button.ghost:focus-visible,a.ghost:focus-visible,.mode-toggle button:focus-visible,.landing-lang select:focus-visible,.language-picker select:focus-visible{outline:2px solid rgba(11,106,143,.65);outline-offset:2px}.mode-toggle button.active,.debug-toggle.active,.sound-toggle.active{background:linear-gradient(140deg,#1f1a16,#3a2f26);color:#fff3e6;border-color:#fff4e238}.board{position:relative;overflow:hidden;border-radius:30px;border:1px solid rgba(31,26,22,.18);background:linear-gradient(150deg,#fbf4e8eb,#e3cda8eb),radial-gradient(circle at 16% 8%,rgba(11,106,143,.18),transparent 30%);box-shadow:0 24px 44px #1d17113d,inset 0 1px #ffffffd9}.board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(135deg,#ffffff2e 0,#ffffff2e 12px,#fff0 12px,#fff0 24px);opacity:.35}.stone{border-radius:24px;background:linear-gradient(165deg,#f7efdf,#dec49e);box-shadow:inset 0 0 0 1px #1f1a1629,0 14px 24px #1d171133}.stone:hover{transform:translateY(-5px) scale(1.015)}.stone-core{border-radius:16px;background:linear-gradient(160deg,#dcc49efa,#c4a878fa)}.stone-claim{background:linear-gradient(130deg,#fffffff2,#f2e7d2eb);border-color:#1f1a1642}.card{border-radius:13px;box-shadow:inset 0 1px #ffffffb8,0 10px 16px #1d17112e}button.card:hover:not(:disabled){transform:translateY(-4px) rotate(-.8deg);box-shadow:inset 0 1px #ffffffc2,0 16px 22px #1d17113d}.card--selected{box-shadow:0 0 0 3px #0b6a8f52,0 18px 26px #1d171138}button.card.card--selected:hover:not(:disabled){box-shadow:0 0 0 3px #0b6a8fa6,0 0 18px 6px #0b6a8f66,0 16px 22px #1d17113d}.rules-panel,.legend,.support-panel,.app-footer,.landing-footer{border-radius:22px;border:1px solid rgba(31,26,22,.14);background:linear-gradient(170deg,#fffc,#f2e4c9b3);box-shadow:0 16px 28px #1d171126,inset 0 1px #ffffffd9}.app-footer,.landing-footer{padding:14px 16px}.footer-label{color:#1f1a1694}.online-pill--connected,.online-pill--waiting{background:#0b6a8f2e;color:#0b4960}.online-pill--connecting,.online-pill--error{background:#c24a2e29;color:#7a3422}.winner-banner{border-radius:14px;background:linear-gradient(140deg,#1c1714,#3a2b1f);box-shadow:0 12px 20px #140f0b59}@media (max-width: 960px){.landing-hero{border-radius:24px;padding:22px}}@media (max-width: 640px){body:after{opacity:.6;filter:blur(8px)}.app{gap:18px}.landing{gap:34px}.landing-card,.landing-mode,.install-card,.controls,.online-panel,.board,.support-panel{box-shadow:0 12px 20px #1d171124,inset 0 1px #ffffffdb}}.controls-row{align-items:center}.landing-lang{flex-wrap:wrap;justify-content:flex-end}.landing-lang label[for=landing-style]{margin-left:8px}@media (max-width: 640px){.landing-lang{justify-content:flex-start}}:root[data-style-theme=editorial]{--accent: #c24a2e;--clan-north: #e16a1f;--clan-south: #0b6a8f}:root[data-style-theme=arena]{--accent: #ef4f2c;--clan-north: #ff7f2a;--clan-south: #00a1cf;--ink: #16120f}html[data-style-theme=arena] body{background:radial-gradient(1200px 750px at -10% -20%,rgba(255,226,187,.98),transparent 58%),radial-gradient(980px 680px at 110% 8%,rgba(154,233,255,.72),transparent 52%),linear-gradient(165deg,#fff6e9,#f1d2a1 52%,#e3b06f)}html[data-style-theme=arena] body:before{opacity:.68}html[data-style-theme=arena] .landing-hero{background:linear-gradient(165deg,#ffffffd1,#ffd69cc7 48%,#baf1ff8c),radial-gradient(circle at 84% 18%,rgba(239,79,44,.2),transparent 42%)}html[data-style-theme=arena] .landing-card,html[data-style-theme=arena] .landing-mode,html[data-style-theme=arena] .install-card,html[data-style-theme=arena] .controls,html[data-style-theme=arena] .online-panel,html[data-style-theme=arena] .board,html[data-style-theme=arena] .support-panel{border-color:#16120f33;box-shadow:0 18px 30px #16120f33,inset 0 1px #ffffffdb}html[data-style-theme=arena] button.primary,html[data-style-theme=arena] a.primary{background:linear-gradient(135deg,#ef4f2c,#ff8a3a);box-shadow:0 14px 24px #ce461e57,inset 0 1px #ffffff5c}html[data-style-theme=arena] .stone{background:linear-gradient(165deg,#fff0d9,#e8bb7a)}html[data-style-theme=arena] .stone--south{background:linear-gradient(165deg,#dff6ff,#8fdcff)}html[data-style-theme=arena] .stone--north{background:linear-gradient(165deg,#ffe9d2,#ffb365)}html[data-style-theme=arena] .card{box-shadow:inset 0 1px #ffffffc2,0 12px 18px #1b130e38}html[data-style-theme=arena] .winner-banner{background:linear-gradient(140deg,#1a1410,#50321a)}:root[data-style-theme=arcade]{--ink: #101416;--accent: #0f6f97;--clan-north: #d56d2a;--clan-south: #0f83b8}html[data-style-theme=arcade] body{background:linear-gradient(180deg,#f5f9fb,#eaf2f6 46%,#e0ebf2)}html[data-style-theme=arcade] body:before,html[data-style-theme=arcade] body:after{opacity:.2;filter:none}html[data-style-theme=arcade] .landing-hero,html[data-style-theme=arcade] .landing-card,html[data-style-theme=arcade] .landing-mode,html[data-style-theme=arcade] .landing-section--install,html[data-style-theme=arcade] .controls,html[data-style-theme=arcade] .online-panel,html[data-style-theme=arcade] .board,html[data-style-theme=arcade] .support-panel,html[data-style-theme=arcade] .rules-panel,html[data-style-theme=arcade] .legend,html[data-style-theme=arcade] .app-footer,html[data-style-theme=arcade] .landing-footer,html[data-style-theme=arcade] .opponent-zone,html[data-style-theme=arcade] .player-zone,html[data-style-theme=arcade] .draw-panel,html[data-style-theme=arcade] .recruiter-panel{border-radius:14px;background:#ffffffeb;border:1px solid rgba(16,20,22,.14);box-shadow:0 8px 16px #10141614}html[data-style-theme=arcade] .landing-hero__copy h1{letter-spacing:-.02em}html[data-style-theme=arcade] .mode-toggle button,html[data-style-theme=arcade] button.ghost,html[data-style-theme=arcade] a.ghost{border-radius:10px;background:#f2f7fa;border-color:#10141629;box-shadow:none}html[data-style-theme=arcade] button.primary,html[data-style-theme=arcade] a.primary{border-radius:10px;background:#0f6f97;box-shadow:0 8px 16px #0f6f973d}html[data-style-theme=arcade] .mode-toggle button.active,html[data-style-theme=arcade] .debug-toggle.active,html[data-style-theme=arcade] .sound-toggle.active{background:#1e2e36}html[data-style-theme=arcade] .stone{border-radius:14px;background:linear-gradient(180deg,#fff,#e8eef3);box-shadow:inset 0 0 0 1px #10141624,0 8px 14px #1014161a}html[data-style-theme=arcade] .stone:before,html[data-style-theme=arcade] .stone:after{opacity:.15}html[data-style-theme=arcade] .stone-core{border-radius:12px;background:#b4bec8}html[data-style-theme=arcade] .card{border-radius:10px;box-shadow:inset 0 1px #fffc,0 6px 10px #1014161f}html[data-style-theme=arcade] button.card:hover:not(:disabled){transform:translateY(-2px)}html[data-style-theme=arcade] .online-pill--connected,html[data-style-theme=arcade] .online-pill--waiting{background:#0f83b824;color:#0f5a7d}html[data-style-theme=arcade] .online-pill--connecting,html[data-style-theme=arcade] .online-pill--error{background:#d56d2a29;color:#7c451a}:root[data-style-theme=highland]{--accent: #8c6018;--clan-north: #8c4070;--clan-south: #1e6b3c;--ink: #1a1610}:root[data-style-theme=official]{--accent: #c8402a;--clan-north: #d8472e;--clan-south: #2b7fb8;--ink: #2c2218}html[data-style-theme=highland] body{background:radial-gradient(1200px 750px at -10% -20%,rgba(220,196,154,.9),transparent 58%),radial-gradient(980px 680px at 110% 8%,rgba(196,174,130,.55),transparent 52%),linear-gradient(165deg,#ede0c8,#d8c8a4 52%,#b8a478)}html[data-style-theme=highland] body:before{background-image:linear-gradient(45deg,rgba(28,23,16,.07) 0 1px,transparent 1px 22px),linear-gradient(-45deg,rgba(28,23,16,.07) 0 1px,transparent 1px 22px),linear-gradient(45deg,rgba(77,112,64,.11) 0 3px,transparent 3px 66px),linear-gradient(-45deg,rgba(31,79,127,.08) 0 3px,transparent 3px 66px);background-size:22px 22px,22px 22px,88px 88px,88px 88px;opacity:.55}html[data-style-theme=highland] .landing-hero{background:linear-gradient(165deg,#fffaece6,#eedab4c7 48%,#d2be948c),radial-gradient(circle at 84% 18%,rgba(140,96,24,.1),transparent 42%)}html[data-style-theme=highland] .landing-card,html[data-style-theme=highland] .landing-mode,html[data-style-theme=highland] .install-card,html[data-style-theme=highland] .controls,html[data-style-theme=highland] .online-panel,html[data-style-theme=highland] .board,html[data-style-theme=highland] .support-panel{background:#f2e9d8eb;border-color:#1c17102e;box-shadow:0 20px 32px #120e0938,inset 0 1px #ffffffa6}html[data-style-theme=highland] button.primary,html[data-style-theme=highland] a.primary{background:linear-gradient(135deg,#7a4c10,#a86820);box-shadow:0 12px 22px #64400e59,inset 0 1px #ffffff52}html[data-style-theme=highland] .stone{background:linear-gradient(160deg,#d8d0bc,#b8ae98);box-shadow:0 8px 16px #120e0947,inset 0 1px #fff6}html[data-style-theme=highland] .stone--south{background:linear-gradient(165deg,#d8eecf,#7ab860)}html[data-style-theme=highland] .stone--north{background:linear-gradient(160deg,#f5dbd2,#d4906c)}html[data-style-theme=highland] .card{box-shadow:inset 0 1px #ffffffad,0 10px 18px #120e093d}html[data-style-theme=highland] .winner-banner{background:linear-gradient(140deg,#1a1408,#3c2810)}@media (max-width: 768px){body{min-height:100dvh;-webkit-text-size-adjust:100%;text-size-adjust:100%}body:before{opacity:.26}body:after{opacity:.34;animation:none;filter:blur(4px)}.app{padding-top:max(14px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));gap:14px}.landing{gap:28px}.landing-hero,.controls,.online-panel,.board,.support-panel,.rules-panel,.legend,.app-footer,.landing-footer{border-radius:16px}.landing-hero{padding:16px;gap:16px}.landing-hero__copy h1{font-size:clamp(1.8rem,8.4vw,2.35rem);line-height:1}.landing-lede{font-size:.95rem;line-height:1.5;margin-bottom:14px}.landing-pillars{gap:8px;font-size:.62rem;letter-spacing:.1em}.landing-pillars span{padding:6px 8px}.landing-cta{width:100%;flex-direction:column;gap:8px}.landing-cta .primary,.landing-cta .ghost{width:100%;justify-content:center;min-height:44px}.controls{padding:12px;gap:10px}.controls-row{flex-direction:column;align-items:stretch;gap:8px}.language-picker{width:100%;justify-content:space-between;gap:10px;font-size:.66rem;letter-spacing:.1em}.language-picker label{flex:0 0 auto;white-space:nowrap}.language-picker select,.landing-lang select,.timer-controls select,.online-server input{min-height:44px;font-size:16px}.language-picker select{flex:1;min-width:0}.mode-toggle button,button.primary,a.primary,button.ghost,a.ghost{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.status{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.status .value{font-size:.98rem}.board{padding:10px;gap:10px}.stone-track{padding:6px;gap:4px}.stones{gap:8px}.stone{border-radius:14px;padding:6px 4px;gap:6px}.stone-core{border-radius:10px;padding:4px 0}.stone-claim{font-size:.48rem;letter-spacing:.08em;padding:3px 7px}.cards{min-height:62px;gap:3px}.topbar,.online-panel__header,.online-panel__footer{gap:10px}.online-actions{width:100%}.online-actions button,.online-actions a{flex:1 1 100%}.modal-backdrop{padding:12px}.modal{width:100%;max-width:420px;border-radius:16px;padding:16px}}@media (max-width: 420px){.landing-lang{gap:6px}.landing-lang label{font-size:.6rem;letter-spacing:.1em}.landing-lang select{flex:1 1 calc(50% - 6px);min-width:0}.mode-toggle button{font-size:.68rem;padding:8px}.stone{padding:5px 3px}.stone-claim{font-size:.44rem;padding:2px 6px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}:root,:root[data-style-theme=editorial]{--ui-text-strong: #1f1a16;--ui-text-muted: rgba(31, 26, 22, .68);--ui-text-inverse: #fff5ea;--ui-bg-top: #fbf6ea;--ui-bg-mid: #f2e4cf;--ui-bg-bottom: #e5cfaf;--ui-radial-warm: rgba(252, 236, 212, .96);--ui-radial-cool: rgba(191, 226, 234, .75);--ui-grid-line: rgba(31, 26, 22, .06);--ui-grid-a: rgba(194, 74, 46, .1);--ui-grid-b: rgba(11, 106, 143, .12);--ui-aura-a: rgba(242, 160, 129, .22);--ui-aura-b: rgba(88, 176, 201, .18);--ui-aura-c: rgba(255, 232, 188, .28);--ui-surface-hi: rgba(255, 255, 255, .84);--ui-surface-lo: rgba(247, 236, 219, .74);--ui-surface-alt-hi: rgba(255, 255, 255, .88);--ui-surface-alt-lo: rgba(240, 222, 195, .9);--ui-border-soft: rgba(31, 26, 22, .14);--ui-border-strong: rgba(31, 26, 22, .24);--ui-shadow-md: 0 16px 28px rgba(29, 23, 17, .15);--ui-shadow-lg: 0 24px 42px rgba(29, 23, 17, .2);--ui-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .84);--ui-primary-a: #bb4329;--ui-primary-b: #e16a3a;--ui-primary-shadow: 0 12px 22px rgba(172, 66, 40, .3);--ui-ghost-a: rgba(255, 255, 255, .72);--ui-ghost-b: rgba(239, 224, 197, .72);--ui-board-a: rgba(251, 244, 232, .92);--ui-board-b: rgba(227, 205, 168, .92);--ui-stone-a: #f7efdf;--ui-stone-b: #dec49e;--ui-stone-inner-a: rgba(172, 160, 144, .98);--ui-stone-inner-b: rgba(136, 124, 108, .96);--ui-focus: rgba(11, 106, 143, .65);--ui-pill-ok-bg: rgba(11, 106, 143, .18);--ui-pill-ok-text: #0b4960;--ui-pill-warn-bg: rgba(194, 74, 46, .16);--ui-pill-warn-text: #7a3422}:root[data-style-theme=arena]{--ui-text-strong: #16120f;--ui-text-muted: rgba(22, 18, 15, .72);--ui-bg-top: #fff6e9;--ui-bg-mid: #f1d2a1;--ui-bg-bottom: #e3b06f;--ui-radial-warm: rgba(255, 226, 187, .98);--ui-radial-cool: rgba(154, 233, 255, .72);--ui-grid-line: rgba(22, 18, 15, .08);--ui-grid-a: rgba(239, 79, 44, .12);--ui-grid-b: rgba(0, 161, 207, .16);--ui-aura-a: rgba(255, 149, 100, .24);--ui-aura-b: rgba(117, 217, 255, .18);--ui-aura-c: rgba(255, 214, 156, .3);--ui-surface-hi: rgba(255, 255, 255, .86);--ui-surface-lo: rgba(255, 227, 181, .72);--ui-surface-alt-hi: rgba(255, 255, 255, .88);--ui-surface-alt-lo: rgba(255, 213, 140, .78);--ui-border-soft: rgba(22, 18, 15, .2);--ui-border-strong: rgba(22, 18, 15, .28);--ui-shadow-md: 0 18px 30px rgba(22, 18, 15, .2);--ui-shadow-lg: 0 26px 44px rgba(22, 18, 15, .24);--ui-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .86);--ui-primary-a: #ef4f2c;--ui-primary-b: #ff8a3a;--ui-primary-shadow: 0 14px 24px rgba(206, 70, 30, .34);--ui-ghost-a: rgba(255, 255, 255, .76);--ui-ghost-b: rgba(255, 224, 172, .74);--ui-board-a: rgba(255, 242, 214, .94);--ui-board-b: rgba(243, 197, 123, .92);--ui-stone-a: #fff0d9;--ui-stone-b: #e8bb7a;--ui-stone-inner-a: rgba(172, 156, 128, .98);--ui-stone-inner-b: rgba(136, 120, 96, .96);--ui-focus: rgba(0, 161, 207, .65);--ui-pill-ok-bg: rgba(0, 161, 207, .18);--ui-pill-ok-text: #09526b;--ui-pill-warn-bg: rgba(239, 79, 44, .17);--ui-pill-warn-text: #7f2d1c}:root[data-style-theme=arcade]{--ui-text-strong: #111a1f;--ui-text-muted: rgba(17, 26, 31, .7);--ui-bg-top: #f5f9fb;--ui-bg-mid: #eaf2f6;--ui-bg-bottom: #e0ebf2;--ui-radial-warm: rgba(255, 255, 255, .86);--ui-radial-cool: rgba(179, 213, 230, .24);--ui-grid-line: rgba(17, 26, 31, .06);--ui-grid-a: rgba(15, 111, 151, .08);--ui-grid-b: rgba(213, 109, 42, .06);--ui-aura-a: rgba(112, 179, 212, .12);--ui-aura-b: rgba(122, 198, 235, .1);--ui-aura-c: rgba(255, 255, 255, .2);--ui-surface-hi: rgba(255, 255, 255, .94);--ui-surface-lo: rgba(246, 250, 252, .9);--ui-surface-alt-hi: rgba(255, 255, 255, .95);--ui-surface-alt-lo: rgba(242, 247, 250, .9);--ui-border-soft: rgba(16, 20, 22, .14);--ui-border-strong: rgba(16, 20, 22, .2);--ui-shadow-md: 0 10px 18px rgba(16, 20, 22, .1);--ui-shadow-lg: 0 14px 22px rgba(16, 20, 22, .12);--ui-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .86);--ui-primary-a: #0f6f97;--ui-primary-b: #1486b5;--ui-primary-shadow: 0 8px 16px rgba(15, 111, 151, .24);--ui-ghost-a: #f2f7fa;--ui-ghost-b: #edf4f8;--ui-board-a: rgba(255, 255, 255, .96);--ui-board-b: rgba(232, 238, 243, .96);--ui-stone-a: #ffffff;--ui-stone-b: #e8eef3;--ui-stone-inner-a: #c8d0d8;--ui-stone-inner-b: #a8b4be;--ui-focus: rgba(15, 111, 151, .62);--ui-pill-ok-bg: rgba(15, 131, 184, .14);--ui-pill-ok-text: #0f5a7d;--ui-pill-warn-bg: rgba(213, 109, 42, .16);--ui-pill-warn-text: #7c451a}:root[data-style-theme=highland]{--ui-text-strong: #1a1610;--ui-text-muted: rgba(26, 22, 16, .68);--ui-text-inverse: #fdf8f0;--ui-bg-top: #ede0c8;--ui-bg-mid: #d8c8a4;--ui-bg-bottom: #b8a478;--ui-radial-warm: rgba(220, 196, 154, .92);--ui-radial-cool: rgba(196, 178, 138, .55);--ui-grid-line: rgba(26, 22, 16, .06);--ui-grid-a: rgba(120, 88, 28, .1);--ui-grid-b: rgba(80, 60, 30, .07);--ui-aura-a: rgba(188, 158, 104, .18);--ui-aura-b: rgba(156, 130, 88, .14);--ui-aura-c: rgba(230, 210, 162, .22);--ui-surface-hi: rgba(254, 250, 240, .88);--ui-surface-lo: rgba(236, 222, 196, .78);--ui-surface-alt-hi: rgba(255, 252, 244, .9);--ui-surface-alt-lo: rgba(240, 226, 200, .88);--ui-border-soft: rgba(26, 22, 16, .14);--ui-border-strong: rgba(26, 22, 16, .24);--ui-shadow-md: 0 16px 28px rgba(18, 14, 8, .2);--ui-shadow-lg: 0 24px 42px rgba(18, 14, 8, .25);--ui-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .84);--ui-primary-a: #7a4c10;--ui-primary-b: #a86820;--ui-primary-shadow: 0 12px 22px rgba(100, 64, 14, .35);--ui-ghost-a: rgba(254, 250, 240, .76);--ui-ghost-b: rgba(236, 218, 188, .76);--ui-board-a: rgba(248, 240, 222, .94);--ui-board-b: rgba(220, 202, 166, .94);--ui-stone-a: #d0c8b8;--ui-stone-b: #b0a890;--ui-stone-inner-a: rgba(160, 150, 134, .98);--ui-stone-inner-b: rgba(124, 114, 100, .96);--ui-focus: rgba(100, 74, 20, .65);--ui-pill-ok-bg: rgba(14, 97, 40, .16);--ui-pill-ok-text: #0a5224;--ui-pill-warn-bg: rgba(160, 84, 16, .18);--ui-pill-warn-text: #7a4010}:root[data-style-theme=official]{--ui-text-strong: #2c2218;--ui-text-muted: rgba(44, 34, 24, .66);--ui-text-inverse: #fff6e8;--ui-bg-top: #c9ad7f;--ui-bg-mid: #ad8a5c;--ui-bg-bottom: #8f6e44;--ui-radial-warm: rgba(220, 190, 142, .92);--ui-radial-cool: rgba(156, 130, 90, .5);--ui-grid-line: rgba(40, 28, 16, .06);--ui-grid-a: rgba(120, 80, 36, .1);--ui-grid-b: rgba(96, 150, 40, .1);--ui-aura-a: rgba(216, 120, 60, .18);--ui-aura-b: rgba(120, 178, 70, .18);--ui-aura-c: rgba(248, 226, 170, .24);--ui-surface-hi: rgba(255, 252, 243, .93);--ui-surface-lo: rgba(245, 235, 215, .84);--ui-surface-alt-hi: rgba(255, 253, 246, .95);--ui-surface-alt-lo: rgba(246, 236, 216, .9);--ui-border-soft: rgba(44, 34, 24, .16);--ui-border-strong: rgba(44, 34, 24, .28);--ui-shadow-md: 0 16px 28px rgba(40, 28, 14, .22);--ui-shadow-lg: 0 24px 42px rgba(40, 28, 14, .28);--ui-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .82);--ui-primary-a: #c8402a;--ui-primary-b: #e8662f;--ui-primary-shadow: 0 12px 22px rgba(180, 56, 30, .34);--ui-ghost-a: rgba(255, 251, 242, .78);--ui-ghost-b: rgba(240, 226, 198, .78);--ui-board-a: rgba(141, 196, 74, .97);--ui-board-b: rgba(104, 164, 44, .97);--ui-stone-a: #f4ebd6;--ui-stone-b: #ddccaa;--ui-stone-inner-a: rgba(172, 160, 144, .98);--ui-stone-inner-b: rgba(136, 124, 108, .96);--ui-focus: rgba(200, 64, 42, .6);--ui-pill-ok-bg: rgba(86, 150, 36, .2);--ui-pill-ok-text: #466f12;--ui-pill-warn-bg: rgba(200, 64, 42, .16);--ui-pill-warn-text: #8a2c1a}body{color:var(--ui-text-strong);background:radial-gradient(1100px 700px at -8% -18%,var(--ui-radial-warm),transparent 62%),radial-gradient(900px 620px at 108% -10%,var(--ui-radial-cool),transparent 56%),linear-gradient(160deg,var(--ui-bg-top) 0%,var(--ui-bg-mid) 50%,var(--ui-bg-bottom) 100%)}body:before{background-image:linear-gradient(90deg,var(--ui-grid-line) 0 1px,transparent 1px 24px),linear-gradient(0deg,var(--ui-grid-line) 0 1px,transparent 1px 24px),linear-gradient(120deg,var(--ui-grid-a),transparent 55%),linear-gradient(300deg,var(--ui-grid-b),transparent 58%)}body:after{background:radial-gradient(circle at 22% 28%,var(--ui-aura-a),transparent 36%),radial-gradient(circle at 78% 76%,var(--ui-aura-b),transparent 32%),radial-gradient(circle at 74% 20%,var(--ui-aura-c),transparent 26%)}:root[data-style-theme] .landing-hero,:root[data-style-theme] .landing-card,:root[data-style-theme] .landing-mode,:root[data-style-theme] .install-card,:root[data-style-theme] .landing-section--install,:root[data-style-theme] .controls,:root[data-style-theme] .online-panel,:root[data-style-theme] .rules-card,:root[data-style-theme] .rules-panel,:root[data-style-theme] .draw-panel,:root[data-style-theme] .recruiter-panel,:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone,:root[data-style-theme] .last-action,:root[data-style-theme] .support-panel,:root[data-style-theme] .legend,:root[data-style-theme] .app-footer,:root[data-style-theme] .landing-footer{color:var(--ui-text-strong);border-color:var(--ui-border-soft);background:linear-gradient(170deg,var(--ui-surface-hi),var(--ui-surface-lo));box-shadow:var(--ui-shadow-md),var(--ui-shadow-inset)}:root[data-style-theme] .landing-hero,:root[data-style-theme] .landing-section--install{background:linear-gradient(165deg,var(--ui-surface-alt-hi),var(--ui-surface-alt-lo));box-shadow:var(--ui-shadow-lg),var(--ui-shadow-inset)}:root[data-style-theme] .landing-lede,:root[data-style-theme] .landing-card p,:root[data-style-theme] .landing-mode p,:root[data-style-theme] .install-detail,:root[data-style-theme] .footer-label{color:var(--ui-text-muted)}:root[data-style-theme] .mode-toggle button,:root[data-style-theme] button.ghost,:root[data-style-theme] a.ghost{color:var(--ui-text-strong);border-color:var(--ui-border-soft);background:linear-gradient(170deg,var(--ui-ghost-a),var(--ui-ghost-b));box-shadow:var(--ui-shadow-inset)}:root[data-style-theme] button.ghost.danger{color:#7b2f23;border-color:#d45d4c8c}:root[data-style-theme] button.primary,:root[data-style-theme] a.primary{color:var(--ui-text-inverse);background:linear-gradient(135deg,var(--ui-primary-a),var(--ui-primary-b));box-shadow:var(--ui-primary-shadow),inset 0 1px #ffffff59}:root[data-style-theme] .mode-toggle button.active,:root[data-style-theme] .debug-toggle.active{border-color:#fff4e233;background:linear-gradient(140deg,#0000002e,#0000000a),var(--ui-text-strong);color:var(--ui-text-inverse)}:root[data-style-theme] button.primary:focus-visible,:root[data-style-theme] a.primary:focus-visible,:root[data-style-theme] button.ghost:focus-visible,:root[data-style-theme] a.ghost:focus-visible,:root[data-style-theme] .mode-toggle button:focus-visible,:root[data-style-theme] .landing-lang select:focus-visible,:root[data-style-theme] .language-picker select:focus-visible{outline-color:var(--ui-focus)}:root[data-style-theme] .board{border-color:var(--ui-border-strong);background:radial-gradient(72% 38% at 50% -8%,rgba(255,107,0,.1),transparent 72%),radial-gradient(74% 40% at 50% 108%,rgba(0,87,184,.1),transparent 72%),linear-gradient(150deg,var(--ui-board-a),var(--ui-board-b));box-shadow:var(--ui-shadow-lg),var(--ui-shadow-inset)}:root[data-style-theme] .stone{background:linear-gradient(165deg,var(--ui-stone-a),var(--ui-stone-b));box-shadow:inset 0 0 0 1px var(--ui-border-soft),0 14px 24px #1d171133}:root[data-style-theme] .stone-core{background:linear-gradient(160deg,var(--ui-stone-inner-a),var(--ui-stone-inner-b))}:root[data-style-theme] .stone-claim{border-color:var(--ui-border-strong)}:root[data-style-theme] .online-pill--connected,:root[data-style-theme] .online-pill--waiting{background:var(--ui-pill-ok-bg);color:var(--ui-pill-ok-text)}:root[data-style-theme] .online-pill--connecting,:root[data-style-theme] .online-pill--error{background:var(--ui-pill-warn-bg);color:var(--ui-pill-warn-text)}@media (max-width: 768px){:root[data-style-theme] .landing-lang{align-items:flex-start}:root[data-style-theme] .landing-lang label{min-width:62px}:root[data-style-theme] .landing-lang select{flex:1 1 100%}}:root[data-style-theme]{--pro-radius-sm: 10px;--pro-radius-md: 14px;--pro-radius-lg: 20px;--pro-radius-xl: 24px}:root[data-style-theme] body:before{opacity:.18;mix-blend-mode:normal}:root[data-style-theme] body:after{opacity:.14;filter:blur(14px);animation:none}:root[data-style-theme] .app{max-width:1220px;padding:24px 20px 36px;gap:24px}:root[data-style-theme] .landing{gap:36px}:root[data-style-theme] .landing-hero{border-radius:var(--pro-radius-xl);padding:32px;gap:24px}:root[data-style-theme] .landing-hero:before{opacity:.65}:root[data-style-theme] .landing-hero__copy h1{font-size:clamp(2.2rem,4.3vw,3.55rem);line-height:1.02;max-width:14ch}:root[data-style-theme] .landing-lede{margin-bottom:18px;max-width:58ch}:root[data-style-theme] .landing-lang{gap:8px;margin-bottom:14px}:root[data-style-theme] .landing-lang select,:root[data-style-theme] .language-picker select{min-height:44px;border-radius:var(--pro-radius-sm);border:1px solid var(--ui-border-soft);background:var(--ui-surface-hi);color:var(--ui-text-strong);font-weight:700}:root[data-style-theme] .landing-cta{margin-bottom:16px;gap:10px}:root[data-style-theme] .landing-cta .primary,:root[data-style-theme] .landing-cta .ghost,:root[data-style-theme] .controls button.primary,:root[data-style-theme] .controls button.ghost,:root[data-style-theme] .controls a.primary,:root[data-style-theme] .controls a.ghost{min-height:44px;padding:0 16px}:root[data-style-theme] .landing-pillars{gap:8px;letter-spacing:.12em}:root[data-style-theme] .landing-pillars span{border-radius:999px;padding:7px 11px}:root[data-style-theme] .landing-hero__card,:root[data-style-theme] .hero-board{border-radius:var(--pro-radius-lg)}:root[data-style-theme] .landing-card,:root[data-style-theme] .landing-mode,:root[data-style-theme] .install-card{border-radius:var(--pro-radius-md);padding:16px}:root[data-style-theme] .topbar{gap:12px}:root[data-style-theme] .controls{border-radius:var(--pro-radius-lg);padding:14px;gap:12px}:root[data-style-theme] .controls-row{gap:12px}:root[data-style-theme] .control-group{gap:6px}:root[data-style-theme] .control-group .label,:root[data-style-theme] .language-picker label,:root[data-style-theme] .landing-lang label{letter-spacing:.12em;font-weight:700}:root[data-style-theme] .mode-toggle button,:root[data-style-theme] .debug-toggle,:root[data-style-theme] .online-actions button,:root[data-style-theme] .online-actions a{min-height:42px;border-radius:var(--pro-radius-sm);padding:8px 12px;font-weight:700}:root[data-style-theme] .mode-toggle button:hover,:root[data-style-theme] button.primary:hover,:root[data-style-theme] a.primary:hover,:root[data-style-theme] button.ghost:hover,:root[data-style-theme] a.ghost:hover{transform:translateY(-1px)}:root[data-style-theme] .mode-toggle button:active,:root[data-style-theme] button.primary:active,:root[data-style-theme] a.primary:active,:root[data-style-theme] button.ghost:active,:root[data-style-theme] a.ghost:active{transform:translateY(0)}:root[data-style-theme] .board{border-radius:var(--pro-radius-xl);padding:12px}:root[data-style-theme] .stone-track{border-radius:var(--pro-radius-md);padding:8px}:root[data-style-theme] .stone{border-radius:var(--pro-radius-md);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}:root[data-style-theme] .stone:hover{transform:translateY(-2px)}:root[data-style-theme] .stone-core{border-radius:var(--pro-radius-sm)}:root[data-style-theme] .stone-claim{border-radius:999px;min-height:26px;padding:3px 8px}:root[data-style-theme] button.card:hover:not(:disabled){transform:translateY(-2px)}:root[data-style-theme] .rules-panel,:root[data-style-theme] .legend,:root[data-style-theme] .support-panel,:root[data-style-theme] .app-footer,:root[data-style-theme] .landing-footer,:root[data-style-theme] .online-panel,:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone,:root[data-style-theme] .draw-panel,:root[data-style-theme] .recruiter-panel,:root[data-style-theme] .last-action{border-radius:var(--pro-radius-lg)}:root[data-style-theme] .support-panel p,:root[data-style-theme] .rules-panel p,:root[data-style-theme] .legend p,:root[data-style-theme] .landing-card p,:root[data-style-theme] .landing-mode p,:root[data-style-theme] .install-detail{line-height:1.5}:root[data-style-theme] a,:root[data-style-theme] button,:root[data-style-theme] input,:root[data-style-theme] select{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease,transform .16s ease}@media (max-width: 900px){:root[data-style-theme] .landing-hero{grid-template-columns:1fr}:root[data-style-theme] .landing-hero__copy h1{max-width:100%}}@media (max-width: 768px){:root[data-style-theme] .app{padding-top:max(12px,env(safe-area-inset-top));padding-right:max(12px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));gap:14px}:root[data-style-theme] .landing{gap:24px}:root[data-style-theme] .landing-hero{padding:18px;gap:16px}:root[data-style-theme] .landing-lang{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px 8px;justify-content:stretch}:root[data-style-theme] .landing-lang label[for=landing-style]{margin-left:0}:root[data-style-theme] .landing-lang select{width:100%}:root[data-style-theme] .controls{padding:12px}:root[data-style-theme] .controls-row{flex-direction:column;align-items:stretch;gap:8px}:root[data-style-theme] .language-picker{width:100%;justify-content:space-between}:root[data-style-theme] .language-picker select{flex:1 1 auto;min-width:0}:root[data-style-theme] .mode-toggle button,:root[data-style-theme] .debug-toggle{min-height:44px}:root[data-style-theme] .board{padding:10px}:root[data-style-theme] .stone{border-radius:var(--pro-radius-sm)}:root[data-style-theme] .stone-core{border-radius:8px}}@media (max-width: 420px){:root[data-style-theme] .landing-lang{grid-template-columns:1fr}:root[data-style-theme] .landing-lang label{font-size:.62rem}:root[data-style-theme] .landing-lang select{min-height:42px}}:root[data-style-theme]{--pro-panel-blur: blur(8px);--pro-metric-bg: var(--ui-surface-hi);--pro-metric-border: var(--ui-border-soft);--pro-metric-shadow: inset 0 1px 0 rgba(255, 255, 255, .72)}:root[data-style-theme] .topbar{position:static}:root[data-style-theme] .controls{width:min(980px,100%);backdrop-filter:var(--pro-panel-blur);-webkit-backdrop-filter:var(--pro-panel-blur)}:root[data-style-theme] .controls-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}:root[data-style-theme] .controls-row .language-picker{width:100%;justify-content:space-between}:root[data-style-theme] .mode-toggle{padding:4px;gap:6px;border-radius:12px;border:1px solid var(--ui-border-soft);background:var(--ui-surface-hi)}:root[data-style-theme] .mode-toggle button{min-height:40px;border-radius:9px}:root[data-style-theme] .mode-toggle button.active{box-shadow:0 8px 14px #11100e26,inset 0 1px #ffffff2e}:root[data-style-theme] .mode-toggle button:disabled{opacity:.45;filter:saturate(.75)}:root[data-style-theme] .status{gap:8px}:root[data-style-theme] .status>div{min-height:68px;padding:10px;border-radius:12px;border:1px solid var(--pro-metric-border);background:var(--pro-metric-bg);box-shadow:var(--pro-metric-shadow);display:flex;flex-direction:column;justify-content:space-between;gap:6px}:root[data-style-theme] .status .label,:root[data-style-theme] .online-metric .label{letter-spacing:.12em}:root[data-style-theme] .status .value,:root[data-style-theme] .online-metric .value,:root[data-style-theme] .timer-display{font-variant-numeric:tabular-nums}:root[data-style-theme] .stone-track{border-radius:14px;padding:8px;background:var(--ui-surface-hi)}:root[data-style-theme] .stone-token{min-height:24px}:root[data-style-theme] .online-card{min-height:142px}:root[data-style-theme] .online-card__title{letter-spacing:.14em}:root[data-style-theme] .online-metric{align-items:baseline}:root[data-style-theme] .board{gap:18px}:root[data-style-theme] .stones{gap:10px}:root[data-style-theme] .stone,:root[data-style-theme] .card{animation:none}:root[data-style-theme] .stone{min-height:118px}:root[data-style-theme] .stone:after{opacity:.14}:root[data-style-theme] .stone--target{outline:2px dashed var(--ui-border-strong);outline-offset:2px}:root[data-style-theme] .stone--target:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:repeating-linear-gradient(135deg,#ffffff14 0,#ffffff14 6px,#0000000d 6px,#0000000d 12px);pointer-events:none}:root[data-style-theme] .stone--last,:root[data-style-theme] .card--last,:root[data-style-theme] .stone--tutorial,:root[data-style-theme] .card--tutorial{animation:pulseSoft 2.1s ease-in-out infinite}@keyframes pulseSoft{0%{transform:translateY(0)}50%{transform:translateY(-1px)}to{transform:translateY(0)}}:root[data-style-theme] button:focus-visible,:root[data-style-theme] a:focus-visible,:root[data-style-theme] select:focus-visible,:root[data-style-theme] input:focus-visible,:root[data-style-theme] .card:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}:root[data-style-theme] .support-panel h3,:root[data-style-theme] .online-card__title,:root[data-style-theme] .control-group>.label,:root[data-style-theme] .status .label,:root[data-style-theme] .online-status .label{font-weight:700}:root[data-style-theme] .winner-banner{letter-spacing:.04em;text-transform:uppercase}@media (max-width: 1024px){:root[data-style-theme] .topbar{position:static}}@media (max-width: 768px){:root[data-style-theme] .controls-row{grid-template-columns:1fr;gap:8px}:root[data-style-theme] .status>div{min-height:60px;padding:9px}:root[data-style-theme] .stone{min-height:0}:root[data-style-theme] .mode-toggle{padding:3px;gap:5px}}@media (prefers-reduced-motion: reduce){:root[data-style-theme] .stone--last,:root[data-style-theme] .card--last,:root[data-style-theme] .stone--tutorial,:root[data-style-theme] .card--tutorial{animation:none}}:root[data-style-theme] .insight-panel{border:1px solid var(--ui-border-soft);border-radius:14px;padding:10px;background:var(--ui-surface-hi);box-shadow:inset 0 1px #ffffffc7;display:flex;flex-direction:column;gap:8px}:root[data-style-theme] .insight-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px}:root[data-style-theme] .insight-phase{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:999px;border:1px solid var(--ui-border-soft);background:#ffffffb8;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ui-text-muted)}:root[data-style-theme] .insight-phase--over{border-color:var(--ui-pill-warn-bg);color:var(--ui-pill-warn-text)}:root[data-style-theme] .insight-turn{display:flex;align-items:baseline;justify-content:space-between;gap:8px}:root[data-style-theme] .insight-turn strong{font-size:.95rem;font-weight:800}:root[data-style-theme] .insight-race{display:grid;gap:8px}:root[data-style-theme] .insight-race__row{display:grid;grid-template-columns:minmax(78px,auto) minmax(0,1fr);align-items:center;gap:6px 10px}:root[data-style-theme] .insight-race__name{font-size:.66rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}:root[data-style-theme] .insight-race__track{height:8px;border-radius:999px;background:#2b2a271f;overflow:hidden;box-shadow:inset 0 1px 2px #00000014}:root[data-style-theme] .insight-race__track span{display:block;height:100%;border-radius:inherit;transition:width .22s ease}:root[data-style-theme] .insight-race__row--south .insight-race__track span{background:linear-gradient(90deg,#0057b8e0,#008ce6cc)}:root[data-style-theme] .insight-race__row--north .insight-race__track span{background:linear-gradient(90deg,#ff6b00e6,#ffa24dd1)}:root[data-style-theme] .insight-race__meta{grid-column:1 / -1;font-size:.66rem;color:var(--ui-text-muted)}:root[data-style-theme] .insight-next{margin:0;display:grid;gap:4px;font-size:.78rem;line-height:1.4;color:var(--ui-text-strong)}@media (max-width: 768px){:root[data-style-theme] .insight-race__row{grid-template-columns:1fr}:root[data-style-theme] .insight-race__name{font-size:.62rem}}:root[data-style-theme]{--card-radius-pro: 12px;--card-surface-top: #fff8ec;--card-surface-mid: #f6e8cf;--card-surface-bot: #ecd4ad;--card-line: rgba(18, 16, 14, .22);--card-shadow: 0 10px 16px rgba(19, 17, 14, .2)}:root[data-style-theme] .hand{gap:8px}:root[data-style-theme] .card{width:64px;height:90px;border-radius:var(--card-radius-pro);background:linear-gradient(170deg,var(--card-surface-top),var(--card-surface-mid) 52%,var(--card-surface-bot));border:1.5px solid var(--card-line);box-shadow:var(--card-shadow),inset 0 1px #ffffffc2;gap:4px;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}:root[data-style-theme] .card-value{width:36px;height:36px;border-radius:10px;font-size:1.2rem;font-weight:800;border:1px solid rgba(18,16,14,.14);background:linear-gradient(180deg,#fffffff5,#fbf6ece6);box-shadow:inset 0 1px 2px #ffffffe6,0 4px 8px #14120f29}:root[data-style-theme] .card-suit{padding:2px 7px;font-size:.54rem;letter-spacing:.1em;border-radius:999px;border:1px solid rgba(18,16,14,.18)}:root[data-style-theme] button.card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 20px #13110e3d}:root[data-style-theme] button.card:active:not(:disabled){transform:translateY(0)}:root[data-style-theme] .card--selected{outline:2px solid var(--ui-focus);outline-offset:2px;box-shadow:0 0 0 2px #ffffffbf,0 12px 20px #13110e40}:root[data-style-theme] button.card.card--selected:hover:not(:disabled){box-shadow:0 0 0 2px #ffffffd9,0 0 18px 6px var(--ui-focus),0 18px 24px #13110e47}:root[data-style-theme] .card--tactic{background:linear-gradient(170deg,#f5f0e5,#e5d7bf 54%,#d8c7a8);border:1.5px dashed rgba(24,22,18,.38)}:root[data-style-theme] .card--tactic .card-value{font-size:.78rem;line-height:1.15}:root[data-style-theme] .card--green .card-suit,:root[data-style-theme] .card--blue .card-suit,:root[data-style-theme] .card--red .card-suit,:root[data-style-theme] .card--yellow .card-suit,:root[data-style-theme] .card--purple .card-suit,:root[data-style-theme] .card--pink .card-suit{background:var(--card-accent);color:var(--card-contrast);border-color:#0000001f}:root[data-style-theme] .card--yellow .card-value{color:#6b4700}@media (max-width: 768px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{display:grid;grid-auto-flow:column;grid-auto-columns:min-content;gap:8px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:4px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{scroll-snap-align:start}:root[data-style-theme] .card{width:56px;height:78px;border-radius:10px;gap:3px}:root[data-style-theme] .card-value{width:30px;height:30px;border-radius:8px;font-size:1.02rem}:root[data-style-theme] .card-suit{font-size:.48rem;padding:2px 5px}:root[data-style-theme] .stones .card{width:32px;height:44px;border-radius:8px}:root[data-style-theme] .stones .card-value{width:18px;height:18px;border-radius:6px;font-size:.68rem}:root[data-style-theme] .stones .card-suit{font-size:.42rem;padding:1px 3px}:root[data-style-theme] button.card:hover:not(:disabled){transform:none}:root[data-style-theme] .action-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}:root[data-style-theme] .action-row>button,:root[data-style-theme] .action-row>a{width:100%;justify-content:center}}@media (max-width: 420px){:root[data-style-theme] .action-row{grid-template-columns:1fr}:root[data-style-theme] .card{width:52px;height:74px}:root[data-style-theme] .stones .card{width:30px;height:42px}}:root[data-style-theme] .stone--south,:root[data-style-theme] .stone-token--south{border-color:#0a63ddbf}:root[data-style-theme] .stone--north,:root[data-style-theme] .stone-token--north{border-color:#d95a07c2}:root[data-style-theme] .stone--south .stone-core{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 44%),radial-gradient(circle at 72% 84%,rgba(12,26,52,.45),transparent 48%),linear-gradient(157deg,#6f86b8,#41588a 48%,#2b3d63);box-shadow:inset 0 1px 1px #fff6,inset 0 -2px 6px #0c162c80,inset 0 0 0 1px #0c162c4d}:root[data-style-theme] .stone--north .stone-core{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.42),transparent 44%),radial-gradient(circle at 72% 84%,rgba(70,30,8,.45),transparent 48%),linear-gradient(157deg,#cf9560,#a86433 48%,#7d4419);box-shadow:inset 0 1px 1px #fff6,inset 0 -2px 6px #3c1a0680,inset 0 0 0 1px #3c1a064d}:root[data-style-theme] .stone--south .stone-index,:root[data-style-theme] .stone--north .stone-index{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.45)}:root[data-style-theme] .card--green .card-value{color:#055730}:root[data-style-theme] .card--blue .card-value{color:#0a4ca8}:root[data-style-theme] .card--red .card-value{color:#9f2020}:root[data-style-theme] .card--yellow .card-value{color:#6a4700}:root[data-style-theme] .card--purple .card-value{color:#4f2a94}:root[data-style-theme] .card--pink .card-value{color:#8a1d5e}:root[data-style-theme] .card--green .card-suit,:root[data-style-theme] .card--blue .card-suit,:root[data-style-theme] .card--red .card-suit,:root[data-style-theme] .card--yellow .card-suit,:root[data-style-theme] .card--purple .card-suit,:root[data-style-theme] .card--pink .card-suit{border-width:1px;border-style:solid}@media (max-width: 768px){:root[data-style-theme] .card{filter:saturate(1.04) contrast(1.03)}:root[data-style-theme] .card-value{font-weight:900}:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{scrollbar-width:thin}}:root[data-style-theme] .card-suit{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:16px}:root[data-style-theme] .card-suit--tactic{letter-spacing:.07em}:root[data-style-theme] .stones .card-suit{gap:2px;padding-inline:3px}@media (max-width: 768px){:root[data-style-theme] .card-suit{gap:3px}}@media (max-width: 768px){:root[data-style-theme] .controls{padding:10px;gap:10px}:root[data-style-theme] .mode-toggle button{font-size:.66rem;letter-spacing:.02em}:root[data-style-theme] .board{padding:8px;gap:10px}:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone{padding:10px;border-radius:12px}:root[data-style-theme] .stones{gap:6px}:root[data-style-theme] .stone{gap:5px}:root[data-style-theme] .stone-core{padding:3px 0}}@media (max-width: 420px){:root[data-style-theme] .controls{padding:8px}:root[data-style-theme] .card{width:50px;height:72px}:root[data-style-theme] .stones .card{width:29px;height:41px}}:root[data-style-theme] .card{width:62px;height:88px;padding:8px 6px;border-radius:12px;border:1px solid #d3d8de;background:#f9fbfd;box-shadow:0 6px 12px #14181e1f;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}:root[data-style-theme] .card:before,:root[data-style-theme] .card:after{display:none}:root[data-style-theme] .card-value{width:auto;height:auto;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:Fraunces,serif;font-size:1.95rem;font-weight:800;line-height:1;letter-spacing:-.01em}:root[data-style-theme] .card-suit{margin-top:auto;padding:0;border:0;background:transparent;box-shadow:none}:root[data-style-theme] .card-suit--logo{width:21px;height:21px;border-radius:999px;border:1px solid currentColor;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-family:"Noto Sans Symbols 2",Noto Sans Symbols,Plus Jakarta Sans,sans-serif;line-height:1;background:#ffffffb8}:root[data-style-theme] .card-suit--tactic{margin-top:auto;font-size:.5rem;letter-spacing:.06em;text-transform:uppercase;color:#14161abd}:root[data-style-theme] .card--green .card-value,:root[data-style-theme] .card--blue .card-value,:root[data-style-theme] .card--red .card-value,:root[data-style-theme] .card--yellow .card-value,:root[data-style-theme] .card--purple .card-value,:root[data-style-theme] .card--pink .card-value,:root[data-style-theme] .card--green .card-suit--logo,:root[data-style-theme] .card--blue .card-suit--logo,:root[data-style-theme] .card--red .card-suit--logo,:root[data-style-theme] .card--yellow .card-suit--logo,:root[data-style-theme] .card--purple .card-suit--logo,:root[data-style-theme] .card--pink .card-suit--logo{color:var(--card-accent)}:root[data-style-theme] .card--tactic{background:radial-gradient(circle at 80% 0%,rgba(120,72,20,.1),transparent 46%),repeating-linear-gradient(0deg,rgba(120,80,30,.045) 0 1px,transparent 1px 5px),linear-gradient(165deg,#f3e7cf,#e6d3ac);border-color:#b78a4e;box-shadow:inset 0 1px #fff9,0 6px 12px #5a3c142e}:root[data-style-theme] .card--tactic:after{display:block;content:"⚔︎";position:absolute;top:4px;right:5px;font-size:.8rem;line-height:1;color:#8a5a1e;text-shadow:0 1px 1px rgba(255,255,255,.7);pointer-events:none;z-index:2}:root[data-style-theme] .card--tactic .card-value{font-size:.76rem;font-weight:700;text-align:center;line-height:1.2;letter-spacing:.01em;color:#5f4a2f}:root[data-style-theme] .card--back,:root[data-style-theme] .card--back-clan,:root[data-style-theme] .card--back-tactic{background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 1px,transparent 1px 4px),repeating-linear-gradient(0deg,transparent 0 9px,rgba(156,44,38,.32) 9px 14px,transparent 14px 18px,rgba(200,164,88,.24) 18px 20px,transparent 20px 24px),repeating-linear-gradient(90deg,transparent 0 9px,rgba(156,44,38,.32) 9px 14px,transparent 14px 18px,rgba(200,164,88,.24) 18px 20px,transparent 20px 24px),linear-gradient(160deg,#243024,#161d12);border-color:#3c4a36}:root[data-style-theme] .card--selected{outline:2px solid var(--ui-focus);outline-offset:2px;box-shadow:0 0 0 2px #fffc,0 8px 14px #14181e2e}:root[data-style-theme] button.card:hover:not(:disabled){transform:translateY(-1px)}@media (max-width: 768px){:root[data-style-theme] .topbar{gap:10px}:root[data-style-theme] .controls{padding:9px;gap:9px}:root[data-style-theme] .mode-toggle button{min-height:42px;font-size:.64rem}:root[data-style-theme] .player-zone,:root[data-style-theme] .opponent-zone{padding:9px}:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{display:flex;flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;gap:6px;padding-bottom:4px;scrollbar-width:thin}:root[data-style-theme] .card{width:54px;height:76px;border-radius:10px;padding:6px 4px;gap:4px}:root[data-style-theme] .card-value{font-size:1.55rem}:root[data-style-theme] .card-suit--logo{width:18px;height:18px;font-size:.62rem}:root[data-style-theme] .stones .card{width:30px;height:42px;border-radius:7px;padding:3px 2px;gap:2px}:root[data-style-theme] .stones .card-value{font-size:.74rem}:root[data-style-theme] .stones .card-suit--logo{width:11px;height:11px;font-size:.42rem;border-width:1px}:root[data-style-theme] .stones .card-suit--tactic{font-size:.34rem}:root[data-style-theme] .action-row{gap:6px}}@media (max-width: 420px){:root[data-style-theme] .card{width:50px;height:70px}:root[data-style-theme] .card-value{font-size:1.42rem}}:root[data-style-theme] .card{border-width:1.5px}:root[data-style-theme] .card-suit--logo{width:20px;height:20px;border:0;background:var(--card-accent);color:#fff;box-shadow:0 1px 3px #14161a33;font-size:.72rem}:root[data-style-theme] .card--yellow .card-suit--logo{color:#4f3a00}:root[data-style-theme] .card--green{--card-accent: #13814f;--card-contrast: #f5fff9;background:linear-gradient(162deg,#effdf3,#d3f1e0);border-color:#5ab587;box-shadow:inset 0 1px #ffffffbf,0 6px 12px #0e482d29}:root[data-style-theme] .card--blue{--card-accent: #1d62d1;--card-contrast: #f4f9ff;background:linear-gradient(162deg,#eff5ff,#d4e6ff);border-color:#5a8de7;box-shadow:inset 0 1px #ffffffbf,0 6px 12px #153b7e29}:root[data-style-theme] .card--red{--card-accent: #c93f52;--card-contrast: #fff7f7;background:linear-gradient(162deg,#fff0f3,#ffd9e0);border-color:#e27b89;box-shadow:inset 0 1px #ffffffc7,0 6px 12px #761f2d29}:root[data-style-theme] .card--yellow{--card-accent: #b78800;--card-contrast: #fff8e4;background:linear-gradient(162deg,#fffbe9,#ffeaba);border-color:#e0bc53;box-shadow:inset 0 1px #fffc,0 6px 12px #6e530b29}:root[data-style-theme] .card--purple{--card-accent: #764ac8;--card-contrast: #faf5ff;background:linear-gradient(162deg,#f6efff,#e0d0fb);border-color:#ac8fe6;box-shadow:inset 0 1px #ffffffbf,0 6px 12px #3d246c29}:root[data-style-theme] .card--pink{--card-accent: #bd4b90;--card-contrast: #fff6fb;background:linear-gradient(162deg,#fff0f8,#ffd7ec);border-color:#e297c6;box-shadow:inset 0 1px #ffffffc7,0 6px 12px #64234929}:root[data-style-theme] .card--green .card-value,:root[data-style-theme] .card--blue .card-value,:root[data-style-theme] .card--red .card-value,:root[data-style-theme] .card--yellow .card-value,:root[data-style-theme] .card--purple .card-value,:root[data-style-theme] .card--pink .card-value{color:var(--card-accent)}:root[data-style-theme] .card--green .card-suit--logo{border-radius:999px}:root[data-style-theme] .card--blue .card-suit--logo{border-radius:5px}:root[data-style-theme] .card--red .card-suit--logo{border-radius:5px 5px 10px 10px}:root[data-style-theme] .card--yellow .card-suit--logo{border-radius:4px}:root[data-style-theme] .card--purple .card-suit--logo{border-radius:999px 999px 8px 8px}:root[data-style-theme] .card--pink .card-suit--logo{border-radius:10px 6px}@media (max-width: 768px){:root[data-style-theme] .card-suit--logo{width:17px;height:17px;font-size:.58rem}:root[data-style-theme] .card{box-shadow:0 4px 8px #14181e21}}@media (max-width: 768px){:root[data-style-theme] .app{padding-bottom:calc(106px + env(safe-area-inset-bottom))}:root[data-style-theme] .controls{gap:8px}:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{-webkit-overflow-scrolling:touch;touch-action:pan-x;scroll-snap-type:x mandatory;padding-inline:2px;padding-bottom:6px;gap:7px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{scroll-snap-align:center}:root[data-style-theme] .player-zone .hand::-webkit-scrollbar,:root[data-style-theme] .opponent-zone .hand::-webkit-scrollbar{height:5px}:root[data-style-theme] .player-zone .hand::-webkit-scrollbar-thumb,:root[data-style-theme] .opponent-zone .hand::-webkit-scrollbar-thumb{background:#12161c40;border-radius:999px}:root[data-style-theme] .stones{gap:7px}:root[data-style-theme] .stone{min-height:98px}}@media (max-width: 420px){:root[data-style-theme] .stone{min-height:92px}}@media (max-width: 768px){:root[data-style-theme] .app{padding-bottom:max(14px,env(safe-area-inset-bottom))}:root[data-style-theme] .controls{padding:8px;gap:7px}:root[data-style-theme] .board{padding:6px;gap:8px}:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone{padding:7px;border-radius:10px}:root[data-style-theme] .opponent-zone h2,:root[data-style-theme] .player-zone h2{margin-bottom:6px;font-size:.92rem}:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;overflow:visible;padding:0}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{width:100%;height:64px;min-width:0;border-radius:8px;padding:4px 2px;gap:2px}:root[data-style-theme] .player-zone .hand .card-value,:root[data-style-theme] .opponent-zone .hand .card-value{font-size:1.18rem}:root[data-style-theme] .player-zone .hand .card-suit--logo,:root[data-style-theme] .opponent-zone .hand .card-suit--logo{width:14px;height:14px;font-size:.5rem}:root[data-style-theme] .stones{gap:5px}:root[data-style-theme] .stone{min-height:84px;padding:4px 2px;border-radius:10px;gap:3px}:root[data-style-theme] .stone-core{padding:3px 0;border-radius:7px}:root[data-style-theme] .stone-claim{font-size:.42rem;letter-spacing:.05em;padding:2px 5px;min-height:18px}:root[data-style-theme] .stones .cards{flex-direction:row;align-items:center;justify-content:center;min-height:0;gap:2px}:root[data-style-theme] .stones .card{width:22px;height:30px;border-radius:5px;padding:2px 1px;gap:1px}:root[data-style-theme] .stones .card-value{font-size:.56rem}:root[data-style-theme] .stones .card-suit--logo{width:8px;height:8px;font-size:.32rem}:root[data-style-theme] .stones .card-suit--tactic{font-size:.28rem;letter-spacing:0}}@media (max-width: 420px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{height:60px}:root[data-style-theme] .player-zone .hand .card-value,:root[data-style-theme] .opponent-zone .hand .card-value{font-size:1.04rem}:root[data-style-theme] .stones .card{width:20px;height:28px}}:root[data-style-theme] .stones .cards--bottom{min-height:0;gap:3px;padding-top:0;padding-bottom:0}:root[data-style-theme] .stones .cards--bottom .card{margin:0}@media (max-width: 768px){:root[data-style-theme] .stones .cards--bottom{gap:2px}}:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{display:grid;grid-template-columns:repeat(6,62px);justify-content:center}:root[data-style-theme] .player-zone .hand.hand--tactics,:root[data-style-theme] .opponent-zone .hand.hand--tactics{display:grid;grid-template-columns:repeat(7,minmax(0,62px));gap:6px;justify-content:center}:root[data-style-theme] .player-zone .hand.hand--tactics .card,:root[data-style-theme] .opponent-zone .hand.hand--tactics .card{min-width:0;max-width:62px;width:100%}:root[data-style-theme] .card--tactic,:root[data-style-theme] .card--tactic:hover,:root[data-style-theme] .card:hover,:root[data-style-theme] .card:focus-visible,:root[data-style-theme] .card[data-tooltip-pinned=true]{overflow:visible}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{width:62px;height:88px;min-width:62px;max-width:62px;box-sizing:border-box;flex:0 0 62px}:root[data-style-theme] .stones .cards--top .card,:root[data-style-theme] .stones .cards--bottom .card{box-sizing:border-box;flex-shrink:0}@media (max-width: 768px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{grid-template-columns:repeat(6,42px);justify-content:center;gap:4px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{width:42px;height:60px;min-width:42px;max-width:42px;flex-basis:42px}}@media (max-width: 420px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{grid-template-columns:repeat(6,36px);justify-content:center;gap:3px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{width:36px;height:52px;min-width:36px;max-width:36px;flex-basis:36px}}:root[data-style-theme] .stones .cards--top,:root[data-style-theme] .stones .cards--bottom,.stones .cards--top,.stones .cards--bottom{min-height:0}:root[data-style-theme] .stones .cards--top:empty,.stones .cards--top:empty{display:none}:root[data-style-theme] .stones .cards--bottom,.stones .cards--bottom{gap:2px;padding-top:0;padding-bottom:0}@media (max-width: 1024px){:root[data-style-theme] .stones .stone,.stones .stone{min-height:0;height:auto}}@media (max-width: 768px){:root[data-style-theme] .stones .stone,.stones .stone{padding-top:3px;padding-bottom:3px;gap:2px}:root[data-style-theme] .stones .card,.stones .card{width:24px;height:34px}:root[data-style-theme] .stones .card-value,.stones .card-value{font-size:.62rem}:root[data-style-theme] .stones .card-suit--logo,.stones .card-suit--logo{width:9px;height:9px;font-size:.34rem}}@media (max-width: 420px){:root[data-style-theme] .stones .card,.stones .card{width:22px;height:32px}}:root[data-style-theme] .stone-track{border:1px solid rgba(31,26,22,.26);background:linear-gradient(180deg,#ffffffe6,#f3e8d3eb);box-shadow:inset 0 1px #ffffffd9,0 4px 10px #1f1a161f}:root[data-style-theme] .stone-token{position:relative;min-height:26px;font-size:.74rem;font-weight:800;color:#1f1a16e6;background:linear-gradient(160deg,#fffffff0,#e9dfcce0);border:1px solid rgba(31,26,22,.24)}:root[data-style-theme] .stone-token:not(:last-child):after{content:"->";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:#1f1a16ad;font-size:.66rem;font-weight:800;pointer-events:none}:root[data-style-theme] .stone-index{display:inline-flex;align-items:baseline;gap:1px;font-variant-numeric:tabular-nums}:root[data-style-theme] .stone-index:after{content:"/9";font-size:.56em;letter-spacing:.06em;color:#1f1a169e}@media (max-width: 768px){:root[data-style-theme] .stone-token{min-height:22px;font-size:.62rem}:root[data-style-theme] .stone-token:not(:last-child):after{right:-7px;font-size:.54rem}}:root[data-style-theme] .stone-index:after{content:none}:root[data-style-theme] .stone-token{padding-right:11px}:root[data-style-theme] .stone-token:not(:last-child):after{content:"->";right:3px;top:50%;transform:translateY(-50%);color:#1f1a16f5;font-size:.78rem;font-weight:900;z-index:3;text-shadow:0 1px 0 rgba(255,255,255,.72)}@media (max-width: 768px){:root[data-style-theme] .stone-token{padding-right:9px}:root[data-style-theme] .stone-token:not(:last-child):after{right:2px;font-size:.62rem}}:root[data-style-theme] .stone-token:not(:last-child):after{content:none}:root[data-style-theme] .stone-index{display:inline-flex;align-items:baseline;justify-content:center;gap:0;font-variant-numeric:tabular-nums}:root[data-style-theme] .stones.stones--layout-grid,.stones.stones--layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}:root[data-style-theme] .stones.stones--layout-vertical,.stones.stones--layout-vertical{grid-template-columns:1fr}:root[data-style-theme] .stones{transition:grid-template-columns .26s ease,gap .22s ease}@keyframes stoneLayoutShift{0%{opacity:.72;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: no-preference){:root[data-style-theme] .stones.stones--layout-grid .stone,:root[data-style-theme] .stones.stones--layout-vertical .stone,.stones.stones--layout-grid .stone,.stones.stones--layout-vertical .stone{animation:stoneLayoutShift .22s ease both}}:root[data-style-theme] .stone-token:not(:last-child):after,.stone-token:not(:last-child):after{content:none!important}:root[data-style-theme] .stone-layout-switch,.stone-layout-switch{margin:8px 0 10px;display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border-radius:999px;border:1px solid rgba(31,26,22,.18);background:linear-gradient(180deg,#fffffff0,#f2e6cfeb);box-shadow:inset 0 1px #ffffffd9}:root[data-style-theme] .stone-layout-switch button,.stone-layout-switch button{min-height:34px;min-width:76px;border-radius:999px;border:1px solid transparent;background:transparent;color:#1f1a16b8;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,border-color .16s ease}:root[data-style-theme] .stone-layout-switch button.active,.stone-layout-switch button.active{background:#0b6a8f29;color:#0b4960;border-color:#0b6a8f59}@media (max-width: 768px){:root[data-style-theme] .stone-layout-switch,.stone-layout-switch{width:100%;margin:6px 0 8px}:root[data-style-theme] .stone-layout-switch button,.stone-layout-switch button{min-height:32px;min-width:0;font-size:.68rem}}.stone-layout-switch--actions{width:100%;margin-top:6px;margin-bottom:10px;display:grid;gap:6px;justify-items:start}.stone-layout-switch__label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#1f1a16b3;font-weight:700}.stone-layout-switch__buttons{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;border-radius:999px;border:1px solid rgba(31,26,22,.2);background:linear-gradient(180deg,#fffffff0,#f2e6cfeb);box-shadow:inset 0 1px #ffffffd9}.stone-layout-switch__buttons button{min-height:34px;min-width:118px;border-radius:999px;border:1px solid transparent;background:transparent;color:#1f1a16bd;font-weight:700;cursor:pointer;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.stone-layout-switch__buttons button.active{background:#0b6a8f29;color:#0b4960;border-color:#0b6a8f5c}.stones.stones--layout-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stones.stones--layout-vertical{grid-template-columns:1fr}.stones{transition:grid-template-columns .42s cubic-bezier(.22,.61,.36,1),gap .26s ease}@keyframes stoneReflow{0%{opacity:.72;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: no-preference){.stones.stones--animating .stone{animation:stoneReflow .52s cubic-bezier(.22,.61,.36,1) both}.stones.stones--animating .stone:nth-child(1){animation-delay:0ms}.stones.stones--animating .stone:nth-child(2){animation-delay:30ms}.stones.stones--animating .stone:nth-child(3){animation-delay:60ms}.stones.stones--animating .stone:nth-child(4){animation-delay:90ms}.stones.stones--animating .stone:nth-child(5){animation-delay:.12s}.stones.stones--animating .stone:nth-child(6){animation-delay:.15s}.stones.stones--animating .stone:nth-child(7){animation-delay:.18s}.stones.stones--animating .stone:nth-child(8){animation-delay:.21s}.stones.stones--animating .stone:nth-child(9){animation-delay:.24s}}.stone-index-flow{margin-left:2px;font-size:.58em;letter-spacing:.02em;color:#1f1a16b3;font-weight:800}@media (prefers-reduced-motion: no-preference){.stones.stones--animating .stone-index-flow{animation:stoneFlowHint .7s ease both}}@keyframes stoneFlowHint{0%{opacity:0;transform:translate(-4px)}30%{opacity:1;transform:translate(0)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.stone-layout-switch--actions{gap:5px;margin-top:4px;margin-bottom:8px}.stone-layout-switch__label{font-size:.6rem}.stone-layout-switch__buttons{width:100%}.stone-layout-switch__buttons button{min-width:0;min-height:32px;font-size:.68rem}.stone-index-flow{font-size:.5em}}@media (max-width: 768px){:root[data-style-theme] .stones .cards--top .card,:root[data-style-theme] .stones .cards--bottom .card,.stones .cards--top .card,.stones .cards--bottom .card{width:26px;height:38px}:root[data-style-theme] .stones .cards--top .card-value,:root[data-style-theme] .stones .cards--bottom .card-value,.stones .cards--top .card-value,.stones .cards--bottom .card-value{font-size:.66rem}:root[data-style-theme] .stones .cards--top .card-suit--logo,:root[data-style-theme] .stones .cards--bottom .card-suit--logo,.stones .cards--top .card-suit--logo,.stones .cards--bottom .card-suit--logo{width:10px;height:10px;font-size:.36rem}}@media (max-width: 420px){:root[data-style-theme] .stones .cards--top .card,:root[data-style-theme] .stones .cards--bottom .card,.stones .cards--top .card,.stones .cards--bottom .card{width:24px;height:34px}:root[data-style-theme] .stones .cards--top .card-value,:root[data-style-theme] .stones .cards--bottom .card-value,.stones .cards--top .card-value,.stones .cards--bottom .card-value{font-size:.62rem}:root[data-style-theme] .stones .cards--top .card-suit--logo,:root[data-style-theme] .stones .cards--bottom .card-suit--logo,.stones .cards--top .card-suit--logo,.stones .cards--bottom .card-suit--logo{width:9px;height:9px;font-size:.34rem}}@media (max-width: 1024px){:root[data-style-theme] .stones .cards--top>.card,:root[data-style-theme] .stones .cards--bottom>.card,.stones .cards--top>.card,.stones .cards--bottom>.card{width:30px!important;height:44px!important;min-width:30px!important;max-width:30px!important}:root[data-style-theme] .stones .cards--top>.card .card-value,:root[data-style-theme] .stones .cards--bottom>.card .card-value,.stones .cards--top>.card .card-value,.stones .cards--bottom>.card .card-value{font-size:.72rem!important}:root[data-style-theme] .stones .cards--top>.card .card-suit--logo,:root[data-style-theme] .stones .cards--bottom>.card .card-suit--logo,.stones .cards--top>.card .card-suit--logo,.stones .cards--bottom>.card .card-suit--logo{width:11px!important;height:11px!important;font-size:.4rem!important}}:root[data-style-theme] .stones .cards--top>.card,:root[data-style-theme] .stones .cards--bottom>.card,.stones .cards--top>.card,.stones .cards--bottom>.card{width:34px!important;height:48px!important;min-width:34px!important;max-width:34px!important}:root[data-style-theme] .stones .cards--top>.card .card-value,:root[data-style-theme] .stones .cards--bottom>.card .card-value,.stones .cards--top>.card .card-value,.stones .cards--bottom>.card .card-value{font-size:.8rem!important}:root[data-style-theme] .stones .cards--top>.card .card-suit--logo,:root[data-style-theme] .stones .cards--bottom>.card .card-suit--logo,.stones .cards--top>.card .card-suit--logo,.stones .cards--bottom>.card .card-suit--logo{width:12px!important;height:12px!important;font-size:.42rem!important}@media (max-width: 1024px){:root[data-style-theme] .stones .cards--top>.card,:root[data-style-theme] .stones .cards--bottom>.card,.stones .cards--top>.card,.stones .cards--bottom>.card{width:32px!important;height:46px!important;min-width:32px!important;max-width:32px!important}}@media (max-width: 768px){:root[data-style-theme] .stones .cards--top>.card,:root[data-style-theme] .stones .cards--bottom>.card,.stones .cards--top>.card,.stones .cards--bottom>.card{width:30px!important;height:44px!important;min-width:30px!important;max-width:30px!important}}@media (max-width: 420px){:root[data-style-theme] .stones .cards--top>.card,:root[data-style-theme] .stones .cards--bottom>.card,.stones .cards--top>.card,.stones .cards--bottom>.card{width:28px!important;height:40px!important;min-width:28px!important;max-width:28px!important}}:root[data-style-theme] .topbar{display:grid;gap:16px;align-items:start}:root[data-style-theme] .topbar-copy{max-width:62ch}:root[data-style-theme] .topbar-copy--account{max-width:none}.account-menu{position:fixed;top:10px;right:14px;z-index:150;display:inline-flex}.account-menu__trigger{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;font-size:13px;font-weight:600;line-height:1;cursor:pointer}.account-menu__avatar{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--accent, #7a5b3a);color:#fff;font-size:11px;font-weight:700}.account-menu__name{max-width:16ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu__caret{font-size:10px;opacity:.7}.account-menu__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:61;min-width:220px;padding:10px;border-radius:12px;background:#fff;border:1px solid rgba(0,0,0,.12);box-shadow:0 12px 32px #0000002e;display:flex;flex-direction:column;gap:8px}.account-menu__greeting{margin:0;padding:2px 4px 6px;font-size:12px;color:#6b6258;border-bottom:1px solid rgba(0,0,0,.08)}.account-menu__signout{display:inline-flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:#faf7f2;font-size:14px;font-weight:600;cursor:pointer}.account-menu__signout:hover:not(:disabled){background:#f1ebe1}.account-menu__signout--danger{background:#c0392b;border-color:#a83227;color:#fff}.account-menu__signout--danger:hover:not(:disabled){background:#a83227}.account-menu__confirm{display:flex;flex-direction:column;gap:8px}.account-menu__confirm-msg{margin:0;font-size:13px;color:#4a443c}.account-menu__confirm-actions{display:flex;gap:8px;justify-content:flex-end}html[data-color-scheme=dark] .account-menu__panel{background:#221f1b;border-color:#ffffff24}html[data-color-scheme=dark] .account-menu__greeting{color:#c7bdaf;border-bottom-color:#ffffff1a}html[data-color-scheme=dark] .account-menu__signout{background:#2c2823;border-color:#ffffff24;color:#ece3d5}html[data-color-scheme=dark] .account-menu__signout:hover:not(:disabled){background:#38322b}html[data-color-scheme=dark] .account-menu__confirm-msg{color:#d8cfc1}:root[data-style-theme] .controls{grid-column:1 / -1;width:100%;margin-inline:0;gap:12px}:root[data-style-theme] .controls-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px}:root[data-style-theme] .controls-row .debug-toggle{justify-self:end}:root[data-style-theme] .language-picker{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:100%}:root[data-style-theme] .language-picker label{margin:0;line-height:1;white-space:nowrap}:root[data-style-theme] .language-picker select{width:100%;min-width:0;min-height:40px}:root[data-style-theme] .controls>.action-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}:root[data-style-theme] .controls>.action-row>button,:root[data-style-theme] .controls>.action-row>a{width:100%;justify-content:center}:root[data-style-theme] .stone-layout-switch--actions{width:100%}:root[data-style-theme] .stone-layout-switch__buttons{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-style-theme] .status,:root[data-style-theme] .status--secondary{align-items:stretch}:root[data-style-theme] .board{gap:16px;align-items:stretch}:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone{width:100%}:root[data-style-theme] .opponent-zone h2,:root[data-style-theme] .player-zone h2{display:flex;align-items:center;justify-content:space-between}:root[data-style-theme] .opponent-zone{border-top:2px solid var(--clan-north)}:root[data-style-theme] .player-zone{border-top:2px solid var(--clan-south)}:root[data-style-theme] .opponent-zone h2{border-bottom-color:var(--clan-north)}:root[data-style-theme] .player-zone h2{border-bottom-color:var(--clan-south)}:root[data-style-theme] .stones{width:100%;margin-inline:auto}:root[data-style-theme] .app-footer,:root[data-style-theme] .landing-footer{align-items:flex-start}@media (min-width: 1100px){:root[data-style-theme] .topbar{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:18px}:root[data-style-theme] .controls{margin-inline:0;justify-self:stretch}:root[data-style-theme] .stones.stones--layout-grid{max-width:920px}:root[data-style-theme] .stones.stones--layout-vertical{max-width:440px}}@media (max-width: 1024px){:root[data-style-theme] .topbar{grid-template-columns:1fr}:root[data-style-theme] .controls{width:100%}:root[data-style-theme] .controls-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}:root[data-style-theme] .controls-row .debug-toggle{grid-column:1 / -1;justify-self:start}}@media (max-width: 768px){:root[data-style-theme] .controls{padding:12px;gap:10px}:root[data-style-theme] .controls-row{grid-template-columns:1fr;gap:8px}:root[data-style-theme] .controls-row .debug-toggle{grid-column:auto;justify-self:stretch}:root[data-style-theme] .language-picker{grid-template-columns:1fr;gap:6px;align-items:start}:root[data-style-theme] .language-picker label{font-size:.62rem;letter-spacing:.12em}:root[data-style-theme] .language-picker select{min-height:42px}:root[data-style-theme] .controls .mode-toggle{padding:3px;gap:5px}:root[data-style-theme] .controls .mode-toggle button{min-height:42px}:root[data-style-theme] .controls .status{gap:6px}:root[data-style-theme] .controls .status .value{font-size:1rem}:root[data-style-theme] .controls>.action-row{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-style-theme] .stone-layout-switch__buttons{width:100%}:root[data-style-theme] .board{gap:12px}:root[data-style-theme] .stones{gap:8px}:root[data-style-theme] .opponent-zone,:root[data-style-theme] .player-zone{padding:10px 12px}}@media (max-width: 480px){:root[data-style-theme] .controls>.action-row{grid-template-columns:1fr}:root[data-style-theme] .status{grid-template-columns:repeat(3,minmax(0,1fr))}:root[data-style-theme] .status .label{font-size:.58rem;letter-spacing:.1em}:root[data-style-theme] .status .value{font-size:.9rem}:root[data-style-theme] .app-footer,:root[data-style-theme] .landing-footer{flex-direction:column;gap:8px}}:root[data-style-theme] .stone-layout-switch--actions,.stone-layout-switch--actions{justify-items:center;align-items:center;text-align:center;gap:4px;margin-top:2px;margin-bottom:8px}:root[data-style-theme] .stone-layout-switch__label,.stone-layout-switch__label{width:100%;margin:0;text-align:center;letter-spacing:.08em}:root[data-style-theme] .stone-layout-switch__buttons,.stone-layout-switch__buttons{margin-inline:auto}.stones{transition:gap .24s ease}.stones .stone{will-change:transform;transform-origin:top left;backface-visibility:hidden}@media (prefers-reduced-motion: no-preference){.stones.stones--animating .stone{animation:none!important}}@media (max-width: 768px){:root[data-style-theme] .stone-layout-switch--actions,.stone-layout-switch--actions{justify-items:stretch}:root[data-style-theme] .stone-layout-switch__label,.stone-layout-switch__label{text-align:left}:root[data-style-theme] .stone-layout-switch__buttons,.stone-layout-switch__buttons{width:100%;margin-inline:0}}:root[data-style-theme] .stone--touch-target,.stone--touch-target{outline:2px solid var(--ui-focus, rgba(11, 106, 143, .72));outline-offset:2px;box-shadow:0 0 0 3px #0b6a8f29}:root[data-style-theme] .app:not(.app--landing){display:flex;flex-direction:column;padding-top:max(8px,env(safe-area-inset-top))}:root[data-style-theme] .app:not(.app--landing) .board{order:-20;margin-top:0}:root[data-style-theme] .app:not(.app--landing) .topbar{order:-10;margin-top:0}:root[data-style-theme] .app:not(.app--landing) .tournament-match-banner{order:-30;margin-top:0}@media (max-width: 768px){:root[data-style-theme] .app:not(.app--landing){padding-top:max(4px,env(safe-area-inset-top))}}:root[data-style-theme] .stones .cards--top,:root[data-style-theme] .stones .cards--bottom,.stones .cards--top,.stones .cards--bottom{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;min-height:0;gap:4px}Card Design Rework — Enhanced Visual Appeal .landing-grid{counter-reset:landing-feature}.landing-card{counter-increment:landing-feature;position:relative}.landing-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;border-top-left-radius:18px;border-top-right-radius:18px;background:linear-gradient(90deg,var(--accent),transparent);pointer-events:none;z-index:1}.landing-grid .landing-card:nth-child(1):before{background:linear-gradient(90deg,#c24a2e,#e07550)}.landing-grid .landing-card:nth-child(2):before{background:linear-gradient(90deg,#0b6a8f,#1499c4)}.landing-grid .landing-card:nth-child(3):before{background:linear-gradient(90deg,#0b8a40,#18c460)}.landing-card:after{content:"0" counter(landing-feature);position:absolute;top:14px;right:14px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.6rem;font-weight:800;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:.04em;text-transform:none;background:#2b2a270f;border:1px solid rgba(43,42,39,.1);color:#2b2a2761;z-index:1;pointer-events:none}.hero-row--bottom .hero-card:nth-child(1){background:linear-gradient(145deg,#ffe5e5,#ffb8b8);color:#c92d2d;border-color:#c92d2d80;box-shadow:inset 0 1px #fffc,0 6px 10px #c92d2d33}.hero-row--bottom .hero-card:nth-child(2){background:linear-gradient(145deg,#e8f0ff,#a9c4ff);color:#0b63d9;border-color:#0b63d980;box-shadow:inset 0 1px #fffc,0 6px 10px #0b63d933}.hero-row--bottom .hero-card:nth-child(3){background:linear-gradient(145deg,#e5fde9,#9fe4b1);color:#0e8b4b;border-color:#0e8b4b80;box-shadow:inset 0 1px #fffc,0 6px 10px #0e8b4b33}.hero-row--bottom .hero-card:nth-child(4){background:linear-gradient(145deg,#fff9e5,#ffd970);color:#9a6a00;border-color:#9a6a0080;box-shadow:inset 0 1px #fffc,0 6px 10px #9a6a002e}.card--green{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #00a65173}.card--blue{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #0057ff73}.card--red{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #d6000073}.card--yellow{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #ffcc0073}.card--purple{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #6a00ff73}.card--pink{box-shadow:0 16px 28px #1c1b193d,inset 0 1px #fffc,inset 0 -1px #1c1b1914,inset 4px 0 #ff149373}.landing-modes{counter-reset:mode-counter}.landing-mode{counter-increment:mode-counter;position:relative}.landing-mode:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-top-left-radius:16px;border-bottom-left-radius:16px;background:linear-gradient(180deg,var(--accent) 0%,transparent 100%);opacity:.55;pointer-events:none;z-index:1}:root[data-style-theme=highland] .card--green{--card-accent: #ffffff;background:#1a6b32;border-color:#ffffff47;box-shadow:0 6px 14px #0a341666}:root[data-style-theme=highland] .card--blue{--card-accent: #ffffff;background:#1245a8;border-color:#ffffff47;box-shadow:0 6px 14px #08225466}:root[data-style-theme=highland] .card--red{--card-accent: #ffffff;background:#b81818;border-color:#ffffff47;box-shadow:0 6px 14px #580a0a66}:root[data-style-theme=highland] .card--yellow{--card-accent: #ffffff;background:#a86200;border-color:#ffffff47;box-shadow:0 6px 14px #502e0066}:root[data-style-theme=highland] .card--purple{--card-accent: #ffffff;background:#5c14a4;border-color:#ffffff47;box-shadow:0 6px 14px #28085066}:root[data-style-theme=highland] .card--pink{--card-accent: #ffffff;background:#a81468;border-color:#ffffff47;box-shadow:0 6px 14px #50083266}:root[data-style-theme=highland] .card--green .card-value,:root[data-style-theme=highland] .card--blue .card-value,:root[data-style-theme=highland] .card--red .card-value,:root[data-style-theme=highland] .card--yellow .card-value,:root[data-style-theme=highland] .card--purple .card-value,:root[data-style-theme=highland] .card--pink .card-value{color:#fff}:root[data-style-theme=highland] .card--green .card-suit--logo,:root[data-style-theme=highland] .card--blue .card-suit--logo,:root[data-style-theme=highland] .card--red .card-suit--logo,:root[data-style-theme=highland] .card--yellow .card-suit--logo,:root[data-style-theme=highland] .card--purple .card-suit--logo,:root[data-style-theme=highland] .card--pink .card-suit--logo{background:#ffffff38;color:#fff}:root[data-style-theme=highland] .card--yellow .card-suit--logo{color:#fff}.history-toggle{white-space:nowrap}.history-panel{background:var(--surface, #fff);border:1px solid var(--border, #ddd);border-radius:8px;padding:1rem;margin:.5rem 0;max-height:320px;overflow-y:auto}.history-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.history-panel__head h3{margin:0;font-size:1rem}.history-panel__actions{display:flex;gap:.5rem}.history-empty{color:var(--muted, #888);font-style:italic}.history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;background:var(--surface-alt, #f8f8f8);flex-wrap:wrap}.history-item__meta{display:flex;gap:.5rem;font-size:.8rem;color:var(--muted, #888)}.history-item__result{display:flex;gap:.75rem;font-size:.85rem;flex:1}.stats-panel{background:var(--surface, #fff);border:1px solid var(--border, #ddd);border-radius:8px;padding:1rem;margin:.5rem 0}.stats-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.stats-panel__head h3{margin:0;font-size:1rem}.stats-panel__actions{display:flex;gap:.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.stats-section{background:var(--surface-alt, #f8f8f8);border-radius:6px;padding:.6rem .75rem}.stats-section h4{margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted, #888)}.stats-section dl{margin:0}.stats-row{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.88rem;padding:.15rem 0}.stats-row dt{color:var(--muted, #888)}.stats-row dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.stats-section--overall{border-top:1px solid var(--border, #ddd);grid-column:1 / -1;background:none;padding-top:.5rem}.replay-modal{max-width:420px}.replay-move{padding:.75rem;background:var(--surface-alt, #f8f8f8);border-radius:6px;margin:.5rem 0;font-size:.9rem;min-height:2rem}.replay-move p{margin:0}html[data-color-scheme=dark]{color-scheme:dark;--ink: #e8e0d4;--paper: #1a1814;--paper-dark: #141210;--stone: #2e2b26;--deep: #0e0d0c;--accent: #e0705e;--clan-north: #f07d30;--clan-south: #4a9fd4}html[data-color-scheme=dark] body{background:radial-gradient(1100px 700px at -8% -18%,rgba(30,26,20,.96),transparent 62%),radial-gradient(900px 620px at 108% -10%,rgba(20,35,50,.75),transparent 56%),linear-gradient(160deg,#1a1814,#141210,#0e0d0c);color:var(--ink)}html[data-color-scheme=dark] body:before{opacity:.15;mix-blend-mode:screen}html[data-color-scheme=dark] .landing-hero,html[data-color-scheme=dark] .landing-card,html[data-color-scheme=dark] .landing-mode,html[data-color-scheme=dark] .install-card,html[data-color-scheme=dark] .controls,html[data-color-scheme=dark] .online-panel,html[data-color-scheme=dark] .board,html[data-color-scheme=dark] .support-panel,html[data-color-scheme=dark] .rules-panel,html[data-color-scheme=dark] .legend,html[data-color-scheme=dark] .draw-panel,html[data-color-scheme=dark] .recruiter-panel{background:#1e1c18eb;border-color:#e8e0d41a}html[data-color-scheme=dark] .stone{background:var(--stone);border-color:#e8e0d41f}html[data-color-scheme=dark] .card{background:#2a2620;border-color:#e8e0d426;color:var(--ink)}html[data-color-scheme=dark] button.ghost,html[data-color-scheme=dark] a.ghost{color:var(--ink);border-color:#e8e0d433}html[data-color-scheme=dark] button.ghost:hover,html[data-color-scheme=dark] a.ghost:hover{background:#e8e0d414}html[data-color-scheme=dark] .mode-toggle button.active,html[data-color-scheme=dark] .dark-mode-toggle.active,html[data-color-scheme=dark] .debug-toggle.active,html[data-color-scheme=dark] .sound-toggle.active{background:#e8e0d426;color:var(--ink)}html[data-color-scheme=dark] .winner-banner{background:#1e1c18f5;color:var(--ink)}html[data-color-scheme=dark] select,html[data-color-scheme=dark] input{background:#2a2620;color:var(--ink);border-color:#e8e0d433}.tournament-app{max-width:1100px;margin:0 auto;padding:32px 24px 48px}.tournament-lobby__header,.tournament-detail__header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;flex-wrap:wrap}.tournament-lobby h1,.tournament-detail h1{font-size:32px;margin:0 0 8px;overflow-wrap:anywhere}.tournament-lobby__header-actions,.tournament-detail__phase-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}:root[data-style-theme] .tournament-detail__phase-actions button:first-child{background:linear-gradient(180deg,var(--t-heather-soft),var(--t-heather));color:#fff;border-color:#5c2f4a}.tournament-lobby__back{color:var(--ink);text-decoration:none;font-size:14px;opacity:.7;transition:opacity .12s ease;padding:4px 6px;display:inline-block}.tournament-lobby__back:hover{opacity:1}.tournament-lobby__back:focus-visible{opacity:1;outline:2px solid rgba(45,106,138,.7);outline-offset:2px;text-decoration:underline;border-radius:3px}.tournament-app button{font:inherit;padding:8px 16px;min-height:44px;border-radius:12px;border:1px solid rgba(43,42,39,.2);background:var(--accent);color:#fff;cursor:pointer;font-weight:600;transition:filter .12s ease,background-color .12s ease,border-color .12s ease,opacity .12s ease}.tournament-app button:disabled{opacity:.55;cursor:not-allowed}.tournament-app [aria-busy=true],.tournament-app [aria-busy=true] *{cursor:wait}.tournament-app button:hover:not(:disabled){filter:brightness(.92)}.tournament-app button:active:not(:disabled){filter:brightness(.85)}.tournament-app button:focus-visible{outline:2px solid #1b1815;outline-offset:2px;box-shadow:0 0 0 4px #fff9}.tournament-app button.ghost{background:transparent;color:var(--ink)}.tournament-app button.ghost:hover{background:#2b2a270f}.tournament-app button.ghost.danger{color:#7b2f23;border-color:#d45d4c8c}.tournament-app button.ghost.danger:hover{background:#d45d4c14}.tournament-app label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600}.tournament-app input{padding:8px 10px;border-radius:6px;border:1px solid rgba(43,42,39,.2);font:inherit;font-weight:400;background:#fff;transition:border-color .12s ease,box-shadow .12s ease}.tournament-app input:focus{outline:none}.tournament-app input:focus-visible{border-color:#2d6a8a99;box-shadow:0 0 0 3px #2d6a8a26}.tournament-app select{padding:8px 10px;border-radius:6px;border:1px solid rgba(43,42,39,.2);font:inherit;font-weight:400;background:#fff;color:var(--ink);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease}.tournament-app select:focus{outline:none}.tournament-app select:focus-visible{border-color:#2d6a8a99;box-shadow:0 0 0 3px #2d6a8a26}.tournament-detail__editable-name:focus{outline:none}.tournament-detail__editable-name:focus-visible{outline:2px solid rgba(45,106,138,.6);outline-offset:3px;box-shadow:0 0 0 3px #2d6a8a1f;border-radius:4px}.tournament-lobby__create{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:12px;background:#ffffffb3;border:1px solid rgba(43,42,39,.12);margin-bottom:24px}.tournament-lobby__create h2{margin:0 0 4px;font-size:18px}.tournament-lobby__row{display:flex;gap:12px;flex-wrap:wrap}.tournament-lobby__row label{min-width:100px}.tournament-active-matches{background:#ffffffb3;border:1px solid rgba(43,42,39,.12);border-radius:10px;padding:12px 14px;margin-bottom:20px}.tournament-active-matches__title{margin:0 0 8px;font-size:14px;color:var(--t-heather, #6b5b7a);text-transform:uppercase;letter-spacing:.04em}.tournament-active-matches__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.tournament-active-matches__row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:8px;background:#fff9;border:1px solid rgba(43,42,39,.08)}.tournament-active-matches__row--your-turn{border-color:var(--t-heather, #6b5b7a);background:#7b5b7a14}.tournament-active-matches__meta{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tournament-active-matches__name{font-weight:600;font-size:14px}.tournament-active-matches__vs{font-size:12px;color:#5a534a}.tournament-active-matches__turn{font-size:12px;font-weight:600;white-space:nowrap;color:var(--t-heather, #6b5b7a)}.tournament-active-matches__resume{white-space:nowrap;padding:6px 14px;border-radius:6px;border:none;background:var(--t-heather, #6b5b7a);color:#fff;cursor:pointer;font-size:13px}.tournament-active-matches__resume:hover{filter:brightness(1.08)}.tournament-lobby__pace{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;font-size:.92em}.tournament-lobby__pace select{padding:6px 8px;border:1px solid rgba(43,42,39,.18);border-radius:4px;background:#fff}.tournament-lobby__advanced>summary{cursor:pointer;width:fit-content;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--t-stone-dark);padding:4px 2px;margin:2px 0 8px;-webkit-user-select:none;user-select:none}.tournament-lobby__advanced>summary:hover{color:var(--t-heather)}.tournament-lobby__advanced[open]>summary{margin-bottom:12px}.tournament-lobby__actions{display:flex;gap:8px;flex-wrap:wrap}.tournament-lobby details>summary{transition:color .12s ease;padding:4px 6px}.tournament-lobby details>summary:hover,.tournament-lobby details>summary:focus-visible{color:var(--ink)!important}.tournament-lobby details>summary:focus-visible{outline:2px solid rgba(45,106,138,.5);outline-offset:2px;border-radius:3px}.tournament-lobby__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.tournament-card{display:flex;background:#ffffffd9;border:1px solid rgba(43,42,39,.12);border-radius:12px;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease}.tournament-card:hover{border-color:#2b2a2740;box-shadow:0 2px 8px #2b2a2714}.tournament-card:focus-within{border-color:#2b2a2740;box-shadow:0 2px 8px #2b2a2714}@media (prefers-reduced-motion: reduce){.tournament-card{transition:none}}.tournament-card__open{flex:1;text-align:left;background:transparent;color:var(--ink);border:none;padding:16px 20px;cursor:pointer;display:flex;flex-direction:column;gap:8px;font-weight:400;text-decoration:none;transition:background-color .12s ease}.tournament-card__open:hover{background:#2b2a270a}.tournament-card__open:focus{outline:none}.tournament-card__open:focus-visible{outline:2px solid #2d6a8a;outline-offset:-2px;box-shadow:inset 0 0 0 4px #2d6a8a1f;background:#2d6a8a0a}.tournament-card__title{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tournament-card__title strong{font-size:17px;overflow-wrap:anywhere;min-width:0}.tournament-card__phase{font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;transition:background-color .12s ease,color .12s ease}.tournament-card__phase--draft{background:#2b2a271a;color:var(--ink)}.tournament-card__phase--registration{background:#0057b81f;color:#0057b8}.tournament-card__phase--in_progress{background:var(--t-heather-wash);color:var(--t-heather)}.tournament-card__phase--completed{background:#228b2226;color:#262}.tournament-card__meta{display:flex;gap:16px;font-size:13px;opacity:.75;flex-wrap:wrap}.tournament-card__delete{background:transparent;color:var(--ink);border:none;padding:4px 16px;font-size:20px;cursor:pointer;opacity:.4;transition:opacity .12s ease,color .12s ease}.tournament-card__delete:hover{opacity:1;color:#c64200}.tournament-card__delete:focus-visible{opacity:1;color:#c64200;outline:2px solid rgba(198,66,0,.65);outline-offset:2px;border-radius:4px}.tournament-card__rematch:focus-visible{outline:2px solid rgba(45,106,138,.65);outline-offset:2px;background:#2d6a8a14}.tournament-card__rematch{transition:background-color .12s ease}.tournament-card__rematch:hover{background:#2d6a8a14!important}.tournament-detail__rematch-cta:hover{background:#b8780014!important;color:#5a2900!important}.tournament-detail__rematch-cta:focus-visible{outline:2px solid rgba(184,120,0,.65);outline-offset:2px;background:#b8780014!important}.tournament-detail__copy-results:focus-visible{outline:2px solid rgba(45,106,79,.65);outline-offset:2px}.tournament-detail__copy-results{transition:background-color .12s ease}.tournament-detail__copy-results:hover{background:#2d6a4f14!important}.tournament-detail__toast-dismiss:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:4px}.tournament-detail__toast-dismiss{transition:background-color .12s ease,color .12s ease}.tournament-detail__toast-dismiss:hover{background:color-mix(in srgb,currentColor 12%,transparent)!important}.tournament-lobby__empty{text-align:center;padding:48px;background:#ffffff80;border-radius:12px;border:1px dashed rgba(43,42,39,.2)}.tournament-detail__meta{display:flex;gap:16px;font-size:13px;opacity:.7;flex-wrap:wrap}.tournament-detail__meta strong{text-transform:capitalize}.tournament-detail section{background:#ffffffbf;border:1px solid rgba(43,42,39,.1);border-radius:12px;padding:20px;margin-top:20px}.tournament-detail h2{margin:0 0 12px;font-size:20px}.tournament-detail__add{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}.tournament-detail__add label{flex:1;min-width:160px}.tournament-detail__quickseed{display:flex;gap:8px;align-items:center;font-size:13px;opacity:.85;margin-bottom:16px;flex-wrap:wrap}.tournament-detail__quickseed button{padding:6px 12px;font-size:12px}.tournament-detail__player-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.tournament-detail__player-list li{display:flex;justify-content:space-between;align-items:flex-start;padding:10px 12px;background:#f5efe699;border-radius:8px;gap:12px}.tournament-detail__player-id{font-size:11px;opacity:.55;margin-left:8px;font-family:ui-monospace,monospace}.tournament-detail__motifs{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tournament-detail__motif{font-size:11px;padding:2px 8px;border-radius:999px;background:#ff6b001f;color:#c64200}.tournament-app .tournament-detail__remove{background:transparent;color:var(--ink);border:1px solid rgba(43,42,39,.15);font-size:12px;padding:6px 10px}.tournament-detail__remove:hover,.tournament-detail__toggle-human:hover,.tournament-app .tournament-detail__remove:hover,.tournament-app .tournament-detail__toggle-human:hover{border-color:#2b2a2766;background:#2b2a270a}.tournament-detail__round-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.tournament-detail__round-actions{display:flex;gap:8px;flex-wrap:wrap}.tournament-detail__bye{padding:8px 12px;background:#0057b814;border-radius:8px;margin:0 0 12px;font-size:14px}.tournament-detail__pairings{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.tournament-detail__pairing{background:#f5efe666;border-radius:10px;padding:12px}.tournament-detail__pairing-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:stretch}.tournament-detail__side{display:flex;flex-direction:column;background:#ffffffd9;color:var(--ink);border:2px solid rgba(43,42,39,.12);padding:12px;border-radius:8px;cursor:pointer;gap:4px;font-weight:400}.tournament-detail__side strong{font-size:15px}.tournament-detail__side span{font-size:11px;opacity:.6;text-transform:uppercase;letter-spacing:.05em}.tournament-detail__side:hover{border-color:var(--accent)}.tournament-detail__side--won{border-color:var(--accent);background:#d45d4c1f}.tournament-detail__side--lost{opacity:.55;filter:saturate(.55)}.tournament-detail__side--lost:hover{opacity:.85;filter:saturate(.85)}.tournament-detail__commit-ready{box-shadow:0 0 0 2px #ff6b002e,0 4px 12px #d45d4c38;animation:tournament-commit-ready-pulse 1.6s ease-in-out 2}@keyframes tournament-commit-ready-pulse{0%,to{box-shadow:0 0 0 2px #ff6b002e,0 4px 12px #d45d4c38}50%{box-shadow:0 0 0 4px #ff6b0047,0 6px 18px #d45d4c57}}@media (prefers-reduced-motion: reduce){.tournament-detail__commit-ready{animation:none}}.tournament-detail__draw{background:#ffffffd9;color:var(--ink);border:2px solid rgba(43,42,39,.12);padding:12px 16px;border-radius:8px;font-size:13px;font-weight:600}.tournament-detail__draw:hover{border-color:var(--accent)}.tournament-detail__draw--picked{border-color:var(--accent);background:#d45d4c1f}.tournament-detail__pairing-meta{display:flex;align-items:center;gap:12px;font-size:11px;opacity:.65;margin-top:8px;font-family:ui-monospace,monospace;flex-wrap:wrap}.tag-warn{color:#c64200;font-weight:700}.tournament-detail table{width:100%;border-collapse:collapse;font-size:14px}.tournament-detail th{text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.6;border-bottom:1px solid rgba(43,42,39,.1)}.tournament-detail th[scope=row]{font-size:14px;text-transform:none;letter-spacing:normal;opacity:1;border-bottom:1px solid rgba(43,42,39,.06);font-weight:400}.tournament-detail td{padding:8px 12px;border-bottom:1px solid rgba(43,42,39,.06)}.tournament-detail__final table tr:first-child td,.tournament-detail__final table tr:first-child th{font-weight:700;background:#ff6b000f}.tournament-detail__history details{cursor:pointer}.tournament-detail__history summary{font-weight:600;transition:color .12s ease;padding:4px 6px}.tournament-detail__history summary:hover,.tournament-detail__history summary:focus-visible{color:var(--ink)}.tournament-detail__history summary:focus-visible{outline:2px solid rgba(45,106,138,.5);outline-offset:2px;border-radius:3px}.tournament-detail__empty{opacity:.6;font-style:italic}@media (max-width: 600px){.tournament-detail__pairing-grid{grid-template-columns:1fr}.tournament-detail__round-actions{flex-direction:column;align-items:stretch}}html[data-color-scheme=dark] .tournament-detail section,html[data-color-scheme=dark] .tournament-lobby__create,html[data-color-scheme=dark] .tournament-card,html[data-color-scheme=dark] .tournament-lobby__empty{background:#1e1c1899;border-color:#e8e0d426}html[data-color-scheme=dark] .tournament-app input,html[data-color-scheme=dark] .tournament-detail__side,html[data-color-scheme=dark] .tournament-detail__draw{background:#2a2620}.tournament-detail__play-one{margin-left:auto;font-size:11px;padding:7px 10px}.tournament-detail__match-stat{font-family:ui-monospace,monospace;background:#228b221f;color:#262;padding:2px 8px;border-radius:999px;font-size:11px}.tournament-match-banner{background:#ff6b002e;color:#c64200;padding:10px 16px;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px}.tournament-match-banner em{font-style:normal;opacity:.7}.tournament-match-banner__done{color:#262}.tournament-match-banner__abort{color:#c64200;font-weight:700;text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.05em;padding:5px 6px}.tournament-match-banner__abort:hover{text-decoration:underline}.tournament-match-banner__peek:hover{text-decoration:underline!important}.tournament-match-banner__abort,.tournament-match-banner__peek{transition:filter .12s ease,text-decoration-color .12s ease}.tournament-match-banner__abort:hover,.tournament-match-banner__peek:hover{filter:brightness(.85)}.tournament-match-banner__abort:focus-visible{outline:2px solid rgba(198,66,0,.7);outline-offset:2px;text-decoration:underline;border-radius:4px}.tournament-match-banner__peek:focus-visible{outline:2px solid rgba(45,106,138,.7);outline-offset:2px;text-decoration:underline;border-radius:4px}.tournament-detail__resume-banner{background:#228b2226;color:#262;padding:10px 14px;border-radius:8px;margin-top:16px;font-size:14px}.tournament-detail__player-name-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tournament-detail__player-kind{font-size:10px;padding:2px 8px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.tournament-detail__player-kind--human{background:#0057b81f;color:#0057b8}.tournament-detail__player-kind--bot{background:#2b2a271a;color:var(--ink)}.tournament-detail__player-actions{display:flex;flex-direction:column;gap:4px;align-items:flex-end}.tournament-app .tournament-detail__toggle-human{background:transparent;color:var(--ink);border:1px solid rgba(43,42,39,.15);font-size:11px;padding:6px 8px}.tournament-detail__pairing--human{border:1px solid rgba(0,87,184,.25);background:#0057b80a;padding:12px;border-radius:10px}.tournament-detail__pairing--me{border:2px solid rgba(45,106,138,.55);background:#2d6a8a14;box-shadow:inset 4px 0 #2d6a8ad9}.recap-app{max-width:1000px;margin:0 auto;padding:32px 24px 48px}.recap-app__nav{margin-bottom:24px}.recap-app__nav a{color:var(--ink);text-decoration:none;font-size:14px;opacity:.7;transition:opacity var(--dur-base, .2s) var(--ease-out, ease-out),color var(--dur-base, .2s) var(--ease-out, ease-out)}.recap-app__nav a:hover{opacity:1;color:var(--accent)}.recap-app__intro,.recap-app__loading,.recap-app__error{background:linear-gradient(160deg,#ffffffeb,#ebdfced1);border:1px solid rgba(43,42,39,.14);border-radius:18px;padding:28px 30px;box-shadow:0 18px 40px -24px #1c1b1966}.recap-app__intro h1{margin:0 0 10px;font-family:Fraunces,serif;font-size:1.8rem;line-height:1.1}.recap-app__intro>p{margin:0;color:#2b2a27b3;line-height:1.5;max-width:60ch}.recap-input{display:flex;gap:12px;margin-top:18px;align-items:flex-end;flex-wrap:wrap}.recap-input label{display:flex;flex-direction:column;gap:6px;font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#2b2a278c;flex:1;min-width:260px}.recap-input input{font:inherit;font-weight:400;padding:11px 14px;border-radius:10px;border:1px solid rgba(43,42,39,.2);font-family:ui-monospace,monospace;letter-spacing:.04em}.recap-input input:focus-visible{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.recap-input button{font:inherit;font-weight:700;padding:11px 18px;border:none;border-radius:10px;color:#fff;background:linear-gradient(135deg,#e0715c,var(--accent));box-shadow:0 12px 22px -14px #d45d4cd9}.recap-input button:hover:not(:disabled){box-shadow:0 16px 28px -14px #d45d4cf2}.recap-header{background:#ffffffbf;border:1px solid rgba(43,42,39,.12);border-radius:12px;padding:20px;margin-bottom:16px}.recap-header__title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.recap-header__title h1{margin:0;font-size:24px}.recap-header__variant{font-size:11px;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.05em;font-weight:700}.recap-header__variant--base{background:#2b2a271a}.recap-header__variant--tactics{background:#ff6b002e;color:#c64200}.recap-header__variant--lab{background:#0057b81f;color:#0057b8}.recap-header__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0}.recap-header__meta>div{display:flex;flex-direction:column;gap:2px}.recap-header__meta dt{font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.6;margin:0}.recap-header__meta dd{margin:0;font-size:14px}.recap-header__meta code{font-family:ui-monospace,monospace;font-size:13px;background:#2b2a270d;padding:1px 6px;border-radius:4px}.recap-tabs__list{display:flex;gap:4px;border-bottom:1px solid rgba(43,42,39,.12);margin-bottom:12px;flex-wrap:wrap}.recap-tabs__tab{background:transparent;color:var(--ink);border:none;border-bottom:2px solid transparent;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;font-size:14px}.recap-tabs__tab--active{border-bottom-color:var(--accent);color:var(--accent)}.recap-tabs__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.recap-pane{background:#ffffffb3;border:1px solid rgba(43,42,39,.1);border-radius:12px;padding:16px}.recap-pane--empty{text-align:center;opacity:.7;font-style:italic}.recap-pane__hint{font-size:13px;margin-top:8px}.recap-timeline table{width:100%;border-collapse:collapse;font-size:14px}.recap-timeline th{text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em;opacity:.6;border-bottom:1px solid rgba(43,42,39,.1)}.recap-timeline td{padding:8px 12px;border-bottom:1px solid rgba(43,42,39,.06)}.recap-timeline__row--blunder{background:#d45d4c0f}.recap-timeline__blunder{color:#c64200;font-weight:700;font-size:12px}.recap-timeline__motifs{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:0}.recap-motif-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#0057b81a;color:#0057b8;border:1px solid rgba(0,87,184,.2);font:inherit;font-size:12px;cursor:pointer}.recap-motif-chip:hover{background:#0057b833}.recap-motif-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.recap-motif-chip__pattern{width:8px;height:8px;border-radius:2px;background-image:repeating-linear-gradient(45deg,rgba(0,87,184,.6) 0,rgba(0,87,184,.6) 2px,transparent 2px,transparent 4px)}.recap-cta ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.recap-cta li{display:flex;align-items:center;gap:8px}.recap-cta__count{font-size:12px;opacity:.7;font-family:ui-monospace,monospace}@media (max-width: 600px){.recap-app{padding:20px 12px 40px}.recap-header__meta{grid-template-columns:1fr 1fr}.recap-tabs__list{overflow-x:auto}.recap-timeline th,.recap-timeline td{padding:6px 8px}}html[data-color-scheme=dark] .recap-header,html[data-color-scheme=dark] .recap-pane,html[data-color-scheme=dark] .recap-app__loading,html[data-color-scheme=dark] .recap-app__error{background:#1e1c1899;border-color:#e8e0d426}.tournament-lobby,.tournament-detail{--t-paper: #f8f2e3;--t-paper-edge: #efe6d0;--t-ink: #2a2417;--t-ink-soft: #6a5f49;--t-stone: #9a8f78;--t-stone-dark: #736850;--t-heather: #7c3e63;--t-heather-soft: #a8718f;--t-heather-wash: #f0e4ea;--t-moss: #4d5f3a;--t-gold: #b08a35;--t-line: #d6c9aa;--t-line-soft: #e3d8be;--t-shadow: 0 1px 0 #fff7e8, 0 14px 30px -18px rgba(42, 36, 23, .55)}.tournament-lobby{background:radial-gradient(1000px 520px at 8% -12%,#f0e7d2 0,transparent 60%),linear-gradient(180deg,#ece2cd,#e6d9bf);border-radius:16px;padding:4px 18px 18px}.tournament-lobby__header{display:block;position:relative;background:radial-gradient(120% 150% at 0% 0%,#fbf6ea 0,#f3ead6 55%,#ecdfc4);border:1px solid var(--t-line);border-radius:14px;padding:30px 30px 22px;margin:16px 0 22px;box-shadow:var(--t-shadow);overflow:hidden}.tournament-lobby__header:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,#5c2f4a 0,#5c2f4a 16px,#7c3e63 16px,#7c3e63 22px,#5c2f4a 22px,#5c2f4a 24px,#3c4a2e 24px,#3c4a2e 40px,#b08a35 40px,#b08a35 42px,#3c4a2e 42px,#3c4a2e 58px);box-shadow:inset 0 -2px 3px #00000040}.tournament-lobby__header:after{content:"ST";position:absolute;top:24px;right:26px;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-family:Fraunces,Georgia,serif;font-weight:800;font-size:26px;color:#fff;background:radial-gradient(circle at 32% 28%,var(--t-heather-soft),var(--t-heather) 70%);box-shadow:0 8px 18px -8px #7c3e63b3,inset 0 2px 6px #ffffff59;border:3px solid #efe3c9}.tournament-lobby__header h1{font-family:Fraunces,Georgia,serif;font-size:42px;font-weight:800;line-height:1;margin:.16em 0 .12em;color:var(--t-ink);padding-right:78px}.tournament-lobby__header h1:before{content:"SCHOTTEN TOTTEN";display:block;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:11px;letter-spacing:.28em;color:var(--t-stone-dark);margin-bottom:7px}.tournament-lobby__header>div>p{color:var(--t-ink-soft);max-width:560px;margin:.2em 0 0;font-size:15px}.tournament-lobby__header-actions{margin-top:20px}.tournament-lobby__header-actions button{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:14px;padding:9px 15px;border-radius:12px;border:1px solid var(--t-line);background:linear-gradient(180deg,#fbf6ea,#efe4cd);color:var(--t-ink);box-shadow:0 1px #fff8ec,0 6px 14px -10px #2a241780;cursor:pointer;transition:transform .12s ease}.tournament-lobby__header-actions button:hover{transform:translateY(-1px)}.tournament-lobby__header-actions button:first-of-type{background:linear-gradient(180deg,var(--t-heather-soft),var(--t-heather));color:#fff;border-color:#5c2f4a}.tournament-lobby__header-actions .auth-signout-row{margin-left:auto}.tournament-lobby__back{color:var(--t-heather);opacity:.85}.tournament-lobby__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.tournament-card{position:relative;background:linear-gradient(180deg,var(--t-paper),var(--t-paper-edge));border:1px solid var(--t-line);border-radius:13px;box-shadow:var(--t-shadow);overflow:hidden}.tournament-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--t-stone);z-index:1}.tournament-card--registration:before{background:var(--t-gold)}.tournament-card--in_progress:before{background:var(--t-heather)}.tournament-card--completed:before{background:var(--t-moss)}.tournament-card:hover{border-color:var(--t-stone);box-shadow:0 1px #fff7e8,0 18px 34px -18px #2a241799}.tournament-card__open{padding:16px 18px 16px 22px;gap:10px}.tournament-card__open:hover{background:#7c3e630b}.tournament-card__title strong{font-family:Fraunces,Georgia,serif;font-size:20px;font-weight:600;color:var(--t-ink)}.tournament-card__meta{color:var(--t-ink-soft);opacity:1;font-size:13px}.tournament-card__phase{border:1px solid;border-radius:20px;padding:4px 9px;letter-spacing:.12em}.tournament-card__phase--draft{color:var(--t-stone-dark);border-color:var(--t-stone);background:#efe7d4}.tournament-card__phase--registration{color:#7a5a12;border-color:#cdab57;background:#f6eccf}.tournament-card__phase--in_progress{color:var(--t-heather);border-color:var(--t-heather-soft);background:var(--t-heather-wash)}.tournament-card__phase--completed{color:var(--t-moss);border-color:#9aab83;background:#e9efdd}.tournament-card .tournament-card__delete{background:transparent;color:var(--t-stone-dark)}.tournament-card .tournament-card__delete:hover{color:var(--t-heather)}.tournament-card button:not(.tournament-card__delete){background:linear-gradient(180deg,#fbf6ea,#efe4cd);color:var(--t-ink);border:1px solid var(--t-line);border-radius:8px}.tournament-lobby__join,.tournament-lobby__browse,.tournament-lobby__create{background:linear-gradient(180deg,var(--t-paper),var(--t-paper-edge));border:1px solid var(--t-line);border-radius:14px;box-shadow:var(--t-shadow);padding:22px 24px;margin-bottom:18px}.tournament-lobby__join h2,.tournament-lobby__browse h2,.tournament-lobby__create h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:24px;color:var(--t-ink);margin:0 0 4px}.tournament-lobby__join>p,.tournament-lobby__browse>p{color:var(--t-ink-soft);font-size:13px;margin:0 0 6px}.tournament-lobby__join input,.tournament-lobby__browse-search input,.tournament-lobby__create input,.tournament-lobby__create select{font-family:Plus Jakarta Sans,sans-serif;background:#fffdf7;color:var(--t-ink);border:1px solid var(--t-line);border-radius:9px;padding:10px 13px;box-shadow:inset 0 2px 5px #2a241714}.tournament-lobby__create label{color:var(--t-ink-soft);font-weight:600;font-size:13px}.tournament-lobby__join button[type=submit],.tournament-lobby__browse-search button[type=submit],.tournament-lobby__browse-item button,.tournament-lobby__actions button[type=submit],.tournament-lobby__create-actions button[type=submit]{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;background:linear-gradient(180deg,var(--t-heather-soft),var(--t-heather));color:#fff;border:1px solid #5c2f4a;border-radius:9px;padding:10px 16px;cursor:pointer}.tournament-lobby__join .ghost,.tournament-lobby__browse .ghost,.tournament-lobby__create .ghost,.tournament-lobby__actions .ghost,.tournament-lobby__create-actions .ghost{background:linear-gradient(180deg,#fbf6ea,#efe4cd);color:var(--t-ink);border:1px solid var(--t-line);border-radius:9px;padding:10px 16px;cursor:pointer}.tournament-lobby__browse-search{display:flex;gap:10px;margin:14px 0}.tournament-lobby__browse-search input{flex:1}.tournament-lobby__browse-list{list-style:none;margin:8px 0 0;padding:0}.tournament-lobby__browse-item{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--t-line-soft)}.tournament-lobby__browse-item:last-child{border-bottom:0}.tournament-lobby__browse-name strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:18px;color:var(--t-ink)}.tournament-lobby__browse-meta{color:var(--t-ink-soft)!important}.tournament-lobby__browse-item button{margin-left:auto}.tournament-lobby__browse-empty{color:var(--t-ink-soft)}.tournament-lobby__visibility{border:1px solid var(--t-line);border-radius:11px;padding:13px 15px;background:#fffdf7}.tournament-lobby__visibility input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:20px;background:var(--t-stone);position:relative;flex:none;box-shadow:inset 0 2px 4px #00000040;transition:background .15s;cursor:pointer}.tournament-lobby__visibility input[type=checkbox]:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:left .15s}.tournament-lobby__visibility input[type=checkbox]:checked{background:var(--t-heather)}.tournament-lobby__visibility input[type=checkbox]:checked:after{left:23px}.tournament-detail{background:radial-gradient(1000px 520px at 8% -12%,#f0e7d2 0,transparent 60%),linear-gradient(180deg,#ece2cd,#e6d9bf);border-radius:16px;padding:4px 18px 18px;color:var(--t-ink)}.tournament-detail__header{position:relative;background:radial-gradient(120% 150% at 0% 0%,#fbf6ea 0,#f3ead6 55%,#ecdfc4);border:1px solid var(--t-line);border-radius:14px;padding:26px 28px 20px;margin:16px 0 22px;box-shadow:var(--t-shadow);overflow:hidden}.tournament-detail__header:before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:repeating-linear-gradient(90deg,#5c2f4a 0,#5c2f4a 16px,#7c3e63 16px,#7c3e63 22px,#5c2f4a 22px,#5c2f4a 24px,#3c4a2e 24px,#3c4a2e 40px,#b08a35 40px,#b08a35 42px,#3c4a2e 42px,#3c4a2e 58px);box-shadow:inset 0 -2px 3px #00000040}.tournament-detail__header h1,.tournament-detail__editable-name{font-family:Fraunces,Georgia,serif;font-size:34px;font-weight:800;line-height:1.05;margin:.14em 0 .1em;color:var(--t-ink)}.tournament-detail__header .ghost{background:transparent;border:none;color:var(--t-heather);opacity:.85;padding-left:0}.tournament-detail__meta{color:var(--t-ink-soft);font-size:13px}.tournament-detail__meta strong{color:var(--t-ink)}.tournament-detail h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:20px;color:var(--t-ink)}.tournament-detail__invite code{background:#efe7d4!important;border:1px dashed var(--t-stone);font-family:Fraunces,Georgia,serif!important;color:var(--t-ink);letter-spacing:.12em}.tournament-detail__invite button{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:13px;background:linear-gradient(180deg,#fbf6ea,#efe4cd);color:var(--t-ink);border:1px solid var(--t-line);border-radius:8px;padding:6px 11px;cursor:pointer}.tournament-detail__invite-email input{font-family:Plus Jakarta Sans,sans-serif;background:#fffdf7;color:var(--t-ink);border:1px solid var(--t-line);border-radius:9px;padding:9px 12px;box-shadow:inset 0 2px 5px #2a241714}.tournament-detail__invite-email button[type=submit]{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;background:linear-gradient(180deg,var(--t-heather-soft),var(--t-heather));color:#fff;border:1px solid #5c2f4a;border-radius:9px;padding:9px 14px;cursor:pointer}.tournament-detail__player-list{list-style:none;margin:8px 0 0;padding:0;display:block}.tournament-detail__player-list>li{display:flex;align-items:center;gap:13px;padding:12px 6px;border-bottom:1px solid var(--t-line-soft);background:transparent;border-radius:0}.tournament-detail__player-list>li:last-child{border-bottom:0}.tournament-detail__player-list>li>div:first-child{flex:1;min-width:0}.tournament-detail__player-list>li[aria-current=true]{background:var(--t-heather-wash)!important;border-radius:8px}.tournament-detail__player-name-row strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:17px;color:var(--t-ink)}.tournament-detail__player-kind,.tournament-detail__motif{display:inline-block;font:600 11px Plus Jakarta Sans,sans-serif;color:var(--t-stone-dark);background:#efe7d4;border:1px solid var(--t-line);border-radius:6px;padding:2px 7px;margin-right:5px}.tournament-detail__player-kind--bot{color:#6a5b3a;background:#efe7d4}.tournament-detail__player-kind--human{color:var(--t-heather);border-color:var(--t-heather-soft);background:var(--t-heather-wash)}.tournament-detail__pending-invite{opacity:.78}.tournament-detail__pending-invite .tournament-detail__player-kind{font:700 10px/1 Plus Jakarta Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#7a5a12;background:#f6eccf;border:1px solid #cdab57;padding:4px 7px}.tournament-detail__pairing{background:#fffdf7;border:1px solid var(--t-line);border-radius:11px;padding:13px 16px;margin-top:10px}.tournament-detail__pairing--me{border-color:var(--t-heather-soft);box-shadow:inset 3px 0 0 var(--t-heather)}.tournament-detail__pairing-meta{color:var(--t-ink-soft)}.tournament-detail__standings table{width:100%;border-collapse:collapse;margin-top:8px}.tournament-detail__standings th{text-align:left;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--t-ink-soft);padding:8px 10px;border-bottom:2px solid var(--t-line)}.tournament-detail__standings td{padding:11px 10px;border-bottom:1px solid var(--t-line-soft)}.tournament-detail__standings tbody td:first-child{font-family:Fraunces,Georgia,serif;font-weight:800;color:var(--t-stone-dark);width:34px}.tournament-detail__standings tbody tr:first-child td:first-child{color:var(--t-gold)}.tournament-detail__standings tbody tr:first-child td{background:linear-gradient(90deg,#f7eedd,transparent)}.tournament-detail__standings-row--me{background:var(--t-heather-wash)!important}.tournament-detail__your-standing{color:var(--t-ink-soft)}@media (max-width: 560px){.tournament-lobby,.tournament-detail{padding:4px 12px 14px}.tournament-lobby__header{padding:24px 18px 18px}.tournament-lobby__header:after{display:none}.tournament-lobby__header h1{font-size:30px;padding-right:0}.tournament-detail__header{padding:22px 18px 16px}.tournament-detail__header h1,.tournament-detail__editable-name{font-size:26px}.tournament-lobby__list{grid-template-columns:1fr}.tournament-lobby__join,.tournament-lobby__browse,.tournament-lobby__create{padding:18px 16px}.tournament-lobby__browse-item{flex-wrap:wrap}}.tournament-detail .tournament-detail__side,.tournament-detail .tournament-detail__draw{background:#fffdf7;color:var(--t-ink);border:2px solid var(--t-line)}.tournament-detail .tournament-detail__side:hover,.tournament-detail .tournament-detail__draw:hover{border-color:var(--t-heather-soft)}.tournament-detail .tournament-detail__side--won,.tournament-detail .tournament-detail__draw--picked{background:var(--t-heather-wash);border-color:var(--t-heather);color:var(--t-heather)}.tournament-detail .tournament-detail__side--lost{opacity:.5;filter:saturate(.6)}.tournament-detail__readyup{margin:12px 0 6px}.tournament-detail__ready-btn{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:15px;background:linear-gradient(180deg,var(--t-heather-soft),var(--t-heather));color:#fff;border:1px solid #5c2f4a;border-radius:10px;padding:11px 20px;cursor:pointer;box-shadow:0 1px #fff8ec,0 8px 18px -10px #7c3e63b3;transition:transform .12s ease}.tournament-detail__ready-btn:hover{transform:translateY(-1px)}.tournament-detail__ready-btn:disabled{opacity:.6;cursor:default;transform:none}.tournament-detail__ready-banner,.tournament-detail__ready-waiting{margin:0 0 8px;padding:9px 13px;border-radius:9px;font-weight:600}.tournament-detail__ready-banner{background:var(--t-heather-wash);border:1px solid var(--t-heather-soft);color:var(--t-heather)}.tournament-detail__ready-waiting{background:#f6eccf;border:1px solid #cdab57;color:#7a5a12}:root[data-style-theme=official] .card--green,:root[data-style-theme=official] .card--blue,:root[data-style-theme=official] .card--red,:root[data-style-theme=official] .card--yellow,:root[data-style-theme=official] .card--purple,:root[data-style-theme=official] .card--pink{--card-contrast: #ffffff;background:linear-gradient(168deg,#fffdf5,#f3ecd9);box-shadow:inset 0 1px #ffffffd9,0 6px 12px #3c2c1429}:root[data-style-theme=official] .card--green{--card-accent: #2d8a3b;border-color:#3a9d49}:root[data-style-theme=official] .card--blue{--card-accent: #2b7fb8;border-color:#2b7fb8}:root[data-style-theme=official] .card--red{--card-accent: #d8472e;border-color:#d8472e}:root[data-style-theme=official] .card--yellow{--card-accent: #8a5a0a;border-color:#d8a52a}:root[data-style-theme=official] .card--purple{--card-accent: #7b4fa0;border-color:#7b4fa0}:root[data-style-theme=official] .card--pink{--card-accent: #c33e85;border-color:#d24f97}:root[data-style-theme=official] .stone-core{background:url(/assets/stone-BPKLQNVY.png) center / cover no-repeat;box-shadow:inset 0 0 0 2px #f7f0d6d9,inset 0 1px 1px #ffffff73,inset 0 -3px 7px #14340873,0 1px #f7f0d699}:root[data-style-theme=official] .stone-core .stone-index{color:#fff;text-shadow:0 1px 2px rgba(12,40,6,.85),0 0 3px rgba(12,40,6,.6)}:root[data-style-theme=official] .stone-core .stone-index{font-size:1.3rem}:root[data-style-theme=official] .stone--south .stone-core{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.46),transparent 44%),radial-gradient(circle at 72% 84%,rgba(10,44,72,.4),transparent 48%),linear-gradient(157deg,#6ba8d8,#2b7fb8 48%,#1d5e8e);box-shadow:inset 0 1px 1px #fff6,inset 0 -2px 6px #0a284280,inset 0 0 0 1px #0a284252}:root[data-style-theme=official] .stone--north .stone-core{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.46),transparent 44%),radial-gradient(circle at 72% 84%,rgba(96,24,12,.4),transparent 48%),linear-gradient(157deg,#e88a6f,#d8472e 48%,#a8331f);box-shadow:inset 0 1px 1px #fff6,inset 0 -2px 6px #5a160a80,inset 0 0 0 1px #5a160a52}:root[data-style-theme=official] .board{background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3E%3Cg%20fill='none'%20stroke='%23ffffff'%20stroke-width='2.8'%20stroke-linecap='round'%20opacity='0.72'%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'/%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'%20transform='rotate(120%2032%2032)'/%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'%20transform='rotate(240%2032%2032)'/%3E%3C/g%3E%3C/svg%3E") 0 0 / 104px 104px,radial-gradient(72% 38% at 50% -8%,rgba(216,71,46,.1),transparent 72%),radial-gradient(74% 40% at 50% 108%,rgba(43,127,184,.1),transparent 72%),linear-gradient(150deg,var(--ui-board-a),var(--ui-board-b))}:root[data-style-theme=official] .hero-board{background:linear-gradient(165deg,#9ec85a,#74ac34);box-shadow:inset 0 0 0 1px #2846104d,inset 0 2px 14px #1e3c0a38}:root[data-style-theme=official] .hero-banner{color:#19350e;text-shadow:0 1px 0 rgba(255,255,255,.25)}:root[data-style-theme=official] .hero-stone{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.55),transparent 46%),linear-gradient(157deg,#ece0c4,#d4bf98);box-shadow:inset 0 1px 1px #fff9,inset 0 -1px 4px #78603c66,inset 0 0 0 1px #78603c38;color:#2c2218d9}:root[data-style-theme=official] .hero-row--bottom .hero-card{background:linear-gradient(168deg,#fffdf5,#f3ecd9);border-color:#78603c4d}:root[data-style-theme=official] .hero-row--bottom .hero-card:nth-child(1){color:#d8472e}:root[data-style-theme=official] .hero-row--bottom .hero-card:nth-child(2){color:#2b7fb8}:root[data-style-theme=official] .hero-row--bottom .hero-card:nth-child(3){color:#3a9d49}:root[data-style-theme=official] .hero-row--bottom .hero-card:nth-child(4){color:#c8861c}:root[data-style-theme=official] .card--tactic{background:linear-gradient(168deg,#fffdf5,#f1e6cb);border-color:#c8961c;box-shadow:inset 0 1px #fffc,0 6px 12px #5a3c142e}:root[data-style-theme=official] .card--tactic .card-value{color:#8a5a1e}:root[data-style-theme=official] .card--tactic:after{color:#b8841a}html[data-style-theme=official] body:before{background-image:repeating-linear-gradient(91deg,rgba(74,48,20,.08) 0 2px,transparent 2px 7px),repeating-linear-gradient(89deg,rgba(255,242,216,.06) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(54,34,14,.09) 0 2px,transparent 2px 132px);opacity:.8}:root[data-style-theme=official] .card--green:before,:root[data-style-theme=official] .card--blue:before,:root[data-style-theme=official] .card--red:before,:root[data-style-theme=official] .card--yellow:before,:root[data-style-theme=official] .card--purple:before,:root[data-style-theme=official] .card--pink:before{display:block;content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border:1px solid var(--card-accent);border-radius:8px;opacity:.22;pointer-events:none}:root[data-style-theme=official] .landing-eyebrow{color:#a8331c;font-weight:800}:root[data-style-theme=official] .card--green,:root[data-style-theme=official] .card--blue,:root[data-style-theme=official] .card--red,:root[data-style-theme=official] .card--yellow,:root[data-style-theme=official] .card--purple,:root[data-style-theme=official] .card--pink{position:relative;background-repeat:no-repeat,no-repeat;background-position:center top,center;background-size:cover,cover}:root[data-style-theme=official] .card--green{background-image:url(/assets/clan-green-CL-9TjHh.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--blue{background-image:url(/assets/clan-blue-AOfKMSaU.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--red{background-image:url(/assets/clan-red-03msL84X.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--yellow{background-image:url(/assets/clan-yellow-C2xLLZX1.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--purple{background-image:url(/assets/clan-purple-CE-J-5_Z.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--pink{background-image:url(/assets/clan-pink-BmpMsCAS.png),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--back,:root[data-style-theme=official] .card--back-clan,:root[data-style-theme=official] .card--back-tactic{background-repeat:no-repeat;background-position:center;background-size:cover;border:1px solid rgba(120,96,60,.45)}:root[data-style-theme=official] .card--back,:root[data-style-theme=official] .card--back-clan{background-image:url(/assets/back-clan-ByzM-CH9.png)}:root[data-style-theme=official] .card--back-tactic{background-image:url(/assets/back-tactic-CcFr_1rz.png)}:root[data-style-theme=official] .card--back:before,:root[data-style-theme=official] .card--back-clan:before,:root[data-style-theme=official] .card--back-tactic:before{display:none}html[data-style-theme=official] body{background:linear-gradient(0deg,#2818081f,#2818081f),url(/assets/wood-table-1um75Bih.jpg) center / cover fixed no-repeat}html[data-style-theme=official] body:before{opacity:.18}:root[data-style-theme=official] .card--green .card-value,:root[data-style-theme=official] .card--blue .card-value,:root[data-style-theme=official] .card--red .card-value,:root[data-style-theme=official] .card--yellow .card-value,:root[data-style-theme=official] .card--purple .card-value,:root[data-style-theme=official] .card--pink .card-value{position:absolute;top:3px;left:3px;margin:0;padding:0 4px;min-width:16px;font-size:1rem;line-height:1.25;text-align:center;color:var(--card-accent);background:#fffdf5eb;border:1px solid var(--card-accent);border-radius:6px;box-shadow:0 1px 2px #3c2c1440;z-index:2}:root[data-style-theme=official] .card--green .card-suit--logo,:root[data-style-theme=official] .card--blue .card-suit--logo,:root[data-style-theme=official] .card--red .card-suit--logo,:root[data-style-theme=official] .card--yellow .card-suit--logo,:root[data-style-theme=official] .card--purple .card-suit--logo,:root[data-style-theme=official] .card--pink .card-suit--logo{position:absolute;top:4px;right:4px;width:12px;height:12px;font-size:0;z-index:2}:root[data-style-theme=official] .card--tactic{position:relative;background-repeat:no-repeat,no-repeat;background-position:center 30%,center;background-size:82% auto,cover}:root[data-style-theme=official] .card--tactic[data-tactic=joker]{background-image:url(/assets/joker-DaF2Qvib.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=spy]{background-image:url(/assets/spy-DbId3QYT.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=shield]{background-image:url(/assets/shield-Jy8t30Rz.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=blind]{background-image:url(/assets/blind-NVyDQ8BN.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=mud]{background-image:url(/assets/mud-O3vhBDxJ.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=recruiter]{background-image:url(/assets/recruiter-4mzfuX37.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=strategist]{background-image:url(/assets/strategist-6kSojO2t.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=banshee]{background-image:url(/assets/banshee-CElxJNrs.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=traitor]{background-image:url(/assets/traitor-BCWkAt6O.png),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic] .card-value{position:absolute;left:2px;right:2px;bottom:2px;margin:0;padding:1px 2px;font-size:.5rem;font-weight:800;text-transform:uppercase;letter-spacing:.01em;line-height:1.2;text-align:center;color:#5f4a2f;background:#fffdf5ed;border:1px solid #c8961c;border-radius:5px;z-index:2}:root[data-style-theme=official] .card--tactic[data-tactic] .card-suit--tactic{display:none}:root[data-style-theme=official]{--ui-board-a: rgba(126, 176, 78, .97);--ui-board-b: rgba(82, 134, 50, .97)}:root[data-style-theme=official] .board{background:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%3E%3Cg%20fill='none'%20stroke='%23ffffff'%20stroke-width='2'%20stroke-linecap='round'%20opacity='0.26'%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'/%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'%20transform='rotate(120%2032%2032)'/%3E%3Cpath%20d='M32%2032%20C%2031%2019%2050%2018%2045%2033%20C%2042%2043%2032%2041%2034%2033'%20transform='rotate(240%2032%2032)'/%3E%3C/g%3E%3C/svg%3E") center / 156px 156px,radial-gradient(135% 115% at 50% 36%,rgba(160,206,100,.5),transparent 62%),radial-gradient(125% 108% at 50% 52%,transparent 50%,rgba(22,48,12,.46) 100%),linear-gradient(180deg,#6fac3b,#56892e);border-color:#1c32109e;box-shadow:inset 0 2px 12px #1028096b,inset 0 0 0 1px #ffffff1a,var(--ui-shadow-lg)}:root[data-style-theme=official] .stones .card{width:46px;height:62px;border-radius:9px}:root[data-style-theme=official] .stones .card-value{top:2px;left:2px;min-width:18px;padding:0 4px;font-size:.86rem;line-height:1.3;border-width:1.5px;box-shadow:0 1px 3px #281e0c66}:root[data-style-theme=official] .stones .card-suit--logo{top:2px;right:2px;width:16px;height:16px;border:1.5px solid #ffffff;box-shadow:0 1px 2px #14161a73}.history-panel,.stats-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1200;width:min(560px,92vw);max-height:80vh;margin:0;overflow-y:auto;box-shadow:0 28px 64px #1212126b,0 0 0 1px #00000014}:root[data-style-theme=official] .board:before{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.online-lobby{text-align:left;width:min(520px,94vw);display:flex;flex-direction:column;max-height:88vh;max-height:88dvh;background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}.online-lobby h3,.online-lobby .modal-subtitle,.online-lobby .online-card__title,.online-lobby .online-leaderboard li{color:#2c2218}.online-lobby h3{font-family:Fraunces,serif;font-size:1.35rem;font-weight:700;margin:0;outline:none}.online-lobby .modal-subtitle{font-size:.82rem;opacity:.7;margin:2px 0 10px}.online-card__title--display{font-family:Fraunces,serif;font-size:.98rem;font-weight:700;text-transform:none;letter-spacing:0}.online-lobby__head-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}.online-lobby__status{display:inline-flex;align-items:center;gap:8px}.online-lobby__presence{font-size:.8rem;opacity:.8;display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums}.online-lobby__presence:before{content:"";width:8px;height:8px;border-radius:50%;background:#2e7d32;animation:online-dot-pulse 1.2s ease-in-out infinite}.online-lobby__body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:4px}.online-lobby__foot{border-top:1px solid rgba(44,34,24,.14);padding-top:10px;margin-top:4px}.online-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:linear-gradient(160deg,#f4ebd6,#dca);border:2px solid rgba(44,34,24,.28);box-shadow:inset 0 1px #fff9;font-family:Fraunces,serif;font-weight:700;font-size:.9rem;color:#2c2218}.online-lobby__identity{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:8px 12px;border-radius:12px;background:linear-gradient(170deg,#ffffff8c,#f5ebd773);border:1px solid rgba(44,34,24,.12);font-size:13px;color:#4a443c}.online-lobby__identity strong{color:inherit;font-variant-numeric:tabular-nums}.online-leaderboard__you{font-style:italic;opacity:.75}.online-lobby__seek{margin:4px 0 10px;padding:10px 12px;border-radius:12px;background:#0057b812;border:1px solid rgba(0,87,184,.22)}.online-lobby__seek-title{display:flex;align-items:center;gap:8px;font-family:Fraunces,serif;font-weight:700;font-size:.98rem;color:#1d4f86;margin-bottom:6px}.online-lobby__beacon{width:8px;height:8px;border-radius:50%;background:#1d4f86;animation:online-dot-pulse 1.2s ease-in-out infinite}.online-lobby__seek-note{font-size:.8rem;opacity:.75;margin:4px 0 0}.online-lobby__hint{font-size:.78rem;opacity:.65;margin:0 0 10px}.online-lobby__resume{margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:#ffffff80;border:1px solid rgba(44,34,24,.16)}.online-lobby__resume .online-lobby__actions{margin:10px 0 0}.online-lobby__variant,.online-lobby__minuteur{border:0;padding:0;margin:0 0 14px}.online-lobby__variant .label,.online-lobby__minuteur .label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.65;margin-bottom:6px;padding:0}.online-lobby__variant .mode-toggle,.online-lobby__minuteur .mode-toggle{display:flex;width:100%;flex-wrap:wrap}.online-open-games{margin:4px 0 14px;padding:12px 14px;border-radius:16px;background:linear-gradient(170deg,#f7eeda,#efe2c6);border:1px solid rgba(44,34,24,.22);box-shadow:inset 0 2px 6px #281c0e0f}.online-open-games .online-card__title{margin-bottom:8px;padding-bottom:6px;border-bottom:1px dashed rgba(44,34,24,.18)}.online-lobby__propose{margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:#fff6;border:1px solid rgba(43,42,39,.1)}.online-lobby__propose .online-card__title{margin-bottom:10px}.online-lobby__propose .online-lobby__actions{margin-bottom:0}.online-lobby__banner{background:#d8962024;border:1px solid rgba(166,106,26,.35);color:#6b4a10;border-radius:10px;padding:8px 10px;font-size:.82rem;margin:0 0 8px}.online-open-games__empty{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:.85rem;opacity:.7;margin:6px 0 0;padding:16px;border:1px dashed rgba(44,34,24,.22);border-radius:12px}.online-open-games__glyph{font-size:1.3rem;opacity:.7}.online-open-games__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.open-game-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;align-items:center;gap:2px 10px;padding:10px 12px;border-radius:12px;background:linear-gradient(170deg,#fffdf6eb,#f6ecd8d9);border:1px solid rgba(44,34,24,.14);box-shadow:0 2px 5px #281c0e14,inset 0 1px #ffffffb3;transition:transform .16s ease,box-shadow .16s ease}.open-game-row:hover{transform:translateY(-1px);box-shadow:0 4px 9px #281c0e1f,inset 0 1px #ffffffb3}@media (prefers-reduced-motion: no-preference){@keyframes lobby-slip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.open-game-row{animation:lobby-slip-in .22s ease backwards}}.open-game-row .online-avatar{grid-column:1;grid-row:1 / 3}.open-game-row__host{grid-column:2;grid-row:1;font-size:.92rem;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-game-row__host strong{font-variant-numeric:tabular-nums}.open-game-row__age{grid-column:2;grid-row:2;font-size:.72rem;opacity:1;color:#6a5f49;font-variant-numeric:tabular-nums}.open-game-row__badges{display:flex;gap:6px;grid-column:3;grid-row:1 / 3;align-self:center}.open-game-badge{font-size:.72rem;padding:2px 8px;border-radius:999px;background:#2c221814;color:#2c2218;white-space:nowrap}.open-game-badge--tactics{background:#c8402a1f;color:#8a2c1a;border:1px solid rgba(200,64,42,.25)}.open-game-badge--timer{background:#0057b81f;color:#1d4f86;border:1px solid rgba(0,87,184,.22)}.open-game-row__join{grid-column:4;grid-row:1 / 3;align-self:center;flex-shrink:0;padding:7px 16px;font-size:.85rem;min-width:84px}.online-lobby__actions{align-items:center;gap:12px;margin-bottom:8px}.online-lobby__searching{font-weight:600;opacity:1;color:#4a4339}.online-lobby button{min-height:44px}.online-lobby .mode-toggle button{padding:5px 12px;font-size:.8rem}.online-lobby__host{width:100%}:root[data-style-theme] .online-lobby .online-lobby__host{background:linear-gradient(180deg,#a8718f,#7c3e63);color:#fff;border-color:#5c2f4a}:root[data-style-theme] .online-lobby .online-lobby__host:hover{background:linear-gradient(180deg,#b27e9b,#864569)}.online-lobby__ranking{background:#00000009;border-radius:10px;padding:10px 14px;margin-bottom:14px}.online-lobby .online-leaderboard{margin:8px 0 0;padding:0;list-style:none}.online-lobby .online-leaderboard li{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:3px 0;font-size:.9rem}.online-lobby .online-leaderboard li.online-empty{display:block}.rank-medal{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-family:Fraunces,serif;font-weight:700;font-size:.7rem;box-shadow:inset 0 1px #ffffff80}.rank-medal--1{background:linear-gradient(160deg,#e8b54a,#c8861c);color:#3d2c08}.rank-medal--2{background:linear-gradient(160deg,#d6d8da,#9aa0a6);color:#2b2e31}.rank-medal--3{background:linear-gradient(160deg,#cf9460,#a86a3a);color:#38200e}.rank-plain{width:20px;text-align:center;font-size:.75rem;opacity:.55;font-variant-numeric:tabular-nums}.online-leaderboard__name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-leaderboard__record{font-size:.72rem;opacity:.6;white-space:nowrap;font-variant-numeric:tabular-nums}.online-leaderboard__rating{font-weight:700;font-variant-numeric:tabular-nums}.online-lobby .online-leaderboard li.online-leaderboard__me{background:#c8402a14;border-radius:8px;padding:3px 8px;margin:0 -8px}.online-lobby .online-note{font-size:.78rem;opacity:.7;margin:0 0 10px}@media (max-width: 480px){.online-lobby{padding:14px}.online-lobby__minuteur .mode-toggle{display:grid;grid-template-columns:repeat(3,1fr)}.open-game-row{grid-template-columns:28px minmax(0,1fr) auto}.open-game-row .online-avatar{width:28px;height:28px;font-size:.8rem;grid-row:1 / 4}.open-game-row__badges{grid-row:2;grid-column:2}.open-game-row__age{grid-row:3;grid-column:2}.open-game-row__join{grid-row:1 / 4;grid-column:3}}.app--home{min-height:100vh}.mode-select{min-height:100vh;display:flex;flex-direction:column;padding:18px clamp(16px,5vw,48px) 40px;box-sizing:border-box}.mode-select__top{display:flex;justify-content:flex-end}.mode-select__lang{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem}.mode-select__lang select{padding:4px 8px}.mode-select__main{flex:1;display:flex;align-items:center;justify-content:center}.mode-select__panel{width:min(660px,100%);text-align:center;padding:clamp(26px,4vw,40px) clamp(20px,4vw,40px) clamp(20px,3vw,30px);border-radius:26px;background:linear-gradient(168deg,#fffdf7f7,#f4ebd9f2);border:1px solid rgba(120,92,56,.28);box-shadow:0 30px 70px #1e140a6b,inset 0 1px #fff9;animation:ui-pop-in var(--dur-base, .22s) var(--ease-out, ease-out)}.mode-select__eyebrow{margin:0 0 4px;text-transform:uppercase;letter-spacing:.22em;font-size:.72rem;font-weight:700;color:#9a6a35}.mode-select__title{margin:0 0 6px;font-size:clamp(1.8rem,5vw,2.7rem);line-height:1.05;color:#2c2218}.mode-select__subtitle{margin:0 auto 22px;max-width:42ch;color:#6b5a44;font-size:.98rem}.mode-select__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,2vw,16px)}.mode-card{display:flex;align-items:center;gap:14px;text-align:left;padding:16px;border-radius:16px;border:1px solid rgba(120,92,56,.22);border-left:4px solid var(--mode-accent, #b9925a);background:linear-gradient(180deg,#fffdf8,#f7efdd);cursor:pointer;transition:transform var(--dur-base, .15s) var(--ease-out, ease-out),box-shadow var(--dur-base, .15s) var(--ease-out, ease-out),border-color var(--dur-base, .15s) var(--ease-out, ease-out)}.mode-card:hover{transform:translateY(-3px);box-shadow:0 14px 26px #281c0e38;border-color:var(--mode-accent, #b9925a)}.mode-card:active{transform:translateY(-1px)}.mode-card:focus-visible{outline:3px solid var(--mode-accent, #b9925a);outline-offset:2px}.mode-card__icon{flex:0 0 auto;width:46px;height:46px;display:grid;place-items:center;font-size:1.45rem;border-radius:13px;background:var(--mode-accent-soft, rgba(185, 146, 90, .16));box-shadow:inset 0 0 0 1px #785c382e}.mode-card__body{display:flex;flex-direction:column;gap:2px;min-width:0}.mode-card__title{font-size:1.1rem;font-weight:700;color:#2c2218}.mode-card__desc{font-size:.84rem;line-height:1.32;color:#6b5a44}.mode-card__chevron{margin-left:auto;font-size:1.1rem;color:var(--mode-accent, #b9925a);opacity:0;transform:translate(-4px);transition:opacity var(--dur-base, .15s),transform var(--dur-base, .15s)}.mode-card:hover .mode-card__chevron{opacity:1;transform:translate(0)}.mode-card--solo{--mode-accent: #3f7d3a;--mode-accent-soft: rgba(63, 125, 58, .15)}.mode-card--hotseat{--mode-accent: #b8862f;--mode-accent-soft: rgba(184, 134, 47, .16)}.mode-card--online{--mode-accent: #c2553d;--mode-accent-soft: rgba(194, 85, 61, .15)}.mode-card--tournament{--mode-accent: #3d6ec2;--mode-accent-soft: rgba(61, 110, 194, .15)}.mode-select__learn{margin-top:20px}@media (max-width: 540px){.mode-select__grid{grid-template-columns:1fr}.mode-card__desc{font-size:.82rem}}.play-hint{text-align:center;margin:10px auto 2px;font-weight:600;opacity:.95}:root[data-style-theme=official] .play-hint{display:inline-block;padding:6px 16px;border-radius:999px;background:#fffdf7d9;color:#4a3a26;border:1px solid rgba(120,92,56,.22);box-shadow:0 2px 8px #1e140a29}:root[data-style-theme=official] .topbar-copy h1{color:#f7edd6;text-shadow:0 2px 5px rgba(0,0,0,.6),0 1px 0 rgba(0,0,0,.45)}:root[data-style-theme=official] .topbar-copy .subtitle{color:#f7edd6eb;text-shadow:0 1px 4px rgba(0,0,0,.55)}:root[data-style-theme=official] .topbar-copy .eyebrow{color:#f7edd6b8;text-shadow:0 1px 3px rgba(0,0,0,.5)}:root[data-style-theme=official] .topbar-signed-in{color:#f7edd6d9!important;text-shadow:0 1px 3px rgba(0,0,0,.5)}.rules-modal,.ai-modal{width:min(440px,92vw);text-align:left;background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}.rules-modal__goal{margin:2px 0 16px;color:#6b5a44;font-size:.95rem;line-height:1.45}.rules-modal__section h4{margin:0 0 8px;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:#9a6a35}.rules-modal__formations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.rules-modal__formations li{display:flex;align-items:center;gap:11px;font-size:.92rem;color:#3a2e1f}.rules-rank{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;font-size:.78rem;font-weight:700;color:#fff;background:#b9925a}.rules-modal__formations li:nth-child(1) .rules-rank{background:#3f7d3a}.rules-modal__formations li:nth-child(2) .rules-rank{background:#6b8f3a}.rules-modal__formations li:nth-child(3) .rules-rank{background:#b8862f}.rules-modal__formations li:nth-child(4) .rules-rank{background:#c08a4a}.rules-modal__formations li:nth-child(5) .rules-rank{background:#b06a3a}.ai-modal__field{display:flex;flex-direction:column;gap:8px;font-weight:600;margin:4px 0 8px}.ai-modal__field input[type=range]{width:100%}.settings-modal,.ai-modal{width:min(440px,92vw);text-align:left;background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}.settings-modal__group{display:flex;flex-direction:column;gap:7px;margin:0 0 16px}.settings-modal__group .label{font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;color:#9a6a35;font-weight:700}.settings-modal__group .mode-toggle{display:flex;flex-wrap:wrap;gap:8px}.ai-modal__debug{margin:6px 0 10px;padding:10px 12px;border-radius:12px;background:#785c3814;font-size:.85rem;color:#5a4a36}.ai-modal__debug p{margin:0 0 6px}.online-lobby__elapsed{font-variant-numeric:tabular-nums;opacity:.6;font-size:.92em}.insight-modal{width:min(440px,92vw);text-align:left;background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}.insight-modal__status{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 14px;padding:10px 14px;border-radius:12px;background:#785c3814}.insight-modal__status>div{display:flex;flex-direction:column;gap:2px}.insight-modal__status .label{font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:#9a6a35;font-weight:700}.insight-modal__status .value{font-size:1.1rem;font-weight:700;color:#2c2218}.panel-btn span[aria-hidden]{margin-right:2px}.online-lobby__alone{margin:8px 0 0;font-size:.85rem;color:#8a6a45;text-align:center}.settings-modal__toggles{display:flex;gap:8px;flex-wrap:wrap}.current-game{display:inline-flex;align-items:center;gap:4px;font-size:.86rem;font-weight:600;color:#6b5a44;padding:4px 0}:root[data-style-theme=official] .current-game{color:#f7edd6d9;text-shadow:0 1px 3px rgba(0,0,0,.5)}.current-game__variant{opacity:.8}.time-banks{display:flex;align-items:center;gap:6px;margin-top:4px}.time-banks__label{font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.time-banks__pips{display:inline-flex;gap:3px}.time-bank-pip{width:9px;height:9px;border-radius:50%;display:inline-block}.time-bank-pip--full{background:#3f7d3a;box-shadow:inset 0 0 0 1px #00000026}.time-bank-pip--spent{background:#785c3838}.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}.game-actions>button,.game-actions>a{width:100%;box-sizing:border-box;text-align:center;justify-content:center}.game-actions>:last-child:nth-child(odd){grid-column:1 / -1}@media (max-width: 420px){.game-actions{grid-template-columns:1fr}.game-actions>:last-child:nth-child(odd){grid-column:auto}}:root[data-style-theme] .controls>.action-row.game-actions{grid-template-columns:repeat(2,minmax(0,1fr))}:root[data-style-theme] .controls>.action-row.game-actions>:last-child:nth-child(odd){grid-column:1 / -1}@media (max-width: 420px){:root[data-style-theme] .controls>.action-row.game-actions{grid-template-columns:1fr}:root[data-style-theme] .controls>.action-row.game-actions>:last-child:nth-child(odd){grid-column:auto}}.admin-app{max-width:1100px;margin:0 auto;padding:20px;color:#2c2218}.admin-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}.admin-head h1{font-family:Fraunces,serif;margin:0}.admin-gate{max-width:460px;margin:10vh auto;padding:20px;border-radius:14px;background:linear-gradient(165deg,#fffdf7,#f3ead7);border:1px solid rgba(44,34,24,.2)}.admin-section{margin:0 0 22px;padding:14px;border-radius:14px;background:linear-gradient(165deg,#fffdf7,#f3ead7);border:1px solid rgba(44,34,24,.18);overflow-x:auto}.admin-section h2{font-family:Fraunces,serif;font-size:1.05rem;margin:0 0 10px}.admin-muted{font-family:inherit;font-size:.75rem;font-weight:400;opacity:.6}.admin-empty{font-size:.9rem;opacity:.65;margin:4px 0}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.6;padding:4px 8px;border-bottom:1px solid rgba(44,34,24,.18)}.admin-table td{padding:6px 8px;border-bottom:1px solid rgba(44,34,24,.08);white-space:nowrap;font-variant-numeric:tabular-nums}.admin-status{padding:1px 8px;border-radius:999px;font-size:.72rem}.admin-status--live{background:#2e7d3226;color:#1d5b22}.admin-status--completed{background:#2c221814}.admin-status--orphaned{background:#d896202e;color:#6b4a10}.admin-more{margin-top:10px}.mode-select__admin-link{position:fixed;top:14px;right:170px;z-index:149;font-size:12px;text-decoration:none;opacity:.75}.mode-select__admin-link:hover{opacity:1}.online-lobby__rename{display:inline-flex;align-items:center;gap:6px;flex:1}.online-lobby__rename-input{flex:1;min-width:0;padding:6px 10px;border-radius:8px;border:1px solid rgba(44,34,24,.3);font-size:13px}.online-lobby .online-lobby__rename-save{min-height:32px;padding:4px 12px;font-size:.8rem}.online-lobby .online-lobby__rename-btn{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 8px;margin-left:6px;font-size:.8rem;border:none;background:transparent;cursor:pointer;opacity:.85}.online-lobby .online-lobby__rename-btn:hover{opacity:1}.online-lobby__recent{margin:4px 0 14px;padding:10px 14px;border-radius:12px;background:#00000008;border:1px solid rgba(44,34,24,.1)}.online-recent__list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.online-recent__row{display:flex;align-items:baseline;gap:8px;font-size:.85rem}.online-recent__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.online-recent__meta{font-size:.75rem;opacity:.6;font-variant-numeric:tabular-nums}.replay-board{color:#2c2218}.replay-board__controls{display:flex;align-items:center;gap:8px;margin-bottom:6px}.replay-board__slider{flex:1}.replay-board__caption{font-size:.85rem;font-variant-numeric:tabular-nums;margin:0 0 10px;opacity:.85}.replay-board__stones{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;margin:8px 0}.replay-stone{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;border-radius:10px;background:linear-gradient(170deg,#f7eeda,#efe2c6);border:1px solid rgba(44,34,24,.18);min-height:120px}.replay-stone--claimed-0{box-shadow:inset 0 0 0 2px #c8402a80}.replay-stone--claimed-1{box-shadow:inset 0 0 0 2px #0057b880}.replay-stone__side{display:flex;flex-direction:column;gap:2px;min-height:44px;justify-content:flex-end}.replay-stone__side--north{justify-content:flex-start}.replay-stone__pebble{font-size:.8rem;font-weight:700;opacity:.8}.replay-card{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:22px;padding:0 4px;border-radius:4px;font-size:.72rem;font-weight:700;color:#fff;background:#777;font-variant-numeric:tabular-nums}.replay-card--red{background:#c0392b}.replay-card--blue{background:#2563a8}.replay-card--green{background:#2e7d32}.replay-card--yellow{background:#b8860b}.replay-card--pink{background:#c2548e}.replay-card--purple{background:#6b4fa0}.replay-card--tactic{background:#4a443c}.replay-board__hand{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin:4px 0}.replay-board__hand-label{font-size:.78rem;opacity:.7;margin-right:6px}.replay-board__meta{font-size:.8rem;opacity:.75;margin:8px 0 0}@media (max-width: 640px){.replay-board__stones{grid-template-columns:repeat(9,minmax(30px,1fr));overflow-x:auto}.replay-card{min-width:14px;height:18px;font-size:.62rem}}.admin-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.admin-filters select,.admin-filters input{padding:5px 8px;border-radius:8px;border:1px solid rgba(44,34,24,.25);font-size:.82rem}.account-menu__avatar--anon{background:#8a8178}.app--auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}.ongoing-bar{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:41;width:min(560px,100%);display:flex;flex-direction:column;background:#1c1a17f5;color:#f3ece0;border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:12px 12px 0 0;box-shadow:0 -6px 24px #00000047;font-size:.86rem;overflow:hidden}.ongoing-bar__handle{display:flex;align-items:center;gap:10px;width:100%;padding:10px 16px;background:transparent;border:none;color:inherit;cursor:pointer;font-size:inherit}.ongoing-bar__handle-icon{font-size:1.1rem}.ongoing-bar__handle-count{font-weight:600}.ongoing-bar__badge{font-size:.74rem;font-weight:700;padding:2px 9px;border-radius:999px;background:var(--t-heather, #8a6fb0);color:#fff}.ongoing-bar__badge--pulse{animation:ongoing-pulse 1.1s ease-out 1}@keyframes ongoing-pulse{0%{box-shadow:0 0 #8a6fb0a6}to{box-shadow:0 0 0 12px #8a6fb000}}.ongoing-bar__chevron{margin-left:auto;opacity:.7;font-size:.72rem}.ongoing-bar__list{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:4px;max-height:45vh;overflow-y:auto;border-bottom:1px solid rgba(255,255,255,.1)}.ongoing-bar__row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff0d}.ongoing-bar__row--your-turn{background:#8a6fb038}.ongoing-bar__tag{font-size:1.05rem}.ongoing-bar__meta{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.ongoing-bar__label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ongoing-bar__turn{font-size:.76rem;opacity:.82}.ongoing-bar__resume{white-space:nowrap;padding:6px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#f3ece0;cursor:pointer;font-size:.8rem}.ongoing-bar__resume--play{border-color:transparent;background:var(--t-heather, #8a6fb0);color:#fff;font-weight:600}.ongoing-bar__resume:hover{filter:brightness(1.1)}.ongoing-bar__elo{opacity:.62;font-weight:400}.ongoing-bar__countdown{font-variant-numeric:tabular-nums}.ongoing-bar__row--your-turn .ongoing-bar__countdown{color:#ffd9a3}body.has-ongoing-bar .app,body.has-ongoing-bar .mode-select,body.has-ongoing-bar .tournament-app,:root[data-style-theme] body.has-ongoing-bar .app,:root[data-style-theme] body.has-ongoing-bar .mode-select,:root[data-style-theme] body.has-ongoing-bar .tournament-app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.ongoing-bar__row--current{opacity:.66}.ongoing-bar__current-tag{font-size:.74rem;font-weight:700;color:#ffd9a3;white-space:nowrap}.game-menu-modal{width:min(480px,94vw);background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}:root[data-style-theme] .game-menu-modal{background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218}.game-menu__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.game-menu__grid .mode-card{padding:10px 12px}.game-menu__grid .mode-card__icon{font-size:1.2rem}.game-menu__row{justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.opponent-left-banner{background:#7b5b7a24;border:1px solid rgba(123,91,122,.35);color:#5a4a5e;border-radius:10px;padding:9px 14px;font-size:.92rem;text-align:center}:root[data-style-theme] .opponent-left-banner{color:#d8c7df;background:#7b5b7a38}.ongoing-bar__new{list-style:none}.ongoing-bar__new-btn{width:100%;padding:9px 10px;border-radius:8px;border:1px dashed rgba(255,255,255,.28);background:transparent;color:#f3ece0;cursor:pointer;font-size:.84rem}.ongoing-bar__new-btn:hover{background:#ffffff0f}.controls--under-board{max-width:none;margin:2px auto 6px}.game-actions--under-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.game-actions--under-board>:last-child:nth-child(odd){grid-column:1 / -1}@media (max-width: 420px){.game-actions--under-board{grid-template-columns:1fr}.game-actions--under-board>:last-child:nth-child(odd){grid-column:auto}}.game-info-header{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:480px;margin:0 auto;padding:10px 16px;border-radius:16px;background:linear-gradient(165deg,#fffdf7,#f3ead7);color:#2c2218;border:1px solid rgba(120,92,56,.28);box-shadow:0 10px 22px #14131238}.game-info-header:empty{display:none}.game-info-header .current-game{text-align:center;font-size:1.02rem;font-weight:700;letter-spacing:.01em;color:#4a3a24;padding:0}.game-info-header .current-game__variant{font-weight:500;opacity:.78}.game-info-header .solo-timer{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;margin:0;padding:0}.game-info-header .timer-display{font-size:1.45rem;padding:4px 12px;color:#2c2218}.game-info-header .timer-meta{letter-spacing:.12em}.game-info-header .timer-meta,.game-info-header .time-banks__label{color:#6b5a44;opacity:1}:root[data-style-theme=official] .game-info-header .current-game{color:#4a3a24;text-shadow:none}:root[data-style-theme=official] .game-info-header .timer-meta,:root[data-style-theme=official] .game-info-header .time-banks__label{color:#6b5a44;text-shadow:none}:root[data-style-theme] .app:not(.app--landing) .game-info-header{order:-25;margin-top:0}
