:root{color-scheme:light;--ink: #2b2a27;--stone: #e7dcc7;--stone-shadow: rgba(32, 30, 26, .35);--clan-north: #c46b5b;--clan-south: #4c7a6f;--accent: #d45d4c;--paper: #f5efe6;--paper-dark: #ded3be;--deep: #1c1b19;--mist: #c8b8a0}*{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(196,107,91,.12) 0 6px,transparent 6px 72px),linear-gradient(0deg,rgba(76,122,111,.1) 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}.app{max-width:1200px;margin:0 auto;padding:32px 24px 48px;display:flex;flex-direction:column;gap:32px}.app--landing{max-width:1100px}.landing{display:flex;flex-direction:column;gap:48px}.landing-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:32px;align-items:center;padding:28px;border-radius:26px;background:linear-gradient(140deg,#ffffffe6,#ece2d2cc);border:1px solid rgba(43,42,39,.14);box-shadow:0 22px 36px #1c1b1929}.landing-hero__copy h1{font-size:3rem;margin:0 0 12px}.landing-lang{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2799;margin-bottom:12px}.landing-lang select{border-radius:999px;border:1px solid rgba(43,42,39,.2);padding:6px 12px;background:#fffc;font-weight:600;color:var(--ink)}.landing h2{margin:0 0 8px;font-family:Fraunces,serif;font-size:2rem}.landing-eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;margin:0 0 10px;color:#2b2a278c}.landing-lede{margin:0 0 20px;font-size:1.05rem;color:#2b2a27bf;line-height:1.6}.landing-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}.landing-pillars{display:flex;gap:12px;flex-wrap:wrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:#2b2a2799}.landing-hero__card{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:20px;background:#2b2a2714;box-shadow:inset 0 0 0 1px #2b2a271f}.hero-board{padding:16px;border-radius:18px;background:#fffc;box-shadow:inset 0 0 12px #2b2a271a;display:flex;flex-direction:column;gap:12px}.hero-banner{font-size:.6rem;text-transform:uppercase;letter-spacing:.24em;color:#2b2a278c}.hero-row{display:flex;gap:8px}.hero-row--top{justify-content:flex-end}.hero-row--bottom{justify-content:flex-start}.hero-card{width:38px;height:52px;border-radius:10px;background:linear-gradient(140deg,#fff7ea,#e7d1b4);border:1px solid rgba(43,42,39,.2);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;color:var(--accent)}.hero-card--back{background:linear-gradient(140deg,#2c2a26,#4f4b43);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:#2b2a271a;font-size:.6rem;display:inline-flex;align-items:center;justify-content:center;color:#2b2a2799}.hero-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:#2b2a27a6;text-align:center}.landing-section{display:flex;flex-direction:column;gap:20px}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.landing-card{padding:18px;border-radius:18px;background:#ffffffbf;border:1px solid rgba(43,42,39,.12);box-shadow:0 14px 26px #1c1b191f}.landing-card h3{margin:0 0 8px;font-family:Fraunces,serif}.landing-card p{margin:0;color:#2b2a27b3}.landing-section--modes{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:24px;align-items:start}.landing-modes{display:grid;gap:12px}.landing-mode{padding:14px 16px;border-radius:16px;background:#fffc;border:1px solid rgba(43,42,39,.12)}.landing-mode h4{margin:0 0 6px;font-family:Fraunces,serif}.landing-mode p{margin:0;color:#2b2a27b3}.landing-section--install{padding:20px;border-radius:20px;background:linear-gradient(150deg,#ffffffe0,#e9dcc7d9);border:1px solid rgba(43,42,39,.12);box-shadow:0 18px 30px #1c1b1926}.install-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.install-card{padding:12px 14px;border-radius:14px;background:#ffffffbf;border:1px solid rgba(43,42,39,.12);display:flex;flex-direction:column;gap:4px}.install-title{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:#2b2a2799}.install-detail{font-weight:600;color:#2b2a27cc}.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}.subtitle{max-width:420px;margin:0;color:#2b2a27b3;line-height:1.5}.controls{display:flex;flex-direction:column;gap:16px;width:min(420px,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{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{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}.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}.last-action{margin-top:10px;padding:10px 12px;border-radius:14px;background:#ffffffb3;border:1px solid rgba(43,42,39,.12);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:#4c7a6f99;color:#2f5c53}.tactic-chip--north{border-color:#c46b5b99;color:#7b3b31}.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,#e9f2eef2,#aecec3e6);border-color:#4c7a6f80;color:#2f5c53}.stone-token--north{background:linear-gradient(145deg,#f6e9e4f2,#dfbcb3e6);border-color:#c46b5b80;color:#7b3b31}.action-row{display:flex;gap:12px;flex-wrap:wrap}button.primary{background:var(--ink);color:#f8f3ea;border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}button.ghost{background:transparent;border:1px solid rgba(43,42,39,.2);border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer}.ai-row{display:flex;align-items:center;gap:12px;font-size:.9rem}.ai-row input[type=range]{width:160px}.online-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.online-row input{flex:1 1 180px;border-radius:10px;border:1px solid rgba(43,42,39,.2);padding:8px 10px}.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}.online-status .value{font-weight:700}.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 12px;font-family:Fraunces,serif}.hand{display:flex;gap:10px;flex-wrap:wrap}.hint{margin:10px 0 0;color:#2b2a2799}.thinking{margin:8px 0 0;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:8px}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 #d45d4c66;animation:pulse-dot 1.3s ease-in-out infinite}.dotty:after{content:"...";display:inline-block;width:0ch;text-align:left;overflow:hidden;animation:dotty 1.2s steps(3,end) infinite}.draw-panel,.recruiter-panel{background:#ffffffb3;border-radius:18px;padding:16px 18px;box-shadow:0 12px 24px #1c1b1926}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1d1c1a59;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:24px;z-index:40}.modal{width:min(440px,92vw);border-radius:22px;padding:22px 24px;box-shadow:0 18px 40px #14131247,inset 0 0 0 1px #2b2a2714;border:1px solid rgba(43,42,39,.12)}.winner-modal{text-align:center;background:linear-gradient(160deg,#fffffff5,#ebdfceeb)}.hotseat-modal{text-align:center}.modal-subtitle{margin:6px 0 18px;color:#2b2a27b3}.modal-actions{justify-content:center}.recruiter-panel h3,.draw-panel h3{margin:0 0 10px;font-family:Fraunces,serif}.recruiter-return{margin-top:16px}.recruiter-return h4{margin:0 0 10px;font-family:Fraunces,serif}.stones{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:14px;align-items:stretch}.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:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:26px;background:radial-gradient(circle at top,rgba(255,255,255,.3),transparent 65%);opacity:.3;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--target{outline:2px dashed rgba(43,42,39,.6);outline-offset:2px}.stone--south{background:linear-gradient(160deg,#e9f2ee,#cdded5);box-shadow:inset 0 0 0 2px #4c7a6f80,0 12px 24px #1c1b192e}.stone--north{background:linear-gradient(160deg,#f3e7e1,#dfc1b9);box-shadow:inset 0 0 0 2px #c46b5b80,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:var(--stone);border-radius:999px;padding:8px 0;box-shadow:inset 0 0 8px #2b2a2733;flex-direction:column;gap:4px}.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:#2f5c53;border-color:#4c7a6f80}.stone-claim--north{color:#7b3b31;border-color:#c46b5b80}.stone-index{font-family:Fraunces,serif;font-weight:800;color:var(--ink)}.stone-mode{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:#2b2a2799}.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);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;transition:transform .2s ease,box-shadow .2s ease;position:relative;overflow:visible}.card-tooltip{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,6px);width:240px;padding:10px 12px;border-radius:12px;background:#1a1815f2;color:#f8f3ea;font-size:.68rem;line-height:1.4;text-transform:none;letter-spacing:.02em;box-shadow:0 16px 30px #14121059;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:6}.card:hover .card-tooltip,.card:focus-visible .card-tooltip,.card:focus-within .card-tooltip{opacity:1;transform:translate(-50%)}.tooltip-block{display:block}.tooltip-block--primary{color:#fff1d8}.tooltip-block+.tooltip-block{margin-top:6px;padding-top:6px;border-top:1px solid rgba(248,243,234,.18)}.tooltip-lang{display:inline-block;font-size:.55rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-right:6px;color:#f8f3eab3}.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:.6;cursor:not-allowed}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,#f6efe2,#d8c9ad);border:1px dashed rgba(43,42,39,.35);--card-accent: var(--accent)}.card--tactic .card-value{font-size:.8rem;line-height:1.1;text-align:center;width:auto;height:auto;padding:0;background:transparent;border:none}.card--tactic:before{background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.6),transparent 55%),linear-gradient(120deg,rgba(212,93,76,.25),transparent 70%)}.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}.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}.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,#d9f3d9,#a4cda5);--card-accent: #3c7a50}.card--blue{background:linear-gradient(145deg,#d7e9f8,#9cc1df);--card-accent: #2e5f86}.card--red{background:linear-gradient(145deg,#f8d8d4,#e2a19a);--card-accent: #93382c}.card--yellow{background:linear-gradient(145deg,#f6f1c6,#e2cb79);--card-accent: #8a6b1f}.card--purple{background:linear-gradient(145deg,#eddff7,#c7a2dd);--card-accent: #6d458c}.card--pink{background:linear-gradient(145deg,#f9dbe9,#e2a0be);--card-accent: #8c2f52}.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}@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))}.landing-hero{grid-template-columns:1fr}.landing-hero__copy h1{font-size:2.4rem}.landing-section--modes{grid-template-columns:1fr}.card{width:60px;height:84px}.card-value{width:38px;height:38px;font-size:1.3rem}.card-tooltip{width:220px;font-size:.64rem}}@media (max-width: 640px){.app{padding:24px 16px 40px}.landing-lang{justify-content:flex-start}.landing-hero{padding:20px}.landing-hero__copy h1{font-size:2rem}.controls{width:100%}.stone-track{gap:4px;padding:6px 8px}.stone-token{height:18px;font-size:.55rem}.stones{grid-template-columns:repeat(2,minmax(0,1fr))}.card{width:56px;height:78px}.card-value{width:34px;height:34px;font-size:1.15rem}}
