/* KGB's Place — original underground cardroom. Separate from core chrome. */
body.kgb-mode{
  --page:#0a0507;--ink:#f7efe3;--muted:#d2c0ae;--dim:#9a8778;--line:#6a4248;
  --felt:#247251;--felt2:#145338;--lime:#f0d070;--gold:#e8c860;
  --shadow:0 22px 56px #000c;
  background:#0a0507;
}
body.kgb-mode::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(ellipse 70% 55% at 50% 18%, rgba(255,210,120,.18), transparent 70%),
    url('room-backdrop.svg') center/cover no-repeat;
}
body.kgb-mode::after{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 40%, rgba(0,0,0,.55) 100%);
}
body.kgb-mode .shell{position:relative;z-index:1}
body.kgb-mode .tablepanel{overflow:visible}
body.kgb-mode .tablehead{position:relative;z-index:9;background:linear-gradient(165deg, rgba(48,22,30,.98), rgba(20,10,14,.98));border-radius:22px 22px 0 0}
body.kgb-mode .feltarea{padding-top:72px}
body.kgb-mode .layout{overflow:visible}

body.kgb-mode .toast{
  top:12px;bottom:auto;z-index:3;
  background:#f7efe3;color:#1a120c;
}
body.kgb-mode .tablepanel,body.kgb-mode .sidepanel{
  background:linear-gradient(165deg, rgba(48,22,30,.92), rgba(16,8,12,.96) 62%);
  border-color:#7a4a52;
  box-shadow:0 18px 44px #000c, inset 0 0 0 1px #e0c06033;
}
body.kgb-mode .feltarea{
  position:relative;
  padding:56px clamp(16px,3.3vw,52px) 36px;
  background:
    radial-gradient(ellipse 55% 48% at 50% 18%, rgba(255,210,130,.34), transparent 62%),
    radial-gradient(ellipse 80% 70% at 50% 55%, rgba(36,20,24,.15), rgba(8,4,6,.88) 78%),
    linear-gradient(180deg, #2a141c 0%, #12080c 55%, #080406 100%);
  overflow:visible;
}
body.kgb-mode .feltarea::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,4,6,.72), transparent 18%, transparent 82%, rgba(8,4,6,.72)),
    url('room-backdrop.svg') center top / 140% auto no-repeat;
  opacity:.45;
  mix-blend-mode:soft-light;
}
body.kgb-mode .feltarea::before{
  content:"";position:absolute;left:50%;top:-6px;transform:translateX(-50%);
  width:160px;height:130px;background:url('hanging-lamp.svg') center/contain no-repeat;
  pointer-events:none;z-index:6;opacity:1;filter:drop-shadow(0 8px 18px rgba(255,200,100,.35));
}
body.kgb-mode .tablecloth{
  position:relative;z-index:2;
  border-color:#7a5634;
  box-shadow:
    inset 0 0 0 3px #e0c060,
    inset 0 0 0 10px #0e281c,
    0 0 80px rgba(240,180,80,.28),
    0 22px 36px #000a;
  background:
    radial-gradient(ellipse at 50% 18%, rgba(255,230,160,.22), transparent 42%),
    radial-gradient(ellipse at 50% 40%, #2f8a5c 0%, var(--felt) 42%, var(--felt2) 100%);
}
body.kgb-mode .tablecloth:after{
  content:"";position:absolute;inset:-8% -6% auto;height:55%;
  background:radial-gradient(ellipse at 50% 0%, rgba(255,220,140,.28), transparent 70%);
  pointer-events:none;z-index:1;border-radius:50%;
}
body.kgb-mode .roomname{color:#f0d070;letter-spacing:.06em;text-shadow:0 1px 0 #0008}
body.kgb-mode .seat.kgb-hidden{display:none!important}
body.kgb-mode .seat-top{top:-52px;z-index:5}
body.kgb-mode .seat-bottom{bottom:-52px;z-index:5}
body.kgb-mode .seatbadge{
  background:#1a1014;border-color:#c9a45a;color:#f7efe3;
}
body.kgb-mode .seat.you .seatbadge{
  border-color:#f0d070;box-shadow:0 0 0 2px #f0d07033,0 7px 20px #0008;
}
body.kgb-mode .seatstack{color:#e8dcc8}
body.kgb-mode .seataction{color:#f0d070}
body.kgb-mode .potlabel,body.kgb-mode .streetlabel{color:#e8dcc8}
body.kgb-mode .potvalue{color:#fff8e8;text-shadow:0 2px 10px #000a}
body.kgb-mode .table-message{color:#e0d4c0}
body.kgb-mode .card{background:#faf6ec;color:#17110e;border-color:#e4dcc8}
body.kgb-mode .card.red{color:#b43333}
body.kgb-mode .brandmark{border-color:#e0c060;color:#f0d070;background:#2a151c}
body.kgb-mode .pill{background:#1a1014;border-color:#6a4248;color:#f0e6d6}
body.kgb-mode .pill strong{color:#f0d070}
body.kgb-mode .action-primary{background:#f0d070;color:#1a1208}
body.kgb-mode .dailybox{border-color:#e0c06055;background:#e0c06010}
body.kgb-mode #play-kgb{display:none}
body.kgb-mode #leave-kgb{display:inline-flex}
#leave-kgb{display:none}
.kgb-cta{height:39px;padding:0 14px;border-radius:10px;border:1px solid #e0c060;background:#2a151c;color:#f0d070;font-size:12px;font-weight:700}
.kgb-cta:hover{filter:brightness(1.1)}
body.kgb-mode .controls{
  position:relative;z-index:8;background:#120a0c;border-top:1px solid #6a424888;
}
body.kgb-mode .dealer-readout{position:relative;z-index:7;background:#120a0cee}
body.kgb-mode .tablepanel .controls,
body.kgb-mode .tablepanel .dealer-readout{isolation:isolate}
body.kgb-mode .readout-copy{color:#e8dcc8}
body.kgb-mode .readout-copy strong{color:#f0d070}
body.kgb-mode .tablepanel .feltarea > .tablecloth{isolation:isolate}
@media(max-width:620px){
  body.kgb-mode .feltarea{padding:64px 12px 30px}
  body.kgb-mode .feltarea::before{width:110px;height:88px;top:-2px}
  body.kgb-mode .seat-top{top:-44px}
  body.kgb-mode .seat-bottom{bottom:-44px}
}

/* Fit heads-up frame (avatar + lamp + table + controls) in a 768px-tall laptop viewport */
@media(min-width:900px) and (max-height:820px){
  body.kgb-mode .shell{padding-top:12px;padding-bottom:16px}
  body.kgb-mode .topbar{margin-bottom:10px}
  body.kgb-mode .account-strip{display:none} /* preview: reclaim vertical space */
  body.kgb-mode .feltarea{padding:48px 28px 22px}
  body.kgb-mode .tablecloth{min-height:380px}
  body.kgb-mode .seat-top{top:-40px}
  body.kgb-mode .seat-bottom{bottom:-40px}
  body.kgb-mode .feltarea::before{width:130px;height:100px}
  body.kgb-mode .controls{padding:10px 16px 12px}
  body.kgb-mode .dealer-readout{padding:8px 16px;min-height:48px}
}
@media(max-width:620px){
  body.kgb-mode .account-strip{display:none}
  body.kgb-mode .tablecloth{min-height:360px}
}

/* t418u — entrance door */
.kgb-entrance{
  position:fixed;inset:0;z-index:40;display:none;align-items:center;justify-content:center;
  background:radial-gradient(ellipse at 50% 40%, #2a1410 0%, #080406 70%);
  padding:18px;
}
.kgb-entrance.show{display:flex}
.kgb-entrance-inner{text-align:center;max-width:420px;width:100%}
.kgb-door-wrap{
  position:relative;width:min(280px,70vw);margin:0 auto 18px;
  perspective:900px;
}
.kgb-door{
  width:100%;height:auto;display:block;
  transform-origin:left center;
  transition:transform .9s ease-in;
  filter:drop-shadow(0 18px 40px #000c);
}
.kgb-entrance.opening .kgb-door{transform:rotateY(-78deg)}
.kgb-entrance h2{
  margin:0 0 8px;color:#f0d070;font-size:22px;letter-spacing:.04em;
  text-shadow:0 2px 0 #0008;
}
.kgb-entrance p{margin:0 0 16px;color:#d2c0ae;font-size:14px;line-height:1.45}
.kgb-enter-btn{
  height:48px;padding:0 22px;border:0;border-radius:12px;
  background:#f0d070;color:#1b150c;font-weight:750;font-size:15px;cursor:pointer;
}
.kgb-enter-btn:hover{filter:brightness(1.06)}
.kgb-enter-cancel{
  display:block;margin:12px auto 0;background:transparent;border:0;color:#9a8778;
  font-size:13px;cursor:pointer;text-decoration:underline;
}
@media(prefers-reduced-motion:reduce){
  .kgb-door{transition:none}
  .kgb-entrance.opening .kgb-door{transform:none;opacity:.35}
}

/* t418u — chip toss layer (felt only; never over controls) */
.kgb-chiptoss{
  position:absolute;inset:8% 12% 28% 12%;z-index:3;pointer-events:none;overflow:hidden;
}
.kgb-chiptoss .toss-chip{
  position:absolute;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #f0d070, #a87820 70%);
  border:2px solid #5a3a10;box-shadow:0 2px 4px #0008;
  opacity:0;
}
.kgb-chiptoss.active .toss-chip{animation:kgbChipFly .85s ease-out forwards}
.kgb-chiptoss .toss-amt{
  position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);
  background:#1a1014ee;color:#f0d070;border:1px solid #c9a45a;border-radius:10px;
  padding:6px 12px;font-size:13px;font-weight:720;opacity:0;white-space:nowrap;
}
.kgb-chiptoss.active .toss-amt{animation:kgbAmtPop 1.2s ease-out forwards}
@keyframes kgbChipFly{
  0%{opacity:0;transform:translate(0,0) scale(.6)}
  15%{opacity:1}
  100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(1)}
}
@keyframes kgbAmtPop{
  0%{opacity:0;transform:translate(-50%,-40%) scale(.9)}
  20%{opacity:1;transform:translate(-50%,-50%) scale(1)}
  80%{opacity:1}
  100%{opacity:0;transform:translate(-50%,-70%)}
}
@media(prefers-reduced-motion:reduce){
  .kgb-chiptoss .toss-chip,.kgb-chiptoss .toss-amt{animation:none!important;opacity:0!important}
}
@media(max-width:620px){
  .kgb-chiptoss{inset:10% 8% 32% 8%}
  .kgb-chiptoss .toss-chip{width:14px;height:14px}
}


/* t444u/t446u — r3.3 merge companion: keep original underground room in laptop gutters */
body.in-hand.kgb-mode::before{z-index:0;opacity:1}
body.in-hand.kgb-mode::after{z-index:0}
body.kgb-mode .centerreadout{z-index:7}
body.kgb-mode .board{z-index:6;position:relative}
body.kgb-mode .seat-top{z-index:4}
body.in-hand.kgb-mode .kgb-cookies{z-index:6;filter:drop-shadow(0 4px 10px #000c)}
body.in-hand.kgb-mode .kgb-chiptoss{z-index:5}


/* t444u-viewport-fix — room must read around laptop panel; avatar must not be clipped */
body.in-hand.kgb-mode::before{
  opacity:1 !important;
  background:
    radial-gradient(ellipse 70% 55% at 50% 18%, rgba(255,210,120,.22), transparent 70%),
    url('room-backdrop.svg') center/cover no-repeat !important;
}
body.in-hand.kgb-mode .tablepanel{background-clip:padding-box}
@media (min-width:900px){
  body.in-hand.kgb-mode .seat-top{overflow:visible}
  body.in-hand.kgb-mode .feltarea{overflow:visible}
}
