*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --felt: #0a1f0d;
  --gold: #c9a84c;
  --gold-light: #e8c96a;
  --gold-dim: #7a6228;
  --cream: #f5e6c8;
  --cream-dim: #b8a47a;
  --panel: rgba(8,18,10,0.88);
  --pb: rgba(201,168,76,0.22);
  --pbh: rgba(201,168,76,0.5);
  --glass: rgba(255,255,255,0.035);
}
html,body { height:100%; font-family:'Raleway',sans-serif; background:var(--felt); color:var(--cream); overflow-x:hidden; }
body {
  background-color:var(--felt);
  background-image:
    radial-gradient(ellipse at 20% 20%,rgba(30,80,20,0.22) 0%,transparent 60%),
    radial-gradient(ellipse at 80% 80%,rgba(20,60,15,0.18) 0%,transparent 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect width='1' height='1' fill='rgba(255,255,255,0.013)'/%3E%3C/svg%3E");
  min-height:100vh;
}
.felt-lines { position:fixed;inset:0;pointer-events:none;z-index:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,0.01) 39px,rgba(255,255,255,0.01) 40px),repeating-linear-gradient(90deg,transparent,transparent 39px,rgba(255,255,255,0.007) 39px,rgba(255,255,255,0.007) 40px); }
.cw { position:relative;z-index:1; }

/* HEADER */
header { background:linear-gradient(180deg,rgba(4,10,5,0.99),rgba(7,16,9,0.97)); border-bottom:1px solid var(--pb); padding:0 24px; display:flex;align-items:center;justify-content:space-between; height:64px;position:sticky;top:0;z-index:200;box-shadow:0 4px 32px rgba(0,0,0,0.7); }
.logo { display:flex;align-items:center;gap:11px; }
.logo-icon { width:36px;height:36px;border-radius:50%;background:conic-gradient(#c9a84c 0deg 22.5deg,#1a2e1c 22.5deg 45deg,#c9a84c 45deg 67.5deg,#1a2e1c 67.5deg 90deg,#c9a84c 90deg 112.5deg,#1a2e1c 112.5deg 135deg,#c9a84c 135deg 157.5deg,#1a2e1c 157.5deg 180deg,#c9a84c 180deg 202.5deg,#1a2e1c 202.5deg 225deg,#c9a84c 225deg 247.5deg,#1a2e1c 247.5deg 270deg,#c9a84c 270deg 292.5deg,#1a2e1c 292.5deg 315deg,#c9a84c 315deg 337.5deg,#1a2e1c 337.5deg 360deg);box-shadow:0 2px 12px rgba(201,168,76,0.4);position:relative;flex-shrink:0; }
.logo-icon::after { content:'';position:absolute;inset:7px;border-radius:50%;background:#182c1b;border:1.5px solid rgba(201,168,76,0.4); }
.logo h1 { font-family:'Cinzel',serif;font-size:20px;font-weight:700;letter-spacing:4px;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dim));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-transform:uppercase; }
.logo .sub { font-size:9px;letter-spacing:5px;color:var(--gold-dim);text-transform:uppercase;margin-top:-4px;font-weight:500; }
.hdr-r { display:flex;align-items:center;gap:10px; }
.pill-group { display:flex;gap:3px;background:rgba(0,0,0,0.4);border:1px solid var(--pb);border-radius:8px;padding:3px; }
.pill-btn { padding:6px 14px;border-radius:5px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1.5px;font-weight:600;text-transform:uppercase;cursor:pointer;border:none;background:transparent;color:var(--cream-dim);transition:all 0.2s;white-space:nowrap; }
.pill-btn:hover { color:var(--cream);background:rgba(255,255,255,0.05); }
.pill-btn.active { background:linear-gradient(135deg,rgba(201,168,76,0.2),rgba(201,168,76,0.09));color:var(--gold-light);border:1px solid rgba(201,168,76,0.35);box-shadow:0 0 10px rgba(201,168,76,0.13); }
.pill-btn svg { width:12px;height:12px;vertical-align:middle;margin-right:4px; }

/* PLAYERS BAR */
.pbar { display:flex;align-items:center;gap:7px;padding:10px 24px;background:rgba(5,12,7,0.65);border-bottom:1px solid var(--pb);overflow-x:auto;scrollbar-width:none; }
.pbar::-webkit-scrollbar { display:none; }
.ptab { display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:8px;background:var(--panel);border:1px solid var(--pb);cursor:pointer;transition:all 0.18s;white-space:nowrap; }
.ptab:hover { border-color:var(--pbh); }
.ptab.active { background:linear-gradient(135deg,rgba(201,168,76,0.14),rgba(201,168,76,0.06));border-color:rgba(201,168,76,0.5);box-shadow:0 0 13px rgba(201,168,76,0.1); }
.ptab .pd { width:8px;height:8px;border-radius:50%;flex-shrink:0; }
.ptab .pn { font-family:'Cinzel',serif;font-size:11px;font-weight:600;letter-spacing:1px;color:var(--cream); }
.ptab.active .pn { color:var(--gold-light); }
.ptab .pb { font-size:11px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums; }
.ptab .rm { width:16px;height:16px;border-radius:50%;background:rgba(200,50,50,0.1);border:1px solid rgba(200,50,50,0.25);color:#f87171;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity 0.13s;margin-left:2px; }
.ptab:hover .rm { opacity:1; }
.ptab.dragging { opacity:0.5; }
.ptab.drag-over { border-color:rgba(201,168,76,0.75);box-shadow:0 0 0 1px rgba(201,168,76,0.35); }
.rm:hover { background:rgba(200,50,50,0.26)!important; }
.add-p { padding:7px 13px;border-radius:8px;background:transparent;border:1px dashed rgba(201,168,76,0.26);color:var(--gold-dim);cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;transition:all 0.18s;white-space:nowrap;flex-shrink:0; }
.add-p:hover { border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,0.05); }

/* STACK VIEW */
.main { display:grid;grid-template-columns:360px 1fr;min-height:calc(100vh - 64px - 50px - 56px); }
.chip-tray { border-right:1px solid var(--pb);background:rgba(5,13,7,0.45);padding:18px 16px;display:flex;flex-direction:column;gap:5px;overflow-y:auto;max-height:calc(100vh - 64px - 50px - 56px); }
.sec-title { font-family:'Cinzel',serif;font-size:9px;letter-spacing:4px;font-weight:700;color:var(--gold-dim);text-transform:uppercase;margin-bottom:6px;padding-bottom:6px;border-bottom:1px solid rgba(201,168,76,0.13); }
.chip-row { display:flex;align-items:center;gap:11px;padding:8px 11px;border-radius:9px;background:var(--glass);border:1px solid transparent;transition:all 0.16s; }
.chip-row:hover { background:rgba(255,255,255,0.033);border-color:rgba(255,255,255,0.05); }
.cv { width:54px;height:54px;border-radius:50%;position:relative;flex-shrink:0;box-shadow:0 5px 14px rgba(0,0,0,0.6),inset 0 1px 2px rgba(255,255,255,0.13);transition:transform 0.13s; }
.cv.sm { width:38px;height:38px; }
.cv.st { width:28px;height:28px; }
.cv.xs { width:24px;height:24px; }
.cv.mc { width:19px;height:19px; }
.ci { position:absolute;inset:9px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,0.1); }
.cv.sm .ci { inset:6px; }
.cv.st .ci { inset:5px; }
.cv.xs .ci { inset:4px; }
.cv.mc .ci { inset:3px; }
.cl { font-family:'Cinzel',serif;font-size:10px;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,0.7);z-index:1;position:relative;letter-spacing:0; }
.cv.sm .cl { font-size:7px; }
.cv.st .cl { font-size:6px; }
.cv.xs .cl,.cv.mc .cl { display:none; }
.cv::before { content:'';position:absolute;top:4px;left:10px;width:15px;height:6px;background:rgba(255,255,255,0.17);border-radius:50%;transform:rotate(-30deg);z-index:10;pointer-events:none; }
.cv.xs::before,.cv.mc::before { display:none; }
.cv.st::before { top:3px;left:6px;width:9px;height:4px; }
.cv.sm::before { top:3px;left:7px;width:10px;height:4px; }
.chip-info { flex:1; }
.chip-denom { font-family:'Cinzel',serif;font-size:14px;font-weight:700;color:var(--cream); }
.chip-name { font-size:10px;color:var(--cream-dim); }
.chip-ctrls { display:flex;align-items:center;gap:6px; }
.cb { width:29px;height:29px;border-radius:7px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.04);color:var(--cream);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.12s;user-select:none; }
.cb:hover { background:rgba(255,255,255,0.1);transform:scale(1.06); }
.cb:active { transform:scale(0.93); }
.cb.add { border-color:rgba(201,168,76,0.27);color:var(--gold); }
.cb.add:hover { background:rgba(201,168,76,0.13);border-color:var(--gold); }
.cb.sub { border-color:rgba(200,80,80,0.27);color:#f87171; }
.cb.sub:hover { background:rgba(200,80,80,0.13);border-color:#f87171; }
.chip-cnt { font-family:'Cinzel',serif;font-size:16px;font-weight:700;color:var(--cream);min-width:24px;text-align:center;font-variant-numeric:tabular-nums; }
.chip-cnt.z { color:rgba(255,255,255,0.16); }
.sb-add { margin-top:7px;padding:9px 11px;border-radius:9px;background:var(--glass);border:1px dashed rgba(201,168,76,0.19); }
.sb-title { font-family:'Cinzel',serif;font-size:9px;letter-spacing:3px;color:var(--gold-dim);margin-bottom:6px; }
.sb-row { display:flex;gap:6px;align-items:center; }
.sb-in { flex:1;padding:7px 10px;background:rgba(0,0,0,0.4);border:1px solid rgba(201,168,76,0.19);border-radius:6px;color:var(--cream);font-family:'Cinzel',serif;font-size:13px;outline:none;transition:border-color 0.18s; }
.sb-in:focus { border-color:rgba(201,168,76,0.48); }
.sb-in::placeholder { color:rgba(255,255,255,0.17); }
.sb-btn { padding:7px 12px;border-radius:6px;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.31);color:var(--gold);cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;transition:all 0.18s; }
.sb-btn:hover { background:rgba(201,168,76,0.22); }

/* Stack panel */
.sp { padding:20px 24px;display:flex;flex-direction:column;gap:20px;overflow-y:auto;max-height:calc(100vh - 64px - 50px - 56px); }
.sp-hdr { display:flex;align-items:flex-start;justify-content:space-between; }
.pdn { font-family:'Cinzel',serif;font-size:22px;font-weight:700;letter-spacing:2px;color:var(--cream);display:flex;align-items:center;gap:8px; }
.pcd { width:10px;height:10px;border-radius:50%;flex-shrink:0; }
.nei { background:transparent;border:none;border-bottom:1px dashed rgba(201,168,76,0.28);color:var(--cream);font-family:'Cinzel',serif;font-size:22px;font-weight:700;letter-spacing:2px;outline:none;width:200px; }
.ps { font-size:10px;letter-spacing:3px;color:var(--cream-dim);text-transform:uppercase;margin-top:3px; }
.tl { font-size:9px;letter-spacing:4px;color:var(--gold-dim);text-transform:uppercase;font-family:'Cinzel',serif; }
.ta { font-family:'Cinzel',serif;font-size:38px;font-weight:900;letter-spacing:1px;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--gold-light),var(--gold),var(--gold-dim));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;transition:all 0.26s; }
.csa { display:flex;flex-wrap:wrap;gap:16px;padding:16px;background:rgba(0,0,0,0.2);border-radius:13px;border:1px solid var(--pb);min-height:140px;align-items:flex-end; }
.ems { width:100%;text-align:center;color:rgba(255,255,255,0.12);font-family:'Cinzel',serif;font-size:11px;letter-spacing:3px;padding:36px 0; }
.sg { display:flex;flex-direction:column;align-items:center;gap:6px;animation:sIn 0.26s ease; }
@keyframes sIn { from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:translateY(0)} }
.sc-wrap { position:relative;display:flex;flex-direction:column-reverse;align-items:center; }
.sc { position:relative;margin-top:-24px;transition:transform 0.16s; }
.sc:first-child { margin-top:0; }
.sc:hover { transform:translateY(-4px); }
.si { text-align:center; }
.si .cnt { font-family:'Cinzel',serif;font-size:11px;font-weight:700;color:var(--cream); }
.si .val { font-size:10px;color:var(--gold);font-weight:600; }
.si .sub { font-size:9px;color:var(--cream-dim);margin-top:1px; }
.bt { font-family:'Cinzel',serif;font-size:9px;letter-spacing:4px;color:var(--gold-dim);text-transform:uppercase;margin-bottom:8px; }
.bg { display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px; }
.bc { background:rgba(0,0,0,0.26);border:1px solid rgba(255,255,255,0.05);border-radius:9px;padding:10px 12px;display:flex;align-items:center;gap:8px;transition:all 0.16s; }
.bc:hover { border-color:rgba(201,168,76,0.19); }
.bt2 { flex:1; }
.bd { font-family:'Cinzel',serif;font-size:13px;font-weight:700;color:var(--cream); }
.bs { font-size:10px;color:var(--gold);font-weight:600; }
.bcc { font-family:'Cinzel',serif;font-size:18px;font-weight:700;color:var(--cream-dim); }
.clr-btn { padding:6px 12px;border-radius:6px;background:transparent;border:1px solid rgba(200,80,80,0.22);color:#f87171;cursor:pointer;font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;transition:all 0.16s; }
.clr-btn:hover { background:rgba(200,80,80,0.09);border-color:rgba(200,80,80,0.44); }
.dbl-btn { padding:6px 12px;border-radius:6px;background:linear-gradient(135deg,rgba(201,168,76,0.16),rgba(201,168,76,0.08));border:1px solid rgba(201,168,76,0.27);color:var(--gold);cursor:pointer;font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;transition:all 0.16s; }
.dbl-btn:hover { background:rgba(201,168,76,0.22);border-color:var(--gold); }
@keyframes tpop { 0%{transform:scale(1)} 50%{transform:scale(1.07)} 100%{transform:scale(1)} }
.tpop { animation:tpop 0.2s ease; }

/* TABLE VIEW */
#tableView {
  display:none; flex-direction:column;
  height: calc(100vh - 64px - 50px - 56px);
  overflow: hidden;
  background:
    radial-gradient(ellipse at 50% 50%, #1c6424 0%, #0e3c14 42%, #082b0d 76%, #051a08 100%);
  position: relative;
}
#tableView::before {
  content:''; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    repeating-linear-gradient(0deg,transparent,transparent 5px,rgba(0,0,0,0.055) 5px,rgba(0,0,0,0.055) 6px),
    repeating-linear-gradient(90deg,transparent,transparent 5px,rgba(0,0,0,0.04) 5px,rgba(0,0,0,0.04) 6px);
}

/* Increment bar */
.inc-bar {
  position: relative; z-index: 10; flex-shrink: 0;
  display:flex;align-items:center;gap:8px;
  margin: 14px 16px 0;
  background:rgba(2,10,4,0.85);
  border:1px solid var(--pb);border-radius:12px;
  padding:9px 14px;flex-wrap:wrap;justify-content:center;
  width:calc(100% - 32px);max-width:940px;
  align-self: center;
  backdrop-filter: blur(14px);
  box-shadow: 0 4px 20px rgba(0,0,0,0.55);
}
.inc-lbl { font-family:'Cinzel',serif;font-size:8px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;white-space:nowrap; }
.inc-chips { display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1; }
.icb { display:flex;align-items:center;gap:4px;padding:4px 10px 4px 5px;border-radius:20px;background:rgba(255,255,255,0.04);border:1.5px solid rgba(255,255,255,0.1);cursor:pointer;transition:all 0.16s; }
.icb:hover { border-color:rgba(255,255,255,0.22);background:rgba(255,255,255,0.07); }
.icb.sel { border-color:rgba(201,168,76,0.7);background:rgba(201,168,76,0.15);box-shadow:0 0 10px rgba(201,168,76,0.2); }
.icb .il { font-family:'Cinzel',serif;font-size:10px;font-weight:700;color:var(--cream); }
.inc-sep { width:1px;height:26px;background:rgba(255,255,255,0.1);margin:0 4px; }
.mg { display:flex;gap:3px; }
.mb { padding:4px 10px;border-radius:20px;background:rgba(255,255,255,0.04);border:1.5px solid rgba(255,255,255,0.09);cursor:pointer;font-family:'Cinzel',serif;font-size:10px;font-weight:700;color:var(--cream-dim);transition:all 0.16s;white-space:nowrap; }
.mb:hover { border-color:rgba(255,255,255,0.22);color:var(--cream); }
.mb.sel { border-color:rgba(201,168,76,0.64);background:rgba(201,168,76,0.13);color:var(--gold-light);box-shadow:0 0 8px rgba(201,168,76,0.17); }

/* Arena */
.table-arena {
  position: relative; z-index: 1;
  flex: 1;
  width: 100%;
  min-height: 0;
}

/* Centre total watermark */
.arena-center {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%);
  text-align:center; pointer-events:none; z-index:0;
  user-select:none;
}
.arena-center .act { font-family:'Cinzel',serif;font-size:clamp(9px,1.2vw,13px);font-weight:700;letter-spacing:6px;color:rgba(255,255,255,0.07);text-transform:uppercase; }
.arena-center .acd { width:32px;height:1px;background:rgba(255,255,255,0.07);margin:6px auto; }
.arena-center .acv { font-family:'Cinzel',serif;font-size:clamp(14px,2.2vw,24px);font-weight:900;color:rgba(255,255,255,0.1);font-variant-numeric:tabular-nums; }

/* SEATS */
.seat { position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;animation:seatin 0.35s ease; }
@keyframes seatin { from{opacity:0;transform:translate(-50%,-50%) scale(0.84)} to{opacity:1;transform:translate(-50%,-50%) scale(1)} }
.scard {
  background:rgba(4,11,6,0.95);border:1px solid var(--pb);border-radius:14px;
  padding:10px 11px 9px;min-width:148px;max-width:210px;
  box-shadow:0 10px 30px rgba(0,0,0,0.75),0 2px 8px rgba(0,0,0,0.5);
  transition:all 0.2s;cursor:pointer;backdrop-filter:blur(10px);
}
.scard:hover { border-color:var(--pbh);box-shadow:0 12px 36px rgba(0,0,0,0.85),0 0 20px rgba(201,168,76,0.09);transform:translateY(-2px); }
.scard.asc { border-color:rgba(201,168,76,0.55);box-shadow:0 0 0 2px rgba(201,168,76,0.17),0 12px 36px rgba(0,0,0,0.85); }
.scard.dragging { opacity:0.5; }
.scard.drag-over { border-color:rgba(201,168,76,0.85);box-shadow:0 0 0 2px rgba(201,168,76,0.28),0 12px 36px rgba(0,0,0,0.85); }

/* IS-TURN: glowing pulse for current turn player */
@keyframes turnPulse {
  0%   { box-shadow:0 0 0 2px rgba(201,168,76,0.3),0 0 18px rgba(201,168,76,0.25),0 10px 30px rgba(0,0,0,0.75); }
  50%  { box-shadow:0 0 0 3px rgba(201,168,76,0.65),0 0 28px rgba(201,168,76,0.45),0 10px 30px rgba(0,0,0,0.75); }
  100% { box-shadow:0 0 0 2px rgba(201,168,76,0.3),0 0 18px rgba(201,168,76,0.25),0 10px 30px rgba(0,0,0,0.75); }
}
.scard.is-turn {
  border-color: var(--gold-light);
  animation: turnPulse 1.8s ease-in-out infinite;
}

.sh { display:flex;align-items:center;gap:6px;margin-bottom:8px; }
.sdot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.sname { font-family:'Cinzel',serif;font-size:10px;font-weight:700;letter-spacing:1px;color:var(--cream);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px; }
.seat-stacks-area {
  display:flex;gap:6px;align-items:flex-end;
  min-height:68px;margin-bottom:8px;
  padding:6px 4px 4px;
  background:rgba(0,0,0,0.28);
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.05);
  flex-wrap:wrap;
  justify-content:center;
}
.seat-stack-col { display:flex;flex-direction:column;align-items:center;gap:2px; }
.seat-chip-pile { position:relative;display:flex;flex-direction:column-reverse;align-items:center; }
.seat-chip-item { position:relative;margin-top:-20px;transition:transform 0.15s; }
.seat-chip-item:first-child { margin-top:0; }
.seat-chip-item:hover { transform:translateY(-3px); }
.seat-stack-cnt { font-family:'Cinzel',serif;font-size:7.5px;font-weight:700;color:rgba(245,230,200,0.65);text-align:center;margin-top:2px; }
.seat-empty-msg { font-size:9px;color:rgba(255,255,255,0.16);font-family:'Cinzel',serif;letter-spacing:1px;padding:18px 0;width:100%;text-align:center; }
.stot { font-family:'Cinzel',serif;font-size:16px;font-weight:900;color:var(--gold-light);font-variant-numeric:tabular-nums;text-align:center;margin-bottom:7px;line-height:1; }
.sctrl { display:flex;align-items:center;gap:4px;justify-content:center; }
.sbtn { width:28px;height:28px;border-radius:7px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:300;transition:all 0.12s;user-select:none; }
.sbtn:active { transform:scale(0.88); }
.sbtn.sa { background:rgba(201,168,76,0.16);color:var(--gold-light);border:1px solid rgba(201,168,76,0.33); }
.sbtn.sa:hover { background:rgba(201,168,76,0.28); }
.sbtn.ss { background:rgba(200,80,80,0.13);color:#f87171;border:1px solid rgba(200,80,80,0.28); }
.sbtn.ss:hover { background:rgba(200,80,80,0.24); }
.sil { font-family:'Cinzel',serif;font-size:8px;font-weight:700;color:var(--gold-dim);min-width:34px;text-align:center;white-space:nowrap; }

/* FOOTER */
.gtb { background:linear-gradient(180deg,rgba(4,10,5,0.99),rgba(2,7,3,1));border-top:1px solid var(--pb);padding:0 24px;height:56px;display:flex;align-items:center;justify-content:space-between;position:sticky;bottom:0;z-index:100; }
.gtl { font-family:'Cinzel',serif;font-size:9px;letter-spacing:4px;color:var(--gold-dim);text-transform:uppercase; }
.gta { font-family:'Cinzel',serif;font-size:24px;font-weight:900;color:var(--gold-light);font-variant-numeric:tabular-nums;letter-spacing:1px; }
.apm { display:flex;gap:16px;align-items:center; }
.pmi { display:flex;align-items:center;gap:5px; }
.pmid { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.pmin { font-size:10px;color:var(--cream-dim);font-family:'Cinzel',serif;letter-spacing:0.5px; }
.pmit { font-size:11px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums; }

::-webkit-scrollbar { width:4px;height:4px; }
::-webkit-scrollbar-track { background:rgba(0,0,0,0.16); }
::-webkit-scrollbar-thumb { background:rgba(201,168,76,0.16);border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:rgba(201,168,76,0.34); }

/* ─── GAME PANEL ─── */
.game-panel { background:rgba(0,0,0,0.35);border:1px solid var(--pb);border-radius:14px;overflow:hidden;flex-shrink:0; }
.gp-header { display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.06); }
.gp-title { font-family:'Cinzel',serif;font-size:11px;font-weight:700;letter-spacing:3px;color:var(--gold);text-transform:uppercase; }
.gp-phase { font-family:'Cinzel',serif;font-size:9px;letter-spacing:2px;padding:3px 9px;border-radius:20px;text-transform:uppercase;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.3);color:var(--gold-light); }
.gp-stats { display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,0.06); }
.gp-stat { flex:1;text-align:center;padding:9px 8px;border-right:1px solid rgba(255,255,255,0.06); }
.gp-stat:last-child { border-right:none; }
.gp-stat-label { font-size:8px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase;font-family:'Cinzel',serif;margin-bottom:3px; }
.gp-stat-val { font-family:'Cinzel',serif;font-size:15px;font-weight:900;color:var(--cream);font-variant-numeric:tabular-nums; }
.gp-stat-val.gold { color:var(--gold-light); } .gp-stat-val.red { color:#f87171; }
.gp-pot-display { display:flex;flex-direction:column;align-items:center;gap:1px;margin:0 auto; }
.gp-pot-label { font-family:'Cinzel',serif;font-size:7px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase; }
.gp-pot-val { font-family:'Cinzel',serif;font-size:18px;font-weight:900;color:var(--gold-light);font-variant-numeric:tabular-nums;line-height:1; }
.gp-phase.ph-waiting { background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:var(--cream-dim); }

/* Turn banners */
.turn-banner {
  padding:7px 14px;
  font-family:'Cinzel',serif;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  background:rgba(201,168,76,0.13);border-bottom:1px solid rgba(201,168,76,0.28);
  color:var(--gold-light);text-align:center;
}
.wait-banner {
  padding:7px 14px;
  font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;
  background:rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,0.06);
  color:var(--cream-dim);text-align:center;
}

.gp-player-row { display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid rgba(255,255,255,0.04); }
.gp-player-info { display:flex;align-items:center;gap:7px; }
.gp-player-dot { width:7px;height:7px;border-radius:50%;flex-shrink:0; }
.gp-player-name { font-family:'Cinzel',serif;font-size:10px;font-weight:700;color:var(--cream);letter-spacing:1px; }
.gp-status-badge { font-family:'Cinzel',serif;font-size:8px;font-weight:700;letter-spacing:1.5px;padding:2px 7px;border-radius:10px;text-transform:uppercase; }
.gsb-active { background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.3);color:#4ade80; }
.gsb-folded { background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);color:#f87171; }
.gsb-allin  { background:rgba(251,146,60,0.12);border:1px solid rgba(251,146,60,0.3);color:#fb923c; }
.gsb-stood  { background:rgba(59,130,246,0.12);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.gsb-bust   { background:rgba(239,68,68,0.1);border:1px solid rgba(239,68,68,0.25);color:#f87171; }
.gsb-winner { background:rgba(201,168,76,0.18);border:1px solid rgba(201,168,76,0.4);color:var(--gold-light); }
.gsb-waiting { background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);color:var(--cream-dim); }
.gsb-push { background:rgba(59,130,246,0.12);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.gp-actions { padding:10px 12px;display:flex;flex-direction:column;gap:8px; }
.gp-btn-row { display:flex;gap:6px;flex-wrap:wrap; }
.gact { flex:1;min-width:60px;padding:8px 10px;border-radius:8px;font-family:'Cinzel',serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;transition:all 0.15s;display:flex;flex-direction:column;align-items:center;gap:2px; }
.gact span.sub { font-size:7px;font-weight:500;letter-spacing:0.5px;opacity:0.75; }
.gact:active { transform:scale(0.95); } .gact:disabled { opacity:0.3;cursor:default;transform:none; }
.ga-fold   { background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.35);color:#f87171; }
.ga-fold:hover:not(:disabled)   { background:rgba(239,68,68,0.28); }
.ga-check  { background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.16);color:var(--cream); }
.ga-check:hover:not(:disabled)  { background:rgba(255,255,255,0.13); }
.ga-call   { background:rgba(59,130,246,0.15);border:1px solid rgba(59,130,246,0.35);color:#60a5fa; }
.ga-call:hover:not(:disabled)   { background:rgba(59,130,246,0.28); }
.ga-raise  { background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.35);color:var(--gold-light); }
.ga-raise:hover:not(:disabled)  { background:rgba(201,168,76,0.28); }
.ga-allin  { background:rgba(251,146,60,0.15);border:1px solid rgba(251,146,60,0.35);color:#fb923c; }
.ga-allin:hover:not(:disabled)  { background:rgba(251,146,60,0.28); }
.ga-win    { background:rgba(34,197,94,0.15);border:1px solid rgba(34,197,94,0.35);color:#4ade80; }
.ga-win:hover:not(:disabled)    { background:rgba(34,197,94,0.28); }
.ga-lose   { background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.35);color:#f87171; }
.ga-lose:hover:not(:disabled)   { background:rgba(239,68,68,0.28); }
.ga-push   { background:rgba(59,130,246,0.15);border:1px solid rgba(59,130,246,0.35);color:#60a5fa; }
.ga-push:hover:not(:disabled)   { background:rgba(59,130,246,0.28); }
.ga-bj     { background:rgba(201,168,76,0.2);border:1px solid rgba(201,168,76,0.45);color:var(--gold-light); }
.ga-bj:hover:not(:disabled)     { background:rgba(201,168,76,0.35); }
.ga-double { background:rgba(251,146,60,0.15);border:1px solid rgba(251,146,60,0.35);color:#fb923c; }
.ga-double:hover:not(:disabled) { background:rgba(251,146,60,0.28); }
.ga-new    { background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.28);color:var(--gold); }
.ga-new:hover:not(:disabled)    { background:rgba(201,168,76,0.22); }
.ga-next   { background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.28);color:#4ade80; }
.ga-next:hover:not(:disabled)   { background:rgba(34,197,94,0.22); }
.ga-next.betting-done { background:rgba(34,197,94,0.22);border-color:rgba(34,197,94,0.6);box-shadow:0 0 10px rgba(34,197,94,0.2); }
.ga-award  { background:rgba(201,168,76,0.18);border:1px solid rgba(201,168,76,0.4);color:var(--gold-light); }
.ga-award:hover:not(:disabled)  { background:rgba(201,168,76,0.32); }
.ga-bet    { background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.28);color:var(--gold); }
.ga-bet:hover:not(:disabled)    { background:rgba(201,168,76,0.22); }
.gp-raise-row { display:flex;gap:6px;align-items:center; }
.gp-raise-in { width:80px;padding:7px 10px;background:rgba(0,0,0,0.4);border:1px solid rgba(201,168,76,0.25);border-radius:7px;color:var(--cream);font-family:'Cinzel',serif;font-size:12px;outline:none;transition:border-color 0.15s; }
.gp-raise-in:focus { border-color:rgba(201,168,76,0.55); }
.gp-raise-in:disabled { opacity:0.35; }
.blind-label { font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase;white-space:nowrap; }
.blind-in { width:70px;padding:6px 9px;background:rgba(0,0,0,0.4);border:1px solid rgba(255,255,255,0.12);border-radius:7px;color:var(--cream);font-family:'Cinzel',serif;font-size:12px;outline:none; }
.gp-blind-row { display:flex;gap:6px;align-items:center;flex-wrap:wrap; }
.gp-dealer-controls { padding:8px 12px 10px;border-top:1px solid rgba(201,168,76,0.12);background:rgba(0,0,0,0.18);display:flex;flex-direction:column;gap:7px; }
.gp-dealer-label { font-family:'Cinzel',serif;font-size:8px;letter-spacing:3px;color:var(--gold-dim);text-transform:uppercase; }
.gp-bet-confirmed { padding:9px 14px;font-family:'Cinzel',serif;font-size:10px;letter-spacing:1px;color:#4ade80;text-align:center;background:rgba(34,197,94,0.07);border-radius:7px;border:1px solid rgba(34,197,94,0.2); }
.gp-quickchips-wrap { display:flex;flex-direction:column;gap:6px; }
.gp-quickchips-label { font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase; }
.gp-quickchips { display:flex;flex-wrap:wrap;gap:8px; }
.gp-log { padding:8px 14px 10px;display:flex;flex-direction:column;gap:3px;border-top:1px solid rgba(255,255,255,0.05); }
.gp-log-entry { font-size:10px;color:var(--cream-dim);font-variant-numeric:tabular-nums; }
.gp-log-entry span { color:var(--gold);font-weight:600; }
.street-bar { display:flex;gap:4px;padding:7px 14px;border-bottom:1px solid rgba(255,255,255,0.05); }
.street-dot { flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,0.1); }
.street-dot.done { background:var(--gold); } .street-dot.current { background:var(--gold-light);box-shadow:0 0 6px rgba(201,168,76,0.5); }

/* TABLE SEAT GAME STYLES */
.scard.sfolded { opacity:0.55;border-color:rgba(239,68,68,0.25); }
.sh-left { display:flex;align-items:center;gap:6px;min-width:0; }
.scard-badge { font-family:'Cinzel',serif;font-size:7px;font-weight:700;letter-spacing:1px;padding:2px 6px;border-radius:8px;text-transform:uppercase;white-space:nowrap;flex-shrink:0; }
.dealer-btn { background:rgba(201,168,76,0.2);border:1px solid rgba(201,168,76,0.4);color:var(--gold-light); }
.sb-btn2 { background:rgba(59,130,246,0.15);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.bb-btn2 { background:rgba(251,146,60,0.15);border:1px solid rgba(251,146,60,0.3);color:#fb923c; }
.seat-bet-row { display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:5px;min-height:16px;flex-wrap:wrap; }
.seat-bet-label { font-family:'Cinzel',serif;font-size:8px;letter-spacing:2px;color:var(--gold-dim);text-transform:uppercase; }
.seat-bet-val { font-family:'Cinzel',serif;font-size:12px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums; }
.seat-status-badge { font-family:'Cinzel',serif;font-size:8px;font-weight:700;letter-spacing:1.5px;padding:2px 7px;border-radius:8px;text-transform:uppercase; }
.sg-actions { display:flex;gap:3px;flex-wrap:wrap;justify-content:center;margin-top:4px; }
.sga { padding:4px 7px;border-radius:6px;font-family:'Cinzel',serif;font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border:none;transition:all 0.13s; }
.sga:active { transform:scale(0.92); } .sga:disabled { opacity:0.3;cursor:default; }
.sga-fold  { background:rgba(239,68,68,0.14);border:1px solid rgba(239,68,68,0.3);color:#f87171; }
.sga-call  { background:rgba(59,130,246,0.14);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.sga-check { background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);color:var(--cream); }
.sga-allin { background:rgba(251,146,60,0.14);border:1px solid rgba(251,146,60,0.3);color:#fb923c; }
.sga-win   { background:rgba(34,197,94,0.14);border:1px solid rgba(34,197,94,0.3);color:#4ade80; }
.sga-lose  { background:rgba(239,68,68,0.14);border:1px solid rgba(239,68,68,0.3);color:#f87171; }
.sga-push  { background:rgba(59,130,246,0.14);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.sga-bj    { background:rgba(201,168,76,0.18);border:1px solid rgba(201,168,76,0.38);color:var(--gold-light); }
.sga-double{ background:rgba(251,146,60,0.14);border:1px solid rgba(251,146,60,0.3);color:#fb923c; }
.sga-hit   { background:rgba(34,197,94,0.14);border:1px solid rgba(34,197,94,0.3);color:#4ade80; }
.sga-stand { background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);color:var(--cream); }
.sga-raise { background:rgba(201,168,76,0.14);border:1px solid rgba(201,168,76,0.3);color:var(--gold-light); }
.sga-blind { background:rgba(59,130,246,0.14);border:1px solid rgba(59,130,246,0.3);color:#60a5fa; }
.sga-raise-row { display:flex;gap:4px;align-items:center;width:100%;margin-top:2px; }
.sga-raise-row .sga { flex-shrink:0; }
.sga-raise-in { flex:1;min-width:0;padding:4px 7px;background:rgba(0,0,0,0.45);border:1px solid rgba(201,168,76,0.22);border-radius:6px;color:var(--cream);font-family:'Cinzel',serif;font-size:11px;outline:none; }
.sga-raise-in:focus { border-color:rgba(201,168,76,0.5); }
.pot-display { position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;pointer-events:none; }
.pot-label  { font-family:'Cinzel',serif;font-size:9px;letter-spacing:4px;color:rgba(201,168,76,0.55);text-transform:uppercase; }
.pot-amount { font-family:'Cinzel',serif;font-size:clamp(16px,2.8vw,30px);font-weight:900;color:rgba(201,168,76,0.8);font-variant-numeric:tabular-nums;text-shadow:0 2px 12px rgba(0,0,0,0.5); }
.pot-phase  { font-family:'Cinzel',serif;font-size:8px;letter-spacing:3px;color:rgba(201,168,76,0.45);margin-top:2px; }
.table-game-bar-btn { padding:5px 11px;border-radius:8px;font-family:'Cinzel',serif;font-size:9px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;transition:all 0.15s;white-space:nowrap; }
.tgb-new   { background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.28);color:var(--gold); }
.tgb-next  { background:rgba(34,197,94,0.12);border:1px solid rgba(34,197,94,0.28);color:#4ade80; }
.tgb-award { background:rgba(201,168,76,0.18);border:1px solid rgba(201,168,76,0.4);color:var(--gold-light); }
.tgb-pot   { font-family:'Cinzel',serif;font-size:10px;color:var(--gold);letter-spacing:1px;white-space:nowrap;padding:4px 0; }
.modal-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.72);z-index:500;display:flex;align-items:center;justify-content:center; }
.modal { background:#0c1e0f;border:1px solid var(--pb);border-radius:16px;padding:24px;min-width:280px;max-width:380px;box-shadow:0 24px 60px rgba(0,0,0,0.8); }
.modal-title { font-family:'Cinzel',serif;font-size:14px;font-weight:700;letter-spacing:3px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;text-align:center; }
.modal-players { display:flex;flex-direction:column;gap:8px; }
.modal-player-btn { display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);cursor:pointer;transition:all 0.16s; }
.modal-player-btn:hover { border-color:var(--gold);background:rgba(201,168,76,0.1); }
.modal-player-dot { width:10px;height:10px;border-radius:50%; }
.modal-player-name { font-family:'Cinzel',serif;font-size:12px;font-weight:600;color:var(--cream);flex:1; }
.modal-player-stack { font-size:11px;color:var(--gold);font-variant-numeric:tabular-nums; }
.modal-cancel { margin-top:12px;width:100%;padding:9px;border-radius:8px;background:transparent;border:1px solid rgba(255,255,255,0.1);color:var(--cream-dim);cursor:pointer;font-family:'Cinzel',serif;font-size:10px;letter-spacing:2px;transition:all 0.15s; }
.modal-cancel:hover { border-color:rgba(255,255,255,0.25);color:var(--cream); }

@media(max-width:680px) {
  .main { grid-template-columns:1fr; }
  .chip-tray { border-right:none;border-bottom:1px solid var(--pb); }
  header { padding:0 11px; }
  .logo h1 { font-size:15px;letter-spacing:2px; }
  .pill-btn { padding:5px 9px;font-size:9px; }
}

/* HOME */
.home-page { min-height:100vh; display:flex; align-items:center; justify-content:center; }
.home-wrap { width:100%; max-width:980px; padding:30px 18px; position:relative; z-index:1; }
.home-card {
  width:min(100%, 540px);
  margin:0 auto;
  background:linear-gradient(165deg, rgba(8,18,10,0.95), rgba(10,23,12,0.9));
  border:1px solid rgba(201,168,76,0.28);
  border-radius:18px;
  padding:24px;
  box-shadow:0 26px 60px rgba(0,0,0,0.65);
}
.home-brand { display:flex; align-items:center; gap:12px; margin-bottom:18px; }
.home-brand h1 { font-family:'Cinzel',serif; font-size:28px; letter-spacing:2px; color:var(--gold-light); }
.home-brand p { color:var(--cream-dim); font-size:13px; margin-top:2px; }
.home-form { display:grid; gap:7px; }
.home-form label { font-family:'Cinzel',serif; font-size:11px; letter-spacing:1.3px; color:var(--gold-dim); text-transform:uppercase; margin-top:8px; }
.home-form input, .home-form select {
  width:100%;
  background:rgba(0,0,0,0.36);
  border:1px solid rgba(201,168,76,0.24);
  border-radius:9px;
  color:var(--cream);
  padding:10px 12px;
  font-size:14px;
  outline:none;
}
.home-form input:focus, .home-form select:focus { border-color:rgba(201,168,76,0.55); }
.home-actions { display:flex; gap:10px; margin-top:16px; flex-wrap:wrap; }
.home-btn {
  border:1px solid rgba(201,168,76,0.27);
  background:rgba(201,168,76,0.08);
  color:var(--gold-light);
  border-radius:9px;
  padding:10px 14px;
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  cursor:pointer;
}
.home-btn.primary { background:linear-gradient(135deg, rgba(201,168,76,0.22), rgba(201,168,76,0.1)); }
.home-btn:hover { background:rgba(201,168,76,0.2); }

/* REMOTE QR MODAL */
.remote-modal { max-width:720px; width:min(92vw, 720px); }
.remote-single {
  background:rgba(0,0,0,0.2);
  border:1px solid rgba(201,168,76,0.18);
  border-radius:14px;
  padding:20px 24px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.remote-hint {
  font-size:12px;
  color:var(--cream-dim);
  text-align:center;
  line-height:1.4;
  max-width:420px;
}
.remote-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; }
.remote-card-item {
  background:rgba(0,0,0,0.25);
  border:1px solid rgba(201,168,76,0.18);
  border-radius:10px;
  padding:10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.remote-player-name { font-family:'Cinzel',serif; font-size:11px; color:var(--cream); letter-spacing:1px; }
.remote-qr { width:180px; height:180px; border-radius:8px; background:#fff; }
.remote-qr-lg {
  width:280px;
  height:280px;
  padding:14px;
  border:1px solid rgba(201,168,76,0.25);
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 24px rgba(0,0,0,0.35);
}
.remote-link {
  color:var(--gold-light);
  text-decoration:none;
  font-size:11px;
  max-width:100%;
  overflow-wrap:anywhere;
  text-align:center;
}
.remote-link:hover { text-decoration:underline; }
.remote-actions {
  width:100%;
  display:flex;
  gap:10px;
  justify-content:center;
  flex-wrap:wrap;
}
.remote-action-btn {
  min-width:132px;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(201,168,76,0.28);
  background:rgba(201,168,76,0.14);
  color:var(--cream);
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1.3px;
  text-transform:uppercase;
  cursor:pointer;
  transition:background 0.15s, border-color 0.15s, transform 0.15s;
}
.remote-action-btn:hover {
  background:rgba(201,168,76,0.22);
  border-color:rgba(201,168,76,0.42);
  transform:translateY(-1px);
}
.remote-action-feedback {
  min-height:16px;
  font-size:11px;
  color:var(--cream-dim);
  text-align:center;
}

/* REMOTE PAGE */
.remote-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:16px; }
.remote-wrap { width:min(100%, 560px); position:relative; z-index:1; }
.remote-card {
  background:rgba(8,18,10,0.94);
  border:1px solid rgba(201,168,76,0.28);
  border-radius:16px;
  padding:16px;
  box-shadow:0 18px 42px rgba(0,0,0,0.65);
  position:relative;
  overflow:hidden;
}
.remote-card h1 { font-family:'Cinzel',serif; font-size:20px; letter-spacing:1px; color:var(--gold-light); margin-bottom:8px; }
.remote-player-name-banner {
  display:inline-flex;
  align-items:center;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(201,168,76,0.14);
  border:1px solid rgba(201,168,76,0.28);
  color:var(--gold-light);
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1.2px;
  text-transform:uppercase;
}
.remote-status { font-family:'Cinzel',serif; font-size:12px; color:#4ade80; letter-spacing:1px; margin-bottom:4px; }
.remote-status.bad { color:#f87171; }
.remote-meta { font-size:13px; color:var(--cream-dim); margin-bottom:10px; }
.remote-waiting-overlay {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(120,120,120,0.26);
  backdrop-filter:grayscale(0.9) blur(2px);
  color:#f3f4f6;
  font-family:'Cinzel',serif;
  font-size:14px;
  letter-spacing:1.4px;
  text-transform:uppercase;
  text-align:center;
  opacity:0;
  pointer-events:none;
  transition:opacity 0.18s ease;
  z-index:5;
}
.remote-card.waiting-state {
  filter:saturate(0.6) brightness(0.85);
}
.remote-card.waiting-state .remote-waiting-overlay {
  opacity:1;
}
.remote-card.waiting-state .remote-controls-wrap,
.remote-card.waiting-state .remote-stats,
.remote-card.waiting-state #remoteAmountRow,
.remote-card.waiting-state #remoteQuickChipsRow,
.remote-card.waiting-state #remoteAmountRowHint {
  opacity:0.72;
}
.remote-card.waiting-state #remoteControls button,
.remote-card.waiting-state #remoteQuickChips button,
.remote-card.waiting-state #remoteAmount {
  opacity:0.45;
  filter:grayscale(1);
}
.remote-card.waiting-state #remoteControls button,
.remote-card.waiting-state #remoteQuickChips button {
  cursor:not-allowed;
}
.remote-stats {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:12px 0 14px;
}
.remote-stat-card {
  background:rgba(0,0,0,0.32);
  border:1px solid rgba(201,168,76,0.24);
  border-radius:12px;
  padding:10px 11px;
}
.remote-stat-label {
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:1.1px;
  color:var(--gold-dim);
  text-transform:uppercase;
  margin-bottom:6px;
}
.remote-stat-value {
  font-family:'Cinzel',serif;
  font-size:28px;
  line-height:1;
  font-weight:900;
  color:var(--gold-light);
  letter-spacing:0.4px;
  font-variant-numeric:tabular-nums;
}
.remote-stat-text {
  font-size:16px;
  line-height:1.1;
}
.remote-row { display:flex; gap:8px; align-items:center; margin-bottom:10px; flex-wrap:wrap; }
.remote-row label { font-family:'Cinzel',serif; font-size:11px; color:var(--gold-dim); letter-spacing:1px; }
.remote-row input,
.remote-row select {
  flex:1;
  background:rgba(0,0,0,0.45);
  border:1px solid rgba(201,168,76,0.22);
  border-radius:8px;
  color:var(--cream);
  padding:8px 10px;
  font-size:14px;
}
.remote-row button {
  background:rgba(201,168,76,0.14);
  border:1px solid rgba(201,168,76,0.34);
  border-radius:8px;
  color:var(--gold-light);
  min-height:50px;
  padding:12px 14px;
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}
.remote-player-list {
  width:100%;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.remote-player-section-title {
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:1.5px;
  color:var(--gold-dim);
  text-transform:uppercase;
  padding:2px 2px 0;
}
.remote-player-item {
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:10px;
  background:rgba(0,0,0,0.34);
  border:1px solid rgba(201,168,76,0.2);
  border-radius:10px;
  padding:9px 10px;
}
.remote-player-item-top {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.remote-player-item-name {
  font-family:'Cinzel',serif;
  font-size:12px;
  letter-spacing:0.8px;
  color:var(--cream);
}
.remote-player-item-right {
  display:flex;
  align-items:center;
  gap:8px;
}
.remote-player-item-status {
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:1px;
  color:var(--cream-dim);
  text-transform:uppercase;
}
.remote-player-item-status.mine {
  color:#4ade80;
}
.remote-player-item-status.taken {
  color:#f87171;
}
.remote-claim-player-btn {
  background:rgba(201,168,76,0.16);
  border:1px solid rgba(201,168,76,0.42);
  border-radius:8px;
  color:var(--gold-light);
  width:100%;
  min-height:52px;
  padding:12px 10px;
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}
.remote-claim-player-btn:hover {
  background:rgba(201,168,76,0.26);
}
#remoteAddPlayerRow button {
  width:100%;
}
.remote-player-empty {
  width:100%;
  text-align:center;
  padding:10px;
  border:1px dashed rgba(201,168,76,0.26);
  border-radius:10px;
  color:var(--cream-dim);
  font-size:12px;
}
.remote-controls-wrap {
  min-height:140px;
  padding-top:4px;
}
.remote-inline-hint {
  font-size:11px;
  color:var(--gold-dim);
  font-family:'Cinzel',serif;
  letter-spacing:0.8px;
}
.remote-row-hidden { display:none; }
.remote-rename-screen {
  margin:10px 0 12px;
  background:rgba(0,0,0,0.36);
  border:1px solid rgba(201,168,76,0.26);
  border-radius:12px;
  padding:12px;
  width:100%;
}
.remote-rename-title {
  font-family:'Cinzel',serif;
  font-size:12px;
  letter-spacing:1.2px;
  color:var(--gold-light);
  margin-bottom:4px;
}
.remote-rename-sub {
  font-size:12px;
  color:var(--cream-dim);
  margin-bottom:10px;
}
.remote-rename-row {
  display:flex;
  gap:8px;
  width:100%;
}
.remote-rename-row input {
  flex:1;
  background:rgba(0,0,0,0.45);
  border:1px solid rgba(201,168,76,0.26);
  border-radius:8px;
  color:var(--cream);
  min-height:50px;
  padding:12px 12px;
  font-size:14px;
}
.remote-rename-row button {
  background:rgba(201,168,76,0.16);
  border:1px solid rgba(201,168,76,0.38);
  border-radius:8px;
  color:var(--gold-light);
  min-height:50px;
  padding:12px 14px;
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}
.remote-quickchips {
  width:100%;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-start;
}
.remote-chip-btn {
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.14);
  border-radius:10px;
  color:var(--cream);
  display:flex;
  align-items:center;
  gap:6px;
  padding:6px 8px;
  cursor:pointer;
  transition:all 0.15s;
}
.remote-chip-btn:hover {
  border-color:rgba(201,168,76,0.44);
  background:rgba(201,168,76,0.12);
}
.remote-chip-btn.selected {
  border-color:rgba(201,168,76,0.7);
  background:rgba(201,168,76,0.2);
  box-shadow:0 0 0 1px rgba(201,168,76,0.2), 0 0 12px rgba(201,168,76,0.15);
}
.remote-chip-value {
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:0.8px;
  color:var(--gold-light);
}
.remote-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.remote-grid.remote-grid-single { grid-template-columns:1fr; }
.remote-grid button {
  background:rgba(201,168,76,0.12);
  border:1px solid rgba(201,168,76,0.3);
  border-radius:8px;
  color:var(--gold-light);
  width:100%;
  min-height:56px;
  padding:14px 10px;
  font-family:'Cinzel',serif;
  font-size:11px;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}
.remote-grid button:hover { background:rgba(201,168,76,0.24); }
.remote-grid button.remote-btn-fold,
.remote-grid button.remote-btn-lose,
.remote-grid button.remote-btn-bust,
.remote-grid button.remote-btn-unbet { background:rgba(239,68,68,0.15);border-color:rgba(239,68,68,0.35);color:#f87171; }
.remote-grid button.remote-btn-fold:hover,
.remote-grid button.remote-btn-lose:hover,
.remote-grid button.remote-btn-bust:hover,
.remote-grid button.remote-btn-unbet:hover { background:rgba(239,68,68,0.28); }
.remote-grid button.remote-btn-check,
.remote-grid button.remote-btn-stand,
.remote-grid button.remote-btn-clearBet { background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.16);color:var(--cream); }
.remote-grid button.remote-btn-check:hover,
.remote-grid button.remote-btn-stand:hover,
.remote-grid button.remote-btn-clearBet:hover { background:rgba(255,255,255,0.13); }
.remote-grid button.remote-btn-call,
.remote-grid button.remote-btn-push { background:rgba(59,130,246,0.15);border-color:rgba(59,130,246,0.35);color:#60a5fa; }
.remote-grid button.remote-btn-call:hover,
.remote-grid button.remote-btn-push:hover { background:rgba(59,130,246,0.28); }
.remote-grid button.remote-btn-raise,
.remote-grid button.remote-btn-blackjack { background:rgba(201,168,76,0.2);border-color:rgba(201,168,76,0.45);color:var(--gold-light); }
.remote-grid button.remote-btn-raise:hover,
.remote-grid button.remote-btn-blackjack:hover { background:rgba(201,168,76,0.35); }
.remote-grid button.remote-btn-allIn,
.remote-grid button.remote-btn-double { background:rgba(251,146,60,0.15);border-color:rgba(251,146,60,0.35);color:#fb923c; }
.remote-grid button.remote-btn-allIn:hover,
.remote-grid button.remote-btn-double:hover { background:rgba(251,146,60,0.28); }
.remote-grid button.remote-btn-bet,
.remote-grid button.remote-btn-win,
.remote-grid button.remote-btn-addAmount,
.remote-grid button.remote-btn-confirmBet { background:rgba(34,197,94,0.15);border-color:rgba(34,197,94,0.35);color:#4ade80; }
.remote-grid button.remote-btn-bet:hover,
.remote-grid button.remote-btn-win:hover,
.remote-grid button.remote-btn-addAmount:hover,
.remote-grid button.remote-btn-confirmBet:hover { background:rgba(34,197,94,0.28); }

.custom-chip-modal {
  width:min(92vw, 420px);
}
.custom-chip-sub {
  font-size:12px;
  color:var(--cream-dim);
  text-align:center;
  margin-top:-8px;
  margin-bottom:12px;
}
.custom-chip-preview-wrap {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  background:rgba(0,0,0,0.22);
  border:1px solid rgba(201,168,76,0.2);
  border-radius:12px;
  padding:10px;
  margin-bottom:12px;
}
.custom-chip-preview-label {
  font-family:'Cinzel',serif;
  font-size:10px;
  letter-spacing:1px;
  color:var(--gold-dim);
}
.custom-chip-presets {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:12px;
}
.custom-chip-color-btn {
  width:100%;
  aspect-ratio:1/1;
  border-radius:10px;
  border:1.5px solid rgba(255,255,255,0.22);
  cursor:pointer;
}
.custom-chip-color-btn:hover {
  transform:translateY(-1px);
  border-color:rgba(255,255,255,0.45);
}
.custom-chip-color-btn.selected {
  border-color:rgba(201,168,76,0.9);
  box-shadow:0 0 0 2px rgba(201,168,76,0.2), 0 0 12px rgba(201,168,76,0.28);
}
.custom-chip-custom-row {
  display:flex;
  align-items:center;
  gap:8px;
}
.custom-chip-custom-label {
  font-family:'Cinzel',serif;
  font-size:11px;
  color:var(--gold-dim);
  letter-spacing:1px;
}
.custom-chip-custom-row input[type='color'] {
  width:48px;
  height:36px;
  padding:0;
  border:none;
  background:transparent;
  cursor:pointer;
}

@media(max-width:520px) {
  .remote-stat-value { font-size:24px; }
  .remote-stat-text { font-size:14px; }
}
