/* Wealth Quest — Luxury theme (ดำ-มรกต-ทอง) */
:root{
  --bg:#07110d;--bg2:#0c1a15;--ink:#f5efe0;--muted:#b8b09a;--dim:#8c8573;
  --gold:#d4af37;--gold2:#f3e2a0;--gold3:#9c7a1e;--line:rgba(212,175,55,.28);--line2:rgba(212,175,55,.14);
  --glass:rgba(255,255,255,.035);--glass2:rgba(255,255,255,.06);
  --good:#45c08a;--warn:#e9b44c;--bad:#e5626b;--tip:#9bb8ff;
  --life:#5b7cfa;--health:#2bb673;--ci:#e0457b;--other:#e3a92b;--risk:#c84b4b;--chance:#d4af37;--market:#9a7bf0;--bank:#2fb3a5;--tax:#a9b4bf;
  --serif:"Cormorant Garamond","Noto Serif Thai",Georgia,serif;--thai-serif:"Noto Serif Thai","Cormorant Garamond",serif;
  --sans:"Noto Sans Thai","Leelawadee UI",Tahoma,system-ui,sans-serif;
  --r:18px;
}
*{box-sizing:border-box}
html{color-scheme:dark}
body{margin:0;min-height:100vh;font-family:var(--sans);color:var(--ink);line-height:1.6;
  background:radial-gradient(1100px 600px at 85% -10%,rgba(212,175,55,.12),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(31,94,70,.35),transparent 60%),
  repeating-linear-gradient(45deg,rgba(212,175,55,.018) 0 2px,transparent 2px 22px),var(--bg)}
button,input,select{font:inherit}
button{cursor:pointer;border-radius:12px;border:1px solid var(--line);background:var(--glass2);color:var(--ink);padding:10px 18px;font-weight:600;transition:transform .15s,box-shadow .2s,background .2s,border-color .2s}
button:hover:not(:disabled){border-color:var(--gold);background:rgba(212,175,55,.12)}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:.4;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.gold{background:linear-gradient(135deg,#f6e6a6,#d4af37 45%,#a8851f);color:#1d1606;border-color:#f3e2a0;box-shadow:0 8px 24px rgba(212,175,55,.25),inset 0 1px 0 rgba(255,255,255,.5)}
.gold:hover:not(:disabled){background:linear-gradient(135deg,#fff1c1,#e2bf4a 45%,#b8932a);color:#1d1606}
.ghost{background:transparent}
.danger{border-color:rgba(229,98,107,.6);color:#ffb3b8}
.sm{padding:6px 12px;font-size:13px}
.wide{width:100%}
.icon-only{padding:8px 12px}
input,select{background:rgba(0,0,0,.35);color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 12px;width:100%}
select option{background:#0c1a15}
[hidden]{display:none!important}
.muted{color:var(--muted)}.center{text-align:center;justify-content:center}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.chip{display:inline-block;padding:4px 12px;border-radius:999px;border:1px solid var(--line);font-size:13px;color:var(--gold2)}

/* ---------- Top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px max(16px,env(safe-area-inset-left));background:rgba(7,17,13,.82);backdrop-filter:blur(12px);border-bottom:1px solid var(--line2)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}
.brand b{display:block;font-family:var(--serif);letter-spacing:.22em;font-size:20px;background:linear-gradient(90deg,#f6e6a6,#d4af37,#f6e6a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{display:block;font-size:11.5px;color:var(--muted);letter-spacing:.02em}
.brand-mark{width:34px;height:34px;border:2px solid var(--gold);transform:rotate(45deg);border-radius:6px;box-shadow:0 0 18px rgba(212,175,55,.35),inset 0 0 0 4px rgba(212,175,55,.15)}
.top-actions{display:flex;gap:8px}
#app{max-width:1440px;margin:0 auto;padding:22px max(16px,env(safe-area-inset-left)) 40px}
.foot{text-align:center;color:var(--dim);font-size:12px;padding:16px 20px 30px;border-top:1px solid var(--line2)}

/* ---------- Typography ---------- */
.eyebrow{font-family:var(--serif);letter-spacing:.32em;font-size:13px;color:var(--gold);margin:0 0 10px}
.lux-title{font-family:var(--thai-serif);font-weight:700;font-size:clamp(30px,4.6vw,56px);line-height:1.25;margin:0 0 16px;background:linear-gradient(180deg,#fff7dc,#e6c770 60%,#b89236);-webkit-background-clip:text;background-clip:text;color:transparent}
.lux-title span{font-size:.62em;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.lux-title.small{font-size:clamp(24px,3vw,34px)}
.lead{max-width:760px;color:var(--muted);font-size:16.5px}
.lead b{color:var(--gold2);font-weight:600}

/* ---------- Home ---------- */
.hero{padding:28px 4px 18px}
.resume{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--glass)}
.mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:10px}
.mode-card,.panel{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:0 20px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.04)}
.mode-card{display:flex;flex-direction:column;gap:12px}
.mode-card::before,.panel.hall::before{content:"";position:absolute;inset:6px;border:1px solid var(--line2);border-radius:calc(var(--r) - 6px);pointer-events:none}
.mode-card h2{margin:0;font-family:var(--thai-serif);font-size:24px;color:var(--gold2)}
.mode-card p{margin:0;color:var(--muted);font-size:14.5px}
.mode-ico{font-size:34px;color:var(--gold);line-height:1}
.field{display:grid;gap:6px;font-size:13.5px;color:var(--muted)}
.mode-card .wide{margin-top:auto}
.local-list{display:grid;gap:8px}
.local-row{display:grid;grid-template-columns:18px 1fr auto auto;gap:8px;align-items:center}
.local-row .dot{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 0 2px rgba(255,255,255,.15)}
.local-row select{width:auto;padding:8px}
.local-row button{padding:6px 10px}
.join-row{display:grid;grid-template-columns:1fr auto;gap:8px}
.join-row input{text-transform:uppercase;letter-spacing:.3em;font-weight:700;text-align:center}
.settings-row{display:flex;justify-content:center;margin:18px 0}
.settings-row label{display:flex;gap:10px;align-items:center;color:var(--muted);font-size:14px}
.settings-row select{width:auto}
.panel-title{margin:0 0 12px;font-family:var(--thai-serif);color:var(--gold2);font-size:19px}
.panel-title small{font-family:var(--sans);font-size:12.5px;color:var(--muted);margin-left:8px;font-weight:400}
.hall{margin-top:20px}
.hall-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px}
.hall-list li{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:8px 10px;border-bottom:1px solid var(--line2)}
.hall-list .who b{display:block}.hall-list .who small{color:var(--dim);font-size:12px}
.hall-list .pts{font-family:var(--serif);font-size:22px;color:var(--gold2)}
.medal{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;font-weight:800;color:#2a1d00;background:radial-gradient(circle at 35% 30%,#fff6c2,#d4af37 55%,#8a6a12);box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.medal.m2{background:radial-gradient(circle at 35% 30%,#fff,#c9d1da 55%,#7c8894);color:#1d2630}.medal.m3{background:radial-gradient(circle at 35% 30%,#ffe1c4,#cd7f32 55%,#7c4417);color:#2a1300}
.medal.mx{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}
.tier{display:inline-block;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.06em}
.tier-Diamond{background:linear-gradient(135deg,#e8fbff,#9fe3ff);color:#073047}.tier-Platinum{background:linear-gradient(135deg,#f4f4f4,#b9c2cc);color:#1d2630}
.tier-Gold{background:linear-gradient(135deg,#fff1c1,#d4af37);color:#2a1d00}.tier-Silver{background:linear-gradient(135deg,#eee,#9aa3ad);color:#1d2630}.tier-Bronze{background:linear-gradient(135deg,#ffd6b0,#b8733a);color:#2a1300}

/* ---------- Lobby ---------- */
.lobby{max-width:640px;margin:20px auto}
.code{font-family:var(--serif);letter-spacing:.3em;color:var(--gold2);-webkit-text-fill-color:var(--gold2)}
.seat-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:8px}
.seat-list li{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--line2);border-radius:12px;background:var(--glass)}
.seat-list .dot{width:14px;height:14px;border-radius:50%;background:var(--c)}
.seat-list .grow{flex:1}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}.status-dot.off{background:var(--dim);box-shadow:none}
#hostTools select{width:auto}

/* ---------- Game layout ---------- */
.game{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:20px;align-items:start}
.board-wrap{position:sticky;top:76px}
.board{position:relative;display:grid;grid-template-columns:1.25fr repeat(5,1fr) 1.25fr;grid-template-rows:1.25fr repeat(5,1fr) 1.25fr;gap:4px;aspect-ratio:1;width:min(100%,calc(100vh - 110px));margin:0 auto;padding:10px;border-radius:22px;
  background:linear-gradient(145deg,#132a20,#091510);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 0 0 6px rgba(212,175,55,.06),inset 0 0 0 7px var(--line2)}
.tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;border-radius:10px;text-align:center;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.07);color:var(--ink)}
.tile::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--tc)}
.tile .ti{width:clamp(16px,2.1vw,28px);height:clamp(16px,2.1vw,28px);color:var(--tc)}
.tile .tl{font-size:clamp(8.5px,.82vw,12px);line-height:1.2;color:var(--muted);font-weight:600}
.tile.corner{background:radial-gradient(circle at 50% 35%,rgba(212,175,55,.16),rgba(255,255,255,.02) 70%);border-color:var(--line)}
.tile.corner .ti{width:clamp(22px,2.8vw,38px);height:clamp(22px,2.8vw,38px)}
.tile.corner .tl{color:var(--gold2);font-size:clamp(9px,.9vw,13px)}
.tile.hl{box-shadow:0 0 0 2px var(--gold),0 0 24px rgba(212,175,55,.45)}
.tokens{position:absolute;inset:auto 3px 3px 3px;display:flex;flex-wrap:wrap;justify-content:center;gap:2px}
.token{width:clamp(11px,1.35vw,18px);height:clamp(11px,1.35vw,18px);border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,var(--c) 40%,rgba(0,0,0,.6) 100%);box-shadow:0 0 0 1.5px var(--gold2),0 3px 8px rgba(0,0,0,.6);transition:transform .16s ease}
.token.active{animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 2px var(--gold2),0 0 14px 4px var(--c)}}
.board-center{grid-column:2/7;grid-row:2/7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:16px;text-align:center;
  background:radial-gradient(circle at 50% 30%,rgba(212,175,55,.1),transparent 60%);border:1px solid var(--line2)}
.center-brand{margin:0;font-family:var(--serif);letter-spacing:.35em;font-size:clamp(16px,2.4vw,32px);background:linear-gradient(90deg,#f6e6a6,#d4af37,#f6e6a6);-webkit-background-clip:text;background-clip:text;color:transparent}
.round-info{margin:0;color:var(--muted);font-size:13px}
.dice-row{display:flex;gap:14px}
.die{width:clamp(38px,5vw,58px);height:clamp(38px,5vw,58px);border-radius:12px;background:linear-gradient(145deg,#fffdf6,#e9e0c7);box-shadow:inset 0 -4px 0 rgba(0,0,0,.12),0 8px 18px rgba(0,0,0,.5);display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:15%}
.die i{width:70%;height:70%;margin:auto;border-radius:50%;background:radial-gradient(circle at 35% 35%,#6b5a1d,#1d1606)}
.die.rolling{animation:roll .5s linear infinite}
@keyframes roll{0%{transform:rotate(0) translateY(0)}25%{transform:rotate(90deg) translateY(-6px)}50%{transform:rotate(180deg)}75%{transform:rotate(270deg) translateY(-4px)}100%{transform:rotate(360deg)}}
.turn-banner{font-family:var(--thai-serif);font-size:clamp(14px,1.6vw,20px);color:var(--ink)}
.turn-banner .dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--c);margin-right:8px;box-shadow:0 0 10px var(--c)}
.center-ai{display:flex;gap:10px;align-items:flex-start;max-width:92%;text-align:left;padding:10px 14px;border-radius:14px;background:rgba(0,0,0,.35);border:1px solid var(--line2)}
.ai-avatar{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-family:var(--thai-serif);font-weight:700;color:#1d1606;background:linear-gradient(135deg,#fff1c1,#d4af37);box-shadow:0 0 0 2px rgba(212,175,55,.35),0 0 16px rgba(212,175,55,.35)}
.ai-headline{margin:0;font-size:clamp(12px,1.05vw,14.5px);color:var(--ink);min-height:2.4em}
.ai-headline.typing::after{content:"▍";color:var(--gold);animation:blink 1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}

/* ---------- Side panels ---------- */
.side{display:grid;gap:14px}
.action-panel{display:grid;gap:10px}
.action-panel h3{margin:0;font-family:var(--thai-serif);color:var(--gold2)}
.action-panel .big{padding:16px;font-size:18px}
.wait{display:flex;align-items:center;gap:10px;color:var(--muted)}
.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--gold);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.handoff{padding:10px 12px;border-radius:12px;background:rgba(212,175,55,.08);border:1px dashed var(--line);font-size:14px}
.narrator-head{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.narrator-head b{display:block;font-family:var(--thai-serif);color:var(--gold2)}.narrator-head small{color:var(--muted);font-size:12px}
.narrator-head button{margin-left:auto}
.feed{list-style:none;margin:0;padding:0 4px 0 0;display:grid;gap:6px;max-height:330px;overflow:auto;scrollbar-width:thin}
.feed li{font-size:13.5px;padding:7px 10px;border-radius:10px;background:var(--glass);border-left:3px solid var(--line)}
.feed li.good{border-color:var(--good)}.feed li.warn{border-color:var(--warn)}.feed li.bad{border-color:var(--bad);background:rgba(229,98,107,.07)}.feed li.tip{border-color:var(--tip);background:rgba(155,184,255,.07)}
.feed li.turn{background:transparent;border:0;color:var(--gold);font-size:12px;letter-spacing:.05em;text-align:center;padding:2px}
.players{display:grid;gap:10px}
.pcard{position:relative;padding:12px 14px;border-radius:14px;background:var(--glass);border:1px solid var(--line2)}
.pcard.current{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 22px rgba(212,175,55,.18)}
.pcard.done{opacity:.75}
.pcard-head{display:flex;align-items:center;gap:10px}
.pcard-head .dot{width:14px;height:14px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.pcard-head b{font-size:15px}.pcard-head small{color:var(--muted);font-size:12px}
.pcard-head .score{margin-left:auto;font-family:var(--serif);font-size:22px;color:var(--gold2)}
.pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px;font-size:12px}
.pstats div{background:rgba(0,0,0,.25);border-radius:8px;padding:5px 7px}
.pstats span{display:block;color:var(--dim);font-size:10.5px}.pstats b{font-weight:600;font-size:12.5px}
.pstats .neg{color:#ffb3b8}
.covers{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.cov{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11.5px;border:1px solid rgba(255,255,255,.1);color:var(--dim)}
.cov svg{width:13px;height:13px}
.cov.on{color:#fff;border-color:var(--cc);background:color-mix(in srgb,var(--cc) 22%,transparent)}
.cov .pips{letter-spacing:1px;color:var(--gold2)}

/* ---------- Modal ---------- */
.modal{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 40px);padding:0;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#10211a,#0a1511);color:var(--ink);box-shadow:0 40px 120px rgba(0,0,0,.7)}
.modal::backdrop{background:rgba(3,8,6,.78);backdrop-filter:blur(4px)}
#modalBody{padding:24px}
.m-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.m-head h2{margin:0;font-family:var(--thai-serif);color:var(--gold2);font-size:24px}
.m-head .sub{color:var(--muted);font-size:13.5px}
.m-head .x{margin-left:auto}
.m-ico{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--tc,var(--gold)) 22%,transparent);color:var(--tc,var(--gold));border:1px solid color-mix(in srgb,var(--tc,var(--gold)) 50%,transparent)}
.m-ico svg{width:26px;height:26px}
.wallet{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.wallet div{flex:1;min-width:120px;padding:8px 12px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--line2)}
.wallet span{display:block;font-size:11.5px;color:var(--dim)}.wallet b{font-family:var(--serif);font-size:20px;color:var(--gold2)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.tabs button{padding:8px 14px;font-size:14px}
.tabs button[aria-selected="true"]{background:linear-gradient(135deg,#f6e6a6,#d4af37);color:#1d1606;border-color:#f3e2a0}
.ai-box{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(155,184,255,.08);border:1px solid rgba(155,184,255,.3);font-size:13.5px;margin-bottom:12px}
.ai-box .ai-avatar{width:28px;height:28px;font-size:13px}
.explain{font-size:13.5px;color:var(--muted);margin:0 0 10px}
.tiers{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.tier-card{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;border:1px solid var(--line2);background:var(--glass);text-align:left}
.tier-card.current{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.tier-card b{font-size:16px}.tier-card .price{font-family:var(--serif);font-size:20px;color:var(--gold2)}.tier-card small{color:var(--muted);font-size:12px}
.tier-card .why{font-size:11.5px;color:#ffb3b8}
.assets{display:grid;gap:10px}
.asset{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:12px 14px;border-radius:14px;border:1px solid var(--line2);background:var(--glass)}
.asset .name{display:flex;align-items:center;gap:8px;font-weight:600}.asset .name i{width:10px;height:10px;border-radius:3px;background:var(--ac)}
.asset small{color:var(--muted);font-size:12px}
.amount{display:grid;grid-template-columns:1fr auto;gap:8px;grid-column:1/-1}
.amount .quick{display:flex;gap:6px;flex-wrap:wrap}
.amount .quick button{padding:5px 10px;font-size:12px}
.m-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:18px;flex-wrap:wrap}
.choices{display:grid;gap:10px}
.choice{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;text-align:left}
.choice .eff{font-size:12.5px;color:var(--muted);font-weight:400}
.choice .cost{font-family:var(--serif);font-size:20px;color:var(--gold2)}
.warn-text{color:#ffcf8a;font-size:12.5px}
.analysis{display:grid;gap:12px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kpis div{padding:10px;border-radius:12px;background:rgba(0,0,0,.3);border:1px solid var(--line2)}
.kpis span{display:block;font-size:11.5px;color:var(--dim)}.kpis b{font-family:var(--serif);font-size:19px;color:var(--gold2)}
.gap-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.gap-list li{padding:9px 12px;border-radius:10px;background:rgba(229,98,107,.08);border-left:3px solid var(--bad);font-size:13.5px}
.gap-list li.ok{background:rgba(69,192,138,.08);border-color:var(--good)}
.rules h3{color:var(--gold2);font-family:var(--thai-serif);margin:16px 0 6px}
.rules p,.rules li{color:var(--muted);font-size:14px}
.legend{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;padding:0;list-style:none}
.legend li{display:flex;gap:8px;align-items:center}.legend i{width:12px;height:12px;border-radius:3px;background:var(--tc)}

/* ---------- Results ---------- */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;max-width:780px;margin:20px auto}
.pod{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.pod .block{width:100%;border-radius:16px 16px 6px 6px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(212,175,55,.22),rgba(212,175,55,.04));display:grid;place-items:center;font-family:var(--serif);font-size:38px;color:var(--gold2)}
.pod.p1 .block{height:170px}.pod.p2 .block{height:125px}.pod.p3 .block{height:95px}
.pod .crown{font-size:30px;color:var(--gold)}
.pod b{font-size:17px}.pod .pts{font-family:var(--serif);font-size:24px;color:var(--gold2)}
.result-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin:18px 0}
.rcard .rows{display:grid;gap:4px;margin:10px 0}
.rcard .r{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding:4px 0;border-bottom:1px dashed var(--line2)}
.rcard .r small{display:block;color:var(--dim);font-size:11.5px}
.rcard .r b{color:var(--gold2)}.rcard .r b.neg{color:#ffb3b8}
.rcard ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:13px}
.rcard .submit{margin-top:10px}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;padding:12px 20px;border-radius:14px;background:#1b2a22;border:1px solid var(--gold);color:var(--ink);box-shadow:0 18px 40px rgba(0,0,0,.6);transition:all .25s;z-index:50;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translateX(-50%)}

/* ---------- Responsive ---------- */
@media (max-width:1100px){.game{grid-template-columns:1fr}.board-wrap{position:static}.board{width:min(100%,720px)}.side{grid-template-columns:1fr 1fr}.side .panel:first-child{grid-column:1/-1}}
@media (max-width:900px){.mode-grid{grid-template-columns:1fr}.hall-list{grid-template-columns:1fr}}
@media (max-width:720px){
  #app{padding:14px 10px 30px}.side{grid-template-columns:1fr}
  .board{padding:6px;gap:2px;border-radius:14px}.tile{border-radius:6px;padding:2px}.tile .tl{font-size:8px}.tile:not(.corner) .tl{display:none}
  .board-center{gap:6px;padding:8px}.center-ai{display:none}.round-info{font-size:11px}
  .pstats{grid-template-columns:repeat(2,1fr)}.kpis{grid-template-columns:repeat(2,1fr)}
  .brand small{display:none}.brand b{font-size:16px;letter-spacing:.14em}
  .podium{gap:8px}.pod .block{font-size:26px}.pod.p1 .block{height:120px}.pod.p2 .block{height:90px}.pod.p3 .block{height:70px}
  #modalBody{padding:18px}.legend{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.top-actions button{white-space:nowrap}
.lux-title .code{font-size:1em;font-family:var(--serif)}
@media (max-width:720px){
  .topbar{padding:10px 12px}.top-actions{gap:6px}.top-actions button{padding:7px 10px;font-size:13px;border-radius:10px}
  .brand-mark{width:26px;height:26px}.brand{gap:10px}
}
@media (max-width:380px){.brand b{font-size:14px;letter-spacing:.1em}}
