: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);--page-narrow: 460px;--page-content: 700px;--page-wide: 1000px;--page-card-pad: 28px 28px 30px}@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}}@media (hover: hover) and (pointer: fine){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:#ece6da;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{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:not(.tournament-app){padding-top:max(32px,env(safe-area-inset-top,0px))}.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}.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:var(--page-narrow);margin:clamp(24px,8vh,72px) auto 64px;padding:36px 34px;display:flex;flex-direction:column;gap:14px;border:1px solid rgba(74,52,24,.5);border-radius:20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.auth-page h1{margin:0;font-family:Fraunces,serif;font-size:1.9rem;line-height:1.1}.auth-body{margin:0;color:#2b2a27d1;line-height:1.5}.auth-page form{display:flex;flex-direction:column;gap:6px;margin-top:0}.auth-page label{font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:#5a5347}.auth-page input{width:100%;font-size:1rem;height:46px;padding:0 14px;border-radius:12px;background:#ffffffd1;border:1px solid rgba(43,42,39,.2);box-shadow:inset 0 1px 2px #1c1b1914}.auth-page input:focus{border-color:var(--accent);background:#fff;box-shadow:inset 0 1px 2px #1c1b190f}.auth-page input:focus-visible{box-shadow:var(--focus-ring),inset 0 1px 2px #1c1b190f}.auth-page button[type=submit]{margin-top:14px;padding:13px 16px;min-height:44px;border:none;border-radius:12px;font-weight:700;font-size:1rem;color:#fff;background:linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:inset 0 1px #ffffff40,0 1px 2px #1c1b191f,0 10px 22px -12px #d45d4cb3;transition:box-shadow .16s ease,transform .12s ease,background .16s ease}.auth-page button[type=submit]:hover:not(:disabled){transform:translateY(-1px);box-shadow:inset 0 1px #ffffff40,0 2px 4px #1c1b1924,0 16px 30px -14px #d45d4cd9}.auth-page button[type=submit]:active:not(:disabled){transform:translateY(0)}.auth-page button[type=submit]:focus-visible{outline:none;box-shadow:var(--focus-ring),0 10px 22px -12px #d45d4cb3}.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:11px 16px;min-height:44px;font-weight:600}.auth-sent button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.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:#d8962033;color:#6b4a10;border-color:#a66a1a57}.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,.game-chat{display:flex;flex-direction:column;gap:6px}.game-chat__list{list-style:none;margin:0;padding:4px 0;max-height:180px;overflow-y:auto;display:flex;flex-direction:column;gap:4px;font-size:13px}.game-chat__empty{color:var(--muted, #8a7c5e);font-style:italic}.game-chat__msg{line-height:1.35;word-break:break-word}.game-chat__msg--me{text-align:right}.game-chat__author{font-weight:700;margin-right:6px}.game-chat__msg--me .game-chat__author{margin-right:0;margin-left:6px}.game-chat__form{display:flex;gap:6px}.game-chat__input{flex:1;min-width:0;padding:6px 9px;border-radius:8px;border:1px solid rgba(44,34,24,.22);background:#fdf8ec;color:#2c2218;font-size:13px}.game-chat__send{padding:6px 12px}.game-chat__signin,.game-chat__error{font-size:12px;color:var(--muted, #8a7c5e);margin:2px 0 0}.game-chat__error{color:#b3401f}.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)}.opponent-zone .ai-level-badge{display:inline-block;margin:0 0 14px 10px;vertical-align:middle;padding:2px 10px;border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#8a3325;background:#d45d4c1f;border:1px solid rgba(212,93,76,.32)}.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:#8a5e12;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 24px;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;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));z-index:200}body.has-ongoing-bar .modal-backdrop{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.modal{width:min(440px,92vw);margin:auto;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)}:root[data-style-theme=official] .modal{border-color:#4a341880;box-shadow:0 18px 40px #14131247,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.game-over-panel{width:min(640px,100%);margin:0 auto 12px;padding:16px;border-radius:12px;text-align:center;box-shadow:0 2px 10px #0000001f}.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)}.winner-modal--draw{border-top:5px solid var(--parchment-border, #8c7a5a);box-shadow:0 30px 60px #1c1b1952,0 0 0 1px #8c7a5a38}.winner-modal--draw h3{color:var(--ink, #3a3224)}.winner-modal__accuracy{min-height:218px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin:4px 0 12px}.winner-modal__accuracy--loading{color:var(--ink-muted, #6b6152);font-style:italic}.winner-modal__accuracy-head{display:flex;align-items:baseline;gap:10px}.winner-modal__accuracy-title{font-weight:600;letter-spacing:.02em;text-transform:uppercase;font-size:.8rem;color:var(--ink-muted, #6b6152)}.winner-modal__accuracy-partial{font-size:.72rem;color:var(--clan-north, #b45309);border:1px solid currentColor;border-radius:999px;padding:1px 8px}.winner-modal__accuracy-players{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.winner-modal__accuracy-player{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px}.winner-modal__accuracy-player--you .winner-modal__accuracy-name,.winner-modal__accuracy-player--you .winner-modal__accuracy-pct{font-weight:700}.winner-modal__accuracy-name{font-size:.85rem}.winner-modal__accuracy-pct{font-size:1.35rem;font-weight:600}.winner-modal__accuracy-counts{list-style:none;margin:0;padding:0;display:flex;gap:8px;font-size:.72rem}.winner-modal__accuracy-counts li{display:inline-flex;align-items:center;gap:3px}.winner-rating-change{display:inline-flex;align-items:baseline;gap:8px;margin:0 0 16px;padding:6px 14px;border-radius:999px;background:#2b2a270f}.winner-rating-change__label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#2b2a27a6}.winner-rating-change__value{font-variant-numeric:tabular-nums;font-weight:700;font-size:1.05rem;color:var(--ink)}.winner-rating-change--up .winner-rating-change__value{color:#1a7f37}.winner-rating-change--down .winner-rating-change__value{color:#b3261e}.hotseat-modal{text-align:center}.modal-subtitle{margin:8px 0 16px;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{margin:20px 0 10px;padding:14px 16px;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){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{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{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))}.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;justify-content:space-between;padding:5px 0}.card-value{width:32px;height:32px;font-size:1.1rem}.legend,.app-footer{display:none}.hub .app-footer{display:flex}.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:54px;height:76px}.card-value{width:34px;height:34px;font-size:1.1rem}.stones{gap:4px}.cards{gap:2px}.stones .card{width:34px;height:50px}.stones .card-value{width:22px;height:22px;font-size:.85rem}.stones .card-suit{font-size:.56rem}}@media (max-width: 420px){.card{width:52px;height:72px}.card-value{width:32px;height:32px;font-size:1.05rem}.cards{min-height:0;gap:2px}.stones .card{width:32px;height:46px}.stones .card-value{width:20px;height:20px;font-size:.78rem}.stones .card-suit{font-size:.5rem}}: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,.opponent-zone h2,.player-zone h2,.recruiter-panel h3,.draw-panel h3{letter-spacing:-.015em}.app{max-width:1280px;gap:36px}.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}.install-grid{gap:16px}.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}.install-card:hover{transform:translateY(-4px);border-color:#1f1a1642;box-shadow:0 20px 32px #1d17112e,inset 0 1px #ffffffe0}.install-grid .install-card:nth-child(2){animation-delay:.08s}.install-grid .install-card:nth-child(3){animation-delay:.14s}@keyframes cardRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.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,.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{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{padding:14px 16px}.footer-label{color:#1f1a1694}.online-pill--connected,.online-pill--waiting{background:#d8962033;color:#6b4a10}.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: 640px){body:after{opacity:.6;filter:blur(8px)}.app{gap:18px}.install-card,.controls,.online-panel,.board,.support-panel{box-shadow:0 12px 20px #1d171124,inset 0 1px #ffffffdb}}.controls-row{align-items:center}: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] .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] .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] .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] .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] .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] .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] .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] .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}.controls,.online-panel,.board,.support-panel,.rules-panel,.legend,.app-footer{border-radius:16px}.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,.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:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.modal{width:100%;max-width:420px;border-radius:16px;padding:16px}}@media (max-width: 420px){.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: #26201a;--ui-text-muted: #6a5f49;--ui-text-inverse: #fff5ea;--ui-bg-top: #f8f3ea;--ui-bg-mid: #efe6d4;--ui-bg-bottom: #e7ddc7;--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: #f5f0e8;--ui-surface-lo: #ece2cd;--ui-surface-alt-hi: #f6eede;--ui-surface-alt-lo: #ece2cd;--ui-border-soft: #e6dcc4;--ui-border-strong: #d8ccae;--ui-shadow-md: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42, 36, 23, .26);--ui-shadow-lg: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42, 36, 23, .4);--ui-shadow-inset: inset 0 1px 0 #fff7e8;--ui-primary-a: #bb4329;--ui-primary-b: #e16a3a;--ui-primary-shadow: 0 12px 22px rgba(172, 66, 40, .3);--ui-ghost-a: rgba(250, 247, 240, .72);--ui-ghost-b: rgba(236, 226, 205, .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: #26201a;--ui-text-muted: rgba(106, 95, 73, .95);--ui-bg-top: #f8f3ea;--ui-bg-mid: #efe6d4;--ui-bg-bottom: #e7ddc7;--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(245, 240, 232, .97);--ui-surface-lo: rgba(236, 226, 205, .95);--ui-surface-alt-hi: rgba(246, 238, 222, .97);--ui-surface-alt-lo: rgba(236, 226, 205, .95);--ui-border-soft: rgba(216, 204, 174, .9);--ui-border-strong: rgba(190, 174, 138, .95);--ui-shadow-md: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42, 36, 23, .26);--ui-shadow-lg: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42, 36, 23, .4);--ui-shadow-inset: inset 0 1px 0 #fff7e8;--ui-primary-a: #ef4f2c;--ui-primary-b: #ff8a3a;--ui-primary-shadow: 0 14px 24px rgba(206, 70, 30, .34);--ui-ghost-a: rgba(245, 240, 232, .92);--ui-ghost-b: rgba(236, 226, 205, .9);--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: #26201a;--ui-text-muted: #6a5f49;--ui-bg-top: #f8f3ea;--ui-bg-mid: #efe6d4;--ui-bg-bottom: #e7ddc7;--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(250, 247, 240, .96);--ui-surface-lo: rgba(245, 240, 232, .94);--ui-surface-alt-hi: rgba(246, 238, 222, .96);--ui-surface-alt-lo: rgba(236, 226, 205, .94);--ui-border-soft: #e6dcc4;--ui-border-strong: #d8ccae;--ui-shadow-md: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42, 36, 23, .26);--ui-shadow-lg: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42, 36, 23, .4);--ui-shadow-inset: inset 0 1px 0 #fff7e8;--ui-primary-a: #0f6f97;--ui-primary-b: #1486b5;--ui-primary-shadow: 0 8px 16px rgba(15, 111, 151, .24);--ui-ghost-a: #f5f0e8;--ui-ghost-b: #ece2cd;--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: #26201a;--ui-text-muted: #6a5f49;--ui-text-inverse: #fdf8f0;--ui-bg-top: #f6ecd6;--ui-bg-mid: #ecdfc2;--ui-bg-bottom: #ddceac;--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: #faf7f0;--ui-surface-lo: #f5f0e8;--ui-surface-alt-hi: #f6eede;--ui-surface-alt-lo: #ece2cd;--ui-border-soft: #e6dcc4;--ui-border-strong: #d8ccae;--ui-shadow-md: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42, 36, 23, .26);--ui-shadow-lg: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42, 36, 23, .4);--ui-shadow-inset: inset 0 1px 0 #fff7e8;--ui-primary-a: #7a4c10;--ui-primary-b: #a86820;--ui-primary-shadow: 0 12px 22px rgba(100, 64, 14, .35);--ui-ghost-a: rgba(250, 247, 240, .78);--ui-ghost-b: rgba(236, 226, 205, .78);--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: #26201a;--ui-text-muted: #6a5f49;--ui-text-inverse: #fff6e8;--ui-bg-top: #f8f3ea;--ui-bg-mid: #efe6d4;--ui-bg-bottom: #e7ddc7;--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: #f5f0e8;--ui-surface-lo: #ece2cd;--ui-surface-alt-hi: #f6eede;--ui-surface-alt-lo: #ece2cd;--ui-border-soft: #e6dcc4;--ui-border-strong: #d8ccae;--ui-shadow-md: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42, 36, 23, .26);--ui-shadow-lg: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42, 36, 23, .4);--ui-shadow-inset: inset 0 1px 0 #fff7e8;--ui-primary-a: #c8402a;--ui-primary-b: #e8662f;--ui-primary-shadow: 0 12px 22px rgba(180, 56, 30, .34);--ui-ghost-a: #f5f0e8;--ui-ghost-b: #ece2cd;--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] .install-card,: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{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] .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] .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)}:root[data-style-theme]{--pro-radius-sm: 10px;--pro-radius-md: 12px;--pro-radius-lg: 16px;--pro-radius-xl: 20px}: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] .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] .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] .hero-board{border-radius:var(--pro-radius-lg)}: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{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] .rules-panel,:root[data-style-theme] .legend,:root[data-style-theme] .support-panel,:root[data-style-theme] .app-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] .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: 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] .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}}: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{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){box-shadow:0 12px 20px #13110e3d}:root[data-style-theme] button.card:active:not(:disabled){transform:translateY(0)}: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--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}@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;justify-content:space-between;padding:5px 0}: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-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:30px;height:42px;border-radius:6px;padding:3px 1px;gap:2px}:root[data-style-theme] .stones .card-value{font-size:.72rem}:root[data-style-theme] .stones .card-suit--logo{width:10px;height:10px;font-size:.38rem}:root[data-style-theme] .stones .card-suit--tactic{font-size:.3rem;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:28px;height:38px}}: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: 520px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{grid-template-columns:repeat(6,44px);justify-content:center;gap:4px}:root[data-style-theme] .player-zone .hand .card,:root[data-style-theme] .opponent-zone .hand .card{width:44px;height:64px;min-width:44px;max-width:44px;flex-basis:44px}}@media (max-width: 420px){:root[data-style-theme] .player-zone .hand,:root[data-style-theme] .opponent-zone .hand{grid-template-columns:repeat(6,42px);justify-content:center;gap:3px}: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}}: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}}@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] .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: 520px){: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:30px!important;height:44px!important;min-width:30px!important;max-width:30px!important}}:root[data-style-theme] .topbar{display:grid;gap:16px;align-items:start}:root[data-style-theme] .topbar-copy{max-width:62ch}.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}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__panel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;border-color:#4a341880;box-shadow:0 18px 40px #14131247,inset 0 0 0 1px #d8b43247,inset 0 1px #fff9}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__greeting{color:#6b5a44;border-bottom-color:#4a341829}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__signout{background:#f5f0e8;border-color:#4a341847;color:#2c2218}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__signout:hover:not(:disabled){background:#ece2cd}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__signout--danger{background:linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);border-color:#a5331f;color:#fff}html[data-style-theme=official]:not([data-color-scheme=dark]) .account-menu__signout--danger:hover:not(:disabled){filter:brightness(1.03) saturate(1.03)}: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{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{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) .game-over-panel{order:-21;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}.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}: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] .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:var(--page-wide);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:#ece2cd}.tournament-app button.ghost.danger{color:#7b2f23;border-color:#d45d4c8c}.tournament-app button.ghost.danger:hover{background:#f3d8ce}.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.03);transform:translateY(-1px)}.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:var(--lo-row-hover)}.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:#ece2cd}.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{--lo-ink: #2c2218;--lo-ink-muted: rgba(44, 34, 24, .8);--lo-ink-faint: rgba(44, 34, 24, .42);--lo-paper: #f6efe0;--lo-paper-hi: #fdf8ec;--lo-line: rgba(44, 34, 24, .13);--lo-line-strong: rgba(44, 34, 24, .22);--lo-primary-a: #c8402a;--lo-gold: #b07d1e;--lo-shadow-sm: 0 1px 2px rgba(40, 28, 14, .1);--lo-shadow-md: 0 10px 24px rgba(40, 28, 14, .16);--lo-radius: 12px;position:relative;background:var(--lo-paper);color:var(--lo-ink);padding:11px 16px 11px 18px;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);margin-bottom:14px;display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:13.5px;font-weight:500;line-height:1.3;box-shadow:var(--lo-shadow-md);overflow:hidden}.tournament-match-banner:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--lo-primary-a)}.tournament-match-banner__header{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;min-width:0;flex:1 1 auto}.tournament-match-banner__header>strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:var(--lo-ink);letter-spacing:.01em}.tournament-match-banner__header em{font-style:normal;color:var(--lo-ink-muted);font-weight:500}.tournament-match-banner__header span[aria-hidden=true]{color:var(--lo-ink-faint)}.tournament-match-banner__done{color:#466f12;font-weight:600}.tournament-match-banner__actions{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.tournament-match-banner__abort,.tournament-match-banner__peek{display:inline-flex;align-items:center;justify-content:center;font:600 12px Plus Jakarta Sans,sans-serif;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;border-radius:9px;min-height:30px;padding:6px 12px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink);box-shadow:var(--lo-shadow-sm);transition:background .12s ease,border-color .12s ease,color .12s ease}.tournament-match-banner__abort:hover,.tournament-match-banner__peek:hover{background:#fff;border-color:var(--lo-ink-faint)}.tournament-match-banner__peek{color:var(--lo-primary-a)!important;border-color:#c8402a52;background:#c8402a12;padding:6px 12px!important}.tournament-match-banner__peek:hover{background:#c8402a1f;border-color:#c8402a80;text-decoration:none!important}.tournament-match-banner__abort:focus-visible,.tournament-match-banner__peek:focus-visible{outline:2px solid var(--lo-primary-a);outline-offset:2px}.tournament-match-banner__rank{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:999px;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap;flex-shrink:0;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.tournament-match-banner__rank--leader{background:#b07d1e29;color:#8a6212}.tournament-match-banner__rank--climb{background:#c8402a1f;color:#8a2c1a}@media (max-width: 560px){.tournament-match-banner{gap:7px 10px;padding:10px 12px 10px 14px;font-size:13px}.tournament-match-banner__header{flex:1 1 100%}.tournament-match-banner__header>strong{font-size:15px}.tournament-match-banner__actions{margin-left:auto}}.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:var(--t-heather-wash);color:#7c3e63}.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:var(--page-wide);margin:0 auto;padding:32px 24px 48px}.recap-app__nav{margin-bottom:24px}.recap-app__nav a{display:inline-block;background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:999px;padding:4px 12px;color:var(--ink);text-decoration:none;font-size:14px;transition:background var(--dur-base, .2s) var(--ease-out, ease-out),color var(--dur-base, .2s) var(--ease-out, ease-out)}.recap-app__nav a:hover{background:#ebe1c8f2;color:var(--accent)}.recap-commentary{padding:8px 2px 4px}.recap-commentary__hint,.recap-commentary__empty{color:#7a6f57;font-size:14px;margin:6px 0 12px}.recap-commentary__list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.recap-commentary__note{display:flex;gap:10px;align-items:baseline;padding:8px 12px;border:1px solid #d6c9aa;border-radius:10px;background:#fbf6ea}.recap-commentary__turn{font-weight:700;color:#8a6f3a;font-size:12px;white-space:nowrap}.recap-commentary__body{color:#2a2417;font-size:14px;overflow-wrap:anywhere}.recap-commentary__add{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.recap-commentary__turn-input{width:64px}.recap-commentary__add input{padding:8px 10px;border:1px solid #d6c9aa;border-radius:8px;background:#fff}.recap-commentary__text{flex:1 1 200px}.recap-commentary__add button{padding:8px 14px;border-radius:8px;border:1px solid #d6c9aa;background:#fbf6ea;color:#5b513c;font-weight:700;cursor:pointer}.recap-commentary__share{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e7dcc2}.recap-commentary__vis{color:#7a6f57;font-size:13px}.recap-commentary__sharebtn{padding:6px 12px;border-radius:8px;border:1px solid #d6c9aa;background:#fbf6ea;color:#5b513c;font-weight:700;font-size:13px;cursor:pointer}.recap-commentary__err{color:#9a3b2e;font-size:13px;margin:8px 0 0}.moves-panel__position{margin:4px 0 10px;padding:6px 10px;border-radius:8px;background:#b08a351f;color:#5b513c;font-weight:600;font-size:13px}.shortcuts-modal__list{margin:4px 0 14px;padding:0;display:flex;flex-direction:column;gap:8px}.shortcuts-modal__list>div{display:flex;gap:12px;align-items:baseline}.shortcuts-modal__list dt{flex:0 0 auto;min-width:92px}.shortcuts-modal__list dd{margin:0;color:#5e5440;font-size:14px}.shortcuts-modal__list kbd{display:inline-block;padding:1px 7px;border-radius:6px;border:1px solid #d6c9aa;background:#fbf6ea;color:#3a2708;font:600 12px/1.6 ui-monospace,monospace}.recap-save{margin:8px 0 14px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.recap-save-cta{display:inline-block;padding:9px 16px;border-radius:12px;border:1px solid #d6c9aa;background:#fbf6ea;color:#5b513c;font-weight:700;font-size:14px;cursor:pointer;text-decoration:none}.recap-save-cta[disabled]{opacity:.6;cursor:default}.recap-save__err{color:#9a3b2e;font-size:13px}.recap-train-cta{display:block;width:100%;margin:10px 0 16px;padding:12px 16px;border:1px solid rgba(166,106,26,.4);border-radius:12px;background:linear-gradient(170deg,#efb63f,#d89620);color:#3a2708;font-weight:700;font-size:.95rem;cursor:pointer;box-shadow:0 2px 6px #281c0e24,inset 0 1px #fff6;transition:transform .14s ease,box-shadow .14s ease}.recap-train-cta:hover{transform:translateY(-1px);box-shadow:0 4px 10px #281c0e2e}.tactics-exit{align-self:flex-start;margin-bottom:8px;padding:6px 12px;border:1px solid rgba(44,34,24,.2);border-radius:10px;background:#ffffff80;color:inherit;font-size:.85rem;cursor:pointer}.tactics-exit:hover{background:#ebe1c8f2}.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;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;color:#5b574f;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-class{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;color:#fff}.recap-class--blunder{background:#b3261e}.recap-class--mistake{background:#c0560f}.recap-class--inaccuracy{background:#946a08}.recap-class--solid{background:#4a5d3a}.recap-class--top{background:#2e7d32}.eval-graph{margin:0 0 12px}.eval-graph__svg{display:block;width:100%;height:56px}.eval-graph__bar{fill:#2e7d32}.eval-graph__bar--solid{fill:#6b8f4e}.eval-graph__bar--top{fill:#2e7d32}.eval-graph__bar--inaccuracy{fill:#b8860b}.eval-graph__bar--mistake{fill:#c0560f}.eval-graph__bar--blunder{fill:#b3261e}.eval-graph__bar--key{stroke:#2c2218;stroke-width:.6}.eval-graph__caption{margin:3px 0 0;font-size:11px;color:#5b574f}.eval-graph__bar-hit{cursor:pointer}.eval-graph__bar-hit:focus-visible{outline:2px solid #0057b8;outline-offset:1px}.eval-graph__bar--current{stroke:#0057b8;stroke-width:1.5}.recap-timeline__row--current{background:#0057b81f}.recap-timeline__row--current:is(tr){outline:1px solid rgba(0,87,184,.3)}.recap-turn-detail{border:1px solid rgba(0,0,0,.1);border-radius:4px;padding:8px 12px;margin:0 0 10px;font-size:13px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:38px}.recap-turn-detail--empty{color:#5b574f;font-style:italic}.recap-turn-detail__field{display:flex;gap:4px;align-items:center}.recap-turn-detail__label{font-size:11px;color:#5b574f;text-transform:uppercase;letter-spacing:.03em}.recap-timeline__row--key{background:#7c3e6314}.recap-timeline__keystar{color:#7c3e63;font-size:11px;margin-right:5px}.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:#c8d7e5}.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}}@media (max-width: 640px){.recap-timeline [data-col=value-delta],.recap-timeline [data-col=branch]{display:none}.recap-timeline td{padding:12px 8px}.recap-timeline th{padding:8px}.recap-timeline{overflow-x:hidden}.recap-timeline table{table-layout:fixed;word-break:break-word}.recap-turn-detail{font-size:12px;gap:6px}.recap-turn-detail__label{font-size:10px}.recap-header__title{flex-wrap:wrap;gap:8px}.recap-header__meta{grid-template-columns:1fr}}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}html[data-color-scheme=dark] .recap-turn-detail{border-color:#ffffff1a}html[data-color-scheme=dark] .recap-timeline__row--current{background:#64a0ff26}.recap-performance{margin:0 0 12px;padding:10px 12px;background:#ffffff80;border:1px solid rgba(43,42,39,.12);border-radius:8px}.recap-performance__title{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#5b574f}.recap-performance__players{display:flex;gap:16px;flex-wrap:wrap}.recap-performance__player{display:flex;flex-direction:column;gap:6px;min-width:160px}.recap-performance__name{font-size:13px;font-weight:700}.recap-performance__counts{display:flex;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:0;align-items:center}.recap-performance__counts li{display:flex;align-items:center;gap:3px}.recap-performance__count{font-size:13px;font-weight:700;min-width:16px}.recap-performance__clean-label{font-size:11px;color:#5b574f;text-transform:uppercase;letter-spacing:.03em}@media (max-width: 640px){.recap-performance__players{flex-direction:column;gap:10px}.recap-performance__player{min-width:0}}html[data-color-scheme=dark] .recap-performance{background:#1e1c1880;border-color:#e8e0d426}.recap-jump-nav{display:flex;align-items:center;gap:8px;padding:6px 10px;margin:8px 0;background:#c8b48c1f;border:1px solid rgba(140,110,70,.25);border-radius:4px;font-size:13px;flex-wrap:wrap}.recap-jump-nav__count{flex:1 1 auto;color:#6b5a3e;font-style:italic;font-size:12px}.recap-jump-nav__btn{padding:3px 10px;background:#b4966426;border:1px solid rgba(140,110,70,.4);border-radius:3px;font-family:inherit;font-size:13px;color:#3d2e12;cursor:pointer;transition:background .15s}.recap-jump-nav__btn:hover:not(:disabled){background:#ecddbb}.recap-jump-nav__btn:disabled{opacity:.38;cursor:default}html[data-color-scheme=dark] .recap-jump-nav{background:#1e1c1880;border-color:#e8e0d426}html[data-color-scheme=dark] .recap-jump-nav__count{color:#b0a090}html[data-color-scheme=dark] .recap-jump-nav__btn{background:#50463266;border-color:#c8b48c4d;color:#e8e0d4}html[data-color-scheme=dark] .recap-jump-nav__btn:hover:not(:disabled){background:#78644680}@media (max-width: 640px){.recap-jump-nav{font-size:12px;padding:5px 8px}.recap-jump-nav__btn{font-size:12px;padding:3px 8px}}.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-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-C_i6Anx3.webp) 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] .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-Ck-8LW-0.webp),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--blue{background-image:url(/assets/clan-blue-BtAtPZcF.webp),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--red{background-image:url(/assets/clan-red-CSx6LwfA.webp),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--yellow{background-image:url(/assets/clan-yellow-Dm0CZzVB.webp),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--purple{background-image:url(/assets/clan-purple-Cii93q2o.webp),linear-gradient(168deg,#fffdf5,#f3ecd9)}:root[data-style-theme=official] .card--pink{background-image:url(/assets/clan-pink-o9EcQ2fJ.webp),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-B9fr_NXo.webp)}:root[data-style-theme=official] .card--back-tactic{background-image:url(/assets/back-tactic-PXb1TrmY.webp)}: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-D1i7B19K.webp) 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-BFymESe_.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=spy]{background-image:url(/assets/spy-SCiGKhtT.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=shield]{background-image:url(/assets/shield-CXQ7UZoC.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=blind]{background-image:url(/assets/blind-CrDPmyBj.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=mud]{background-image:url(/assets/mud-BTVmNM3h.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=recruiter]{background-image:url(/assets/recruiter-C-YbvWCg.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=strategist]{background-image:url(/assets/strategist-BjqQNbLY.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=banshee]{background-image:url(/assets/banshee-Vngvag97.webp),linear-gradient(168deg,#fffdf5,#f1e6cb)}:root[data-style-theme=official] .card--tactic[data-tactic=traitor]{background-image:url(/assets/traitor-BznZcIB3.webp),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% 34%,rgba(176,204,112,.42),transparent 60%),radial-gradient(128% 112% at 50% 54%,transparent 44%,rgba(58,36,12,.52) 100%),linear-gradient(180deg,#6a9c39,#4f7c2a);border-color:#4a34189e;box-shadow:inset 0 0 0 1px #d8b43252,inset 0 0 0 4px #4a341829,inset 0 3px 16px #281a0a66,0 22px 46px -14px #1e140a80}: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}:root[data-style-theme=official] .stones .cards--top>.card .card-value,:root[data-style-theme=official] .stones .cards--bottom>.card .card-value{min-width:0!important;width:auto!important;padding:0 2px!important;left:3px!important;top:1px!important;font-size:.62rem!important;background:#fffdf5f0!important;border:0!important;border-radius:4px!important;box-shadow:0 1px 2px #281e0c66!important}:root[data-style-theme=official] .stones .cards--top>.card .card-suit--logo,:root[data-style-theme=official] .stones .cards--bottom>.card .card-suit--logo{width:8px!important;height:8px!important;right:3px!important;top:2px!important;border-width:1px!important}@media (max-width: 420px){:root[data-style-theme=official] .player-zone .hand .card .card-suit--logo,:root[data-style-theme=official] .opponent-zone .hand .card .card-suit--logo{width:8px!important;height:8px!important;right:1px!important;top:3px!important}}.history-panel,.stats-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1200;width:min(560px,92vw);max-height:min(80vh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 32px));margin:0;overflow-y:auto;box-shadow:0 28px 64px #1212126b,0 0 0 1px #00000014}body.has-ongoing-bar .stats-panel{max-height:min(80vh,calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 96px))}.moves-panel__list{list-style:none;margin:0;padding:0;counter-reset:none}.moves-panel__row{padding:6px 10px;border-bottom:1px solid rgba(44,34,24,.08);font-size:.9rem;font-variant-numeric:tabular-nums;color:#2c2218}.moves-panel__row.is-current{background:#b07d1e1f;font-weight:600}.moves-panel__empty{color:#2c22189e;font-size:.9rem;margin:8px 0 0}:root[data-style-theme=official] .board:before{display:none}:root[data-style-theme=official] .controls--under-board,:root[data-style-theme=official] .opponent-zone,:root[data-style-theme=official] .player-zone,:root[data-style-theme=official] .support-panel{border:1px solid rgba(74,52,24,.5);border-radius:18px;box-shadow:0 16px 36px #1e140a3d,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}:root[data-style-theme=official] .support-panel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal}:root[data-style-theme=official] .board{box-shadow:inset 0 2px 12px #1028096b,inset 0 0 0 1px #ffffff1a,var(--ui-shadow-lg),inset 0 0 0 1px #d8b43233}.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-view{max-width:720px;margin:0 auto;width:100%;min-height:100%;display:flex;flex-direction:column;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));text-align:left}.online-lobby{display:flex;flex-direction:column;color:#2c2218;border-radius:18px;border:1px solid rgba(74,52,24,.5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 28px 64px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.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;color:#6b5a44;opacity:1;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:#b3701a;animation:online-dot-pulse 1.2s ease-in-out infinite}.online-lobby__body{scrollbar-gutter:stable;padding-right:4px}.online-lobby__main,.online-lobby__aside{display:flex;flex-direction:column;min-width:0}@media (min-width: 1024px){.online-lobby-view{max-width:1080px}.online-lobby__body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);column-gap:28px;align-items:start}.online-lobby__body>.sr-only,.online-lobby__body>.online-note{grid-column:1 / -1}.online-lobby__main{grid-column:1}.online-lobby{min-height:0;margin-block:24px}.online-lobby__identity{max-width:520px;box-shadow:inset 0 1px 3px #281c0e12,inset 0 1px #ffffff80}.online-lobby__aside{grid-column:2;position:sticky;top:8px;gap:0;padding:4px 16px;background:linear-gradient(168deg,#fffdf78c,#f4ebd96b);border:1px solid rgba(120,92,56,.22);border-radius:16px;box-shadow:inset 0 2px 6px #281c0e0d}.online-lobby__aside>*{margin:0;padding:14px 0;border-bottom:1px solid rgba(44,34,24,.1)}.online-lobby__aside>*:last-child{border-bottom:0}.online-lobby__aside .featured-game,.online-lobby__aside .online-lobby__ranking{background:none;border:0;border-radius:0;box-shadow:none}}.online-lobby__foot{border-top:1px solid rgba(44,34,24,.14);padding-top:10px;margin-top:4px}.online-lobby__foot:before{content:"";display:block;width:34px;height:8px;margin:0 auto 10px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 12' fill='none' stroke='rgba(74,52,24,0.55)' stroke-width='1.3'%3E%3Cpath d='M2 6h11M27 6h11'/%3E%3Cpath d='M20 2l4 4-4 4-4-4z' fill='rgba(216,180,50,0.45)'/%3E%3C/svg%3E")}.online-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:linear-gradient(168deg,#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(168deg,#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 14px;border-radius:12px;background:#d896201a;border:1px solid rgba(166,106,26,.32)}.online-lobby__seek-title{display:flex;align-items:center;gap:8px;font-family:Fraunces,serif;font-weight:700;font-size:.98rem;color:#6b4a10;margin-bottom:6px}.online-lobby__beacon{width:8px;height:8px;border-radius:50%;background:#b3701a;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(168deg,#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:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px}.open-game-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;container-type:inline-size;align-items:center;gap:2px 10px;padding:10px 12px;border-radius:12px;background:linear-gradient(168deg,#fffdf6eb,#f6ecd8d9);border:1px solid rgba(44,34,24,.14);box-shadow:inset 0 1px #ffffffb3,inset 0 0 0 1px #ffffff59,0 1px 2px #281c0e0f;transition:transform .16s ease,box-shadow .16s ease}.open-game-row:hover{transform:translateY(-1px);box-shadow:inset 0 1px #ffffffb3,0 3px 7px #281c0e1f}@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:#785c381f;color:#5f4a2a;border:1px solid rgba(120,92,56,.28)}.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}@container (max-width: 420px){.open-game-row{grid-template-columns:32px minmax(0,1fr) auto}.open-game-row .online-avatar{grid-row:1 / 4}.open-game-row__host{grid-row:1;grid-column:2}.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}}.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__play{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}.online-lobby__quickplay{width:100%;min-height:56px;font-size:1.05rem;font-weight:700;letter-spacing:.01em;display:inline-flex;align-items:center;justify-content:center;gap:8px}.online-lobby__play-sub{margin:0;text-align:center;font-size:.82rem;opacity:.72}.online-lobby__play-secondary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;align-items:stretch}.online-lobby__play-secondary>button{width:100%;min-height:44px;padding:10px 14px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:600}.online-lobby__play-secondary .online-lobby__playbot{background:linear-gradient(168deg,#fffdf7,#efe2c6);border:1.5px solid rgba(44,34,24,.28);color:#3a2c1c;font-weight:700}.online-lobby__play-secondary .online-lobby__playbot:hover{background:linear-gradient(168deg,#fffef9,#f2e7ce)}@media (max-width: 640px){.online-lobby__play-secondary{grid-template-columns:1fr}}.online-open-games__empty--inline{flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:8px 4px;border:0;border-radius:0;margin:0}.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;background:none}.online-lobby .online-leaderboard li.online-empty{display:block;background:none;padding:8px 0;text-align:center;color:#6b5a44}.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(168deg,#e8b54a,#c8861c);color:#3d2c08}.rank-medal--2{background:linear-gradient(168deg,#e6e2d8,#b3ab99);color:#3a352b}.rank-medal--3{background:linear-gradient(168deg,#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-leaderboard__gain{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.online-leaderboard__gain.is-up{color:#2f6b1e}.online-leaderboard__gain.is-down{color:#a4341f}.online-ranking__windows{display:flex;gap:6px;margin-top:8px}.online-ranking__window{font:600 .72rem Plus Jakarta Sans,system-ui,sans-serif;padding:4px 10px;border-radius:999px;cursor:pointer;background:#2c22180f;color:#5a4a36;border:1px solid transparent}.online-ranking__window.is-active{background:linear-gradient(135deg,#c8402a,#e8662f);color:#fff6e8}.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(-2px);box-shadow:0 1px #fff7e8,0 10px 26px -12px #2a241766;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:0 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:8px}.rules-modal__formations li{display:flex;align-items:center;gap:12px;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:8px;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}.online-lobby__bot-countdown{font-variant-numeric:tabular-nums;font-weight:600;color:#6b4a10}.online-lobby__bot-offer{margin:10px 0 4px;padding:14px;border-radius:12px;background:linear-gradient(180deg,#d8962029,#d8962017);border:1px solid rgba(166,106,26,.34);display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center}.online-lobby__bot-offer-title{margin:0;font-family:Fraunces,serif;font-weight:700;font-size:1.02rem;color:#6b4a10}.online-lobby__bot-offer .online-lobby__seek-bot{width:100%;font-size:1.02rem;padding:12px 16px}.online-lobby__seek-degraded{margin:8px 0 4px}.online-lobby__seek-degraded-corr{margin-top:6px}.online-lobby__invitation{margin:10px 0;padding:16px;border-radius:10px;border:1px solid rgba(166,106,26,.35);background:#d896201f;text-align:center}.online-lobby__invitation-glyph{font-size:1.6rem;display:block}.online-lobby__invitation-title{font-weight:700;margin:6px 0 2px}.online-lobby__invitation-body{opacity:.85;font-size:.9rem;margin-bottom:10px}.online-lobby__invitation-cta{padding:8px 18px;border-radius:8px;border:none;background:linear-gradient(135deg,#c8402a,#e8662f);color:#fff6e8;font-weight:600;cursor:pointer}.online-lobby__invitation-cta:hover{transform:translateY(-1px);filter:brightness(1.03) saturate(1.03)}.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{display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.panel-btn span[aria-hidden]{display:inline-flex;align-items:center;margin-right:0}.panel-btn svg{display:block;flex:0 0 auto}:root[data-style-theme=official] .panel-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#d8b43280;box-shadow:inset 0 0 0 1px #d8b43247,inset 0 1px #fff7e8,0 4px 12px -6px #2a241757}:root[data-style-theme=official] .panel-btn:active:not(:disabled){transform:translateY(0);box-shadow:inset 0 1px 3px #2a241738}.hint-banner{margin:8px auto 0;max-width:420px;padding:8px 14px;border-radius:10px;background:#b08a3529;border:1px solid #d6c9aa;color:#2a2417;font-size:14px;font-weight:600;text-align:center}.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;min-width:min(260px,100%)}.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:calc(100dvh - 53px);padding:20px}.ongoing-bar{position:fixed;left:50%;bottom:0;transform:translate(-50%);z-index:201;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;padding-bottom:max(10px,calc(10px + env(safe-area-inset-bottom,0px)));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, #7e64a2);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.03) saturate(1.03)}.ongoing-bar__resume--cancel{border-color:#d2786e80;color:#e8b6ad}.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,body.has-ongoing-bar .platform-page,body.has-ongoing-bar .account-app__inner,: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,:root[data-style-theme] body.has-ongoing-bar .platform-page,:root[data-style-theme] body.has-ongoing-bar .account-app__inner{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__row{justify-content:center;flex-wrap:wrap;gap:12px;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:0 auto}.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}.chess-clocks{--lo-ink: #2c2218;--lo-ink-muted: rgba(44, 34, 24, .8);--lo-paper: #f6efe0;--lo-paper-hi: #fdf8ec;--lo-line-strong: rgba(44, 34, 24, .22);--lo-primary-a: #c8402a;--lo-shadow-md: 0 10px 24px rgba(40, 28, 14, .16);display:flex;flex-direction:column;gap:1px;align-items:stretch;min-width:156px;border:1px solid var(--lo-line-strong);border-radius:12px;overflow:hidden;background:var(--lo-line-strong);box-shadow:var(--lo-shadow-md)}.chess-clock{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 13px 7px 14px;background:var(--lo-paper);font-variant-numeric:tabular-nums;position:relative;transition:background .14s ease,box-shadow .14s ease}.chess-clock__label{font:700 10.5px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:var(--lo-ink-muted)}.chess-clock__time{font-family:Fraunces,Georgia,serif;font-size:1.45em;font-weight:700;color:var(--lo-ink);letter-spacing:.02em;line-height:1;font-variant-numeric:tabular-nums}.chess-clock--active{background:var(--lo-paper-hi);box-shadow:inset 4px 0 0 var(--lo-primary-a)}.chess-clock--active .chess-clock__label,.chess-clock--active .chess-clock__time{color:var(--lo-ink)}.chess-clock--urgent .chess-clock__time{color:#b3402a}.chess-clock--active.chess-clock--urgent{background:#c8402a1a;box-shadow:inset 4px 0 #b3402a}.chess-clock--active.chess-clock--urgent .chess-clock__label{color:#a8392b}.chess-clock--active.chess-clock--urgent .chess-clock__time{color:#a8392b;animation:chess-clock-pulse 1s ease-in-out infinite}@keyframes chess-clock-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.chess-clock--active.chess-clock--urgent .chess-clock__time{animation:none}}.tournament-app .tournament-detail__table-config.tdset{display:block;overflow:hidden;margin-top:22px;padding:0;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);background:var(--lo-paper);box-shadow:var(--lo-shadow-md)}.tournament-app .tdset__head{padding:16px 22px;margin:0;border-bottom:1px solid var(--lo-line);background:linear-gradient(180deg,var(--lo-paper-hi),var(--lo-paper))}.tournament-app .tdset__title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:19px;color:var(--lo-ink);margin:0;padding:0;border:none}.tournament-app .tdset__sub{margin:3px 0 0;font-size:12.5px;font-weight:500;color:var(--lo-ink-muted)}.tournament-app .tdset__body{display:flex;flex-direction:column;gap:20px;padding:20px 22px 22px}.tournament-app .tdset__pacing,.tournament-app .tdset__group{border:none;padding:0;margin:0}.tournament-app .tdset__legend{display:block;color:var(--lo-ink-muted);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:0;margin:0 0 10px}.tournament-app .tdset__pacing label,.tournament-app .tdset__group label{display:block;color:var(--lo-ink-muted);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin:0}.tournament-app .tdset__check{display:flex;flex-direction:row;align-items:center;gap:9px;text-transform:none;letter-spacing:0;color:var(--lo-ink);font-size:13.5px;font-weight:600;cursor:pointer}.tournament-app .tdset__check input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--lo-primary-a);cursor:pointer;margin:0}.tournament-app .tdset__pacing label select,.tournament-app .tdset__pacing label input[type=time],.tournament-app .tdset__group label select,.tournament-app .tdset__group label input[type=number],.tournament-app .tdset__group label input[type=datetime-local]{display:block;margin-top:7px;width:100%;max-width:100%}.tournament-app .tdset__pacing select,.tournament-app .tdset__pacing input[type=time],.tournament-app .tdset__group select,.tournament-app .tdset__group input[type=number],.tournament-app .tdset__group input[type=datetime-local]{font-family:Plus Jakarta Sans,sans-serif;font-size:15px;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);border-radius:9px;padding:11px 13px;box-shadow:none}.tournament-app .tdset__pacing select:focus,.tournament-app .tdset__pacing input:focus,.tournament-app .tdset__group select:focus,.tournament-app .tdset__group input:focus{outline:none;border-color:var(--lo-primary-a);box-shadow:0 0 0 3px #c8402a24}.tournament-app .tdset__req{color:var(--lo-primary-a);font-weight:800}.tournament-app .tdset__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tournament-app .tdset__row>label{min-width:0}.tournament-app .tdset__time-range{display:flex;align-items:center;gap:8px;margin-top:7px}.tournament-app .tdset__time-range input{margin-top:0;width:100%}.tournament-app .tdset__time-range span{color:var(--lo-ink-muted)}.tournament-app .tdset__pacing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tournament-app .tdset__pacing-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0;border-radius:10px;padding:13px 10px;cursor:pointer;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink);font-weight:500;transition:transform .12s ease,border-color .12s ease,background .12s ease}.tournament-app .tdset__pacing-card:hover{transform:translateY(-1px);border-color:var(--lo-ink-faint)}.tournament-app .tdset__pacing-card.is-active{border-color:var(--lo-primary-a);background:#fff;box-shadow:0 0 0 2px #c8402a24,var(--lo-shadow-sm)}.tournament-app .tdset__pacing-icon{font-size:20px;line-height:1}.tournament-app .tdset__pacing-name{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:13.5px;color:var(--lo-ink);line-height:1.2;letter-spacing:0;text-transform:none}.tournament-app .tdset__pacing-hint{font-size:11px;line-height:1.35;color:var(--lo-ink-muted);font-weight:500;letter-spacing:0;text-transform:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tournament-app .tdset__pacing-fields{margin-top:16px;padding-top:16px;border-top:1px solid var(--lo-line)}.tournament-app .tdset__pacing-fields+.tdset__pacing-fields{margin-top:14px;padding-top:0;border-top:none}.tournament-app .tdset__pacing>.tdset__check{margin-top:16px;padding-top:16px;border-top:1px solid var(--lo-line)}.tournament-app .tdset__hint{font-size:12.5px;line-height:1.5;color:var(--lo-ink-muted);background:var(--lo-paper-hi);border:1px solid var(--lo-line);border-radius:9px;padding:10px 12px;margin:0}.tournament-app .tdset__actions{display:flex;align-items:center;gap:13px}.tournament-app .tdset__save{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:14px;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border:1px solid transparent;border-radius:9px;padding:10px 18px;cursor:pointer;box-shadow:0 6px 14px #b4381e3d;transition:filter .12s ease,transform .12s ease}.tournament-app .tdset__save:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.tournament-app .tdset__save:disabled{opacity:.6;cursor:default}.tournament-app .tdset__saved{color:var(--lo-green);font-size:13px;font-weight:700}.tournament-app .tdset__error{color:var(--lo-primary-a);font-size:13px;font-weight:700}@media (max-width: 540px){.tournament-app .tdset__pacing-cards,.tournament-app .tdset__row{grid-template-columns:1fr}}.tournament-app .tournament-detail__meta{opacity:1;gap:8px;margin-top:12px;font-size:12px}.tournament-app .tournament-detail__meta>span{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1px solid #cdbf9f;border-radius:999px;background:#fffdf7;color:#463f33;font-weight:600;letter-spacing:.2px}.tournament-app .tournament-detail__meta>span:first-child{border-color:#6b4f2a;color:#5a4426;background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:0 0 0 3px #6b4f2a1a}.tournament-app .tournament-detail__clock{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:14px 0 8px;border:1px solid #cdbf9f;border-radius:14px;overflow:hidden;background:#cdbf9f;box-shadow:0 10px 26px -16px #2b2a2780,inset 0 1px #fffc}.tournament-detail__clock .tdc__cell{display:flex;flex-direction:column;gap:4px;padding:13px 15px;background:linear-gradient(180deg,#fffefb,#f6efe1)}.tournament-detail__clock .tdc__k{font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#6b4f2a}.tournament-detail__clock .tdc__v{font-family:Fraunces,serif;font-weight:800;font-size:25px;line-height:1;color:#2b2a27}.tournament-detail__clock .tdc__v i{font-style:normal;font-size:15px;font-weight:700;color:#5e5648}.tournament-detail__clock .tdc__v--time{font-size:18px}.tournament-detail__clock .tdc__cell--me{background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:inset 3px 0 #6b4f2a}.tournament-detail__clock .tdc__cell--me .tdc__v{color:#5a4426}.tournament-app .tournament-detail__lifecycle{display:flex;align-items:center;gap:9px;margin:10px 0;padding:11px 14px;border:1px solid #cdbf9f;border-left-width:4px;border-radius:12px;font:600 13px Plus Jakarta Sans,sans-serif;line-height:1.4;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:0 8px 22px -18px #2b2a2780,inset 0 1px #fffc}.tournament-app .tournament-detail__lifecycle.lifecycle--enrolled{border-left-color:#1f5a30;color:#1f5a30;background:linear-gradient(180deg,#fbfdf8,#eef6ea)}.tournament-app .tournament-detail__lifecycle.lifecycle--pending{border-left-color:#6b4f2a;color:#5a4426;background:linear-gradient(180deg,#fffdf6,#f4ead2)}.tournament-app .tournament-detail__lifecycle.lifecycle--warning{border-left-color:#a8392b;color:#a8392b;background:linear-gradient(180deg,#fdf6f3,#f6e7e1)}.tournament-app .tournament-detail__player-list>li:hover{background:#fbf6ea}.tournament-app .tournament-detail__player-list>li[aria-current=true]{background:linear-gradient(180deg,#fffdf6,#f4ead2)!important;border-radius:10px;box-shadow:inset 3px 0 #6b4f2a}.tournament-app .tournament-detail__player-name-row strong{font-family:Fraunces,serif;font-weight:600;font-size:16px;color:#2b2a27}.tournament-app .tournament-detail__you-pill{display:inline-block;margin-left:.45em;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.3px;padding:1px 8px;border-radius:999px;background:#6b4f2a;color:#fff}.tournament-app .tournament-detail__player-kind{display:inline-block;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.3px;padding:2px 8px;border-radius:999px;margin-right:5px;border:1px solid #cdbf9f;background:#fffdf7;color:#5e5648}.tournament-app .tournament-detail__player-kind--human{color:#7c3e63;border-color:#d8b7c9;background:#f6eaf1}.tournament-app .tournament-detail__player-kind--bot{color:#5e5648;border-color:#cdbf9f;background:#efe7d4}.tournament-app .tournament-detail__player-kind--paused{color:#8a5a00;border-color:#e0c690;background:#fbf2dc}.tournament-app .tournament-detail__player-kind--warn{color:#a8392b;border-color:#e0b3aa;background:#f9ece8}.tournament-app .tournament-detail__your-standing{margin-bottom:.75em;padding:11px 14px;border:1px solid #cdbf9f;border-left:4px solid #6b4f2a;border-radius:12px;background:linear-gradient(180deg,#fffdf6,#f4ead2);color:#5a4426;font-size:.95em;font-weight:600;box-shadow:inset 0 1px #fffc}.tournament-app .tournament-detail__your-standing strong{color:#2b2a27}.tournament-app .tournament-detail__standings-row--me{background:transparent!important}.tournament-app .tournament-detail__standings-row--me td,.tournament-app .tournament-detail__standings-row--me th{background:linear-gradient(180deg,#fffdf6,#f4ead2)!important;font-weight:700;color:#2b2a27;box-shadow:inset 3px 0 #6b4f2a}.tournament-app .tournament-detail__startwin{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin:0 0 10px;padding:11px 15px;border-radius:12px;border:1px solid #cdbf9f;font-family:Plus Jakarta Sans,sans-serif;font-weight:700;box-shadow:0 8px 20px -14px #2b2a2780,inset 0 1px #fffc;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.tournament-detail__startwin .tsw__icon{font-size:15px;line-height:1}.tournament-detail__startwin .tsw__msg{font-size:15px}.tournament-detail__startwin .tsw__countdown{display:inline-flex;align-items:baseline;gap:7px;margin-left:auto}.tournament-detail__startwin .tsw__cd-label{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.tournament-detail__startwin .tsw__cd-value{font-family:Fraunces,serif;font-weight:800;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}.tournament-app .tournament-detail__startwin.is-calm{background:linear-gradient(180deg,#fffdf6,#f4ead2);border-color:#cdbf9f;color:#463f33}.tournament-detail__startwin.is-calm .tsw__icon,.tournament-detail__startwin.is-calm .tsw__cd-label,.tournament-detail__startwin.is-calm .tsw__cd-value{color:#5a4426}.tournament-app .tournament-detail__startwin.is-urgent{background:linear-gradient(180deg,#fdf3da,#f8e7be);border-color:#d8a300;color:#463f33}.tournament-detail__startwin.is-urgent .tsw__icon,.tournament-detail__startwin.is-urgent .tsw__cd-label,.tournament-detail__startwin.is-urgent .tsw__cd-value{color:#8a5a00}.tournament-app .tournament-detail__startwin.is-critical{background:linear-gradient(180deg,#fbe6e1,#f6d6cf);border-color:#a8392b;color:#3a201a}.tournament-detail__startwin.is-critical .tsw__icon,.tournament-detail__startwin.is-critical .tsw__cd-label,.tournament-detail__startwin.is-critical .tsw__cd-value{color:#a8392b}@media (max-width: 540px){.tournament-detail__startwin .tsw__countdown{margin-left:0;width:100%}}.tournament-app .tournament-detail__board{margin:8px 0;border:1px solid #cdbf9f;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:0 10px 26px -16px #2b2a2780,inset 0 1px #fffc}.tournament-detail__board .tdb__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 15px 9px;border-bottom:1px solid #cdbf9f}.tournament-detail__board .tdb__title{font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#6b4f2a}.tournament-detail__board .tdb__round{font-family:Fraunces,serif;font-weight:800;font-size:15px;color:#2b2a27;display:inline-flex;align-items:baseline;gap:7px}.tournament-detail__board .tdb__round-tag{font:700 10px Plus Jakarta Sans,sans-serif;letter-spacing:.5px;text-transform:uppercase;font-style:normal;padding:1px 7px;border-radius:999px}.tournament-detail__board .tdb__round-tag--live{background:#f6eccf;color:#7a5500;border:1px solid #e8c97a}.tournament-detail__board .tdb__round-tag--done{background:#dff3e1;color:#1f5a30;border:1px solid #a7d4ad}.tournament-detail__board .tdb__list{list-style:none;margin:0;padding:0}.tournament-detail__board .tdb__row{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px 12px;padding:10px 15px;border-top:1px solid #ece3d0}.tournament-detail__board .tdb__row:first-child{border-top:none}.tournament-detail__board .tdb__player{font:700 14px Plus Jakarta Sans,sans-serif;color:#2b2a27;min-width:0}.tournament-detail__board .tdb__player.is-winner{color:#1f5a30}.tournament-detail__board .tdb__vs{font-size:12px;font-weight:600;color:#5e5648;text-align:center}.tournament-detail__board .tdb__you{font-size:11px;font-weight:700;color:#6b4f2a}.tournament-detail__board .tdb__status{justify-self:end;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}.tournament-detail__board .tdb__status--scheduled{background:#efe7d4;color:#5e5648;border:1px solid #d8cdb4}.tournament-detail__board .tdb__status--live{background:#fff4d6;color:#7a5500;border:1px solid #e8c97a}.tournament-detail__board .tdb__watch{justify-self:end;cursor:pointer;white-space:nowrap;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,var(--lo-primary-a, #c8402a),var(--lo-primary-b, #e8662f));color:#fff6e8;border:1px solid transparent}.tournament-detail__board .tdb__watch:hover{filter:brightness(1.03);transform:translateY(-1px)}.tournament-detail__board .tdb__watchers{justify-self:end;white-space:nowrap;margin-left:6px;font:600 11px Plus Jakarta Sans,sans-serif;color:var(--lo-ink-muted, rgba(44,34,24,.62))}.tournament-detail__board .tdb__status--completed{background:#dff3e1;color:#1f5a30;border:1px solid #a7d4ad}.tournament-detail__board .tdb__status--bye{background:#eef6fa;color:#1a4666;border:1px solid #c6def0}.tournament-detail__board .tdb__row--me{background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:inset 3px 0 #6b4f2a}@media (max-width: 540px){.tournament-detail__board .tdb__row{grid-template-columns:1fr auto 1fr}.tournament-detail__board .tdb__status{grid-column:1 / -1;justify-self:start}}.tournament-app .tournament-detail__topboards{margin:8px 0;border:1px solid #cdbf9f;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:0 10px 26px -16px #2b2a2780,inset 0 1px #fffc}.tournament-detail__topboards .tdl__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 15px;border-bottom:1px solid #cdbf9f}.tournament-detail__topboards .tdl__title{font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#6b4f2a}.tournament-detail__topboards .tdl__count{font:700 10px Plus Jakarta Sans,sans-serif;letter-spacing:.5px;text-transform:uppercase;padding:1px 8px;border-radius:999px;background:#f6eccf;color:#7a5500;border:1px solid #e8c97a}.tournament-detail__featured{padding:14px 15px;border-bottom:1px solid #ece3d0;background:linear-gradient(180deg,#fffdf6,#f7edd6)}.tournament-detail__featured .tdf__badge{display:inline-block;font:700 10px Plus Jakarta Sans,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#7a5500;margin-bottom:8px}.tournament-detail__featured .tdf__pair{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.tournament-detail__featured .tdf__player{display:inline-flex;align-items:baseline;gap:6px;min-width:0;text-decoration:none}.tournament-detail__featured .tdf__name{font-family:Fraunces,serif;font-weight:800;font-size:17px;color:#2b2a27}.tournament-detail__featured .tdf__rank{font:600 12px Plus Jakarta Sans,sans-serif;color:#6b4f2a}.tournament-detail__featured .tdf__vs{font-size:12px;font-weight:600;color:#5e5648}.tournament-detail__featured .tdf__foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:12px}.tournament-detail__featured .tdf__watchers{white-space:nowrap;font:600 12px Plus Jakarta Sans,sans-serif;color:var(--lo-ink-muted, rgba(44,34,24,.62))}.tournament-detail__featured .tdf__watch{cursor:pointer;white-space:nowrap;font:700 12px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:7px 18px;border-radius:999px;background:linear-gradient(135deg,var(--lo-primary-a, #c8402a),var(--lo-primary-b, #e8662f));color:#fff6e8;border:1px solid transparent}.tournament-detail__featured .tdf__watch:hover{filter:brightness(1.03);transform:translateY(-1px)}.tournament-detail__duels{list-style:none;margin:0;padding:0}.tournament-detail__duels .tdd__row{display:grid;grid-template-columns:1fr auto 1fr auto;align-items:center;gap:6px 10px;padding:9px 15px;border-top:1px solid #ece3d0}.tournament-detail__duels .tdd__row:first-child{border-top:none}.tournament-detail__duels .tdd__player{display:inline-flex;align-items:baseline;gap:5px;min-width:0;text-decoration:none}.tournament-detail__duels .tdd__name{font:700 14px Plus Jakarta Sans,sans-serif;color:#2b2a27}.tournament-detail__duels .tdd__rank{font:600 11px Plus Jakarta Sans,sans-serif;color:#6b4f2a}.tournament-detail__duels .tdd__vs{font-size:12px;font-weight:600;color:#5e5648;text-align:center}.tournament-detail__duels .tdd__watchers{justify-self:end;white-space:nowrap;font:600 11px Plus Jakarta Sans,sans-serif;color:var(--lo-ink-muted, rgba(44,34,24,.62))}.tournament-detail__duels .tdd__watch{justify-self:end;cursor:pointer;white-space:nowrap;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:4px 12px;border-radius:999px;background:linear-gradient(135deg,var(--lo-primary-a, #c8402a),var(--lo-primary-b, #e8662f));color:#fff6e8;border:1px solid transparent}.tournament-detail__duels .tdd__watch:hover{filter:brightness(1.03);transform:translateY(-1px)}@media (max-width: 540px){.tournament-detail__duels .tdd__row{grid-template-columns:1fr auto 1fr}.tournament-detail__duels .tdd__watch{grid-column:1 / -1;justify-self:start;margin-top:4px}.tournament-detail__duels .tdd__watchers{grid-column:1 / -1;justify-self:start}}.tournament-app .tournament-detail__grid-scroll{margin-top:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #cdbf9f;border-radius:14px;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:0 10px 26px -16px #2b2a2780,inset 0 1px #fffc}.tournament-app .tournament-detail__grid{width:100%;border-collapse:separate;border-spacing:0;font-family:Plus Jakarta Sans,sans-serif}.tournament-app .tournament-detail__grid thead th{position:sticky;top:0;z-index:2;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5e5648;background:linear-gradient(180deg,#fffefb,#f6efe1);padding:10px 8px;border-bottom:2px solid #cdbf9f;white-space:nowrap}.tournament-app .tournament-detail__grid tbody td,.tournament-app .tournament-detail__grid tbody th{padding:9px 8px;border-bottom:1px solid #e3d8c0;font-size:13px;color:#2b2a27;background:transparent}.tournament-app .tournament-detail__grid .tdg__rank{position:sticky;left:0;z-index:1;width:46px;min-width:46px;text-align:center;font-family:Fraunces,serif;font-weight:800;color:#5a4426;background:linear-gradient(180deg,#fffefb,#f6efe1)}.tournament-app .tournament-detail__grid .tdg__player{position:sticky;left:46px;z-index:1;min-width:130px;max-width:200px;text-align:left;font-family:Fraunces,serif;font-size:14px;color:#2b2a27;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:1px 0 #e3d8c0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .tournament-detail__grid thead th.tdg__rank{left:0;z-index:3}.tournament-app .tournament-detail__grid thead th.tdg__player{left:46px;z-index:3}.tournament-app .tournament-detail__grid .tdg__round,.tournament-app .tournament-detail__grid .tdg__cell{width:34px;min-width:34px;text-align:center;padding-left:4px;padding-right:4px}.tournament-app .tournament-detail__grid .tdg__total{width:56px;min-width:56px;text-align:center;font-family:Fraunces,serif;font-weight:800;font-size:14px;color:#2b2a27}.tournament-app .tournament-detail__grid .tdg__chip{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;font-family:Fraunces,serif;font-weight:800;font-size:13px;line-height:1;border:1px solid transparent}.tournament-app .tdg__cell--win .tdg__chip{background:#dff3e1;border-color:#a7d4ad;color:#1f5a30}.tournament-app .tdg__cell--loss .tdg__chip{background:#f7e4df;border-color:#e0b3aa;color:#a8392b}.tournament-app .tdg__cell--bye .tdg__chip{background:#f4ead2;border-color:#e0c690;color:#5a4426}.tournament-app .tdg__cell--void .tdg__chip{background:#f7e4df;border-color:#e0b3aa;color:#a8392b}.tournament-app .tdg__cell--pend .tdg__chip,.tournament-app .tdg__cell--none .tdg__chip{background:transparent;border-color:transparent;color:#5e5648;font-weight:700}.tournament-app .tournament-detail__standings-row--me .tdg__rank,.tournament-app .tournament-detail__standings-row--me .tdg__player,.tournament-app .tournament-detail__grid .tournament-detail__standings-row--me td,.tournament-app .tournament-detail__grid .tournament-detail__standings-row--me th{background:linear-gradient(180deg,#fffdf6,#f4ead2)!important}.tournament-app .tournament-detail__grid .tournament-detail__standings-row--me .tdg__rank{box-shadow:inset 3px 0 #6b4f2a}@media (max-width: 540px){.tournament-app .tournament-detail__grid .tdg__round,.tournament-app .tournament-detail__grid .tdg__cell{width:30px;min-width:30px}.tournament-app .tournament-detail__grid .tdg__player{min-width:110px}}.tournament-app .tournament-detail__podium{margin:4px 0 18px;padding:0;border:1px solid var(--lo-line-strong, rgba(44, 34, 24, .22));border-radius:12px;background:#f6efe0;overflow:hidden;box-shadow:0 10px 24px #281c0e29}.tournament-app .tournament-detail__podium .tdp__title{margin:0;padding:14px 18px;border-bottom:1px solid rgba(44,34,24,.13);font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:#2c2218;background:linear-gradient(180deg,#fdf8ec,#f6efe0)}.tournament-app .tournament-detail__podium .tdp__stage{list-style:none;margin:0;padding:0;display:block}.tournament-app .tournament-detail__podium .tdp__step{display:grid;grid-template-columns:26px 24px minmax(0,1fr) auto;align-items:center;gap:12px;order:0;padding:11px 18px;border-top:1px solid rgba(44,34,24,.1);text-align:left}.tournament-app .tournament-detail__podium .tdp__step:first-child{border-top:none}.tournament-app .tournament-detail__podium .tdp__rankno{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:#2c22186b;text-align:center}.tournament-app .tournament-detail__podium .tdp__medal{font-size:18px;line-height:1}.tournament-app .tournament-detail__podium .tdp__names{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;min-width:0}.tournament-app .tournament-detail__podium .tdp__name{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:15px;color:#2c2218;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tournament-app .tournament-detail__podium .tdp__pts{font:600 13px Plus Jakarta Sans,sans-serif;color:#2c22189e;white-space:nowrap}.tournament-app .tournament-detail__podium .tdp__step--gold{background:linear-gradient(180deg,#fdf3cf,#f7e7ad)}.tournament-app .tournament-detail__podium .tdp__step--silver{background:linear-gradient(180deg,#fbfaf6,#efe9dd)}.tournament-app .tournament-detail__podium .tdp__step--bronze{background:linear-gradient(180deg,#fbf0e2,#f4e2cd)}.tournament-app .tournament-detail__podium .tdp__step--gold .tdp__rankno{color:#b07d1e}.tournament-app .tournament-detail__podium .tdp__step--gold .tdp__name{color:#6b4a14}.tournament-app .tournament-detail__podium .tdp__step--gold .tdp__pts{color:#8a6512;font-weight:700}.tournament-app .tournament-detail__winner-banner{position:relative;margin-bottom:16px;padding:14px 18px;border:1px solid #d8b65a;border-radius:12px;background:linear-gradient(180deg,#fdf3cf,#f7e7ad);box-shadow:0 1px 2px #281c0e1a;font-family:Fraunces,Georgia,serif;font-size:1.02em;font-weight:600;color:#5a4426}.tournament-app .tournament-detail__winner-name{font-size:1.12em;font-weight:700;color:#6b4a14}.tournament-app .tournament-detail__winner-pts{font-family:Plus Jakarta Sans,sans-serif;font-size:.82em;font-weight:700;color:#8a6512}.tournament-app .tournament-detail__winner-sub{font-family:Plus Jakarta Sans,sans-serif;font-size:.82em;font-weight:600;margin-top:5px;color:#6e5a2e}.tournament-app .tournament-detail__winner-sub strong{color:#6b4a14}.tournament-app .tournament-detail__final-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:12px;border:1px solid #cdbf9f;border-radius:14px;overflow:hidden;background:linear-gradient(180deg,#fffefb,#f6efe1);box-shadow:0 10px 26px -16px #2b2a2780,inset 0 1px #fffc;font-family:Plus Jakarta Sans,sans-serif}.tournament-app .tournament-detail__final-table thead th{font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#5e5648;opacity:1;background:linear-gradient(180deg,#fffefb,#f6efe1);padding:11px 10px;border-bottom:2px solid #cdbf9f;white-space:nowrap;text-align:center}.tournament-app .tournament-detail__final-table thead th:nth-child(2){text-align:left}.tournament-app .tournament-detail__final-table tbody td,.tournament-app .tournament-detail__final-table tbody th{padding:11px 10px;border-bottom:1px solid #e3d8c0;font-size:13px;color:#2b2a27;background:transparent;text-align:center;opacity:1;text-transform:none;letter-spacing:normal}.tournament-app .tournament-detail__final-table tbody tr:last-child td,.tournament-app .tournament-detail__final-table tbody tr:last-child th{border-bottom:none}.tournament-app .tournament-detail__final-table .tdf__rank-cell{width:58px;white-space:nowrap}.tournament-app .tournament-detail__final-table .tdf__medal{display:inline-block;width:auto;height:auto;border:none;background:none;box-shadow:none;font-size:14px;line-height:1;margin-right:4px;vertical-align:middle}.tournament-app .tournament-detail__final-table .tdf__rankno{font-family:Fraunces,serif;font-weight:700;font-size:15px;color:#5a4426;vertical-align:middle}.tournament-app .tournament-detail__final-table .tdf__player{text-align:left;font-family:Fraunces,serif;font-size:14px;color:#2b2a27}.tournament-app .tournament-detail__final-table .tdf__swiss{font-family:Fraunces,serif;font-weight:800;font-size:15px;color:#2b2a27}.tournament-app .tournament-detail__final-table .tdf__num{width:78px}.tournament-app .tournament-detail__final-table .tdf__chip{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:2px 8px;border-radius:8px;border:1px solid #e0c690;background:#f7efda;font-family:Fraunces,serif;font-weight:700;font-size:12.5px;color:#5a4426;line-height:1.3}.tournament-app .tournament-detail__final-table .tdf__chip--perf{border-color:#b9c6d6;background:#eef3f8;color:#2f4660}.tournament-app .tournament-detail__final-table .tdf__chip--sb{border-color:#a9cfc6;background:#e9f4f1;color:#285b4f}.tournament-app .tournament-detail__final-table .tdf__tiebreak-chip{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;border:1px solid #c8b3c2;background:#f3e7ee;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.02em;color:#6f4a62;text-transform:capitalize}.tournament-app .tournament-detail__final-table .tdf__dash{color:#b3a888}.tournament-app .tournament-detail__final-table .tdf__row--gold td,.tournament-app .tournament-detail__final-table .tdf__row--gold th{background:linear-gradient(180deg,#fdf3cf,#f7e7ad)}.tournament-app .tournament-detail__final-table .tdf__row--silver td,.tournament-app .tournament-detail__final-table .tdf__row--silver th{background:linear-gradient(180deg,#fbfaf6,#eae3d6)}.tournament-app .tournament-detail__final-table .tdf__row--bronze td,.tournament-app .tournament-detail__final-table .tdf__row--bronze th{background:linear-gradient(180deg,#fbf0e2,#f3e0cb)}.tournament-app .tournament-detail__final-table .tdf__row--gold .tdf__player,.tournament-app .tournament-detail__final-table .tdf__row--gold .tdf__swiss{font-weight:800;color:#6b4a14}.tournament-app .tournament-detail__final-table .tdf__row--gold .tdf__rank-cell{box-shadow:inset 4px 0 #c79b3a}.tournament-app .tournament-detail__final-table .tdf__row--me td,.tournament-app .tournament-detail__final-table .tdf__row--me th{background:linear-gradient(180deg,#fbeec4,#f3dd9f)}.tournament-app .tournament-detail__final-table .tdf__row--me .tdf__rank-cell{box-shadow:inset 4px 0 #c79b3a}.tournament-app .tournament-detail__final-table .tdf__row--me .tdf__player{font-weight:700;color:#6b4a14}.tournament-app .tournament-detail__final-table .tdf__row--me .tdf__chip{background:#f6e6bd;border-color:#d8b65a;color:#6b4a14}@media (max-width: 480px){.tournament-app .tournament-detail__final-table thead th,.tournament-app .tournament-detail__final-table tbody td,.tournament-app .tournament-detail__final-table tbody th{padding:9px 6px;font-size:12.5px}.tournament-app .tournament-detail__final-table .tdf__rank-cell{width:52px}.tournament-app .tournament-detail__final-table .tdf__medal{width:18px;height:18px;font-size:11px;margin-right:3px}.tournament-app .tournament-detail__final-table .tdf__num{width:auto}.tournament-app .tournament-detail__final-table .tdf__chip{min-width:28px;padding:2px 5px;font-size:11.5px}}.tournament-detail__startwin .tsw__window{display:block;font-size:11px;font-weight:600;margin-top:2px}.tournament-app .tournament-detail__window-caption{margin:2px 0 8px;font-size:12px;font-weight:600;color:#5e5648}.tournament-app .tournament-detail__header .ghost{display:inline-flex;align-items:center;gap:5px;font:700 11.5px Plus Jakarta Sans,sans-serif;letter-spacing:.5px;text-transform:uppercase;color:#7c3e63;opacity:1;padding:4px 0;margin-bottom:2px}.tournament-app .tournament-detail__header .ghost:hover{color:#5c2f4a}.tournament-app .tournament-detail__invite{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;padding:11px 13px;border:1px solid #cdbf9f;border-radius:12px;background:linear-gradient(180deg,#fffdf7,#f4ecda);box-shadow:inset 0 1px #fffc}.tournament-app .tournament-detail__invite code{background:#fffefb!important;border:1px dashed #b9a87f;border-radius:8px;padding:7px 13px;font-family:Fraunces,Georgia,serif!important;font-weight:700;font-size:15px;color:#2a2417;letter-spacing:.16em}.tournament-app .tournament-detail__invite button{min-height:34px;padding:7px 13px;border-radius:9px;font:600 12.5px Plus Jakarta Sans,sans-serif;background:linear-gradient(180deg,#fffdf7,#efe4cd);color:#463f33;border:1px solid #cdbf9f;cursor:pointer;transition:border-color .13s ease,background .13s ease,transform .13s ease}.tournament-app .tournament-detail__invite button:hover{border-color:#b9a87f;background:linear-gradient(180deg,#fffefb,#ece0c6);transform:translateY(-1px)}.tournament-app .tournament-detail__clock{margin-top:16px;box-shadow:0 12px 30px -16px #2b2a278c,inset 0 1px #ffffffd9}.tournament-detail__clock .tdc__k{font-size:10.5px}.tournament-app .tournament-detail__clock .tdc__cell--me{background:linear-gradient(180deg,#fbeec4,#f3dd9f);box-shadow:inset 4px 0 #c79b3a;position:relative}.tournament-app .tournament-detail__clock .tdc__cell--me .tdc__v{color:#6b4a14;font-size:30px}.tournament-app .tournament-detail__clock .tdc__cell--me:after{content:"★";position:absolute;top:9px;right:12px;font-size:13px;color:#c79b3a;line-height:1}.tournament-app .tournament-detail__your-standing{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:1em;padding:13px 16px;border-left-width:5px}.tournament-app .tournament-detail__your-standing strong:first-of-type{font-family:Fraunces,Georgia,serif;font-size:1.45em;font-weight:800;color:#6b4a14;line-height:1}.tournament-app .tournament-detail__pairing{border-radius:13px;box-shadow:0 8px 20px -16px #2b2a2773,inset 0 1px #fffc;transition:border-color .13s ease,box-shadow .13s ease}.tournament-app .tournament-detail__pairing--me{border-color:#c79b3a;box-shadow:inset 4px 0 #c79b3a,0 10px 22px -16px #2b2a2780}.tournament-app .tournament-card__you-rank{display:inline-flex;align-items:center;gap:5px;padding:4px 11px!important;border-radius:999px;border:1px solid currentColor;background:#fff9;font-weight:700!important;font-size:12px;letter-spacing:.2px;white-space:nowrap;box-shadow:inset 0 1px #fff9}.tournament-app .tournament-card__you-rank--enrolled{border-style:dashed}.tournament-app .tournament-lobby{--lo-ink: #2c2218;--lo-ink-muted: rgba(44, 34, 24, .8);--lo-ink-faint: rgba(44, 34, 24, .42);--lo-paper: #f6efe0;--lo-paper-hi: #fdf8ec;--lo-line: rgba(44, 34, 24, .13);--lo-line-strong: rgba(44, 34, 24, .22);--lo-row-hover: rgba(255, 253, 246, .72);--lo-primary-a: #c8402a;--lo-primary-b: #e8662f;--lo-gold: #b07d1e;--lo-green: #466f12;--lo-shadow-sm: 0 1px 2px rgba(40, 28, 14, .1);--lo-shadow-md: 0 10px 24px rgba(40, 28, 14, .16);--lo-radius: 12px;background:radial-gradient(1100px 700px at -8% -18%,rgba(246,239,224,.96),transparent 60%),radial-gradient(900px 620px at 108% -10%,rgba(238,226,200,.9),transparent 56%),linear-gradient(160deg,#f3ead6,#ecdfc4 60%,#e6d6ba);border:1px solid var(--lo-line-strong);border-radius:16px;box-shadow:var(--lo-shadow-md);max-width:1120px;margin:0 auto;padding:clamp(20px,3.5vw,36px) clamp(16px,3vw,36px) 56px;color:var(--lo-ink);font-family:Plus Jakarta Sans,system-ui,sans-serif}.tournament-app .tournament-lobby__header{display:block;position:relative;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible;padding:0;margin:0 0 8px}.tournament-app .tournament-lobby__header:before,.tournament-app .tournament-lobby__header:after{content:none}.tournament-app .tournament-lobby__utility{display:flex;align-items:center;gap:12px;margin-bottom:14px;min-height:34px}.tournament-app .tournament-lobby__back{color:var(--lo-primary-a);font-weight:600;font-size:13.5px;font-family:Plus Jakarta Sans,sans-serif;opacity:.92;text-decoration:none}.tournament-app .tournament-lobby__back:hover{opacity:1}.tournament-app .tournament-lobby__utility .auth-signout-row{margin-left:auto;align-items:center;display:flex;gap:4px;padding:4px 6px 4px 14px;border-radius:999px;background:var(--lo-paper-hi);border:1px solid var(--lo-line-strong)}.tournament-app .tournament-lobby__utility .auth-signout-greeting{color:var(--lo-ink-muted)!important;font-family:Plus Jakarta Sans,sans-serif;font-size:13px}.tournament-app .tournament-lobby__utility .auth-signout-row button{padding:6px 13px!important;font-size:13px;min-height:0;background:var(--lo-paper-hi);box-shadow:none;border:1px solid var(--lo-line-strong);color:var(--lo-ink)}.tournament-app .tournament-lobby__masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--lo-line-strong);flex-wrap:wrap}.tournament-app .tournament-lobby__masthead-lead{flex:1 1 380px;min-width:0}.tournament-app .tournament-lobby__eyebrow{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--lo-gold);margin:0 0 4px}.tournament-app .tournament-lobby__header h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;font-optical-sizing:auto;margin:0 0 8px;padding:0;color:var(--lo-ink)}.tournament-app .tournament-lobby__lede{margin:0;font-size:14px;color:var(--lo-ink-muted);max-width:52ch;line-height:1.45}.tournament-app .tournament-lobby__masthead .landing-stats{flex:0 0 auto;align-self:flex-end;text-align:right;background:transparent!important;border:none!important;padding:0!important;margin:0!important;font-size:13px!important;color:var(--lo-ink-muted)!important}.tournament-app .tournament-lobby__masthead .landing-stats strong{font-family:Fraunces,Georgia,serif;font-weight:600;color:var(--lo-ink)}.tournament-app .tournament-lobby__how{margin-top:12px;font-size:.9em}.tournament-app .tournament-lobby__how>summary{cursor:pointer;color:var(--lo-primary-a);font-weight:600;width:fit-content;font-family:Plus Jakarta Sans,sans-serif;padding:4px 6px}.tournament-app .tournament-lobby__how-body{background:var(--lo-paper-hi);border:1px solid var(--lo-line);border-radius:10px;padding:12px 14px;margin-top:8px;line-height:1.55;color:var(--lo-ink-muted);max-width:620px}.tournament-app .tournament-lobby__how-body p{margin:0 0 10px}.tournament-app .tournament-lobby__how-body p:last-child{margin-bottom:0}.tournament-app .tournament-lobby__how-body strong{color:var(--lo-ink);font-weight:700}.tournament-app .tournament-lobby__hint{font-size:.78rem;color:var(--lo-ink-muted);margin:4px 0 0;line-height:1.45}.tournament-app .tournament-lobby__header-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;padding:0;border-top:none}.tournament-app .tournament-lobby__cta{display:inline-flex;align-items:center;gap:7px;min-height:42px;border-radius:9px;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:14px;padding:10px 16px;cursor:pointer;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);box-shadow:var(--lo-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.tournament-app .tournament-lobby__cta:hover:not(:disabled){background:#fff;border-color:var(--lo-ink-faint)}.tournament-app .tournament-lobby__cta--primary{background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border-color:transparent;font-weight:700;box-shadow:0 8px 18px #b4381e47}.tournament-app .tournament-lobby__cta--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px #b4381e57;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b))}.tournament-app .tournament-lobby__section-head{display:flex;align-items:baseline;gap:10px;margin:28px 0 10px}.tournament-app .tournament-lobby__section-head h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.01em;margin:0;color:var(--lo-ink);border:none;padding:0}.tournament-app .tournament-lobby__list{display:block;grid-template-columns:none;gap:0;background:var(--lo-paper);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);overflow:hidden;box-shadow:var(--lo-shadow-md);list-style:none;margin:0;padding:0}.tournament-app .tournament-card{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 18px 14px 16px;background:transparent;border:none;border-radius:0;border-top:1px solid var(--lo-line);box-shadow:none;overflow:visible;position:relative;transition:background .11s ease}.tournament-app .tournament-card:first-child{border-top:none}.tournament-app .tournament-card:hover{background:var(--lo-row-hover);transform:none}.tournament-app .tournament-card:before{content:none}.tournament-app .tournament-card:after{content:"";grid-column:1;grid-row:1;width:4px;height:38px;border-radius:4px;background:var(--lo-ink-faint);align-self:center}.tournament-app .tournament-card--registration:after{background:var(--lo-gold)}.tournament-app .tournament-card--in_progress:after{background:var(--lo-primary-a)}.tournament-app .tournament-card--draft:after{background:var(--lo-gold)}.tournament-app .tournament-card--completed:after{background:var(--lo-ink-faint)}.tournament-app .tournament-card__open{grid-column:2 / 3;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:0;background:transparent;min-width:0}.tournament-app .tournament-card__open:hover{background:var(--lo-row-hover)}.tournament-app .tournament-card__title{grid-column:1;grid-row:1;display:flex;align-items:center;gap:9px;margin:0;padding:0;border:none;min-width:0}.tournament-app .tournament-card__title strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:var(--lo-ink);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tournament-app .tournament-card__phase{flex-shrink:0;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:none;line-height:1}.tournament-app .tournament-card__phase--draft,.tournament-app .tournament-card__phase--registration{background:#b07d1e29;color:#8a6212}.tournament-app .tournament-card__phase--in_progress{background:#c8402a24;color:#8a2c1a}.tournament-app .tournament-card__phase--completed{background:#2c22181a;color:var(--lo-ink-muted)}.tournament-app .tournament-card__meta{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12.5px;color:var(--lo-ink-muted);opacity:1;margin:0}.tournament-app .tournament-card__chip{display:inline-flex;align-items:center;gap:4px;padding:0;border:none;background:transparent;border-radius:0;color:var(--lo-ink-muted);font-weight:500;line-height:1.2;white-space:nowrap}.tournament-app .tournament-card__chip-icon{font-size:11px;line-height:1;opacity:.7}.tournament-app .tournament-card__chip.tournament-card__pace{color:var(--lo-green);font-weight:600}.tournament-app .tournament-card__chip--casual{color:#8a5e10;font-weight:600}.tournament-app .tournament-card__chip--entry{color:var(--lo-ink);font-weight:600}.tournament-app .tournament-lobby__entry-hint{color:var(--lo-ink-muted);font-size:13px;margin:4px 0 10px}.tournament-app .tdset__entry{border:1px solid var(--lo-line);border-radius:9px;padding:10px 12px;margin-top:8px}.tournament-app .tdset__entry legend{font-weight:700;color:var(--lo-ink);padding:0 6px}.tournament-app .tournament-card__footer{grid-column:2;grid-row:1 / 3;align-self:center;display:flex;justify-content:flex-end;align-items:center;margin:0;padding:0;border:none}.tournament-app .tournament-card__you-rank{background:transparent!important;border:none!important;text-align:right;font-size:13px;white-space:nowrap;padding:0;border-radius:0;font-weight:600}.tournament-app .tournament-card--completed .tournament-card__you-rank{background:transparent!important;border:none!important}.tournament-app .tournament-card__actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:88px}.tournament-app .tournament-card .tournament-card__rematch{order:0;align-self:auto;margin:0;min-height:0;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:13px;padding:7px 14px;border-radius:8px;text-align:center;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);border-top:1px solid var(--lo-line-strong);cursor:pointer;transition:transform .11s ease,background .11s ease}.tournament-app .tournament-card .tournament-card__rematch:hover{transform:translateY(-1px);background:#fff}.tournament-app .tournament-card .tournament-card__delete{position:static;top:auto;right:auto;z-index:auto;width:28px;height:28px;min-height:0;padding:0;display:grid;place-items:center;border-radius:999px;font-size:18px;line-height:1;opacity:.5;background:transparent;border:none;color:#736850}.tournament-app .tournament-card .tournament-card__delete:hover{opacity:1;color:var(--lo-primary-a);background:#c8402a1a}.tournament-app .tournament-active-matches{background:var(--lo-paper);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);box-shadow:var(--lo-shadow-md);padding:14px 18px;margin:0 0 22px}.tournament-app .tournament-active-matches__title{margin:0 0 8px;font-family:Fraunces,Georgia,serif;font-size:14px;font-weight:600;color:var(--lo-ink);text-transform:none;letter-spacing:0}.tournament-app .tournament-active-matches__row{border-color:var(--lo-line);background:var(--lo-paper-hi)}.tournament-app .tournament-active-matches__row--your-turn{border-color:var(--lo-primary-a);background:#c8402a12}.tournament-app .tournament-active-matches__turn{color:var(--lo-primary-a)}.tournament-app .tournament-active-matches__resume{background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border-radius:8px}.tournament-app .tournament-lobby__join,.tournament-app .tournament-lobby__browse,.tournament-app .tournament-lobby__create{background:var(--lo-paper);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);box-shadow:var(--lo-shadow-md);overflow:hidden;max-width:720px;margin:0 0 22px;padding:0}.tournament-app .tournament-lobby__create-head,.tournament-app .tournament-lobby__join>h2,.tournament-app .tournament-lobby__browse>h2{padding:16px 22px;margin:0;border-bottom:1px solid var(--lo-line);background:linear-gradient(180deg,var(--lo-paper-hi),var(--lo-paper))}.tournament-app .tournament-lobby__create-head h2,.tournament-app .tournament-lobby__join>h2,.tournament-app .tournament-lobby__browse>h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:19px;color:var(--lo-ink);margin:0;padding:0;border:none}.tournament-app .tournament-lobby__create{display:block}.tournament-app .tournament-lobby__create>*:not(.tournament-lobby__create-head){margin-left:22px;margin-right:22px}.tournament-app .tournament-lobby__create>*:not(.tournament-lobby__create-head):not(:first-of-type){margin-top:18px}.tournament-app .tournament-lobby__create>label:first-of-type,.tournament-app .tournament-lobby__create>.tournament-lobby__create-head+*{margin-top:18px}.tournament-app .tournament-lobby__create>.tournament-lobby__actions{margin-bottom:22px}.tournament-app .tournament-lobby__join>p,.tournament-app .tournament-lobby__browse>p,.tournament-app .tournament-lobby__join>label,.tournament-app .tournament-lobby__join>input,.tournament-app .tournament-lobby__join>.tournament-lobby__create-actions,.tournament-app .tournament-lobby__browse-search,.tournament-app .tournament-lobby__browse>p[role],.tournament-app .tournament-lobby__browse-list,.tournament-app .tournament-lobby__browse-empty{margin-left:22px;margin-right:22px}.tournament-app .tournament-lobby__join>p{margin-top:12px}.tournament-app .tournament-lobby__create>label,.tournament-app .tournament-lobby__create .tournament-lobby__row>label,.tournament-app .tournament-lobby__pacing>label.tournament-lobby__pacing-fields{display:block;color:var(--lo-ink-muted);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:0}.tournament-app .tournament-lobby__create>label input[type=text],.tournament-app .tournament-lobby__create>label input[type=number],.tournament-app .tournament-lobby__create>label select,.tournament-app .tournament-lobby__create .tournament-lobby__row>label input[type=text],.tournament-app .tournament-lobby__create .tournament-lobby__row>label input[type=number],.tournament-app .tournament-lobby__create .tournament-lobby__row>label input[type=time],.tournament-app .tournament-lobby__create .tournament-lobby__row>label select,.tournament-app .tournament-lobby__pacing>label.tournament-lobby__pacing-fields select{display:block;margin-top:7px;width:100%;max-width:100%}.tournament-app .tournament-lobby__pacing legend{color:var(--lo-ink-muted);font-weight:700;font-size:12px;letter-spacing:.04em;text-transform:uppercase;padding:0;margin-bottom:9px}.tournament-app .tournament-lobby__create .tournament-lobby__check,.tournament-app .tournament-lobby__create .tournament-lobby__visibility{text-transform:none;letter-spacing:0;color:var(--lo-ink)}.tournament-app .tournament-lobby__join input,.tournament-app .tournament-lobby__browse-search input,.tournament-app .tournament-lobby__create input[type=text],.tournament-app .tournament-lobby__create input[type=number],.tournament-app .tournament-lobby__create input[type=time],.tournament-app .tournament-lobby__create select{font-family:Plus Jakarta Sans,sans-serif;font-size:15px;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);border-radius:9px;padding:11px 13px;box-shadow:none}.tournament-app .tournament-lobby__create input:focus,.tournament-app .tournament-lobby__create select:focus,.tournament-app .tournament-lobby__join input:focus{outline:none;border-color:var(--lo-primary-a);box-shadow:0 0 0 3px #c8402a24}.tournament-app .tournament-lobby__create .tournament-lobby__row{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.tournament-app .tournament-lobby__create .tournament-lobby__row>label{min-width:0}.tournament-app .tournament-lobby__create .tournament-lobby__row:has(>label:only-child){grid-template-columns:minmax(0,1fr) 1fr}.tournament-app .tournament-lobby__pacing{border:none;padding:0;margin:0}.tournament-app .tournament-lobby__pacing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tournament-app .tournament-lobby__pacing-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;min-width:0;border-radius:10px;padding:13px 10px;cursor:pointer;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);transition:transform .12s ease,border-color .12s ease,background .12s ease}.tournament-app .tournament-lobby__pacing-card:hover{transform:translateY(-1px);border-color:var(--lo-ink-faint)}.tournament-app .tournament-lobby__pacing-card.is-active{border-color:var(--lo-primary-a);background:#fff;box-shadow:0 0 0 2px #c8402a24,var(--lo-shadow-sm)}.tournament-app .tournament-lobby__pacing-icon{font-size:20px;line-height:1}.tournament-app .tournament-lobby__pacing-name{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:13.5px;color:var(--lo-ink);line-height:1.2}.tournament-app .tournament-lobby__pacing-hint{font-size:11px;line-height:1.35;color:var(--lo-ink-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tournament-app .tournament-lobby__pacing-fields{margin-top:16px;padding-top:16px;border-top:1px solid var(--lo-line)}.tournament-app .tournament-lobby__pacing-fields+.tournament-lobby__pacing-fields{margin-top:14px;padding-top:0;border-top:none}.tournament-app .tournament-lobby__time-range{display:flex;align-items:center;gap:8px;margin-top:7px}.tournament-app .tournament-lobby__time-range input{margin-top:0}.tournament-app .tournament-lobby__time-range span{color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__create .tournament-lobby__check{display:flex;flex-direction:row;align-items:center;gap:9px;margin:0;font-size:13.5px;font-weight:600}.tournament-app .tournament-lobby__create .tournament-lobby__check input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--lo-primary-a);cursor:pointer}.tournament-app .tournament-lobby__pacing>.tournament-lobby__check{margin-top:16px;padding-top:16px;border-top:1px solid var(--lo-line)}.tournament-app .tournament-lobby__advanced>summary{color:var(--lo-primary-a);font-weight:600;font-size:13.5px;font-family:Plus Jakarta Sans,sans-serif;letter-spacing:0;width:fit-content;padding:4px 0;margin:0}.tournament-app .tournament-lobby__advanced[open]>summary{margin-bottom:14px}.tournament-app .tournament-lobby__advanced .tournament-lobby__row{gap:16px}.tournament-app .tournament-lobby__advanced .tournament-lobby__row{grid-template-columns:repeat(3,1fr)}.tournament-app .tournament-lobby__form-hint{font-size:12.5px;line-height:1.5;color:var(--lo-ink-muted);background:var(--lo-paper-hi);border:1px solid var(--lo-line);border-radius:9px;padding:10px 12px;margin:0}.tournament-app .tournament-lobby__repeat{display:flex;align-items:center;gap:10px;margin:12px 0 0;font:600 14px Plus Jakarta Sans,system-ui,sans-serif;color:var(--lo-ink)}.tournament-app .tournament-lobby__repeat select{padding:6px 10px;border-radius:8px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink)}.tournament-app .tournament-lobby__hof{margin:16px 0;border:1px solid var(--lo-line-strong);border-radius:12px;background:var(--lo-paper-hi);padding:14px 16px}.tournament-app .tournament-lobby__hof>h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0}.tournament-app .tournament-lobby__hof-sub{margin:2px 0 10px;font-size:12.5px;color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__hof-list{list-style:none;margin:0;padding:0}.tournament-app .tournament-lobby__hof-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--lo-line)}.tournament-app .tournament-lobby__hof-item:last-child{border-bottom:0}.tournament-app .tournament-lobby__hof-rank{flex:0 0 1.8em;text-align:center;font-weight:700;font-size:15px;color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__hof-name{flex:1 1 auto;min-width:0;font-weight:600;color:var(--lo-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .tournament-lobby__hof-name:hover{text-decoration:underline}.tournament-app .tournament-lobby__hof-wins{flex:0 0 auto;font-weight:600;color:var(--lo-ink);font-size:14px}.tournament-app .tournament-lobby__winners{margin:16px 0;border:1px solid var(--lo-line-strong);border-radius:12px;background:var(--lo-paper-hi);padding:14px 16px}.tournament-app .tournament-lobby__winners>h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0}.tournament-app .tournament-lobby__winners-sub{margin:2px 0 10px;font-size:12.5px;color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__winners-list{list-style:none;margin:0;padding:0}.tournament-app .tournament-lobby__winners-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--lo-line)}.tournament-app .tournament-lobby__winners-item:last-child{border-bottom:0}.tournament-app .tournament-lobby__winners-medal{flex:0 0 auto;display:inline-flex;color:#b08a35}.tournament-app .tournament-lobby__winners-name{flex:0 0 auto;font-weight:600;color:var(--lo-ink);text-decoration:none}.tournament-app .tournament-lobby__winners-name:hover{text-decoration:underline}.tournament-app .tournament-lobby__winners-event{flex:1 1 auto;min-width:0;color:var(--lo-ink-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .tournament-lobby__winners-when{flex:0 0 auto;color:var(--lo-ink-muted);font-size:12.5px;font-variant-numeric:tabular-nums}.tournament-app .tournament-lobby__recurring{margin:16px 0}.tournament-app .tournament-lobby__recurring>h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0 0 8px}.tournament-app .tournament-lobby__recurring-list{list-style:none;padding:0;margin:0}.tournament-app .tournament-lobby__recurring-item{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--lo-line)}.tournament-app .tournament-lobby__recurring-item:last-child{border-bottom:0}.tournament-app .tournament-lobby__recurring-name strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:15px;color:var(--lo-ink)}.tournament-app .tournament-lobby__recurring-item button{margin-left:auto;white-space:nowrap}.tournament-app .tournament-lobby__visibility{display:flex;flex-direction:row;align-items:center;gap:12px;border:1px solid var(--lo-line-strong);border-radius:10px;padding:13px 15px;background:var(--lo-paper-hi);margin:0}.tournament-app .tournament-lobby__visibility-text{display:block;min-width:0}.tournament-app .tournament-lobby__visibility-label{display:block;font-weight:700;font-size:13.5px;color:var(--lo-ink)}.tournament-app .tournament-lobby__visibility-desc{display:block;font-size:12px;line-height:1.4;color:var(--lo-ink-muted);margin-top:2px}.tournament-app .tournament-lobby__join button[type=submit],.tournament-app .tournament-lobby__browse-search button[type=submit],.tournament-app .tournament-lobby__browse-item button,.tournament-app .tournament-lobby__actions button[type=submit],.tournament-app .tournament-lobby__create-actions button[type=submit]{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border:1px solid transparent;border-radius:9px;padding:10px 16px;cursor:pointer;box-shadow:0 6px 14px #b4381e3d}.tournament-app .tournament-lobby__join button[type=submit]:hover:not(:disabled),.tournament-app .tournament-lobby__actions button[type=submit]:hover:not(:disabled),.tournament-app .tournament-lobby__create-actions button[type=submit]:hover:not(:disabled){filter:brightness(1.02);transform:translateY(-1px)}.tournament-app .tournament-lobby__join .ghost,.tournament-app .tournament-lobby__browse .ghost,.tournament-app .tournament-lobby__create .ghost,.tournament-app .tournament-lobby__actions .ghost,.tournament-app .tournament-lobby__create-actions .ghost{background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);border-radius:9px;padding:10px 16px;cursor:pointer}.tournament-app .tournament-lobby__actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:18px}.tournament-app .tournament-lobby__browse-tabs{display:flex;gap:8px;margin-top:12px}.tournament-app .tournament-lobby__browse-tabs button[role=tab]{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;border-radius:9px;padding:8px 18px;cursor:pointer;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong)}.tournament-app .tournament-lobby__browse-tabs button[role=tab][aria-selected=true]{background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border-color:transparent;box-shadow:0 6px 14px #b4381e3d}.tournament-app .tournament-lobby__browse-search{display:flex;gap:10px;margin-top:14px;margin-bottom:14px}.tournament-app .tournament-lobby__browse-search input{flex:1}.tournament-app .tournament-lobby__browse-list{list-style:none;padding:0;margin-top:8px;margin-bottom:16px}.tournament-app .tournament-lobby__browse-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--lo-line)}.tournament-app .tournament-lobby__browse-item:last-child{border-bottom:0}.tournament-app .tournament-lobby__browse-name strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:var(--lo-ink)}.tournament-app .tournament-lobby__browse-meta{color:var(--lo-ink-muted)!important}.tournament-app .tournament-lobby__browse-item button{margin-left:auto;white-space:nowrap}.tournament-app .tournament-lobby__browse-empty{color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__visibility input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:46px;height:26px;border-radius:20px;background:#b9ac92;position:relative;flex:none;box-shadow:inset 0 2px 4px #00000038;transition:background .15s;cursor:pointer}.tournament-app .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-app .tournament-lobby__visibility input[type=checkbox]:checked{background:var(--lo-primary-a)}.tournament-app .tournament-lobby__visibility input[type=checkbox]:checked:after{left:23px}.tournament-app .tournament-lobby__empty{color:var(--lo-ink-muted)}@media (max-width: 640px){.tournament-app .tournament-lobby__masthead{flex-direction:column;align-items:stretch;gap:12px}.tournament-app .tournament-lobby__masthead .landing-stats{text-align:left;align-self:flex-start}.tournament-app .tournament-lobby__header-actions .tournament-lobby__cta{flex:1 1 auto;justify-content:center}.tournament-app .tournament-card{grid-template-columns:6px minmax(0,1fr) auto;gap:8px 12px}.tournament-app .tournament-card:after{grid-column:1;grid-row:1;height:100%}.tournament-app .tournament-card__open{grid-column:2;grid-row:1;grid-template-columns:1fr;gap:4px}.tournament-app .tournament-card__footer{grid-column:1;grid-row:3;justify-content:flex-start}.tournament-app .tournament-card__title{grid-column:1;grid-row:1}.tournament-app .tournament-card__meta{grid-column:1;grid-row:2}.tournament-app .tournament-card__you-rank{text-align:left}.tournament-app .tournament-card__actions{grid-column:3;grid-row:1;align-items:center}.tournament-app .tournament-lobby__create .tournament-lobby__row,.tournament-app .tournament-lobby__advanced .tournament-lobby__row{grid-template-columns:1fr}.tournament-app .tournament-lobby__pacing-cards{gap:7px}.tournament-app .tournament-lobby__pacing-card{padding:11px 7px}}.tournament-app .tournament-detail{--lo-ink: #2c2218;--lo-ink-muted: rgba(44, 34, 24, .8);--lo-ink-faint: rgba(44, 34, 24, .42);--lo-paper: #f6efe0;--lo-paper-hi: #fdf8ec;--lo-line: rgba(44, 34, 24, .13);--lo-line-strong: rgba(44, 34, 24, .22);--lo-row-hover: rgba(255, 253, 246, .72);--lo-primary-a: #c8402a;--lo-primary-b: #e8662f;--lo-gold: #b07d1e;--lo-green: #466f12;--lo-shadow-sm: 0 1px 2px rgba(40, 28, 14, .1);--lo-shadow-md: 0 10px 24px rgba(40, 28, 14, .16);--lo-radius: 12px;background:radial-gradient(1100px 700px at -8% -18%,rgba(246,239,224,.96),transparent 60%),radial-gradient(900px 620px at 108% -10%,rgba(238,226,200,.9),transparent 56%),linear-gradient(160deg,#f3ead6,#ecdfc4 60%,#e6d6ba);border:1px solid var(--lo-line-strong);border-radius:16px;box-shadow:var(--lo-shadow-md);max-width:1120px;margin:0 auto;padding:clamp(20px,3.5vw,36px) clamp(16px,3vw,36px) 56px;color:var(--lo-ink);font-family:Plus Jakarta Sans,system-ui,sans-serif}.tournament-app .tournament-detail h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;letter-spacing:.01em;color:var(--lo-ink);margin:0 0 10px;border:none;padding:0}.tournament-app .tournament-detail>section:not(.tournament-detail__podium):not(.tournament-detail__final){background:var(--lo-paper);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);box-shadow:var(--lo-shadow-md);padding:18px 20px;margin-top:22px}.tournament-app .tournament-detail__header{position:relative;display:block;background:transparent;border:none;border-radius:0;box-shadow:none;overflow:visible;padding:0 0 18px;margin:0 0 22px;border-bottom:1px solid var(--lo-line-strong)}.tournament-app .tournament-detail__header:before,.tournament-app .tournament-detail__header:after{content:none}.tournament-app .tournament-detail__header .ghost{display:inline-flex;align-items:center;gap:5px;font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--lo-primary-a);opacity:.92;padding:0;margin:0 0 10px;background:transparent;border:none}.tournament-app .tournament-detail__header .ghost:hover{opacity:1;color:var(--lo-primary-a)}.tournament-app .tournament-detail__header h1,.tournament-app .tournament-detail__editable-name{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:clamp(28px,4.4vw,38px);line-height:1.04;margin:0 0 4px;color:var(--lo-ink)}.tournament-app .tournament-detail__invite{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px;padding:10px 12px;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);background:var(--lo-paper-hi);box-shadow:var(--lo-shadow-sm)}.tournament-app .tournament-detail__invite code{background:#fff!important;border:1px dashed #b9a87f;border-radius:8px;padding:6px 12px;font-family:Fraunces,Georgia,serif!important;font-weight:600;font-size:15px;color:var(--lo-ink);letter-spacing:.16em}.tournament-app .tournament-detail__invite button{min-height:34px;padding:7px 13px;border-radius:9px;font:600 13px Plus Jakarta Sans,sans-serif;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);box-shadow:none;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.tournament-app .tournament-detail__invite button:hover{background:#fff;border-color:var(--lo-ink-faint);transform:none}.tournament-app .tournament-detail__meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;opacity:1;margin-top:14px;font-size:12.5px;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__meta>span{display:inline-flex;align-items:center;gap:5px;padding:0;border:none;border-radius:0;background:transparent;color:var(--lo-ink-muted);font-weight:500;letter-spacing:0;box-shadow:none}.tournament-app .tournament-detail__meta>span strong{color:var(--lo-ink);font-weight:600;text-transform:none}.tournament-app .tournament-detail__meta>span:first-child{border:none;background:transparent;box-shadow:none;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__meta>span:first-child strong{color:var(--lo-ink)}.tournament-app .tournament-detail__clock{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:16px 0 8px;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);overflow:hidden;background:var(--lo-line-strong);box-shadow:var(--lo-shadow-md)}.tournament-app .tournament-detail__clock .tdc__cell{display:flex;flex-direction:column;gap:4px;padding:13px 15px;background:var(--lo-paper)}.tournament-app .tournament-detail__clock .tdc__k{font:700 10.5px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__clock .tdc__v{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:24px;line-height:1;color:var(--lo-ink)}.tournament-app .tournament-detail__clock .tdc__v i{font-style:normal;font-size:15px;font-weight:600;color:var(--lo-ink-faint)}.tournament-app .tournament-detail__clock .tdc__v--time{font-size:18px}.tournament-app .tournament-detail__clock .tdc__cell--me{background:linear-gradient(180deg,#fdf3cf,#f7e7ad);box-shadow:inset 3px 0 0 var(--lo-gold);position:relative}.tournament-app .tournament-detail__clock .tdc__cell--me:after{content:none}.tournament-app .tournament-detail__clock .tdc__cell--me .tdc__k{color:#8a6512}.tournament-app .tournament-detail__clock .tdc__cell--me .tdc__v{color:#6b4a14;font-size:24px}@media (max-width: 540px){.tournament-app .tournament-detail__clock{grid-template-columns:repeat(2,1fr)}}.tournament-app .tournament-detail__window-caption{margin:4px 0 8px;font-size:12px;font-weight:500;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__board{margin:12px 0;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);overflow:hidden;background:var(--lo-paper);box-shadow:var(--lo-shadow-md)}.tournament-app .tournament-detail__board .tdb__head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--lo-line);background:linear-gradient(180deg,var(--lo-paper-hi),var(--lo-paper))}.tournament-app .tournament-detail__board .tdb__title{font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__board .tdb__round{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:15px;color:var(--lo-ink);display:inline-flex;align-items:baseline;gap:7px}.tournament-app .tournament-detail__board .tdb__round-tag{font:700 10px Plus Jakarta Sans,sans-serif;letter-spacing:.5px;text-transform:uppercase;font-style:normal;padding:2px 8px;border-radius:999px}.tournament-app .tournament-detail__board .tdb__round-tag--live{background:#c8402a24;color:#8a2c1a;border:none}.tournament-app .tournament-detail__board .tdb__round-tag--done{background:#56962429;color:#3a5a12;border:none}.tournament-app .tournament-detail__board .tdb__row{display:grid;grid-template-columns:1fr auto 1fr auto auto;align-items:center;gap:8px 12px;padding:11px 16px;border-top:1px solid var(--lo-line);background:transparent}.tournament-app .tournament-detail__board .tdb__row:first-child{border-top:none}.tournament-app .tournament-detail__board .tdb__player{font:600 14px Plus Jakarta Sans,sans-serif;color:var(--lo-ink);min-width:0}.tournament-app .tournament-detail__board .tdb__player.is-winner{color:#3a5a12}.tournament-app .tournament-detail__board .tdb__vs{font-size:12px;font-weight:500;color:var(--lo-ink-faint);text-align:center}.tournament-app .tournament-detail__board .tdb__you{font-size:11px;font-weight:600;color:var(--lo-gold)}.tournament-app .tournament-detail__board .tdb__status{justify-self:end;font:700 10.5px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap;border:none}.tournament-app .tournament-detail__board .tdb__status--scheduled{background:#2c221814;color:var(--lo-ink-muted)}.tournament-app .tournament-detail__board .tdb__status--live{background:#c8402a24;color:#8a2c1a}.tournament-app .tournament-detail__board .tdb__status--completed{background:#56962429;color:#3a5a12}.tournament-app .tournament-detail__board .tdb__status--bye{background:#2b6f9924;color:#1a4666}.tournament-app .tournament-detail__board .tdb__row--me{background:linear-gradient(180deg,#fdf3cf,#f7e7ad);box-shadow:inset 3px 0 0 var(--lo-gold)}@media (max-width: 540px){.tournament-app .tournament-detail__board .tdb__row{grid-template-columns:1fr auto 1fr}.tournament-app .tournament-detail__board .tdb__status,.tournament-app .tournament-detail__board .tdb__watch{grid-column:1 / -1;justify-self:start}}.tournament-app .tournament-detail__board .tdb__pname{color:inherit;text-decoration:none}.tournament-app .tournament-detail__board .tdb__pname:hover{text-decoration:underline}.tournament-app .tournament-profile{--lo-ink: #2c2218;--lo-ink-muted: rgba(44, 34, 24, .8);--lo-paper-hi: #fdf8ec;--lo-line: rgba(44, 34, 24, .13);--lo-line-strong: rgba(44, 34, 24, .22);--lo-primary-a: #c8402a;--lo-primary-b: #e8662f;--lo-gold: #b07d1e;--lo-green: #466f12;max-width:var(--page-content);margin:0 auto;padding:24px 18px 48px;color:var(--lo-ink);font-family:Plus Jakarta Sans,system-ui,sans-serif;background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;box-shadow:0 1px 2px #2a241714}.tournament-app .tournament-profile__back{display:inline-block;margin-bottom:16px;color:var(--lo-ink-muted);text-decoration:none;font-weight:600;font-size:14px}.tournament-app .tournament-profile__back:hover{color:var(--lo-ink);text-decoration:underline}.tournament-app .tournament-profile__head{margin-bottom:18px}.tournament-app .tournament-profile__name{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;font-optical-sizing:auto;color:var(--lo-ink);margin:0}.tournament-app .tournament-profile__since{color:var(--lo-ink-muted);font-size:14px;margin:4px 0 0}.tournament-app .tournament-profile__follow{margin-top:12px;cursor:pointer;font:700 14px Plus Jakarta Sans,system-ui,sans-serif;padding:8px 20px;border-radius:999px;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border:1px solid transparent}.tournament-app .tournament-profile__follow:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.tournament-app .tournament-profile__follow:disabled{opacity:.6;cursor:default}.tournament-app .tournament-profile__follow.is-following{background:var(--lo-paper-hi);color:var(--lo-ink);border-color:var(--lo-line-strong)}.tournament-app .tournament-profile__stats{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:18px}.tournament-app .tournament-profile__stat{flex:1 1 140px;background:var(--lo-paper-hi);border:1px solid var(--lo-line);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:4px}.tournament-app .tournament-profile__stat-k{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--lo-ink-muted)}.tournament-app .tournament-profile__stat-v{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:600;color:var(--lo-ink)}.tournament-app .tournament-profile__stat--btn{cursor:pointer;font:inherit;text-align:left;transition:border-color .12s,background .12s}.tournament-app .tournament-profile__stat--btn:hover{border-color:var(--lo-line-strong)}.tournament-app .tournament-profile__stat--btn.is-open{border-color:var(--lo-primary-a);background:var(--lo-paper-hi)}.tournament-app .tournament-profile__follows{margin:6px 0 18px}.tournament-app .tournament-profile__follows h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0 0 10px}.tournament-app .tournament-profile__showmore{margin-top:10px}.tournament-app .tournament-profile__friends{margin:18px 0}.tournament-app .tournament-profile__friends h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0 0 10px}.tournament-app .tournament-profile__friend-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tournament-app .tournament-profile__friend-name{display:inline-block;padding:5px 12px;border-radius:999px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink);font-weight:600;font-size:14px;text-decoration:none}.tournament-app .tournament-profile__friend-name:hover{background:var(--lo-row-hover);text-decoration:underline}.tournament-app .tournament-profile__heatmap{margin:18px 0}.tournament-app .tournament-profile__heatmap h2{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.005em;color:var(--lo-ink);margin:0 0 6px}.tournament-app .tournament-profile__heatmap-streaks{margin:0 0 10px;font-size:14px;color:var(--lo-ink-muted);font-variant-numeric:tabular-nums}.tournament-app .tournament-profile__heatmap-grid{display:flex;gap:3px;overflow-x:auto;padding-bottom:4px}.tournament-app .tournament-profile__heatmap-col{display:flex;flex-direction:column;gap:3px}.tournament-app .tournament-profile__heatmap-cell{width:11px;height:11px;border-radius:2px;background:#fbf6ea;border:1px solid rgba(44,34,24,.1)}.tournament-app .tournament-profile__heatmap-cell.is-1{background:color-mix(in srgb,#b08a35 22%,#fbf6ea)}.tournament-app .tournament-profile__heatmap-cell.is-2{background:color-mix(in srgb,#b08a35 44%,#fbf6ea)}.tournament-app .tournament-profile__heatmap-cell.is-3{background:color-mix(in srgb,#b08a35 70%,#fbf6ea)}.tournament-app .tournament-profile__heatmap-cell.is-4{background:#b08a35}.tournament-app .tournament-profile__heatmap-cell.is-future{visibility:hidden}.tournament-app .tournament-profile__recent-games{margin:18px 0}.tournament-app .tournament-profile__games .tournament-profile__friend-list{flex-direction:column;flex-wrap:nowrap;gap:5px}.tournament-app .tournament-profile__games .tournament-profile__friend{display:flex;align-items:center;gap:10px;padding:7px 11px;border-radius:9px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi)}.tournament-app .tournament-profile__game-result{flex:0 0 auto;min-width:22px;text-align:center;padding:2px 7px;border-radius:6px;font-weight:700;font-size:12px;color:#fff}.tournament-app .tournament-profile__game-result--win{background:#2f7d32}.tournament-app .tournament-profile__game-result--loss{background:#b23b2e}.tournament-app .tournament-profile__game-result--draw{background:#8a7a5c}.tournament-app .tournament-profile__game-opponent{flex:1 1 auto;min-width:0;font-weight:600;color:var(--lo-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .tournament-profile__game-variant{flex:0 0 auto;font-size:13px;color:var(--lo-ink-muted)}.tournament-app .tournament-profile__game-ago{flex:0 0 auto;font-size:13px;color:var(--lo-ink-muted);font-variant-numeric:tabular-nums}.tournament-app .tournament-profile__game-recap{flex:0 0 auto;font-size:13px;color:var(--lo-accent, #c8402a);text-decoration:none}.tournament-app .tournament-profile__game-recap:hover{text-decoration:underline}.tournament-app .tournament-profile__crosstable-section{margin:18px 0}.tournament-app .tournament-profile__crosstable-toggle{font:inherit;cursor:pointer;font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);background:none;border:none;padding:0;margin:0 0 10px;text-align:left}.tournament-app .tournament-profile__crosstable-toggle:before{content:"▸ ";color:var(--lo-ink-muted)}.tournament-app .tournament-profile__crosstable-toggle.is-open:before{content:"▾ "}.tournament-app .tournament-profile__crosstable-split{border-collapse:collapse;margin:0 0 12px;font-size:14px}.tournament-app .tournament-profile__crosstable-split th,.tournament-app .tournament-profile__crosstable-split td{padding:5px 14px 5px 0;text-align:left;color:var(--lo-ink);font-variant-numeric:tabular-nums}.tournament-app .tournament-profile__crosstable-split thead th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--lo-ink-muted);font-weight:600}.tournament-app .tournament-profile__crosstable-split tbody th{font-weight:600}.tournament-app .tournament-profile__crosstable .tournament-profile__friend-list{flex-direction:column;flex-wrap:nowrap;gap:5px}.tournament-app .tournament-profile__crosstable .tournament-profile__friend{display:flex;align-items:center;gap:10px;padding:7px 11px;border-radius:9px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi)}.tournament-app .tournament-profile__crosstable-note{margin:8px 0 0;font-size:12px;color:var(--lo-ink-muted);font-style:italic}.tournament-app .tournament-profile__tournaments h2{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0 0 10px}.tournament-app .tournament-profile__tlist{list-style:none;margin:0;padding:0}.tournament-app .tournament-profile__trow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid var(--lo-line)}.tournament-app .tournament-profile__trow:first-child{border-top:none}.tournament-app .tournament-profile__tname{color:var(--lo-ink);font-weight:600;text-decoration:none}.tournament-app .tournament-profile__tname:hover{text-decoration:underline}.tournament-app .tournament-profile__tphase{font:700 10.5px Plus Jakarta Sans,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:3px 9px;border-radius:999px;white-space:nowrap}.tournament-app .tournament-profile__tphase--completed{background:#56962429;color:#3a5a12}.tournament-app .tournament-profile__tphase--in_progress{background:#c8402a24;color:#8a2c1a}.tournament-app .tournament-profile__tphase--winner{background:#b07d1e2e;color:#6b4a14}.tournament-app .tournament-profile__tphase--podium{background:#2c22181a;color:var(--lo-ink-muted)}.tournament-app .tournament-profile__tphase--milestone{background:#466f1224;color:#3c5a10}.tournament-app .tournament-profile__tphase--streak{background:#c8402a21;color:#8a2c1a}.tournament-app .tournament-profile__trophy-icon{margin-right:6px}.tournament-app .tournament-profile__empty,.tournament-app .tournament-profile__loading{color:var(--lo-ink-muted)}.tournament-app .tournament-detail__lifecycle{display:flex;align-items:center;gap:9px;margin:12px 0;padding:11px 14px;border:1px solid var(--lo-line-strong);border-left-width:4px;border-radius:var(--lo-radius);font:600 13px Plus Jakarta Sans,sans-serif;line-height:1.4;background:var(--lo-paper-hi);box-shadow:var(--lo-shadow-sm)}.tournament-app .tournament-detail__lifecycle.lifecycle--enrolled{border-left-color:#3a5a12;color:#3a5a12;background:#5696241a}.tournament-app .tournament-detail__lifecycle.lifecycle--pending{border-left-color:var(--lo-gold);color:#8a6212;background:#b07d1e1a}.tournament-app .tournament-detail__lifecycle.lifecycle--warning{border-left-color:var(--lo-primary-a);color:#8a2c1a;background:#c8402a14}.tournament-app .tournament-detail__player-list{display:block;grid-template-columns:none;gap:0;list-style:none;margin:8px 0 0;padding:0}.tournament-app .tournament-detail__player-list>li{display:flex;align-items:center;gap:13px;justify-content:space-between;padding:12px 6px;border-bottom:1px solid var(--lo-line);background:transparent;border-radius:0}.tournament-app .tournament-detail__player-list>li:last-child{border-bottom:0}.tournament-app .tournament-detail__player-list>li:hover{background:var(--lo-row-hover)}.tournament-app .tournament-detail__player-list>li[aria-current=true]{background:linear-gradient(180deg,#fdf3cf,#f7e7ad)!important;border-radius:8px;box-shadow:inset 3px 0 0 var(--lo-gold)}.tournament-app .tournament-detail__player-name-row strong{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:16px;color:var(--lo-ink)}.tournament-app .tournament-detail__you-pill{display:inline-block;margin-left:.45em;font:700 11px Plus Jakarta Sans,sans-serif;letter-spacing:.3px;padding:1px 8px;border-radius:999px;background:var(--lo-gold);color:#fff}.tournament-app .tournament-detail__player-kind{display:inline-block;font:600 11px Plus Jakarta Sans,sans-serif;letter-spacing:.2px;padding:2px 8px;border-radius:999px;margin-right:5px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink-muted)}.tournament-app .tournament-detail__rating-chip{display:inline-block;margin-left:.45em;font:600 11px Plus Jakarta Sans,sans-serif;padding:1px 8px;border-radius:999px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink-muted)}.tournament-app .tournament-detail__watchers{display:inline-block;margin-left:.5em;vertical-align:middle;font:600 12.5px Plus Jakarta Sans,sans-serif;color:var(--lo-ink-muted);padding:2px 10px;border-radius:999px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi)}.tournament-app .tournament-detail__countdown{display:inline-block;margin-left:.5em;vertical-align:middle;font:700 12.5px Plus Jakarta Sans,sans-serif;color:#8a2c1a;padding:2px 10px;border-radius:999px;border:1px solid rgba(200,64,42,.3);background:#c8402a14;font-variant-numeric:tabular-nums}.tournament-app .tournament-detail__player-kind--human{color:#8a2c1a;border-color:#c8402a4d;background:#c8402a14}.tournament-app .tournament-detail__player-kind--bot{color:var(--lo-ink-muted);border-color:var(--lo-line-strong);background:var(--lo-paper-hi)}.tournament-app .tournament-detail__player-kind--paused{color:#8a6212;border-color:#b07d1e66;background:#b07d1e1f}.tournament-app .tournament-detail__player-kind--warn{color:#8a2c1a;border-color:#c8402a66;background:#c8402a1a}.tournament-app .tournament-detail__pairings{margin-top:4px}.tournament-app .tournament-detail__pairing{background:var(--lo-paper-hi);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);padding:13px 16px;margin-top:10px;box-shadow:none}.tournament-app .tournament-detail__pairing--me{border-color:var(--lo-gold);box-shadow:inset 3px 0 0 var(--lo-gold)}.tournament-app .tournament-detail__pairing-meta{color:var(--lo-ink-muted)}.tournament-app .tournament-detail__round-header{margin-bottom:14px}.tournament-app .tournament-detail__readyup{margin:12px 0 6px}.tournament-app .tournament-detail__ready-btn{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:15px;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border:1px solid transparent;border-radius:9px;padding:11px 20px;cursor:pointer;box-shadow:0 8px 18px #b4381e47;transition:transform .12s ease,box-shadow .12s ease}.tournament-app .tournament-detail__ready-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px #b4381e57}.tournament-app .tournament-detail__ready-btn:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none}.tournament-app .tournament-detail__ready-banner,.tournament-app .tournament-detail__ready-waiting{margin:0 0 8px;padding:9px 13px;border-radius:9px;font-weight:600}.tournament-app .tournament-detail__ready-banner{background:#c8402a14;border:1px solid rgba(200,64,42,.3);color:#8a2c1a}.tournament-app .tournament-detail__ready-waiting{background:#b07d1e1f;border:1px solid rgba(176,125,30,.4);color:#8a6212}.tournament-app .tournament-detail__startwin{border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);box-shadow:var(--lo-shadow-sm)}.tournament-app .tournament-detail__startwin.is-calm{background:var(--lo-paper-hi);border-color:var(--lo-line-strong);color:var(--lo-ink)}.tournament-app .tournament-detail__startwin.is-urgent{background:#b07d1e1f;border-color:#b07d1e80;color:#8a6212}.tournament-app .tournament-detail__startwin.is-critical{background:#c8402a1a;border-color:#c8402a80;color:#8a2c1a}.tournament-app .tournament-detail__phase-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}.tournament-app .tournament-detail__phase-actions button{font-family:Plus Jakarta Sans,sans-serif;font-weight:600;font-size:14px;border-radius:9px;padding:10px 16px;cursor:pointer;background:var(--lo-paper-hi);color:var(--lo-ink);border:1px solid var(--lo-line-strong);box-shadow:var(--lo-shadow-sm);transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease}.tournament-app .tournament-detail__phase-actions button:hover:not(:disabled){background:#fff;border-color:var(--lo-ink-faint)}:root[data-style-theme] .tournament-app .tournament-detail__phase-actions button:first-child,.tournament-app .tournament-detail__phase-actions button:first-child{background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b));color:#fff6e8;border-color:transparent;font-weight:700;box-shadow:0 8px 18px #b4381e47}.tournament-app .tournament-detail__phase-actions button:first-child:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 22px #b4381e57}.tournament-app .tournament-detail__phase-actions button.ghost.danger{background:var(--lo-paper-hi);color:#8a2c1a;border-color:#c8402a59;box-shadow:none;font-weight:600}.tournament-app .tournament-detail__phase-actions button.ghost.danger:hover:not(:disabled){background:#f3d8ce;border-color:var(--lo-primary-a);transform:none}.tournament-app .tournament-detail__final{margin-top:22px}.tournament-app .tournament-detail__rematch-cta{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;font-size:.95em;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b))!important;color:#fff6e8!important;border:1px solid transparent!important;border-radius:9px!important;padding:10px 18px!important;box-shadow:0 8px 18px #b4381e47!important;transition:transform .12s ease,box-shadow .12s ease!important}.tournament-app .tournament-detail__rematch-cta:hover{transform:translateY(-1px);box-shadow:0 11px 22px #b4381e57!important;background:linear-gradient(135deg,var(--lo-primary-a),var(--lo-primary-b))!important;color:#fff6e8!important}.tournament-app .tournament-detail__grid-scroll{border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);background:var(--lo-paper);box-shadow:var(--lo-shadow-md)}.tournament-app .tournament-detail__standings-find{display:flex;gap:8px;align-items:center;margin:0 0 10px;flex-wrap:wrap}.tournament-app .tournament-detail__standings-filter{flex:1 1 200px;min-width:0;padding:8px 12px;border-radius:9px;border:1px solid var(--lo-line-strong);background:var(--lo-paper-hi);color:var(--lo-ink);font-size:14px}.tournament-app .tournament-detail__standings-jump{white-space:nowrap}.tournament-app .tdg__nomatch,.tournament-app .tdf__nomatch{padding:14px 12px;color:var(--lo-ink-muted);font-style:italic;text-align:center}.tournament-app .tournament-detail__your-standing{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:.75em;padding:13px 16px;border:1px solid var(--lo-line-strong);border-left:5px solid var(--lo-gold);border-radius:var(--lo-radius);background:linear-gradient(180deg,#fdf3cf,#f7e7ad);color:#6b4a14;font-weight:600;box-shadow:var(--lo-shadow-sm)}.tournament-app .tournament-detail__your-standing strong{color:var(--lo-ink)}.tournament-app .tournament-detail__your-standing strong:first-of-type{font-family:Fraunces,Georgia,serif;font-size:1.4em;font-weight:600;color:#6b4a14;line-height:1}@media (max-width: 560px){.tournament-app .tournament-detail{padding:clamp(16px,4vw,22px) clamp(12px,3vw,16px) 40px}.tournament-app .tournament-detail__header h1,.tournament-app .tournament-detail__editable-name{font-size:26px}.tournament-app .tournament-detail__phase-actions button{flex:1 1 auto;justify-content:center;text-align:center}}.tournament-app .tournament-detail__chat{margin:22px 0;border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);background:var(--lo-paper-hi);padding:14px 16px;box-shadow:var(--lo-shadow-sm)}.tournament-app .tournament-detail__chat>h3{font-family:Fraunces,Georgia,serif;font-size:18px;color:var(--lo-ink);margin:0 0 10px}.tournament-app .tournament-detail__chat-list{list-style:none;margin:0 0 12px;padding:0;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}.tournament-app .tournament-detail__chat-empty{color:var(--lo-ink-muted);font-size:14px;font-style:italic}.tournament-app .tournament-detail__chat-msg{font-size:14px;line-height:1.45;color:var(--lo-ink)}.tournament-app .tournament-detail__chat-author{font-weight:600;margin-right:8px}.tournament-app .tournament-detail__chat-author:after{content:":"}.tournament-app .tournament-detail__chat-body{word-break:break-word}.tournament-app .tournament-detail__chat-form{display:flex;gap:8px}.tournament-app .tournament-detail__chat-form input{flex:1 1 auto;min-width:0;padding:9px 12px;border-radius:9px;border:1px solid var(--lo-line-strong);background:#fff;color:var(--lo-ink);font-size:14px}.tournament-app .tournament-detail__chat-form button{padding:9px 16px;border-radius:9px;border:1px solid transparent;background:var(--lo-primary-a);color:#fff;font-weight:600;cursor:pointer}.tournament-app .tournament-detail__chat-form button:disabled{opacity:.55;cursor:default}.tournament-app .tournament-detail__chat-readonly{color:var(--lo-ink-muted);font-size:13px;margin:0}.tournament-app .tournament-detail__chat-error{color:var(--lo-primary-a);font-size:13px;margin:8px 0 0}.follow-notify-setting{margin:12px 0 4px}.follow-notify-setting__row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px}.follow-notify-setting__row input{width:18px;height:18px}.follow-notify-setting__err{color:#b00020;font-size:13px;margin:6px 0 0}.push-setting{margin:12px 0 4px}.push-setting__row{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:15px}.push-setting__row input{width:18px;height:18px}.push-setting__test{margin-top:8px}.push-setting__err{color:#b00020;font-size:13px;margin:6px 0 0}.push-setting__ok{color:#1f6f3a;font-size:13px;margin:6px 0 0}.push-setting__kinds{list-style:none;margin:8px 0 0;padding:0 0 0 28px;display:flex;flex-direction:column;gap:6px}.push-setting__kind{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px}.push-setting__kind input{width:16px;height:16px}.tournament-app .arena-panel{background:var(--lo-paper-hi);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);padding:12px 14px;margin:10px 0;box-shadow:var(--lo-shadow-sm)}.tournament-app .arena-panel__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.tournament-app .arena-panel__badge{font-weight:700;letter-spacing:.02em;color:var(--lo-primary-a)}.tournament-app .arena-panel__clock{font-variant-numeric:tabular-nums;font-weight:700;color:var(--lo-ink);background:var(--lo-paper);border:1px solid var(--lo-line);border-radius:8px;padding:2px 9px}.tournament-app .arena-panel__clock--done{color:var(--lo-gold)}.tournament-app .arena-panel__prestart{display:flex;flex-direction:column;gap:6px}.tournament-app .arena-panel__meta{color:var(--lo-ink-muted);font-size:13px;margin:0}.tournament-app .arena-panel__board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tournament-app .arena-panel__row{display:grid;grid-template-columns:2ch 1fr auto auto;align-items:center;gap:10px;padding:5px 8px;border-radius:8px}.tournament-app .arena-panel__row:nth-child(odd){background:var(--lo-paper)}.tournament-app .arena-panel__row--me{background:#b07d1e29;outline:1px solid var(--lo-gold)}.tournament-app .arena-panel__rank{color:var(--lo-ink-faint);font-variant-numeric:tabular-nums;text-align:right}.tournament-app .arena-panel__name{color:var(--lo-ink);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .arena-panel__games{color:var(--lo-ink-muted);font-size:12px;font-variant-numeric:tabular-nums}.tournament-app .arena-panel__score{color:var(--lo-ink);font-weight:800;font-variant-numeric:tabular-nums;min-width:2ch;text-align:right;display:inline-flex;align-items:center;justify-content:flex-end;gap:3px}.tournament-app .arena-panel__flame{font-size:12px}.tournament-app .arena-panel__sheet{display:flex;flex-wrap:wrap;gap:3px;justify-content:flex-end}.tournament-app .arena-panel__cell{min-width:1.6em;padding:1px 4px;border-radius:5px;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--lo-ink);background:var(--lo-paper);border:1px solid rgba(0,0,0,.08)}.tournament-app .arena-panel__cell--win{color:#2f7d3b}.tournament-app .arena-panel__cell--loss{color:var(--lo-ink-faint)}.tournament-app .arena-panel__cell--double{color:#7a4b00;background:#b07d1e38;border-color:var(--lo-gold);box-shadow:0 0 2px #b07d1e59}.tournament-app .arena-panel__cell--berserk{border-color:var(--lo-gold)}.tournament-app .arena-panel__empty{color:var(--lo-ink-muted);font-size:13px;padding:6px 8px}.tournament-app .tournament-lobby__format{border:none;padding:0;margin:6px 0}.tournament-app .tournament-lobby__format legend{font-weight:600;color:var(--lo-ink);margin-bottom:4px}.tournament-app .tournament-lobby__format-cards{display:flex;gap:8px;flex-wrap:wrap}.tournament-app .tournament-lobby__format-card{flex:1 1 160px;display:flex;flex-direction:column;gap:2px;border:1px solid var(--lo-line-strong);border-radius:10px;padding:8px 10px;cursor:pointer;background:var(--lo-paper-hi)}.tournament-app .tournament-lobby__format-card.is-active{border-color:var(--lo-primary-a);box-shadow:0 0 0 1px var(--lo-primary-a) inset}.tournament-app .tournament-lobby__format-card input{position:absolute;opacity:0;pointer-events:none}.tournament-app .tournament-lobby__format-name{font-weight:700;color:var(--lo-ink)}.tournament-app .tournament-lobby__format-hint{font-size:12px;color:var(--lo-ink-muted)}.tournament-app .tournament-lobby__arena-fields{display:flex;gap:10px;flex-wrap:wrap}.tournament-app .arena-panel__berserk{margin:4px 0 8px}.tournament-app .arena-panel__berserk button{color:var(--lo-gold);border-color:var(--lo-gold);font-weight:700}.tournament-app .arena-panel__berserk button:hover:not(:disabled){background:#f0e4c8;border-color:#8a6a20;color:#8a6a20}.tournament-app .arena-panel__berserk-on{color:#8a6a20;font-weight:700;font-size:13px}.tournament-app .arena-panel__play{margin:2px 0 8px}.tournament-app .arena-panel__play button{width:100%}.tournament-app .arena-panel__waiting{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:4px 0 8px;padding:8px 10px;border-radius:8px;background:var(--lo-paper);border:1px dashed var(--lo-line-strong);color:var(--lo-ink-muted);font-size:13px}.tournament-app .arena-panel__waiting-text{font-weight:600;color:var(--lo-ink)}.tournament-app .arena-panel__waiting--closing{border-style:solid;border-color:var(--lo-gold);background:#b07d1e1a}.tournament-app .arena-panel__waiting--closing .arena-panel__waiting-text{color:var(--lo-gold)}.tournament-app .arena-panel__botnote{color:var(--lo-ink-faint);font-size:12px}.tournament-app .arena-panel__row--pinned{margin-top:4px;border-top:1px dashed var(--lo-line-strong);border-radius:0 0 8px 8px}.tournament-app .team-panel{background:var(--lo-paper-hi);border:1px solid var(--lo-line-strong);border-radius:var(--lo-radius);padding:12px 14px;margin:10px 0;box-shadow:0 1px #fff7e8,var(--lo-shadow-sm)}.tournament-app .team-panel__head{margin-bottom:8px}.tournament-app .team-panel__badge{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--lo-gold)}.tournament-app .team-panel__badge-icon{width:16px;height:16px;flex:0 0 auto}.tournament-app .team-panel__join{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.tournament-app .team-panel__join input{padding:5px 9px;border-radius:10px;border:1px solid var(--lo-line-strong);background:var(--lo-paper)}.tournament-app .team-panel__join input:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tournament-app .team-panel__join button{padding:5px 14px;border-radius:10px;border:1px solid var(--lo-gold);background:var(--lo-gold);color:#fff;font-weight:600;cursor:pointer}.tournament-app .team-panel__join button:hover:not(:disabled){background:#8a6a20;border-color:#8a6a20}.tournament-app .team-panel__join button:disabled{opacity:.5;cursor:default}.tournament-app .team-panel__join button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tournament-app .team-panel__myteam{color:var(--lo-ink-muted);font-size:13px;margin:0 0 6px}.tournament-app .team-panel__board{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.tournament-app .team-panel__row{display:grid;grid-template-columns:2ch 1fr auto auto;align-items:center;gap:10px;padding:5px 8px;border-radius:8px}.tournament-app .team-panel__row:nth-child(odd){background:var(--lo-paper)}.tournament-app .team-panel__row--me{background:#b07d1e29;outline:1px solid var(--lo-gold)}.tournament-app .team-panel__rank{color:var(--lo-ink-faint);text-align:right;font-variant-numeric:tabular-nums}.tournament-app .team-panel__name{color:var(--lo-ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-app .team-panel__members{color:var(--lo-ink-muted);font-size:12px}.tournament-app .team-panel__score{color:var(--lo-ink);font-weight:800;font-variant-numeric:tabular-nums}.tournament-app .team-panel__empty{color:var(--lo-ink-muted);font-size:13px;padding:6px 8px}.tournament-app .tournament-lobby__teambattle{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin:6px 0}.tournament-app .tournament-lobby__teambattle-toggle{display:flex;gap:8px;align-items:center;cursor:pointer}.tournament-app .tournament-lobby__teambattle-nb{display:inline-flex;gap:8px;align-items:center}.tournament-app .tournament-lobby__teambattle-restrict{display:inline-flex;gap:8px;align-items:center;cursor:pointer}@media (max-width: 480px){.tournament-app .tournament-lobby__teambattle{gap:8px}}.tournament-app .tournament-lobby__teambattle-clubs{flex-basis:100%;display:flex;flex-direction:column;gap:6px}.tournament-app .tournament-lobby__teambattle-clubs>label{display:flex;gap:8px;align-items:center;cursor:pointer}.tournament-app .tournament-lobby__teambattle-noclubs{color:var(--lo-ink-muted);font-size:13px;margin:2px 0 0}.tournament-app .tournament-lobby__teambattle-clublist{list-style:none;margin:2px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.tournament-app .tournament-lobby__teambattle-clublist label{display:flex;gap:8px;align-items:center;cursor:pointer}.tournament-app .tournament-lobby__teambattle-clublist label em{color:var(--lo-ink-muted);font-style:normal}.tournament-app .team-panel__participating{color:var(--lo-ink-muted);font-size:13px;margin:0 0 8px}.tournament-app .team-panel__participating-missing{font-style:italic}.tournament-app .tournament-profile__stat--chart{grid-column:1 / -1}.tournament-app .rating-spark{display:flex;flex-direction:column;gap:4px}.tournament-app .rating-spark__svg{width:100%;max-width:240px;height:44px;color:var(--lo-primary-a);display:block}.tournament-app .rating-spark__meta{display:flex;align-items:baseline;gap:8px}.tournament-app .rating-spark__latest{font-weight:800;color:var(--lo-ink);font-variant-numeric:tabular-nums}.tournament-app .rating-spark__delta{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.tournament-app .rating-spark__delta--up{color:#2e7d32}.tournament-app .rating-spark__delta--down{color:var(--lo-primary-a)}.tournament-app .rating-spark__label{font-size:12px;color:var(--lo-ink-muted)}.tournament-profile__rating-graph{margin:2px 0 18px}.tournament-profile__rating-graph h2{font-size:15px;margin:0 0 8px;color:var(--lo-ink)}.tournament-app .rating-graph{display:flex;flex-direction:column;gap:8px}.tournament-app .rating-graph__plot{position:relative}.tournament-app .rating-graph__svg{width:100%;height:120px;display:block}.tournament-app .rating-graph__line{fill:none}.tournament-app .rating-graph__line--base,.tournament-app .rating-graph__dot--base{color:var(--lo-primary-a)}.tournament-app .rating-graph__line--tactics,.tournament-app .rating-graph__dot--tactics{color:#3a6ea5}.tournament-app .rating-graph__axis{position:absolute;top:0;right:2px;height:100%;display:flex;flex-direction:column;justify-content:space-between;font-size:11px;color:var(--lo-ink-muted);font-variant-numeric:tabular-nums;pointer-events:none}.tournament-app .rating-graph__legend{display:flex;flex-wrap:wrap;gap:14px}.tournament-app .rating-graph__legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--lo-ink)}.tournament-app .rating-graph__swatch{width:12px;height:3px;border-radius:2px;background:currentColor}.tournament-app .rating-graph__legend-item--base{color:var(--lo-primary-a)}.tournament-app .rating-graph__legend-item--tactics{color:#3a6ea5}.tournament-app .rating-graph__legend-val{color:var(--lo-ink);font-weight:800;font-variant-numeric:tabular-nums}.tournament-app .online-lobby__find,.online-lobby__find{margin:8px 0}.player-search{position:relative}.player-search__input{width:100%;max-width:320px;padding:7px 11px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fdf8ec;color:#2c2218;font-size:14px}.player-search__results{list-style:none;margin:4px 0 0;padding:0;max-width:320px;border:1px solid rgba(44,34,24,.18);border-radius:9px;overflow:hidden;background:#fdf8ec}.player-search__result{display:flex;justify-content:space-between;gap:10px;padding:7px 11px;text-decoration:none;color:#2c2218}.player-search__result:hover{background:#f0e4c8}.player-search__name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-search__rating{color:#2c22189e;font-variant-numeric:tabular-nums}.player-search__empty{color:#2c22189e;font-size:13px;margin:4px 0 0}.notif-bell{position:fixed;top:12px;right:12px;z-index:60}.notif-bell__button{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid rgba(44,34,24,.18);background:#fdf8ec;color:#2c2218;font-size:18px;cursor:pointer;box-shadow:0 1px 4px #2c22182e;display:flex;align-items:center;justify-content:center}.notif-bell__button:hover{background:#f0e4c8}.notif-bell__badge{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#c8402a;color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}.notif-panel{position:absolute;top:48px;right:0;width:300px;max-width:calc(100vw - 24px);background:#fdf8ec;border:1px solid rgba(44,34,24,.18);border-radius:11px;box-shadow:0 6px 24px #2c221838;overflow:hidden}.notif-panel__head{padding:10px 13px;font-family:Georgia,serif;font-weight:700;color:#2c2218;border-bottom:1px solid rgba(44,34,24,.12)}.notif-panel__empty{padding:16px 13px;color:#2c22189e;font-size:14px;margin:0}.notif-panel__list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.notif-item{display:flex;justify-content:space-between;gap:10px;padding:10px 13px;border-bottom:1px solid rgba(44,34,24,.08);font-size:14px;color:#2c2218}.notif-item--unread{background:#b07d1e1a}.notif-item__link{color:#c8402a;font-weight:600;text-decoration:none}.notif-item__link:hover{text-decoration:underline}.notif-item__time{color:#2c22188c;font-size:12px;white-space:nowrap}html[data-style-theme=official]:not([data-color-scheme=dark]) .notif-panel{border-color:#4a341866;box-shadow:0 12px 32px #14100a47,inset 0 0 0 1px #d8b43238,inset 0 1px #fff9}html[data-style-theme=official]:not([data-color-scheme=dark]) .notif-panel__head{font-family:Fraunces,Georgia,serif}.account-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;text-align:left;color:#2c2218;cursor:pointer;border-radius:8px;font-size:14px}.account-menu__item:hover{background:#f0e4c8}.session-manager{width:420px;max-width:100%;background:#fdf8ec;border:1px solid rgba(44,34,24,.18);border-radius:14px;box-shadow:0 10px 40px #14100a66;padding:18px 20px;color:#2c2218}.session-manager__head{display:flex;align-items:center;justify-content:space-between}.session-manager__title{font-family:Georgia,serif;font-size:19px;margin:0}.session-manager__close{font-size:16px;line-height:1}.session-manager__hint{color:#2c2218d1;font-size:13px;margin:4px 0 14px}.session-manager__list{list-style:none;margin:0 0 14px;padding:0}.session-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(44,34,24,.1)}.session-row__device{font-weight:600}.session-row__seen{color:#2c2218d1;font-size:13px;font-variant-numeric:tabular-nums}.session-row__current{color:#b3701a;font-size:12px;font-weight:700}.session-row__revoke{font-size:13px;padding:4px 10px}.session-manager__revoke-others{width:100%;padding:9px;border-radius:9px;border:1px solid #c8402a;background:#c8402a;color:#fff;font-weight:600;cursor:pointer}.session-manager__revoke-others:hover{background:#b0381f}.session-manager__revoke-others:disabled{opacity:.6;cursor:default}.session-manager__loading,.session-manager__empty{color:#2c22189e;font-size:14px}.tournament-app .challenge-friend,.challenge-friend{margin-top:14px;padding-top:12px;border-top:1px solid rgba(44,34,24,.12)}.challenge-friend__hint,.challenge-friend__waiting{color:#2c22189e;font-size:13px;margin:0 0 8px;text-transform:none;letter-spacing:normal}.challenge-friend__create{width:100%}.challenge-friend__row{display:flex;gap:8px}.challenge-friend__link{flex:1 1 auto;min-width:0;padding:7px 10px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fdf8ec;color:#2c2218;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.challenge-friend__copy{flex:0 0 auto;padding:7px 14px;border-radius:9px;border:1px solid #b07d1e;background:#b07d1e;color:#fff;font-weight:600;cursor:pointer}.challenge-friend__copy:hover{background:#966c14}.challenge-friend__share{flex:0 0 auto;padding:7px 14px;border-radius:9px;border:1px solid #b07d1e;background:#fdf8ec;color:#8a5e12;font-weight:600;cursor:pointer}.challenge-friend__share:hover{background:#f3e8cf}.move-email-nudge{margin-top:14px;padding-top:12px;border-top:1px solid rgba(44,34,24,.12)}.move-email-nudge__promise{color:#2c22189e;font-size:13px;margin:0 0 8px}.move-email-nudge__banner{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid rgba(176,125,30,.35);border-radius:10px;background:#fbf3df}.move-email-nudge__text{margin:0;font-size:13px;color:#2c2218}.move-email-nudge .move-email-nudge__cta{align-self:flex-start;color:#8a5e12;font-weight:600;text-decoration:underline}.move-email-nudge__dismiss{align-self:flex-start;padding:4px 10px;border-radius:8px;border:1px solid rgba(44,34,24,.22);background:transparent;color:#2c2218b3;font-size:12px;cursor:pointer}.move-email-nudge__dismiss:hover{background:#ece2cd}.game-history{width:460px;max-width:100%;background:#fdf8ec;border:1px solid rgba(44,34,24,.18);border-radius:14px;box-shadow:0 10px 40px #14100a66;padding:18px 20px;color:#2c2218}.game-history__head{display:flex;align-items:center;justify-content:space-between}.game-history__title{font-family:Georgia,serif;font-size:19px;margin:0}.game-history__close{font-size:16px;line-height:1}.game-history__filters{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.game-history__list{list-style:none;margin:0;padding:0}.game-row{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(44,34,24,.1)}.game-row__result{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff}.game-row__result--win{background:#2f7d32}.game-row__result--loss{background:#b23b2e}.game-row__result--draw{background:#8a7a5c}.game-row__opp{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-row__meta{color:#2c221894;font-size:12px;white-space:nowrap}.game-row__recap{color:#b07d1e;font-weight:600;text-decoration:none;font-size:13px}.game-row__recap:hover{text-decoration:underline}.game-row__recap--none{width:1px}.game-history__more{width:100%;margin-top:12px;padding:9px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#f3ead4;color:#2c2218;font-weight:600;cursor:pointer}.game-history__more:hover{background:#f0e4c8}.game-history__loading,.game-history__empty{color:#2c2218d1;font-size:14px}.featured-game{margin:8px 0;padding:12px 14px;border:1px solid rgba(176,125,30,.35);border-radius:12px;background:#b07d1e14}.featured-game__live{color:#c8402a;font-size:10px;vertical-align:middle;animation:featured-pulse 1.8s ease-in-out infinite}@keyframes featured-pulse{0%,to{opacity:1}50%{opacity:.35}}.featured-game__players{display:flex;align-items:center;justify-content:center;gap:12px;margin:8px 0 4px}.featured-game__player{display:flex;flex-direction:column;align-items:center;min-width:0}.featured-game__name{font-weight:700;color:#2c2218;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.featured-game__rating{color:#2c221899;font-size:13px;font-variant-numeric:tabular-nums}.featured-game__vs{color:#b07d1e;font-size:18px}.featured-game__meta{text-align:center;color:#2c221894;font-size:12px;margin-bottom:10px}.featured-game__watch{width:100%}.featured-game__replay{display:block;width:100%;text-align:center;text-decoration:none}.featured-game__player--won .featured-game__name{color:#7a5a12}.featured-game__player--won .featured-game__name:after{content:" ♛";color:#b07d1e}.challenge-friend__pick{margin-top:12px;padding-top:10px;border-top:1px dashed rgba(44,34,24,.18)}.challenge-friend__pick-label{font-size:12px;color:#2c221899;margin-bottom:6px}.challenge-friend__sent{color:#b3701a;font-size:13px;margin:0 0 8px;text-transform:none;letter-spacing:normal}.player-search .player-search__result--pick{width:100%;border:none;background:none;color:#2c2218;cursor:pointer;font:inherit;text-align:left;box-shadow:none}.player-search .player-search__result--pick:hover:not(:disabled){background:#f0e4c8}.tournament-app .tournament-profile__block,.tournament-profile__block{padding:6px 14px;border-radius:9px;border:1px solid rgba(178,59,46,.5);background:transparent;color:#b23b2e;font-weight:600;cursor:pointer;font-size:13px;box-shadow:none}.tournament-app .tournament-profile__block:hover:not(:disabled){background:#f3d8ce}.tournament-app .tournament-profile__block.is-blocking{background:#b23b2e;color:#fff;border-color:#b23b2e}.tournament-app .tournament-profile__block:disabled{opacity:.6;cursor:default}.tournament-app .tournament-profile__report,.tournament-profile__report{padding:6px 12px;border-radius:9px;border:1px solid rgba(44,34,24,.25);background:transparent;color:#2c2218b3;font-weight:600;font-size:13px;cursor:pointer;box-shadow:none}.tournament-app .tournament-profile__report:hover:not(:disabled){background:#ece2cd}.report-dialog{width:420px;max-width:100%;background:#fdf8ec;border:1px solid rgba(44,34,24,.18);border-radius:14px;box-shadow:0 10px 40px #14100a66;padding:18px 20px;color:#2c2218}.report-dialog__head{display:flex;align-items:center;justify-content:space-between}.report-dialog__title{font-family:Georgia,serif;font-size:19px;margin:0}.report-dialog__close{font-size:16px;line-height:1}.report-dialog__hint{color:#2c2218a8;font-size:13px;margin:4px 0 14px}.report-dialog__label{display:block;font-size:13px;font-weight:600;color:#2c2218;margin-bottom:12px}.report-dialog__reason,.report-dialog__note{display:block;width:100%;margin-top:5px;padding:7px 10px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fff;color:#2c2218;font-size:14px;box-sizing:border-box}.report-dialog__note{resize:vertical;font-family:inherit}.report-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:6px}.report-dialog__submit{padding:8px 16px;border-radius:9px;border:1px solid #b23b2e;background:#b23b2e;color:#fff;font-weight:600;cursor:pointer}.report-dialog__submit:disabled{opacity:.6;cursor:default}.report-dialog__done{color:#b3701a;font-size:14px;margin:8px 0}.admin-reports__empty{color:#2b2a2799}.admin-report-row__note{max-width:280px;overflow-wrap:anywhere}.report-dialog__error{color:#b23b2e;font-size:13px;margin:4px 0 8px}.account-app__inner{max-width:var(--page-content);margin:0 auto;padding:20px 16px max(60px,calc(24px + env(safe-area-inset-bottom)))}.account-app__head{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}.account-app__back{color:#b07d1e;text-decoration:none;font-weight:600;font-size:14px}.account-app__title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;font-optical-sizing:auto;color:#2c2218;margin:0}.account-app__signedout{color:#2c2218b3}.account-app__signin{display:inline-block;margin-top:8px;padding:12px 16px;border-radius:9px;background:#b07d1e;color:#fff;font-weight:600;text-decoration:none}.account-app__signedout-card{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;padding:22px;box-shadow:0 1px 2px #2a241714}.lazy-fallback{margin:clamp(40px,14vh,140px) auto 0;max-width:260px;text-align:center;background:#f5ebd2e6;border:1px solid #d6c9aa;border-radius:12px;padding:13px 18px;color:#5b4a2e;font-weight:600;box-shadow:0 1px 2px #2a241714}.account-app__section{background:#fdf8ec;border:1px solid rgba(44,34,24,.14);border-radius:14px;padding:16px 18px;margin:14px 0}.account-app__section--embed{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;padding:14px 16px}.account-app__section--embed .modal{width:100%;max-width:100%;box-shadow:none}.account-app__section-title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:18px;line-height:1.25;color:#2c2218;margin:0 0 10px}.account-app__name-row{display:flex;gap:8px}.account-app__name-input{flex:1 1 auto;min-width:0;padding:8px 11px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fff;color:#2c2218;font-size:15px}.tournament-app .account-app__name-save,.account-app__name-save{flex:0 0 auto;padding:8px 16px;border-radius:9px;border:1px solid #b07d1e;background:#b07d1e;color:#fff;font-weight:600;cursor:pointer;box-shadow:none}.account-app__name-save:disabled{opacity:.55;cursor:default}.account-app__field{display:flex;align-items:center;justify-content:space-between;gap:12px}.account-app__field-label{color:#2c2218;font-size:15px}.account-app__theme{flex:0 0 auto;padding:8px 11px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fff;color:#2c2218;font-size:15px}.account-app__darkmode{display:flex;align-items:center;gap:9px;margin-top:14px;color:#2c2218;font-size:15px;cursor:pointer}.account-app__darkmode input{width:17px;height:17px;accent-color:#b07d1e}.account-app__ok{color:#b3701a;font-size:13px;margin:6px 0 0}.account-app__err{color:#b23b2e;font-size:13px;margin:6px 0 0}.account-app__signout-row{text-align:center}.account-app__section--danger{border-color:#d9b3ad;background:linear-gradient(180deg,#fbf4f2,#f6e9e6)}.account-delete__warn{color:#6a3a32;font-size:14px;margin:0 0 12px}.account-delete__start,.account-delete__go{background:#a6342a;color:#fff;border:1px solid #87291f;border-radius:9px;padding:9px 16px;font-weight:700;cursor:pointer}.account-delete__start:hover,.account-delete__go:hover:not(:disabled){background:#87291f}.account-delete__go:disabled{opacity:.5;cursor:not-allowed}.account-delete__confirm{display:flex;flex-direction:column;gap:8px}.account-delete__label{font-size:14px;color:#2a2417}.account-delete__input{padding:8px 10px;border:1px solid #c9b79a;border-radius:8px;max-width:240px}.account-delete__actions{display:flex;gap:10px;align-items:center}.account-delete__error{color:#a6342a;font-size:13px;margin:4px 0 0}.account-app .api-tokens{display:flex;flex-direction:column;gap:12px}.account-app .api-tokens__desc{color:#6a5f49;font-size:14px;line-height:1.45;margin:0}.account-app .api-tokens__reveal{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:11px;border:1px solid #b07d1e;background:#b07d1e14}.account-app .api-tokens__once{color:#8a5a10;font-weight:600;font-size:13px;margin:0}.account-app .api-tokens__token{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;word-break:break-all;-webkit-user-select:all;user-select:all;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #e3d8bd;color:#2c2218}.account-app .api-tokens__create{display:flex;flex-direction:column;gap:10px}.account-app .api-tokens__field{display:flex;flex-direction:column;gap:6px;color:#2c2218;font-size:15px}.account-app .api-tokens__field input[type=text]{padding:8px 11px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fff;color:#2c2218;font-size:15px;width:100%;box-sizing:border-box}.account-app .api-tokens__scope{color:#6a5f49;font-size:13px}.account-app .api-tokens__scope-opt{display:flex;align-items:center;gap:9px;color:#2c2218;font-size:15px;cursor:pointer}.tournament-app .account-app .api-tokens__submit,.tournament-app .account-app .api-tokens__bot-upgrade{align-self:flex-start;padding:8px 16px;border-radius:9px;border:1px solid #b07d1e;background:#b07d1e;color:#fff;font-weight:600;cursor:pointer;box-shadow:none}.tournament-app .account-app .api-tokens__submit:hover:not(:disabled),.tournament-app .account-app .api-tokens__bot-upgrade:hover:not(:disabled){background:#9a6c19}.tournament-app .account-app .api-tokens__submit:disabled{opacity:.55;cursor:default}.tournament-app .account-app .api-tokens__copy{align-self:flex-start;padding:7px 14px;border-radius:9px;border:1px solid #b07d1e;background:transparent;color:#8a5a10;font-weight:600;cursor:pointer;box-shadow:none}.tournament-app .account-app .api-tokens__copy:hover{background:#f0e4c8}.tournament-app .account-app .api-tokens__revoke{padding:6px 12px;border-radius:9px;border:1px solid rgba(178,59,46,.5);background:transparent;color:#b23b2e;font-weight:600;cursor:pointer;box-shadow:none}.tournament-app .account-app .api-tokens__revoke:hover{background:#f3d8ce}.account-app .api-tokens__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.account-app .api-tokens__row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f5ebd299;border:1px solid #e3d8bd;border-radius:10px}.account-app .api-tokens__row .api-tokens__label{font-weight:600;color:#2c2218}.account-app .api-tokens__meta{color:#6a5f49;font-size:12px;margin-left:auto;font-variant-numeric:tabular-nums}.account-app .api-tokens__row .api-tokens__revoke{flex:0 0 auto}.account-app .api-tokens__empty{color:#6a5f49;font-size:14px}.account-app .api-tokens__error{color:#b23b2e;font-size:13px;margin:6px 0 0}.account-app .api-tokens__bot{margin-top:8px;padding-top:14px;border-top:1px solid rgba(44,34,24,.14)}.account-app .api-tokens__bot-title{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:15px;color:#2c2218;margin:0 0 8px}.account-app .api-tokens__bot-status,.account-app .api-tokens__bot-desc{color:#6a5f49;font-size:14px;line-height:1.45;margin:0 0 10px}.account-app .api-tokens__field input[type=text]:focus-visible,.tournament-app .account-app .api-tokens__submit:focus-visible,.tournament-app .account-app .api-tokens__bot-upgrade:focus-visible,.tournament-app .account-app .api-tokens__copy:focus-visible,.tournament-app .account-app .api-tokens__revoke:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 480px){.account-app .api-tokens__row{flex-wrap:wrap}.account-app .api-tokens__meta{margin-left:0;width:100%}}.blocked-players__list{list-style:none;margin:0;padding:0}.blocked-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(44,34,24,.1)}.blocked-row__name{color:#c8402a;font-weight:600;text-decoration:none}.blocked-row__name:hover{text-decoration:underline}.tournament-app .blocked-row__unblock,.blocked-row__unblock{padding:5px 12px;border-radius:9px;border:1px solid rgba(44,34,24,.25);background:transparent;color:#2c2218b3;font-weight:600;font-size:13px;cursor:pointer;box-shadow:none}.tournament-app .blocked-row__unblock:hover:not(:disabled){background:#ece2cd}.blocked-players__empty,.blocked-players__loading{color:#2c2218d1;font-size:14px}.tournament-profile__h2h-w{color:#2f7d32}.tournament-profile__h2h-l{color:#b23b2e}.online-ranking__variants{display:flex;gap:6px;margin:6px 0 4px}.tournament-app .online-ranking__variant,.online-ranking__variant{padding:3px 12px;border-radius:999px;border:1px solid rgba(44,34,24,.2);background:transparent;color:#2c2218b3;font-size:12px;font-weight:600;cursor:pointer;box-shadow:none}.tournament-app .online-ranking__variant.is-active,.online-ranking__variant.is-active{background:#b07d1e;color:#fff;border-color:#b07d1e}.tournament-profile__trow--tier-bronze{box-shadow:inset 3px 0 #a06a2c}.tournament-profile__trow--tier-silver{box-shadow:inset 3px 0 #9aa0a6}.tournament-profile__trow--tier-gold{box-shadow:inset 3px 0 #c9a227}.tournament-profile__trow--tier-platinum{box-shadow:inset 3px 0 #6b8c9c}.tournament-profile__trow--tier-platinum .tournament-profile__trophy-icon,.tournament-profile__trow--tier-gold .tournament-profile__trophy-icon{font-size:1.2em}.tournament-app .tournament-profile__rating-graph,.tournament-app .tournament-profile__heatmap,.tournament-app .tournament-profile__insights{padding:16px 18px;border-radius:16px;border:1px solid rgba(74,52,24,.5);background:linear-gradient(168deg,#fffdf7,#f3ead7);box-shadow:0 10px 26px -14px #2a241766,inset 0 0 0 1px #d8b43247,inset 0 1px #fff9}.tournament-app .tournament-profile__insights{margin:18px 0}.tournament-app .tournament-profile__stat{box-shadow:inset 0 0 0 1px #d8b43247,inset 0 1px #fff9,0 8px 20px -16px #2a241766}.tournament-app .tournament-profile__won-cup{display:inline-flex;vertical-align:middle;margin-left:6px;color:#b08a35}.tournament-app .tournament-profile__won-cup svg{width:1em;height:1em}.game-history__export{display:inline-flex;align-items:center;gap:5px;margin-left:auto;margin-right:10px;padding:5px 11px;font-size:13px;font-weight:600;color:#6b4e16;background:#f3e8cf;border:1px solid #d8c79a;border-radius:6px;text-decoration:none}.game-history__export:hover{background:#ecddbb;text-decoration:none}.tournament-app a.game-history__export{color:#6b4e16}.game-history__export-icon{font-size:12px;line-height:1}.tournament-lobby__desc-input{display:block;width:100%;margin-top:5px;padding:8px 10px;border-radius:9px;border:1px solid rgba(44,34,24,.22);background:#fff;color:#2c2218;font:inherit;resize:vertical;box-sizing:border-box}.tournament-detail__description{max-width:60ch;margin:6px 0 10px;color:#2c2218c7;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.platform-nav{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,#f6eede,#ece2cd);border-bottom:1px solid #d8ccae;box-shadow:0 1px #fff7e8,0 2px 8px -6px #2a241766;padding-top:var(--nav-safe-top, env(safe-area-inset-top, 0px))}html.native-shell{--nav-safe-top: max(40px, env(safe-area-inset-top, 0px))}.platform-nav__inner{max-width:var(--page-wide);margin:0 auto;display:flex;align-items:center;gap:18px;padding:6px 16px;min-height:0}.platform-nav__brand{font-family:Fraunces,Georgia,serif;font-weight:800;font-size:16px;letter-spacing:-.01em;color:#2a2417;text-decoration:none;white-space:nowrap}.platform-nav__brand span{color:#c53f26}.platform-nav__links{display:flex;align-items:center;gap:6px;margin-right:auto}.platform-nav__account{display:flex;align-items:center;gap:6px}.platform-nav__link{padding:7px 12px;border-radius:10px;font-size:14px;font-weight:600;color:#5b513c;text-decoration:none;white-space:nowrap;transition:background .12s,color .12s}.platform-nav__link:hover{background:#ece1e4;color:#2a2417}.platform-nav__link--active{color:#2a2417;background:#b08a352e}.platform-nav__link--active:after{content:"";display:block;height:2px;margin-top:4px;border-radius:2px;background:#b08a35}body:has(.platform-nav) .notif-bell,body:has(.platform-nav) .account-menu{position:relative;top:auto;right:auto}body:has(.platform-nav) .notif-panel{position:fixed;top:calc(var(--nav-safe-top, env(safe-area-inset-top, 0px)) + 52px);right:12px}@media (max-width: 560px){.platform-nav__inner{gap:10px;padding:8px 12px}.platform-nav__brand{font-size:15px}.platform-nav__brand span+*{display:none}.platform-nav__link{padding:6px 9px;font-size:13px}}.platform-nav__groups{display:flex;align-items:center;gap:4px;flex:1}.platform-nav__right{display:flex;align-items:center;gap:6px;margin-left:auto}.platform-nav__right .account-menu__trigger{padding:6px 10px}.platform-nav__hamburger{display:none;background:none;border:none;cursor:pointer;font-size:20px;padding:6px 8px;color:var(--ink, #2a2417);border-radius:6px;line-height:1}.platform-nav__hamburger:focus-visible{box-shadow:var(--focus-ring);outline:none}.platform-nav__hamburger:hover{background:#ece1e4}.platform-nav__group-link{padding:6px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink, #5b513c);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s)}.platform-nav__group-link:hover{background:#ece1e4;color:#2a2417}.platform-nav__group-link[aria-current=true]{color:#2a2417;background:#b08a352e}.nav-menu{position:relative}.platform-nav__group-trigger{display:flex;align-items:center;gap:3px;padding:6px 12px;border-radius:8px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:600;color:var(--ink, #5b513c);white-space:nowrap;transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s);font-family:inherit}.platform-nav__group-trigger:hover{background:#ece1e4;color:#2a2417}.platform-nav__group-trigger[aria-expanded=true],.platform-nav__group-trigger[aria-current=true]{background:#b08a352e;color:#2a2417}.platform-nav__group-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-menu__caret{font-size:10px;opacity:.7;transition:transform var(--dur-fast, .12s)}.platform-nav__group-trigger[aria-expanded=true] .nav-menu__caret{transform:rotate(180deg)}.nav-menu__panel{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:180px;background:var(--paper, #f5efe6);border:1px solid #d6c9aa;border-radius:10px;box-shadow:0 6px 24px -6px #2a241747;padding:4px 0;display:flex;flex-direction:column}.nav-menu__item{display:block;padding:8px 16px;font-size:14px;font-weight:500;color:var(--ink, #2a2417);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast, .12s)}.nav-menu__item:hover,.nav-menu__item:focus-visible{background:#7c3e631a;outline:none}.nav-menu__divider{border:none;border-top:1px solid #d6c9aa;margin:4px 0}@media (max-width: 768px){.platform-nav__groups{display:none}.platform-nav__hamburger{display:flex;align-items:center;justify-content:center}.platform-nav__right .account-menu{display:none}}.prefs-popover{position:relative}.prefs-popover__trigger{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;font-size:16px;color:var(--ink, #5b513c);background:none;border:none;cursor:pointer;transition:background var(--dur-fast, .12s)}.prefs-popover__trigger:hover{background:#ece1e4}.prefs-popover__trigger[aria-expanded=true]{background:#b08a352e}.prefs-popover__trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.prefs-popover__panel{position:absolute;top:calc(100% + 6px);right:0;z-index:200;min-width:220px;background:var(--paper, #f5efe6);border:1px solid #d6c9aa;border-radius:10px;box-shadow:0 6px 24px -6px #2a241747;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.prefs-popover__title{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--ink, #2a2417);text-transform:uppercase;letter-spacing:.04em}.prefs-popover__row{display:flex;align-items:center;justify-content:space-between;gap:8px}.prefs-popover__section{display:flex;flex-direction:column;gap:6px}.prefs-popover__label{font-size:13px;font-weight:600;color:var(--ink, #5b513c)}.prefs-popover__toggle{padding:3px 10px;border-radius:12px;border:1px solid #c4b48a;background:none;cursor:pointer;font-size:12px;font-weight:600;color:var(--ink, #5b513c);transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s);font-family:inherit}.prefs-popover__toggle--on{background:#4a7c45;border-color:#4a7c45;color:#fff}.prefs-popover__toggle:focus-visible{outline:none;box-shadow:var(--focus-ring)}.prefs-popover__themes{display:flex;flex-wrap:wrap;gap:4px}.prefs-popover__theme-btn{padding:4px 8px;border-radius:6px;border:1px solid #c4b48a;background:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--ink, #5b513c);transition:background var(--dur-fast, .12s),color var(--dur-fast, .12s);font-family:inherit}.prefs-popover__theme-btn--active{background:#b08a3540;border-color:#b08a35;color:#2a2417;font-weight:700}.prefs-popover__theme-btn:hover:not(.prefs-popover__theme-btn--active){background:#ece1e4}.prefs-popover__theme-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}html[data-color-scheme=dark] .prefs-popover__panel{background:#2a2417;border-color:#4a3f2c}html[data-color-scheme=dark] .prefs-popover__title{color:#e8dcc8}html[data-color-scheme=dark] .prefs-popover__label{color:#c8b898}html[data-color-scheme=dark] .prefs-popover__toggle,html[data-color-scheme=dark] .prefs-popover__theme-btn{color:#c8b898;border-color:#4a3f2c}html[data-color-scheme=dark] .prefs-popover__theme-btn--active{color:#e8dcc8;background:#b08a3559;border-color:#b08a35}.nav-drawer__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:299;background:#2a241773}.nav-drawer{position:fixed;top:0;right:0;bottom:0;z-index:300;width:min(280px,85vw);background:var(--paper, #f5efe6);border-left:1px solid #d6c9aa;box-shadow:-6px 0 24px -6px #2a241747;display:flex;flex-direction:column;overflow-y:auto;animation:nav-drawer-slide-in var(--dur-base, .2s) var(--ease-out, ease-out) both}@keyframes nav-drawer-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (prefers-reduced-motion: reduce){.nav-drawer{animation:none}}.nav-drawer__header{display:flex;align-items:center;justify-content:flex-end;padding:10px 16px;border-bottom:1px solid #d6c9aa}.nav-drawer__close{background:none;border:none;cursor:pointer;font-size:18px;padding:12px;border-radius:6px;color:var(--ink, #2a2417);line-height:1}.nav-drawer__close:hover{background:#ece1e4}.nav-drawer__close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-drawer__nav{flex:1;padding:8px 0}.nav-drawer__section{border-bottom:1px solid #e8dfc8}.nav-drawer__section-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:700;color:var(--ink, #2a2417);font-family:inherit;text-align:left}.nav-drawer__section-trigger:hover{background:#f0e7ea}.nav-drawer__section-trigger:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-drawer__caret{font-size:10px;opacity:.6}.nav-drawer__section-items{display:flex;flex-direction:column;padding-bottom:4px}.nav-drawer__item{display:block;padding:10px 16px 10px 28px;font-size:14px;color:var(--ink, #2a2417);text-decoration:none;transition:background var(--dur-fast, .12s)}.nav-drawer__item:hover{background:#f0e7ea}.nav-drawer__item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-drawer__divider{border:none;border-top:1px solid #e8dfc8;margin:4px 8px}.nav-drawer__single-link{display:block;padding:12px 16px;font-size:14px;font-weight:700;color:var(--ink, #2a2417);text-decoration:none;border-bottom:1px solid #e8dfc8}.nav-drawer__single-link:hover{background:#f0e7ea}.nav-drawer__single-link:focus-visible{outline:none;box-shadow:var(--focus-ring)}.nav-drawer__footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid #d6c9aa}.nav-drawer__footer .account-menu{position:static;top:auto;right:auto}.tournament-app:has(>.lb-page){display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - 53px);padding:clamp(28px,7vh,72px) 16px calc(64px + env(safe-area-inset-bottom));box-sizing:border-box}.lb-page{max-width:var(--page-content);margin:0;width:100%;border:1px solid rgba(74,52,24,.5);border-radius:18px;padding:var(--page-card-pad);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.lb-page__head h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;font-optical-sizing:auto;margin:0 0 6px;color:var(--t-ink, #2a2417)}.lb-page__sub{color:#5e5440;font-size:15px;line-height:1.45;margin:0 0 20px}.lb-window,.lb-variant{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.tournament-app .lb-window__tab,.tournament-app .lb-variant__tab{padding:7px 14px;border-radius:999px;border:1px solid #d6c9aa;background:#fbf6ea;color:#5b513c;font-size:13px;font-weight:600;cursor:pointer;letter-spacing:.01em;box-shadow:inset 0 1px #fff9;transition:background .12s ease,border-color .12s ease,color .12s ease}.tournament-app .lb-window__tab:hover,.tournament-app .lb-variant__tab:hover{background:#fffdf6;border-color:#c9ba93}.tournament-app .lb-window__tab:focus-visible,.tournament-app .lb-variant__tab:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tournament-app .lb-window__tab.is-active,.tournament-app .lb-variant__tab.is-active{background:#b08a3538;color:#2a2417;border-color:#b08a35;font-weight:700;box-shadow:inset 0 1px 2px #b08a3540}.lb-season-banner{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;margin:0 0 16px;border:1px solid #e3d8bd;border-radius:12px;background:#fbf6ea;box-shadow:inset 0 1px #fff9,0 4px 14px -8px #2a241742}.lb-season-banner.is-urgent{border-color:#b08a35;background:#b08a3524}.lb-season-banner__seal{display:inline-flex;align-items:center;color:#b08a35}.lb-season-banner__label{font-weight:700;color:#2a2417}.lb-season-banner__ends{color:#5e5440;font-size:14px}.lb-season-banner.is-urgent .lb-season-banner__ends{color:#8a6a20;font-weight:600}.lb-seasons__back{border:none;background:none;padding:0;margin:0 0 10px;cursor:pointer;color:#8a6a20;font-size:14px;font-weight:600}.lb-seasons__back:hover{text-decoration:underline}.lb-seasons__title{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 12px;color:#2a2417}.lb-seasons-list{list-style:none;margin:0;padding:0}.lb-seasons-list__item{margin-bottom:7px}.lb-seasons-list__link{display:block;width:100%;text-align:left;cursor:pointer;padding:10px 14px;border:1px solid #e3d8bd;border-radius:11px;background:#fbf6ea;color:#2a2417;font-size:15px;font-weight:600;transition:background .14s var(--ease-out, ease-out),border-color .14s var(--ease-out, ease-out),transform .14s var(--ease-out, ease-out)}.lb-seasons-list__link:hover{background:#fffdf6;border-color:#b08a35;transform:translateY(-1px)}.lb-list{list-style:none;margin:0;padding:0}.lb-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e3d8bd;border-radius:11px;background:#fbf6ea;margin-bottom:8px}.lb-row--me{background:#b08a3529;border-color:#b08a35}.lb-rank{min-width:28px;text-align:center;font-weight:700;color:#6a5f49;font-variant-numeric:tabular-nums}.lb-rank--1{color:#b08a35}.lb-rank--2{color:#606060}.lb-rank--3{color:#a06a3a}.lb-row__name{flex:1;font-weight:600;color:#2a2417;overflow-wrap:anywhere}.tournament-app .lb-row__name a{color:#2a2417;text-decoration:none}.tournament-app .lb-row__name a:hover{color:var(--t-heather, #7c3e63);text-decoration:underline}.lb-row__you{color:#7c3e63;font-style:italic;font-weight:600}.lb-row__rating{font-variant-numeric:tabular-nums;font-weight:700;color:#2a2417}.lb-row__gain{font-variant-numeric:tabular-nums;font-weight:700}.lb-row__gain.is-up{color:#2f7d4f}.lb-row__gain.is-down{color:#b04a3a}.lb-status{color:#5e5440;text-align:center;padding:36px 20px;margin-top:0;border:1px dashed #d6c9aa;border-radius:12px;background:#fbf6ea80}.tournament-app:has(>.formation-page){display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - 53px);padding:clamp(28px,7vh,72px) 16px calc(64px + env(safe-area-inset-bottom));box-sizing:border-box}.formation-page{max-width:var(--page-content);margin:0;width:100%;background:radial-gradient(1000px 520px at 8% -12%,#f0e7d2 0,transparent 60%),linear-gradient(180deg,#f3ead6,#e9dec4);border:1px solid #d6c9aa;border-radius:18px;padding:var(--page-card-pad);box-shadow:0 1px #fff7e8,0 1px 2px #2a241714,0 8px 16px -8px #2a241747,0 24px 48px -24px #2a241773}.formation-page__head h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;margin:0 0 6px;color:var(--t-ink, #2a2417)}.formation-page__sub{color:#5e5440;font-size:15px;line-height:1.45;margin:0 0 20px}.formation-status{color:#5e5440;text-align:center;padding:32px 20px;border:1px dashed #d6c9aa;border-radius:12px;background:#fbf6ea80}.formation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.formation-row{display:grid;grid-template-columns:minmax(96px,22%) 1fr auto auto;align-items:center;gap:12px;padding:8px 12px;border:1px solid #d6c9aa;border-radius:12px;background:#fbf6ea}.formation-row__name{font-weight:700;color:#2a2417;font-size:14px}.formation-row__bar{position:relative;height:12px;border-radius:999px;background:#2a241714;overflow:hidden}.formation-row__fill{position:absolute;inset:0 auto 0 0;height:100%;border-radius:999px;background:linear-gradient(90deg,#b08a35,#caa64a);min-width:2px}.formation-row__freq{font-variant-numeric:tabular-nums;color:#5b513c;font-size:13px;font-weight:600}.formation-row__win{color:#5e5440;font-size:12px;white-space:nowrap}.formation-page__foot{color:#7a6f57;font-size:12px;margin:20px 0 0;text-align:center}@media (max-width: 480px){.formation-row{grid-template-columns:1fr auto;grid-template-areas:"name freq" "bar bar" "win win"}.formation-row__name{grid-area:name}.formation-row__freq{grid-area:freq;text-align:right}.formation-row__bar{grid-area:bar}.formation-row__win{grid-area:win}}.platform-page{max-width:var(--page-content);margin:0;width:100%;border:1px solid rgba(74,52,24,.5);border-radius:18px;padding:var(--page-card-pad);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.platform-page__head h1{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:32px;line-height:1.1;letter-spacing:-.01em;font-optical-sizing:auto;margin:0 0 6px;color:var(--t-ink, #2a2417)}.platform-page__sub{color:#5e5440;font-size:15px;line-height:1.45;margin:0 0 20px}.platform-page__cta{color:var(--t-ink, #2a2417);font-size:15px}.platform-page__cta a{color:#b07d1e;font-weight:600}.platform-page__cta-lead{font-weight:600;margin:0 0 4px;color:var(--t-ink, #2a2417)}.platform-page__cta-body{margin:0}.team-create{display:flex;flex-direction:column;gap:10px;margin:0 0 24px;padding:16px;background:linear-gradient(160deg,#faf7f0,#f5f0e8);border:1px solid #d8ccae;border-radius:16px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.team-create__title{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 4px;color:var(--t-ink, #2a2417)}.team-create__field{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#5e5440}.team-create__field input,.team-create__field textarea{font:inherit;padding:8px 10px;border:1px solid #cbbd9c;border-radius:10px;background:#fffdf6;color:var(--t-ink, #2a2417);resize:vertical}.team-create__field input:focus-visible,.team-create__field textarea:focus-visible{outline:none;box-shadow:var(--focus-ring)}.team-create__error{color:#b04a3a;font-size:14px;margin:0}.team-create__submit{align-self:flex-start;font:inherit;font-weight:600;padding:8px 16px;border:1px solid #b08a35;border-radius:10px;background:#b08a35;color:#fff;cursor:pointer;transition:background var(--dur-fast, .12s) var(--ease-out),transform var(--dur-fast, .12s) var(--ease-out)}.team-create__submit:hover:not(:disabled){background:#8a6a28;transform:translateY(-1px)}.team-create__submit:active:not(:disabled){transform:translateY(0)}.team-create__submit:disabled{opacity:.5;cursor:default}.team-create__submit:focus-visible{outline:none;box-shadow:var(--focus-ring)}.team-list{margin-top:8px}.team-list__title{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 12px;color:var(--t-ink, #2a2417)}.team-list__empty{color:#6a5f49;font-size:15px;text-align:center;border:1px solid #d8ccae;background:linear-gradient(180deg,#f6eede,#ece2cd);border-radius:16px;padding:24px 20px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.team-list__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.team-card{padding:12px 16px;background:#f5f0e8;border:1px solid #e3d8bd;border-radius:10px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742;transition:transform var(--dur-fast, .12s) var(--ease-out),box-shadow var(--dur-fast, .12s) var(--ease-out)}.team-card:hover{transform:translateY(-2px);box-shadow:0 1px #fff7e8,0 10px 26px -12px #2a241766}.team-card__name{font-family:Fraunces,Georgia,serif;font-size:17px;font-weight:700;color:#b08a35;text-decoration:none}.team-card__name:hover{color:#8a6a28;text-decoration:underline}.team-card__name:focus-visible{outline:none;border-radius:8px;box-shadow:var(--focus-ring)}.team-card__count{margin-left:8px;font-size:13px;color:#6a5f49}.team-card__desc{margin:4px 0 0;font-size:14px;color:#5e5440}.team-page__back{display:inline-block;font-size:14px;color:#b08a35;text-decoration:none;margin-bottom:8px}.team-page__back:hover{color:#8a6a28;text-decoration:underline}.team-page__back:focus-visible{outline:none;border-radius:8px;box-shadow:var(--focus-ring)}.team-page__stats{display:flex;flex-wrap:wrap;gap:24px;margin:0 0 16px}.team-page__stat{font-size:15px;color:#5e5440}.team-page__stat strong{font-size:20px;color:var(--t-ink, #2a2417);font-variant-numeric:tabular-nums}.team-page__stat--muted{color:#8a7d63;font-style:italic}.team-page__actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}.team-page__join,.team-page__leave,.team-page__edit,.team-page__disband{font:inherit;font-weight:600;padding:8px 14px;border-radius:10px;cursor:pointer}.team-page__join{border:1px solid #b08a35;background:#b08a35;color:#fff}.team-page__join:hover:not(:disabled){background:#8a6a28}.team-page__leave,.team-page__edit{border:1px solid #cbbd9c;background:#f5f0e8;color:#2a2417}.team-page__leave:hover:not(:disabled),.team-page__edit:hover:not(:disabled){background:#ece2cd}.team-page__disband{border:1px solid #cf9d92;background:transparent;color:#b04a3a}.team-page__disband:hover:not(:disabled){background:#f3d8ce}.team-page__actions button:disabled{opacity:.5;cursor:default}.team-page__actions button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.team-page__edit-form{margin-top:0}.team-roster{list-style:none;margin:0;padding:0}.team-roster__row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #e3d8bd}.team-roster__name{font-family:Fraunces,Georgia,serif;font-weight:600;color:#b08a35;text-decoration:none}.team-roster__name:hover{color:#8a6a28;text-decoration:underline}.team-roster__name:focus-visible{outline:none;border-radius:8px;box-shadow:var(--focus-ring)}.team-roster__badge{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#b08a3529;color:#8a6a28}.team-roster__rating{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;color:#5e5440}@media (max-width: 480px){.team-page__stats{gap:12px}.team-page__actions{flex-direction:column;align-items:stretch}.team-page__actions button{width:100%}}.account-app .insights{display:flex;flex-direction:column;gap:1rem}.account-app .insights__subtitle{margin:0 0 .4rem;font-size:.85rem;color:#6a5f49}.account-app .insights__variant{display:grid;grid-template-columns:1fr auto auto;gap:.75rem;align-items:baseline;padding:.25rem 0}.account-app .insights__variant-name{color:#2a2417;font-weight:600}.account-app .insights__variant-rate{font-variant-numeric:tabular-nums;font-weight:600;color:#2a2417}.account-app .insights__variant-record{color:#6a5f49;font-size:.85rem;font-variant-numeric:tabular-nums}.account-app .insights__streaks{display:flex;gap:2rem;flex-wrap:wrap}.account-app .insights__stat{display:flex;flex-direction:column;gap:.15rem}.account-app .insights__stat-k{font-size:.8rem;color:#6a5f49}.account-app .insights__stat-v{font-size:1.1rem;font-weight:600;color:#2a2417;font-variant-numeric:tabular-nums}.account-app .insights__streak--win{color:#2e7d32}.account-app .insights__streak--loss{color:#b3261e}.account-app .insights__form-list{display:flex;gap:.3rem;list-style:none;margin:0;padding:0}.account-app .insights__form-chip{width:1.5rem;height:1.5rem;display:grid;place-items:center;border-radius:3px;font-size:.75rem;font-weight:700;color:#fff}.account-app .insights__form-chip--win{background:#2e7d32}.account-app .insights__form-chip--loss{background:#b3261e}.account-app .insights__form-chip--draw{background:#8a7c5e}.account-app .insights__empty,.account-app .insights__loading{color:#6a5f49}.account-app .insights__card{margin-top:1rem}.account-app .insights__pair{display:flex;gap:2rem;flex-wrap:wrap}.account-app .insights__pair-item{display:flex;flex-direction:column;gap:.1rem}.account-app .insights__pair-k{font-size:.8rem;color:#6a5f49}.account-app .insights__pair-v{font-size:1.15rem;font-weight:800;color:#2c2218;font-variant-numeric:tabular-nums}.account-app .insights__best-time{margin:0;color:#2c2218}.puzzle-status{color:var(--t-ink-soft, #6a5f49);font-size:14px;margin:6px 0 0}.puzzle-streak{font-size:14px;color:#2a2417;margin:0 0 14px;min-height:18px}.puzzle-themes{display:flex;flex-wrap:wrap;gap:14px}.puzzle-card{flex:1 1 220px;max-width:320px;padding:18px 20px;border:1px solid #e3d8bd;border-radius:14px;background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:inset 0 1px #fff8ea,0 4px 14px -8px #2a241742}.puzzle-card__date{font-family:Fraunces,Georgia,serif;font-weight:700;color:#2b2a27;margin:0}.puzzle-card__goal{color:#2a2417;margin:8px 0 12px}.puzzle-card__variant{color:#6a5f49;font-size:13px;margin:4px 0 10px;display:inline-flex;align-items:center;gap:6px}.puzzle-card__variant-icon{width:16px;height:16px;flex:0 0 auto}.puzzle-card__streak{font-size:14px;color:#2a2417;margin:0 0 14px;min-height:18px}.puzzle-card__solved{color:#b3701a;font-weight:700}.puzzle-card__streak-count{font-weight:600}.tournament-app .puzzle-page .puzzle-card__play{display:inline-block;text-decoration:none;font-weight:700;border-radius:9px;padding:9px 18px;color:#fff4ea;border:1px solid rgba(120,32,12,.4);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 10px 22px -8px #b03c2080,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4)}.tournament-app .puzzle-page .puzzle-card__play:hover{transform:translateY(-2px);filter:brightness(1.03) saturate(1.03)}.tournament-app .puzzle-page .puzzle-card__play:focus-visible{outline:none;box-shadow:var(--focus-ring)}.beatbot-page>*+*{margin-top:20px}.beatbot-leaderboard__list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}.beatbot-leaderboard__row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e3d8bd;border-radius:11px;background:#fbf6ea}.beatbot-leaderboard__rank{color:#6a5f49;font-weight:700;min-width:2ch;font-variant-numeric:tabular-nums}.beatbot-leaderboard__name{flex:1;font-weight:600;color:#2a2417;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beatbot-leaderboard__time{font-weight:700;color:#2a2417;font-variant-numeric:tabular-nums}.beatbot-page .verdict-result{text-align:center;margin:20px 0 0}.streak-hud{font-size:13px;font-weight:600;color:#8a5e12;background:#8b5e121a;border-radius:8px;padding:4px 10px;display:inline-flex;align-items:center;gap:4px;margin-top:4px}.puzzle-streak-cta{margin-top:20px}.streak-cta-card{max-width:400px;padding:18px 20px;border:1px solid #e3d8bd;border-radius:14px;background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:inset 0 1px #fff8ea,0 4px 14px -8px #2a241742}@media (max-width: 480px){.streak-hud{font-size:12px;padding:4px 8px}.streak-cta-card{padding:14px 16px}}.streak-cta__error{font-size:13px;color:#b3261e;margin:8px 0 0}.streak-end-modal .action-row button,.streak-end-modal .action-row a.ghost{min-height:44px}.tournament-app:has(>.platform-page){display:flex;flex-direction:column;align-items:center;min-height:calc(100dvh - 53px);padding:clamp(28px,7vh,72px) 16px calc(64px + env(safe-area-inset-bottom));box-sizing:border-box}.watch-status{color:#5e5440;font-size:14px;margin:6px 0 0}.watch-empty{margin:8px 0 0;padding:36px 20px;text-align:center;color:#5e5440;font-size:15px;border:1px dashed #d6c9aa;border-radius:12px;background:#fbf6ea80}.watch-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.watch-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid #e3d8bd;border-radius:12px;background:linear-gradient(180deg,#fffdf6,#f4ead2);box-shadow:inset 0 1px #fff8ea,0 1px 2px #2a24170f;transition:box-shadow .14s ease,border-color .14s ease,transform .14s ease}.watch-row:hover{border-color:#c9ba93;transform:translateY(-1px);box-shadow:inset 0 1px #fff8ea,0 6px 14px -8px #2a241752}@media (prefers-reduced-motion: reduce){.watch-row{transition:none}.watch-row:hover{transform:none}}.watch-row__main{min-width:0}.watch-row__players{font-family:Fraunces,Georgia,serif;font-weight:600;color:#2b2a27;font-size:15px}.watch-row__rating{color:#5e5440;font-weight:500;font-size:13px;font-variant-numeric:tabular-nums}.watch-row__vs{color:#5e5440;font-weight:500}.watch-row__meta{display:block;margin-top:3px;color:#5e5440;font-size:13px;font-variant-numeric:tabular-nums}.tournament-app .watch-page .watch-row__btn{flex:none;align-self:center;text-decoration:none;font-weight:700;font-size:13px;color:#fff;background:#8a5e12;border:1px solid #6f4b0e;border-radius:9px;padding:8px 16px;white-space:nowrap;box-shadow:inset 0 1px #ffffff2e;transition:background .12s ease}.tournament-app .watch-page .watch-row__btn:hover{background:#6f4b0e}.home-hub{max-width:900px;margin:0 auto;padding-bottom:24px}.home-hero{text-align:center;padding:28px 20px 24px;margin:16px 0;background:radial-gradient(700px 320px at 50% -30%,#fbf6ea 0,#f3ead6 70%,#ecdfc4);border:1px solid #d6c9aa;border-radius:18px;box-shadow:0 1px #fff7e8,0 14px 30px -18px #2a24178c}.home-hero__title{font-family:Fraunces,Georgia,serif;font-weight:800;font-size:40px;margin:6px 0;color:#2a2417}.home-hero__tag{color:#6a5f49;font-size:16px;margin:0 0 18px}.home-hero__cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.app .hub .home-cta{display:inline-block;padding:11px 22px;border-radius:11px;font-size:15px;font-weight:700;text-decoration:none;background:#fbf6ea;border:1px solid #d6c9aa;color:#2a2417;box-shadow:0 1px #fff7e8,0 8px 18px -12px #2a241780}.app .hub .home-cta:hover{background:#fff}.app .hub .home-cta--primary{color:#fff4ea;border:1px solid rgba(120,32,12,.4);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 10px 22px -8px #b03c2080,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4)}.app .hub .home-cta--primary:hover{transform:translateY(-2px);filter:brightness(1.03) saturate(1.03);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 16px 30px -10px #b03c208c,inset 0 1px #fff0da8c,inset 0 -3px 8px #781e0a47}.home-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px 0 20px}.home-card{background:linear-gradient(180deg,#f6eede,#ece2cd);border:1px solid #d8ccae;border-radius:16px;padding:16px 18px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.home-card__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e6dcc4}.home-card__head h2{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:16px;line-height:1.2;letter-spacing:-.005em;font-optical-sizing:auto;margin:0;color:#26201a}.app .hub .home-card__more{font-size:13px;font-weight:600;color:#b07d1e;text-decoration:none;transition:color var(--dur-fast, .12s) var(--ease-out, ease-out)}.app .hub .home-card__more:hover{color:#8a6a28;text-decoration:underline}.app .hub .home-card__more:focus-visible,.app .hub .home-players__name a:focus-visible,.app .hub .home-me__all:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:6px}.home-card__status{color:#6a5f49;font-size:14px;text-align:center;padding:20px 14px;margin:2px 0;background:#fffdf673;border:1px solid #ece2cd;border-radius:12px}.home-card__status[role=status]{background:none;border:none;text-align:left;padding:8px 2px}.home-players{list-style:none;margin:0;padding:0}.home-players__row{display:flex;align-items:center;gap:10px;padding:9px 8px;border-bottom:1px solid #ece2cd;transition:background .12s var(--ease-out, ease-out)}.home-players__row:last-child{border-bottom:none}.home-players__row:hover{background:#f3ead7}.home-players__name{flex:1;font-weight:600;color:#2a2417;overflow-wrap:anywhere}.app .hub .home-players__name a{color:#2a2417;text-decoration:none}.app .hub .home-players__name a:hover{color:var(--t-heather, #7c3e63);text-decoration:underline}.home-players__rating{font-variant-numeric:tabular-nums;font-weight:700;color:#2a2417}.home-recent{list-style:none;margin:0;padding:0}.home-recent__row{padding:9px 8px;border-bottom:1px solid #ece2cd;transition:background .12s var(--ease-out, ease-out)}.home-recent__row:last-child{border-bottom:none}.home-recent__row:hover{background:#f3ead7}.home-recent__result{display:block;color:#2a2417;font-size:14px;line-height:1.4;overflow-wrap:anywhere}.home-recent__meta{color:#6a5f49;font-size:12px;font-variant-numeric:tabular-nums}@media (max-width: 620px){.home-grid{grid-template-columns:1fr;gap:14px}.home-card{padding:16px}.home-hero__title{font-size:32px}}.home-featured{max-width:460px;margin:8px auto 16px;background:linear-gradient(180deg,#f6eede,#ece2cd);border:1px solid #d8ccae;border-radius:16px;padding:12px 16px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.home-featured--invite{padding:28px 20px;text-align:center}.home-featured__invite-title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:17px;color:#26201a;margin:0 0 6px}.home-featured__invite-body{color:#6a5f49;font-size:13.5px;line-height:1.45;margin:0 auto 14px;max-width:34ch}.app .hub .home-featured--invite .home-cta{margin:0 auto}.app .hub .home-featured--invite .home-cta,.app .hub .home-featured--invite .home-cta--primary{color:#3a2c1c;border:1px solid rgba(120,92,56,.4);background:linear-gradient(180deg,#fffdf7,#f1e4c8);text-shadow:none;box-shadow:inset 0 1px #ffffffb3,0 6px 14px -10px #3c281280}.app .hub .home-featured--invite .home-cta:hover,.app .hub .home-featured--invite .home-cta--primary:hover{transform:none;filter:none;background:linear-gradient(180deg,#fffef9,#f4e9d1);border-color:#785c388c;box-shadow:inset 0 1px #fffc,0 10px 20px -12px #3c28128c}.home-featured__skeleton{min-height:132px;background:linear-gradient(168deg,#f2e9d6,#e8dcc4);opacity:.55}.home-featured .featured-game{margin:0;border:none;background:transparent}.home-featured .featured-game__title{font-family:Fraunces,Georgia,serif;font-size:15px;color:#2a2417}.home-featured-block{max-width:460px;margin:8px auto var(--hub-block)}.home-featured-block .home-featured{margin:0 auto 8px}.home-activity{min-height:20px;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;margin:0 auto;text-align:center}.home-activity__sig{color:#6a5f49;font-size:12.5px;font-variant-numeric:tabular-nums;letter-spacing:.01em}.home-activity__sig--live{color:#8a6a28;font-weight:600}.home-event{max-width:460px;margin:0 auto var(--hub-block);border:1px solid var(--lo-line-strong, #d6c9aa);border-radius:12px;background:var(--lo-paper-hi, #f6efdd);padding:12px 16px;text-align:center}.home-event__skeleton{min-height:108px;background:linear-gradient(168deg,#f2e9d6,#e8dcc4);opacity:.55}.home-event__head{display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}.home-event__badge{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a6a28;background:#8a6a281f;border-radius:6px;padding:2px 6px}.home-event__name{font-family:Fraunces,Georgia,serif;font-size:16px;color:#2a2417;margin:0}.home-event__winner{font-size:12.5px;color:#6a5f49;margin:4px 0 0}.home-event__line{font-size:13.5px;color:#4a4030;margin:6px 0 0;font-variant-numeric:tabular-nums}.home-event__line--live{color:#8a6a28;font-weight:600}.home-event__count{color:#6a5f49}.home-event__actions{margin-top:10px}.app .hub .home-event__withdraw{background:transparent;border:1px solid var(--lo-line-strong, #d6c9aa);border-radius:8px;color:#6a5f49;font-size:13px;padding:5px 14px;cursor:pointer;text-decoration:none}.home-card--me{max-width:900px;margin:0 auto var(--hub-block)}.home-me{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.app .hub .home-me__rating{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:#2a2417;padding:4px 20px 4px 0;border-right:1px solid rgba(214,201,170,.7)}.home-me__rating-label{font-size:12px;color:#6a5f49}.home-me__rating-val{font-family:Fraunces,Georgia,serif;font-size:30px;font-weight:800;line-height:1.05;color:#2a2417;font-variant-numeric:tabular-nums}.home-me__games{list-style:none;display:flex;gap:16px;flex-wrap:wrap;margin:0;padding:0}.home-me__game{display:flex;gap:8px;align-items:center}.home-me__opp{color:#2a2417;font-weight:600}.app .hub .home-me__analyse{display:flex;gap:8px;align-items:center;text-decoration:none;color:#2a2417}.app .hub .home-me__analyse:hover .home-me__opp{color:var(--t-heather, #7c3e63);text-decoration:underline}.app .hub .home-me__all{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:#b07d1e;text-decoration:none}@media (max-width: 620px){.home-me{gap:14px;align-items:flex-start}.app .hub .home-me__rating{border-right:none;width:100%;padding:0 0 12px;border-bottom:1px solid rgba(214,201,170,.6)}}.home-card--continue{max-width:900px;margin:0 auto var(--hub-block)}.home-continue{list-style:none;margin:0;padding:0}.home-continue__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 4px;border-bottom:1px solid rgba(214,201,170,.5)}.home-continue__row:last-child{border-bottom:none}.app .hub .home-continue__link{display:flex;flex-direction:column;text-decoration:none;color:#2a2417;min-width:0}.home-continue__opp{font-weight:600;color:#2a2417;overflow-wrap:anywhere}.home-continue__ctx{font-size:12px;color:#6a5f49}.home-continue__turn{flex-shrink:0;font-size:12px;font-weight:700;color:#2f7d4f;background:#2f7d4f21;padding:3px 10px;border-radius:999px}.home-continue__wait{flex-shrink:0;font-size:12px;color:#6a5f49}.home-tourns{list-style:none;margin:0;padding:0}.home-tourns__row{padding:8px 4px;border-bottom:1px solid rgba(214,201,170,.5)}.home-tourns__row:last-child{border-bottom:none}.app .hub .home-tourns__link{display:flex;flex-direction:column;text-decoration:none;color:#2a2417}.home-tourns__name{font-weight:600;color:#2a2417;overflow-wrap:anywhere}.home-tourns__meta{font-size:12px;color:#6a5f49;text-transform:capitalize}.home-me__rating-line{display:flex;align-items:baseline;gap:8px}.home-me__delta{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.home-me__delta.is-up{color:#2f7d4f}.home-me__delta.is-down{color:#b04a3a}.lb-myrank{margin:14px 0 0;padding:10px 14px;border-radius:11px;background:#b08a3524;border:1px solid #d6c9aa;color:#2a2417;font-weight:600;font-size:14px;text-align:center;font-variant-numeric:tabular-nums}.lb-myrank__link{background:none;border:0;padding:0;font:inherit;color:#8a5e12;cursor:pointer;text-decoration:underline}.lb-myrank__link:hover{color:#6f4b0e}.hub{max-width:var(--page-wide);margin:0 auto;padding:24px 16px 64px;--hub-r-lg: 16px;--hub-r-md: 12px;--hub-r-sm: 10px;--hub-pad: 18px;--hub-gap: 16px;--hub-block: 22px;--hub-ink: #26201a;--hub-ink-soft: #6a5f49;--hub-line: #d8ccae;--hub-shadow-rest: 0 1px 0 #fff7e8, 0 4px 14px -8px rgba(42,36,23,.26);--hub-shadow-hover: 0 1px 0 #fff7e8, 0 10px 26px -12px rgba(42,36,23,.4)}.hub__header{display:flex;justify-content:flex-end;margin-bottom:16px;padding:0}.hub__lang{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--hub-ink-soft)}.hub__lang select{background:#f5f0e8;border:1px solid var(--hub-line);border-radius:var(--hub-r-sm);padding:7px 10px;font:inherit;font-size:13px;color:var(--hub-ink);cursor:pointer;min-height:38px;transition:border-color var(--dur-fast, .12s) var(--ease-out, ease-out)}.hub__lang select:hover{border-color:#b8a880}.hub__lang select:focus-visible{outline:none;border-color:#b8a880;box-shadow:var(--focus-ring)}.hub .on-texture{display:inline-flex;align-items:center;align-self:center;gap:6px;padding:5px 13px;background:linear-gradient(168deg,#f8f2e6,#efe6d3);border:1px solid var(--ui-border-soft, #e6dcc4);border-radius:999px;box-shadow:inset 0 1px #fff9eed9,0 1px 1px #2a241714,0 3px 8px -4px #2a241733}.hub .hub__learn .hub__puzzle-link{color:#6f4b0e;text-decoration-color:currentColor}.hub .home-activity__sig--live.on-texture{color:#8a5e12}.hub__section{margin-bottom:var(--hub-block)}.hub__section-title{font-family:Fraunces,Georgia,serif;font-optical-sizing:auto;font-size:16px;font-weight:700;letter-spacing:-.005em;color:var(--hub-ink);margin:0}.hub__launcher-wrap{display:flex;flex-direction:column;gap:14px}.hub__quickplay-promise{margin-top:-8px;text-align:center;font-size:12px;color:var(--hub-ink-soft)}.hub__quickplay-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px 24px;color:#fff4ea;border:1px solid rgba(120,32,12,.4);border-radius:var(--hub-r-md);cursor:pointer;font-size:16px;font-weight:700;font-family:inherit;letter-spacing:.02em;background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 12px 26px -8px #b03c208c,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4);transition:filter var(--dur-base, .2s) var(--ease-out, ease-out),box-shadow var(--dur-base, .2s) var(--ease-out, ease-out),transform var(--dur-fast, .12s) var(--ease-out, ease-out)}.hub__quickplay-btn:hover{transform:translateY(-2px);filter:brightness(1.03) saturate(1.03);box-shadow:0 18px 34px -10px #b03c2099,inset 0 1px #fff0da8c,inset 0 -3px 8px #781e0a47}.hub__quickplay-btn:active{transform:translateY(0) scale(.99);filter:brightness(.99);box-shadow:0 6px 14px -8px #b03c2080,inset 0 2px 6px #6e1c0a66}.hub__quickplay-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__quickplay-icon{display:inline-flex;align-items:center}.hub__quickplay-icon svg{width:18px;height:18px;display:block}.hub__launcher{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hub__launch-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:80px;padding:14px 10px;background:linear-gradient(180deg,#fffdf7,#f1e4c8);border:1px solid rgba(120,92,56,.4);border-radius:var(--hub-r-md);cursor:pointer;font-family:inherit;box-shadow:inset 0 1px #ffffffb3,0 6px 14px -10px #3c281280;transition:background var(--dur-fast, .12s) var(--ease-out),border-color var(--dur-fast, .12s) var(--ease-out),box-shadow var(--dur-base, .2s) var(--ease-out),transform var(--dur-base, .2s) var(--ease-out)}.hub__launch-btn:hover{background:linear-gradient(180deg,#fffef9,#f4e9d1);border-color:#785c388c;transform:translateY(-2px);box-shadow:inset 0 1px #fffc,0 12px 24px -12px #3c28128c}.hub__launch-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__launch-icon{height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--hub-ink-soft);transition:color var(--dur-fast, .12s) var(--ease-out, ease-out)}.hub__launch-icon svg{width:26px;height:26px;display:block}.hub__launch-btn:hover .hub__launch-icon{color:#8a5e12}.hub__launch-label{font-size:13px;font-weight:600;letter-spacing:.01em;color:var(--hub-ink);text-align:center}.hub__learn{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}.hub__learn-btn{display:flex;align-items:center;gap:12px;flex:1;min-width:220px;padding:12px 20px;background:#f5f0e8;border:1px solid #b08a35;border-radius:var(--hub-r-md);cursor:pointer;font-family:inherit;text-align:left;box-shadow:var(--hub-shadow-rest);transition:background var(--dur-fast, .12s) var(--ease-out),border-color var(--dur-fast, .12s) var(--ease-out),box-shadow var(--dur-base, .2s) var(--ease-out),transform var(--dur-base, .2s) var(--ease-out)}.hub__learn-btn:hover{background:#f0e4c8;border-color:#8a6a28;transform:translateY(-2px);box-shadow:var(--hub-shadow-hover)}.hub__learn-btn:active{transform:translateY(0)}.hub__learn-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__learn-icon{display:inline-flex;align-items:center;justify-content:center;color:#b08a35}.hub__learn-icon svg{width:26px;height:26px;display:block}.hub__learn-text{display:flex;flex-direction:column;line-height:1.2}.hub__learn-title{font-size:12px;font-weight:600;color:var(--hub-ink-soft)}.hub__learn-cta{font-size:15px;font-weight:700;color:var(--hub-ink)}.hub__lessons{flex-basis:100%}.hub__lessons-title{margin:4px 0 8px;font-size:12px;font-weight:600;color:var(--hub-ink-soft);text-transform:uppercase;letter-spacing:.04em}.hub__lessons-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.hub__lesson-btn{padding:8px 14px;background:#f5f0e8;border:1px solid #b08a35;border-radius:var(--hub-r-md);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;color:var(--hub-ink);box-shadow:var(--hub-shadow-rest);transition:background var(--dur-fast, .12s) var(--ease-out),border-color var(--dur-fast, .12s) var(--ease-out),transform var(--dur-base, .2s) var(--ease-out)}.hub__lesson-btn:hover{background:#f0e4c8;border-color:#8a6a28;transform:translateY(-1px)}.hub__lesson-btn:active{transform:translateY(0)}.hub__lesson-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__middle{display:grid;grid-template-columns:1fr 1fr;gap:var(--hub-gap);margin-bottom:var(--hub-block)}.hub__panel{background:linear-gradient(160deg,#faf7f0,#f5f0e8);border:1px solid var(--hub-line);border-radius:var(--hub-r-lg);box-shadow:var(--hub-shadow-rest);display:flex;flex-direction:column;margin-bottom:0}.hub__panel,.app .hub .home-card,.home-featured{border-radius:16px;border:1px solid rgba(74,52,24,.5);background:linear-gradient(168deg,#fffdf7,#f3ead7);box-shadow:0 10px 26px -14px #2a241766,inset 0 0 0 1px #d8b43247,inset 0 1px #fff9}.hub__panel-head{padding:12px var(--hub-pad);border-bottom:1px solid var(--hub-line)}.hub__panel-body{padding:16px var(--hub-pad);flex:1}.hub__panel--full{margin-bottom:var(--hub-block)}.app .hub .hub__panel--onboarding .onb-steps__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.app .hub .onb-steps__row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f5f0e8;border:1px solid var(--hub-line);border-radius:var(--hub-r-sm)}.app .hub .onb-steps__row--done{border-color:#b08a35;background:#b08a3514}.app .hub .onb-steps__row--next{border-color:#b08a35;background:#b08a350f}.app .hub .onb-steps__check{display:inline-flex;color:var(--hub-ink-soft)}.app .hub .onb-steps__check svg{width:20px;height:20px;display:block}.app .hub .onb-steps__row--done .onb-steps__check{color:#b08a35}.app .hub .onb-steps__label{flex:1;font-size:14px;font-weight:600;color:var(--hub-ink)}.app .hub .onb-steps__count{font-size:12px;color:var(--hub-ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.app .hub .onb-steps__cta{padding:7px 16px;background:#b08a35;color:#fff;border-radius:var(--hub-r-sm);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast, .12s) var(--ease-out),transform var(--dur-fast, .12s) var(--ease-out)}.app .hub .onb-steps__cta:hover{background:#8a6a28;transform:translateY(-1px)}.app .hub .onb-steps__cta:active{transform:translateY(0)}.app .hub .onb-steps__cta:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app .hub .onb-steps__optional{margin-top:12px;padding-top:12px;border-top:1px solid var(--hub-line)}.app .hub .onb-steps__optional-note{margin:0;font-size:12px;color:var(--hub-ink-soft)}.hub__now-playing{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.hub__now-playing--empty{display:flex;align-items:center;justify-content:center;min-height:88px}.hub__empty-msg{margin:0;font-size:14px;color:var(--hub-ink-soft);text-align:center}.hub__game-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f5f0e8;border:1px solid var(--hub-line);border-radius:var(--hub-r-sm)}.hub__game-row--your-turn{border-color:#b08a35;background:#b08a3514}.hub__game-primary{flex:1;font-size:14px;font-weight:600;color:var(--hub-ink)}.hub__game-turn{font-size:12px;color:var(--hub-ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}.hub__game-resume{padding:7px 16px;background:#b08a35;color:#fff;border:none;border-radius:var(--hub-r-sm);cursor:pointer;font-size:13px;font-weight:600;font-family:inherit;white-space:nowrap;transition:background var(--dur-fast, .12s) var(--ease-out)}.hub__game-resume:hover{background:#8a6a28}.hub__game-resume:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__puzzle-link{font-size:14px;font-weight:600;color:#b08a35;text-decoration:none}.hub .hub__panel-body>.hub__puzzle-link{display:inline-flex;align-items:center;gap:6px;margin:0 8px 8px 0;padding:7px 13px;border:1px solid var(--hub-line);border-top:1px solid var(--hub-line);border-radius:999px;background:linear-gradient(168deg,#f8f2e6,#efe6d3);box-shadow:inset 0 1px #fff9eed9,0 1px 1px #2a241714;color:#6f4b0e;font-size:13px;font-weight:600;text-decoration:none;transition:background var(--dur-fast,.12s) var(--ease-out),border-color var(--dur-fast,.12s) var(--ease-out),transform var(--dur-fast,.12s) var(--ease-out)}.hub .hub__panel-body>.hub__puzzle-link:hover{background:linear-gradient(168deg,#fdf8ee,#f2e9d6);border-color:#b8a880;transform:translateY(-1px);text-decoration:none}.hub__puzzle-link:hover{color:#8a6a28;text-decoration:underline}.hub__puzzle-link:focus-visible,.hub__signin-cta:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:8px}.hub__puzzle-list{display:flex;flex-wrap:wrap;gap:14px;width:100%;margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid #ece2cd}.hub__puzzle-card{flex:1 1 160px;padding:14px 16px;border:1px solid #ece2cd;border-radius:var(--hub-r-md);background:linear-gradient(168deg,#fffdf7,#f7efdc);display:flex;flex-direction:column;gap:8px}.hub__puzzle-card__variant{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hub-ink-soft);margin:0}.hub__puzzle-card__goal{font-size:13px;line-height:1.5;color:var(--hub-ink);margin:0}.hub__puzzle-card__play{margin-top:auto;align-self:flex-start;font-size:13px;font-weight:700;border-radius:var(--hub-r-sm);padding:8px 16px;transition:background var(--dur-fast, .12s) var(--ease-out)}.hub .hub__puzzle-card .hub__puzzle-card__play{color:#fff4ea;border:1px solid rgba(120,32,12,.4);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4);text-decoration:none}.hub .hub__puzzle-card .hub__puzzle-card__play:hover{filter:brightness(1.04) saturate(1.03);text-decoration:none}.hub__puzzle-card__play:focus-visible{outline:none;box-shadow:var(--focus-ring)}.hub__intro{padding:32px 28px;margin-bottom:var(--hub-block);text-align:center;border-radius:18px;border:1px solid rgba(74,52,24,.5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.hub__intro-title{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,4.5vw,30px);font-weight:700;line-height:1.15;letter-spacing:-.02em;font-optical-sizing:auto;color:var(--hub-ink);margin:0 0 10px}.hub__intro-body{font-size:15px;line-height:1.6;color:#5a4f3a;margin:0 auto 18px;max-width:46ch}.hub__signin-cta{display:inline-block;padding:11px 28px;background:#b08a35;border-radius:var(--hub-r-sm);font-size:15px;font-weight:600;transition:background var(--dur-fast, .12s) var(--ease-out),transform var(--dur-fast, .12s) var(--ease-out);box-shadow:0 6px 16px -8px #b08a3599}.hub .hub__intro .hub__signin-cta{color:#fff;text-decoration:none}.hub .hub__intro .hub__signin-cta:hover{background:#8a6a28;text-decoration:none}.hub__signin-cta:active{transform:translateY(1px)}@media (max-width: 768px){.hub__launcher{grid-template-columns:repeat(2,1fr)}.hub__quickplay-btn{font-size:15px;padding:14px 20px}.hub__middle{grid-template-columns:1fr}.hub__intro{padding:26px 20px}.hub__puzzle-card{flex-basis:100%}}@media (max-width: 390px){.hub{padding:16px 12px 80px}.hub__quickplay-btn{font-size:15px;padding:13px 16px}}@media (max-width: 375px){.hub{padding:16px 10px 80px}.hub__launcher{grid-template-columns:1fr 1fr;gap:8px}.hub__launch-btn{padding:12px 6px}}@media (prefers-reduced-motion: reduce){.hub__launch-btn,.hub__quickplay-btn,.hub__launch-btn:hover,.hub__quickplay-btn:active,.hub__launch-icon{transition:none;transform:none}}@media (max-width: 768px){body:has(.topbar) .support-panel{display:none}body:has(.topbar) .game-actions,body:has(.topbar) .game-actions--under-board{display:flex!important;flex-direction:row!important;flex-wrap:wrap;justify-content:center;gap:6px;grid-template-columns:unset}body:has(.topbar) .game-actions>button,body:has(.topbar) .game-actions>a,body:has(.topbar) .game-actions--under-board>button,body:has(.topbar) .game-actions--under-board>a{flex:1 1 calc(25% - 6px);min-width:0;min-height:40px;width:auto;font-size:.7rem;padding:6px 4px;justify-content:center}body:has(.topbar) .game-actions .btn-label,body:has(.topbar) .game-actions--under-board .btn-label{display:none}body:has(.topbar) .game-actions>:last-child:nth-child(odd),body:has(.topbar) .game-actions--under-board>:last-child:nth-child(odd){grid-column:auto;flex:1 1 0}body:has(.topbar) .app{padding-top:8px;gap:10px}body:has(.topbar) .board{padding:10px;gap:10px}}@media (max-width: 768px){:root[data-style-theme] body:has(.topbar) .game-actions--under-board{flex-wrap:wrap;justify-content:center;row-gap:8px}:root[data-style-theme] .controls.controls--under-board .game-actions--under-board>button,:root[data-style-theme] .controls.controls--under-board .game-actions--under-board>a{flex:0 0 auto;width:46px;min-width:46px;min-height:44px;padding:0}}.create-game__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1c1a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));animation:ui-fade-in var(--dur-base, .2s) var(--ease-out, ease-out) both}.create-game{margin:auto;background:linear-gradient(165deg,#fffdf7,#f3ead7);border:1px solid rgba(43,42,39,.12);border-radius:22px;padding:24px;width:min(672px,100%);box-shadow:0 18px 40px #14131247,inset 0 0 0 1px #2b2a2714;animation:ui-pop-in var(--dur-base, .2s) var(--ease-out, ease-out) both;display:flex;flex-direction:column;gap:20px}.create-game__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.create-game__title{font-size:18px;font-weight:700;color:#2a2417;margin:0}.create-game__close{background:none;border:none;font-size:18px;cursor:pointer;color:#6a5f49;line-height:1;padding:4px 8px;border-radius:6px;font-family:inherit}.create-game__close:hover{background:#ece1e4}.create-game__close:focus-visible{outline:none;box-shadow:var(--focus-ring)}.create-game__section{display:flex;flex-direction:column;gap:8px}.create-game__label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#6a5f49}.create-game__seg{display:flex;gap:6px;flex-wrap:nowrap}.create-game__time-group{display:flex;flex-direction:column;gap:6px}.create-game__time-group+.create-game__time-group{margin-top:8px}.create-game__time-group-label{font-size:11px;font-weight:600;letter-spacing:.04em;color:#8a7d63}.create-game__seg--wrap{flex-wrap:wrap}.create-game__seg-btn{flex:1;padding:8px 10px;background:#f0ebe0;border:1px solid #d6c9aa;border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;color:#2a2417;font-family:inherit;transition:background var(--dur-base, .2s) var(--ease-out, ease-out),border-color var(--dur-base, .2s) var(--ease-out, ease-out),box-shadow var(--dur-base, .2s) var(--ease-out, ease-out);white-space:nowrap}.create-game__seg-btn:hover{background:#e5dece;border-color:#b8a880}.create-game__seg-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.create-game__seg-btn--active{background:#c53f26;border-color:#a8341f;color:#fff4ea}.create-game__seg-btn--active:hover{background:#b23820;border-color:#a8341f}.create-game__footer{padding-top:4px}.create-game__start-btn{width:100%;padding:12px 24px;background:#b08a35;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;color:#fff;font-family:inherit;transition:background var(--dur-base, .2s) var(--ease-out, ease-out)}.create-game__start-btn:hover{background:#8a6a28}.create-game__start-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width: 480px){.create-game{top:24px;left:16px;right:16px;width:auto;transform:none;padding:20px 16px;gap:16px;border-radius:12px;max-height:calc(100dvh - 48px)}.create-game__seg{flex-wrap:wrap}.create-game__seg-btn{font-size:12px;padding:12px 8px;flex:1 1 calc(50% - 3px)}}@media (prefers-reduced-motion: reduce){.create-game__backdrop,.create-game{animation:none}}.tournament-app .tournament-lobby__header{background:linear-gradient(168deg,#fffdf7,#f3ead7);border:1px solid rgba(74,52,24,.5);border-radius:16px;padding:16px 18px!important;box-shadow:0 16px 36px #1e140a3d,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9;margin:0 0 8px!important}.tournament-app .tournament-detail__header{background:linear-gradient(168deg,#fffdf7,#f3ead7);border:1px solid rgba(74,52,24,.5);border-radius:16px;padding:14px 18px 18px!important;box-shadow:0 16px 36px #1e140a3d,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9;border-bottom:none!important;margin:0 0 18px!important}.tournament-app .tournament-profile__head{border-radius:18px;border:1px solid rgba(74,52,24,.5);padding:18px 20px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.account-app input[type=time]{color:#2a2417;background:var(--paper, #f5efe6);border:1px solid #c9b790;border-radius:8px;padding:8px 10px}.account-app input[type=time]:disabled{opacity:.45}.recap-tabs__list{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:12px;padding:4px 6px;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none}.recap-tabs__list::-webkit-scrollbar{display:none}.watch-list{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;padding:14px 16px;gap:8px}.lb-page{position:relative}.lb-page:after{content:"";position:sticky;bottom:0;left:0;right:0;display:block;height:48px;background:linear-gradient(to bottom,transparent,rgba(243,234,214,.9));pointer-events:none;border-radius:0 0 18px 18px}.platform-page__sub,.account-app__section .label,.account-app .insights__stat-k,.account-app .insights__subtitle,.account-app .insights__variant-record,.player-search__rating,.player-search__empty{color:#6b5a3e}.player-search__input::placeholder{color:#767676}.auth-page input::placeholder{color:#767676}.modal-backdrop{background:#1d1c1a73}.account-app__head{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;padding:14px 18px;box-shadow:0 1px 2px #2a241714;margin-bottom:16px}.home-featured .home-card__status a{color:#b07d1e;font-weight:600;text-decoration:none}.home-featured .home-card__status a:hover{color:#8a6a28;text-decoration:underline}.recap-tabs{background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:14px;padding:10px 10px 14px}.puzzle-card__variant{color:#4a4232;font-weight:600}.puzzle-streak,.puzzle-card__streak{min-height:0}.puzzle-streak:not(:empty),.puzzle-card__streak:not(:empty){display:inline-block;background:#f5ebd2d9;border:1px solid #d6c9aa;border-radius:999px;padding:2px 8px}.hub{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}@media (max-width: 390px){.hub{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}@media (max-width: 375px){.hub{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}}.tournament-app{padding-bottom:max(48px,calc(24px + env(safe-area-inset-bottom,0px)))}@media (max-width: 600px){.recap-app{padding-bottom:max(40px,calc(24px + env(safe-area-inset-bottom,0px)))}}.app--auth{min-height:100dvh;padding-bottom:max(20px,env(safe-area-inset-bottom))}.auth-page{margin:0 auto}@media (max-width: 768px){.app{padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}}@media (max-width: 768px){:root[data-style-theme] .app{padding-bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px))}}.platform-page,.lb-page,.formation-page{margin:0 auto}@media (min-width: 1024px){.platform-page,.lb-page,.formation-page{max-width:860px}}@media (min-width: 1024px){.tournament-app:has(>.platform-page),.tournament-app:has(>.lb-page),.tournament-app:has(>.formation-page),.app--auth{position:relative}.tournament-app:has(>.platform-page):before,.tournament-app:has(>.lb-page):before,.tournament-app:has(>.formation-page):before,.app--auth:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 30%,#00000029);z-index:0}.tournament-app:has(>.platform-page)>*,.tournament-app:has(>.lb-page)>*,.tournament-app:has(>.formation-page)>*,.app--auth>*{position:relative;z-index:1}}.account-app__section .settings-modal__group.availability>.label{display:none}.account-app__theme{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236a5f49' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.account-app__darkmode input[type=checkbox]{width:18px;height:18px;accent-color:#b07d1e;cursor:pointer}.account-app input[type=checkbox]{accent-color:#b07d1e;width:16px;height:16px;cursor:pointer}.create-game__close{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0}.platform-nav__hamburger{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0}@media (max-width: 768px){.platform-nav__hamburger{background:#2a24170f;border-radius:8px}}@media (min-width: 769px){.platform-nav__hamburger{display:none}}.player-search__input,.player-search__results{max-width:none}.recap-header__title h1{font-size:26px;font-weight:700;color:#2a2417;letter-spacing:-.01em}.recap-header__meta dt{opacity:1;color:#6b5c47}.recap-header__meta{border-top:1px solid rgba(43,42,39,.12);padding-top:12px;margin-top:4px}.lb-rank{font-size:13px;color:#8a7e6a}.lb-rank--1,.lb-rank--2,.lb-rank--3{font-size:14px}.lb-row__name,.lb-row__rating{font-size:15px}.tournament-app .tournament-profile__stat-v{font-size:24px}.tournament-app .tournament-profile__stats{gap:12px}.account-app__section-title{font-size:17px;font-weight:700;letter-spacing:.01em}.hub__section-title{font-size:16px;font-weight:700;letter-spacing:-.01em}.hub__panel-head{font-size:15px;font-weight:700}.recap-tabs__tab{color:#7a6e5e}.recap-tabs__tab--active{color:var(--accent)}.platform-page__cta a{display:inline-block;padding:8px 16px;border:1px solid #b07d1e;border-radius:8px;font-weight:600;color:#8a5e12;text-decoration:none;transition:background .12s ease}.platform-page__cta a:hover{background:#f0e4c8}.platform-page__cta-body a:not(.primary):not(.ghost){border:none;padding:0;border-radius:0;color:#8a6a28;text-decoration:underline;font-weight:500;background:none}.platform-page__cta-body a:not(.primary):not(.ghost):hover{background:none;color:#6f4b0e}.lb-status{border:none;background:none;color:#4a3d28;padding:28px 16px}.watch-empty{border:1px solid #d8ccae;background:linear-gradient(180deg,#f6eede,#ece2cd);color:#4a3d28;border-radius:16px;padding:28px 20px;text-align:center;max-width:460px;margin:24px auto;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.watch-empty__title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:18px;color:#26201a;margin:0 0 8px}.watch-empty__body{color:#6a5f49;font-size:14px;line-height:1.45;margin:0 auto 16px;max-width:40ch}.watch-empty__cta{font-size:15px;padding:11px 22px}.watch-recent{border:1px solid #d8ccae;background:linear-gradient(180deg,#f6eede,#ece2cd);color:#4a3d28;border-radius:16px;padding:28px 20px;text-align:center;max-width:460px;margin:12px auto 24px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742}.watch-recent__title{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:18px;color:#26201a;margin:0 0 8px}.watch-recent__players{color:#6a5f49;font-size:15px;line-height:1.45;margin:0 auto 16px}.watch-recent__recap{font-size:15px;padding:12px 24px}.lb-status a{color:#b08a35;text-decoration:underline;font-weight:600}.lb-status a:hover{color:#8a6a28}.hub__empty-msg{color:#4a3d28}@media (min-width: 769px){.hub__section{margin-bottom:20px}.hub__middle{margin-bottom:20px;gap:14px}}@media (max-width: 768px){.tournament-app:has(>.platform-page),.tournament-app:has(>.lb-page),.tournament-app:has(>.formation-page){padding-top:clamp(16px,4vh,40px)}}.puzzle-themes{gap:10px}a.platform-nav__group-link:not(.primary):not(.ghost),a.platform-nav__group-link:not(.primary):not(.ghost):visited,a.platform-nav__group-link:not(.primary):not(.ghost):hover{color:#5b513c;text-decoration:none;text-decoration-color:transparent}a.platform-nav__group-link[aria-current=true]:not(.primary):not(.ghost),a.platform-nav__group-link[aria-current=true]:not(.primary):not(.ghost):visited{color:#2a2417}a.platform-nav__link:not(.primary):not(.ghost),a.platform-nav__link:not(.primary):not(.ghost):visited,a.platform-nav__link:not(.primary):not(.ghost):hover{color:#5b513c;text-decoration:none;text-decoration-color:transparent}a.platform-nav__link--active:not(.primary):not(.ghost),a.platform-nav__link--active:not(.primary):not(.ghost):visited{color:#2a2417}.recap-annotation--blunder,.recap-chip--blunder{background:#b04a3a26;color:#8a2c1a}.recap-annotation--mistake,.recap-chip--mistake{background:#c8780026;color:#7a4a00}.recap-annotation--inaccuracy,.recap-chip--inaccuracy{background:#b4960026;color:#6a5800}.recap-move-detail__placeholder{font-style:italic;color:#7a6e5e}.recap-timeline__hash,.recap-header__meta code{font-family:ui-monospace,Cascadia Code,monospace}.tournament-app .lb-window__tab,.tournament-app .lb-variant__tab{height:32px;display:inline-flex;align-items:center}.lb-row{border-color:#d6c9aa80}.lb-row:nth-child(odd){background:#fbf9f3}.lb-row:nth-child(2n){background:#f5f0e4}.create-game__seg-btn:not(.create-game__seg-btn--active){background:#e8e1d3;box-shadow:inset 0 1px 2px #2a24171f}.platform-page__sub{color:#6b5c47}.hub{padding-bottom:max(80px,calc(56px + env(safe-area-inset-bottom,0px)))}@media (max-width: 390px){.hub{padding-bottom:max(80px,calc(56px + env(safe-area-inset-bottom,0px)))}}@media (max-width: 375px){.hub{padding-bottom:max(80px,calc(56px + env(safe-area-inset-bottom,0px)))}}@media (max-width: 600px){.tournament-app:has(>.lb-page),.tournament-app:has(>.formation-page){padding-bottom:max(80px,calc(48px + env(safe-area-inset-bottom,0px)))}}@media (max-width: 560px){.tournament-app{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}}@media (max-width: 600px){.recap-app{padding-bottom:max(56px,calc(48px + env(safe-area-inset-bottom,0px)))}}@media (max-width: 600px){.account-app__inner{padding-bottom:max(80px,calc(48px + env(safe-area-inset-bottom,0px)))}}@media (max-width: 480px){.create-game{top:max(24px,env(safe-area-inset-top,0px));max-height:calc(100dvh - max(24px,env(safe-area-inset-top,0px)) - env(safe-area-inset-bottom,0px) - 48px)}}@media (max-width: 560px){.tournament-app{padding-left:12px;padding-right:12px}}.lb-window:before{content:"Period";display:block;flex-basis:100%;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8a7e6a;margin-bottom:6px}.tournament-app .lb-window__tab,.tournament-app .lb-variant__tab{background:#ede5d0;border-color:#c4b48a}.tournament-app .lb-window__tab.is-active,.tournament-app .lb-variant__tab.is-active{background:#b08a3552;border-bottom:2px solid #b08a35}.lb-row:nth-child(1){border-left:3px solid #b08a35;padding-left:11px}.lb-row:nth-child(2){border-left:3px solid #9a9a9a;padding-left:11px}.lb-row:nth-child(3){border-left:3px solid #a9743b;padding-left:11px}.lb-row{border:1px solid rgba(74,52,24,.14);box-shadow:inset 0 0 0 1px #d8b43229,inset 0 1px #fff9,0 3px 10px -6px #2a241742;transition:background .13s ease,border-color .13s ease,box-shadow .13s ease,transform .13s ease}.lb-row:nth-child(odd),.lb-row:nth-child(2n){background:linear-gradient(168deg,#fffdf7,#f6efe0)}.tournament-app .lb-row--me{background:#b08a3533;border-color:#b08a35}.tournament-app .lb-row:not(.lb-row--me):hover{background:linear-gradient(168deg,#fffef9,#f4ead4);box-shadow:inset 0 0 0 1px #d8b43252,inset 0 1px #ffffffb3,0 9px 22px -8px #2a241766;transform:translateY(-1px)}.tournament-app .lb-window__tab:hover:not(.is-active),.tournament-app .lb-variant__tab:hover:not(.is-active){background:linear-gradient(168deg,#fffef9,#f2e7ce);border-color:#b8a06a}.platform-page__cta--players{margin-top:16px;padding-top:16px;border-top:1px solid rgba(214,201,170,.6)}@media (min-width: 1024px){.account-app{position:relative}.account-app:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,#0000 30%,#00000029);z-index:0}.account-app__inner{position:relative;z-index:1}}.account-app .settings-modal__group.availability button{background:#b07d1e;color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:700}.account-app .settings-modal__group.availability p{font-size:13px!important;color:#6b5a3e}.account-app .settings-modal__group.availability span{min-width:36px;font-weight:600;color:#2c2218}.account-app .settings-modal__group.availability input[type=time]{background:#fff}.recap-header__share{display:flex;gap:8px;align-items:center}.recap-header__share-button{border:1px solid #c9b790;border-radius:8px;padding:5px 14px;font:inherit;font-size:13px;font-weight:600;background:#f5ebd2b3;color:#4a3d28;cursor:pointer}.recap-header__share-link{border:1px solid rgba(124,62,99,.25);border-radius:8px;padding:5px 14px;font-size:13px;font-weight:600;background:#7c3e6314;color:var(--accent);text-decoration:none}.recap-header__outcome{font-size:18px;font-weight:700;color:#2a2417;margin:2px 0 12px;letter-spacing:-.01em}.tournament-lobby__empty{border-color:#2b2a2759}.create-game__seg{flex-wrap:wrap}.create-game__title{font-family:Fraunces,Georgia,serif;font-size:1.2rem;letter-spacing:-.01em}@media (max-width: 480px){.create-game__seg--wrap{display:grid;grid-template-columns:repeat(2,1fr)}}.create-game__start-btn{color:#fff4ea;background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 10px 22px -8px #b03c2080,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4)}.create-game__start-btn:hover{filter:brightness(1.03) saturate(1.03);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f)}.watch-empty a,.lb-status a{color:#7a5a10}@media (max-width: 768px){.hub__header,.hub__section--launch{margin-bottom:20px}}.recap-timeline tr:nth-child(odd){background:#fbf9f3cc}.recap-timeline tr:nth-child(2n){background:#f5f0e480}.recap-tabs__tab{white-space:nowrap}.recap-performance__clean .recap-performance__count{color:#b3701a}.recap-performance__clean{border-left:1px solid rgba(43,42,39,.15);margin-left:4px;padding-left:8px}.account-app__section{border-color:#2c221838;box-shadow:inset 0 1px #fff8ea,0 4px 14px -8px #2a241742}.account-app__head{align-items:center}.account-app__field select{min-width:120px}.account-app__section-title{margin-bottom:14px}@media (max-width: 560px){.tournament-app .tournament-lobby__utility .auth-signout-row{background:transparent;border:none}.tournament-app .tournament-lobby__utility .auth-signout-row button{font-size:12px;padding:0!important}}.tournament-app .tournament-lobby__lede{color:var(--lo-ink)}@media (max-width: 768px){.tournament-app .tournament-lobby__how{display:block}.tournament-app .tournament-lobby__how>summary{display:inline-flex;align-items:center}}.create-game__section{gap:10px}.create-game__section:not(:last-child){margin-bottom:4px}.create-game__seg-btn:hover{background:#d9d0be;border-color:#9e8e6a}.lb-page:after{height:64px;background:linear-gradient(to bottom,transparent,rgba(233,222,196,.97))}.recap-jump-nav,.recap-jump-nav__btn{border-radius:8px}@media (max-width: 768px){.hub__middle{align-items:start}}@media (max-width: 600px){.lb-page__head h1{font-size:26px}.lb-page__sub{max-width:480px}}@media (max-width: 480px){.platform-page__head h1{font-size:28px;margin-bottom:10px}}.player-search:before{content:"";position:absolute;left:12px;top:50%;transform:translateY(-50%);width:15px;height:15px;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='6.5' cy='6.5' r='4' stroke='%236a5f49' stroke-width='1.6'/%3E%3Cpath d='M10 10L13.5 13.5' stroke='%236a5f49' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain}input.player-search__input{padding-left:34px}.watch-empty{margin-top:12px;padding-top:28px;padding-bottom:28px}.platform-page.watch-page{border:1px solid rgba(74,52,24,.5);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E"),linear-gradient(168deg,#fffdf7,#f3ead7);background-blend-mode:multiply,normal;box-shadow:0 22px 48px -18px #1e140a66,inset 0 0 0 1px #d8b43247,inset 0 0 0 5px #fffdf780,inset 0 0 0 6px #4a341824,inset 0 1px #fff9}.watch-page .watch-list{background:none;border:none;padding:0}.watch-page .watch-row{border:1px solid rgba(74,52,24,.5);border-radius:16px;background:linear-gradient(168deg,#fffdf7,#f3ead7);box-shadow:0 10px 26px -14px #2a241766,inset 0 0 0 1px #d8b43247,inset 0 1px #fff9}.watch-page .watch-row:hover{border-color:#4a341880;box-shadow:0 16px 30px -16px #2a241775,inset 0 0 0 1px #d8b43266,inset 0 1px #fff9}.watch-page .watch-empty,.watch-page .watch-recent{border:1px solid rgba(74,52,24,.5);background:linear-gradient(168deg,#fffdf7,#f3ead7);box-shadow:0 10px 26px -14px #2a241766,inset 0 0 0 1px #d8b43247,inset 0 1px #fff9}.verdict-page .verdict-board{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;margin:18px 0 8px}.verdict-page .verdict-stone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 14px;min-width:132px;border:1px solid var(--line, #d9cdb3);border-radius:14px;background:#ffffff80}.verdict-page .verdict-stone--picked{border-color:var(--accent, #b8860b);background:#ffffffc7}.verdict-page .verdict-stone--claimable{border-color:#2e7d32;background:#2e7d3214}.verdict-page .verdict-stone--blocked{border-color:#b23b3b;background:#b23b3b14}.verdict-page .verdict-stone__side{display:flex;gap:5px;min-height:36px}.verdict-page .verdict-stone__marker{font-size:12px;font-weight:700;color:var(--ink-soft, #6b5c47)}.verdict-page .verdict-stone__verdict{margin:2px 0 0;font-size:13px;font-weight:700}.verdict-page .verdict-stone__verdict--missed{color:#b23b3b}.verdict-page .verdict-stone__toggle{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--line, #d9cdb3);background:#fff9;border-radius:999px;padding:8px 16px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink, #2b2a27)}.verdict-page .verdict-stone__toggle--on{background:var(--ink, #2b2a27);color:var(--paper, #f7f0df);border-color:var(--ink, #2b2a27)}.verdict-page .verdict-dead{margin:18px auto;text-align:center;max-width:520px}.verdict-page .verdict-dead__label{font-size:13px;font-weight:700;color:var(--ink-soft, #6b5c47);margin-bottom:8px}.verdict-page .verdict-dead__cards{display:flex;flex-wrap:wrap;gap:5px;justify-content:center}.verdict-page .verdict-actions,.verdict-page .verdict-result{text-align:center;margin:18px 0}.verdict-page .verdict-result__banner{font-weight:700;font-size:16px;margin:6px 0 12px}.verdict-page .verdict-result__banner--ok{color:#2e7d32}.verdict-page .verdict-result__banner--no{color:#b23b3b}.platform-page.verdict-page:not(.library-page){max-width:600px}.verdict-page .st-card{display:inline-flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(168deg,#fffdf5,#f3ecd9);border:1.5px solid var(--card-hex, #999);border-radius:6px;color:var(--card-hex, #333);font-weight:800}.verdict-page .st-card--sm{width:26px;height:36px;font-size:15px}.verdict-page .st-card--md{width:38px;height:52px;font-size:21px}.verdict-page .st-card--dim{opacity:.34;filter:grayscale(.6)}.verdict-page .st-card--ghost{background:none;border:1.5px dashed rgba(43,42,39,.3)}.verdict-page .st-card__pip{position:absolute;bottom:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--card-hex, #999)}.tactics-page .st-card{display:inline-flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(168deg,#fffdf5,#f3ecd9);border:1.5px solid var(--card-hex, #999);border-radius:6px;color:var(--card-hex, #333);font-weight:800}.tactics-page .st-card--sm{width:24px;height:34px;font-size:14px}.tactics-page .st-card--md{width:38px;height:52px;font-size:21px}.tactics-page .st-card__pip{position:absolute;bottom:3px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--card-hex, #999)}.tactics-page .tactics-progress{text-align:center;font-size:14px;color:var(--ink-soft, #6b5c47);margin:6px 0 14px}.storm-hud{display:flex;justify-content:center;align-items:baseline;gap:18px;margin:4px 0 14px;font-variant-numeric:tabular-nums}.storm-hud__clock{font-size:1.5rem;font-weight:800;color:#2c2218}.storm-hud__clock--low{color:#b3401f;animation:storm-pulse 1s ease-in-out infinite}@keyframes storm-pulse{50%{opacity:.45}}.storm-hud__score{font-size:1rem;font-weight:700}.storm-hud__combo{font-size:.9rem;color:var(--ink-soft, #6b5c47)}.storm-hud__combo--hot{color:#d89620;font-weight:700}.storm-board{border-radius:14px;transition:box-shadow .14s ease,background .14s ease}.storm-board--ok{box-shadow:0 0 0 3px #3c96468c}.storm-board--no{box-shadow:0 0 0 3px #c8402a99}.storm-intro,.storm-over{text-align:center;max-width:420px;margin:12px auto;display:flex;flex-direction:column;gap:12px;align-items:center}.storm-intro__rules{color:var(--ink-soft, #6b5c47)}.storm-intro__best,.storm-over__best{font-weight:700}.storm-over__score{font-size:1.6rem;font-weight:800}.storm-over__actions{display:flex;gap:12px;align-items:center;justify-content:center}.storm-start{min-width:140px}.tactics-page .tactics-board{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 14px}.tactics-page .tactics-stone{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:72px;padding:8px 6px;border:1px solid var(--line, #d9cdb3);border-radius:12px;background:#ffffff80;cursor:pointer;font:inherit;color:inherit}.tactics-page .tactics-stone:disabled{cursor:default}.tactics-page .tactics-stone--claimed{opacity:.55}.tactics-page .tactics-stone__side{display:flex;gap:4px;min-height:34px}.tactics-page .tactics-stone__marker{font-size:11px;font-weight:700;color:var(--ink-soft, #6b5c47)}.tactics-page .tactics-hint{text-align:center;font-size:14px;color:var(--ink-soft, #6b5c47);margin:4px 0 12px}.tactics-page .tactics-hand{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 16px}.tactics-page .tactics-hand__card{padding:4px;border:2px solid transparent;border-radius:10px;background:none;cursor:pointer;line-height:0}.tactics-page .tactics-hand__card--selected{border-color:var(--accent, #b8860b);background:#fff9}.tactics-page .tactics-feedback{text-align:center;margin:12px 0;font-weight:700}.tactics-page .tactics-feedback--ok .tactics-feedback__verdict{color:#2e7d32}.tactics-page .tactics-feedback--no .tactics-feedback__verdict{color:#b23b3b}.tactics-page .tactics-feedback__best{color:var(--ink-soft, #6b5c47);font-weight:600}.tactics-page .tactics-feedback .puzzle-card__play{display:block;margin:12px auto 0}.tactics-page .tactics-summary{text-align:center;margin:24px 0}.tactics-page .tactics-summary__score{font-size:18px;font-weight:700}.finish-page .finish-solved{text-align:center;margin:28px 0}.finish-page .finish-solved__banner{font-size:20px;font-weight:800;color:#b3701a}.finish-page .finish-solved__move{color:var(--ink-soft, #6b5c47);font-weight:600}.finish-page .finish-feedback{text-align:center;margin:12px 0;font-weight:700}.finish-page .finish-feedback--no .finish-feedback__verdict{color:#b23b3b}.finish-page .finish-feedback__best{color:var(--ink-soft, #6b5c47);font-weight:600}.finish-page .finish-feedback .puzzle-card__play{display:block;margin:12px auto 0}.library-page .library-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin:6px auto 8px;max-width:760px}.library-page .library-theme-card{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px 16px;border:1px solid rgba(74,52,24,.3);border-radius:14px;background:linear-gradient(168deg,#fffdf7,#f3ead7);box-shadow:inset 0 0 0 1px #d8b43238,0 1px #fff7e8,0 4px 14px -8px #2a241738;cursor:pointer;font:inherit;color:inherit;transition:border-color var(--dur-fast, .12s) var(--ease-out),box-shadow var(--dur-fast, .12s) var(--ease-out),transform var(--dur-fast, .12s) var(--ease-out)}.library-page .library-theme-card:hover{border-color:#4a341873;box-shadow:inset 0 0 0 1px #d8b43257,0 1px #fff7e8,0 10px 26px -12px #2a241761;transform:translateY(-2px)}.library-page .library-theme-card__name{font-size:16px;font-weight:800;color:var(--ink, #3f3526)}.library-page .library-theme-card__count{font-size:13px;color:var(--ink-soft, #6b5c47)}.library-page .library-dashboard{max-width:760px;margin:4px auto 14px}.library-page .library-dashboard__row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.library-page .library-dashboard__count{font-weight:700;color:var(--ink, #3f3526)}.library-page .library-dashboard__pct{font-variant-numeric:tabular-nums;font-weight:800;color:var(--accent, #b8860b)}.library-page .library-progress{height:10px;border-radius:999px;overflow:hidden;background:#2c22181f;border:1px solid rgba(44,34,24,.14)}.library-page .library-progress--sm{height:6px;margin:2px 0}.library-page .library-progress__fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#d89620,#efb63f);transition:width .3s ease}.library-page .puzzle-rating{margin-top:12px}.library-page .puzzle-rating__head{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px}.library-page .puzzle-rating__label{font-weight:700;color:var(--ink, #3f3526)}.library-page .puzzle-rating__value{font-variant-numeric:tabular-nums;font-weight:800;font-size:20px;color:var(--accent, #b8860b)}.library-page .puzzle-rating__conf{font-variant-numeric:tabular-nums;color:#3f3526b3;font-size:13px}.library-page .puzzle-rating__provisional{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#b8860b2e;color:#3f3526}.library-page .puzzle-rating__nudge{color:#3f3526b3;font-size:13px;margin:6px 0 0}.library-page .puzzle-rating-chart{display:block;width:100%;height:60px;margin-top:4px;background:#2c22180d;border:1px solid rgba(44,34,24,.12);border-radius:8px}.library-page .puzzle-rating-chart__line{stroke:#d89620;stroke-width:2;vector-effect:non-scaling-stroke}.library-page .puzzle-rating-chart__last{fill:var(--accent, #b8860b)}.puzzle-page .puzzle-rating-badge{display:inline-block;margin:4px 0 8px;padding:2px 10px;border-radius:999px;font-weight:800;font-variant-numeric:tabular-nums;font-size:13px;background:#b8860b29;color:#3f3526;border:1px solid rgba(184,134,11,.28)}.library-page .library-theme-card__diffs{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.library-page .library-diff{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;text-transform:capitalize;color:#3f3526}.library-page .library-diff--easy{background:#2e7d3229}.library-page .library-diff--medium{background:#b8860b2e}.library-page .library-diff--hard{background:#b23b3b29}.library-page .library-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;justify-content:center;margin:4px auto 16px}.library-page .library-back{background:none;border:none;cursor:pointer;font:inherit;color:var(--ink-soft, #6b5c47);font-weight:700;padding:6px 4px}.library-page .library-filter{display:inline-flex;gap:4px}.library-page .library-filter__btn{font:inherit;font-size:13px;cursor:pointer;padding:5px 12px;border:1px solid var(--line, #d9cdb3);border-radius:999px;background:#ffffff80;color:var(--ink-soft, #6b5c47)}.library-page .library-filter__btn--on{background:var(--accent, #b8860b);border-color:var(--accent, #b8860b);color:#fff}.library-page .library-list{list-style:none;padding:0;margin:0 auto;max-width:620px;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}.library-page .library-chip{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--line, #d9cdb3);border-radius:12px;background:#ffffff80;cursor:pointer;font:inherit;color:inherit}.library-page .library-chip:hover{border-color:var(--accent, #b8860b);background:#fffdf7}.library-page .library-chip__id{font-weight:800;color:var(--ink, #3f3526)}.library-page .library-chip__solved{margin-left:auto;color:#b3701a;font-weight:800}.library-page .library-solver-nav{display:flex;justify-content:center;margin-top:12px}.library-page .verdict-actions,.library-page .verdict-result{text-align:center;margin:14px 0}.tournament-lobby__view-toggle{display:inline-flex;gap:4px;margin:10px 0 4px}.tournament-lobby__view-toggle button[aria-pressed=true]{background:var(--t-heather-wash);color:var(--t-heather);border-color:var(--t-heather-soft);font-weight:600}.schedule-timeline{position:relative;margin-top:8px;padding:10px 14px 14px;background:radial-gradient(900px 400px at 6% -20%,#f6eed8 0,transparent 60%),linear-gradient(180deg,var(--t-paper, #f8f2e3),var(--t-paper-edge, #efe6d0));border:1px solid var(--t-line, #d6c9aa);border-radius:12px;box-shadow:var(--t-shadow);overflow-x:auto}.schedule-timeline--empty{padding:18px}.schedule-timeline__empty{margin:0;text-align:center;color:var(--t-stone-dark, #736850);font-style:italic}.schedule-timeline__ruler{position:relative;height:20px;margin-bottom:8px;border-bottom:1px solid var(--t-line-soft, #e3d8be)}.schedule-timeline__tick{position:absolute;top:0;bottom:0;border-left:1px dashed var(--t-line-soft, #e3d8be);transform:translate(-.5px)}.schedule-timeline__tick-label{position:absolute;top:0;left:4px;font-family:Fraunces,Georgia,serif;font-size:11px;color:var(--t-stone-dark, #736850);white-space:nowrap}.schedule-timeline__lanes{position:relative;width:100%;min-width:360px}.schedule-timeline__now{position:absolute;top:-20px;bottom:0;width:2px;background:var(--accent, #d45d4c);transform:translate(-1px);z-index:3;pointer-events:none}.schedule-timeline__now-label{position:absolute;top:-18px;left:3px;font-family:Fraunces,Georgia,serif;font-size:10px;font-weight:700;letter-spacing:.02em;color:var(--accent, #d45d4c);text-transform:uppercase}.schedule-timeline__block{position:absolute;height:40px;padding:4px 8px;border:1px solid var(--t-line, #d6c9aa);border-radius:8px;background:#ffffffe6;color:var(--t-ink, #2a2417);display:flex;flex-direction:column;justify-content:center;gap:2px;overflow:hidden;text-align:left;cursor:pointer;transition:box-shadow var(--dur-fast, .12s) var(--ease-out),transform var(--dur-fast, .12s) var(--ease-out)}.schedule-timeline__block:hover,.schedule-timeline__block:focus-visible{box-shadow:0 3px 10px -4px #2a241780;transform:translateY(-1px);z-index:2}.schedule-timeline__block-name{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-timeline__block-meta{font-size:11px;color:var(--t-stone-dark, #736850);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schedule-timeline__block--in_progress{background:var(--t-heather-wash, #f0e4ea);border-color:var(--t-heather-soft, #a8718f)}.schedule-timeline__block--in_progress .schedule-timeline__block-name{color:var(--t-heather, #7c3e63)}.schedule-timeline__block--upcoming{background:#0057b814;border-color:#0057b84d}.schedule-timeline__block--finished{background:#228b221a;border-color:#228b224d;opacity:.82}.schedule-timeline__block--official{border-left:4px solid var(--t-gold, #b08a35)}.schedule-timeline__official-badge{flex:none;color:var(--t-gold, #b08a35);font-size:12px;line-height:1}.schedule-timeline__block--estimated{border-style:dashed}.schedule-timeline__unscheduled{margin-top:10px;padding-top:8px;border-top:1px dashed var(--t-line, #d8ccae)}.schedule-timeline__unscheduled-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--t-stone-dark, #736850);margin-bottom:6px}.schedule-timeline__unscheduled-list{display:flex;flex-wrap:wrap;gap:6px}.schedule-timeline__chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--t-line-strong, #cdbf9f);border-radius:999px;background:var(--t-paper-hi, #f7efdc);color:var(--t-ink, #4a3f2a);font-family:Fraunces,Georgia,serif;font-size:12px;cursor:pointer}.schedule-timeline__chip:hover{background:var(--t-paper, #efe4c9)}.schedule-timeline__chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.schedule-timeline__later{margin-top:10px;padding-top:8px;border-top:1px dashed var(--t-line, #d8ccae)}.schedule-timeline__later-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--t-stone-dark, #736850);margin-bottom:6px}.schedule-timeline__later-list{display:flex;flex-wrap:wrap;gap:6px}.schedule-timeline__chip-when{font-size:11px;color:var(--t-stone-dark, #736850);margin-left:4px}.schedule-timeline__chip--estimated{border-style:dashed}.schedule-timeline__block{min-width:8px}.schedule-timeline__clip{position:absolute;top:50%;transform:translateY(-50%);font-weight:800;color:var(--t-stone-dark, #736850)}.schedule-timeline__clip--start{left:2px}.schedule-timeline__clip--end{right:2px}@media (prefers-reduced-motion: reduce){.schedule-timeline__block{transition:none}}.studies-section{margin:0 0 24px}.studies-section__title{font-family:Fraunces,Georgia,serif;font-size:16px;font-weight:700;letter-spacing:-.005em;margin:0 0 12px;color:var(--t-ink,#2a2417)}.studies-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.studies-list__empty{color:#6a5f49;font-size:15px}.study-card{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f0e8;border:1px solid #e3d8bd;border-radius:10px;box-shadow:0 1px #fff7e8,0 4px 14px -8px #2a241742;transition:transform var(--dur-fast,.12s) var(--ease-out),box-shadow var(--dur-fast,.12s) var(--ease-out)}.study-card:hover{transform:translateY(-2px);box-shadow:0 1px #fff7e8,0 10px 26px -12px #2a241766}.study-card__link{font-family:Fraunces,Georgia,serif;font-size:15px;font-weight:700}.study-card__badge{margin-left:auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px;background:#b08a3529;color:#8a6a28}a.online-ranking__more:not(.primary):not(.ghost),a.winner-modal__analyse:not(.primary):not(.ghost),a.study-card__link:not(.primary):not(.ghost){color:#6f4b0e;text-decoration-color:currentColor}a.team-card__name:not(.primary):not(.ghost),a.team-page__back:not(.primary):not(.ghost),a.team-roster__name:not(.primary):not(.ghost){color:#6f4b0e;text-decoration:none}a.team-card__name:not(.primary):not(.ghost):hover,a.team-page__back:not(.primary):not(.ghost):hover,a.team-roster__name:not(.primary):not(.ghost):hover{color:#6f4b0e;text-decoration:underline}a.nav-menu__item:not(.primary):not(.ghost),a.nav-menu__item:not(.primary):not(.ghost):visited,a.nav-drawer__item:not(.primary):not(.ghost),a.nav-drawer__item:not(.primary):not(.ghost):visited,a.nav-drawer__single-link:not(.primary):not(.ghost),a.nav-drawer__single-link:not(.primary):not(.ghost):visited{color:var(--ink, #2a2417);text-decoration:none;text-decoration-color:transparent}a.account-app__back:not(.primary):not(.ghost),a.account-app__back:not(.primary):not(.ghost):visited{color:#6f4b0e;text-decoration:none;text-decoration-color:transparent}a.account-app__back:not(.primary):not(.ghost):hover{color:#6f4b0e;text-decoration:underline}a.account-app__signin:not(.primary):not(.ghost),a.account-app__signin:not(.primary):not(.ghost):visited,a.account-app__signin:not(.primary):not(.ghost):hover{color:#fff;text-decoration:none}a.notif-item__link:not(.primary):not(.ghost){color:#c8402a;text-decoration:none}a.notif-item__link:not(.primary):not(.ghost):hover{text-decoration:underline}.tournament-app a.tournament-lobby__hof-name,.tournament-app a.tournament-lobby__winners-name,.tournament-app a.tournament-profile__friend-name,.tournament-app a.tournament-profile__tname{color:var(--lo-ink);text-decoration:none;text-decoration-color:transparent}.tournament-app a.tournament-profile__back{color:var(--lo-ink-muted);text-decoration:none;text-decoration-color:transparent}.tournament-app a.tournament-profile__game-recap{color:var(--lo-accent, #c8402a);text-decoration:none}a.home-card__more:not(.primary):not(.ghost){color:#6f4b0e}a.home-card__more:not(.primary):not(.ghost):hover{color:#6f4b0e;text-decoration:underline}.home-players__name a:not(.primary):not(.ghost),a.home-tourns__link:not(.primary):not(.ghost){color:#2a2417}.online-lobby button.primary.online-lobby__quickplay{color:#fff4ea;border:1px solid rgba(120,32,12,.4);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 12px 26px -8px #b03c208c,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.online-lobby__play-secondary .online-lobby__playbot{background:linear-gradient(180deg,#fffdf7,#f1e4c8);border:1px solid rgba(120,92,56,.4);color:#3a2c1c;font-weight:700;box-shadow:inset 0 1px #ffffffb3,0 6px 14px -10px #3c281280}.online-lobby__play-secondary .online-lobby__playbot:hover{background:linear-gradient(180deg,#fffef9,#f4e9d1);border-color:#785c388c;box-shadow:inset 0 1px #fffc,0 10px 20px -12px #3c28128c}.online-lobby__play-secondary .online-lobby__playbot:active{box-shadow:inset 0 2px 5px #3c28122e}.online-lobby .online-lobby__play-secondary>.online-lobby__host.ghost{background:#fffdf766;border:1px solid rgba(120,92,56,.34);color:#3a2c1c;font-weight:600}.online-lobby .online-lobby__play-secondary>.online-lobby__host.ghost:hover{background:#f7eeda;border-color:#785c3880}.online-lobby__identity{display:flex;align-items:center;gap:12px;width:fit-content;max-width:100%;margin:0 0 14px;padding:10px 14px;border-radius:14px;background:linear-gradient(168deg,#fffdf7b3,#f4e9d18c);border:1px solid rgba(120,92,56,.26);box-shadow:inset 0 1px #fff9,0 8px 20px -16px #3c281280;font-size:13px;color:#4a443c}.online-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:50%;background:radial-gradient(120% 120% at 30% 25%,#fbf3df,#e6d4b0 70%,#d8c39c);border:1.5px solid rgba(120,92,56,.42);box-shadow:inset 0 1px #ffffffbf,inset 0 -2px 4px #785c3838,0 1px 2px #281c0e40;font-family:Fraunces,serif;font-weight:700;font-size:.9rem;color:#5a4426}.online-open-games{margin:4px 0 14px;padding:14px 16px;border-radius:16px;background:linear-gradient(168deg,#f9f1de,#efe2c6);border:1px solid rgba(120,92,56,.3);box-shadow:inset 0 1px #ffffff8c,inset 0 2px 6px #281c0e0d,0 12px 26px -18px #3c281280}.online-open-games__empty{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:.85rem;opacity:1;color:#6b5a44;margin:8px 0 0;padding:18px;border:1px dashed rgba(120,92,56,.4);border-radius:12px;background:#fffdf759}.open-game-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto auto;container-type:inline-size;align-items:center;gap:2px 10px;padding:10px 12px;border-radius:12px;background:linear-gradient(170deg,#fffdf7f5,#f7eedae6);border:1px solid rgba(120,92,56,.26);box-shadow:0 3px 8px -4px #281c0e24,inset 0 1px #fffc;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out),border-color .16s var(--ease-out)}.open-game-row:hover{transform:translateY(-2px);border-color:#b08a3580;box-shadow:0 10px 20px -10px #3c281252,inset 0 1px #ffffffd9}.online-lobby__recent{margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:linear-gradient(168deg,#fffdf799,#f5ebd780);border:1px solid rgba(120,92,56,.2);box-shadow:inset 0 1px #ffffff80,0 10px 22px -18px #3c281273}.online-lobby__ranking{margin-bottom:14px;padding:12px 14px;border-radius:14px;background:linear-gradient(168deg,#fffdf799,#f5ebd780);border:1px solid rgba(120,92,56,.2);box-shadow:inset 0 1px #ffffff80,0 10px 22px -18px #3c281273}.online-lobby section.online-lobby__find{margin:4px 0 14px;padding:12px 14px;border-radius:14px;background:linear-gradient(168deg,#fffdf799,#f5ebd780);border:1px solid rgba(120,92,56,.2);box-shadow:inset 0 1px #ffffff80,0 10px 22px -18px #3c281273}.online-pill--idle{background:#785c3821;color:#5f5140;border-color:#785c3847}.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 #ffffff8c,inset 0 0 0 1px #ffffff38,0 1px 2px #281c0e52}.online-lobby .online-leaderboard li.online-leaderboard__me{background:linear-gradient(90deg,#b08a3529,#b08a350d);border-radius:8px;padding:3px 10px;margin:0 -8px;box-shadow:inset 3px 0 #b08a35}.online-lobby .online-leaderboard__rating{text-align:right}.online-ranking__count{color:#9a6a35;font-weight:700}.online-lobby__ranking .online-ranking__more{display:inline-block;margin-top:10px;font-size:.82rem;font-weight:600}.online-open-games--flat{background:none;border-color:#2c22181a;box-shadow:none;padding:6px 2px;margin:4px 0 10px}.online-open-games--flat .online-card__title{border-bottom:none;opacity:.7}.online-open-games__empty--inline{flex-direction:row;justify-content:center;align-items:center;gap:8px;padding:8px 4px;border:0;border-radius:0;margin:0;background:none}.online-open-games__empty--inline .online-open-games__glyph{font-size:.95rem}.online-lobby button.primary.online-lobby__quickplay{position:relative;overflow:hidden;color:#fff4ea;border:1px solid rgba(120,32,12,.4);background:linear-gradient(180deg,#fff4e638,#fff4e600 46%),linear-gradient(135deg,#c53f26,#d84e2b 46%,#e8662f);box-shadow:0 12px 26px -8px #b03c208c,inset 0 1px #ffeed680,inset 0 -3px 8px #781e0a47;text-shadow:0 1px 0 rgba(110,28,10,.4);transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-base) var(--ease-out),filter var(--dur-base) var(--ease-out)}.online-lobby button.primary.online-lobby__quickplay:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.03) saturate(1.03);box-shadow:0 18px 34px -10px #b03c2099,inset 0 1px #fff0da8c,inset 0 -3px 8px #781e0a47}.online-lobby button.primary.online-lobby__quickplay:active:not(:disabled){transform:translateY(0) scale(.99);filter:brightness(.99);box-shadow:0 6px 14px -8px #b03c2080,inset 0 2px 6px #6e1c0a66}.online-lobby button.primary.online-lobby__quickplay:after{content:"";position:absolute;top:0;bottom:0;left:0;width:55%;pointer-events:none;background:linear-gradient(100deg,transparent 0%,rgba(255,244,224,.32) 50%,transparent 100%);transform:translate(-180%)}@media (prefers-reduced-motion: no-preference){.online-lobby button.primary.online-lobby__quickplay:hover:not(:disabled):after{animation:lobby-hero-sheen .78s var(--ease-out)}@keyframes lobby-hero-sheen{0%{transform:translate(-180%)}to{transform:translate(320%)}}}.online-open-games--flat{background:none;border:none;border-top:1px solid rgba(120,92,56,.2);border-radius:0;box-shadow:none;padding:12px 2px 2px;margin:8px 0 10px}.online-open-games--flat .online-card__title{border-bottom:none;opacity:1;color:#9a6a35;font-size:.9rem;margin-bottom:4px}.online-open-games__empty--inline{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px;padding:4px 2px 2px;border:0;border-radius:0;margin:0;text-align:left;color:#6b5a44;opacity:1;font-size:.85rem}.online-open-games__empty--inline .online-open-games__glyph{font-size:1.05rem;opacity:1;color:#9a6a35;flex-shrink:0}.online-open-games__glyph{font-size:1.3rem;opacity:.85;color:#9a6a35}.online-card__title--display{font-family:Fraunces,serif;font-optical-sizing:auto;font-size:1rem;font-weight:700;line-height:1.2;text-transform:none;letter-spacing:.005em}.online-lobby__play-sub{margin:2px auto 0;max-width:46ch;text-align:center;font-size:.82rem;line-height:1.4;letter-spacing:.005em;color:#6b5a44;opacity:1}.online-pill--idle{background:#785c3821;color:#5f5140;border-color:#785c384d;letter-spacing:.14em;box-shadow:inset 0 1px #ffffff80}.online-lobby a{text-underline-offset:2px}.online-lobby__ranking .online-ranking__more:hover{text-decoration-thickness:2px}.online-lobby .online-leaderboard__record{font-variant-numeric:tabular-nums}.admin-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin:.75rem 0 1rem;border-bottom:1px solid rgba(60,42,24,.25)}.admin-tab{padding:.4rem .8rem;border-radius:6px 6px 0 0;text-decoration:none;color:inherit;font-weight:600;opacity:.7}.admin-tab:hover{opacity:1;background:#3c2a1814}.admin-tab--active{opacity:1;background:#3c2a181f;box-shadow:inset 0 -2px 0 var(--clan-ember, #b4432b)}.admin-cards{display:flex;flex-wrap:wrap;gap:.75rem}.admin-card{display:flex;flex-direction:column;min-width:8rem;padding:.9rem 1.1rem;border-radius:8px;background:#3c2a180f;border:1px solid rgba(60,42,24,.15);text-decoration:none;color:inherit}a.admin-card:hover{background:#3c2a181f}.admin-card__n{font-size:1.6rem;font-weight:800;line-height:1.1}.admin-card__l{font-size:.8rem;opacity:.75}
