:root{
  --bg:#0E141B; --bar:#111922; --panel:#121A23; --panel2:#17212B; --line:#24303C; --line2:#2A3644;
  --tx:#E8EDF2; --tx2:#AEBAC6; --mut:#93A1AF;
  --acc:#E3A948; --acc-ink:#1A1206; --acc-soft:#2A2416; --acc-tx:#F2C676;
  --felt:#1D5C48; --rim:#2A1E16; --good:#4FD18B; --good-tx:#8FE3B5; --good-bg:#122019; --good-line:#2C4A3C;
  --red:#C8202E; --black:#14181D; --card:#FBFAF6; --back:#7A2E3A; --bad:#F08A7E;
  --display:'Bai Jamjuree',system-ui,sans-serif;
  --body:'IBM Plex Sans Thai','Noto Sans Thai',system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.5 var(--body)}
a{color:var(--acc)} a:hover{color:var(--acc-tx)}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hidden{display:none!important}
.grow{flex:1}

/* ---------- top bar ---------- */
.top{height:56px;display:flex;align-items:center;gap:16px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bar);position:sticky;top:0;z-index:30}
.brand{font:700 20px var(--display);letter-spacing:.08em;color:var(--acc);text-decoration:none}
.crumb{font-size:14px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.back{font-size:13px;text-decoration:none;padding:10px 4px}
.view{min-height:calc(100vh - 56px)}
.loading{padding:40px;text-align:center;color:var(--mut)}

/* ---------- ปุ่ม/ฟอร์ม ---------- */
.btn{height:44px;padding:0 16px;border-radius:12px;border:1px solid #3A4654;background:#1A232D;color:var(--tx);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:#4A5868;color:var(--tx)}
.btn.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-family:var(--display);font-weight:700}
.btn.primary:hover{background:var(--acc-tx)}
.btn.green{background:#1F5C45;border-color:#2F6B52;color:#F2FFF8}
.btn.small{height:36px;padding:0 12px;font-size:13px;border-radius:10px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.field{display:flex;flex-direction:column;gap:6px}
.field label,.lbl{font-size:13px;color:var(--tx2)}
.input,select.input{height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--line2);background:var(--panel);color:var(--tx);min-width:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}
.err{color:var(--bad);font-size:14px}
.muted{color:var(--mut)}
.mono{font-family:var(--mono)}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;
  background:#0B1117;border:1px solid var(--line2);padding:10px 16px;border-radius:12px;font-size:14px;transition:.2s;z-index:100;max-width:calc(100vw - 32px)}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast.bad{border-color:#6A3A35;color:var(--bad)}

/* ---------- ล็อบบี้ ---------- */
.lobby{max-width:1100px;margin:0 auto;padding:24px 16px 60px;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:860px){.lobby{grid-template-columns:minmax(0,1fr)}}
.me{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.me .av{width:120px;height:120px;border-radius:50%;overflow:hidden;background:#22303D;box-shadow:0 0 0 4px var(--felt),0 0 0 7px var(--rim)}
.me h2{margin:4px 0 0;font:700 24px var(--display)}
.stats{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.stat{padding:8px 4px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center}
.stat span{font-size:11px;color:var(--mut)} .stat b{font:700 16px var(--mono)}
.bank{font:700 22px var(--mono);color:var(--acc)}
.tables{display:flex;flex-direction:column;gap:10px}
.trow{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:var(--panel);border:1px solid var(--line);flex-wrap:wrap}
.trow .name{font-weight:600;font-size:16px}
.trow .meta{font-size:13px;color:var(--mut)}
.pill{font:600 12px var(--mono);padding:3px 10px;border-radius:999px;background:var(--panel2);border:1px solid var(--line2);color:var(--tx2)}
.pill.live{border-color:var(--good-line);background:var(--good-bg);color:var(--good-tx)}
.newtable{display:grid;grid-template-columns:minmax(0,1fr) 120px 140px auto;gap:10px;align-items:end}
@media (max-width:640px){.newtable{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
h3.sec{font:600 15px var(--display);margin:0 0 12px;color:var(--tx2);letter-spacing:.02em}
.empty{padding:28px;text-align:center;color:var(--mut);border:1px dashed var(--line2);border-radius:14px}

/* ---------- สร้างตัวละคร ---------- */
.maker{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);min-height:calc(100vh - 56px)}
.maker .opts{max-width:780px}
@media (max-width:860px){.maker{grid-template-columns:minmax(0,1fr)}}
.preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:56px 24px 32px;background:var(--bar);border-right:1px solid var(--line)}
.preview .big{width:260px;height:260px;max-width:70vw;max-height:70vw;border-radius:50%;overflow:hidden;background:#22303D;box-shadow:0 0 0 6px var(--felt),0 0 0 10px var(--rim),0 30px 60px rgba(0,0,0,.5)}
.preview .big svg{width:100%;height:100%}
.bubble{max-width:300px;padding:8px 14px;border-radius:14px;background:var(--card);color:var(--black);font-weight:600;font-size:15px;text-align:center;min-height:38px}
.preview h2{margin:0;font:700 28px var(--display)}
.opts{padding:28px 24px 40px;display:flex;flex-direction:column;gap:20px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media (max-width:560px){.row2{grid-template-columns:minmax(0,1fr)}}
.swatches,.pills{display:flex;gap:10px;flex-wrap:wrap}
.sw{width:44px;height:44px;border-radius:50%;border:none;box-shadow:0 0 0 1px var(--line2)}
.sw[aria-pressed="true"]{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--acc)}
.pl{height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line2);background:var(--panel2);color:#C9D3DC;font-weight:600}
.pl[aria-pressed="true"]{border-color:var(--acc);background:var(--acc-soft);color:var(--acc-tx)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}

/* ---------- โต๊ะ ---------- */
.tablev{display:flex;min-height:calc(100vh - 56px)}
.tmain{flex:1;min-width:0;display:flex;flex-direction:column}
.fairbar{display:flex;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap;font-size:13px}
.fair{display:inline-flex;align-items:center;gap:8px;padding:4px 4px 4px 12px;border:1px solid var(--good-line);background:var(--good-bg);border-radius:999px}
.fair code{font:500 12px var(--mono);color:var(--good-tx)}
.fair a,.fair button{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:#1E3A2E;text-decoration:none;color:var(--good-tx);border:0}
.stagewrap{flex:1;position:relative;overflow:hidden;min-height:300px}
.stage{position:absolute;left:50%;top:50%;width:900px;height:608px;transform-origin:center center}
.stage.tall{width:600px;height:900px}
.stage.tall .felt{left:130px;top:170px;width:340px;height:540px;border-radius:170px;padding:0 14px}
.stage.tall .dealer .say{white-space:normal;max-width:240px}
.stage.tall .result{max-width:280px}
.felt{position:absolute;left:150px;top:140px;width:600px;height:300px;border-radius:150px;background:var(--felt);border:14px solid var(--rim);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.07),0 24px 60px rgba(0,0,0,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.dealer{display:flex;align-items:center;gap:8px;max-width:520px}
.dealer .dav{width:36px;height:36px;flex:none;border-radius:50%;overflow:hidden;background:#3A3226;box-shadow:0 0 0 2px var(--acc)}
.dealer .say{background:rgba(8,20,16,.6);border-radius:12px;padding:6px 12px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:460px}
.dealer .say b{color:var(--acc);font-weight:600}
.board{display:flex;gap:8px}
.pc{width:48px;height:68px;border-radius:6px;background:var(--card);box-shadow:0 3px 8px rgba(0,0,0,.35);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--display);line-height:1;color:var(--black)}
.pc .r{font-size:24px;font-weight:700} .pc .s{font-size:22px}
.pc.red{color:var(--red)}
.pc.slot{background:none;box-shadow:none;border:2px dashed rgba(255,255,255,.22)}
.pc.sm{width:42px;height:60px} .pc.sm .r{font-size:20px} .pc.sm .s{font-size:18px}
.pot{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:rgba(8,20,16,.6);font-size:14px}
.pot b{font-family:var(--mono)}
.chipdot{width:14px;height:14px;border-radius:50%;background:#D84B4B;box-shadow:inset 0 0 0 3px var(--card)}
.result{font-size:14px;font-weight:600;color:var(--acc-tx);text-align:center;max-width:520px}
.countdown{font-size:13px;color:var(--tx2)}

.seat{position:absolute;width:150px;margin-left:-75px;margin-top:-64px;display:flex;flex-direction:column;align-items:center;gap:6px;transition:opacity .2s}
.seat.folded{opacity:.45}
.seat .ring{position:relative;width:72px;height:72px}
.seat .face{width:72px;height:72px;border-radius:50%;overflow:hidden;background:#2B3A4A;box-shadow:0 0 0 2px var(--line2);transition:box-shadow .15s}
.seat.acting .face{box-shadow:0 0 0 3px var(--acc),0 0 18px rgba(227,169,72,.45)}
.seat.speaking .face{box-shadow:0 0 0 3px var(--good),0 0 18px rgba(79,209,139,.5)}
.seat.away .face{filter:grayscale(.7)}
.plate{min-width:116px;padding:5px 12px;border-radius:10px;background:#0B1117;border:1px solid var(--line2);display:flex;flex-direction:column;align-items:center;line-height:1.3}
.plate .nm{font-size:14px;font-weight:600;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plate .ch{font:500 13px var(--mono);color:var(--acc)}
.seat .tag{font-size:12px;color:var(--mut)}
.seat .tag.win{color:var(--acc-tx);font-weight:600}
.timer{width:116px;height:4px;border-radius:2px;background:var(--line2);overflow:hidden}
.timer i{display:block;height:4px;background:var(--acc);transition:width .25s linear}
.backs{position:absolute;left:58px;top:2px;display:flex}
.backs i{width:24px;height:34px;border-radius:4px;background:var(--back);border:2px solid #F4E9D8;display:block}
.backs i:first-child{transform:rotate(-8deg)} .backs i+i{transform:rotate(8deg);margin-left:-12px}
.myc,.shown{position:absolute;left:78px;top:-2px;display:flex;gap:4px;z-index:2}
.seat.me .shown{display:none}
.wave{position:absolute;left:-10px;bottom:-2px;display:flex;align-items:center;gap:2px;height:22px;padding:0 7px;border-radius:999px;background:var(--good)}
.wave i{display:block;width:3px;height:11px;border-radius:2px;background:var(--bg);animation:wv .9s ease-in-out infinite}
.wave i:nth-child(2){animation-delay:.15s} .wave i:nth-child(3){animation-delay:.3s}
@keyframes wv{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
.dbtn{position:absolute;right:-6px;bottom:-4px;width:24px;height:24px;border-radius:50%;background:var(--card);color:var(--black);font:700 13px var(--display);display:flex;align-items:center;justify-content:center}
.emote{position:absolute;left:50%;top:-40px;transform:translateX(-50%);padding:4px 12px;border-radius:12px;background:var(--card);color:var(--black);font-weight:600;font-size:14px;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis;animation:pop .2s ease-out}
@keyframes pop{from{transform:translateX(-50%) scale(.7);opacity:0}}
.betchip{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:3px 10px 3px 4px;border-radius:999px;background:rgba(8,20,16,.75);font:500 13px var(--mono)}
.sitbtn{position:absolute;width:96px;height:96px;margin-left:-48px;margin-top:-48px;border-radius:50%;border:2px dashed #3A4654;background:rgba(17,25,34,.6);color:var(--tx2);font-size:13px;font-weight:600}
.sitbtn:hover{border-color:var(--acc);color:var(--acc-tx)}
.emptyseat{position:absolute;width:56px;height:56px;margin-left:-28px;margin-top:-28px;border-radius:50%;border:2px dashed #26313C}

/* 9 ที่นั่ง: ตัวเล็กลง */
.stage.s9 .seat{width:130px;margin-left:-65px;margin-top:-54px}
.stage.s9 .seat .ring,.stage.s9 .seat .face{width:60px;height:60px}
.stage.s9 .seat .face svg{width:60px;height:60px}
.stage.s9 .backs{left:48px;top:0}
.stage.s9 .myc,.stage.s9 .shown{left:66px;top:-6px}
.stage.s9 .plate{min-width:104px;padding:4px 10px}
.stage.s9 .timer{width:104px}

/* ---------- แถบแอ็กชัน ---------- */
.actbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);background:var(--bar);flex-wrap:wrap;min-height:96px}
.ptt{display:flex;align-items:center;gap:10px;height:60px;padding:0 18px 0 7px;border-radius:30px;border:2px solid var(--line2);background:var(--panel2);user-select:none;-webkit-user-select:none;touch-action:none}
.ptt .dot{width:44px;height:44px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center}
.ptt .lb{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}
.ptt .lb b{font-size:14px} .ptt .lb span{font-size:12px;color:var(--mut)}
.ptt.on{border-color:var(--good);background:#173A2A}
.ptt.on .dot{background:var(--good)} .ptt.on .dot svg path,.ptt.on .dot svg rect{stroke:var(--bg)}
.ptt.off .dot{background:var(--line)}
.bet{display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.bet .presets{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.bet .slide{display:flex;align-items:center;gap:8px}
.bet input[type=range]{width:170px;accent-color:var(--acc)}
.bet .amt{width:92px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);text-align:right;padding:0 8px;font:500 14px var(--mono)}
.big{height:60px;min-width:104px;padding:0 18px;border-radius:14px;font:600 17px var(--display)}
.waitnote{color:var(--mut);font-size:14px}

/* ---------- แผงขวา ---------- */
.side{width:360px;flex:none;border-left:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;max-height:calc(100vh - 56px);position:sticky;top:56px}
.tabs{display:flex;gap:4px;padding:6px 12px 0;border-bottom:1px solid var(--line)}
.tabs button{height:44px;padding:0 12px;border:0;border-bottom:2px solid transparent;background:none;color:var(--mut);font-size:14px}
.tabs button[aria-selected="true"]{border-bottom-color:var(--acc);color:var(--tx);font-weight:600}
.voice{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.voice .hd{display:flex;align-items:center;justify-content:space-between;gap:8px}
.voice .hd b{font-size:13px} .voice .hd span{font-size:12px;color:var(--good-tx)}
.vlist{display:flex;gap:8px;flex-wrap:wrap}
.vm{display:flex;flex-direction:column;align-items:center;gap:3px;width:48px;background:none;border:0;padding:0;color:inherit}
.vm .f{width:38px;height:38px;border-radius:50%;overflow:hidden;background:#22303D;box-shadow:0 0 0 2px var(--line2)}
.vm.talk .f{box-shadow:0 0 0 3px var(--good)}
.vm.muted .f{opacity:.4}
.vm small{font-size:11px;color:var(--tx2);max-width:48px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pane{flex:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.msg{display:flex;gap:10px;align-items:flex-start}
.msg .f{width:30px;height:30px;flex:none;border-radius:50%;overflow:hidden;background:#22303D}
.msg .who{font-size:12px;font-weight:600;color:#C9D3DC}
.msg .who small{font-weight:400;color:#8494A3;margin-left:4px}
.msg .tx{font-size:14px;line-height:1.45;word-break:break-word}
.msg.sys .who{color:var(--acc)} .msg.sys .tx{color:#E9D9B8}
.msg.mine .who{color:#8CC4FF}
.compose{padding:10px 16px 14px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.quick{display:flex;gap:6px;flex-wrap:wrap}
.quick button{height:34px;padding:0 12px;border-radius:999px;border:1px solid var(--line2);background:var(--panel2);font-size:13px}
.sendrow{display:flex;gap:8px}
.sendrow .input{flex:1}
.iconbtn{width:44px;height:44px;flex:none;border-radius:12px;border:1px solid var(--line2);background:transparent;display:flex;align-items:center;justify-content:center}
.iconbtn.acc{background:var(--acc);border-color:var(--acc)}
.hist{display:flex;flex-direction:column;gap:8px}
.hrow{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:13px;text-decoration:none;color:var(--tx)}
.hrow:hover{border-color:var(--good-line);color:var(--tx)}
.mycontrols{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--line)}

@media (max-width:1000px){
  .tablev{flex-direction:column}
  .side{width:auto;max-height:none;position:static;border-left:0;border-top:1px solid var(--line)}
  .pane{max-height:320px}
  .stagewrap{flex:none;min-height:0;height:62vw;max-height:620px}
  .actbar{position:sticky;bottom:0;z-index:20}
}
@media (max-width:640px){
  .stagewrap{flex:none;height:148vw;max-height:900px}
  .top{gap:10px;padding:0 12px}
  .brand{font-size:17px;white-space:nowrap}
  .back{white-space:nowrap}
  .bet input[type=range]{width:120px}
  .big{min-width:84px;padding:0 12px;font-size:15px;height:52px}
  .ptt{height:52px} .ptt .lb span{display:none}
}

/* ---------- ตรวจสอบ ---------- */
.verify{max-width:880px;margin:0 auto;padding:24px 16px 60px;display:flex;flex-direction:column;gap:18px}
.verify h1{margin:0;font:700 24px var(--display)}
.banner{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px}
.banner.ok{background:#122B20;border:1px solid #2C5A44}
.banner.ok b{color:var(--good-tx)}
.banner.bad{background:#2B1614;border:1px solid #6A3A35}
.banner.bad b{color:var(--bad)}
.banner.wait{background:var(--panel);border:1px solid var(--line)}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.steps li{display:flex;gap:14px}
.steps .n{width:28px;height:28px;flex:none;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.steps .b{display:flex;flex-direction:column;gap:6px;min-width:0}
.steps .t{font-size:14px;font-weight:600}
.hexv{font:500 12px var(--mono);color:#C9D3DC;word-break:break-all;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.seeds{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 18px;font-size:13px}
.deck{display:flex;gap:6px;flex-wrap:wrap}
.dk{display:flex;flex-direction:column;align-items:center;gap:3px;width:44px}
.dk .pc{width:36px;height:50px} .dk .pc .r{font-size:15px} .dk .pc .s{font-size:14px}
.dk small{font-size:10px;color:var(--mut);white-space:nowrap;max-width:44px;overflow:hidden;text-overflow:ellipsis}
.dk.burn .pc{opacity:.45}
.check{color:var(--good-tx);font-size:13px}
.check.bad{color:var(--bad)}

/* =================== โต๊ะ 9 ที่นั่ง (แบบเหมือนจริง) =================== */
.tbl{position:absolute;border-radius:999px;background:#2A1A12;
  box-shadow:0 30px 70px rgba(0,0,0,.6),inset 0 0 0 3px #3D2619,inset 0 0 0 9px #22140D}
.felt2{position:absolute;inset:20px;border-radius:999px;background:var(--felt);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.06),inset 0 12px 40px rgba(0,0,0,.38)}
.betline{position:absolute;inset:46px;border-radius:999px;border:1.5px solid rgba(255,255,255,.13)}
.felt2 .logo{position:absolute;left:50%;bottom:20%;transform:translateX(-50%);font:700 22px var(--display);letter-spacing:.35em;color:rgba(255,255,255,.08);white-space:nowrap}
.dealer2{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:5}
.dface{width:62px;height:62px;border-radius:50%;overflow:hidden;background:#3A3226;box-shadow:0 0 0 3px var(--acc)}
.dname{font-size:11px;color:var(--acc-tx);background:#0B1117;padding:1px 8px;border-radius:999px;white-space:nowrap}
.dsay{position:absolute;left:calc(100% + 12px);top:4px;background:rgba(11,17,23,.88);border:1px solid var(--line2);border-radius:12px;
  padding:6px 12px;font-size:13px;width:max-content;max-width:300px;line-height:1.4}
.stage.tall .dsay{max-width:200px}
.center{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:8px;z-index:2}
.potall{font-size:12px;color:var(--tx2)}
.pc.flip{animation:flip .45s ease-out both}
@keyframes flip{from{transform:translateY(-70px) rotateY(90deg);opacity:0}50%{opacity:1}to{transform:none}}

.seat2{position:absolute;width:140px;margin-left:-70px;margin-top:-46px;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:4;transition:opacity .2s}
.seat2 .ring{position:relative;width:64px;height:64px}
.chairback{position:absolute;left:-12px;top:-10px;width:88px;height:64px;border-radius:24px 24px 12px 12px;background:#4A2424;
  box-shadow:inset 0 -6px 0 #351818,0 6px 10px rgba(0,0,0,.45)}
.seat2 .face{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;background:#2B3A4A;box-shadow:0 0 0 2px var(--line2);transition:box-shadow .15s}
.seat2.acting .face{box-shadow:0 0 0 3px var(--acc),0 0 20px rgba(227,169,72,.5)}
.seat2.speaking .face{box-shadow:0 0 0 3px var(--good),0 0 18px rgba(79,209,139,.5)}
.seat2.won .face{box-shadow:0 0 0 3px var(--acc),0 0 34px rgba(227,169,72,.75)}
.seat2.away .face{filter:grayscale(.7)}
.seat2.folded{opacity:.5}
.seat2 .plate{position:relative}
.tag.hot{color:var(--bad);font-weight:600}
.emptychair{position:absolute;width:64px;height:52px;margin:-30px 0 0 -32px;border-radius:22px 22px 12px 12px;background:#2E1A1A;opacity:.55}

.tcards{position:absolute;transform:translate(-50%,-50%);display:flex;z-index:3}
.cb{display:block;width:30px;height:42px;border-radius:4px;background:var(--back);border:2px solid #F4E9D8;box-shadow:0 2px 4px rgba(0,0,0,.45);
  background-image:repeating-linear-gradient(45deg,rgba(255,255,255,.09) 0 3px,transparent 3px 8px)}
.tcards .cb+.cb{margin-left:-12px}
.tcards .pc.tc{width:38px;height:54px}.tcards .pc.tc .r{font-size:17px}.tcards .pc.tc .s{font-size:15px}
.tcards.face .pc+.pc{margin-left:4px}
.deal{animation:deal .4s cubic-bezier(.2,.7,.3,1) both}
@keyframes deal{from{transform:translate(var(--dx),var(--dy)) rotate(-50deg) scale(.6);opacity:0}25%{opacity:1}to{transform:none;opacity:1}}
.bet2{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;z-index:3;font:600 13px var(--mono);
  padding:2px 9px 2px 4px;border-radius:999px;background:rgba(8,20,16,.6)}
.stackc{position:relative;width:20px;height:24px;display:inline-block;flex:none}
.stackc i{position:absolute;left:0;width:20px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),0 1px 0 rgba(0,0,0,.55)}
.pot .stackc{margin-right:2px}
.dbtn2{position:absolute;transform:translate(-50%,-50%);width:26px;height:26px;border-radius:50%;background:var(--card);color:var(--black);
  font:700 13px var(--display);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.5);z-index:3}
.flychip{position:absolute;margin:-12px 0 0 -10px;transition:transform .5s cubic-bezier(.3,.7,.3,1),opacity .5s .2s;z-index:7;pointer-events:none}

.hand{position:absolute;right:14px;bottom:10px;display:flex;align-items:flex-end;gap:10px;z-index:9}
.peek{position:relative;width:176px;height:136px;border:0;background:none;padding:0;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.peek .hc{position:absolute;bottom:0;transition:transform .18s ease-out}
.peek .h0{left:8px;transform:rotate(-8deg)}.peek .h1{left:70px;transform:rotate(7deg)}
.peek.open .h0{transform:rotate(-11deg) translateY(-16px)}.peek.open .h1{transform:rotate(10deg) translateY(-16px)}
.peek .pc{width:84px;height:118px;border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.5)}.peek .pc .r{font-size:40px}.peek .pc .s{font-size:34px}
.cb.big{width:84px;height:118px;border-radius:8px;border-width:3px;box-shadow:0 8px 20px rgba(0,0,0,.5)}
.peekopt{font-size:12px;color:var(--tx2);display:flex;gap:6px;align-items:center;background:rgba(11,17,23,.85);padding:6px 10px;border-radius:999px;white-space:nowrap}
.peekhint{position:absolute;left:0;top:-22px;width:176px;text-align:center;font-size:12px;color:var(--tx)}
@media (max-width:640px){.peek{width:132px;height:104px}.peek .pc,.cb.big{width:62px;height:88px}.peek .pc .r{font-size:30px}.peek .pc .s{font-size:24px}
  .peek .h1{left:54px}.peekhint{width:132px}.hand{right:8px;bottom:6px;flex-direction:column;align-items:flex-end}}
.fairbar .grow{flex:1}

/* =================== ห้องเดินได้ =================== */
.roomv{position:relative;height:calc(100vh - 56px);overflow:hidden;background:#0B0F14}
.roomwrap{position:absolute;inset:0;overflow:hidden;outline:none;cursor:pointer;touch-action:manipulation}
.world{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.wall{position:absolute;left:0;top:0;width:100%;height:190px;background:#16272A;border-bottom:8px solid #2A1E16}
.wainscot{position:absolute;left:0;right:0;bottom:0;height:64px;background:#10201F;border-top:4px solid #2A1E16;
  background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.25) 0 2px,transparent 2px 110px)}
.neon{position:absolute;left:50%;top:34px;transform:translateX(-50%);font:700 46px var(--display);letter-spacing:.2em;color:#FFE2A8;
  text-shadow:0 0 6px #E3A948,0 0 18px #E3A948,0 0 40px rgba(227,169,72,.6)}
.frame{position:absolute;top:30px;width:120px;height:80px;border:6px solid #6B4A2A;background:#1F5C48;box-shadow:0 6px 12px rgba(0,0,0,.4)}
.frame.f1{left:420px}.frame.f2{right:420px;background:#5B2333}
.frame::after{content:"♠";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:40px;color:rgba(255,255,255,.35)}
.frame.f2::after{content:"♥"}
.floor{position:absolute;left:0;right:0;bottom:0;background-color:#3A2B22;
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 2px,transparent 2px 48px),
  repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 190px)}
.block{position:absolute;border-radius:10px;background:#4A3020;box-shadow:inset 0 16px 0 #6B4630,0 12px 20px rgba(0,0,0,.45)}
.block.b0::before{content:"";position:absolute;left:20px;right:20px;top:-46px;height:44px;
  background:repeating-linear-gradient(90deg,#2E6B55 0 12px,transparent 12px 26px,#8E3B46 26px 38px,transparent 38px 52px,#C9A15A 52px 64px,transparent 64px 80px);
  border-radius:4px 4px 0 0;opacity:.9}
.block.b1{background:#1E2B33;box-shadow:inset 0 14px 0 #2C3E49,0 12px 20px rgba(0,0,0,.45)}
.plant{position:absolute;width:70px;height:90px;margin:-90px 0 0 0;
  background:radial-gradient(circle at 50% 34%,#2F7A4A 0 26px,transparent 27px),radial-gradient(circle at 28% 48%,#26663D 0 18px,transparent 19px),radial-gradient(circle at 72% 48%,#26663D 0 18px,transparent 19px)}
.plant::after{content:"";position:absolute;left:18px;bottom:0;width:34px;height:28px;border-radius:4px 4px 8px 8px;background:#7A4A2E}
.entry{position:absolute;width:180px;text-align:center;font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.35)}
.rug{position:absolute;width:620px;height:440px;margin:-220px 0 0 -310px;border-radius:50%;background:#3E1A20;
  box-shadow:inset 0 0 0 10px #331418,inset 0 0 0 13px rgba(201,161,90,.35);z-index:1}
.lamp{position:absolute;width:560px;height:360px;margin:-180px 0 0 -280px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,226,168,.13),transparent);z-index:2;pointer-events:none}
.rtable{position:absolute;width:0;height:0}
.rtable .rail{position:absolute;left:-190px;top:-100px;width:380px;height:200px;border-radius:100px;background:#2A1A12;
  box-shadow:0 18px 30px rgba(0,0,0,.55),inset 0 0 0 3px #3D2619}
.rtable .rfelt{position:absolute;inset:16px;border-radius:84px;background:var(--felt);box-shadow:inset 0 0 0 2px rgba(255,255,255,.07),inset 0 8px 26px rgba(0,0,0,.35);
  display:flex;align-items:center;justify-content:center}
.rtable .logo{font:700 15px var(--display);letter-spacing:.3em;color:rgba(255,255,255,.1)}
.rdealer{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;pointer-events:none}
.rdealer .tagn,.pp .tagn,.chair .tagn{font-size:12px;font-weight:600;color:#fff;background:rgba(11,17,23,.75);padding:1px 8px;border-radius:999px;white-space:nowrap}
.rdealer .tagn{color:var(--acc-tx)}
.placard{position:absolute;transform:translateX(-50%);z-index:4000;display:flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;
  border-radius:999px;background:rgba(11,17,23,.88);border:1px solid var(--line2);white-space:nowrap}
.placard b{font-size:14px}.placard span{font-size:12px;color:var(--tx2)}
.emptyspot{position:absolute;width:380px;height:200px;margin:-100px 0 0 -190px;border-radius:100px;border:2px dashed rgba(255,255,255,.2);
  background:rgba(0,0,0,.15);color:var(--tx2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-size:13px}
.emptyspot b{color:var(--acc);font-size:16px}.emptyspot:hover{border-color:var(--acc)}
.chair{position:absolute;width:54px;height:54px;margin:-27px 0 0 -27px;border:0;background:none;padding:0}
.chair .seatpad{position:absolute;inset:6px;border-radius:12px;background:#5A2A2A;box-shadow:inset 0 -6px 0 #3E1C1C,0 4px 6px rgba(0,0,0,.45);transition:box-shadow .15s}
.chair:not(:disabled):hover .seatpad,.chair:not(:disabled):focus-visible .seatpad{box-shadow:0 0 0 3px var(--acc),inset 0 -6px 0 #3E1C1C}
.chair:not(:disabled)::after{content:"ว่าง";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:11px;color:rgba(255,255,255,.45)}
.chair .sitter{position:absolute;left:4px;top:-26px;width:46px;height:46px;border-radius:50%;overflow:hidden;background:#22303D;box-shadow:0 0 0 2px #0B1117}
.chair .tagn{position:absolute;left:50%;top:44px;transform:translateX(-50%)}
.chair:disabled{cursor:default}
.pp{position:absolute;transform:translate(-50%,-100%);pointer-events:none;transition:left .1s linear,top .1s linear;display:flex;flex-direction:column;align-items:center}
.pp.me{transition:none}
.pp .body{display:block;line-height:0}
.pp.left .body{transform:scaleX(-1)}
.pp .tagn{margin-top:2px}
.pp.me .tagn{color:var(--acc-tx)}
.pp .bub{position:absolute;bottom:calc(100% + 4px);left:50%;transform:translateX(-50%);background:var(--card);color:var(--black);font-size:14px;font-weight:600;
  padding:5px 12px;border-radius:12px;width:max-content;max-width:240px;text-align:center;line-height:1.35}
.fig .lg,.fig .arm{transform-box:fill-box;transform-origin:50% 0}
.pp.walking .l1,.pp.walking .a2{animation:swing .32s ease-in-out infinite alternate}
.pp.walking .l2,.pp.walking .a1{animation:swing .32s ease-in-out infinite alternate-reverse}
.pp.walking .body svg{animation:bob .16s ease-in-out infinite alternate}
@keyframes swing{from{transform:rotate(-22deg)}to{transform:rotate(22deg)}}
@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-3px)}}
.hud{position:absolute;left:12px;top:12px;display:flex;gap:10px;align-items:center;z-index:10;flex-wrap:wrap}
.mecard{display:flex;gap:10px;align-items:center;padding:5px 16px 5px 5px;border-radius:999px;background:rgba(11,17,23,.88);border:1px solid var(--line2);text-decoration:none;color:var(--tx)}
.mecard .f{width:40px;height:40px;border-radius:50%;overflow:hidden;background:#22303D}
.mecard .t{display:flex;flex-direction:column;line-height:1.25}.mecard .t b{font-size:14px}.mecard .t span{font-size:12px;color:var(--acc)}
.mecard:hover{color:var(--tx);border-color:var(--acc)}
.online{font-size:13px;color:var(--tx2);background:rgba(11,17,23,.75);padding:6px 12px;border-radius:999px}
.seatbanner{position:absolute;top:12px;left:50%;transform:translateX(-50%);z-index:11;display:flex;align-items:center;gap:12px;
  padding:6px 6px 6px 16px;border-radius:999px;background:#0B1117;border:1px solid var(--acc);font-size:14px;white-space:nowrap}
.sitprompt{position:absolute;bottom:76px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:8px 8px 8px 18px;
  border-radius:999px;background:#0B1117;border:1px solid var(--acc);z-index:20;font-size:14px;white-space:nowrap;max-width:calc(100% - 24px)}
.sitprompt span{overflow:hidden;text-overflow:ellipsis}
kbd{font:600 11px var(--mono);padding:1px 6px;border-radius:5px;background:rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.3)}
.saybar{position:absolute;left:12px;bottom:12px;width:min(380px,calc(100% - 24px));z-index:10}
.saybar .input{width:100%;background:rgba(11,17,23,.88)}
.hint{position:absolute;right:12px;bottom:18px;font-size:12px;color:var(--tx2);background:rgba(11,17,23,.75);padding:6px 10px;border-radius:8px;z-index:10}
@media (max-width:900px){.hint{display:none}}
.modal{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}
.sheet{background:var(--panel);border:1px solid var(--line2);border-radius:16px;padding:24px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:12px}
.sheet h2{margin:0;font:700 22px var(--display)}
.sheet p{margin:0}

/* =================== ห้อง 3 มิติ =================== */
.room3d{position:absolute;inset:0;width:100%;height:100%;display:block;outline:none;touch-action:none}
.labels{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
.lbl3{position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;gap:4px;will-change:transform}
.lbl3 .tagn{font-size:12px;font-weight:600;color:#fff;background:rgba(11,17,23,.75);padding:1px 8px;border-radius:999px;white-space:nowrap}
.lbl3.me .tagn{color:var(--acc-tx)}
.lbl3 .bub{background:var(--card);color:var(--black);font-size:14px;font-weight:600;padding:5px 12px;border-radius:12px;width:max-content;max-width:240px;text-align:center;line-height:1.35}
.placard3{position:absolute;left:0;top:0;pointer-events:auto;display:flex;align-items:center;gap:10px;padding:5px 5px 5px 14px;border-radius:999px;
  background:rgba(11,17,23,.88);border:1px solid var(--line2);white-space:nowrap;will-change:transform}
.placard3 b{font-size:14px}.placard3 span{font-size:12px;color:var(--tx2)}
.newspot{position:absolute;left:0;top:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;border-radius:14px;
  border:1px dashed rgba(227,169,72,.6);background:rgba(11,17,23,.75);color:var(--tx2);font-size:12px}
.newspot b{color:var(--acc);font-size:15px}
.newspot:hover{border-style:solid}

/* =================== โต๊ะ 3 มิติ =================== */
.seat3{gap:3px}
.plate3{display:flex;flex-direction:column;align-items:center;line-height:1.25;padding:4px 12px;border-radius:10px;background:rgba(11,17,23,.86);border:1px solid var(--line2);min-width:92px}
.plate3 b{font-size:13px;font-weight:600;white-space:nowrap}
.plate3 span{font:500 12px var(--mono);color:var(--acc)}
.seat3.acting .plate3{border-color:var(--acc);box-shadow:0 0 0 2px rgba(227,169,72,.35)}
.seat3.speaking .plate3{border-color:var(--good)}
.seat3.me .plate3 b{color:var(--acc-tx)}
.seat3.folded{opacity:.55}
.t3{font-size:12px;color:var(--tx2);background:rgba(11,17,23,.75);padding:1px 8px;border-radius:999px;white-space:nowrap}
.t3.win{color:var(--acc-tx);font-weight:600}.t3.hot{color:var(--bad);font-weight:600}
.timer3{width:92px;height:4px;border-radius:2px;background:var(--line2);overflow:hidden}
.timer3 i{display:block;height:4px;background:var(--acc);transition:width .25s linear}
.wv3{display:flex;gap:2px;align-items:center;height:12px;margin-bottom:2px}
.wv3 i{display:block;width:3px;height:10px;border-radius:2px;background:var(--good);animation:wv .9s ease-in-out infinite}
.wv3 i:nth-child(2){animation-delay:.15s}.wv3 i:nth-child(3){animation-delay:.3s}
.sit3{position:absolute;left:0;top:0;pointer-events:auto;padding:8px 14px;border-radius:999px;border:1px dashed var(--acc);background:rgba(11,17,23,.8);color:var(--acc-tx);font-size:13px;font-weight:600}
.potl .tagn{font:600 13px var(--mono);color:var(--acc-tx)}
.dlr .tagn{color:var(--acc-tx)}
.dlr .bub{font-size:13px;max-width:280px}
.dlr .bub:empty{display:none}
.result3{position:absolute;left:50%;top:16px;transform:translateX(-50%);font:600 16px var(--display);color:var(--acc-tx);text-align:center;
  background:rgba(11,17,23,.8);padding:8px 16px;border-radius:12px;pointer-events:none}
.result3:empty{display:none}
.tablev .stagewrap .room3d{z-index:0}
.hud3{position:absolute;left:50%;top:12px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:6px 14px;border-radius:999px;
  background:rgba(11,17,23,.82);border:1px solid var(--line2);font-size:14px;white-space:nowrap}
.hud3:empty{display:none}
.hud3 b{font:600 14px var(--mono);color:var(--acc-tx)}
.mcs{display:flex;gap:4px;align-items:center}
.mc{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:26px;padding:0 4px;border-radius:5px;background:var(--card);color:var(--black);font:700 15px var(--display)}
.mc.red{color:var(--red)}
.result3{top:58px}

/* ---------- แอดมิน ---------- */
.admin { max-width: 980px; margin: 0 auto; padding: 24px 16px 60px; display: grid; gap: 18px; }
.admin h2 { margin: 0 0 6px; font-family: var(--display); font-size: 20px; }
.admin .muted { font-size: 13px; }
.admin .plist { display: grid; gap: 8px; margin-top: 12px; }
.admin .prow { display: grid; grid-template-columns: minmax(140px, 1.4fr) 90px auto minmax(110px, 1fr) minmax(100px, 1fr) auto; gap: 8px; align-items: center;
  padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; }
.admin .prow.trk { grid-template-columns: minmax(160px, 1fr) auto auto auto; }
.admin .who { display: flex; flex-direction: column; min-width: 0; }
.admin .who b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin .who span { font-size: 12px; }
.admin .bankv { text-align: right; font-weight: 700; }
.admin .quick { display: flex; gap: 4px; }
.admin .mini { display: flex; align-items: center; gap: 6px; font-size: 12px; white-space: nowrap; }
.admin .mini .input { width: 72px; }
.admin .arow { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 10px; align-items: end; margin-top: 10px; }
.admin .lrow { display: grid; grid-template-columns: 120px minmax(80px, 1fr) 100px 2fr; gap: 10px; font-size: 13px; padding: 6px 4px; border-bottom: 1px solid var(--line); }
@media (max-width: 760px) {
  .admin .prow, .admin .prow.trk, .admin .arow { grid-template-columns: 1fr 1fr; }
  .admin .who { grid-column: 1 / -1; }
  .admin .lrow { grid-template-columns: 1fr 1fr; }
}
.admin .sec { margin: 18px 0 0; }

/* ---------- ทัวร์นาเมนต์ ---------- */
.tourn{max-width:1100px;margin:0 auto;padding:24px 16px 60px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:20px;align-items:start}
.tourn.detail{grid-template-columns:minmax(0,420px) minmax(0,1fr)}
@media (max-width:860px){.tourn,.tourn.detail{grid-template-columns:minmax(0,1fr)}}
.tourn .thead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.tourn h2{margin:0;font:700 22px var(--display);text-wrap:balance}
.tourn h3{margin:0 0 4px;font:700 17px var(--display)}
.tcard{text-decoration:none;color:inherit}
.tcard:hover{border-color:var(--line2)}
.tcount{font-weight:700;color:var(--tx2)}
.pill.reg{border-color:var(--acc);color:var(--acc)}
.tnew{display:grid;gap:12px}
.tnew .seg{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tnew .seg legend{margin-bottom:6px}
.tnew .seg label{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:600}
.tnew .seg label:has(input:checked){border-color:var(--acc);color:var(--acc)}
.tnew .seg input{position:absolute;opacity:0;pointer-events:none}
.tnew .seg label:has(input:focus-visible){outline:2px solid var(--acc);outline-offset:2px}
.tnew .seg small{font-weight:400;color:var(--mut);font-size:12px}
.tnew .muted{font-size:12.5px;margin:0;line-height:1.5}
.tsumm{display:grid;gap:14px}
.tsumm .thead{margin:0}
.tfacts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tfacts div{padding:8px 10px;border-radius:10px;background:var(--bg);border:1px solid var(--line);display:flex;flex-direction:column;gap:2px;min-width:0}
.tfacts span{font-size:11px;color:var(--mut)} .tfacts b{font-size:15px}
.tlevel{padding:10px 12px;border-radius:10px;border:1px solid var(--good-line);background:var(--good-bg);color:var(--good-tx);font-size:14px}
.tsumm .actions{display:flex;flex-wrap:wrap;gap:8px}
.prizes{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.prizes li{display:flex;justify-content:space-between;padding:6px 10px;border-radius:8px;background:var(--bg);font-size:14px}
.prizes li:first-child b{color:var(--acc)}
.elist{display:grid;gap:4px}
.erow{display:grid;grid-template-columns:36px minmax(0,1fr) 130px 90px 56px;justify-items:start;text-align:left;gap:10px;align-items:center;padding:8px 10px;border-radius:10px;border:1px solid var(--line);font-size:14px}
.erow.me{border-color:var(--acc)}
.erow.out{opacity:.6}
.erow.won .st{color:var(--acc);font-weight:700}
.erow .pos{color:var(--tx2);text-align:center}
.erow .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.erow .st{font-size:12.5px;color:var(--tx2)}
.erow .ch{justify-self:end;text-align:right;font-variant-numeric:tabular-nums}
.tlv a{color:var(--acc);font-weight:600;text-decoration:none}
.tlv{font-size:13px;color:var(--tx2)}
@media (max-width:520px){.erow{grid-template-columns:30px minmax(0,1fr) 70px 50px}.erow .st{display:none}.tfacts{grid-template-columns:repeat(2,minmax(0,1fr))}}

[hidden]{display:none!important}
