:root{
  --bg:#050b08;--panel:#0c1712;--panel2:#10231a;--line:rgba(255,255,255,.11);
  --text:#f4f7f5;--muted:#91a49a;--green:#32c98b;--green2:#116c4d;--gold:#e9bf62;
  --danger:#d85656;--blue:#4b80d7;--shadow:0 22px 60px rgba(0,0,0,.36)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#153f2d 0,#07110c 40%,#030705 100%);color:var(--text);font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.glass{background:rgba(10,22,16,.86);border:1px solid var(--line);backdrop-filter:blur(12px);box-shadow:var(--shadow)}
.login-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:min(440px,100%);border-radius:28px;padding:34px;text-align:center}.logo-mark{font-size:58px;color:var(--gold);filter:drop-shadow(0 8px 18px rgba(233,191,98,.3))}.login-card h1{margin:3px 0;font-size:30px;color:var(--gold);letter-spacing:.06em}.login-card p{color:var(--muted);margin-bottom:24px}.login-card label,.modal-dialog label{display:block;text-align:left;color:#c9d6cf;font-size:13px;margin:12px 0 6px}.login-card input,.modal-dialog input,.modal-dialog select,.modal-dialog textarea,#chatInput{width:100%;border:1px solid var(--line);background:#09140f;color:white;border-radius:12px;padding:12px;outline:none}.login-card input:focus,.modal-dialog input:focus,#chatInput:focus{border-color:var(--green)}.login-card small{display:block;color:var(--muted);margin-top:16px;line-height:1.5}.avatar-picker{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:10px 0 18px}.avatar-option{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:#10271d;font-size:24px}.avatar-option.selected{outline:3px solid var(--gold);transform:translateY(-2px)}
.primary,.secondary,.danger,.success,.gold,.icon-btn,.text-btn{border:0;border-radius:12px;padding:10px 16px;font-weight:800;color:white}.primary{background:linear-gradient(135deg,#22a970,#158052)}.secondary{background:#24382f;border:1px solid var(--line)}.danger{background:#8c3c3c}.success{background:#237457}.gold{background:#966b25}.wide{width:100%;padding:13px}.icon-btn{background:#1a2c24;padding:8px 10px}.text-btn{background:transparent;color:#d99;margin-top:auto}.app{min-height:100vh;padding:12px}.topbar{height:66px;border-radius:18px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:8px;z-index:20}.brand{border:0;background:transparent;color:var(--gold);font-weight:950;font-size:19px;letter-spacing:.04em}.brand span{font-size:25px}.top-user{display:flex;align-items:center;gap:10px}.mini-avatar{font-size:26px}.chip-balance{background:#13271e;border-radius:999px;padding:7px 12px;color:var(--gold)}.connection{font-size:11px;border-radius:999px;padding:5px 8px;background:#25342e;color:#bbc9c2}.connection.online{background:#163d2c;color:#72e1ad}.connection.offline{background:#432828;color:#f1a0a0}
.lobby-layout{display:grid;grid-template-columns:190px 1fr;gap:14px;margin-top:14px}.sidebar{border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:6px;min-height:calc(100vh - 94px);position:sticky;top:88px}.nav-btn{border:0;background:transparent;color:#adbbb4;text-align:left;border-radius:12px;padding:12px;text-decoration:none;font-weight:700}.nav-btn:hover,.nav-btn.active{background:#173327;color:white}.admin-link{margin-top:auto}.content-area{min-width:0}.tab-panel{display:none}.tab-panel.active{display:block}.hero{border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:center}.eyebrow{font-size:11px;color:var(--green);letter-spacing:.16em;font-weight:900}.hero h2,.section-head h2,.season-banner h2{font-size:28px;margin:7px 0}.hero p{color:var(--muted);line-height:1.65}.quick-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quick-card{border:1px solid var(--line);border-radius:16px;background:linear-gradient(135deg,#17382a,#0d231a);color:white;padding:19px;text-align:left;display:flex;flex-direction:column;gap:6px}.quick-card:hover{transform:translateY(-2px);border-color:#47bd8d}.quick-card span{color:var(--gold)}.quick-card.rush{background:linear-gradient(135deg,#3e2c13,#1a1710)}.section-head{display:flex;justify-content:space-between;align-items:center;margin:25px 4px 12px}.section-head h2{margin:4px 0}.section-head>span{color:var(--muted);font-size:13px}.room-grid,.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.room-card,.feature-card,.mission-card,.shop-card,.guild-card,.replay-item{border:1px solid var(--line);background:linear-gradient(145deg,rgba(16,37,27,.95),rgba(8,19,14,.95));border-radius:17px;padding:17px;box-shadow:0 12px 28px rgba(0,0,0,.2)}.room-card h3,.feature-card h3,.shop-card h3{margin:0 0 7px}.room-card .room-meta,.feature-card p,.shop-card p,.guild-card p{color:var(--muted);font-size:13px;line-height:1.5}.room-counts{display:flex;gap:7px;margin:12px 0}.pill,.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;background:#20372d;color:#c8d6cf}.pill.bot{background:#21364e;color:#b8d1fa}.room-actions{display:flex;gap:8px}.room-actions button{flex:1}.table-card{border-radius:18px;overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left}th{color:var(--muted);font-size:12px}.rank-player{display:flex;align-items:center;gap:9px}.season-banner{border-radius:22px;padding:25px}.xp-track,.mission-progress{height:8px;border-radius:999px;background:#17261f;overflow:hidden}.xp-track i,.mission-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--gold));width:0}.mission-card .mission-top{display:flex;justify-content:space-between;gap:10px}.mission-card strong{color:var(--gold)}.shop-icon{font-size:42px}.info-card{border-radius:17px;padding:18px;margin-bottom:12px}.replay-list{display:flex;flex-direction:column;gap:10px}.replay-item{display:flex;justify-content:space-between;align-items:center}.profile-layout{display:grid;grid-template-columns:320px 1fr;gap:14px}.profile-card,.inventory-card{border-radius:20px;padding:24px}.profile-card{text-align:center}.profile-avatar{font-size:88px}.skin-picker{display:flex;flex-wrap:wrap;gap:10px}.skin-option{width:130px;height:70px;border:3px solid transparent;border-radius:14px;color:white;font-weight:800}.skin-option.selected{border-color:var(--gold)}.skin-classic,.skin-option[data-skin=classic]{--felt:#0a6545;--felt2:#073c2b}.skin-midnight,.skin-option[data-skin=midnight]{--felt:#17265a;--felt2:#0a1234}.skin-crimson,.skin-option[data-skin=crimson]{--felt:#681f2b;--felt2:#3b1019}
.game-view{margin-top:14px}.game-header{border-radius:16px;padding:10px 14px;display:flex;justify-content:space-between;align-items:center}.game-header>div{display:flex;gap:10px;align-items:center}.game-header span{color:var(--muted)}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;margin-top:12px}.poker-stage{min-width:0}.poker-table{--felt:#0a6545;--felt2:#073c2b;position:relative;min-height:680px;border-radius:46% / 25%;background:radial-gradient(ellipse at center,rgba(255,255,255,.08),transparent 50%),linear-gradient(145deg,var(--felt),var(--felt2));border:13px solid #3d2a18;box-shadow:inset 0 0 0 5px #8c6b38,inset 0 0 55px rgba(0,0,0,.45),0 28px 60px rgba(0,0,0,.45);overflow:hidden}.poker-table:before{content:"";position:absolute;inset:18px;border:1px dashed rgba(255,255,255,.16);border-radius:46% / 25%}.table-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:62%;z-index:2}.phase-label{font-size:11px;letter-spacing:.16em;color:#cde9dc}.pot-label{font-size:21px;color:var(--gold);font-weight:950;margin-top:5px}.board-cards{display:flex;justify-content:center;gap:7px;min-height:100px;margin:13px 0}.game-message{font-weight:750;min-height:28px}.playing-card{width:65px;height:92px;border-radius:9px;background:linear-gradient(145deg,#fff,#e4e4e4);color:#141414;display:flex;flex-direction:column;justify-content:space-between;padding:6px 8px;font-size:21px;font-weight:950;box-shadow:0 9px 18px rgba(0,0,0,.35);animation:dealCard .35s ease both}.playing-card.red{color:#c83f3f}.playing-card.back{background:repeating-linear-gradient(45deg,#143e67 0 7px,#1e5587 7px 14px);border:4px solid #e7e4dc}.playing-card.small{width:42px;height:59px;font-size:14px;padding:4px 5px}.seat{position:absolute;width:170px;transform:translate(-50%,-50%);background:rgba(6,17,12,.91);border:1px solid var(--line);border-radius:15px;padding:9px;z-index:4;box-shadow:0 10px 22px rgba(0,0,0,.35);transition:.22s}.seat.active{outline:3px solid var(--gold);transform:translate(-50%,-50%) scale(1.05)}.seat.folded{opacity:.47}.seat.disconnected{border-color:#c56a6a}.seat0{left:50%;top:89%}.seat1{left:19%;top:74%}.seat2{left:16%;top:29%}.seat3{left:50%;top:11%}.seat4{left:84%;top:29%}.seat5{left:81%;top:74%}.seat-head{display:flex;align-items:center;justify-content:space-between;gap:5px}.seat-user{display:flex;align-items:center;gap:6px;min-width:0}.seat-avatar{font-size:23px}.seat-name{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-badges{display:flex;gap:3px}.seat-badge{font-size:9px;border-radius:999px;padding:3px 5px;background:#365067}.seat-badge.dealer{background:var(--gold);color:#211809}.seat-stack{color:#65dba6;font-size:12px;font-weight:800}.hole-cards{display:flex;justify-content:center;gap:4px;min-height:60px;margin:5px}.seat-action{height:16px;font-size:11px;color:#f0d88f;text-align:center}.action-panel{border-radius:17px;padding:12px 14px;margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.raise-control label{font-size:12px;color:var(--muted)}.raise-control input{width:100%}.bet-presets{display:flex;gap:5px;margin-top:5px}.bet-presets button{border:0;border-radius:7px;padding:5px 7px;background:#21352c;color:#cbd6d0;font-size:10px}.action-buttons{display:flex;gap:8px}.action-buttons button{min-width:92px;padding:13px}.action-buttons button:disabled,.bet-presets button:disabled{opacity:.35;cursor:not-allowed}.game-side{border-radius:17px;padding:10px;display:flex;flex-direction:column;min-height:680px}.side-tabs{display:flex;gap:5px}.side-tabs button{flex:1;border:0;border-radius:9px;background:#14251d;color:#84978e;padding:9px}.side-tabs button.active{background:#244335;color:white}.side-panel{display:none;flex:1;min-height:0}.side-panel.active{display:flex;flex-direction:column}.scroll-list{height:510px;overflow:auto;padding:7px}.chat-row,.log-row{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px}.chat-row b{color:var(--gold)}.emoji-bar{display:flex;gap:6px;padding:6px 0}.emoji-bar button{border:0;background:#1b3026;border-radius:8px;padding:5px;font-size:18px}#chatForm{display:flex;gap:6px}#chatForm button{border:0;border-radius:9px;background:var(--green2);color:white}.fx-layer,.emoji-layer{position:absolute;inset:0;pointer-events:none;z-index:10}.flying-chip{position:absolute;left:50%;top:50%;font-size:28px;animation:chipFly .7s ease-out both}.floating-emoji{position:absolute;left:50%;top:58%;font-size:44px;animation:emojiFloat 2.2s ease-out both}.winner-glow{animation:winnerPulse 1s ease-in-out 3}
.modal-dialog{width:min(480px,calc(100% - 24px));border:1px solid var(--line);border-radius:20px;background:#102018;color:white;padding:22px;box-shadow:var(--shadow)}.modal-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(4px)}.modal-dialog h2{margin-top:0;color:var(--gold)}.modal-dialog textarea{min-height:100px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.result-dialog{text-align:center}.result-dialog .winner-title{font-size:30px;color:var(--gold)}.replay-dialog{width:min(760px,calc(100% - 24px))}.replay-board{display:flex;gap:5px;justify-content:center}.toast-layer{position:fixed;right:18px;bottom:18px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{min-width:240px;max-width:380px;background:#15271f;border:1px solid var(--line);border-radius:12px;padding:11px 14px;box-shadow:var(--shadow);animation:toastIn .25s ease}.toast.error{border-color:#8a3c3c}.toast.success{border-color:#2e8c63}
@keyframes dealCard{from{opacity:0;transform:translateY(-30px) scale(.8)}to{opacity:1;transform:none}}@keyframes chipFly{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(-50px,-160px) scale(.5)}}@keyframes emojiFloat{0%{opacity:0;transform:translateY(15px) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translateY(-170px) scale(1.3)}}@keyframes winnerPulse{50%{filter:drop-shadow(0 0 20px var(--gold));transform:translate(-50%,-50%) scale(1.07)}}@keyframes toastIn{from{opacity:0;transform:translateX(25px)}to{opacity:1;transform:none}}
@media(max-width:1050px){.room-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:1fr}.game-side{min-height:360px}.scroll-list{height:250px}.hero{grid-template-columns:1fr}.sidebar{width:76px}.sidebar .nav-btn span{display:none}.lobby-layout{grid-template-columns:76px 1fr}}
@media(max-width:700px){.app{padding:6px}.topbar{height:58px}.brand{font-size:14px}.connection,.top-user strong{display:none}.lobby-layout{display:block;margin-top:8px}.sidebar{position:fixed;left:6px;right:6px;bottom:5px;top:auto;width:auto;min-height:auto;z-index:30;flex-direction:row;overflow-x:auto;padding:6px}.sidebar .nav-btn{min-width:48px;text-align:center;padding:8px}.sidebar .nav-btn span{display:none}.admin-link{margin:0}.content-area{padding-bottom:75px}.hero{padding:18px}.hero h2{font-size:23px}.quick-grid{grid-template-columns:1fr 1fr}.room-grid,.card-grid{grid-template-columns:1fr}.profile-layout{grid-template-columns:1fr}.top-user{gap:6px}.poker-table{min-height:650px;border-radius:28px;border-width:8px}.seat{width:120px;padding:6px}.seat0{top:90%}.seat1{left:21%;top:75%}.seat2{left:21%;top:25%}.seat3{top:10%}.seat4{left:79%;top:25%}.seat5{left:79%;top:75%}.table-center{width:62%}.playing-card{width:43px;height:62px;font-size:15px;padding:4px}.playing-card.small{width:32px;height:45px;font-size:11px}.seat-avatar{font-size:17px}.seat-name{font-size:11px}.hole-cards{min-height:46px}.action-panel{grid-template-columns:1fr}.action-buttons{display:grid;grid-template-columns:repeat(3,1fr)}.action-buttons button{min-width:0;padding:11px 6px}.game-header{font-size:12px}.game-layout{margin-top:7px}.game-side{min-height:330px}.form-row{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:600px){.topbar{position:relative;top:0}.poker-table{min-height:520px}.game-layout{grid-template-columns:1fr 260px}.game-side{min-height:520px}.scroll-list{height:350px}.seat0{top:88%}.seat3{top:12%}}

/* Operator contact widget */
.contact-widget{position:fixed;left:18px;bottom:18px;z-index:120}.contact-toggle{border:0;border-radius:999px;background:#2587d9;color:#fff;padding:11px 16px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.38);cursor:pointer}.contact-panel{position:absolute;left:0;bottom:52px;width:min(330px,calc(100vw - 28px));background:#10231b;border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:17px;box-shadow:0 20px 55px rgba(0,0,0,.5)}.contact-panel[hidden]{display:none}.contact-panel strong{display:block;color:#eac873;font-size:16px;padding-right:25px}.contact-panel p{margin:8px 0;color:#b9c9c1;font-size:13px;line-height:1.5}.contact-panel code{display:block;border-radius:10px;background:#091610;padding:10px 12px;color:#7eddb2;font-size:18px;font-weight:900}.contact-close{position:absolute;right:9px;top:8px;border:0;background:transparent;color:#c9d3ce;font-size:23px;cursor:pointer}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}.contact-actions a,.contact-actions button{display:grid;place-items:center;border:0;border-radius:9px;padding:9px;text-decoration:none;font-weight:850;cursor:pointer}.contact-actions a{background:#2587d9;color:#fff}.contact-actions button{background:#233a30;color:#fff}@media(max-width:700px){.contact-widget{left:10px;bottom:76px}.contact-panel{bottom:50px}}

/* v1.3 multi-table, rewards, guild, profile and emoticon enhancements */
.topbar{gap:14px}.my-room-strip{display:flex;align-items:center;gap:8px;min-width:0;flex:1;margin:0 8px}.strip-title{font-size:10px;color:var(--muted);font-weight:900;white-space:nowrap}.my-room-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0}.my-room-tabs::-webkit-scrollbar{display:none}.empty-room-tab{font-size:11px;color:#6f8379;padding:8px}.my-room-tab{position:relative;flex:0 0 auto;min-width:118px;border:1px solid var(--line);border-radius:11px;background:#10231a;color:#c7d4cd;padding:7px 10px;text-align:left}.my-room-tab b{display:block;font-size:11px;max-width:128px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-room-tab span{display:block;font-size:9px;color:var(--muted);margin-top:2px}.my-room-tab.active{border-color:var(--gold);background:#2d2818;color:white}.my-room-tab.my-turn{box-shadow:0 0 0 2px rgba(50,201,139,.5);animation:roomTurnPulse 1.2s ease-in-out infinite}.my-room-tab i{position:absolute;right:5px;top:-7px;background:var(--green);color:#03120c;border-radius:999px;padding:2px 5px;font-size:7px;font-style:normal;font-weight:950}.gold-card{background:linear-gradient(135deg,#523b17,#231b0f)}.room-card.joined{border-color:#7acda8}.room-actions button:disabled{opacity:.55;cursor:default}.ranking-banner{border-radius:22px;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px}.ranking-banner h2{margin:6px 0;color:var(--gold)}.ranking-banner p{color:var(--muted)}.payout-row{display:flex;gap:8px}.payout-row div{min-width:92px;border-radius:14px;background:#17291f;border:1px solid var(--line);padding:13px;text-align:center}.payout-row b,.payout-row span{display:block}.payout-row span{color:var(--gold);font-weight:900;margin-top:5px}.me-row{background:rgba(50,201,139,.09)}.reward-gap{margin-top:38px}.filter-row{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:13px}.filter-row button{border:1px solid var(--line);background:#13271e;color:#9eb0a7;border-radius:999px;padding:8px 13px}.filter-row button.active{background:#276447;color:white;border-color:#5acb96}.filter-row.compact{margin:0}.filter-row.compact button{padding:6px 10px;font-size:11px}.emoji-pack-icon{font-size:27px;word-spacing:3px;min-height:48px}.guild-detail{border-radius:20px;padding:20px;min-height:140px}.guild-hero{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.guild-hero h2{margin:5px 0}.guild-hero p{color:var(--muted);max-width:680px;line-height:1.6}.guild-score{min-width:150px;border-radius:16px;background:#0b1912;border:1px solid var(--line);padding:16px;text-align:center}.guild-score b{display:block;color:var(--gold);font-size:25px}.guild-score span{font-size:11px;color:var(--muted)}.guild-notice{display:flex;gap:12px;align-items:center;border-radius:12px;background:#16291f;padding:12px;margin:14px 0}.guild-notice b{color:var(--gold)}.guild-actions{display:flex;gap:7px;flex-wrap:wrap}.guild-editor{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;margin:18px 0;padding:14px;border-radius:14px;background:#0c1b14}.guild-editor label{font-size:11px;color:var(--muted)}.guild-editor textarea{width:100%;min-height:68px;background:#07110c;color:white;border:1px solid var(--line);border-radius:10px;padding:9px;resize:vertical}.guild-columns{display:grid;grid-template-columns:1.3fr 1fr;gap:15px;margin-top:18px}.table-scroll{max-height:330px;overflow:auto}.guild-activity{max-height:330px;overflow:auto;border-radius:12px;background:#09150f;padding:8px}.guild-activity-row{padding:8px;border-bottom:1px solid rgba(255,255,255,.06);font-size:12px;color:#b9c8c0}.guild-mini-stats{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.guild-mini-stats span{border-radius:999px;background:#162b21;padding:5px 8px;font-size:10px;color:#b9c8c0}.profile-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}.profile-stat-grid div{border-radius:12px;background:#0b1912;padding:11px}.profile-stat-grid span{display:block;color:var(--muted);font-size:10px}.profile-stat-grid b{display:block;color:var(--gold);margin-top:4px}.emoji-inventory{display:flex;gap:8px;flex-wrap:wrap}.emoji-inventory span{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:#13271e;font-size:22px}.history-win{border-left:4px solid var(--green)}.history-loss{border-left:4px solid #7d4848}.replay-log{height:280px}.game-header .mini{padding:7px 9px;font-size:10px}.emoji-target-line{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px;padding:7px 0;border-top:1px solid var(--line)}.emoji-target-line b{color:var(--gold)}.emoji-target-line button{margin-left:auto;border:0;border-radius:7px;background:#24382f;color:white;font-size:10px;padding:4px 7px}.seat[data-emoji-target]{cursor:pointer}.seat.emoji-selected{outline:3px solid #5aa9ff!important;box-shadow:0 0 25px rgba(90,169,255,.6)}.emoji-chat{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.emoji-chat span{font-size:25px}.emoji-chat small{color:var(--muted)}.floating-emoji{transform:translate(-50%,-50%)}
@keyframes roomTurnPulse{50%{filter:brightness(1.25)}}
@media(max-width:1150px){.topbar{height:auto;min-height:66px;flex-wrap:wrap;padding:9px 13px}.my-room-strip{order:3;width:100%;flex-basis:100%}.lobby-layout{margin-top:9px}}
@media(max-width:850px){.ranking-banner,.guild-hero{flex-direction:column}.payout-row{width:100%}.payout-row div{flex:1}.guild-columns{grid-template-columns:1fr}.guild-editor{grid-template-columns:1fr}.section-head{align-items:flex-start;gap:9px}.section-head .compact{justify-content:flex-end}}
@media(max-width:700px){.my-room-strip{margin:0}.strip-title{display:none}.my-room-tab{min-width:105px}.ranking-banner{padding:17px}.payout-row{gap:4px}.payout-row div{min-width:0;padding:9px 5px}.guild-detail{padding:14px}.guild-actions button{flex:1 1 40%}.profile-stat-grid{grid-template-columns:1fr 1fr}.replay-item{align-items:flex-start;gap:10px}.replay-item>div:last-child{text-align:right}.game-header>div:nth-child(2){display:none}}


/* v1.4 — 8-seat portrait table and mobile turn controls */
.game-layout{grid-template-columns:minmax(420px,560px) minmax(300px,360px);justify-content:center;align-items:start}
.poker-stage{width:100%;max-width:560px;margin:0 auto}
.poker-table{min-height:820px;width:100%;border-radius:46% / 18%;margin:0 auto}
.poker-table:before{border-radius:46% / 18%}
.table-center{top:48%;width:68%}
.board-cards{gap:5px}
.playing-card{width:56px;height:80px;font-size:18px}
.playing-card.small{width:36px;height:50px;font-size:12px}
.seat{width:142px;padding:7px}
.seat0{left:50%;top:91%}
.seat1{left:18%;top:80%}
.seat2{left:12%;top:61%}
.seat3{left:17%;top:36%}
.seat4{left:50%;top:9%}
.seat5{left:83%;top:36%}
.seat6{left:88%;top:61%}
.seat7{left:82%;top:80%}
.seat-name{font-size:12px}
.seat-avatar{font-size:20px}
.hole-cards{min-height:50px;margin:3px}
.seat-action{font-size:10px}
.seat-badge.bot-label{background:#315f86;color:#eaf7ff}
.room-counts .pill.total{background:#315c45;color:#dffff0;font-weight:900}

.mobile-bet-console{position:sticky;bottom:8px;z-index:60;display:flex;flex-direction:column;gap:8px;padding:10px 12px;background:rgba(7,18,14,.94);backdrop-filter:blur(14px);transition:.2s}
.mobile-bet-console.turn-active{border-color:#65dda7;box-shadow:0 0 0 2px rgba(101,221,167,.25),0 16px 38px rgba(0,0,0,.48)}
.mobile-bet-console.turn-waiting{opacity:.72}
.arc-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0}
.arc-presets button{min-height:43px;border-radius:13px;background:#192d24;border:1px solid rgba(255,255,255,.1);color:#f2f6f3;display:grid;place-items:center;padding:4px}
.arc-presets button b{font-size:14px;line-height:1}
.arc-presets button small{font-size:8px;color:#aebdb5;margin-top:2px}
.compact-raise{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center}
.compact-raise label{white-space:nowrap;color:#d3ddd8}
.compact-raise input{width:100%}
.mobile-action-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;align-items:end;padding:2px 14px}
.action-orb{width:74px;height:74px;min-width:0!important;border-radius:50%!important;padding:0!important;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid rgba(255,255,255,.2)!important;color:white!important;font-weight:900;box-shadow:0 10px 22px rgba(0,0,0,.38)}
.action-orb .orb-icon{font-size:31px;line-height:.75}
.action-orb span:last-child{font-size:10px;margin-top:6px}
.fold-orb{background:#f04444!important}
.raise-orb{background:#26bd5c!important;transform:translateY(-8px)}
.call-orb{background:#e59b26!important}
.action-orb:disabled{filter:grayscale(.75);opacity:.28!important;transform:none}
.action-wait{text-align:center;color:#aebdb5;font-size:11px;min-height:15px}
.turn-active .action-wait{color:#7ee2b1;font-weight:800}
.game-header #gameOccupancy{color:#dff9ec}

@media(max-width:1050px){
  .game-layout{grid-template-columns:minmax(380px,560px);justify-content:center}
  .game-side{min-height:360px}
}
@media(max-width:700px){
  .game-view{margin-top:6px;padding-bottom:8px}
  .game-header{display:grid;grid-template-columns:auto 1fr auto;gap:7px;padding:7px 8px}
  .game-header>div{gap:5px;min-width:0;flex-wrap:wrap}
  .game-header #gameBlinds{font-size:9px}
  .game-header .mini{padding:6px;font-size:9px}
  .game-layout{display:block;margin-top:6px}
  .poker-stage{max-width:100%}
  .poker-table{min-height:760px;border-radius:42% / 15%;border-width:7px}
  .poker-table:before{inset:10px;border-radius:42% / 15%}
  .table-center{top:48%;width:58%}
  .phase-label{font-size:9px}
  .pot-label{font-size:16px}
  .game-message{font-size:11px}
  .board-cards{min-height:66px;margin:8px 0;gap:2px}
  .playing-card{width:39px;height:58px;font-size:14px;padding:3px 4px}
  .playing-card.small{width:27px;height:39px;font-size:9px;padding:2px}
  .seat{width:104px;padding:4px;border-radius:10px}
  .seat0{left:50%;top:92%}
  .seat1{left:20%;top:80%}
  .seat2{left:15%;top:61%}
  .seat3{left:20%;top:35%}
  .seat4{left:50%;top:8%}
  .seat5{left:80%;top:35%}
  .seat6{left:85%;top:61%}
  .seat7{left:80%;top:80%}
  .seat-head{gap:2px}
  .seat-avatar{font-size:15px}
  .seat-name{font-size:9px;max-width:52px}
  .seat-badge{font-size:6px;padding:2px 3px}
  .seat-stack{font-size:9px}
  .hole-cards{min-height:39px;margin:2px}
  .seat-action{height:12px;font-size:8px}
  .mobile-bet-console{bottom:4px;border-radius:16px;padding:7px 8px;margin-top:-2px}
  .arc-presets{gap:3px}
  .arc-presets button{min-height:36px;border-radius:10px}
  .arc-presets button b{font-size:12px}
  .compact-raise{grid-template-columns:100px 1fr;gap:5px}
  .compact-raise label{font-size:9px}
  .mobile-action-buttons{gap:10px;padding:0 6px}
  .action-orb{width:64px;height:64px}
  .action-orb .orb-icon{font-size:27px}
  .raise-orb{transform:translateY(-6px)}
  .game-side{margin-top:8px;min-height:290px}
  .scroll-list{height:210px}
}

/* v1.5 — seating, photo profiles, premium cards, five table skins, animated reactions */
.logout-btn{font-size:11px;padding:8px 10px;background:#342624;color:#ffd7cf;border:1px solid rgba(255,160,140,.22)}
.avatar-photo{display:inline-block;width:1.9em;height:1.9em;object-fit:cover;border-radius:50%;vertical-align:middle;border:2px solid rgba(255,255,255,.25);background:#101a15}
.mini-avatar{display:grid;place-items:center;width:34px;height:34px}.mini-avatar .avatar-photo{width:32px;height:32px}.mini-avatar .avatar-emoji{font-size:26px}
.profile-avatar{width:124px;height:124px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:radial-gradient(circle,#263c32,#0a1510);border:4px solid rgba(232,195,106,.55);box-shadow:0 12px 35px rgba(0,0,0,.35)}
.profile-avatar .avatar-photo{width:100%;height:100%;border:0;border-radius:0}.profile-avatar .avatar-emoji{font-size:82px}.profile-photo-actions{display:flex;justify-content:center;gap:8px;align-items:center}.photo-upload-btn{cursor:pointer;padding:8px 12px}.profile-photo-help{display:block;color:var(--muted);margin:9px auto 0;line-height:1.5}.rank-avatar,.chat-avatar,.target-avatar,.replay-avatar{width:26px;height:26px}.chat-row .avatar-photo{margin-right:4px}.seat-user>.avatar-photo{width:30px;height:30px;flex:0 0 auto}.seat-user>.avatar-emoji{font-size:22px;width:30px;text-align:center}.target-avatar{width:20px;height:20px}

/* five actually distinct table skins */
.skin-classic,.skin-option[data-skin=classic]{--felt:#096b49;--felt2:#043b2b;--rail:#4a2e19;--rail2:#aa7d3f;--table-glow:rgba(36,222,147,.18)}
.skin-midnight,.skin-option[data-skin=midnight]{--felt:#152f69;--felt2:#08142f;--rail:#11192f;--rail2:#6576c4;--table-glow:rgba(84,126,255,.28)}
.skin-crimson,.skin-option[data-skin=crimson]{--felt:#761e34;--felt2:#300914;--rail:#2e1218;--rail2:#d26b76;--table-glow:rgba(255,70,102,.24)}
.skin-ocean,.skin-option[data-skin=ocean]{--felt:#087c86;--felt2:#03363f;--rail:#0b2731;--rail2:#42d5de;--table-glow:rgba(42,229,238,.24)}
.skin-royal,.skin-option[data-skin=royal]{--felt:#3f276c;--felt2:#160b2c;--rail:#27192b;--rail2:#e4b743;--table-glow:rgba(231,190,70,.27)}
.poker-table{border-color:var(--rail,#3d2a18);box-shadow:inset 0 0 0 5px var(--rail2,#8c6b38),inset 0 0 70px rgba(0,0,0,.46),0 0 52px var(--table-glow,rgba(36,222,147,.15)),0 28px 60px rgba(0,0,0,.45)}
.poker-table:after{content:"";position:absolute;inset:7%;border-radius:46% / 18%;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.08),transparent 48%),repeating-radial-gradient(ellipse at center,transparent 0 34px,rgba(255,255,255,.012) 35px 36px);pointer-events:none;z-index:0}
.skin-option{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--felt),var(--felt2));border-color:var(--rail2)!important;box-shadow:inset 0 0 0 4px var(--rail),0 8px 18px rgba(0,0,0,.25)}
.skin-option:after{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,255,255,.25);border-radius:50%}

/* modern card face */
.playing-card{position:relative;display:block;padding:0;border-radius:11px;background:linear-gradient(155deg,#fff 0%,#f7f8fb 58%,#dfe4eb 100%);border:1px solid rgba(255,255,255,.85);box-shadow:0 10px 18px rgba(0,0,0,.40),inset 0 0 0 1px rgba(0,0,0,.08);overflow:hidden;color:#151b23}
.playing-card:before{content:"";position:absolute;inset:3px;border-radius:8px;border:1px solid rgba(20,30,45,.10);pointer-events:none}
.playing-card.red{color:#d2263a}.playing-card.black{color:#111a24}
.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:.86;z-index:2;text-shadow:0 1px 0 white}.card-corner b{font-size:1em;letter-spacing:-.05em}.card-corner span{font-size:.72em;margin-top:3px}.card-corner.top{left:7px;top:7px}.card-corner.bottom{right:7px;bottom:7px;transform:rotate(180deg)}
.card-center-suit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:2.15em;opacity:.92;filter:drop-shadow(0 2px 1px rgba(0,0,0,.13))}
.playing-card.small .card-corner.top{left:4px;top:4px}.playing-card.small .card-corner.bottom{right:4px;bottom:4px}.playing-card.small .card-center-suit{font-size:1.75em}.playing-card.small .card-corner span{margin-top:1px}
.playing-card.back{display:grid;place-items:center;background:linear-gradient(135deg,#07172d,#173c6d 48%,#07172d);border:3px solid #f3e8c8;box-shadow:0 9px 18px rgba(0,0,0,.45),inset 0 0 0 3px #1d5b96,inset 0 0 0 5px rgba(255,255,255,.12)}
.playing-card.back:before{inset:7px;border:1px solid rgba(255,255,255,.28);background:repeating-linear-gradient(45deg,rgba(255,255,255,.08) 0 4px,transparent 4px 8px),repeating-linear-gradient(-45deg,rgba(255,255,255,.06) 0 4px,transparent 4px 8px)}
.card-back-mark{position:relative;z-index:2;color:#f2d585;font-size:1.7em;text-shadow:0 2px 5px #000}

/* explicit seating */
.empty-seat{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px dashed rgba(255,255,255,.25);background:rgba(5,15,11,.58);color:#9eb0a7}.empty-seat-number{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#172a21;color:#d9e7df;font-weight:900}.sit-seat-btn{border:0;border-radius:999px;padding:7px 12px;background:linear-gradient(135deg,#35d98a,#149059);color:white;font-size:10px;font-weight:900;box-shadow:0 7px 15px rgba(0,0,0,.28);cursor:pointer}.sit-seat-btn:hover{filter:brightness(1.15);transform:translateY(-1px)}.sit-seat-btn.replace{position:absolute;left:50%;bottom:-19px;transform:translateX(-50%);white-space:nowrap;background:linear-gradient(135deg,#397dd8,#244f9b);z-index:5}.sit-seat-btn.replace:hover{transform:translateX(-50%) translateY(-1px)}

/* chip transfer */
.flying-chip{position:absolute;left:0;top:0;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-size:0;background:radial-gradient(circle at 35% 30%,#fff8a5 0 8%,#f6cc42 9% 38%,#b87908 39% 52%,#f6d85a 53% 66%,#8e5800 67%);border:2px dashed rgba(255,255,255,.75);box-shadow:0 3px 8px rgba(0,0,0,.45);animation:chipToPot .8s cubic-bezier(.2,.8,.2,1) both}.flying-chip.chip-1{filter:hue-rotate(70deg)}.flying-chip.chip-2{filter:hue-rotate(190deg)}.chip-amount-fx{position:absolute;transform:translate(-50%,-50%);color:#ffd45b;font-size:15px;font-weight:950;text-shadow:0 2px 4px #000;animation:amountPop 1.1s ease-out both}
@keyframes chipToPot{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.45) rotate(0)}15%{opacity:1}75%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.9) rotate(540deg)}}
@keyframes amountPop{0%{opacity:0;transform:translate(-50%,0) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translate(-50%,-55px) scale(1.12)}}

/* free and paid table reactions */
.emoji-help{font-size:10px;color:var(--muted);padding:6px 0 1px}.emoji-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.emoji-bar button{display:flex!important;flex-direction:column;align-items:center;gap:1px;min-width:0;padding:6px 3px!important;border:1px solid rgba(255,255,255,.08)!important}.emoji-bar button span{font-size:22px}.emoji-bar button small{font-size:7px;color:#9db0a7}.emoji-bar button.paid-emote{background:linear-gradient(145deg,#342c17,#20180b);border-color:rgba(241,197,79,.25)!important}.emoji-bar button.paid-emote small{color:#f2c654;font-weight:900}.emoji-bar button:hover{filter:brightness(1.18);transform:translateY(-1px)}
.emote-projectile{position:absolute;left:0;top:0;font-size:43px;z-index:12;filter:drop-shadow(0 8px 6px rgba(0,0,0,.45));animation:emoteThrow .82s cubic-bezier(.2,.75,.25,1) both}.effect-gun{animation:gunPose .9s ease-out both}.bullet{font-size:27px;animation:bulletShot .55s .15s linear both}.effect-egg,.effect-tomato{animation:arcThrow .82s cubic-bezier(.2,.7,.25,1) both}.effect-kiss{animation:kissFly 1s ease-out both}.effect-lightning{animation:lightningStrike .7s ease-out both}.emote-hit{position:absolute;transform:translate(-50%,-50%);font-size:56px;z-index:13;animation:hitBurst 1.25s ease-out both}.hit-egg,.hit-tomato{font-size:68px}.hit-lightning{font-size:80px;filter:drop-shadow(0 0 15px #fff35e)}
@keyframes emoteThrow{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.35) rotate(-25deg)}15%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.05) rotate(340deg)}}
@keyframes arcThrow{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.45) rotate(0)}15%{opacity:1}55%{transform:translate(var(--mx),var(--my)) scale(1.1) rotate(220deg)}100%{opacity:.95;transform:translate(var(--tx),var(--ty)) scale(1) rotate(520deg)}}
@keyframes gunPose{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.4) rotate(-35deg)}20%{opacity:1;transform:translate(var(--sx),var(--sy)) scale(1.1) rotate(-10deg)}75%{opacity:1;transform:translate(var(--sx),var(--sy)) scale(1.1) rotate(8deg)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.8)}}
@keyframes bulletShot{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.4)}15%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.2)}}
@keyframes kissFly{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.3) rotate(-15deg)}20%{opacity:1}70%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1.35) rotate(15deg)}}
@keyframes lightningStrike{0%{opacity:0;transform:translate(var(--tx),calc(var(--ty) - 150px)) scale(1.8)}20%{opacity:1}50%{filter:brightness(2.5)}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(1)}}
@keyframes hitBurst{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1;transform:translate(-50%,-50%) scale(1.35)}55%{opacity:1;transform:translate(-50%,-50%) scale(.95)}100%{opacity:0;transform:translate(-50%,-90%) scale(1.25)}}

@media(max-width:700px){
  .logout-btn{font-size:0;width:32px;height:32px;padding:0}.logout-btn:before{content:"↪";font-size:17px}.profile-avatar{width:104px;height:104px}.profile-avatar .avatar-emoji{font-size:68px}.seat-user>.avatar-photo{width:22px;height:22px}.seat-user>.avatar-emoji{font-size:15px;width:22px}.empty-seat{min-height:68px}.sit-seat-btn{font-size:8px;padding:5px 8px}.sit-seat-btn.replace{bottom:-15px;font-size:7px;padding:4px 7px}.card-corner.top{left:4px;top:4px}.card-corner.bottom{right:4px;bottom:4px}.emoji-bar{grid-template-columns:repeat(4,1fr)}.emoji-bar button span{font-size:19px}.emote-projectile{font-size:34px}.emote-hit{font-size:47px}
}

/* v1.6 gameplay clarity */
.game-header-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.top-turn-timer{display:inline-grid;place-items:center;min-width:50px;height:36px;border-radius:12px;background:#102b21;border:1px solid rgba(255,255,255,.14);font-weight:950;color:#7ef0b5;font-variant-numeric:tabular-nums}.top-turn-timer.urgent{background:#68272b;color:#fff;animation:timerPulse .65s infinite alternate}
.pot-chip-stack{position:relative;height:34px;display:flex;justify-content:center;align-items:flex-end;margin:3px auto 0}.pot-chip-stack i{display:block;width:30px;height:9px;border-radius:50%;margin:0 -10px;background:linear-gradient(#ffe981,#c48a06);border:2px dashed #fff4b6;box-shadow:0 2px 4px #000}.pot-chip-stack i:nth-child(2){transform:translateY(-7px);filter:hue-rotate(95deg)}.pot-chip-stack i:nth-child(3){transform:translateY(-14px);filter:hue-rotate(210deg)}.pot-chip-stack span{position:absolute;top:25px;font-size:10px;color:#d7e7df;white-space:nowrap}
.seat{cursor:pointer;text-align:center}.seat.my-seat{outline-color:#6cf0b2!important}.seat-profile-top{display:flex;justify-content:center;margin-top:2px}.seat-profile-top>.avatar-photo{width:42px;height:42px;border:2px solid rgba(255,255,255,.6);box-shadow:0 4px 12px rgba(0,0,0,.5)}.seat-profile-top>.avatar-emoji{display:grid;place-items:center;width:42px;height:42px;font-size:28px;border-radius:50%;background:#18352a;border:2px solid rgba(255,255,255,.38)}.seat-name-row{display:flex;justify-content:center;align-items:center;gap:4px;margin:3px 0 1px;min-width:0}.seat-name-row .seat-name{font-size:12px;max-width:92px}.seat-bet-info{display:flex;justify-content:center;gap:6px;font-size:9px;color:#ffd26a;margin-top:2px}.seat-bet-info span{padding:2px 4px;border-radius:999px;background:rgba(0,0,0,.25)}.seat-rebuy{display:inline-block;background:#7c2f34;color:white;border-radius:999px;padding:2px 8px;font-size:10px;font-weight:900}.seat-turn-track{position:absolute;left:5px;right:5px;top:-10px;height:8px;border-radius:999px;background:#241f1f;overflow:visible;box-shadow:0 0 0 1px rgba(255,255,255,.18)}.seat-turn-progress{display:block;height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,#ee514e,#ffca4c,#4ee69c);transition:width .2s linear}.seat-turn-seconds{position:absolute;right:-5px;top:-18px;display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#111f19;color:white;border:2px solid #f0c75e;font-size:10px}
.action-panel{position:sticky;bottom:8px;z-index:24;border:2px solid rgba(240,197,94,.35);box-shadow:0 18px 50px rgba(0,0,0,.6)}

/* East Asian guardian table skins */
.skin-azure-dragon,.skin-option[data-skin="azure-dragon"]{--felt:#0b4960;--felt2:#031b2a;--rail:#102d36;--rail2:#43d7e5;--table-glow:rgba(33,205,239,.33);--totem:"🐉"}
.skin-white-tiger,.skin-option[data-skin="white-tiger"]{--felt:#454b52;--felt2:#11161b;--rail:#221a12;--rail2:#e6d7a2;--table-glow:rgba(245,232,187,.28);--totem:"🐅"}
.skin-black-tortoise,.skin-option[data-skin="black-tortoise"]{--felt:#173a34;--felt2:#061613;--rail:#121c1b;--rail2:#6aa894;--table-glow:rgba(85,174,147,.25);--totem:"🐢"}
.skin-vermilion-bird,.skin-option[data-skin="vermilion-bird"]{--felt:#7a261d;--felt2:#2b0907;--rail:#34130e;--rail2:#ff9a48;--table-glow:rgba(255,87,40,.34);--totem:"🔥"}
.skin-golden-dragon,.skin-option[data-skin="golden-dragon"]{--felt:#4b3810;--felt2:#171003;--rail:#271b07;--rail2:#f1d56d;--table-glow:rgba(255,213,78,.35);--totem:"🐲"}
.poker-table:after{content:var(--totem,"");display:grid;place-items:center;font-size:118px;opacity:.10;filter:grayscale(.15) drop-shadow(0 0 18px var(--table-glow));background:radial-gradient(circle at center,rgba(255,255,255,.06),transparent 58%);letter-spacing:0}

/* upgraded chip graphics */
.flying-chip{width:36px!important;height:36px!important;font-size:8px!important;font-weight:950;color:white;text-shadow:0 1px 2px #000;border-width:4px!important;background:radial-gradient(circle at 34% 28%,#fffbd0 0 8%,#efbf28 9% 35%,#9c5f00 36% 48%,#ffd84f 49% 64%,#6e3c00 65%)!important;box-shadow:0 5px 12px rgba(0,0,0,.65),inset 0 0 0 2px rgba(255,255,255,.25)!important}.flying-chip.chip-1{background:radial-gradient(circle at 34% 28%,#e8fff5 0 8%,#38c986 9% 35%,#0c6e48 36% 48%,#5ce0a4 49% 64%,#07452e 65%)!important}.flying-chip.chip-2{background:radial-gradient(circle at 34% 28%,#eef5ff 0 8%,#4d86e7 9% 35%,#1d3c85 36% 48%,#6aa2ff 49% 64%,#102455 65%)!important}.chip-amount-fx{font-size:20px!important;background:rgba(5,10,8,.82);padding:5px 10px;border-radius:999px;border:1px solid #f2c95c}

/* result and player details */
.result-dialog{width:min(860px,calc(100% - 18px));text-align:left}.result-dialog .winner-title{text-align:center;margin-bottom:10px}.result-board{display:flex;justify-content:center;align-items:center;gap:5px;padding:10px;border-radius:14px;background:#08130f}.result-board>span{font-size:10px;color:var(--muted);margin-right:5px}.result-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.result-player{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px;padding:9px;border-radius:13px;background:#101f18;border:1px solid var(--line)}.result-player.winner{border-color:#e9bf62;background:linear-gradient(145deg,#2e2612,#14231a)}.result-player.loser{opacity:.72}.result-player>div:first-child{display:flex;align-items:center;gap:5px}.result-player>div:first-child span{font-size:9px;padding:2px 5px;border-radius:999px;background:#743538}.result-player.winner>div:first-child span{background:#937022}.result-avatar{width:28px;height:28px}.result-cards{display:flex;gap:3px}.result-player small{grid-column:1/-1;color:var(--muted)}.result-payout{text-align:center;padding:10px;border-radius:12px;background:#07130e}.result-payout small{display:block;color:var(--muted);margin-top:5px}.jackpot-hit{margin-top:8px;padding:12px;border-radius:12px;background:linear-gradient(135deg,#5a3d09,#251801);color:#ffe185;text-align:center;font-weight:900}
.player-dialog{width:min(470px,calc(100% - 20px))}.player-popup-head{display:flex;gap:14px;align-items:center}.player-popup-avatar{width:76px;height:76px}.player-popup-head h2{margin:0}.player-popup-head h2 small{font-size:10px;background:#355c87;padding:3px 6px;border-radius:999px}.player-popup-head p{margin:4px 0;color:var(--muted)}.player-popup-emotes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:15px}.player-popup-emotes button{border:1px solid var(--line);border-radius:12px;background:#14281f;color:white;padding:8px;display:flex;flex-direction:column;align-items:center}.player-popup-emotes span{font-size:27px}.player-popup-emotes small{font-size:8px;color:#d5c06d}
.buyin-dialog input[type=range]{width:100%}.buyin-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:9px}.buyin-presets button{border:0;border-radius:9px;background:#233a30;color:white;padding:8px}

/* jackpot and session history */
.jackpot-panel{padding:15px;border-radius:17px}.jackpot-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jackpot-summary>div{padding:12px;border-radius:12px;background:linear-gradient(145deg,#30260e,#121c16)}.jackpot-summary span,.jackpot-summary b{display:block}.jackpot-summary span{font-size:11px;color:var(--muted)}.jackpot-summary b{font-size:20px;color:#f1cd68}.jackpot-rate-note{margin:9px 0;color:var(--muted);font-size:12px}.jackpot-claims article{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}.jackpot-claims small,.jackpot-claims strong{display:block}.jackpot-claims small{color:var(--muted)}.jackpot-claims article>div:last-child{display:flex;align-items:center;gap:8px}.claimed{font-size:11px;color:#6fd6a2}.session-row{display:grid;grid-template-columns:1fr auto;gap:5px;padding:9px 0;border-bottom:1px solid var(--line)}.session-row small{display:block;color:var(--muted)}.session-row.win>strong{color:#63dca3}.session-row.loss>strong{color:#e48181}.session-cards{grid-column:1/-1;display:flex;gap:3px}.session-cards .playing-card.small{width:28px;height:39px}
@keyframes timerPulse{from{transform:scale(1)}to{transform:scale(1.08)}}

@media(max-width:700px){
  .game-header-actions{gap:4px}.top-turn-timer{min-width:42px;height:31px}.poker-table:after{font-size:82px}.seat{width:112px!important;padding:5px!important}.seat-profile-top>.avatar-photo,.seat-profile-top>.avatar-emoji{width:34px;height:34px}.seat-profile-top>.avatar-emoji{font-size:22px}.seat-name-row .seat-name{font-size:10px;max-width:70px}.seat-stack{font-size:10px}.seat-bet-info{font-size:7px;gap:2px}.seat-action{font-size:9px}.result-player-grid{grid-template-columns:1fr}.result-board .playing-card.small{width:34px;height:48px}.jackpot-summary{grid-template-columns:1fr}.player-popup-emotes{grid-template-columns:repeat(4,1fr)}.flying-chip{width:30px!important;height:30px!important}.action-panel{bottom:3px}.game-header{gap:4px}.game-header>div:nth-child(2){max-width:42%}
}


/* =========================================================
   v1.7 PREMIUM VERTICAL TABLE — reference-inspired redesign
   ========================================================= */
body:has(#gameView:not(.hidden)){background:
  radial-gradient(circle at 50% -10%,rgba(24,83,57,.42),transparent 42rem),
  linear-gradient(180deg,#06110c,#020604)}
.game-view{max-width:1120px;margin:10px auto 0}
.game-header{max-width:900px;margin:0 auto;background:rgba(4,13,9,.84);border-color:rgba(255,255,255,.09);box-shadow:0 10px 35px rgba(0,0,0,.28)}
.game-layout{grid-template-columns:minmax(420px,510px) 330px;justify-content:center;align-items:start;gap:16px}
.poker-stage{position:relative;width:100%;max-width:510px;filter:drop-shadow(0 28px 34px rgba(0,0,0,.52))}
.poker-table{
  --felt:#12603d;--felt2:#062b1c;--rail:#111918;--rail2:#88d95a;--accent:#9cea64;--sigil:"♠";
  width:100%;min-height:850px;aspect-ratio:9/16;margin:0 auto;
  border:12px solid var(--rail);
  border-radius:46% 46% 18% 18% / 17% 17% 10% 10%;
  background:
    radial-gradient(ellipse at 50% 34%,rgba(212,255,192,.12),transparent 36%),
    repeating-radial-gradient(ellipse at 50% 44%,transparent 0 56px,rgba(255,255,255,.018) 58px 59px),
    linear-gradient(145deg,var(--felt),var(--felt2));
  box-shadow:
    inset 0 0 0 3px #050908,
    inset 0 0 0 8px var(--rail2),
    inset 0 0 0 11px rgba(0,0,0,.66),
    inset 0 0 85px rgba(0,0,0,.62),
    0 0 0 1px rgba(255,255,255,.12),
    0 36px 70px rgba(0,0,0,.58);
  overflow:hidden;
}
.poker-table:before{
  content:"";position:absolute;inset:29px 25px 36px;
  border:1px solid rgba(204,255,185,.18);
  border-radius:45% 45% 16% 16% / 17% 17% 10% 10%;
  background:
    linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%),
    radial-gradient(ellipse at 50% 34%,rgba(255,255,255,.045),transparent 54%);
  box-shadow:inset 0 0 48px rgba(0,0,0,.22);
  z-index:0;
}
.poker-table:after{
  content:var(--sigil);position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);
  inset:auto;display:block;font-family:Georgia,serif;font-size:148px;font-weight:900;
  color:var(--accent);opacity:.055;filter:drop-shadow(0 0 16px var(--accent));
  background:none;pointer-events:none;z-index:0;
}
.premium-rail-light{
  position:absolute;inset:7px;z-index:1;pointer-events:none;
  border-radius:46% 46% 18% 18% / 17% 17% 10% 10%;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 0 14px rgba(255,255,255,.08);
}
.table-brand-mark{
  position:absolute;left:50%;top:4.5%;transform:translateX(-50%);z-index:3;
  color:rgba(255,255,255,.72);text-align:center;font-size:7px;letter-spacing:.18em;line-height:1.1;
  text-shadow:0 2px 5px #000
}
.table-brand-mark b{font-size:10px;color:var(--accent)}
.table-jackpot-hud{
  position:absolute;left:50%;top:31%;transform:translateX(-50%);z-index:3;
  display:flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;
  background:linear-gradient(180deg,rgba(6,18,12,.88),rgba(0,0,0,.56));
  border:1px solid rgba(255,226,132,.28);box-shadow:0 5px 16px rgba(0,0,0,.35)
}
.table-jackpot-hud span{font-size:7px;letter-spacing:.16em;color:#f2d788}
.table-jackpot-hud b{font-size:11px;color:white;font-variant-numeric:tabular-nums}
.table-center{top:47%;width:75%;z-index:3}
.phase-label{font-size:8px;color:rgba(230,244,235,.78);letter-spacing:.18em}
.pot-label{
  display:inline-flex;margin:5px 0 0;padding:4px 10px;border-radius:999px;
  background:rgba(5,15,10,.7);border:1px solid rgba(255,255,255,.09);
  color:#fff2a3;font-size:13px;letter-spacing:.03em
}
.pot-chip-stack{height:30px;margin:5px auto 0}
.pot-chip-stack i{
  width:25px;height:8px;border:2px dashed rgba(255,255,255,.85);
  background:linear-gradient(#ff5656,#9a161e);box-shadow:0 2px 7px #000
}
.pot-chip-stack i:nth-child(2){filter:hue-rotate(85deg)}
.pot-chip-stack i:nth-child(3){filter:hue-rotate(190deg)}
.pot-chip-stack span{top:23px;font-size:8px;color:rgba(255,255,255,.72)}
.board-cards{min-height:86px;margin:15px 0 8px;gap:5px}
.playing-card{
  position:relative;width:53px;height:76px;border-radius:8px;padding:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(235,238,241,.98)),
    #fff;
  border:1px solid rgba(0,0,0,.22);
  box-shadow:0 8px 14px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.8);
  overflow:hidden
}
.playing-card:before{content:"";position:absolute;inset:3px;border:1px solid rgba(25,34,31,.08);border-radius:5px}
.playing-card .card-center-suit{font-size:30px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.08))}
.playing-card .card-corner{font-size:12px;line-height:.88}
.playing-card.back{
  background:
    radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 3px,transparent 4px),
    conic-gradient(from 45deg,#a21f29,#e54545,#81121d,#d4323e,#a21f29);
  background-size:12px 12px,100% 100%;border:3px solid #f4e6cf
}
.playing-card.back:after{content:"♠";position:absolute;inset:7px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:4px;color:rgba(255,255,255,.78);font-size:20px}
.playing-card.small{width:34px;height:49px;border-radius:5px}.playing-card.small .card-center-suit{font-size:18px}.playing-card.small .card-corner{font-size:8px}
.game-message{min-height:20px;font-size:10px;color:rgba(240,247,243,.78);text-shadow:0 2px 4px #000}

/* Seats are avatar pods, not rectangular cards */
.seat{
  width:112px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;
  display:flex;flex-direction:column;align-items:center;overflow:visible;text-shadow:0 2px 4px #000
}
.seat.active{outline:0;transform:translate(-50%,-50%) scale(1.06)}
.seat.active .seat-profile-top{filter:drop-shadow(0 0 10px var(--accent))}
.seat.active .seat-profile-top:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid #f1d56a;animation:timerPulse .65s infinite alternate}
.seat.folded{opacity:.38;filter:grayscale(.75)}
.seat-profile-top{position:relative;order:2;margin:0;z-index:3}
.seat-profile-top>.avatar-photo,.seat-profile-top>.avatar-emoji{
  width:54px;height:54px;border-radius:50%;border:3px solid rgba(255,255,255,.83);
  background:radial-gradient(circle at 35% 28%,#3b574c,#0a1711);
  box-shadow:0 6px 14px rgba(0,0,0,.7),inset 0 0 0 2px rgba(0,0,0,.42)
}
.seat-profile-top>.avatar-emoji{font-size:31px}
.seat-name-row{
  order:1;min-width:0;margin:0 0 3px;padding:2px 6px;border-radius:6px;
  background:rgba(0,13,8,.58);backdrop-filter:blur(4px)
}
.seat-name-row .seat-name{font-size:8px;max-width:75px;color:white;letter-spacing:.02em}
.seat-badge{font-size:5px;padding:1px 3px}.seat-badge.bot-label{background:#183b68;color:#dceaff}
.seat-stack{
  order:3;margin-top:3px;padding:2px 7px;border-radius:999px;background:rgba(3,13,9,.66);
  color:#effff6;font-size:8px;font-weight:850;font-variant-numeric:tabular-nums
}
.seat-bet-info{order:4;font-size:6px;margin:2px 0 0;gap:3px;color:#ffe66d}
.seat-bet-info span{padding:1px 4px;background:rgba(0,0,0,.5)}
.hole-cards{order:5;min-height:38px;margin:3px 0 0;gap:2px}
.seat-action{order:6;height:auto;min-height:12px;font-size:7px;color:#ffe38b}
.seat-rebuy{order:7;font-size:7px;padding:2px 5px}
.empty-seat{width:70px!important;min-height:60px!important;display:grid;place-items:center;border:1px dashed rgba(255,255,255,.22)!important;border-radius:50%!important;background:rgba(0,0,0,.18)!important}
.empty-seat span,.empty-seat-number{font-size:7px}
.sit-seat-btn{font-size:7px!important;padding:5px 7px!important}
.seat-turn-track{left:27px;right:27px;top:-9px;height:5px}
.seat-turn-seconds{right:17px;top:-18px;width:23px;height:23px;font-size:8px}
.seat0{left:50%;top:91.5%}.seat1{left:19%;top:80%}.seat2{left:11.5%;top:59%}.seat3{left:18%;top:34%}
.seat4{left:50%;top:9%}.seat5{left:82%;top:34%}.seat6{left:88.5%;top:59%}.seat7{left:81%;top:80%}
.seat.my-seat{width:145px}
.seat.my-seat .seat-profile-top>.avatar-photo,.seat.my-seat .seat-profile-top>.avatar-emoji{width:58px;height:58px}
.seat.my-seat .hole-cards{position:absolute;bottom:-31px;min-height:62px;z-index:8}
.seat.my-seat .hole-cards .playing-card.small{width:43px;height:62px;transform:rotate(-3deg)}
.seat.my-seat .hole-cards .playing-card.small+ .playing-card.small{transform:rotate(3deg);margin-left:-4px}
.seat.my-seat .seat-name-row{margin-bottom:2px}.seat.my-seat .seat-stack{font-size:9px}

/* Betting console overlays the lower table like a native mobile game */
.action-panel.mobile-bet-console{
  position:absolute;left:50%;bottom:92px;transform:translateX(-50%);z-index:25;
  width:92%;margin:0;padding:0;background:transparent;border:0;box-shadow:none;backdrop-filter:none;
  gap:5px
}
.arc-presets{width:82%;margin:0 auto;gap:7px}
.arc-presets button{
  width:52px;height:52px;justify-self:center;border-radius:50%;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(218,226,219,.96));
  color:#152219;border:1px solid rgba(0,0,0,.18);box-shadow:0 5px 12px rgba(0,0,0,.38)
}
.arc-presets button b{font-size:14px}.arc-presets button small{font-size:7px;color:#536158}
.compact-raise{
  width:72%;margin:0 auto;padding:4px 10px;border-radius:999px;
  background:rgba(0,0,0,.44);grid-template-columns:auto 1fr
}
.compact-raise label{font-size:8px;color:white}.compact-raise input{height:4px}
.mobile-action-buttons{padding:0 18px;gap:34px}
.action-orb{width:62px;height:62px;border:2px solid rgba(255,255,255,.8)!important;box-shadow:0 8px 17px rgba(0,0,0,.55)}
.action-orb .orb-icon{font-size:27px}.action-orb span:last-child{font-size:8px}
.raise-orb{transform:translateY(-4px);background:linear-gradient(145deg,#2fdd67,#0d913e)!important}
.fold-orb{background:linear-gradient(145deg,#ff505b,#c70e27)!important}
.call-orb{background:linear-gradient(145deg,#ffa827,#d66a00)!important}
.action-wait{font-size:8px;color:#d8eee2;text-shadow:0 2px 3px #000}

/* Premium guardian skins: layered cloth, illuminated piping, engraved sigils */
.skin-classic,.skin-option[data-skin="classic"]{--felt:#12603d;--felt2:#062b1c;--rail:#111918;--rail2:#89d95a;--accent:#a6ee72;--sigil:"♠"}
.skin-azure-dragon,.skin-option[data-skin="azure-dragon"]{--felt:#075e74;--felt2:#031c2d;--rail:#07141b;--rail2:#52d9e9;--accent:#7af3ff;--sigil:"龍"}
.skin-white-tiger,.skin-option[data-skin="white-tiger"]{--felt:#59616a;--felt2:#161b20;--rail:#0b0d0f;--rail2:#e6d8b1;--accent:#fff1c6;--sigil:"虎"}
.skin-black-tortoise,.skin-option[data-skin="black-tortoise"]{--felt:#17493d;--felt2:#041813;--rail:#050b0a;--rail2:#6fb59e;--accent:#8bd7bd;--sigil:"玄"}
.skin-vermilion-bird,.skin-option[data-skin="vermilion-bird"]{--felt:#8d2d20;--felt2:#2a0605;--rail:#180807;--rail2:#ff9d48;--accent:#ffbe68;--sigil:"朱"}
.skin-golden-dragon,.skin-option[data-skin="golden-dragon"]{--felt:#564210;--felt2:#171003;--rail:#100d05;--rail2:#f1d36d;--accent:#ffe992;--sigil:"皇"}
.skin-option{
  position:relative;overflow:hidden;height:86px;border-radius:16px;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,255,255,.14),transparent 38%),
    linear-gradient(145deg,var(--felt),var(--felt2))!important;
  border:5px solid var(--rail)!important;box-shadow:inset 0 0 0 3px var(--rail2),0 7px 16px rgba(0,0,0,.35)
}
.skin-option:before{content:var(--sigil);position:absolute;inset:0;display:grid;place-items:center;font-size:44px;color:var(--accent);opacity:.24}
.skin-option.selected{outline:3px solid #ffe078;transform:translateY(-2px)}

/* Voucher desk */
.voucher-panel{padding:18px;border-radius:20px}.voucher-hero{display:flex;justify-content:space-between;gap:16px;align-items:center}.voucher-hero h3{margin:5px 0}.voucher-hero p{color:var(--muted);font-size:12px}.voucher-wallet{min-width:135px;padding:15px;border-radius:16px;text-align:center;background:linear-gradient(145deg,#49390f,#171408);border:1px solid rgba(255,218,107,.25)}.voucher-wallet span,.voucher-wallet b{display:block}.voucher-wallet span{font-size:10px;color:#dcc77f}.voucher-wallet b{font-size:22px;color:#ffe38b}.voucher-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:9px;align-items:end;margin:14px 0}.voucher-form label{font-size:10px;color:var(--muted)}.voucher-form input,.voucher-form select{width:100%;margin-top:5px;background:#07130e;border:1px solid var(--line);color:white;border-radius:10px;padding:10px}.voucher-history{display:flex;flex-direction:column}.voucher-row{display:grid;grid-template-columns:1fr auto;gap:8px;padding:11px 0;border-top:1px solid var(--line)}.voucher-row small,.voucher-row span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.voucher-row strong{color:#f0cd71}.voucher-row p{grid-column:1/-1;margin:0;color:#b9c8c0;font-size:10px}.voucher-row.status-approved{border-left:3px solid #53d89c;padding-left:10px}.voucher-row.status-rejected{border-left:3px solid #db6c6c;padding-left:10px}.voucher-empty{padding:18px;text-align:center;color:var(--muted)}

/* Side panel is polished but secondary */
.game-side{background:rgba(5,15,10,.88);border-color:rgba(255,255,255,.08);box-shadow:0 18px 38px rgba(0,0,0,.34)}
.side-tabs button.active{background:linear-gradient(135deg,#2c5a43,#163427);color:#fff}
.chat-row,.session-row{background:rgba(255,255,255,.025);margin:4px 0;padding:8px;border-radius:9px;border-bottom:0}

/* Chip animation: larger casino chips with depth */
.flying-chip{width:42px!important;height:42px!important;border-radius:50%;font-size:8px!important;border:5px dashed rgba(255,255,255,.94)!important;box-shadow:0 8px 15px rgba(0,0,0,.74),inset 0 0 0 4px rgba(0,0,0,.22),inset 0 0 0 7px rgba(255,255,255,.18)!important}
.chip-amount-fx{font-size:15px!important;font-weight:950;background:linear-gradient(180deg,#1a2a20,#050a07);border:1px solid #f4d16e;padding:6px 12px;box-shadow:0 7px 18px rgba(0,0,0,.48)}

/* Desktop/tablet */
@media(max-width:1050px){
  .game-layout{grid-template-columns:minmax(420px,510px);justify-content:center}
  .game-side{width:100%;max-width:510px;margin:12px auto 0}
}

/* Mobile portrait: one clean vertical game screen */
@media(max-width:700px){
  body:has(#gameView:not(.hidden)) .app{padding:3px}
  body:has(#gameView:not(.hidden)) .topbar{display:none}
  .game-view{margin:0;max-width:none}
  .game-header{
    position:absolute;left:8px;right:8px;top:7px;z-index:40;max-width:none;
    padding:5px 7px;border-radius:12px;background:rgba(0,22,13,.58);box-shadow:none
  }
  .game-header #gameRoomName{font-size:9px}.game-header #gameBlinds{font-size:7px!important}.game-header .badge{font-size:7px;padding:3px 5px}
  .game-header-actions .mini{font-size:0;width:29px;height:29px;padding:0;border-radius:50%}.game-header-actions .mini:before{font-size:13px}
  #quickSitBtn:before{content:"+"}#standUpBtn:before{content:"↥"}#exitRoomBtn:before{content:"×"}#rebuyBtn{width:auto!important;font-size:7px!important;padding:4px!important}
  #backToLobbyBtn{font-size:0;width:29px;height:29px;padding:0;border-radius:8px}#backToLobbyBtn:before{content:"⌄";font-size:15px}
  .top-turn-timer{height:28px;min-width:37px;font-size:10px;border-radius:50%}
  .game-layout{display:block;margin:0}
  .poker-stage{max-width:500px;margin:0 auto}
  .poker-table{
    min-height:calc(100svh - 3px);height:calc(100svh - 3px);aspect-ratio:auto;
    border-width:8px;border-radius:42% 42% 12% 12% / 14% 14% 8% 8%;
  }
  .poker-table:before{inset:20px 16px 27px;border-radius:42% 42% 12% 12% / 14% 14% 8% 8%}
  .premium-rail-light{inset:5px;border-radius:42% 42% 12% 12% / 14% 14% 8% 8%}
  .table-brand-mark{top:5.5%}.table-jackpot-hud{top:29%}
  .table-center{top:46%;width:78%}.board-cards{min-height:64px;margin:12px 0 6px;gap:3px}
  .playing-card{width:42px;height:61px}.playing-card .card-center-suit{font-size:23px}.playing-card .card-corner{font-size:9px}
  .playing-card.small{width:27px;height:39px}.playing-card.small .card-center-suit{font-size:14px}.playing-card.small .card-corner{font-size:6px}
  .seat{width:86px!important}.seat-profile-top>.avatar-photo,.seat-profile-top>.avatar-emoji{width:43px;height:43px}.seat-profile-top>.avatar-emoji{font-size:25px}
  .seat-name-row .seat-name{font-size:7px;max-width:56px}.seat-stack{font-size:7px}.seat-bet-info{font-size:5px}.seat-action{font-size:6px}.seat-badge{font-size:4px}
  .seat0{top:91.5%}.seat1{left:20%;top:79%}.seat2{left:11%;top:58.5%}.seat3{left:19%;top:34%}.seat4{top:9.5%}.seat5{left:81%;top:34%}.seat6{left:89%;top:58.5%}.seat7{left:80%;top:79%}
  .seat.my-seat{width:120px!important}.seat.my-seat .seat-profile-top>.avatar-photo,.seat.my-seat .seat-profile-top>.avatar-emoji{width:47px;height:47px}
  .seat.my-seat .hole-cards{bottom:-25px}.seat.my-seat .hole-cards .playing-card.small{width:38px;height:55px}
  .action-panel.mobile-bet-console{bottom:91px;width:95%;gap:3px}
  .arc-presets{width:88%;gap:4px}.arc-presets button{width:43px;height:43px}.arc-presets button b{font-size:12px}
  .compact-raise{width:68%;padding:2px 7px}.mobile-action-buttons{gap:36px}.action-orb{width:56px;height:56px}
  .action-orb .orb-icon{font-size:24px}
  .game-side{max-width:none;min-height:270px;margin:6px 3px 3px}
  .voucher-hero{align-items:flex-start}.voucher-form{grid-template-columns:1fr}.voucher-wallet{min-width:105px;padding:10px}.voucher-note{display:none}
}
.voucher-page-head{border-radius:22px;padding:24px;display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.voucher-page-head h2{margin:5px 0;font-size:28px}.voucher-page-head p{margin:0;color:var(--muted)}.ticket-art{font-size:68px;filter:drop-shadow(0 10px 22px rgba(235,195,86,.26))}@media(max-width:700px){.voucher-page-head{padding:18px}.voucher-page-head h2{font-size:23px}.ticket-art{font-size:48px}}


/* =========================================================
   v1.8 TABLE PACING, DRAWER, ALL-IN CONFIRMATION, CHIP PILE
   ========================================================= */
/* Raise the bottom seat so its sit button and enlarged cards are never clipped. */
.poker-table .seat0{top:86.2%}
.poker-table .empty-seat.seat0{top:85.2%}
.poker-table .seat1,.poker-table .seat7{top:76.5%}
.poker-table{overflow:visible}
.poker-stage{padding-bottom:82px}
.premium-rail-light,.poker-table:before{pointer-events:none}
.empty-seat{z-index:18!important}
.empty-seat .sit-seat-btn{position:relative;z-index:22;min-width:54px;padding:7px 9px!important;background:linear-gradient(180deg,#79ef9d,#1e9b55)!important;color:#04190d!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 5px 14px rgba(0,0,0,.5)!important}

/* Larger personal cards */
.seat.my-seat .hole-cards{bottom:-47px;min-height:88px;z-index:28}
.seat.my-seat .hole-cards .playing-card.small{width:61px;height:87px;border-radius:9px;box-shadow:0 12px 22px rgba(0,0,0,.62)}
.seat.my-seat .hole-cards .playing-card.small .card-center-suit{font-size:31px}
.seat.my-seat .hole-cards .playing-card.small .card-corner{font-size:13px}
.seat.my-seat .hole-cards .playing-card.small+ .playing-card.small{margin-left:-8px}

/* Card reveal cadence */
.board-deal-card{opacity:0;transform:translate(38px,-28px) rotate(7deg) scale(.9);animation:premiumCardSlide .72s cubic-bezier(.2,.85,.25,1.05) var(--deal-delay) forwards}
.my-hole-card{animation:holeCardLift .52s cubic-bezier(.22,.8,.28,1.12) var(--deal-delay) both}
@keyframes premiumCardSlide{0%{opacity:0;transform:translate(48px,-34px) rotate(10deg) scale(.82);filter:blur(2px)}55%{opacity:1;transform:translate(-4px,2px) rotate(-2deg) scale(1.04);filter:blur(0)}100%{opacity:1;transform:none}}
@keyframes holeCardLift{0%{opacity:0;transform:translateY(28px) rotate(-8deg) scale(.86)}100%{opacity:1}}

/* Explicit all-in state on the avatar */
.allin-profile-badge{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);z-index:20;white-space:nowrap;padding:3px 8px;border-radius:999px;background:linear-gradient(180deg,#ffdf60,#e63a24);color:#2a0803;font-size:8px;font-weight:1000;letter-spacing:.08em;border:1px solid #fff4b2;box-shadow:0 0 14px rgba(255,82,44,.9),0 4px 8px rgba(0,0,0,.5);animation:allinGlow .62s infinite alternate}
@keyframes allinGlow{from{filter:brightness(.9);transform:translateX(-50%) scale(.96)}to{filter:brightness(1.2);transform:translateX(-50%) scale(1.05)}}

/* ALL-IN preset is selection only; the center Raise orb confirms it. */
.arc-presets button.selected{transform:translateY(-5px) scale(1.07);border-color:#ffe65f!important;box-shadow:0 0 0 2px rgba(255,223,74,.28),0 8px 22px rgba(0,0,0,.55),0 0 20px rgba(255,202,47,.34)!important}

/* Real-looking accumulating chip piles */
.pot-chip-stack{position:relative;width:150px;height:68px;margin:3px auto 0;overflow:visible}
.pot-chip-pile{position:absolute;left:50%;top:3px;width:120px;height:48px;transform:translateX(-50%);perspective:250px}
.pot-chip-3d{position:absolute!important;left:50%!important;top:10px!important;width:28px!important;height:10px!important;border-radius:50%!important;transform:translate(calc(-50% + var(--chip-x)),var(--chip-y))!important;z-index:var(--chip-z)!important;border:2px dashed rgba(255,255,255,.88)!important;box-shadow:0 2px 0 rgba(0,0,0,.65),inset 0 1px 2px rgba(255,255,255,.5),0 4px 8px rgba(0,0,0,.35)!important;animation:chipPileLand .35s cubic-bezier(.2,.9,.3,1.2) both}
.pot-chip-3d.red{background:linear-gradient(#ff6868,#a40f1b)!important}.pot-chip-3d.blue{background:linear-gradient(#5cbcff,#1852a6)!important}.pot-chip-3d.gold{background:linear-gradient(#ffe775,#bd7810)!important}.pot-chip-3d.black{background:linear-gradient(#5e6671,#11151c)!important}.pot-chip-3d.green{background:linear-gradient(#6fe59b,#137641)!important}
.pot-chip-stack>span{position:absolute;left:50%;bottom:0;transform:translateX(-50%);white-space:nowrap;font-size:8px;color:rgba(255,255,255,.76)}
@keyframes chipPileLand{from{opacity:0;transform:translate(calc(-50% + var(--chip-x)),calc(var(--chip-y) - 18px)) scale(1.18)}to{opacity:1;transform:translate(calc(-50% + var(--chip-x)),var(--chip-y)) scale(1)}}

/* Collapsible chat / history drawer */
.game-layout{grid-template-columns:minmax(420px,510px) auto}
.game-side{position:relative;width:330px;transition:width .28s ease,opacity .28s ease,transform .28s ease;overflow:visible;min-height:420px}
.side-drawer-toggle{position:absolute;left:-35px;top:18px;width:35px;min-height:118px;border:1px solid rgba(255,255,255,.14);border-right:0;border-radius:13px 0 0 13px;background:linear-gradient(180deg,rgba(16,41,30,.98),rgba(3,12,8,.98));color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;cursor:pointer;box-shadow:-7px 8px 18px rgba(0,0,0,.3);z-index:40}
.side-drawer-toggle span{font-size:18px;color:#8df0ad}.side-drawer-toggle b{font-size:8px;writing-mode:vertical-rl;letter-spacing:.08em}
.game-side.collapsed{width:0;padding-left:0;padding-right:0;border-color:transparent;background:transparent;box-shadow:none}
.game-side.collapsed .side-drawer-content{opacity:0;pointer-events:none;transform:translateX(24px);width:0;overflow:hidden}
.side-drawer-content{opacity:1;transition:opacity .22s ease,transform .22s ease;min-width:300px}

.table-open-countdown{font-variant-numeric:tabular-nums;color:#9ff3bb}.table-open-countdown.urgent{color:#ff9a80;animation:timerPulse .6s infinite alternate}

@media(max-width:760px){
  .poker-stage{padding-bottom:112px}.poker-table .seat0{top:83.8%}.poker-table .empty-seat.seat0{top:82.8%}.poker-table .seat1,.poker-table .seat7{top:73.5%}
  .seat.my-seat .hole-cards{bottom:-52px}.seat.my-seat .hole-cards .playing-card.small{width:64px;height:92px}
  .game-layout{display:block}.game-side{position:fixed;left:8px;right:8px;bottom:8px;width:auto;z-index:100;max-height:52vh;min-height:0;box-shadow:0 -15px 35px rgba(0,0,0,.55)}
  .game-side.collapsed{left:auto;right:8px;bottom:14px;width:0;height:0;padding:0}
  .side-drawer-toggle{left:auto;right:0;top:auto;bottom:0;width:108px;min-height:34px;border:1px solid rgba(255,255,255,.16);border-radius:999px;flex-direction:row;background:rgba(4,18,11,.96)}
  .side-drawer-toggle b{writing-mode:horizontal-tb;font-size:10px}.side-drawer-toggle span{transform:rotate(90deg)}
  .game-side:not(.collapsed) .side-drawer-toggle{top:-36px;bottom:auto}.side-drawer-content{min-width:0;max-height:45vh;overflow:auto}
  .table-open-countdown{display:inline-flex!important}
}


/* v1.9 — lobby jackpot, room time, vertical chip towers, skin showroom */
.lobby-jackpot-banner{position:relative;overflow:hidden;margin:14px 0 4px;padding:18px 24px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:radial-gradient(circle at 50% 0,rgba(255,226,112,.22),transparent 46%),linear-gradient(135deg,#211704,#4a3108 50%,#171005);border:2px solid #f1cc62;box-shadow:0 0 0 1px rgba(255,244,185,.18) inset,0 0 24px rgba(255,194,45,.28),0 15px 38px rgba(0,0,0,.35)}
.lobby-jackpot-banner:before{content:"";position:absolute;inset:-80% -20%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.52) 49%,transparent 56%);animation:jackpotShine 3.2s linear infinite;pointer-events:none}.lobby-jackpot-banner:after{content:"✦  ✧  ✦  ✧  ✦";position:absolute;right:20px;top:5px;color:#fff1a4;letter-spacing:10px;font-size:11px;animation:sparklePulse 1.4s ease-in-out infinite alternate}.lobby-jackpot-banner span,.lobby-jackpot-banner b{display:block}.lobby-jackpot-banner span{font-size:10px;letter-spacing:.25em;color:#f8d875;font-weight:1000}.lobby-jackpot-banner b{font-size:34px;color:#fff8cb;text-shadow:0 0 10px #e9aa23,0 3px 0 #7a4d00;font-variant-numeric:tabular-nums}.lobby-jackpot-banner small{color:#f1d995;font-weight:850}
@keyframes jackpotShine{to{transform:translateX(70%)}}@keyframes sparklePulse{from{opacity:.35;filter:drop-shadow(0 0 2px #fff)}to{opacity:1;filter:drop-shadow(0 0 9px #ffd84d)}}
.room-open-time{margin:11px 0;padding:9px 10px;border-radius:11px;background:#091b13;border:1px solid rgba(113,211,160,.13);display:grid;grid-template-columns:auto 1fr;gap:3px 8px;align-items:center}.room-open-time span{font-size:9px;letter-spacing:.12em;color:#77dfa9;font-weight:900}.room-open-time b{text-align:right;color:#f7d36c;font-size:11px}.room-open-time small{grid-column:1/-1;color:#81978c;font-size:9px}
.table-jackpot-hud{top:28.5%!important;padding:8px 17px!important;border:2px solid rgba(255,224,104,.58)!important;box-shadow:0 0 24px rgba(255,197,40,.38),inset 0 0 13px rgba(255,228,120,.12)!important;animation:tableJackpotPulse 1.7s ease-in-out infinite alternate}.table-jackpot-hud span{font-size:9px!important}.table-jackpot-hud b{font-size:16px!important;color:#fff5b6!important;text-shadow:0 0 8px #e8a817}.pot-label{font-size:18px!important;padding:6px 16px!important;box-shadow:0 0 14px rgba(255,229,122,.16)}@keyframes tableJackpotPulse{from{filter:brightness(.9)}to{filter:brightness(1.18)}}
.pot-chip-stack{width:190px!important;height:92px!important;margin:1px auto 0!important}.vertical-chip-pile{position:absolute;left:50%;top:4px;width:176px;height:68px;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center;gap:2px;perspective:380px}.vertical-chip-tower{position:relative;width:25px;height:62px;transform:translateY(var(--tower-offset));filter:drop-shadow(0 6px 5px rgba(0,0,0,.52))}.vertical-chip{position:absolute;left:0;bottom:calc(var(--level) * 5px);width:25px;height:10px;border-radius:50%;border:2px dashed rgba(255,255,255,.9);box-shadow:0 2px 0 rgba(0,0,0,.8),inset 0 2px 2px rgba(255,255,255,.55);animation:verticalChipLand .38s cubic-bezier(.18,.85,.25,1.2) var(--delay) both}.vertical-chip.red{background:linear-gradient(#ff7979,#9c101b)}.vertical-chip.blue{background:linear-gradient(#75c6ff,#164da4)}.vertical-chip.gold{background:linear-gradient(#ffe88a,#b87409)}.vertical-chip.black{background:linear-gradient(#6b7481,#10141b)}.vertical-chip.green{background:linear-gradient(#7ae7a4,#126f3c)}.pot-chip-stack>span{bottom:0!important;font-size:9px!important}@keyframes verticalChipLand{from{opacity:0;transform:translateY(-30px) rotateX(35deg) scale(1.16)}to{opacity:1;transform:none}}
.skin-shop-card{position:relative;overflow:hidden}.skin-shop-card:before{content:"";position:absolute;inset:-60%;background:conic-gradient(transparent 0 28%,rgba(255,241,158,.75) 31%,transparent 35% 75%,rgba(122,238,255,.6) 79%,transparent 83%);animation:skinBorderSpin 5.5s linear infinite;opacity:.32;pointer-events:none}.skin-shop-card>*{position:relative;z-index:1}.skin-shop-preview{height:122px;border-radius:55% 55% 22% 22% / 25% 25% 16% 16%;background:radial-gradient(ellipse at 50% 42%,var(--felt),var(--felt2) 72%);border:9px solid var(--rail);box-shadow:inset 0 0 0 3px var(--rail2),inset 0 0 24px #000,0 0 15px var(--table-glow);display:grid;place-items:center;position:relative;margin-bottom:13px}.skin-shop-preview:after{content:"";position:absolute;inset:7px;border:2px solid var(--accent);border-radius:inherit;box-shadow:0 0 12px var(--accent),inset 0 0 9px var(--accent);opacity:.62;animation:skinRailPulse 1.6s ease-in-out infinite alternate}.skin-shop-preview b{font-size:42px;color:var(--accent);opacity:.5;text-shadow:0 0 15px var(--accent)}.skin-shop-preview span{position:absolute;bottom:10px;font-size:7px;letter-spacing:.18em;color:#fff}.shop-card-actions{display:flex;gap:7px}.shop-card-actions button{flex:1}@keyframes skinBorderSpin{to{transform:rotate(360deg)}}@keyframes skinRailPulse{to{opacity:1;filter:brightness(1.3)}}
.skin-preview-dialog{width:min(620px,calc(100% - 24px))}.skin-preview-modal{text-align:center}.skin-preview-table{--felt:#12603d;--felt2:#062b1c;--rail:#111918;--rail2:#89d95a;--accent:#a6ee72;--sigil:"♠";height:430px;max-height:62vh;margin:14px auto;border-radius:48% 48% 22% 22% / 18% 18% 12% 12%;background:radial-gradient(ellipse at 50% 42%,var(--felt),var(--felt2) 73%);border:20px solid var(--rail);box-shadow:inset 0 0 0 5px var(--rail2),inset 0 0 55px rgba(0,0,0,.74),0 0 35px var(--table-glow);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;overflow:hidden}.skin-preview-table:before{content:var(--sigil);position:absolute;font-size:170px;color:var(--accent);opacity:.12;text-shadow:0 0 20px var(--accent)}.preview-rail{position:absolute;inset:8px;border:2px solid var(--accent);border-radius:inherit;box-shadow:0 0 18px var(--accent),inset 0 0 14px var(--accent);animation:skinRailPulse 1.4s infinite alternate}.preview-pot,.preview-board,.skin-preview-table small{z-index:2}.preview-pot{padding:8px 20px;border-radius:999px;background:#07120ddd;color:#fff2a4;font-size:22px;font-weight:950}.preview-board{font-size:28px;letter-spacing:6px;color:white;text-shadow:0 2px 4px #000}.skin-preview-table small{color:#e8f2ec}
@media(max-width:700px){.lobby-jackpot-banner{align-items:flex-start;flex-direction:column;padding:16px}.lobby-jackpot-banner b{font-size:27px}.table-jackpot-hud{top:27.7%!important}.pot-label{font-size:15px!important}.pot-chip-stack{transform:scale(.9);transform-origin:center top}.skin-preview-table{height:360px}}


/* v2.0 — separated jackpot/pot HUD, stable actions, reservations and turn alerts */
.table-jackpot-hud{
  top:10.5%!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  animation:none!important;
  opacity:.68;
  backdrop-filter:none!important;
  pointer-events:none;
  z-index:5;
}
.table-jackpot-hud span{font-size:8px!important;letter-spacing:.24em;color:rgba(255,240,176,.82)!important}
.table-jackpot-hud b{font-size:15px!important;color:rgba(255,248,209,.9)!important;text-shadow:0 2px 8px rgba(0,0,0,.85)!important}
.pot-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  padding:8px 21px!important;
  border:2px solid #e7bd55!important;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(8,15,12,.88),rgba(3,8,6,.93))!important;
  box-shadow:inset 0 0 0 1px rgba(255,250,203,.2),0 0 16px rgba(231,189,85,.24),0 7px 16px rgba(0,0,0,.42)!important;
  color:#fff0a1!important;
  text-shadow:0 2px 3px #000;
}
.pot-chip-stack>span{display:none!important}
.room-card.room-full{border-color:rgba(232,195,106,.28)}
.reservation-pill{background:#49391b!important;color:#ffe199!important}
.reserve-room-btn{box-shadow:0 0 14px rgba(232,195,106,.18)}
.playing-card{animation:none!important}
.playing-card.board-deal-card,.playing-card.deal-hole-card{animation:dealCard .42s ease both!important;animation-delay:var(--deal-delay)!important}
.seat,.seat-profile-top,.seat-name-row,.seat-stack,.seat-bet-info{animation:none!important}
.poker-table.my-turn-pulse{animation:myTurnTablePulse .62s ease-in-out 4!important}
.my-room-tab.my-turn{animation:myTurnTabPulse .72s ease-in-out infinite alternate}
@keyframes myTurnTablePulse{
  0%,100%{box-shadow:inset 0 0 0 5px var(--rail2),inset 0 0 70px rgba(0,0,0,.46),0 0 24px rgba(94,255,161,.16),0 28px 60px rgba(0,0,0,.45)}
  50%{box-shadow:inset 0 0 0 5px #fff0a0,inset 0 0 70px rgba(0,0,0,.40),0 0 44px rgba(83,255,157,.62),0 28px 60px rgba(0,0,0,.45)}
}
@keyframes myTurnTabPulse{from{box-shadow:0 0 0 rgba(70,243,143,0)}to{box-shadow:0 0 17px rgba(70,243,143,.72)}}
@media(max-width:700px){
  .table-jackpot-hud{top:9.2%!important}
  .pot-label{min-width:128px;padding:7px 15px!important}
}


/* v2.1 — real skin previews, sequential dealing, buy-in badge and discreet AI disclosure */
.my-buyin-badge{border:1px solid rgba(232,195,106,.55)!important;background:linear-gradient(180deg,#3e3217,#171107)!important;color:#ffe49a!important;font-weight:900}
.seat-entry-stack{font-size:8px;color:#e8c36a;text-align:center;margin-top:1px;letter-spacing:.03em}
.playing-card.sequential-deal-card{opacity:0;animation:dealSeatBySeat .52s cubic-bezier(.18,.75,.28,1.12) both!important;animation-delay:var(--deal-delay)!important;transform-origin:50% 50%}
@keyframes dealSeatBySeat{0%{opacity:0;transform:translateY(-240px) translateX(18px) rotate(-18deg) scale(.20)}58%{opacity:1;transform:translateY(7px) rotate(3deg) scale(1.05)}100%{opacity:1;transform:none}}
.skin-shop-preview{isolation:isolate;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 34%),radial-gradient(ellipse at 50% 48%,var(--felt),var(--felt2) 76%)!important;border-color:var(--rail)!important;box-shadow:inset 0 0 0 3px var(--rail2),inset 0 0 30px rgba(0,0,0,.78),0 0 20px var(--table-glow)!important}
.skin-shop-preview:before{content:var(--sigil);position:absolute;inset:0;display:grid;place-items:center;font-size:66px;font-weight:950;color:var(--accent);opacity:.14;text-shadow:0 0 18px var(--accent);z-index:-1}
.skin-shop-preview em{position:absolute;top:8px;left:10px;font-style:normal;font-size:8px;color:rgba(255,255,255,.85);letter-spacing:.08em}
.skin-shop-preview .skin-mini-rail{position:absolute;inset:6px;border:2px solid var(--accent);border-radius:inherit;box-shadow:0 0 14px var(--accent),inset 0 0 10px var(--accent);opacity:.76;animation:skinRailPulse 1.6s ease-in-out infinite alternate}
.skin-shop-preview b{color:var(--accent)!important;opacity:.64!important}
.skin-preview-table{background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 30%),radial-gradient(ellipse at 50% 42%,var(--felt),var(--felt2) 73%)!important;border-color:var(--rail)!important;box-shadow:inset 0 0 0 5px var(--rail2),inset 0 0 65px rgba(0,0,0,.76),0 0 42px var(--table-glow)!important}
.skin-preview-table:before{content:""!important;background:repeating-radial-gradient(circle at center,transparent 0 28px,color-mix(in srgb,var(--accent) 7%,transparent) 29px 30px,transparent 31px 58px);opacity:.58}
.preview-sigil{position:absolute;z-index:1;font-size:165px;font-weight:950;color:var(--accent);opacity:.14;text-shadow:0 0 25px var(--accent)}
.preview-seat{position:absolute;width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,#26352f,#07100c);border:3px solid var(--rail2);box-shadow:0 0 12px var(--table-glow)}
.preview-seat.p1{left:9%;top:43%}.preview-seat.p2{right:9%;top:43%}.preview-seat.p3{left:31%;top:8%}.preview-seat.p4{right:31%;bottom:8%}
.skin-preview-table.motif-dragon:after,.skin-shop-preview.motif-dragon:after{background:linear-gradient(125deg,transparent 35%,rgba(122,243,255,.12) 48%,transparent 60%)}
.skin-preview-table.motif-tiger:after,.skin-shop-preview.motif-tiger:after{background:repeating-linear-gradient(110deg,transparent 0 18px,rgba(255,241,198,.09) 20px 25px,transparent 27px 46px)}
.skin-preview-table.motif-tortoise:after,.skin-shop-preview.motif-tortoise:after{background:repeating-radial-gradient(circle at center,transparent 0 24px,rgba(139,215,189,.08) 25px 27px)}
.skin-preview-table.motif-phoenix:after,.skin-shop-preview.motif-phoenix:after{background:radial-gradient(circle at 50% 80%,rgba(255,100,35,.22),transparent 44%)}
.skin-preview-table.motif-gold-dragon:after,.skin-shop-preview.motif-gold-dragon:after{background:conic-gradient(from 40deg,transparent,rgba(255,233,146,.11),transparent 30%,rgba(255,233,146,.08),transparent)}
.skin-preview-table[class*="motif-"]:after,.skin-shop-preview[class*="motif-"]:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;z-index:0}
@media(max-width:700px){.my-buyin-badge{font-size:8px!important}.seat-entry-stack{font-size:7px}.playing-card.sequential-deal-card{animation-duration:.48s!important}}


/* v3.0 account authentication */
.account-login-card{max-width:470px}
.account-auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:rgba(0,0,0,.25);border-radius:14px;margin:14px 0}
.account-auth-tabs button{border:0;background:transparent;color:var(--muted);padding:10px;border-radius:10px;font-weight:900}
.account-auth-tabs button.active{background:linear-gradient(135deg,#e8c56a,#9a6d1e);color:#171005}
.account-login-card form{display:grid;gap:8px}
.account-login-card input{width:100%;background:#07130e;border:1px solid var(--line);color:white;border-radius:11px;padding:12px}
.guest-login-area{display:grid;gap:7px;margin:12px 0;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:520px){.account-login-card{width:calc(100vw - 18px);padding:18px}}


/* v3.0.2 — action labels, readable table stack, spaced seats and card skins */
.playing-card.back .card-back-mark{display:none}
.my-buyin-badge{
  min-width:150px!important;padding:7px 14px!important;font-size:14px!important;
  border:2px solid rgba(255,220,111,.78)!important;color:#fff0a5!important;
  box-shadow:0 0 15px rgba(244,201,80,.24),inset 0 0 10px rgba(255,231,140,.08)!important;
  font-variant-numeric:tabular-nums
}
.seat-stack{font-size:10px!important;padding:3px 9px!important;color:#d8fff0!important;border:1px solid rgba(105,234,172,.25)}
.seat-entry-stack,.seat-action{display:none!important}
.seat-last-action{
  position:absolute;left:50%;top:-28px;transform:translateX(-50%);z-index:12;
  min-width:64px;max-width:126px;padding:4px 9px;border-radius:999px;
  color:#fff;font-size:9px;font-weight:950;line-height:1.15;text-align:center;white-space:nowrap;
  border:1px solid rgba(255,255,255,.72);box-shadow:0 5px 12px rgba(0,0,0,.55);text-shadow:0 1px 2px #000
}
.seat-last-action.action-call{background:linear-gradient(180deg,#f0a62d,#b55a03)}
.seat-last-action.action-raise{background:linear-gradient(180deg,#39db78,#138b46)}
.seat-last-action.action-check{background:linear-gradient(180deg,#5f9fe4,#28588e)}
.seat-last-action.action-fold{background:linear-gradient(180deg,#6b6f78,#30333a);opacity:.88}
.seat-last-action.action-allin{background:linear-gradient(180deg,#ff5858,#a80f25);box-shadow:0 0 15px rgba(255,65,65,.68),0 5px 12px rgba(0,0,0,.55)}
.seat-last-action.action-blind{background:linear-gradient(180deg,#9d7bd7,#553681)}
.seat-last-action.action-status{background:linear-gradient(180deg,#76633e,#3b2d16)}

/* Keep all eight visual slots separated after rotating the viewer to slot 0. */
.poker-table .seat0{left:50%;top:84.8%}
.poker-table .seat1{left:25%;top:76%}
.poker-table .seat2{left:13.5%;top:57%}
.poker-table .seat3{left:23%;top:31%}
.poker-table .seat4{left:50%;top:8.5%}
.poker-table .seat5{left:77%;top:31%}
.poker-table .seat6{left:86.5%;top:57%}
.poker-table .seat7{left:75%;top:76%}
.poker-table .seat:not(.my-seat){width:96px!important}
.poker-table .seat.my-seat{width:136px!important}

.folded-card-hidden{display:grid;place-items:center;min-width:96px;min-height:45px;border:1px dashed rgba(255,255,255,.22);border-radius:8px;color:#8f9994;font-size:10px;background:rgba(0,0,0,.2)}
.result-player.folded-result{opacity:.68}.result-player.folded-result .result-cards{min-height:45px}

.card-skin-shop-preview{height:150px;border-radius:17px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at center,rgba(255,255,255,.08),rgba(0,0,0,.46));margin-bottom:12px;overflow:hidden}
.card-skin-shop-preview .playing-card{width:72px;height:104px;transform:rotate(-4deg);box-shadow:0 13px 25px rgba(0,0,0,.62)}
.card-skin-shop-preview em{position:absolute;bottom:8px;font-style:normal;font-size:9px;color:#f4e5b6;letter-spacing:.06em}
.card-skin-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:9px}
.card-skin-option{display:grid;place-items:center;gap:5px;padding:9px 5px;border-radius:13px;background:#101b16;border:1px solid rgba(255,255,255,.1);color:white}
.card-skin-option .playing-card{width:42px;height:60px;pointer-events:none}.card-skin-option b{font-size:8px}.card-skin-option.selected{outline:3px solid #f2cf69;background:#2c2512}

.playing-card.back.card-back-classic-card{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 3px,transparent 4px),conic-gradient(from 45deg,#a21f29,#e54545,#81121d,#d4323e,#a21f29);background-size:12px 12px,100% 100%}
.playing-card.back.card-back-midnight-blue{background:repeating-linear-gradient(45deg,#07162f 0 6px,#123d70 6px 12px);border-color:#a8cfff;box-shadow:inset 0 0 0 2px #3d79b8,0 8px 14px rgba(0,0,0,.42)}
.playing-card.back.card-back-emerald-grid{background:linear-gradient(45deg,rgba(255,255,255,.09) 25%,transparent 25% 75%,rgba(255,255,255,.09) 75%),linear-gradient(-45deg,rgba(255,255,255,.09) 25%,#075c42 25% 75%,rgba(255,255,255,.09) 75%);background-size:14px 14px;border-color:#a8f1d4}
.playing-card.back.card-back-royal-gold{background:radial-gradient(circle,#f8dc7a 0 2px,transparent 3px),conic-gradient(from 45deg,#2c2007,#b88720,#f0d36c,#6e4a0d,#2c2007);background-size:13px 13px,100% 100%;border-color:#fff1ae}
.playing-card.back.card-back-crimson-dragon{background:radial-gradient(circle at 50% 30%,rgba(255,184,110,.24),transparent 36%),repeating-linear-gradient(135deg,#3c0610 0 8px,#9f1729 8px 16px);border-color:#ffbd85}
.playing-card.back.card-back-violet-neon{background:radial-gradient(circle at center,#c855ff 0 2px,transparent 3px),linear-gradient(135deg,#10051e,#4b0d75 50%,#12051f);background-size:12px 12px,100% 100%;border-color:#e5a7ff;box-shadow:inset 0 0 12px #9b35d0,0 0 12px rgba(189,71,255,.45)}
.playing-card.back.card-back-midnight-blue:after{content:"◆"}.playing-card.back.card-back-emerald-grid:after{content:"♣"}.playing-card.back.card-back-royal-gold:after{content:"♛"}.playing-card.back.card-back-crimson-dragon:after{content:"龍"}.playing-card.back.card-back-violet-neon:after{content:"✦"}

@media(max-width:700px){
  .my-buyin-badge{min-width:118px!important;font-size:10px!important;padding:5px 8px!important}
  .poker-table .seat:not(.my-seat){width:74px!important}
  .poker-table .seat.my-seat{width:112px!important}
  .poker-table .seat0{top:83%}
  .poker-table .seat1{left:27%;top:73%}
  .poker-table .seat2{left:13%;top:55%}
  .poker-table .seat3{left:25%;top:29%}
  .poker-table .seat4{top:8.5%}
  .poker-table .seat5{left:75%;top:29%}
  .poker-table .seat6{left:87%;top:55%}
  .poker-table .seat7{left:73%;top:73%}
  .seat-last-action{top:-23px;min-width:54px;max-width:88px;padding:3px 6px;font-size:7px}
  .seat-stack{font-size:7px!important;padding:2px 5px!important}
  .card-skin-shop-preview{height:125px}.card-skin-shop-preview .playing-card{width:61px;height:88px}
}


/* v3.0.3 — reliable dialogs, card previews, separated seats, left game menu and jackpot live feed */
.game-view{position:relative}
.game-left-menu{position:fixed;left:0;top:50%;z-index:58;display:flex;align-items:center;transform:translateY(-50%);filter:drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.game-left-menu-actions{display:grid;gap:7px;width:142px;padding:10px;background:linear-gradient(180deg,rgba(6,18,13,.97),rgba(3,10,7,.98));border:1px solid rgba(238,202,106,.34);border-left:0;border-radius:0 15px 15px 0;overflow:hidden;transition:width .22s ease,padding .22s ease,opacity .18s ease}
.game-left-menu-actions button{width:120px;min-height:38px;font-size:11px;font-weight:900;white-space:nowrap}
.game-left-menu.collapsed .game-left-menu-actions{width:0;padding-left:0;padding-right:0;opacity:0;border-width:0}
.game-menu-toggle{width:28px;height:78px;margin-left:-1px;border:1px solid rgba(238,202,106,.48);border-left:0;border-radius:0 12px 12px 0;background:linear-gradient(180deg,#3d3215,#171005);color:#ffe898;font-size:14px;font-weight:950;cursor:pointer}
.game-header{grid-template-columns:1fr auto!important;padding-left:40px}

/* Jackpot is now part of the center stack and sits immediately above the pot. */
.table-center .table-jackpot-hud{position:relative!important;left:auto!important;top:auto!important;transform:none!important;margin:2px auto 5px!important;min-width:132px;padding:5px 13px!important;opacity:.72!important;border:0!important;border-radius:999px!important;background:rgba(4,12,8,.55)!important;box-shadow:none!important;animation:none!important;backdrop-filter:blur(3px)}
.table-center .table-jackpot-hud span{font-size:7px!important;letter-spacing:.2em!important}
.table-center .table-jackpot-hud b{font-size:13px!important}

/* Seat cards and text use fixed rows so names, stacks and bets never overlap. */
.poker-table .seat{display:grid!important;grid-template-rows:auto 17px 20px 24px auto;align-content:start;row-gap:2px;overflow:visible!important}
.poker-table .seat-profile-top{grid-row:1;min-height:38px}
.poker-table .seat-name-row{grid-row:2;display:flex!important;align-items:center;justify-content:center;gap:3px;min-width:0;line-height:1;overflow:hidden}
.poker-table .seat-name{display:block;min-width:0;max-width:76px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:15px!important}
.poker-table .seat-stack{grid-row:3;display:flex!important;align-items:center;justify-content:center;white-space:nowrap;line-height:16px!important;margin:0!important}
.poker-table .seat-bet-info{grid-row:4;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:0!important;line-height:10px!important;min-height:22px;white-space:nowrap;overflow:hidden}
.poker-table .hole-cards{grid-row:5;margin-top:1px}
.poker-table .seat-last-action{top:-25px!important}

/* Wider orbital spacing after the local player is rotated to slot 0. */
.poker-table .seat0{left:50%!important;top:85.5%!important}
.poker-table .seat1{left:26%!important;top:79%!important}
.poker-table .seat2{left:9%!important;top:57.5%!important}
.poker-table .seat3{left:20%!important;top:28.5%!important}
.poker-table .seat4{left:50%!important;top:7.5%!important}
.poker-table .seat5{left:80%!important;top:28.5%!important}
.poker-table .seat6{left:91%!important;top:57.5%!important}
.poker-table .seat7{left:74%!important;top:79%!important}
.poker-table .seat:not(.my-seat){width:90px!important}
.poker-table .seat.my-seat{width:132px!important}

.card-skin-preview-modal{text-align:center}
.card-skin-preview-stage{height:410px;max-height:60vh;margin:14px auto;position:relative;border-radius:26px;background:radial-gradient(circle at 50% 36%,rgba(235,204,115,.16),transparent 35%),linear-gradient(145deg,#0b2118,#030805);border:1px solid rgba(255,224,140,.22);overflow:hidden;display:grid;place-items:center}
.card-skin-preview-stage .playing-card{position:absolute;width:150px;height:216px;border-radius:14px;box-shadow:0 24px 45px rgba(0,0,0,.68)}
.card-skin-preview-stage .preview-card-left{transform:translateX(-48px) rotate(-10deg)}
.card-skin-preview-stage .preview-card-right{transform:translateX(48px) rotate(10deg)}
.card-skin-preview-label{position:absolute;left:20px;right:20px;bottom:16px;display:grid;gap:3px;padding:10px;border-radius:12px;background:rgba(0,0,0,.66);color:white;z-index:4}
.card-skin-preview-label small{color:#c8d7d0}
.card-skin-inventory-item{display:grid;gap:4px}
.card-skin-mini-preview{border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#18271f;color:#f4dfa2;font-size:8px;padding:4px}

.jackpot-status-head{margin-top:20px}
.jackpot-status-feed{padding:10px;display:grid;gap:7px}
.jackpot-status-row{display:grid;grid-template-columns:minmax(180px,1.25fr) minmax(130px,.9fr) minmax(100px,.65fr);align-items:center;gap:12px;padding:11px 13px;border:1px solid rgba(238,201,100,.16);border-radius:13px;background:linear-gradient(90deg,rgba(255,206,83,.055),rgba(5,16,11,.25))}
.jackpot-status-player{display:flex;align-items:center;gap:9px;min-width:0}.jackpot-status-player>div{display:grid;min-width:0}.jackpot-status-player b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jackpot-status-row small{color:var(--muted);font-size:9px}
.jackpot-ai-tag,.jackpot-user-tag{display:inline-grid;place-items:center;min-width:38px;height:24px;border-radius:999px;font-size:8px;font-weight:950}.jackpot-ai-tag{background:#563c83;color:#f0dcff}.jackpot-user-tag{background:#194e38;color:#a5f4ce}
.jackpot-status-hand{display:grid}.jackpot-status-hand strong{color:#ffe69a;font-size:15px}.jackpot-status-amount{display:grid;justify-items:end}.jackpot-status-amount b{font-size:16px;color:#ffe783}.jackpot-status-amount span{font-size:8px}.jackpot-status-amount .status-claimable{color:#ffb870}.jackpot-status-amount .status-claimed{color:#79e6ad}
.jackpot-status-empty{text-align:center;padding:24px;color:var(--muted)}
.jackpot-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))!important}

@media(max-width:700px){
  .game-left-menu{top:46%}.game-left-menu-actions{width:122px;padding:8px}.game-left-menu-actions button{width:104px;min-height:35px;font-size:10px}.game-menu-toggle{width:25px;height:68px}
  .game-header{padding-left:30px!important;grid-template-columns:1fr auto!important}
  .poker-table .seat:not(.my-seat){width:72px!important;padding:4px!important;grid-template-rows:auto 15px 17px 21px auto}
  .poker-table .seat.my-seat{width:108px!important}
  .poker-table .seat-name{max-width:52px!important;font-size:8px!important;line-height:13px!important}
  .poker-table .seat-stack{font-size:7px!important;line-height:14px!important;padding:1px 3px!important}
  .poker-table .seat-bet-info{font-size:6px!important;line-height:8px!important;min-height:18px}
  .poker-table .seat-last-action{top:-21px!important;max-width:72px!important;font-size:6px!important;padding:3px 5px!important}
  .poker-table .seat0{top:83.5%!important}
  .poker-table .seat1{left:29%!important;top:74.5%!important}
  .poker-table .seat2{left:8.5%!important;top:54.5%!important}
  .poker-table .seat3{left:23%!important;top:26.5%!important}
  .poker-table .seat4{top:7%!important}
  .poker-table .seat5{left:77%!important;top:26.5%!important}
  .poker-table .seat6{left:91.5%!important;top:54.5%!important}
  .poker-table .seat7{left:71%!important;top:74.5%!important}
  .table-center .table-jackpot-hud{min-width:112px;padding:4px 9px!important;margin-bottom:4px!important}.table-center .table-jackpot-hud b{font-size:11px!important}
  .card-skin-preview-stage{height:330px}.card-skin-preview-stage .playing-card{width:112px;height:162px}.card-skin-preview-stage .preview-card-left{transform:translateX(-36px) rotate(-10deg)}.card-skin-preview-stage .preview-card-right{transform:translateX(36px) rotate(10deg)}
  .jackpot-status-row{grid-template-columns:1fr auto;gap:7px}.jackpot-status-hand{grid-column:1/2}.jackpot-status-amount{grid-column:2;grid-row:1/3}
}


/* v3.0.4 — jackpot winners, centered table HUD and drawer-bottom room controls */
.game-header{padding-left:14px!important}
.center-money-stack{display:grid;justify-items:center;align-items:start;width:100%;margin:3px auto 0;position:relative;z-index:3}
.center-money-stack .table-jackpot-hud{display:inline-grid!important;justify-items:center!important;place-self:center!important;position:relative!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;margin:0 auto 6px!important;min-width:164px!important;padding:6px 18px!important;text-align:center!important;opacity:.88!important;background:rgba(3,10,7,.64)!important;border:1px solid rgba(255,228,135,.18)!important;border-radius:999px!important;box-shadow:0 5px 16px rgba(0,0,0,.22)!important}
.center-money-stack .table-jackpot-hud span,.center-money-stack .table-jackpot-hud b{display:block;width:100%;text-align:center!important}
.center-money-stack .table-jackpot-hud span{font-size:8px!important;letter-spacing:.24em!important;color:rgba(255,234,156,.88)!important}
.center-money-stack .table-jackpot-hud b{font-size:16px!important;line-height:1.15!important;color:#fff4bb!important;font-variant-numeric:tabular-nums;text-shadow:0 2px 7px rgba(0,0,0,.9)!important}
.center-money-stack .pot-label{place-self:center!important;margin:0 auto!important;text-align:center!important}
.center-money-stack .pot-chip-stack{place-self:center!important}

.game-side{min-height:680px}
.side-drawer-content{height:100%;display:flex;flex-direction:column;min-height:0}
.side-panel{min-height:0}
.side-panel.active{flex:1}
.side-report-btn{flex:0 0 auto;margin-top:7px}
.game-side-actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;padding-top:9px;border-top:1px solid rgba(255,255,255,.09)}
.game-side-actions button{min-width:0;min-height:39px;padding:8px 6px;font-size:10px;font-weight:900;white-space:nowrap}
.game-side-actions #exitRoomBtn{grid-column:1/-1}
.game-side-actions #rebuyBtn:not(.hidden){animation:rebuyButtonPulse .75s ease-in-out infinite alternate}
@keyframes rebuyButtonPulse{from{box-shadow:0 0 0 rgba(255,208,87,0)}to{box-shadow:0 0 16px rgba(255,208,87,.55)}}

.jackpot-winners-section{margin-top:20px}
.jackpot-status-head{align-items:end!important;margin-top:0!important}
.jackpot-status-head p{margin:3px 0 0;color:var(--muted);font-size:11px}
.jackpot-status-summary{display:grid;justify-items:end;gap:3px}
.jackpot-status-summary b{font-size:16px;color:#ffe898;font-variant-numeric:tabular-nums}
.jackpot-status-summary span{font-size:10px;color:var(--muted)}
.jackpot-status-columns{display:grid;grid-template-columns:minmax(210px,1.25fr) minmax(150px,.9fr) minmax(110px,.65fr);gap:12px;padding:0 23px 6px;color:#82978d;font-size:9px;font-weight:900;letter-spacing:.08em}
.jackpot-status-columns span:last-child{text-align:right}
.jackpot-status-feed{padding:10px!important;display:grid!important;gap:7px!important;min-height:84px}
.jackpot-status-row{position:relative;padding-left:42px!important}
.jackpot-hit-rank{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#3a2d11;color:#ffe89b;font-size:9px;font-weight:950;border:1px solid rgba(255,224,123,.22)}
.jackpot-status-empty{display:grid;gap:6px;text-align:center;padding:25px!important}
.jackpot-status-empty b{color:#f1d98e;font-size:14px}
.jackpot-status-empty span{color:var(--muted);font-size:10px}

@media(max-width:760px){
  .game-header{padding-left:8px!important}
  .game-side{min-height:0}
  .side-drawer-content{max-height:45vh;overflow:hidden!important}
  .side-panel.active{overflow:hidden}
  .side-panel .scroll-list{height:auto;min-height:110px;max-height:20vh}
  .game-side-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:6px;padding-top:6px}
  .game-side-actions button{min-height:36px;font-size:9px;padding:6px 4px}
  .center-money-stack .table-jackpot-hud{min-width:140px!important;padding:5px 13px!important;margin-bottom:5px!important}
  .center-money-stack .table-jackpot-hud b{font-size:13px!important}
  .jackpot-status-head{align-items:flex-start!important;gap:10px}.jackpot-status-summary{justify-items:start}
  .jackpot-status-columns{display:none}
  .jackpot-status-row{padding-left:38px!important}
}

.game-side .side-panel.active>.scroll-list{height:auto!important;flex:1;min-height:160px}


/* v3.0.5 — compact hole-card peek, header contact and mobile chat usability */
.brand-cluster{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.header-contact-btn{border:1px solid rgba(116,191,235,.34);border-radius:999px;background:rgba(30,119,177,.22);color:#bde8ff;min-height:32px;padding:6px 10px;font-size:10px;font-weight:900;cursor:pointer}
.header-contact-btn:hover{background:rgba(37,135,198,.38);color:white}
.contact-widget{position:fixed!important;left:14px!important;top:78px!important;bottom:auto!important;z-index:120;pointer-events:none}
.contact-widget .contact-panel{position:relative!important;left:0!important;bottom:auto!important;pointer-events:auto;width:min(330px,calc(100vw - 28px))}
.jackpot-status-player{gap:0!important}.jackpot-status-player>div{width:100%}

.hole-cards-toggle{position:relative;appearance:none;border:0;padding:0 2px!important;background:transparent!important;color:inherit;display:flex!important;justify-content:center;align-items:flex-start;gap:3px;cursor:pointer;overflow:hidden!important;height:24px!important;min-height:24px!important;transition:height .2s ease,filter .2s ease,transform .2s ease;touch-action:manipulation}
.hole-cards-toggle .playing-card{flex:0 0 auto;pointer-events:none}
.hole-cards-toggle.collapsed:after{content:"⌄";position:absolute;right:3px;bottom:0;display:grid;place-items:center;width:13px;height:13px;border-radius:50%;background:rgba(0,0,0,.72);color:#f4dc8c;font-size:8px;box-shadow:0 2px 6px rgba(0,0,0,.45)}
.hole-cards-toggle.expanded{height:64px!important;min-height:64px!important;overflow:visible!important;z-index:45!important;filter:drop-shadow(0 9px 12px rgba(0,0,0,.55))}
.seat.my-seat .hole-cards-toggle{bottom:-27px!important;height:30px!important;min-height:30px!important}
.seat.my-seat .hole-cards-toggle.expanded{bottom:-52px!important;height:94px!important;min-height:94px!important}
.hole-cards-empty{height:22px!important;min-height:22px!important}

.game-side-actions #backToLobbyBtn{width:auto!important;height:auto!important;min-height:39px!important;font-size:10px!important;border-radius:10px!important}
.game-side-actions #backToLobbyBtn:before{content:none!important}

#chatForm{flex:0 0 auto;min-width:0}
#chatInput{min-width:0;width:100%;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#07130e;color:white;padding:10px 11px}

@media(max-width:760px){
  .brand-cluster{gap:3px}.brand{padding-left:4px;padding-right:4px;font-size:12px!important}.header-contact-btn{min-height:29px;padding:5px 8px;font-size:9px}
  .contact-widget{left:8px!important;right:8px!important;top:63px!important}.contact-widget .contact-panel{width:100%!important;max-width:340px}
  .hole-cards-toggle{height:19px!important;min-height:19px!important;gap:2px}.hole-cards-toggle.expanded{height:48px!important;min-height:48px!important}
  .seat.my-seat .hole-cards-toggle{bottom:-22px!important;height:25px!important;min-height:25px!important}.seat.my-seat .hole-cards-toggle.expanded{bottom:-48px!important;height:94px!important;min-height:94px!important}
  .game-side{bottom:calc(8px + var(--keyboard-offset,0px))!important;max-height:min(78svh,680px)!important;transition:bottom .12s ease,width .28s ease,opacity .28s ease,transform .28s ease}
  .game-side:not(.collapsed){min-height:310px!important}
  .side-drawer-content{max-height:min(72svh,620px)!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}
  .side-tabs{flex:0 0 auto}.side-panel.active{display:flex!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}
  #side-chat .scroll-list{flex:1 1 auto!important;height:auto!important;min-height:82px!important;max-height:none!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .emoji-target-line,.emoji-help{flex:0 0 auto}.emoji-bar{flex:0 0 auto;overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;padding:4px 0;-webkit-overflow-scrolling:touch}.emoji-bar button{flex:0 0 auto}
  #chatForm{position:sticky;bottom:0;z-index:7;display:grid!important;grid-template-columns:minmax(0,1fr) 62px;gap:6px;padding:7px 0 calc(7px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(5,15,10,.78),#050f0a 25%)}
  #chatInput{height:44px;font-size:16px!important;line-height:20px;padding:10px;touch-action:manipulation}
  #chatForm button{min-height:44px;padding:8px 7px;font-size:11px}
  body.chat-keyboard-open .game-side:not(.collapsed){max-height:min(88svh,720px)!important}
  .game-side-actions #backToLobbyBtn{font-size:10px!important;min-height:36px!important}
}


/* v3.0.6 — visible opposite-seat action, larger inquiry and simplified room exit */
.header-contact-btn{
  min-height:40px!important;
  padding:9px 16px!important;
  border-width:2px!important;
  border-color:rgba(125,211,255,.72)!important;
  background:linear-gradient(180deg,#277eb6,#14517b)!important;
  color:#fff!important;
  font-size:13px!important;
  letter-spacing:.03em;
  box-shadow:0 5px 15px rgba(15,90,139,.42),inset 0 1px rgba(255,255,255,.18)
}
.header-contact-btn:hover{filter:brightness(1.14)}

/* Visual slot 4 is the player opposite the local player. The badge goes below
   that seat so the table's clipped top edge cannot hide CHECK/CALL/RAISE. */
.poker-table .seat4 .seat-last-action{
  top:calc(100% + 5px)!important;
  bottom:auto!important;
  z-index:55!important;
  min-width:72px!important;
  font-size:9px!important;
  box-shadow:0 0 0 2px rgba(5,15,10,.76),0 6px 15px rgba(0,0,0,.7)!important
}
.poker-table .seat4.active .seat-last-action{top:calc(100% + 7px)!important}

.emoji-bar button:disabled,.player-popup-emotes button:disabled{
  opacity:.42!important;
  filter:grayscale(.35);
  cursor:not-allowed!important;
  transform:none!important
}

.game-side-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.game-side-actions #exitRoomBtn{grid-column:1/-1!important}

@media(max-width:760px){
  .header-contact-btn{
    min-height:36px!important;
    padding:7px 12px!important;
    font-size:12px!important;
    border-radius:12px!important
  }
  .poker-table .seat4 .seat-last-action{
    top:calc(100% + 4px)!important;
    min-width:62px!important;
    max-width:88px!important;
    font-size:7px!important;
    padding:4px 6px!important
  }
}


/* v3.0.7 — inline win awards, dedicated emote tab, adaptive desktop chat and mobile drawer navigation */
.mobile-nav-toggle,.mobile-nav-head,.mobile-nav-backdrop{display:none}

/* Result is shown at the winning profile instead of a blocking showdown dialog. */
.seat-win-summary{
  position:absolute;
  left:50%;
  top:-48px;
  transform:translateX(-50%);
  z-index:58;
  min-width:106px;
  padding:6px 9px;
  border:1px solid rgba(255,221,107,.78);
  border-radius:11px;
  background:linear-gradient(180deg,rgba(76,54,10,.97),rgba(20,16,4,.96));
  box-shadow:0 8px 20px rgba(0,0,0,.52),0 0 16px rgba(255,205,63,.23);
  pointer-events:none
}
.seat-win-summary b,.seat-win-summary span{display:block;white-space:nowrap}
.seat-win-summary b{color:#ffe279;font-size:13px;font-weight:950}
.seat-win-summary span{margin-top:2px;color:#fff4c5;font-size:9px;font-weight:850}
.seat4 .seat-win-summary{top:calc(100% + 8px)}
.seat.win-award-pulse{animation:winnerSeatPulse .72s ease-in-out 3;z-index:60!important}
@keyframes winnerSeatPulse{0%,100%{filter:none}50%{filter:brightness(1.35);box-shadow:0 0 0 3px #f5ce58,0 0 35px rgba(255,215,80,.72)}}
.pot-chip-stack.pot-awarding{animation:potAwardShrink 1.15s ease forwards}
@keyframes potAwardShrink{0%{transform:scale(1);opacity:1}75%{transform:scale(.65);opacity:.7}100%{transform:scale(.15);opacity:0}}
.pot-to-winner-chip{
  position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;z-index:70;
  background:radial-gradient(circle at 35% 30%,#fff8a5 0 8%,#f6cc42 9% 38%,#b87908 39% 52%,#f6d85a 53% 66%,#8e5800 67%);
  border:2px dashed rgba(255,255,255,.86);box-shadow:0 3px 8px rgba(0,0,0,.55);
  animation:potToWinner 1.1s cubic-bezier(.15,.78,.22,1) both
}
.pot-to-winner-chip.chip-1{filter:hue-rotate(85deg)}.pot-to-winner-chip.chip-2{filter:hue-rotate(205deg)}
@keyframes potToWinner{0%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(.45)}14%{opacity:1}78%{opacity:1}100%{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.82) rotate(620deg)}}
.winner-money-fx,.winner-hand-fx{position:absolute;transform:translate(-50%,-50%);z-index:76;pointer-events:none;text-align:center;white-space:nowrap;opacity:0;text-shadow:0 3px 7px #000}
.winner-money-fx{color:#ffe374;font-size:17px;font-weight:950;animation:winnerMoneyRise 2.45s ease-out both}
.winner-hand-fx{margin-top:25px;color:#fff8d9;font-size:12px;font-weight:900;animation:winnerHandRise 2.55s ease-out both}
@keyframes winnerMoneyRise{0%{opacity:0;transform:translate(-50%,10px) scale(.65)}18%,68%{opacity:1;transform:translate(-50%,-18px) scale(1.07)}100%{opacity:0;transform:translate(-50%,-52px) scale(1.12)}}
@keyframes winnerHandRise{0%{opacity:0;transform:translate(-50%,12px) scale(.8)}20%,72%{opacity:1;transform:translate(-50%,-15px) scale(1)}100%{opacity:0;transform:translate(-50%,-42px) scale(1.04)}}

/* Three independent drawer tabs. Chat no longer contains the emote grid. */
.side-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.side-tabs button{min-width:0;padding:9px 5px!important;font-size:10px;white-space:nowrap}
#side-emotes{gap:8px;overflow-y:auto;padding:6px 2px}
#side-emotes .emoji-bar{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
#side-emotes .emoji-bar button{min-height:62px}

/* Desktop chat adapts to the viewport instead of forcing a fixed 510px log. */
@media(min-width:761px){
  .game-side{height:clamp(420px,calc(100vh - 118px),680px)!important;min-height:420px!important;max-height:680px!important;overflow:hidden}
  .side-drawer-content{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
  .side-panel.active{display:flex!important;flex-direction:column;min-height:0;overflow:hidden}
  .game-side .side-panel.active>.scroll-list{height:auto!important;min-height:90px!important;max-height:none!important;flex:1 1 auto!important;overflow-y:auto!important}
  #chatForm{flex:0 0 auto;position:sticky;bottom:0;background:linear-gradient(180deg,rgba(5,15,10,.78),#07130e 28%);padding-top:7px}
  .game-side-actions,.side-report-btn,.side-tabs{flex:0 0 auto}
}

@media(max-width:700px){
  /* Replace icon-only bottom navigation with a readable left hamburger drawer. */
  .mobile-nav-toggle{display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#18372a;color:#fff;font-size:21px;font-weight:900;cursor:pointer}
  .mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 12px 9px;border-bottom:1px solid var(--line);margin-bottom:5px;color:var(--gold)}
  .mobile-nav-head button{display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:#263b32;color:#fff;font-size:22px}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;z-index:88;background:rgba(0,0,0,.62);backdrop-filter:blur(2px)}
  .mobile-nav-backdrop[hidden]{display:none}
  .lobby-layout{display:block!important;margin-top:8px!important}
  .sidebar{
    position:fixed!important;left:0!important;right:auto!important;top:0!important;bottom:0!important;
    width:min(278px,84vw)!important;min-height:100dvh!important;height:100dvh!important;z-index:90!important;
    display:flex!important;flex-direction:column!important;overflow-y:auto!important;overflow-x:hidden!important;
    padding:12px 10px calc(16px + env(safe-area-inset-bottom))!important;border-radius:0 20px 20px 0!important;
    transform:translateX(-105%);transition:transform .24s ease;box-shadow:18px 0 45px rgba(0,0,0,.55)
  }
  .sidebar.mobile-open{transform:translateX(0)}
  .sidebar .nav-btn{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;width:100%!important;text-align:left!important;padding:13px 14px!important;font-size:16px!important;border-radius:12px!important;flex:0 0 auto!important}
  .sidebar .nav-btn span{display:inline!important;font-size:14px!important}
  .sidebar .admin-link{margin-top:auto!important}
  body.mobile-nav-open{overflow:hidden}
  .content-area{padding-bottom:12px!important}
  .brand-cluster{min-width:0}.brand{white-space:nowrap}

  .side-tabs button{font-size:9px!important;padding:9px 3px!important}
  #side-emotes .emoji-bar{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow-y:auto!important;overflow-x:hidden!important;flex:1 1 auto!important}
  #side-emotes .emoji-target-line,#side-emotes .emoji-help{flex:0 0 auto}
  .seat-win-summary{top:-41px;min-width:82px;padding:4px 6px}.seat-win-summary b{font-size:10px}.seat-win-summary span{font-size:7px}
  .seat4 .seat-win-summary{top:calc(100% + 5px)}
  .winner-money-fx{font-size:13px}.winner-hand-fx{font-size:9px}
}

@media(max-width:700px){
  .top-user #topAvatar{display:none!important}
  .top-user{gap:4px!important}
  .chip-balance{font-size:10px!important;padding:5px 7px!important}
  #soundBtn,.logout-btn{width:29px!important;height:29px!important;padding:0!important}
}


/* v3.0.8 — stable pot, restored desktop chat and 10k voucher controls */
.pot-chip-stack.stable-pot .vertical-chip{animation:none!important;opacity:1!important;transform:none!important}
.voucher-stepper{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:6px;align-items:center;margin-top:4px}
.voucher-stepper button{min-height:39px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#1b392c;color:#ffe291;font-size:10px;font-weight:900;padding:7px 9px}
.voucher-stepper input{margin:0!important;text-align:center;font-weight:900}
@media(min-width:761px){
  .game-side{display:flex!important;visibility:visible!important;opacity:1!important}
  .game-side:not(.collapsed) .side-drawer-content{display:flex!important;opacity:1!important;width:auto!important;pointer-events:auto!important;transform:none!important}
  #side-chat.active{display:flex!important;visibility:visible!important;opacity:1!important}
}
@media(max-width:520px){.voucher-stepper{grid-template-columns:1fr 1.15fr 1fr}.voucher-stepper button{padding:7px 4px;font-size:9px}}


/* v3.0.9 — mobile entry recovery, arrow drawer, action voice settings */
.voice-setting-card{
  margin:14px 0 4px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(5,19,13,.72);
  text-align:left
}
.voice-setting-card b,.voice-setting-card small{display:block}
.voice-setting-card b{color:#f2d57c;font-size:13px}
.voice-setting-card small{margin-top:4px;color:var(--muted);font-size:9px;line-height:1.45}
.voice-setting-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:9px}
.voice-setting-controls select{min-width:0;background:#07130e;border:1px solid var(--line);border-radius:9px;color:#fff;padding:9px}
.voice-setting-controls button{white-space:nowrap;padding:8px 10px;font-size:10px}

.contact-topic-list{display:grid;gap:7px;margin:10px 0}
.contact-topic-list>div{padding:9px 10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(4,16,10,.55)}
.contact-topic-list b{display:block;color:#e9d58f;font-size:11px}
.contact-topic-list p{margin:4px 0 0!important;font-size:10px!important;line-height:1.5!important}
.contact-panel{width:min(390px,calc(100vw - 20px))!important}

/* JS adds game-active so mobile browsers without :has() still enter the table correctly. */
body.game-active{overflow-x:hidden}
body.game-active #lobbyView{display:none!important}
body.game-active #gameView{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body:not(.game-active) #gameView.hidden{display:none!important}

@media(max-width:760px){
  body.game-active .app{padding:3px!important}
  body.game-active .topbar{display:none!important}
  body.game-active #gameView{position:relative;z-index:2;min-height:100dvh;margin:0!important}
  body.game-active .game-layout,body.game-active .poker-stage,body.game-active .poker-table{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body.game-active .poker-table{min-height:calc(100dvh - 3px)!important;height:calc(100dvh - 3px)!important}
  .side-drawer-toggle{
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent;
    z-index:140!important
  }
  .game-side.collapsed .side-drawer-toggle{
    position:fixed!important;
    right:8px!important;
    bottom:calc(16px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    min-width:178px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0 13px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#224d39,#092116)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.58),0 0 0 1px rgba(119,239,169,.22)!important
  }
  .game-side.collapsed .side-drawer-toggle span{display:inline-block!important;transform:none!important;font-size:18px!important;color:#a7f2bf!important}
  .game-side.collapsed .side-drawer-toggle b{display:inline-block!important;writing-mode:horizontal-tb!important;font-size:9px!important;letter-spacing:0!important}
  .game-side:not(.collapsed) .side-drawer-toggle{
    right:6px!important;
    top:-39px!important;
    bottom:auto!important;
    width:118px!important;
    min-height:36px!important;
    border-radius:12px 12px 0 0!important
  }
  .game-side:not(.collapsed) .side-drawer-toggle b{font-size:0!important}
  .game-side:not(.collapsed) .side-drawer-toggle b:after{content:"패널 닫기";font-size:10px}
  .game-side:not(.collapsed) .side-drawer-toggle span{transform:rotate(180deg)!important}
  .side-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .side-tabs button{min-height:38px!important;font-size:10px!important}
  .contact-panel{max-height:calc(100dvh - 78px);overflow-y:auto}
  .voice-setting-controls{grid-template-columns:1fr}
}

@media(min-width:761px){
  body.game-active #gameView{display:block!important}
}


/* v3.0.10 — live hand guide, large own-card peek and top-right mobile drawer */
.my-hand-guide{
  position:absolute;
  left:16px;
  bottom:15px;
  z-index:74;
  min-width:118px;
  padding:9px 12px;
  border:1px solid rgba(111,234,168,.38);
  border-radius:13px;
  background:linear-gradient(145deg,rgba(4,25,16,.96),rgba(7,53,34,.94));
  box-shadow:0 10px 24px rgba(0,0,0,.48),0 0 18px rgba(54,220,139,.12);
  pointer-events:none
}
.my-hand-guide small,.my-hand-guide b{display:block}
.my-hand-guide small{color:#9abaae;font-size:8px;font-weight:850;letter-spacing:.08em}
.my-hand-guide b{margin-top:3px;color:#b7ffd8;font-size:16px;font-weight:950;white-space:nowrap}
.my-hand-guide[data-category="2"] b,.my-hand-guide[data-category="3"] b{color:#f9e180}
.my-hand-guide[data-category="4"] b,.my-hand-guide[data-category="5"] b,.my-hand-guide[data-category="6"] b{color:#ffbd70}
.my-hand-guide[data-category="7"] b,.my-hand-guide[data-category="8"] b{color:#ff8e8e;text-shadow:0 0 12px rgba(255,91,91,.34)}

.my-card-peek-dock{position:absolute;right:16px;bottom:15px;z-index:78;display:flex;flex-direction:column;align-items:flex-end}
.my-card-peek-btn{
  min-height:42px;
  padding:9px 13px;
  border:1px solid rgba(255,223,112,.52);
  border-radius:999px;
  background:linear-gradient(145deg,#4f3c12,#181306);
  color:#ffe995;
  font-size:11px;
  font-weight:950;
  box-shadow:0 9px 22px rgba(0,0,0,.48),0 0 18px rgba(255,213,67,.13);
  cursor:pointer
}
.my-card-peek-btn[aria-expanded="true"]{background:linear-gradient(145deg,#244735,#0c2016);color:#a9f1c5;border-color:rgba(107,238,164,.48)}
.my-card-peek-panel{
  position:absolute;
  right:0;
  bottom:calc(100% + 9px);
  width:190px;
  padding:10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:15px;
  background:rgba(3,15,10,.97);
  box-shadow:0 18px 42px rgba(0,0,0,.65);
  backdrop-filter:blur(10px)
}
.my-card-peek-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#ffe48a;font-size:11px}
.my-card-peek-head button{display:grid;place-items:center;width:27px;height:27px;border:0;border-radius:50%;background:#263a31;color:#fff;font-size:18px;cursor:pointer}
.my-card-peek-cards{display:flex;justify-content:center;gap:8px;min-height:92px}
.my-card-peek-cards .playing-card{width:65px;height:92px;animation:none!important}

@media(max-width:760px){
  .my-hand-guide{left:7px;bottom:8px;min-width:92px;padding:6px 8px;border-radius:10px}
  .my-hand-guide small{font-size:6px}.my-hand-guide b{font-size:12px}
  .my-card-peek-dock{right:7px;bottom:8px}
  .my-card-peek-btn{min-height:36px;padding:7px 10px;font-size:9px}
  .my-card-peek-panel{width:162px;padding:8px}
  .my-card-peek-cards{gap:6px;min-height:78px}
  .my-card-peek-cards .playing-card{width:54px;height:78px;font-size:18px}

  /* The collapsed/open drawer control lives at the upper-right, not at the bottom. */
  body.game-active #sideDrawerToggle{
    position:fixed!important;
    top:8px!important;
    right:8px!important;
    left:auto!important;
    bottom:auto!important;
    width:auto!important;
    min-width:132px!important;
    height:38px!important;
    min-height:38px!important;
    padding:0 11px!important;
    border-radius:999px!important;
    flex-direction:row!important;
    background:linear-gradient(135deg,#224d39,#092116)!important;
    box-shadow:0 8px 24px rgba(0,0,0,.58),0 0 0 1px rgba(119,239,169,.22)!important;
    z-index:160!important
  }
  body.game-active #sideDrawerToggle span{display:inline-block!important;transform:none!important;font-size:16px!important;color:#a7f2bf!important}
  body.game-active #sideDrawerToggle b{display:inline-block!important;writing-mode:horizontal-tb!important;font-size:9px!important;letter-spacing:0!important}
  body.game-active #gameSideDrawer{
    position:fixed!important;
    top:52px!important;
    right:8px!important;
    left:auto!important;
    bottom:auto!important;
    width:min(360px,calc(100vw - 16px))!important;
    max-height:calc(100dvh - 62px)!important;
    min-height:0!important;
    z-index:150!important
  }
  body.game-active #gameSideDrawer.collapsed{
    top:52px!important;
    right:8px!important;
    left:auto!important;
    bottom:auto!important;
    width:0!important;
    height:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important
  }
  body.game-active #gameSideDrawer:not(.collapsed) #sideDrawerToggle{top:8px!important;right:8px!important;width:112px!important;min-width:112px!important}
  body.game-active #gameSideDrawer:not(.collapsed) #sideDrawerToggle b{font-size:0!important}
  body.game-active #gameSideDrawer:not(.collapsed) #sideDrawerToggle b:after{content:"패널 닫기";font-size:9px}
  body.game-active #gameSideDrawer:not(.collapsed) #sideDrawerToggle span{transform:rotate(180deg)!important}
  body.game-active #gameSideDrawer .side-drawer-content{max-height:calc(100dvh - 62px)!important}
}

/* v3.0.12 — persistent blind markers and complete showdown hand labels */
.seat-position-badges{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}
.seat-position-badge{
  display:inline-grid;
  place-items:center;
  min-width:19px;
  height:18px;
  padding:0 4px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.42);
  color:#fff;
  font-size:8px;
  font-weight:950;
  line-height:1;
  box-shadow:0 3px 8px rgba(0,0,0,.42)
}
.seat-position-badge.dealer-position{background:linear-gradient(145deg,#f7da66,#a66e0c);color:#211604;border-color:#fff0a4}
.seat-position-badge.sb-position{background:linear-gradient(145deg,#4e98e8,#1e4b84);border-color:#9dcbff}
.seat-position-badge.bb-position{background:linear-gradient(145deg,#ef6b63,#8c2626);border-color:#ffb0aa}
.seat-win-summary.showdown-result{border-color:rgba(190,214,229,.62);background:linear-gradient(180deg,rgba(45,65,76,.97),rgba(11,18,22,.96));box-shadow:0 8px 20px rgba(0,0,0,.52),0 0 15px rgba(155,205,232,.14)}
.seat-win-summary.showdown-result b{color:#b9d9eb;font-size:9px;letter-spacing:.05em}
.seat-win-summary.showdown-result span{color:#f0f8fc;font-size:10px}

@media(max-width:760px){
  .seat-position-badges{gap:1px}
  .seat-position-badge{min-width:15px;height:14px;padding:0 2px;font-size:6px}
  .seat-win-summary.showdown-result b{font-size:7px}
  .seat-win-summary.showdown-result span{font-size:8px}
}


/* v3.0.13 — exit reservation, lobby hole-card alert, named waiting queue */
.exit-reserved-badge{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:2px 6px;
  border:1px solid rgba(255,194,89,.48);
  border-radius:999px;
  background:rgba(92,54,9,.88);
  color:#ffe19a;
  font-size:7px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 2px 8px rgba(0,0,0,.38)
}
.waiting-queue-notice{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:7px auto 0;
  max-width:min(520px,84%);
  padding:6px 10px;
  border:1px solid rgba(105,186,233,.28);
  border-radius:999px;
  background:rgba(3,20,31,.72);
  color:#bfe8ff;
  font-size:9px;
  box-shadow:0 7px 18px rgba(0,0,0,.28)
}
.waiting-queue-notice b{color:white}
.waiting-queue-notice span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.room-waiting-names{
  margin:7px 0 2px;
  padding:6px 8px;
  border-radius:9px;
  background:rgba(29,93,124,.16);
  color:#a9d9f1;
  font-size:9px;
  line-height:1.35
}
.my-room-hole-cards{
  display:block;
  margin-top:4px;
  color:#fff3ad;
  font-size:10px;
  font-style:normal;
  font-weight:950;
  letter-spacing:.3px
}
.my-room-tab.my-turn{min-width:146px}

@media(max-width:700px){
  .logout-btn{
    width:auto!important;
    min-width:66px!important;
    height:32px!important;
    padding:0 9px!important;
    font-size:10px!important;
    white-space:nowrap
  }
  .logout-btn:before{content:none!important}
  .my-room-tab.my-turn{min-width:138px}
  .my-room-hole-cards{font-size:9px}
  .waiting-queue-notice{max-width:92%;font-size:8px;padding:5px 8px}
  .exit-reserved-badge{font-size:6px;padding:2px 4px}
}


/* v3.0.16 guild RP league */
.guild-ranking-prize{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;margin-bottom:16px;border:1px solid rgba(243,201,90,.28);background:linear-gradient(135deg,rgba(73,50,11,.42),rgba(9,25,18,.88))}
.guild-ranking-prize h3{margin:4px 0 5px;color:#ffe396;font-size:20px}.guild-ranking-prize p{margin:0;color:#fff2c8;font-weight:800}.guild-ranking-prize>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:4px;color:#cfe7d9}.guild-ranking-prize>div:last-child b{color:#f3c95a;font-size:16px}
@media(max-width:760px){.guild-ranking-prize{align-items:flex-start;flex-direction:column;padding:14px}.guild-ranking-prize>div:last-child{align-items:flex-start}.guild-ranking-prize h3{font-size:17px}}


/* v3.0.18 — guild top ten, seat-specific waiting and early-exit policy */
.guild-top-ten{display:grid;gap:7px;max-height:360px;overflow:auto}
.guild-top-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(5,18,12,.5)}
.guild-top-row b{color:#f4d277}.guild-top-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.guild-top-row strong{color:#9ff0ba;font-size:11px}.guild-top-row.mine{border-color:rgba(91,231,142,.5);box-shadow:inset 0 0 0 1px rgba(91,231,142,.12)}
.pending-seat{border-style:solid!important;border-color:rgba(244,210,119,.72)!important;background:radial-gradient(circle,rgba(50,75,45,.96),rgba(7,20,13,.94))!important;box-shadow:0 0 0 3px rgba(244,210,119,.1),0 7px 18px rgba(0,0,0,.45)!important;color:white!important;animation:pendingSeatPulse 1.5s ease-in-out infinite}
.pending-seat-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;overflow:hidden;background:#172a21;border:1px solid rgba(255,255,255,.22)}
.pending-seat-avatar .avatar-photo,.pending-seat-avatar .avatar-emoji{width:100%;height:100%;object-fit:cover;display:grid;place-items:center}
.pending-seat>b{max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.pending-seat>span{display:inline-grid;place-items:center;border-radius:999px;padding:3px 7px;background:#f0c65a;color:#221800;font-size:8px;font-weight:1000}
.pending-seated-seat{opacity:.82;filter:saturate(.94)}
@keyframes pendingSeatPulse{50%{filter:brightness(1.16);transform:translate(-50%,-50%) scale(1.025)}}
.early-exit-notice{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:7px;padding:7px 9px;border:1px solid rgba(255,185,80,.3);border-radius:9px;background:rgba(92,47,4,.35);color:#ffd98b;font-size:9px;line-height:1.35;text-align:center}
.early-exit-notice b{color:white;white-space:nowrap}.early-exit-notice.hidden{display:none!important}
.session-row small+small{display:block;margin-top:2px;color:#8fa89a}
@media(max-width:760px){.guild-top-row{grid-template-columns:36px minmax(0,1fr) auto;padding:7px 8px}.pending-seat-avatar{width:25px;height:25px}.pending-seat>b{font-size:7px;max-width:54px}.pending-seat>span{font-size:7px;padding:2px 5px}.early-exit-notice{font-size:8px;padding:6px}}


/* v3.0.24 — round bets wait at each profile, then sweep to the center pot. */
.jackpot-balance-form{margin:10px 0 16px}
.jackpot-balance-form .jackpot-config-group{display:grid;grid-template-columns:minmax(210px,1fr) minmax(240px,1.4fr) auto;gap:10px;align-items:end}
.jackpot-balance-form label{display:grid;gap:5px}
.jackpot-balance-form button{min-height:42px}

.poker-table .seat-bet-info{min-height:18px!important}
.poker-table .seat-bet-info.seat-bet-empty{visibility:hidden!important}
.poker-table .seat-bet-info span{font-weight:900;color:#ffe68a}
.seat-round-bet{
  position:absolute;
  left:50%;
  top:-52px;
  transform:translateX(-50%);
  z-index:46;
  min-width:68px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(255,231,133,.74);
  background:linear-gradient(180deg,rgba(46,38,14,.98),rgba(14,11,4,.96));
  color:#ffe887;
  font-size:9px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 7px 14px rgba(0,0,0,.58),0 0 14px rgba(255,210,77,.16)
}
.seat-round-bet i{
  width:14px;height:7px;border-radius:50%;
  background:linear-gradient(#ffd85e,#a96808);
  border:1px dashed rgba(255,255,255,.92);
  box-shadow:0 2px 0 #452704
}
.seat-round-bet.collecting{animation:seatBetCollectFade .72s ease forwards}
@keyframes seatBetCollectFade{0%,55%{opacity:1;transform:translateX(-50%) scale(1)}100%{opacity:0;transform:translateX(-50%) scale(.62)}}

.seat-bet-flying-chip,.round-to-pot-chip{
  width:24px!important;height:24px!important;
  display:grid;place-items:center;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.88);
  background:linear-gradient(#f8d45c,#ae6904);
  color:#201600;
  font-size:7px!important;
  font-weight:950;
  left:0!important;top:0!important
}
.seat-bet-flying-chip{animation:seatBetChipFly .72s ease-out both!important}
.round-to-pot-chip{animation:roundBetToPot .72s cubic-bezier(.2,.82,.28,1) both!important}
@keyframes seatBetChipFly{
  from{opacity:1;transform:translate(var(--sx),var(--sy)) scale(1)}
  to{opacity:.2;transform:translate(var(--tx),var(--ty)) scale(.68)}
}
@keyframes roundBetToPot{
  from{opacity:1;transform:translate(var(--sx),var(--sy)) scale(1)}
  to{opacity:.15;transform:translate(var(--tx),var(--ty)) scale(.62)}
}
.poker-table .seat4 .seat-round-bet{top:calc(100% + 34px)}
@media(max-width:760px){
  .jackpot-balance-form .jackpot-config-group{grid-template-columns:1fr}
  .seat-round-bet{top:-42px;min-width:56px;height:20px;padding:2px 6px;font-size:7px}
  .poker-table .seat4 .seat-round-bet{top:calc(100% + 28px)}
}


/* v3.0.25 — remove the duplicate gold round-bet badge; cumulative text remains. */
.seat-round-bet{
  position:absolute!important;
  left:50%!important;
  top:-24px!important;
  width:1px!important;
  min-width:0!important;
  height:1px!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
  color:transparent!important
}
.seat-round-bet i,.seat-round-bet b{display:none!important}
.poker-table .seat4 .seat-round-bet{top:calc(100% + 12px)!important}

/* v3.0.30 — lobby notice board */
.notice-board-head{margin-bottom:14px}
.notice-board-head p{margin:5px 0 0;color:var(--muted)}
.notice-board-grid{display:grid;gap:14px}
.notice-card{padding:20px;border-radius:19px;overflow:hidden}
.notice-card.pinned{border-color:rgba(232,197,106,.46);background:linear-gradient(135deg,rgba(48,38,12,.88),rgba(8,26,18,.96))}
.notice-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.notice-card h3{margin:5px 0 0;font-size:21px;color:#fff3b6}
.notice-pin{display:inline-flex;padding:5px 10px;border-radius:999px;background:linear-gradient(135deg,#e8c56a,#9a6d1e);color:#171005;font-size:10px;font-weight:950;white-space:nowrap}
.notice-content{margin:14px 0 0;color:#d7e0dc;line-height:1.75;font-size:14px;word-break:keep-all}
.notice-card time{display:block;margin-top:13px;color:#7f9188;font-size:10px;text-align:right}
.notice-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:16px}
.notice-image-grid.count-1{grid-template-columns:minmax(0,680px)}
.notice-image-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.notice-image-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.notice-image-button{padding:0;border:1px solid rgba(255,255,255,.13);border-radius:13px;overflow:hidden;background:#07110d;aspect-ratio:4/3;cursor:zoom-in}
.notice-image-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.notice-image-button:hover img{transform:scale(1.035)}
@media(max-width:760px){
  .notice-card{padding:16px}
  .notice-card h3{font-size:18px}
  .notice-content{font-size:13px;word-break:normal}
  .notice-image-grid,.notice-image-grid.count-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .notice-image-grid.count-1{grid-template-columns:1fr}
}


/* v3.0.32 — mobile signup viewport/keyboard stability */
.login-screen{
  min-height:100vh;
  min-height:100svh;
  min-height:100dvh;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  padding-top:max(20px,env(safe-area-inset-top));
  padding-right:max(20px,env(safe-area-inset-right));
  padding-bottom:max(20px,env(safe-area-inset-bottom));
  padding-left:max(20px,env(safe-area-inset-left));
}
.account-login-card{margin:auto;max-height:none}
.auth-submit{min-height:48px;touch-action:manipulation}
.auth-submit:disabled{opacity:.62;cursor:wait}
.auth-status{min-height:20px;margin:2px 0 0!important;font-size:12px;line-height:1.45;color:var(--muted)}
.auth-status.error{color:#ff9f9f}
.auth-status.success{color:#80e5b3}
.account-login-card input{min-height:46px;font-size:16px}
.account-auth-tabs button{min-height:44px;touch-action:manipulation}

@media(max-width:520px){
  .login-screen{display:block;padding:10px max(9px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(9px,env(safe-area-inset-left))}
  .account-login-card{width:100%;margin:0 auto;padding:16px 14px 18px;border-radius:20px}
  .account-login-card .logo-mark{font-size:42px;line-height:1}
  .account-login-card h1{font-size:24px;margin:4px 0}
  .account-login-card>p{margin:6px 0 12px;font-size:13px}
  .account-auth-tabs{margin:9px 0 8px}
  .account-login-card form{gap:3px}
  .account-login-card label{margin:7px 0 4px}
  .account-login-card input{padding:11px 12px}
  .account-login-card .avatar-picker{display:grid;grid-template-columns:repeat(4,42px);justify-content:center;gap:7px;margin:7px 0 10px}
  .account-login-card .avatar-option{width:42px;height:42px;font-size:21px}
  .account-login-card .text-btn{min-height:42px;margin-top:4px}
}

@media(max-width:380px){
  .account-login-card{padding:13px 11px 15px}
  .account-login-card .logo-mark{font-size:36px}
  .account-login-card h1{font-size:21px}
  .account-login-card input{min-height:43px;padding:9px 10px}
  .account-login-card .avatar-picker{grid-template-columns:repeat(4,38px)}
  .account-login-card .avatar-option{width:38px;height:38px;font-size:19px}
}

/* v3.0.37 — SMS 가입 인증과 좌석별 칩 이미지 배치 */
.phone-verification-area{display:grid;gap:7px;margin:2px 0 4px;padding:10px;border:1px solid rgba(232,197,106,.25);border-radius:12px;background:rgba(5,19,13,.48)}
.phone-verification-area.hidden{display:none!important}
.phone-auth-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center}
.phone-auth-row input{min-width:0;margin:0!important}
.phone-auth-row button{min-width:122px;min-height:42px;padding:8px 10px;white-space:nowrap}
.phone-auth-status{display:block;color:var(--muted);font-size:10px;line-height:1.45}
.phone-auth-status.success{color:#79e6ad}.phone-auth-status.error{color:#ff9e9e}.phone-auth-status.verified{font-weight:900}

/* 베팅 금액 텍스트는 기존처럼 프로필 아래에 유지한다. */
.poker-table .seat-bet-info{
  position:static!important;
  z-index:auto!important;
  display:flex!important;
  justify-content:center!important;
  width:auto!important;
  min-height:18px!important;
  margin-top:2px!important;
  transform:none!important;
  pointer-events:none;
}
.poker-table .seat-bet-info.seat-bet-empty{visibility:hidden!important;display:flex!important}
.poker-table .seat-bet-amount{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:rgba(0,0,0,.35);color:#ffe381;font-size:9px;font-weight:950;line-height:1;font-variant-numeric:tabular-nums}

/* 칩 이미지만 프로필 바깥으로 옮긴다. */
.poker-table .seat-chip-image{
  position:absolute;
  z-index:15;
  width:34px;
  height:24px;
  pointer-events:none;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.62));
}
.poker-table .seat-chip-image i{
  position:absolute;
  left:50%;
  width:27px;
  height:10px;
  border-radius:50%;
  border:2px dashed rgba(255,255,255,.9);
  transform:translateX(-50%);
  box-shadow:0 2px 0 rgba(0,0,0,.72),inset 0 2px 2px rgba(255,255,255,.5);
}
.poker-table .seat-chip-image i:nth-child(1){bottom:0;background:linear-gradient(#ff7777,#9d1220)}
.poker-table .seat-chip-image i:nth-child(2){bottom:5px;background:linear-gradient(#74c9ff,#1750a8)}
.poker-table .seat-chip-image i:nth-child(3){bottom:10px;background:linear-gradient(#ffe98d,#b87809)}
.poker-table .seat-chip-image.collecting{animation:seatChipImageCollect .72s ease forwards}
@keyframes seatChipImageCollect{0%,55%{opacity:1;scale:1}100%{opacity:0;scale:.62}}

/* 보이는 좌석 번호 기준: 1은 머리 위, 2·8은 위쪽 대각선, 3·4는 오른쪽, 5는 아래, 6·7은 왼쪽 */
.poker-table .seat0 .seat-chip-image{left:50%;right:auto;top:-34px;bottom:auto;transform:translateX(-50%)}
/* 2번은 프로필의 오른쪽 위, 8번은 왼쪽 위에 두어 1번 좌석과 겹치지 않게 한다. */
.poker-table .seat1 .seat-chip-image{left:calc(100% + 2px);right:auto;top:-13px;bottom:auto;transform:rotate(-10deg)}
.poker-table .seat7 .seat-chip-image{left:auto;right:calc(100% + 2px);top:-13px;bottom:auto;transform:rotate(10deg)}
.poker-table .seat2 .seat-chip-image,.poker-table .seat3 .seat-chip-image{left:calc(100% + 8px);right:auto;top:50%;bottom:auto;transform:translateY(-50%)}
.poker-table .seat4 .seat-chip-image{left:50%;right:auto;top:calc(100% + 8px);bottom:auto;transform:translateX(-50%)}
.poker-table .seat5 .seat-chip-image,.poker-table .seat6 .seat-chip-image{left:auto;right:calc(100% + 8px);top:50%;bottom:auto;transform:translateY(-50%)}

@media(max-width:700px){
  .phone-auth-row{grid-template-columns:1fr}.phone-auth-row button{width:100%;min-height:38px}
  .poker-table .seat-bet-amount{padding:1px 4px;font-size:7px}
  .poker-table .seat-chip-image{width:27px;height:19px}
  .poker-table .seat-chip-image i{width:21px;height:8px;border-width:1px}
  .poker-table .seat-chip-image i:nth-child(2){bottom:4px}.poker-table .seat-chip-image i:nth-child(3){bottom:8px}
  .poker-table .seat0 .seat-chip-image{top:-27px}
  .poker-table .seat1 .seat-chip-image{left:calc(100% + 1px);top:-10px}
  .poker-table .seat7 .seat-chip-image{right:calc(100% + 1px);top:-10px}
  .poker-table .seat2 .seat-chip-image,.poker-table .seat3 .seat-chip-image{left:calc(100% + 4px)}
  .poker-table .seat4 .seat-chip-image{top:calc(100% + 4px)}
  .poker-table .seat5 .seat-chip-image,.poker-table .seat6 .seat-chip-image{right:calc(100% + 4px)}
}


/* v3.0.41 — one shared action countdown above the jackpot; no timer over player profiles */
.center-money-stack .table-turn-timer{
  position:absolute;left:50%;bottom:calc(100% + 5px);z-index:5;
  display:flex;align-items:center;justify-content:center;gap:6px;
  min-width:76px;height:30px;margin:0;padding:0 12px;border-radius:999px;
  background:linear-gradient(180deg,rgba(8,38,27,.95),rgba(2,15,10,.92));
  border:1px solid rgba(126,240,181,.5);box-shadow:0 5px 15px rgba(0,0,0,.32),inset 0 0 12px rgba(126,240,181,.08);
  color:#a9ffd0;font-size:14px;font-weight:950;font-variant-numeric:tabular-nums;
  letter-spacing:.02em;text-shadow:0 2px 6px rgba(0,0,0,.9);pointer-events:none;
  opacity:0;transform:translate(-50%,3px) scale(.96);transition:opacity .16s ease,transform .16s ease
}
.center-money-stack .table-turn-timer:before{
  content:"TURN";font-size:7px;letter-spacing:.16em;color:rgba(210,255,231,.72);font-weight:900
}
.center-money-stack .table-turn-timer.active{opacity:1;transform:translateX(-50%)}
.center-money-stack .table-turn-timer.urgent{
  background:linear-gradient(180deg,#7a2b31,#3b1217);border-color:#ffb2a4;color:#fff;
  box-shadow:0 0 18px rgba(255,86,75,.42),0 5px 15px rgba(0,0,0,.34);animation:centralTimerPulse .65s infinite alternate
}
@keyframes centralTimerPulse{from{transform:translateX(-50%) scale(1)}to{transform:translateX(-50%) scale(1.08)}}
@media(max-width:760px){
  .center-money-stack .table-turn-timer{bottom:calc(100% + 4px);min-width:65px;height:25px;padding:0 9px;font-size:12px}
  .center-money-stack .table-turn-timer:before{font-size:6px}
}


/* v3.0.43 — reliable page/login scrolling on mobile and desktop */
html{overflow-x:hidden;overflow-y:auto}
body{min-height:100dvh;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}
.login-screen:not(.hidden){
  position:fixed;
  inset:0;
  width:100%;
  height:100dvh;
  min-height:100dvh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:auto;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.login-screen:not(.hidden) .account-login-card{
  flex:0 0 auto;
  margin:auto 0;
}
body:not(.mobile-nav-open){overflow-y:auto}
@media(max-width:520px){
  .login-screen:not(.hidden){padding-bottom:max(28px,env(safe-area-inset-bottom))}
  .login-screen:not(.hidden) .account-login-card{margin:0 auto 28px}
}
