/* GPT Image art direction: Emerald Throne. Layout/interaction lives in club.css. */
:root { --club-gold: #edc57b; --club-muted: #adc3ba; }
body #lobby {
  background: linear-gradient(90deg,#031b1ee0 0%,#031a1b35 48%,#061b1fc9 100%),
    linear-gradient(0deg,#03151b 0%,transparent 55%),
    url("assets/emerald/casino-room.webp") center top / cover fixed;
}
.club-lobby { max-width: 1320px; padding: 25px 52px 24px; }
.club-header { padding-bottom: 18px; border-color: #e9be7440; }
.club-brand { color: #f6d18b; text-shadow: 0 2px 16px #000; }
.brand-suit { background: linear-gradient(145deg,#ecd28b,#af7732); color: #043e37; border: 1px solid #ffe6ae; box-shadow: 0 3px 20px #0006,inset 0 0 0 4px #164c3925; }
.club-brand small { color: #c4d4c8; }
.career { padding: 12px 16px; width: 242px; background: #041c1dd6; border: 1px solid #d9ae6540; border-radius: 6px; }
.career b { color: #f0cc8f; }
.career-track i { background: linear-gradient(90deg,#aa7732,#ffe5a9); box-shadow: 0 0 12px #ffd99370; }
.lobby-layout { grid-template-columns: 1.1fr 1fr; gap: 64px; padding: 35px 0 25px; }
.club-intro { position: relative; min-width: 0; }
.club-intro .eyebrow { color: #eac889; font-size: 10px; text-shadow: 0 2px 8px #000; }
.club-intro h1 { position: relative; z-index: 2; font-size: clamp(38px,3.8vw,57px); line-height: 1.28; letter-spacing: .06em; margin: 20px 0 15px; color: #fff3d5; text-shadow: 0 3px 20px #000; }
.club-intro h1 em { color: #f9d79a; }
.intro-copy { position: relative; z-index: 2; font-size: 12px; color: #bfd0c8; text-shadow: 0 2px 6px #001211; }
.hero-scene { height: 315px; margin: -10px -30px 0; isolation: isolate; }
.hero-scene img { width: 370px; height: 370px; max-width: none; transform: none; filter: drop-shadow(0 24px 24px #0008); animation: royal-float 7s ease-in-out infinite; }
.hero-orbit { width: 380px; height: 150px; bottom: 10px; border: 1px solid #e6ba6440; background: radial-gradient(ellipse,#3bdc9960,transparent 65%); filter: blur(1px); box-shadow: 0 0 70px #0cd3ac18; }
.hero-note { bottom: -6px; right: 18px; color: #e4c58c; letter-spacing: .25em; z-index: 2; }
.career-stats { margin-top: 28px; padding-top: 18px; gap: 47px; border-color: #eec78435; }
.career-stats b { color: #f6dba7; font-size: 27px; }
.career-stats span { color: #b0c6bd; }
body #lobby .club-play { position: relative; padding: 30px; border-radius: 12px; border: 1px solid #dab2709c; background: linear-gradient(145deg,#123e36f5,#061e20f5 72%); box-shadow: 0 28px 80px #0008,inset 0 0 0 5px #d8ab4810,inset 0 1px #ffdfa04d; }
body #lobby .club-play::before { content: ""; position: absolute; width: 70px; height: 3px; background: #f6d593; top: -2px; left: calc(50% - 35px); box-shadow: 0 0 22px #ffe1a9; }
.play-heading h2 { color: #fff0d1; font-family: "Songti SC","STSong",serif; font-size: 28px; }
body .lobby-tabs { border-color: #b8935f40; }
body .lobby-tab { color: #b2c6ba; }
body .lobby-tab.active { color: #ffe0a4; background: #b994471a; box-shadow: inset 0 -2px #e9bd74; }
.format-card { min-height: 83px; background: linear-gradient(120deg,#174039,#082a29); border-color: #597a625c; border-radius: 7px; }
.format-card:hover { background: linear-gradient(120deg,#235548,#0b3630); border-color: #d8b46e; transform: translateY(-1px); }
.format-card.selected { background: linear-gradient(110deg,#405c35,#183f31 70%); border-color: #efd391; box-shadow: inset 3px 0 #ffe0a1,0 0 24px #d4b76115; }
.format-icon { width: 41px; height: 44px; display: grid; place-items: center; border: 1px solid #dcb56b70; border-radius: 7px; background: linear-gradient(140deg,#b7a05c40,#081f1b); text-shadow: 0 2px 6px #000; color: #ffe3a9; font-size: 31px; flex: 0 0 41px; }
.format-card small { color: #bdcbb8; }
.table-options { border-color: #bb955b40; }
body #startBtn { height: 54px; border-radius: 7px; border-color: #ffe6a7; background: linear-gradient(105deg,#c39443,#f7dc99 48%,#d9ad60); box-shadow: 0 5px 0 #745725,0 9px 30px #f3c56325,inset 0 1px #fff2c9; font-size: 16px; }
body #startBtn:hover { filter: brightness(1.1); }
.club-footer { border-color: #d5b16e40; background: linear-gradient(90deg,transparent,#0b282bb3,transparent); }
.club-footer > span small,.rival small { color: #a7c0b6; }
.rival img { width: 48px; height: 48px; border: 2px solid #d4ab68; box-shadow: 0 0 0 3px #82653025,0 5px 14px #0007; }

/* Physical table artwork stays separate from the live cards, seats and controls. */
body .table-bg { background: linear-gradient(0deg,#021318d9,transparent 70%),url("assets/emerald/casino-room.webp") center / cover; }
body .table-oval { width: min(1060px,76vw); height: min(450px,47vh); top: 45%; border: 0; border-radius: 46%; background: none; box-shadow: none; isolation: isolate; }
body .table-oval::before { inset: 4% 0; border: 0; background: #03533c; filter: blur(22px); opacity: .3; box-shadow: 0 40px 55px #000; z-index: -1; }
.table-art { position: absolute; inset: -9% -5%; z-index: -1; pointer-events: none; }
.table-three { position: absolute; inset: -9% -5%; z-index: -1; pointer-events: none; visibility: hidden; }
.table-three canvas { display: block; width: 100%; height: 100%; filter: drop-shadow(0 30px 25px #0009); }
.table-oval.is-three .table-three { visibility: visible; }
.table-oval.is-three .table-art { visibility: hidden; }
.table-art img { width: 100%; height: 100%; object-fit: fill; filter: drop-shadow(0 30px 25px #0009); }
body[data-theme="midnight"] .table-art { filter: hue-rotate(55deg); }
body[data-theme="blackgold"] .table-art { filter: saturate(.35) sepia(.35); }
body .table-signature { display: none; }
body .seat-avatar { border-color: #edc681; box-shadow: 0 0 0 3px #684b28,0 0 0 4px #ddba7150,0 8px 20px #0009; }
body .seat.active { background: linear-gradient(#d8af5426,#032b28dd); box-shadow: 0 0 0 1px #ffda8ab0,0 0 40px #f9c86035; }
body .seat.active .seat-avatar { box-shadow: 0 0 0 3px #b89853,0 0 22px #ffdc8d90; }
body .seat-stack { background: linear-gradient(#163e35,#061e20); border-color: #c79e5270; color: #ffe6a9; }
body .seat-style { color: #c8d8bf; text-shadow: 0 1px 5px #000; }
body .seat-cards { min-height: 0; }
body .dealer-log { display: none; } /* Actions are already shown beside each seat. */
body .pot-info { background: linear-gradient(145deg,#032c29e8,#0e4738d9); border-color: #edc98280; box-shadow: 0 5px 20px #00140f77,inset 0 1px #ffeba92a; }
body .pot-label { color: #e2cc9c; }
body .pot-amount { color: #ffe7b6; text-shadow: 0 2px 4px #051f19,0 0 18px #e5b95540; }
body .community-cards .card:not(.back) { box-shadow: 0 5px 0 #9b8862,0 10px 16px #001c16aa; }
body .community-cards .card.back { background: #002f2650; border: 1px solid #e3cb8d65; box-shadow: inset 0 0 0 3px #aeb37912; }
body .community-cards .card.back::before { color: #e4d49960; }
body .session-hud { background: linear-gradient(110deg,#032025ed,#03202599); padding: 14px 18px; width: 355px; border: 1px solid #d0aa5c55; border-radius: 8px; box-shadow: 0 7px 25px #0004; }
.session-goal { color: #adc7b8; }
body .top-bar { border-color: #d3ad6655; background: #032228e8; }
body .chat-panel { z-index: 80; }
body .chat-header { border-bottom-color: #bb9b625c; color: #f4dfb4; }
body .chat-close { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid #c4a66c66; border-radius: 8px; background: #244033; color: #f7e6c3; font-size: 23px; transition: background .15s, border-color .15s; }
body .chat-close:hover { background: #375b47; border-color: #f1d397; }
body .chat-messages:empty { justify-content: center; align-items: center; text-align: center; }
body .chat-messages:empty::before { content: "♠"; display: block; width: 68px; height: 68px; border: 1px solid #bfa26980; border-radius: 50%; color: #e1c88c; font: 38px/68px Georgia,serif; box-shadow: inset 0 0 0 5px #9b814b21,0 0 26px #c6a96b18; }
body .chat-messages:empty::after { content: "牌桌还很安静\A发句话或点个表情"; white-space: pre-line; color: #c4d2ba; font: 12px/1.8 system-ui; letter-spacing: .06em; margin-top: 16px; }
body .chat-input-row { padding-bottom: max(.6rem,env(safe-area-inset-bottom)); }
body .bet-history-panel { background: #062b2dd9; border-color: #d6b87533; }
body .action-bar { background: linear-gradient(145deg,#174137f5,#041e22fa); border-color: #e3b46b8c; box-shadow: 0 14px 50px #0009,inset 0 0 0 4px #d6b16d0a; }
body .decision-context { color: #fff0c8; }
body .bet-console .circle-call,body .bet-console .circle-call:hover:not(:disabled) { background: linear-gradient(#227555,#0a4938) !important; border-color: #62bb8580; box-shadow: inset 0 1px #b2ffd247,0 3px 0 #032c22 !important; }
body .bet-console .circle-raise,body .bet-console .circle-raise:hover:not(:disabled) { background: linear-gradient(115deg,#d4a351,#f4d79a,#c99445) !important; border-color: #ffe5ab; color: #29321d; box-shadow: inset 0 1px #fff1bd,0 3px 0 #735020 !important; }
body .bet-console .circle-allin,body .bet-console .circle-allin:hover:not(:disabled) { background: linear-gradient(#703d35,#412528) !important; color: #ffe0c2; border-color: #ca8c6980; }
body .hand-result-card { background: linear-gradient(140deg,#194b3e,#041f25); border-color: #dfb866; box-shadow: 0 0 80px #ebbc5120,0 30px 90px #000c; }
body .result-moment-art.is-winner { display: block; position: relative; inset: auto; margin: -20px auto -10px; width: 140px; height: 140px; flex: 0 0 auto; translate: none; transform: none; background: url("assets/emerald/royal-aces.webp") center / contain no-repeat; filter: drop-shadow(0 0 24px #d3b65345); animation: crown-reveal .7s cubic-bezier(.2,.8,.2,1) both; }
body .hand-result-card .hand-result-header { padding: 12px 0; background: none; }
body .hand-result-card #handResultBody { padding: 10px 0; min-height: 80px; }
body .hand-result-card #handResultBody:focus-visible { outline: 2px solid #e5c98e; outline-offset: -2px; }
body .hand-result-card #handResultBody::-webkit-scrollbar { width: 5px; }
body .hand-result-card #handResultBody::-webkit-scrollbar-thumb { border-radius: 4px; background: #c3a664; }
body .hand-result-card #handResultBody { scrollbar-width: thin; scrollbar-color: #c3a664 #092820; }
.result-scroll-cue { flex: 0 0 auto; padding: 5px 8px 4px; text-align: center; font: 10px/1.4 system-ui; letter-spacing: .12em; color: #edcf95; background: linear-gradient(#123d31,#082820); border-top: 1px solid #b89d615c; }
.result-scroll-cue::before { content: "⌄"; display: inline-block; margin-right: 6px; font: 16px/10px Georgia,serif; vertical-align: -1px; }
body .hand-result-card #nextHandBtn { margin: 10px 0 0; width: 100%; border-radius: 7px; }
@keyframes royal-float { 0%,100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(1deg); } }
@keyframes crown-reveal { from { opacity: 0; transform: scale(.65) translateY(12px); } to { opacity: 1; transform: scale(1) translateY(0); } }
@media (max-width: 1150px) and (min-width: 761px) {
  .club-lobby { padding: 24px 30px; } .lobby-layout { gap: 35px; }
  .hero-scene img { width: 360px; height: 360px; } .hero-scene { height: 290px; }
  body .table-oval { width: 82vw; }
}
@media (max-height: 780px) and (min-width: 761px) {
  .club-lobby { padding-top: 18px; } .lobby-layout { padding: 22px 0; }
  .club-intro h1 { font-size: 41px; } .hero-scene { height: 235px; } .hero-scene img { width: 330px; height: 330px; }
  .career-stats { margin-top: 22px; padding-top: 12px; }
  body .table-oval { height: 39vh; top: 44%; }
  body .table-signature { top: 17%; }
}
@media (max-width: 760px) {
  body #lobby { background-attachment: scroll; background-position: center top; background-size: auto 900px; background-color: #03151b; background-repeat: no-repeat; }
  .club-lobby { padding: 18px 18px 25px; } .club-header { padding-bottom: 14px; }
  .career { width: 145px; padding: 8px; } .club-brand { font-size: 12px; }
  .lobby-layout { grid-template-columns: 1fr; gap: 24px; padding: 24px 0; }
  .club-intro { min-height: 286px; }
  .club-intro .eyebrow { font-size: 8px; }
  .club-intro h1 { margin: 18px 0 12px; font-size: 33px; line-height: 1.3; max-width: 270px; }
  .intro-copy { font-size: 10px; max-width: 160px; }
  .hero-scene { width: 245px; height: 245px; right: -22px; bottom: -32px; margin: 0; opacity: 1; z-index: 1; }
  .hero-scene img { width: 255px; height: 255px; }
  .hero-orbit { width: 220px; height: 90px; bottom: 12px; }
  body #lobby .club-play { padding: 24px 18px; }
  .play-heading h2 { font-size: 25px; }
  .format-card { padding: 14px 11px; gap: 12px; }
  .format-icon { flex-basis: 34px; width: 34px; height: 39px; font-size: 27px; }
  .format-card small { font-size: 9px; }
  .rival img { width: 34px; height: 34px; }
  body .session-hud { padding: 9px 12px; top: 10px; left: 10px; width: calc(100% - 20px); }
  .session-info { margin-top: 8px; } .session-goal { margin-top: 5px; }
  body .table-oval { width: 81vw; height: 43vh; top: 43%; }
  .table-art { inset: -11% -4%; }
  .table-three { inset: -11% -4%; }
  body .table-oval::before { inset: 0; }
  body .seat-avatar { box-shadow: 0 0 0 2px #8f6a35,0 5px 12px #0008; }
  body .result-moment-art.is-winner { width: 105px; height: 105px; margin-top: -12px; }
  body .result-row { flex-wrap: wrap; gap: 8px; flex: 0 0 auto; }
  body .result-info { display: flex; flex-direction: row; align-items: center; gap: 10px; width: 100%; }
  body .result-info .result-delta { margin-left: auto; font-size: 17px; }
  body .result-cards-wrap { width: 100%; gap: 7px; overflow-x: auto; }
  body .result-holes,body .result-best { gap: 4px; }
  body .result-cards-wrap .card { width: 28px; height: 40px; }
  body .result-cards-wrap .card .corner-rank { font-size: 11px; }
  body .result-cards-wrap .card .corner-suit { font-size: 9px; }
  body .result-cards-wrap .card .main-suit { font-size: 17px; }
  body .result-board { gap: 8px; padding: 8px; }
  body .result-board-cards { gap: 4px; }
  body .result-board-cards .card { width: 38px; height: 54px; }
}
@media (max-width: 760px) and (max-height: 700px) and (orientation: portrait) {
  body .table-oval { top: 280px; height: 300px; }
}
@media (max-height: 560px) and (orientation: landscape) {
  body .table-oval { top: 210px; height: 215px; width: 70vw; }
  .table-art { inset: -9% -5%; }
  .table-three { inset: -9% -5%; }
  body .table-signature { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scene img,body .result-moment-art.is-winner { animation: none; }
  .format-card:hover { transform: none; }
}

/* Betting desk: generated leather/brass skin with live, accessible controls. */
body #actionBar {
  width: min(940px,90vw); padding: 20px 28px 23px; gap: 24px;
  border: 0; border-radius: 21px;
  background: url("assets/emerald/betting-tray.webp") center / 100% 100% no-repeat;
  box-shadow: 0 18px 45px #0009,0 0 0 1px #e6c57e35; bottom: 14px;
}
#actionBar .decision-context {
  top: -14px; left: 28px; right: auto; max-width: calc(100% - 56px);
  padding: 5px 13px; border: 1px solid #b391527a; border-radius: 5px;
  background: linear-gradient(#12382b,#08251f); color: #f7deb0;
  font-size: 10px; line-height: 1.5; box-shadow: 0 3px 12px #0008;
}
#actionBar .decision-context::before { content: ""; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #cbedac; box-shadow: 0 0 8px #c4ffa2; margin-right: 8px; vertical-align: 1px; }
#actionBar .hud-top { width: 164px; min-width: 164px; padding-right: 23px; border-right: 1px solid #d6b36f40; gap: 14px; }
.hand-panel-title { font-size: 12px; letter-spacing: .12em; color: #edcf94; }
.hand-panel-title > span { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-right: 6px; font: 22px Georgia,serif; color: #f7d787; vertical-align: middle; }
.hand-panel-title small { display: block; margin: 5px 0 0 33px; font: 7px system-ui; letter-spacing: .24em; color: #98ac91; }
#actionBar .hand-hint { text-align: left; color: #fff0cc; font-size: 12px; line-height: 1.6; }
#actionBar .equity-label { font-size: 9px; color: #b5c9ad; }
#actionBar .equity-bar { height: 5px; background: #02140e; border: 1px solid #75835b50; box-shadow: 0 1px #eddaa111; }
#actionBar .equity-fill { box-shadow: 0 0 9px currentColor; }
#actionBar .bet-console { grid-template-columns: 1fr 156px; gap: 9px 14px; }
#actionBar .bet-console .raise-presets-circle { height: 36px; gap: 7px; }
#actionBar .bet-console .chip-preset {
  position: relative; height: 36px; padding: 0 5px 0 20px;
  background: linear-gradient(180deg,#355342,#153326 48%,#0b281d 49%,#173729) !important;
  border: 1px solid #b8a46a78; border-bottom-color: #5e5236; border-radius: 6px; color: #ecdfbb;
  font-size: 11px; font-weight: 650; box-shadow: inset 0 1px #f1e1b743,inset 0 0 0 2px #00191132,0 2px 0 #010d09;
  transition: color .15s, border-color .15s, box-shadow .15s, transform .15s;
}
#actionBar .bet-console .chip-preset::before { content: ""; display: block; position: absolute; inset: auto; left: 7px; top: 10px; width: 12px; height: 12px; border-radius: 50%; border: 2px dashed #d3bb7c; background: radial-gradient(circle,#5b8966 0 47%,#255239 49%); box-shadow: 0 0 0 1px #b99b6140,0 2px 2px #0006; }
#actionBar .bet-console .chip-preset:hover { border-color: #edcb89; color: #ffe5ad; transform: translateY(-1px); }
#actionBar .bet-console .chip-preset:active { transform: translateY(1px); box-shadow: inset 0 2px 5px #0008; }
#actionBar .bet-console .chip-preset[aria-pressed="true"] { border-color: #f4d792; color: #fff5d2; background: linear-gradient(#8a7546,#504b2e 50%,#353d29 51%,#5b5935) !important; box-shadow: inset 0 1px #fff2bc82,inset 0 0 0 1px #f9d17b63,0 0 14px #f2c45e40; }
#actionBar .bet-console .chip-preset[aria-pressed="true"]::before { border-color: #ffdc83; background: #af8039; }
#actionBar .raise-slider { height: 26px; }
#actionBar .raise-slider input[type="range"] { height: 26px; margin: 0; --raise-progress: 0%; }
#actionBar .raise-slider input[type="range"]::-webkit-slider-runnable-track { height: 7px; border: 1px solid #90815880; border-radius: 10px; background: linear-gradient(90deg,#b88636 0%,#efd79a var(--raise-progress),#041910 var(--raise-progress),#041910 100%); box-shadow: inset 0 2px 4px #000a,0 1px #e5d49b22; }
#actionBar .raise-slider input[type="range"]::-webkit-slider-thumb { width: 23px; height: 23px; margin-top: -9px; border: 2px solid #f2d69c; border-radius: 50%; background: radial-gradient(circle at 35% 25%,#fff5bd,#b1873b 68%,#5a3e16); box-shadow: 0 3px 5px #0008,inset 0 0 0 3px #caa961,0 0 12px #e9c57e30; }
#actionBar .raise-slider input[type="range"]::-moz-range-track { height: 7px; border: 1px solid #90815880; border-radius: 10px; background: #041910; }
#actionBar .raise-slider input[type="range"]::-moz-range-progress { height: 7px; border-radius: 10px; background: #d9b76c; }
#actionBar .raise-slider input[type="range"]::-moz-range-thumb { width: 20px; height: 20px; border: 2px solid #f2d69c; border-radius: 50%; background: radial-gradient(circle at 35% 25%,#fff5bd,#b1873b); box-shadow: 0 3px 5px #0008; }
#actionBar .raise-value-badge { padding: 5px 11px; color: #ffe8b4; font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; border-radius: 5px; border: 1px solid #e0be7780; background: linear-gradient(#143829,#041e16); box-shadow: inset 0 1px #ffe6a225,inset 0 2px 5px #0005,0 0 10px #e9c57e20; }
#actionBar .bet-console .action-buttons-circle { height: 58px; gap: 10px; grid-template-columns: .85fr 1.15fr 1.15fr .85fr; }
#actionBar .bet-console .circle-btn,
#actionBar .bet-console .circle-btn:hover:not(:disabled),
#actionBar .bet-console .circle-btn:active:not(:disabled) {
  position: relative; height: 58px; overflow: visible; border-radius: 8px;
  border: 1px solid #928266; border-bottom-width: 3px;
  background: linear-gradient(175deg,#526256,#253d30 48%,#172b22 50%,#293f2d) !important;
  color: #e0ddbf; box-shadow: inset 0 1px #ffffd64a,inset 0 0 0 3px #f2e0a60b,0 4px 0 #09170f,0 5px 8px #0007 !important;
  text-shadow: 0 1px 2px #0008; padding: 6px 8px; gap: 3px;
  transition: filter .14s, transform .14s, box-shadow .14s;
}
#actionBar .bet-console .circle-btn::after { content: ""; display: block; position: absolute; inset: 3px; border: 1px solid #f4e6b328; border-radius: 5px; pointer-events: none; background: none; }
#actionBar .bet-console .circle-btn::before { content: ""; display: block; position: absolute; left: 7px; right: 7px; top: 3px; height: 42%; border-radius: 5px 5px 45% 45%; background: linear-gradient(#fff7d431,transparent); pointer-events: none; }
#actionBar .bet-console .circle-call,#actionBar .bet-console .circle-call:hover:not(:disabled) { background: linear-gradient(175deg,#5eac80,#206447 47%,#124b36 50%,#2a704a) !important; border-color: #c2ca87; color: #fffbd9; }
#actionBar .bet-console .circle-raise,#actionBar .bet-console .circle-raise:hover:not(:disabled) { background: linear-gradient(175deg,#fff0bc,#dfba65 47%,#ba8e3f 50%,#e8c879) !important; border-color: #ffe8ad; color: #35280e; text-shadow: 0 1px #fff3c48c; box-shadow: inset 0 1px #fffde3,inset 0 0 0 3px #77521d25,0 4px 0 #614017,0 5px 15px #f5c96d25 !important; }
#actionBar .bet-console .circle-allin,#actionBar .bet-console .circle-allin:hover:not(:disabled) { background: linear-gradient(175deg,#ae6455,#713d36 47%,#542d2c 50%,#834838) !important; border-color: #c69a76; color: #ffe9cb; }
#actionBar .bet-console .circle-btn:hover:not(:disabled) { filter: brightness(1.16); transform: translateY(-1px); }
#actionBar .bet-console .circle-btn:active:not(:disabled) { transform: translateY(3px); filter: brightness(.96); box-shadow: inset 0 2px 6px #0005,0 1px 0 #09170f !important; }
#actionBar .bet-console .circle-btn:disabled { opacity: .35; filter: saturate(.35); cursor: not-allowed; }
#actionBar .bet-console :is(.chip-preset,.circle-btn,input[type="range"]):focus-visible { outline: 2px solid #ffebb0; outline-offset: 3px; }
#actionBar .circle-btn .circle-btn-label { font-size: 16px; font-weight: 750; letter-spacing: .12em; }
#actionBar .circle-btn .circle-btn-amount { position: static; inset: auto; transform: none; translate: none; width: 100%; max-width: none; margin: 0; padding: 0; text-align: center; white-space: nowrap; font: 600 12px/1.1 system-ui; font-variant-numeric: tabular-nums; letter-spacing: .04em; opacity: .86; }
#actionBar .circle-btn kbd { position: absolute; right: 7px; top: 6px; border: 1px solid currentColor; border-radius: 3px; opacity: .42; padding: 0 3px; font: 8px/13px system-ui; }
body .table-oval { top: 43%; }
body .pre-action-bar { background: linear-gradient(#193e2d,#082218); border-color: #b6985b; box-shadow: inset 0 0 0 3px #dfc0740e,0 5px 20px #0007; }
body .pre-pill { background: linear-gradient(#3c573a,#203c28); border-color: #bcab735c; color: #ede1b5; }
@media (max-height: 780px) and (min-width: 761px) {
  body .table-oval { top: 42%; }
  body #actionBar { bottom: 10px; padding-top: 16px; padding-bottom: 18px; }
}
@media (max-width: 760px) {
  body #actionBar { width: calc(100% - 14px); padding: 19px 15px 21px; gap: 10px; border-radius: 17px; bottom: max(8px,env(safe-area-inset-bottom)); }
  #actionBar .decision-context { left: 14px; max-width: calc(100% - 28px); top: -19px; padding: 4px 8px; font-size: 8px; }
  #actionBar .decision-context::before { margin-right: 5px; width: 4px; height: 4px; }
  #actionBar .hud-top { width: 100%; min-width: 0; padding: 0 0 7px; border-right: 0; border-bottom: 1px solid #ddc38725; }
  #actionBar .hand-panel-title { display: none; }
  #actionBar .hand-hint { font-size: 10px; }
  #actionBar .equity-label { font-size: 8px; }
  #actionBar .bet-console { grid-template-columns: 1fr 128px; gap: 9px 9px; }
  #actionBar .bet-console .raise-presets-circle { height: 34px; gap: 5px; }
  #actionBar .bet-console .chip-preset { height: 34px; padding: 0 2px; font-size: 10px; }
  #actionBar .bet-console .chip-preset::before { display: none; }
  #actionBar .raise-value-badge { font-size: 12px; padding: 5px 6px; }
  #actionBar .bet-console .action-buttons-circle { height: 56px; gap: 7px; grid-template-columns: .9fr 1.1fr 1.1fr .9fr; }
  #actionBar .bet-console .circle-btn,#actionBar .bet-console .circle-btn:hover:not(:disabled),#actionBar .bet-console .circle-btn:active:not(:disabled) { height: 56px; padding: 5px 3px; }
  #actionBar .circle-btn .circle-btn-label { font-size: 15px; }
  #actionBar .circle-btn .circle-btn-amount { font-size: 11px; }
  #actionBar .circle-btn kbd { display: none; }
  body .table-oval { top: 40%; height: 40vh; }
  body .seat.seat-north { transform: translate(-50%,-50%); }
  body .top-bar { position: absolute; bottom: 232px; }
}
@media (max-width: 760px) and (max-height: 700px) and (orientation: portrait) {
  body:has(#table:not([style*="display: none"])) #app { height: auto; min-height: 760px; overflow: visible; }
  body .table-oval { top: 264px; height: 290px; }
}
@media (max-width: 360px) and (max-height: 740px) and (orientation: portrait) {
  body .session-hud { padding: 8px 10px; }
  body .session-hud .session-goal,body .session-hud .session-track { display: none; }
  body .session-hud .session-info { margin-top: 5px; gap: 10px; font-size: 9px; }
  body .session-hud .session-brand { font-size: 10px; gap: 8px; }
  body .session-hud .session-brand span { font-size: 8px; padding-left: 8px; }
}
@media (max-height: 560px) and (orientation: landscape) {
  body:has(#table:not([style*="display: none"])) #app { height: auto; min-height: 600px; overflow: visible; }
  body #table { min-height: 600px; }
  body .table-oval { top: 225px; height: 230px; }
  body .top-bar { top: 12px; bottom: auto; }
}
