@font-face{font-family:"Bricolage Grotesque";font-weight:500;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Bricolage Grotesque";font-weight:800;font-display:swap;src:url(/fonts/bricolage-grotesque-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-weight:400;font-display:swap;src:url(/fonts/figtree-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-weight:600;font-display:swap;src:url(/fonts/figtree-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Figtree";font-weight:700;font-display:swap;src:url(/fonts/figtree-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2")}

:root{
  --bg:#0d1214; --panel:#151c1f; --panel2:#1b2427; --line:#27332f;
  --ink:#e9ece4; --muted:#8f9d96; --faint:#5f6d67;
  --felt:#0f4c40; --felt-deep:#08322a; --rail:#2a1b12; --rail-hi:#4a3020;
  --brass:#d6ab52; --brass-deep:#9a7630; --brass-ink:#1c1508;
  --card:#f7f2e5; --card-ink:#1b1e21; --red:#c43a2f;
  --ok:#62c393; --bad:#e0645a;
  --f-display:"Bricolage Grotesque","Arial Narrow",system-ui,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-num:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{background:var(--bg);color:var(--ink);margin:0}
body{font-family:var(--f-body);font-size:15px;line-height:1.45;min-height:100vh;padding:env(safe-area-inset-top,0px) max(16px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));-webkit-text-size-adjust:100%}
[hidden]{display:none!important}
a{color:var(--brass)}
button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
.num{font-family:var(--f-num);font-variant-numeric:tabular-nums}
.wrap{max-width:1080px;margin:0 auto}
.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}
.muted{color:var(--muted)}
.fine{margin:0;font-size:13px}
.mt{margin-top:16px}

/* header */
header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:18px 14px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:baseline;gap:10px;background:none;border:0;padding:0;text-align:left}
.brand h1{font-family:var(--f-display);font-weight:800;font-size:26px;letter-spacing:-.01em;margin:0}
.brand h1 span{color:var(--brass)}
.brand small{color:var(--muted);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:560px){.brand small{display:none}.brand h1{font-size:22px}}
.userbox{display:flex;align-items:center;gap:10px}
.wallet{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px}
.coin{display:inline-block;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f3d68c,var(--brass) 55%,var(--brass-deep));box-shadow:inset 0 0 0 2px rgba(0,0,0,.18);vertical-align:-2px;flex:none}
.coin.big{width:28px;height:28px}
.wallet .amt{font-size:16px;font-weight:600}
.wallet .lbl{color:var(--muted);font-size:12px}
.ghost{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:7px 12px}
.ghost:hover{border-color:var(--brass-deep)}
.banner{margin-top:16px;padding:12px 14px;border:1px solid var(--brass-deep);border-radius:10px;background:var(--panel);display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.banner p{margin:0;flex:1;min-width:220px}
footer{margin-top:40px;padding-top:16px;border-top:1px solid var(--line);color:var(--faint);font-size:13px;display:flex;gap:16px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer span{margin-right:auto}

/* buttons & forms */
.btn{border:1px solid var(--line);background:var(--panel2);border-radius:10px;padding:10px 16px;font-weight:600;min-width:92px}
.btn:hover:not([disabled]){border-color:var(--brass-deep)}
.btn[disabled]{opacity:.45;cursor:default}
.btn.main{background:var(--brass);color:var(--brass-ink);border-color:var(--brass)}
.btn.main:hover:not([disabled]){background:#e2bb68}
.btn.fold{color:var(--bad)}
.btn.danger{color:var(--bad);border-color:rgba(224,100,90,.4)}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.field{display:flex;flex-direction:column;gap:5px}
.field label{font-size:13px;font-weight:600;color:var(--muted)}
.field input[type=email],.field input[type=password],.field input[type=text]{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--ink);font:inherit;font-size:16px;width:100%}
.field input:focus{border-color:var(--brass-deep);outline:none}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.check input{margin-top:3px;accent-color:var(--brass)}
.form{display:flex;flex-direction:column;gap:14px}
.err{color:var(--bad);font-size:14px;min-height:1.2em;margin:0}
.okmsg{color:var(--ok);font-size:14px;margin:0}
.linkbtn{background:none;border:0;padding:0;color:var(--brass);text-decoration:underline;font-size:14px}

/* auth */
.auth{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;margin-top:48px}
@media (max-width:820px){.auth{grid-template-columns:1fr;margin-top:24px;gap:24px}}
.pitch h2{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,5vw,48px);line-height:1.02;margin:0 0 14px;text-wrap:balance}
.pitch h2 em{font-style:normal;color:var(--brass)}
.pitch p{color:var(--muted);max-width:48ch;margin:0 0 18px}
.pitch .fan{display:flex;margin:6px 0 22px}
.pitch .fan .card{margin-right:-14px}
.pitch .fan .card:nth-child(1){transform:rotate(-10deg) translateY(6px)}
.pitch .fan .card:nth-child(2){transform:rotate(-4deg)}
.pitch .fan .card:nth-child(3){transform:rotate(3deg)}
.pitch .fan .card:nth-child(4){transform:rotate(9deg) translateY(6px)}
.authcard{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}
.tabs{display:flex;gap:4px;background:var(--bg);border-radius:10px;padding:4px;margin-bottom:18px}
.tabs button{flex:1;background:none;border:0;border-radius:8px;padding:8px;color:var(--muted);font-weight:600}
.tabs button[aria-selected=true]{background:var(--panel2);color:var(--ink)}
.authcard h3{font-family:var(--f-display);font-size:22px;margin:0 0 6px}

/* lobby */
.lobby{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:28px;margin-top:24px}
@media (max-width:820px){.lobby{grid-template-columns:1fr}}
.tables{display:grid;gap:12px}
.tcard{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-align:left;width:100%}
.tcard:hover{border-color:var(--brass-deep)}
.mini{width:64px;height:40px;border-radius:999px;background:radial-gradient(ellipse at 50% 40%,var(--felt),var(--felt-deep));box-shadow:0 0 0 4px var(--rail),0 0 0 5px var(--rail-hi);position:relative}
.mini i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--faint)}
.mini i.on{background:var(--brass)}
.tcard h3{font-family:var(--f-display);font-weight:800;font-size:19px;margin:0}
.tcard .meta{color:var(--muted);font-size:13px;display:flex;gap:14px;flex-wrap:wrap}
.tcard .go{font-weight:600;color:var(--brass);white-space:nowrap}
@media (max-width:480px){.tcard{grid-template-columns:auto minmax(0,1fr)}.tcard .go{grid-column:2}}
.board-list{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px 0}
.lrow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;padding:8px 14px}
.lrow+.lrow{border-top:1px solid var(--line)}
.lrow .rk{color:var(--faint);font-family:var(--f-num);font-size:13px}
.lrow .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lrow.me .nm{color:var(--brass);font-weight:600}

/* wheel */
.wheelbox{margin-top:22px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:26px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px 22px}
@media (max-width:560px){.wheelbox{grid-template-columns:1fr;justify-items:center;text-align:center}.wheelbox .btnrow{justify-content:center}}
.wheel{position:relative;width:200px;height:200px}
.wheel svg{width:100%;height:100%;display:block;transition:transform 4.6s cubic-bezier(.15,.7,.18,1)}
@media (prefers-reduced-motion:reduce){.wheel svg{transition-duration:.6s}}
.wheel .pin{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:20px solid var(--card);filter:drop-shadow(0 2px 2px rgba(0,0,0,.5));z-index:2}
.wheelinfo h3{font-family:var(--f-display);font-weight:800;font-size:22px;margin:0 0 4px}
.wheelinfo p{margin:0 0 12px;color:var(--muted);max-width:48ch}
.wheelinfo .prize{color:var(--brass);font-weight:700}
.odds{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;font-size:12px;color:var(--faint)}
.adlayer{position:fixed;inset:0;background:rgba(5,8,9,.86);display:flex;align-items:center;justify-content:center;z-index:30;padding:16px}
.adbox{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;max-width:420px;width:100%;text-align:center}
.adbox .count{font-family:var(--f-num);font-size:44px;color:var(--brass);margin:10px 0}
.adbox .placeholder{border:1px dashed var(--line);border-radius:12px;padding:28px 12px;color:var(--muted);margin:12px 0}

/* table */
.tv-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px}
.tv-head h2{font-family:var(--f-display);font-weight:800;font-size:22px;margin:0}
.tv-head .bl{color:var(--muted);font-size:13px}
.tv-head .sp{flex:1}
.stage{position:relative;margin:34px auto 56px;max-width:900px;aspect-ratio:16/9}
@media (max-width:640px){.stage{aspect-ratio:3/4;margin-top:40px}}
.rail{position:absolute;inset:6% 7%;border-radius:999px;background:linear-gradient(180deg,var(--rail-hi),var(--rail));padding:14px;box-shadow:0 18px 50px rgba(0,0,0,.5)}
@media (max-width:640px){.rail{inset:5% 9%;border-radius:46%/32%;padding:10px}}
.felt{width:100%;height:100%;border-radius:inherit;background:radial-gradient(ellipse at 50% 38%,#16614f 0%,var(--felt) 45%,var(--felt-deep) 100%);box-shadow:inset 0 0 0 2px rgba(214,171,82,.25),inset 0 0 60px rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:8%}
.felt .mark{font-family:var(--f-display);font-weight:800;color:rgba(214,171,82,.18);font-size:clamp(14px,2.4vw,22px);letter-spacing:.2em;text-transform:uppercase}
.boardrow{display:flex;gap:clamp(3px,.8vw,8px)}
.potline{font-size:13px;color:#cfe3d9}
.potline b{font-family:var(--f-num);color:var(--ink);font-size:15px}
.status{font-size:12.5px;color:#bcd6ca;max-width:36ch}
.result{font-size:13.5px;color:var(--ink);background:rgba(0,0,0,.28);border:1px solid rgba(214,171,82,.35);padding:6px 12px;border-radius:10px;max-width:40ch}
.result b{color:var(--brass)}

.card{--w:clamp(30px,5.2vw,50px);width:var(--w);height:calc(var(--w)*1.4);border-radius:calc(var(--w)*.12);background:var(--card);color:var(--card-ink);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--f-display);font-weight:800;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.35);flex:none}
.card .r{font-size:calc(var(--w)*.46)}
.card .s{font-size:calc(var(--w)*.42);margin-top:1px}
.card.red{color:var(--red)}
.card.back{background:repeating-linear-gradient(45deg,var(--brass-deep) 0 3px,#6d5220 3px 7px);box-shadow:inset 0 0 0 3px var(--card),0 2px 6px rgba(0,0,0,.35)}
.card.slot{background:rgba(0,0,0,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.card.sm{--w:clamp(22px,3.4vw,32px)}
.card.lg{--w:clamp(52px,12vw,76px)}
.card.xl{--w:clamp(56px,9vw,80px)}

.seat{position:absolute;transform:translate(-50%,-50%);width:clamp(78px,15vw,132px);display:flex;flex-direction:column;align-items:center;gap:4px;z-index:2}
.seat .cards{display:flex;gap:3px;height:calc(clamp(22px,3.4vw,32px)*1.4);margin-bottom:-10px;z-index:1}
.plate{width:100%;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 9px 7px;display:flex;flex-direction:column;gap:1px;position:relative}
.plate .nm{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plate .st{font-size:12.5px;color:var(--brass)}
.seat.acting .plate{border-color:var(--brass);box-shadow:0 0 0 2px rgba(214,171,82,.35)}
.seat.folded .plate{opacity:.5}
.seat.out .plate{opacity:.55;border-style:dashed}
.seat.mine .plate{background:var(--panel2)}
.tag{position:absolute;bottom:-9px;right:6px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:1px 6px;border-radius:6px;background:var(--panel2);border:1px solid var(--line);color:var(--muted)}
.tag.allin{color:var(--bad);border-color:var(--bad)}
.tag.win{color:var(--bg);background:var(--brass);border-color:var(--brass)}
.timer{position:absolute;left:8px;right:8px;bottom:2px;height:2px;border-radius:2px;background:rgba(255,255,255,.08);overflow:hidden}
.timer i{display:block;height:100%;background:var(--brass);width:100%}
.dealer{position:absolute;width:20px;height:20px;border-radius:50%;background:var(--card);color:var(--card-ink);font:700 11px/20px var(--f-body);text-align:center;transform:translate(-50%,-50%);box-shadow:0 1px 3px rgba(0,0,0,.5);z-index:3}
.betchip{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;font-size:12px;background:rgba(0,0,0,.35);padding:2px 7px 2px 3px;border-radius:999px;z-index:3;white-space:nowrap}
.empty{background:rgba(0,0,0,.22);border:1px dashed rgba(214,171,82,.45);color:var(--brass);border-radius:12px;padding:10px 6px;width:100%;font-size:12.5px;font-weight:600}
.empty:hover:not([disabled]){background:rgba(214,171,82,.1)}
.empty[disabled]{color:var(--faint);border-color:var(--line);cursor:default;background:rgba(0,0,0,.15)}

.dock{max-width:900px;margin:0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px}
@media (max-width:640px){.dock{grid-template-columns:1fr}}
.hand{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.hand .cards{display:flex;gap:6px}
.hand .hn{font-size:13px;color:var(--brass);font-weight:600;min-height:1.2em}
.acts{display:flex;flex-direction:column;gap:10px;min-width:0}
.acts .msg{color:var(--muted);font-size:14px;margin:0}
.raise{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.raise input[type=range]{flex:1;min-width:140px;accent-color:var(--brass)}
.raise input[type=number]{width:104px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:var(--ink);font-family:var(--f-num);font-size:16px}
.chipbtn{background:none;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;color:var(--muted)}
.chipbtn:hover{color:var(--ink);border-color:var(--brass-deep)}
.logs{max-width:900px;margin:18px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
@media (max-width:640px){.logs{grid-template-columns:1fr}}
.feed{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:13px;max-height:240px;overflow:auto}
.feed div{padding:3px 0;color:var(--muted)}
.feed b{color:var(--ink);font-weight:600}
.hc{display:inline-flex;gap:2px;vertical-align:middle;margin-left:4px}
.hc span{font-family:var(--f-num);font-size:12px;background:var(--card);color:var(--card-ink);border-radius:3px;padding:0 3px}
.hc span.red{color:var(--red)}

/* account */
.account{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:24px}
@media (max-width:820px){.account{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}
.panel h3{font-family:var(--f-display);font-size:19px;margin:0 0 12px}
.kv{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 16px;font-size:14px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;overflow-wrap:anywhere}
.ledger{font-size:13px;max-height:360px;overflow:auto}
.ledger div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding:5px 0;border-bottom:1px solid var(--line)}
.plus{color:var(--ok)} .minus{color:var(--bad)}

/* legal pages */
.legal{max-width:70ch;margin:32px auto}
.legal h1{font-family:var(--f-display);font-size:32px}
.legal h2{font-family:var(--f-display);font-size:20px;margin-top:28px}
.legal .todo{background:rgba(214,171,82,.12);border:1px dashed var(--brass-deep);padding:2px 6px;border-radius:6px}

.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--panel2);border:1px solid var(--brass-deep);padding:10px 16px;border-radius:10px;font-size:14px;z-index:40;max-width:calc(100% - 32px)}
.conn{position:fixed;top:0;left:0;right:0;background:var(--bad);color:#fff;text-align:center;font-size:13px;padding:4px;z-index:50}

.turnbar{white-space:nowrap;position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:45;background:var(--brass);color:var(--brass-ink);border:0;border-radius:999px;padding:12px 20px;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.5);max-width:calc(100% - 32px)}

/* touch screens */
@media (pointer:coarse){
  .chipbtn{min-height:38px;padding:6px 12px}
  .ghost{min-height:42px}
  .linkbtn{padding:6px 0}
}

/* keep the table and the action bar on one screen */
@media (min-width:641px){
  .stage{width:min(100%,900px,max(520px,calc((100vh - 400px) * 1.78)));width:min(100%,900px,max(520px,calc((100dvh - 400px) * 1.78)))}
}
@media (max-width:640px){
  .tv-head{gap:8px}
  .tv-head h2{font-size:19px}
  .dock{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:6;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:10px 12px;box-shadow:0 -6px 24px rgba(0,0,0,.5)}
  .card.lg{--w:44px}
  .hand .hn{font-size:12px}
  .acts .btnrow .btn{flex:1 1 30%;min-width:0;padding:10px 8px}
  .raise input[type=range]{flex-basis:100%;min-width:0}
  .raise input[type=number]{width:84px}
  .chipbtn.opt{display:none}
}
@media (max-width:400px){
  .raise input[type=number]{display:none}
}
@media (orientation:landscape) and (max-height:560px){
  header.top{padding-block:8px}
  .play{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,34%);gap:12px;align-items:center}
  .stage{width:min(100%,calc((100vh - 90px) * 1.78));width:min(100%,calc((100dvh - 90px) * 1.78));margin:28px auto 34px}
  .seat{width:92px}
  .dock{grid-template-columns:1fr;position:static;box-shadow:none}
  .card.lg{--w:46px}
  .acts .btnrow .btn{flex:1 1 30%;min-width:0;padding:10px 8px}
}

/* admin */
.admintabs{display:flex;gap:4px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:4px;margin-top:16px;overflow-x:auto}
.admintabs button{flex:1;background:none;border:0;border-radius:9px;padding:9px 14px;color:var(--muted);font-weight:600;white-space:nowrap}
.admintabs button[aria-selected=true]{background:var(--panel2);color:var(--ink)}
#adminBody{margin-top:18px}
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
@media (max-width:720px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.tile b{font-size:22px;font-weight:600}
.tcard.static{grid-template-columns:1fr;cursor:default}
.tcard.static:hover{border-color:var(--line)}
.adminusers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:820px){.adminusers{grid-template-columns:1fr}}
.searchrow{display:flex;gap:8px;margin-bottom:10px}
.searchrow input,.searchrow select,.coinrow input{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--ink);font:inherit;font-size:16px;min-width:0}
.searchrow input{flex:1}
.userlist{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.userrow{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 14px}
.userrow:first-child{border-top:0}
.userrow:hover,.userrow.on{background:var(--panel2)}
.userrow .nm{display:flex;flex-direction:column;min-width:0;font-weight:600}
.userrow .nm small{font-weight:400;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.badges i{font-style:normal;font-size:11px;font-weight:700;padding:1px 6px;border-radius:6px;border:1px solid var(--line);color:var(--muted)}
.badges .b-admin{color:var(--brass);border-color:var(--brass-deep)}
.badges .b-ban{color:var(--bad);border-color:var(--bad)}
.badges .b-seat{color:var(--ok);border-color:var(--ok)}
.coinrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}
@media (max-width:480px){.coinrow{grid-template-columns:1fr}}
.seatlist{display:flex;flex-direction:column}
.seatlist div{display:grid;grid-template-columns:20px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line);font-size:14px}
.seatlist div:first-child{border-top:0}
.seatlist .nm{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:480px){.seatlist div{grid-template-columns:20px minmax(0,1fr) auto;}.seatlist div .muted:not(.num){grid-column:2/4}}
#adminBody .tables{display:grid;gap:12px}
