﻿*{margin:0;padding:0;box-sizing:border-box;}
button{-webkit-appearance:none;appearance:none;background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;}
html,body{min-height:100vh;font-family:'Barlow',sans-serif;background:#0e1a12;color:#f0e8d0;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;justify-content:space-between;}
.table-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;padding:0 8px;}
.table{position:relative;width:min(96vw,680px);aspect-ratio:1/1.1;background:radial-gradient(ellipse at 50% 50%,#26643f 0%,#163d28 55%,#0e2c1b 100%);border-radius:50%/45%;border:8px solid #0a0a0a;box-shadow:0 0 0 3px #000,0 0 0 11px #111,0 0 0 15px #000,0 30px 80px rgba(0,0,0,.9),inset 0 0 70px rgba(0,0,0,.3);display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:7% 12% 6%;}
.seat{display:flex;flex-direction:column;align-items:center;gap:10px;}
.seat-card-row{position:relative;display:flex;align-items:center;justify-content:center;}
.seat.folded .card{
  opacity:0.15;
  filter:grayscale(1);
}
.seat.folded .hole-cards{
  opacity:0.15;
  filter:grayscale(1);
}
.nameplate{background:#111c14;border:2px solid rgba(255,255,255,.1);border-radius:28px;overflow:hidden;display:flex;flex-direction:column;transition:background .25s,border-color .25s,box-shadow .25s;width:200px;position:relative;}
.nameplate-inner{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 22px;min-height:58px;}
.pname{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:600;color:#c8d8c0;letter-spacing:.06em;text-transform:uppercase;transition:color .25s;}
.pstack{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:500;color:#7ac88a;transition:color .25s;text-align:center;}
.seat.active .nameplate,.nameplate.active-plate{background:#1e3d28;border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.3),0 0 24px rgba(201,168,76,.35);}
.seat.active .pname,.nameplate.active-plate .pname{color:#ffe866;text-shadow:0 0 12px rgba(255,232,80,.5);}
.seat.active .pstack,.nameplate.active-plate .pstack{color:#80f09a;}
.pname-action{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:none;animation:actionFlash .15s ease-out;}
@keyframes actionFlash{from{opacity:0;transform:scale(1.15);}to{opacity:1;transform:scale(1);}}
.pname-action.fold-clr{color:#e07060;}.pname-action.check-clr{color:#80e090;}.pname-action.call-clr{color:#80c0f0;}.pname-action.raise-clr{color:#ffe866;}.pname-action.bank-clr{color:#e0a020;}.pname-action.show{display:inline;}
.timer-wrap{width:100%;height:5px;background:rgba(255,255,255,.07);opacity:0;transition:opacity .2s;flex-shrink:0;}
.timer-wrap.show{opacity:1;}
.timer-bar{height:100%;width:100%;transition:width 1s linear,background .5s;}
.dealer-btn{position:absolute;left:-38px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff,#e8e0c8 55%,#c8b890 100%);border:2px solid #111;box-shadow:0 2px 8px rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:.6rem;font-weight:700;color:#1a1008;}
.puck{width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:.44rem;font-weight:600;flex-shrink:0;}
.puck.SB{background:#3d7a52;color:#c8ecd4;border:1.5px solid #5aaa70;}.puck.BB{background:#2e5a8a;color:#c0d8f0;border:1.5px solid #5a88c0;}.puck.show{display:flex;}
.hole-cards{display:flex;gap:6px;}
.card{width:62px;height:82px;background:#f8f3e6;border-radius:7px;border:1px solid #d8c8a0;display:block;position:relative;box-shadow:0 5px 14px rgba(0,0,0,.65),inset 0 1px 0 rgba(255,255,255,.7);font-family:'Barlow Condensed',sans-serif;font-weight:500;}
/* Scrabble-tile layout: letter anchored top-left, score anchored to the bottom-right of the
   visible card area (the bottom of the card itself tucks behind the nameplate). Because both
   are absolutely positioned to opposite corners, the score's position is independent of the
   letter's width — wide letters like R/W and narrow ones like I/J all keep the same gap. */
.card .ltr{position:absolute;top:3px;left:7px;font-size:1.4rem;line-height:1;color:#1a1008;font-family:'Barlow Condensed',sans-serif;font-weight:700;}
.card .sv{position:absolute;top:13px;right:5px;bottom:auto;left:auto;font-size:1.3rem;line-height:1;color:#6a4830;font-weight:800;font-family:'Barlow Condensed',sans-serif;}
.card.back{background:#8b1a1a;border:3px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.8);}
.card.back::after{display:none;}
.seat.active .card:not(.back){box-shadow:0 5px 14px rgba(0,0,0,.65),0 0 0 2px #c9a84c,inset 0 1px 0 rgba(255,255,255,.7);}
/* Hole cards — "dealt" motion: arrive from above with a small tilt + scale, settle in.
   The two cards stagger via :nth-child(2) so they land one-then-the-other like a real
   dealer pitching them off the deck. */
@keyframes cardDeal{
  0%{transform:translateY(-22px) rotate(-7deg) scale(.85);opacity:0;}
  60%{opacity:1;}
  100%{transform:translateY(0) rotate(0) scale(1);opacity:1;}
}
.cpop{animation:cardDeal .34s cubic-bezier(.2,.8,.3,1) both;}
.cpop:nth-child(2){animation-delay:.1s;}
/* Community cards — board reveal: 3D flip from edge so each card "turns over". On the flop,
   :nth-child(1..3) stagger 120ms apart for a smooth cascade; turn/river (nth-child 4/5)
   reveal solo with no delay. backface-visibility keeps the mid-flip frame clean. */
@keyframes cardFlip{
  0%{transform:perspective(600px) rotateY(90deg) scale(.95);opacity:0;}
  50%{opacity:1;}
  100%{transform:perspective(600px) rotateY(0) scale(1);opacity:1;}
}
.cfade{animation:cardFlip .42s cubic-bezier(.2,.8,.3,1) both;backface-visibility:hidden;}
.cfade:nth-child(2){animation-delay:.12s;}
.cfade:nth-child(3){animation-delay:.24s;}

.bet-chip{display:flex;align-items:center;gap:5px;opacity:0;transition:opacity .2s ease,left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1);pointer-events:none;}
.bet-chip.vis{opacity:1;}
.chip-disc{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f0d060,#c09020 55%,#7a5808 100%);border:2px solid #f0e070;box-shadow:0 2px 6px rgba(0,0,0,.55);position:relative;flex-shrink:0;}
.chip-disc::after{content:'';position:absolute;inset:3px;border-radius:50%;border:1px dashed rgba(255,255,255,.28);}

.chip-amt{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:500;color:#f0e0a0;text-shadow:0 1px 4px rgba(0,0,0,.8);background:rgba(0,0,0,.45);padding:2px 8px;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.5);}
/* Blind chips â€” absolute on the felt */
.blind-float{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:6px;
  pointer-events:none;
}
@keyframes chipPop{
  0%  {transform:translateX(-50%) scale(1);}
  40% {transform:translateX(-50%) scale(1.35);}
  70% {transform:translateX(-50%) scale(0.92);}
  100%{transform:translateX(-50%) scale(1);}
}
@keyframes amtFlash{
  0%  {color:#ff4444;text-shadow:0 0 10px rgba(255,60,60,.9);}
  50% {color:#ff6666;text-shadow:0 0 14px rgba(255,60,60,.7);}
  100%{color:#f0e0a0;text-shadow:0 1px 4px rgba(0,0,0,.8);}
}
.chip-pop{animation:chipPop .3s cubic-bezier(.34,1.5,.64,1);}
.chip-pop .chip-amt,.chip-pop .blind-amt{animation:amtFlash .6s ease-out forwards;}
.blind-amt{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:500;color:#f0e0a0;text-shadow:0 1px 4px rgba(0,0,0,.8);background:rgba(0,0,0,.45);padding:2px 8px;border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.5);}
.center{display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;}
.street-tag{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(201,168,76,.7);}
.community{display:flex;gap:6px;align-items:center;}
.csep{width:1px;height:42px;background:rgba(255,255,255,.07);margin:0 2px;}
.comm-card{width:62px;height:82px;background:#f8f3e6;border-radius:6px;border:1px solid #d8c8a0;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.7);font-family:'Barlow Condensed',sans-serif;font-weight:700;position:relative;}
.comm-card .ltr{font-size:2.15rem;line-height:1;color:#1a1008;font-family:'Barlow Condensed',sans-serif;font-weight:700;letter-spacing:.01em;}.comm-card .sv{position:absolute;bottom:4px;right:6px;font-size:.9rem;color:#8a6040;font-family:'Barlow Condensed',sans-serif;font-weight:700;}
.comm-card.undealt{background:#112618;border-color:#1e3d28;box-shadow:0 3px 8px rgba(0,0,0,.6);}
.pot-pill{display:flex;align-items:center;gap:6px;background:rgba(0,0,0,.45);padding:4px 14px 4px 8px;border-radius:20px;border:1px solid rgba(201,168,76,.22);}
.pot-disc{width:20px;height:20px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d8b850,#a07820 60%,#5a4408 100%);border:2px solid #c0a030;flex-shrink:0;}
.pot-lbl{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;font-weight:600;color:#7a9a80;text-transform:uppercase;letter-spacing:.14em;}
.pot-amt{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:500;color:#f0e0a0;}
.action-bar.locked .right-cluster{opacity:.2;pointer-events:none;}
.action-bar{width:100%;background:transparent;border-top:none;padding:10px 12px;display:flex;align-items:stretch;justify-content:center;gap:10px;flex-shrink:0;flex-grow:0;position:sticky;bottom:0;}
.bar-spacer{flex:1;}
.right-cluster{display:flex;flex-direction:column;gap:5px;flex-shrink:0;flex-grow:0;}

.slider-track-wrap{
  width:100%;
  height:20px;
  display:flex;
  align-items:center;
  position:relative;
  border-radius:10px;
  overflow:hidden;
  background:#1a3a24;
}
input[type=range]#bet-slider{
  -webkit-appearance:none;appearance:none;
  position:relative;z-index:1;
  width:100%;height:100%;
  background:transparent;
  outline:none;cursor:pointer;
  border:none;padding:0;margin:0;
}
input[type=range]#bet-slider::-webkit-slider-runnable-track{
  height:100%;background:transparent;
}
input[type=range]#bet-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:20px;height:20px;border-radius:50%;
  background:#c9a84c;border:2px solid #f0d060;
  box-shadow:0 0 0 3px rgba(201,168,76,.25);
  cursor:pointer;
  transition:box-shadow .15s,transform .15s;
}
input[type=range]#bet-slider::-webkit-slider-thumb:hover{
  box-shadow:0 0 0 5px rgba(201,168,76,.3);
  transform:scale(1.1);
}
input[type=range]#bet-slider::-moz-range-track{height:20px;background:transparent;}
input[type=range]#bet-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;border:2px solid #f0d060;background:#c9a84c;cursor:pointer;}
input[type=range]#bet-slider::-moz-range-progress{background:#c9a84c;height:20px;}
.bottom-row{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.qb-slider-row{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.quick-bets{display:flex;gap:4px;}
.bet-slider-row{flex:1;min-width:0;}
.qb{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:5px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#8aaa90;cursor:pointer;transition:all .12s;white-space:nowrap;}
.qb:hover{background:rgba(201,168,76,.18);color:#c9a84c;border-color:rgba(201,168,76,.35);}
.qb.active-qb{background:rgba(201,168,76,.22);color:#ffe866;border-color:#c9a84c;}
.bet-section{display:flex;flex-direction:column;gap:4px;width:130px;flex-shrink:0;}

.bet-input-wrap{display:flex;align-items:center;background:#1a2a1e;border:1px solid #2a4a30;border-radius:6px;overflow:hidden;flex:1;height:42px;}
.bet-input-wrap input{flex:1;min-width:0;background:transparent;color:#f0e8d0;font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:500;padding:8px 10px;border:none;outline:none;letter-spacing:.04em;text-align:center;}
.bet-input-wrap input::-webkit-inner-spin-button{-webkit-appearance:none;}
.adj-btn{background:#223228;color:#8aaa90;border:none;border-left:1px solid #2a4a30;padding:0 10px;font-size:.9rem;cursor:pointer;font-family:'Barlow',sans-serif;transition:background .12s;}
.adj-btn:hover{background:#2e4a36;color:#c0d8c0;}
.action-buttons{display:flex;gap:6px;flex-shrink:0;}
.action-buttons button{font-family:'Barlow Condensed',sans-serif;font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border:none;border-radius:7px;cursor:pointer;width:90px;flex-shrink:0;height:42px;transition:filter .12s,transform .1s;line-height:1.15;overflow:hidden;white-space:nowrap;}
.action-buttons button:disabled{opacity:.22;cursor:not-allowed;}
.action-buttons button:active:not(:disabled){transform:scale(.97);}
.btn-fold{background:#3a1a18;color:#d06050;border:1px solid #5a2820;}.btn-fold:hover:not(:disabled){filter:brightness(1.25);}
.btn-check{background:#1e5030;color:#80e090;}.btn-check:hover:not(:disabled){filter:brightness(1.2);}
.btn-call{background:#1a4a8a;color:#80c0f0;}.btn-call:hover:not(:disabled){filter:brightness(1.2);}
.btn-raise{background:#b07820;color:#fff0a0;}.btn-raise:hover:not(:disabled){filter:brightness(1.2);}
.showdown-bar{width:100%;background:#111c14;border-top:1px solid rgba(255,255,255,.06);padding:8px 14px;flex-shrink:0;}
.sd-pools{font-size:.6rem;color:#5a8a6a;text-align:center;margin-bottom:5px;letter-spacing:.04em;font-family:'Barlow',sans-serif;}
.sd-compact-row{display:flex;align-items:center;gap:8px;width:100%;justify-content:center;}
.sd-timer-block{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.sd-timer-track{width:80px;height:3px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;}
.sd-timer-fill{height:100%;width:100%;background:#c9a84c;border-radius:4px;transition:width 1s linear,background .5s;}
.sd-countdown{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:#c9a84c;letter-spacing:.04em;min-width:28px;transition:color .3s;}
.sd-countdown.urgent{color:#e06050;}
.sd-word-input{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:500;padding:7px 12px;border-radius:6px;border:1px solid #2a4a30;background:#1a2a1e;color:#f0e8d0;width:160px;text-transform:uppercase;letter-spacing:.1em;outline:none;flex:1;max-width:200px;}
.sd-word-input:focus{border-color:#c9a84c;}
.sd-submitted-text{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;color:#5a8a6a;letter-spacing:.06em;white-space:nowrap;}
.btn-judge{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:8px 18px;border-radius:7px;border:none;background:#b07820;color:#fff0a0;cursor:pointer;transition:filter .12s;flex-shrink:0;}
.btn-judge:hover{filter:brightness(1.2);}
.result-banner{
  display:none;
  margin:10px 14px 0;
  border-radius:10px;
  overflow:hidden;
  font-family:'Barlow Condensed',sans-serif;
  box-shadow:0 4px 24px rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.08);
}
.result-banner.show{display:flex;flex-direction:column;}

/* each player row */
.rb-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 14px;
  background:#111c14;
  border-bottom:1px solid rgba(255,255,255,.06);
  gap:12px;
}
.rb-name{
  font-size:.95rem;
  font-weight:500;
  color:rgba(255,255,255,.55);
  letter-spacing:.05em;
  text-transform:uppercase;
  flex-shrink:0;
  min-width:60px;
}
.rb-right{
  display:flex;
  align-items:baseline;
  gap:8px;
}
.rb-word{
  font-size:1.05rem;
  font-weight:600;
  color:#f0e8d0;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.rb-pts{
  font-size:.8rem;
  font-weight:500;
  color:#7ac88a;
  letter-spacing:.04em;
  white-space:nowrap;
}
.rb-invalid{
  font-size:.85rem;
  font-weight:600;
  color:rgba(255,255,255,.25);
  letter-spacing:.04em;
  text-transform:uppercase;
}

/* outcome row at bottom */
.rb-outcome{
  padding:10px 14px;
  background:#0e1a10;
  font-size:1rem;
  font-weight:600;
  color:#D2BF55;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-align:center;
}
.rb-outcome.rb-split{color:#80b8e8;}



/* â”€â”€ READY UP OVERLAY â”€â”€ */
#ready-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.85);
  display:none;align-items:center;justify-content:center;
  z-index:400;backdrop-filter:blur(8px);flex-direction:column;gap:20px;
}
#ready-overlay.show{display:flex;}
#ready-panel{
  background:#111c14;border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:32px 40px;
  display:flex;flex-direction:column;align-items:center;gap:16px;
  min-width:260px;text-align:center;
}
.ready-title{
  font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:600;
  letter-spacing:.25em;text-transform:uppercase;color:#D2BF55;
}
.ready-vs{
  font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:600;
  color:#f0e8d0;letter-spacing:.06em;
}
.ready-status{
  font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:600;
  letter-spacing:.1em;color:#5a8a6a;min-height:1.2em;
}
.btn-ready-up{
  font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  padding:14px 40px;border-radius:10px;border:none;cursor:pointer;
  background:#c9a84c;color:#1a1008;transition:filter .12s;
}
.btn-ready-up:hover{filter:brightness(1.15);}
.btn-ready-up:disabled{background:rgba(255,255,255,.1);color:rgba(255,255,255,.3);cursor:not-allowed;filter:none;}
.ready-pip{
  width:10px;height:10px;border-radius:50%;
  display:inline-block;margin-right:6px;
}
.ready-pip.on{background:#50d870;box-shadow:0 0 6px #50d870;}
.ready-pip.off{background:rgba(255,255,255,.15);}

/* â”€â”€ END SESSION OVERLAY â”€â”€ */
#session-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.88);
  display:none;align-items:center;justify-content:center;
  z-index:300;backdrop-filter:blur(8px);
  flex-direction:column;gap:0;
}
#session-overlay.show{display:flex;}
#session-panel{
  background:#111c14;border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:36px 52px;
  display:flex;flex-direction:column;align-items:center;gap:24px;
  min-width:min(88vw,440px);
}
.session-title{
  font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:600;
  letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.35);
}
.session-results{display:flex;flex-direction:column;gap:12px;width:100%;}
.session-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06);
}
.session-row:last-child{border-bottom:none;}
.session-player{
  font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:500;
  color:rgba(255,255,255,.6);letter-spacing:.04em;text-transform:uppercase;
}
.session-pnl{
  font-family:'Barlow Condensed',sans-serif;font-size:1.9rem;font-weight:600;
  letter-spacing:.04em;
}
.session-pnl.win{color:#50d870;}
.session-pnl.loss{color:#e06050;}
.session-pnl.even{color:rgba(255,255,255,.4);}
.session-hands{
  font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.25);
}
.btn-end-session{
  font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;padding:8px 20px;
  border-radius:6px;border:1px solid rgba(255,255,255,.12);
  cursor:pointer;background:rgba(255,255,255,.06);color:rgba(255,255,255,.4);
  transition:all .12s;
}
.btn-end-session:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.7);}
.btn-new-session{
  font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;padding:12px 30px;
  border-radius:9px;border:none;cursor:pointer;
  background:#c9a84c;color:#1a1008;transition:filter .12s;
}
.btn-new-session:hover{filter:brightness(1.15);}

.cog-btn{
  position:fixed;top:12px;left:12px;
  background:none;border:none;cursor:pointer;
  font-size:1.6rem;color:rgba(255,255,255,.35);
  padding:6px;border-radius:8px;
  transition:color .15s,background .15s;
  z-index:100;line-height:1;
}
.cog-btn:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.06);}

.stats-btn{
  position:fixed;top:12px;left:54px;
  background:none;border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.6rem;font-weight:600;
  color:rgba(255,255,255,.3);
  padding:6px;border-radius:8px;
  transition:color .15s,background .15s;
  z-index:100;line-height:1;
}
.stats-btn:hover{color:rgba(255,255,255,.65);background:rgba(255,255,255,.06);}
.graph-btn{
  position:fixed;top:12px;left:108px;
  background:none;border:none;cursor:pointer;
  font-size:1.3rem;
  color:rgba(255,255,255,.35);
  padding:6px;border-radius:8px;
  transition:color .15s,background .15s;
  z-index:100;line-height:1;
}
.graph-btn:hover{color:rgba(255,255,255,.7);background:rgba(255,255,255,.06);}
/* Stats modal */
#stats-strip{
  position:fixed;inset:0;
  background:rgba(0,0,0,.6);
  display:none;align-items:center;justify-content:center;
  z-index:90;backdrop-filter:blur(4px);
}
#stats-strip.open{display:flex;}
.stats-strip-inner{
  background:#111c14;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:28px 36px;
  display:flex;flex-direction:column;align-items:center;gap:8px;
  min-width:200px;
}
.stats-player-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.65rem;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:rgba(255,255,255,.3);
}
.stats-player-pnl{
  font-family:'Barlow Condensed',sans-serif;
  font-size:2.2rem;font-weight:700;letter-spacing:.04em;
  line-height:1;
}
.stats-player-pnl.win{color:#50d870;}
.stats-player-pnl.loss{color:#e06050;}
.stats-player-pnl.even{color:rgba(255,255,255,.3);}
.stats-hands{
  font-family:'Barlow Condensed',sans-serif;
  font-size:.6rem;color:rgba(255,255,255,.2);
  letter-spacing:.12em;text-transform:uppercase;
  margin-top:4px;
}
/* Pause overlay */
#pause-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.75);
  display:none;align-items:center;justify-content:center;
  z-index:150;backdrop-filter:blur(6px);
}
#pause-overlay.show{display:flex;}
#pause-overlay p{
  font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);
}



.la{color:#a8c8a8;}.le{color:#c9a84c;font-weight:600;}.lw{color:#50d870;font-weight:600;}.lr{color:#d06050;}

/* â”€â”€ SETTINGS â”€â”€ */
#settings-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);
  display:none;align-items:flex-end;justify-content:center;
  z-index:200;backdrop-filter:blur(4px);
}
#settings-overlay.open{display:flex;}
#settings-panel{
  width:100%;max-width:860px;
  background:#111c14;
  border:1px solid rgba(255,255,255,.07);
  border-bottom:none;
  border-radius:16px 16px 0 0;
  padding:20px 20px 28px;
  display:flex;flex-direction:column;gap:16px;
  animation:slideUp .22s ease-out;
}
@keyframes slideUp{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.settings-header{
  display:flex;align-items:center;justify-content:space-between;
}
.settings-title{
  font-family:'Barlow Condensed',sans-serif;font-size:.75rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:#5a8a6a;
}
.settings-close{
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.3);font-size:1.1rem;padding:2px 6px;
  transition:color .12s;font-family:'Barlow',sans-serif;
}
.settings-close:hover{color:rgba(255,255,255,.7);}
.settings-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 0;border-bottom:1px solid rgba(255,255,255,.05);
}
.settings-row:last-child{border-bottom:none;}
.settings-row-label{
  font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:500;
  color:#c8d8c0;letter-spacing:.04em;
}
.settings-row-desc{
  font-size:.68rem;color:#4a7a5a;margin-top:2px;
  font-family:'Barlow',sans-serif;
}
/* Rail nameplates â€” sit outside the table oval */
.rail-plate{
  width:100%;max-width:min(96vw,780px);
  display:flex;justify-content:center;
  padding:6px 12px;
}
#rail-p2{margin-bottom:-28px;z-index:10;position:relative;}
#rail-p1{margin-top:-28px;z-index:10;position:relative;}

/* Toggle switch */
.toggle-switch{
  position:relative;width:44px;height:24px;flex-shrink:0;
}
.toggle-switch input{opacity:0;width:0;height:0;position:absolute;}
.toggle-track{
  position:absolute;inset:0;border-radius:24px;
  background:rgba(255,255,255,.1);cursor:pointer;
  transition:background .2s;
}
.toggle-switch input:checked+.toggle-track{background:#c9a84c;}
.toggle-thumb{
  position:absolute;top:3px;left:3px;
  width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.4);
  transition:transform .2s;pointer-events:none;
}
.toggle-switch input:checked~.toggle-thumb{transform:translateX(20px);}

/* â”€â”€ LOBBY â”€â”€ */
#lobby{position:fixed;inset:0;background:#0a140d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;z-index:999;padding:24px;}
#lobby h1{font-family:'Barlow Condensed',sans-serif;font-size:2.8rem;font-weight:700;color:#D2BF55;letter-spacing:.06em;text-transform:lowercase;text-shadow:0 2px 24px rgba(210,191,85,.4);margin:0;}
#lobby p{font-size:.8rem;color:#5a8a6a;letter-spacing:.06em;text-align:center;max-width:320px;line-height:1.7;}
.lobby-btn{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:13px 32px;border-radius:9px;border:none;cursor:pointer;transition:background .4s ease, color .4s ease, border-color .4s ease;}
.lobby-btn.gold{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.1);}
.lobby-btn.gold:hover{background:rgba(255,255,255,.15);color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.25);}
.lobby-btn.dim{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.1);}
.lobby-btn.dim:hover{background:rgba(255,255,255,.15);color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.25);}
.lobby-input{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-align:center;padding:12px 20px;border-radius:9px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#f0e8d0;width:220px;outline:none;}
.lobby-input:focus{border-color:rgba(255,255,255,.3);}
.lobby-status{font-family:'Barlow Condensed',sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-align:center;min-height:1.4em;}
.lobby-status.ok{color:#50d870;}.lobby-status.err{color:#d06050;}.lobby-status.wait{color:#c9a84c;}
.room-code-display{font-family:'Barlow Condensed',sans-serif;font-size:1.7rem;font-weight:700;letter-spacing:.22em;color:#f0e8d0;text-shadow:none;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:8px 18px;border-radius:9px;cursor:pointer;transition:background .15s;}
.room-code-display:hover{background:rgba(255,255,255,.1);}
.copy-hint{font-size:.65rem;color:#5a8a6a;letter-spacing:.1em;text-transform:uppercase;}
.divider-or{display:flex;align-items:center;gap:12px;width:260px;color:#3a5a42;font-size:.7rem;letter-spacing:.15em;}
.divider-or::before,.divider-or::after{content:'';flex:1;height:1px;background:#1e3a28;}
.conn-dot{width:8px;height:8px;border-radius:50%;background:#3a5a42;display:inline-block;margin-right:5px;transition:background .3s;}
.conn-dot.on{background:#50d870;box-shadow:0 0 6px #50d870;}

/* SHOW CARDS */
.btn-sc{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:8px;border:1px solid #5a2820;background:#3a1a18;color:#d06050;cursor:pointer;transition:filter .12s;}
.btn-sc:hover{filter:brightness(1.25);}
.btn-sc-both{background:#1a3a5a;border-color:#2a4a6a;color:#80c0f0;}

#hole-p1.sc-pending .card{opacity:.35 !important;animation:none !important;transition:opacity .25s;}

.btn-sc-muck{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.3);}

.rules-section{display:flex;flex-direction:column;gap:5px;}
.rules-heading{font-family:'Barlow Condensed',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.rules-body{font-family:'Barlow',sans-serif;font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.6;}
.rules-body strong{color:rgba(255,255,255,.8);font-weight:500;}

/* Letter Pool Grid */
.lp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;}
.lp-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);}
.lp-letter{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:600;color:#f0e8d0;min-width:18px;}
.lp-pts{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;color:#D2BF55;font-weight:500;}
.lp-count{font-family:'Barlow Condensed',sans-serif;font-size:.75rem;color:rgba(255,255,255,.45);margin-left:auto;}

/* â”€â”€ MOBILE OPTIMISATION â”€â”€ */
@media (max-width: 480px) {
  /* Prevent iOS auto-zoom on input focus */
  input, select, textarea { font-size: 16px !important; }
  .bet-input-wrap input[type=number] { font-size: 16px !important; }
  #word-me-input { font-size: 16px !important; }
  .lobby-input { font-size: 16px !important; }
  #ready-name-field { font-size: 16px !important; }
  #join-code { font-size: 16px !important; }


  /* Table */
  .table { width: 96vw; padding: 6% 8% 5%; }

  /* Cards - slightly smaller on mobile */
  .card { width: 48px; height: 64px; }
  .card .ltr { font-size: 1.5rem; }
  .card .sv { font-size: .7rem; bottom: 2px; right: 3px; }
  .comm-card { width: 48px; height: 64px; }
  .comm-card .ltr { font-size: 1.5rem; }
  .comm-card .sv { font-size: .7rem; bottom: 2px; right: 3px; }
  .community { gap: 4px; }

  /* Nameplates */
  .nameplate { width: 160px; }
  .nameplate-inner { padding: 6px 12px; min-height: 48px; }
  .pname { font-size: .85rem; }
  .pstack { font-size: .65rem; }
  .pname-action { font-size: 1rem; }

  /* Rail plates */
  .rail-plate { max-width: 96vw; }

  /* Action bar */
  .action-bar { padding: 6px 6px; gap: 4px; }
  .right-cluster { gap: 4px; }

  /* Quick bets + slider row */
  .qb-slider-row { gap: 4px; }
  .quick-bets { gap: 3px; }
  .qb { font-size: .68rem; padding: 3px 5px; min-width: 32px; }
  /* Cap slider width so flex:1 doesn't push it past the right edge. */
  .bet-slider-row { max-width: 90px; }

  /* Bet input + action buttons */
  .bottom-row { gap: 4px; }
  .bet-input-wrap { gap: 2px; }
  .bet-input-wrap input[type=number] { width: 46px; font-size: .8rem; }
  .adj-btn { width: 20px; font-size: .82rem; }
  .bet-section { width: 100px; }

  /* Action buttons */
  .action-buttons { gap: 3px; }
  .action-buttons button { width: 52px; height: 34px; font-size: .68rem; }

  /* Showdown bar */
  .sd-compact-row { gap: 5px; }
  .sd-word-input { max-width: 140px; font-size: .9rem; padding: 6px 10px; }
  .sd-timer-track { width: 60px; }
  .btn-judge { padding: 7px 12px; font-size: .8rem; }

  /* Show cards panel */
  .btn-sc { font-size: .78rem; padding: 7px 10px; }

  /* Top buttons */
  .top-btn { width: 36px; height: 36px; }
  .top-btn svg { width: 22px; height: 22px; }

  /* Lobby */
  #lobby h1 { font-size: 2.2rem; }
  .lobby-btn { padding: 11px 24px; font-size: .95rem; }
  .lobby-input { width: 180px; font-size: 1.2rem; }
  .room-code-display { font-size: 1.4rem; padding: 7px 14px; }

  /* Ready screen */
  #ready-panel { padding: 28px 20px; min-width: 0; width: min(90vw, 380px); }

  /* Session overlay */
  #session-panel { padding: 24px 20px; }
  .session-pnl { font-size: 1.5rem; }

  /* Rules overlay */
  #rules-overlay > div { padding: 24px 18px; }
  .lp-grid { grid-template-columns: repeat(3, 1fr); }

  /* Stats strip */
  #stats-strip-inner { font-size: .75rem; }

  /* Blind chips */
  .blind-float .chip-amt { font-size: .65rem; }
  .chip-disc { width: 18px; height: 18px; }
}

@media (max-width: 360px) {
  .action-buttons button { width: 58px; font-size: .72rem; }
  .card { width: 42px; height: 56px; }
  .comm-card { width: 42px; height: 56px; }
  .card .ltr, .comm-card .ltr { font-size: 1.3rem; }
  .nameplate { width: 140px; }
  .bet-input-wrap input[type=number] { width: 48px; }
}

/* â”€â”€ CHIPS MODAL SLIDER â”€â”€ */
input[type=range]#chips-slider{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;
  background:rgba(255,255,255,.1);
  border-radius:3px;
  outline:none;cursor:pointer;
  border:none;padding:0;margin:4px 0;
}
input[type=range]#chips-slider::-webkit-slider-runnable-track{
  height:6px;background:rgba(255,255,255,.1);border-radius:3px;
}
input[type=range]#chips-slider::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:#D2BF55;border:2px solid #e8d880;
  box-shadow:0 0 0 3px rgba(210,191,85,.25);
  cursor:pointer;margin-top:-8px;
  transition:box-shadow .15s,transform .15s;
}
input[type=range]#chips-slider::-webkit-slider-thumb:hover{
  box-shadow:0 0 0 6px rgba(210,191,85,.3);
  transform:scale(1.1);
}
input[type=range]#chips-slider::-moz-range-track{height:6px;background:rgba(255,255,255,.1);border-radius:3px;}
input[type=range]#chips-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;border:2px solid #e8d880;background:#D2BF55;cursor:pointer;}
input[type=range]#chips-slider::-moz-range-progress{background:#D2BF55;height:6px;border-radius:3px;}

/* â”€â”€ CHIPS DIAL â”€â”€ */
.chips-dial{
  display:inline-flex;flex-direction:row;align-items:center;
  flex-shrink:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;overflow:hidden;
}
.chips-dial-btn{
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.4rem;font-weight:300;line-height:1;
  color:rgba(255,255,255,.5);
  background:transparent;border:none;
  width:40px;height:44px;
  cursor:pointer;
  transition:background .12s,color .12s;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;flex-grow:0;
  user-select:none;
}
.chips-dial-btn:hover{background:rgba(255,255,255,.08);color:#D2BF55;}
.chips-dial-btn:active{background:rgba(210,191,85,.15);}
#chips-display{
  flex-shrink:0;flex-grow:0;
  min-width:58px;
  text-align:center;
  font-family:'Barlow Condensed',sans-serif;
  font-size:1.3rem;font-weight:500;
  color:#f0e8d0;
  letter-spacing:.02em;
}


.how-to-play-btn{
  background:none;border:none;cursor:pointer;
  font-family:'Barlow Condensed',sans-serif;
  font-size:.85rem;font-weight:500;
  color:rgba(255,255,255,.5);
  letter-spacing:.14em;text-transform:uppercase;
  margin-top:4px;padding:0;
  position:relative;
  transition:color .2s;
}
.how-to-play-btn::after{
  content:'';
  position:absolute;
  left:50%;bottom:-2px;
  width:0;height:1px;
  background:rgba(255,255,255,.5);
  transform:translateX(-50%);
  transition:width .25s ease;
}
.how-to-play-btn:hover{color:rgba(255,255,255,.7);}
.how-to-play-btn:hover::after{width:100%;}

#ready-buyin-input::-webkit-outer-spin-button,
#ready-buyin-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

/* Disconnected opponent card greyscale */
.dc-card{filter:grayscale(1);opacity:.4;}

/* Quick-bet editor (settings panel) */
.qb-edit{font-family:'Barlow Condensed',sans-serif;font-size:.95rem;font-weight:500;color:#f0e8d0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:6px 8px;width:100%;box-sizing:border-box;text-align:center;-moz-appearance:textfield;}
.qb-edit::-webkit-outer-spin-button,.qb-edit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.qb-row-lbl{font-family:'Barlow Condensed',sans-serif;font-size:.8rem;font-weight:500;color:rgba(255,255,255,.4);text-align:center;}

/* Info tooltip (label helpers). Works on hover (desktop) and tap/focus (mobile). */
.info-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.5);font-family:'Barlow',sans-serif;font-size:.62rem;font-weight:500;font-style:normal;cursor:help;user-select:none;flex-shrink:0;outline:none;}
.info-tip:hover,.info-tip:focus{border-color:#D2BF55;color:#D2BF55;}
.info-tip .info-pop{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(4px);width:180px;background:#0c1610;border:1px solid rgba(255,255,255,.14);border-radius:8px;padding:8px 10px;font-family:'Barlow',sans-serif;font-size:.72rem;font-weight:400;line-height:1.35;color:rgba(255,255,255,.8);text-align:left;box-shadow:0 8px 24px rgba(0,0,0,.6);opacity:0;visibility:hidden;transition:opacity .15s,transform .15s;z-index:30;pointer-events:none;}
.info-tip .info-pop::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:5px solid transparent;border-top-color:#0c1610;}
.info-tip:hover .info-pop,.info-tip:focus .info-pop{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
/* Keep the popup on-screen for edge fields */
.info-tip.tip-left .info-pop{left:0;transform:translateX(0) translateY(4px);}
.info-tip.tip-left:hover .info-pop,.info-tip.tip-left:focus .info-pop{transform:translateX(0) translateY(0);}
.info-tip.tip-left .info-pop::after{left:10px;}
.info-tip.tip-right .info-pop{left:auto;right:0;transform:translateX(0) translateY(4px);}
.info-tip.tip-right:hover .info-pop,.info-tip.tip-right:focus .info-pop{transform:translateX(0) translateY(0);}
.info-tip.tip-right .info-pop::after{left:auto;right:10px;}

/* Name fields preserve the case the player types (room code stays uppercase). */
.lobby-input.name-input{text-transform:none;letter-spacing:.04em;}

/* Lobby table centre message (waiting state) â€” sits on the felt of the preview table. */
.lobby-felt-msg{position:absolute;top:36%;left:50%;transform:translate(-50%,-50%);width:72%;text-align:center;font-family:'Barlow Condensed',sans-serif;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.85);text-shadow:0 2px 8px rgba(0,0,0,.7);pointer-events:none;z-index:6;}
.lobby-felt-msg .lfm-title{font-size:1.05rem;line-height:1.2;}
.lobby-felt-msg .lfm-sub{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-top:6px;}
.lobby-felt-msg.pulse{animation:lfmPulse 1.8s ease-in-out infinite;}
@keyframes lfmPulse{0%,100%{opacity:1;}50%{opacity:.55;}}

/* Pre-game waiting banner on the real table felt (in-game view, before the hand starts). */
.table-wait6{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px;text-align:center;z-index:7;pointer-events:none;animation:lfmPulse 1.8s ease-in-out infinite;}
.table-wait6 .tw6-title{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:.03em;color:rgba(255,255,255,.9);text-shadow:0 2px 10px rgba(0,0,0,.8);line-height:1.2;}
.table-wait6 .tw6-sub{font-family:'Barlow Condensed',sans-serif;font-size:.74rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-top:6px;text-shadow:0 1px 6px rgba(0,0,0,.8);}

/* Pre-deal countdown number in the centre of the table. */
.table-countdown6{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:300px;text-align:center;z-index:8;pointer-events:none;}
.table-countdown6 .tc6-num{font-family:'Barlow Condensed',sans-serif;font-size:4.5rem;font-weight:700;line-height:1;color:#D2BF55;text-shadow:0 3px 16px rgba(0,0,0,.8);animation:tc6Pop .9s ease-out;}
.table-countdown6 .tc6-sub{font-family:'Barlow Condensed',sans-serif;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-top:4px;text-shadow:0 1px 6px rgba(0,0,0,.8);}
@keyframes tc6Pop{0%{transform:scale(1.4);opacity:.2;}40%{transform:scale(1);opacity:1;}}
