@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');
:root{--bg:#061411;--panel:#0b211c;--line:rgba(214,180,91,.18);--gold:#d9b86c;--gold2:#f1d996;--text:#f4f0e5;--muted:#a4b2a9}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:'DM Sans',sans-serif;background:radial-gradient(ellipse at 50% -20%,#164438 0,transparent 45%),linear-gradient(145deg,#061411,#071a16 55%,#08110f);overflow-x:hidden}
.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(85px);opacity:.15;z-index:0;animation:drift 12s ease-in-out infinite alternate}.ambient-one{width:300px;height:300px;background:#d6ad52;top:25%;left:-190px}.ambient-two{width:360px;height:360px;background:#24785a;right:-210px;top:50%;animation-delay:-5s}.ambient-three{width:200px;height:200px;background:#d6ad52;top:80%;left:45%;animation-delay:-8s}
@keyframes drift{from{transform:translate3d(0,-10px,0) scale(.95)}to{transform:translate3d(35px,30px,0) scale(1.12)}}@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes cardDeal{0%{opacity:0;transform:translateY(35px) rotate(0deg) scale(.8)}100%{opacity:1;transform:translateY(0) rotate(var(--rot,0deg)) scale(1)}}@keyframes float{0%,100%{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-10px) rotate(var(--rot,0deg))}}@keyframes shimmer{0%{background-position:0% 50%}100%{background-position:200% 50%}}@keyframes sparkle{0%,100%{opacity:.1;transform:translateY(0) scale(.8)}50%{opacity:.65;transform:translateY(-15px) scale(1.1)}}
.topbar{height:82px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,22px);position:relative;z-index:1;background:rgba(4,17,14,.45);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #b8974f;border-radius:13px;color:var(--gold2);font-size:25px;background:linear-gradient(145deg,#173d30,#091a15);box-shadow:inset 0 0 20px #d5b35d0a;animation:markGlow 4s ease-in-out infinite alternate}.brand-mark span{display:inline-block;animation:float 4s ease-in-out infinite}.brand strong{display:block;letter-spacing:2.3px;font-size:13px}.brand small{display:block;color:#94a69a;font-size:9px;letter-spacing:1.55px;margin-top:4px}.header-right{display:flex;align-items:center;gap:9px;color:#afc0b5;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#79d4a0;box-shadow:0 0 12px #79d4a0;animation:pulse 2s infinite}
@keyframes pulse{50%{box-shadow:0 0 2px #79d4a0;opacity:.6}}@keyframes markGlow{to{box-shadow:0 0 25px #d9b86c18,inset 0 0 20px #d5b35d0a}}
.shell{position:relative;z-index:1;width:min(1080px,90vw);margin:0 auto}.hero{text-align:center;padding:48px 0 18px;animation:fadeUp .7s both}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2.2px;color:var(--gold);display:flex;align-items:center;justify-content:center;gap:8px}.hero h1{font-family:'Playfair Display',serif;font-size:clamp(40px,5vw,61px);line-height:1.12;margin:15px 0 12px;font-weight:600;letter-spacing:-1px}.hero h1 em{color:var(--gold2);font-weight:600;background:linear-gradient(100deg,#c39c4c,#fff0b6,#c39c4c);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 5s linear infinite}.hero>p{max-width:560px;margin:0 auto;color:#b4c1b8;font-size:14px;line-height:1.7}.hero-chips{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:19px}.hero-chips span{font-size:11px;color:#d5dfd7;padding:8px 12px;border:1px solid #ffffff13;border-radius:100px;background:#ffffff06;transition:transform .2s,border-color .2s}.hero-chips span:hover{transform:translateY(-3px);border-color:#d9b86c77}
.hero-art{height:105px;max-width:310px;margin:9px auto 0;position:relative;perspective:500px}.playing-card{position:absolute;top:12px;left:calc(50% - 31px);width:62px;height:84px;border-radius:8px;background:#f8f2e5;color:#16372b;border:1px solid #dfd1ac;box-shadow:0 8px 20px #0005;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:cardDeal .75s cubic-bezier(.2,.8,.2,1) both;transform-origin:bottom center}.playing-card b{font:700 19px 'Playfair Display',serif;align-self:flex-start;margin:4px 0 0 7px}.playing-card span{font-size:27px;line-height:1}.card-left{--rot:-17deg;transform:rotate(-17deg) translateX(-42px);animation-delay:.13s;color:#b53d3d}.card-center{--rot:0deg;z-index:2;animation-delay:.25s}.card-right{--rot:17deg;transform:rotate(17deg) translateX(42px);animation-delay:.37s;color:#b53d3d}.card-back{--rot:-29deg;transform:rotate(-29deg) translateX(-78px);background:repeating-linear-gradient(45deg,#173f30,#173f30 5px,#245744 5px,#245744 8px);color:#e6cb7c;border:2px solid #d4b45f;animation-delay:.05s}.card-back span{font-size:24px}.card-back i{font-size:7px;letter-spacing:1px}.coin{position:absolute;z-index:3;display:grid;place-items:center;border:2px solid #f0d78e;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe7a0,#b88a32 65%,#73501b);color:#674515;font-size:12px;font-weight:700;width:25px;height:25px;box-shadow:0 4px 8px #0005;animation:float 3s ease-in-out infinite}.coin-one{left:calc(50% + 65px);top:48px;--rot:8deg}.coin-two{left:calc(50% - 107px);top:58px;animation-delay:-1s;--rot:-9deg}.coin-three{left:calc(50% + 94px);top:19px;animation-delay:-1.6s;--rot:4deg}.sparkles{position:absolute;inset:0;pointer-events:none;overflow:hidden}.sparkles i{position:absolute;top:14%;left:13%;font-style:normal;color:#d9b86c;animation:sparkle 4s ease-in-out infinite}.sparkles i:nth-child(2){top:32%;left:83%;animation-delay:-1s}.sparkles i:nth-child(3){top:68%;left:8%;animation-delay:-2s}.sparkles i:nth-child(4){top:73%;left:91%;animation-delay:-.5s}.sparkles i:nth-child(5){top:9%;left:69%;animation-delay:-2.7s}.sparkles i:nth-child(6){top:56%;left:95%;animation-delay:-1.8s}.sparkles i:nth-child(7){top:45%;left:4%;animation-delay:-3s}
.main-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;align-items:start}.panel{background:linear-gradient(145deg,rgba(13,37,30,.96),rgba(8,27,22,.96));border:1px solid var(--line);border-radius:19px;padding:25px;box-shadow:0 24px 60px #0000001a;animation:fadeUp .7s both;transition:transform .25s,border-color .25s,box-shadow .25s}.create-panel{animation-delay:.1s}.join-panel{animation-delay:.22s}.panel:hover{border-color:#d9b86c40;box-shadow:0 25px 65px #0003,0 0 25px #d9b86c08}.panel-heading{display:flex;gap:13px;align-items:center;margin-bottom:25px}.icon-tile{width:43px;height:43px;flex:none;display:grid;place-items:center;border:1px solid #d8b86b3b;background:#d8b86b12;border-radius:12px;color:var(--gold2);font-size:24px;transition:transform .25s}.panel:hover .icon-tile{transform:rotate(-5deg) scale(1.04)}.join-icon{font-size:21px}.panel h2{font-family:'Playfair Display',serif;font-size:23px;margin:0 0 4px;font-weight:600}.panel-heading p{font-size:12px;color:var(--muted);margin:0}
label{display:block;color:#d8e0d8;font-size:11px;font-weight:600;margin:0 0 8px}input,select{width:100%;min-width:0;color:var(--text);font:inherit;font-size:13px;background:#061713;border:1px solid #ffffff19;border-radius:9px;padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s}input:focus,select:focus{border-color:#d9b86c99;box-shadow:0 0 0 3px #d9b86c12}input::placeholder{color:#64766b}select{appearance:auto}form>label:not(:first-child){margin-top:17px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.form-row label{margin-bottom:8px}.input-with-prefix{display:flex;align-items:center;background:#061713;border:1px solid #ffffff19;border-radius:9px;padding-left:12px;color:var(--gold);font-size:13px}.input-with-prefix:focus-within{border-color:#d9b86c99;box-shadow:0 0 0 3px #d9b86c12}.input-with-prefix input{border:0;background:transparent;box-shadow:none;padding-left:8px}.settings-strip{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff10;border-bottom:1px solid #ffffff10;margin-top:20px;padding:14px 0}.settings-strip strong,.settings-strip small{display:block}.settings-strip strong{font-size:12px}.settings-strip small{color:var(--muted);font-size:10px;margin-top:4px}.switch{position:relative;display:inline-block;width:39px;height:22px;margin:0}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;background:#263d33;border-radius:20px;cursor:pointer;transition:.2s}.switch span:before{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#9bad9f;border-radius:50%;transition:.2s}.switch input:checked+span{background:#8d7135}.switch input:checked+span:before{transform:translateX(17px);background:#fff1bd}.pot-preview{display:flex;justify-content:space-between;align-items:center;background:#d9b86c0b;border:1px solid #d9b86c24;padding:13px 14px;border-radius:10px;margin:16px 0 18px}.preview-label{display:block;font-size:11px;font-weight:700}.pot-preview small{display:block;font-size:10px;color:#94a89b;margin-top:4px}.pot-preview>strong{font-family:'Playfair Display',serif;font-size:24px;color:var(--gold2);transition:transform .2s}.pot-preview>strong.bump{transform:scale(1.08)}.field-hint{font-size:10px;color:#82968a;margin:8px 0 0}.field-hint strong{color:var(--gold2)}.button{border:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:10px;padding:14px 16px;font:700 12px 'DM Sans',sans-serif;cursor:pointer;transition:transform .15s,filter .15s,box-shadow .2s}.button:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 8px 24px #0002}.button:active{transform:translateY(0)}.button-primary{color:#152017;background:linear-gradient(110deg,#c7a153,#f1d996,#c7a153);background-size:200% auto;animation:shimmer 7s linear infinite;box-shadow:0 6px 22px #c6a05217}.button-secondary{color:#f2dfab;background:#d8b86b12;border:1px solid #d8b86b7a}.button span{font-size:18px}.fine-print{font-size:9px;color:#82968a;line-height:1.5;text-align:center;margin:12px 0 0}.join-panel form>label:not(:first-child){margin-top:17px}.room-code-input{text-transform:uppercase;letter-spacing:3px;font-weight:700}.join-note{display:flex;gap:10px;align-items:flex-start;background:#ffffff05;border:1px solid #ffffff0d;padding:12px;border-radius:9px;margin:17px 0;color:#a7b8ac;font-size:10px;line-height:1.55}.lock-icon{color:var(--gold);font-size:14px}.divider{display:flex;align-items:center;gap:12px;margin:25px 0 16px;color:#718779;font-size:9px;letter-spacing:1.5px;font-weight:700}.divider:before,.divider:after{content:"";height:1px;background:#ffffff12;flex:1}.steps{display:grid;gap:15px}.steps>div{display:flex;gap:12px;align-items:flex-start}.steps>div>span{font-family:'Playfair Display',serif;color:var(--gold);font-size:16px}.steps p{margin:0}.steps strong,.steps small{display:block}.steps strong{font-size:11px}.steps small{font-size:10px;color:#91a498;margin-top:4px;line-height:1.5}
footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#65796d;font-size:9px;letter-spacing:.4px;padding:26px 3px 35px}footer span:first-child{color:#bda15e;letter-spacing:1.6px;font-weight:700}
.dialog{width:min(420px,calc(100vw - 30px));padding:30px;border-radius:20px;background:#0b211c;color:var(--text);border:1px solid #d9b86c55;box-shadow:0 30px 100px #000b;text-align:center;animation:fadeUp .25s both}.dialog::backdrop{background:#020806c9;backdrop-filter:blur(6px)}.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;color:#9db0a4;font-size:25px;cursor:pointer}.dialog-emblem{width:56px;height:56px;border:1px solid #d9b86c66;color:var(--gold2);display:grid;place-items:center;border-radius:16px;margin:0 auto 20px;font-size:30px;background:#d9b86c0c}.dialog h2{font:600 27px 'Playfair Display',serif;margin:12px 0 8px}.dialog>p{font-size:12px;color:#aebdb3;line-height:1.6}.code-box{display:flex;align-items:center;justify-content:space-between;padding:14px 15px;border:1px dashed #d9b86c77;border-radius:10px;margin:20px 0;background:#d9b86c08}.code-box>span{font-size:22px;font-weight:700;letter-spacing:4px;color:var(--gold2)}.copy-button{background:#d9b86c;color:#132017;border:0;border-radius:7px;padding:8px 11px;font-weight:700;cursor:pointer}.dialog-details{font-size:11px;line-height:1.9;color:#aab9ae;margin:-4px 0 18px}.dialog-footnote{font-size:9px!important;color:#718679!important;margin:14px 0 0}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#e5d19b;color:#132017;border-radius:9px;padding:11px 16px;font-size:12px;font-weight:700;box-shadow:0 10px 30px #0005;transition:.2s;z-index:10;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){.topbar{height:70px;padding:0 5vw}.header-right{font-size:10px}.shell{width:min(560px,90vw)}.hero{padding:36px 0 12px}.hero h1{font-size:43px}.main-grid{grid-template-columns:1fr}.panel{padding:21px}.join-panel{margin-top:0}footer{padding-top:22px;justify-content:center}footer span{width:100%;text-align:center}.hero-art{height:95px}}
@media(max-width:390px){.form-row{gap:9px}.panel{padding:17px}.hero h1{font-size:38px}.brand strong{font-size:11px}.brand small{font-size:8px}.header-right{max-width:95px;text-align:right}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


.live-room-settings { line-height: 1.9; margin: 14px 0; }
.live-players { margin-top: 14px; text-align: left; }
.live-players ul { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.live-players li { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid rgba(211,176,94,.18); border-radius: 10px; background: rgba(255,255,255,.025); }
.live-players li small { color: #d9bd77; font-size: .65rem; letter-spacing: .08em; }
.player-dot { width: 7px; height: 7px; border-radius: 50%; background: #7dd7a0; box-shadow: 0 0 10px #7dd7a0; }
.live-status { color: #b9c8bf; font-size: .9rem; margin-top: 14px; }


.chip-count{float:right;color:#e8d49a;font-size:.8rem}.game-start{width:100%;margin:10px 0}.game-board{margin-top:16px;padding:14px;border:1px solid rgba(235,211,145,.35);border-radius:16px;background:rgba(2,20,16,.4)}.game-summary{display:flex;justify-content:space-between;align-items:center;color:#e8d49a;margin-bottom:14px}.game-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.game-seat{padding:10px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.04)}.game-seat.is-turn{border-color:#f3d77b;box-shadow:0 0 0 1px rgba(243,215,123,.3)}.game-seat.folded{opacity:.45}.seat-title{font-weight:700;font-size:.85rem;margin-bottom:8px}.cards{display:flex;gap:4px;min-height:62px}.playing-card-mini{display:flex;flex-direction:column;justify-content:space-between;width:34px;height:52px;padding:4px;background:#fffaf0;color:#173d32;border-radius:5px;font-size:15px;font-weight:800;box-shadow:0 2px 5px #0004}.playing-card-mini.red{color:#b32e35}.playing-card-mini.back{background:linear-gradient(135deg,#174c3e,#0a201b);border:1px solid #e8d49a;color:#f1d783;justify-content:center;align-items:center}.game-seat small{display:block;margin-top:7px;color:#e8d49a}.game-controls{margin-top:15px}.game-buttons{display:flex;flex-wrap:wrap;gap:8px}.game-buttons .button{flex:1 1 100px;font-size:.8rem;padding:10px 8px}.button:disabled{opacity:.4;cursor:not-allowed}.winner-banner{padding:12px;margin:12px 0;background:rgba(231,194,83,.14);border:1px solid #e8d49a;border-radius:10px;text-align:center;font-weight:800}.showdown{font-size:.85rem}.game-history{margin-top:14px;padding-top:10px;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem}.game-history p{margin:5px 0;color:#d2ddd7}

/* Royal Juwades casino-table game layout */
.casino-table{padding:16px;background:linear-gradient(145deg,rgba(3,17,13,.98),rgba(8,35,26,.96));border-color:#c7a85b;box-shadow:inset 0 0 0 1px #f4dc9633,0 14px 34px #0005}
.table-rail{padding:9px;border-radius:48% / 28%;background:linear-gradient(135deg,#b99043,#f0d98d 18%,#6f4e1d 36%,#d6b66a 55%,#68491d 77%,#e4c875);box-shadow:0 10px 20px #0008}
.table-felt{position:relative;min-height:355px;border-radius:48% / 28%;border:2px solid #174f3c;background:radial-gradient(ellipse at 50% 40%,#176448 0%,#0d4936 52%,#083324 100%);overflow:hidden;box-shadow:inset 0 0 0 2px #d7bd6c66,inset 0 0 34px #001b12}
.table-felt:before{content:"";position:absolute;inset:12px;border:1px solid #d8bd6b88;border-radius:48% / 28%;pointer-events:none}
.table-brand{position:absolute;top:17px;left:0;right:0;text-align:center;font-family:'Playfair Display',serif;font-size:.82rem;letter-spacing:.19em;color:#f1d98b;text-shadow:0 2px 4px #0008}.table-brand span{display:block;font: .65rem sans-serif;letter-spacing:.5em;margin-top:4px;color:#c6a85a}
.pot-pile{position:absolute;z-index:1;left:50%;top:42%;transform:translate(-50%,-50%);min-width:110px;text-align:center;padding:10px 15px;border:1px solid #e3ca7d88;border-radius:40px;background:#06281dcc;color:#e7d28c;box-shadow:0 5px 18px #00150f66}.pot-pile span{display:block;font-size:.6rem;letter-spacing:.16em}.pot-pile strong{display:block;font-size:1.3rem;color:#fff4c9}.pot-pile small{font-size:.65rem}
.table-seats{position:absolute;inset:65px 10px 35px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;align-content:space-around}
.table-seat{position:relative;z-index:2;min-width:132px;max-width:47%;padding:9px 8px;border:1px solid #e5d08a55;border-radius:12px;background:linear-gradient(145deg,#082b21ed,#041b15ed);box-shadow:0 5px 13px #00140f88;text-align:center}
.table-seat .seat-title{font-size:.78rem;color:#fff2c7}.table-seat .seat-title em{font-style:normal;font-size:.58rem;letter-spacing:.08em;color:#0c2b20;background:#e5ce80;padding:2px 5px;border-radius:4px}.table-seat .cards{justify-content:center;min-height:50px}.table-seat .playing-card-mini{width:29px;height:43px;font-size:13px;padding:3px}.table-seat .playing-card-mini b{font-size:12px}.table-seat small{font-size:.63rem;line-height:1.4;color:#e3ce8a}.table-seat.is-turn{border-color:#ffe58b;box-shadow:0 0 0 2px #f3d77b55,0 0 20px #e8c65a44;transform:translateY(-2px)}.table-seat.folded{filter:grayscale(.6);opacity:.38}.table-bottom-label{position:absolute;bottom:13px;left:0;right:0;text-align:center;color:#e5d18e;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}.game-summary{flex-wrap:wrap;gap:8px;font-size:.78rem}.game-summary span:last-child{width:100%;text-align:center;font-size:.7rem;color:#c4d4c9}.game-controls{padding:13px;border:1px solid #d6b86b55;border-radius:12px;background:#071d17}.game-buttons .button{min-height:43px}.game-buttons [data-action="see"]{border-color:#d9c477}
@media(max-width:480px){.table-rail{padding:6px;border-radius:32px}.table-felt{border-radius:26px;min-height:430px}.table-felt:before{inset:8px;border-radius:20px}.table-seats{inset:72px 8px 42px;gap:7px}.table-seat{min-width:125px;max-width:48%;padding:7px 5px}.pot-pile{top:48%;min-width:90px;padding:8px}.table-brand{font-size:.72rem}.casino-table{padding:10px}}

/* Blind/seen betting controls */
.bet-builder{display:grid;grid-template-columns:1fr;gap:8px;margin:12px 0 14px;padding:12px;border:1px solid #d9b86c33;border-radius:10px;background:#ffffff04;text-align:left}.bet-builder label{margin:0}.bet-builder label small{display:block;color:#a7b9ad;font-size:.7rem;font-weight:500;margin-top:4px}.bet-amount-row{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:7px;align-items:center}.bet-amount-row input{text-align:center;font-weight:800;font-variant-numeric:tabular-nums;padding:10px}.bet-adjust{height:42px;border:1px solid #d9b86c77;border-radius:9px;background:#d9b86c14;color:#f4dda0;font-size:1.35rem;font-weight:800;cursor:pointer}.quick-bets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.quick-bets button{padding:9px 5px;border:1px solid #d9b86c55;border-radius:8px;background:#d9b86c0c;color:#f4dda0;font-size:.76rem;font-weight:800;cursor:pointer}.quick-bets button:hover,.bet-adjust:hover{background:#d9b86c25}.quick-bets button:disabled,.bet-adjust:disabled{opacity:.4;cursor:not-allowed}.show-rule{display:block;margin-top:10px;color:#9fb1a5;font-size:.68rem;line-height:1.5}


/* Expanded seven-seat casino table, chip wallets and turn/bet feedback */
.dialog{width:min(1080px,calc(100vw - 24px));max-height:94vh;overflow:auto;text-align:left;padding:clamp(16px,2.5vw,30px)}
.dialog-emblem,.dialog>.eyebrow,.dialog>h2,.dialog>p:not(.dialog-footnote),.code-box{text-align:center}
.dialog-details{font-size:12px;line-height:1.6}
.casino-table{padding:clamp(10px,2vw,22px)}
.table-rail{padding:12px}
.table-felt{min-height:clamp(500px,60vw,650px);border-radius:46% / 22%}
.table-seats{inset:76px 18px 48px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:12px;align-content:stretch}
.table-seat{width:100%;min-width:0;max-width:210px;padding:10px 6px;transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;}
.table-seat:nth-child(1){grid-column:1;grid-row:1}.table-seat:nth-child(2){grid-column:2;grid-row:1}.table-seat:nth-child(3){grid-column:3;grid-row:1}.table-seat:nth-child(4){grid-column:3;grid-row:2}.table-seat:nth-child(5){grid-column:3;grid-row:3}.table-seat:nth-child(6){grid-column:2;grid-row:3}.table-seat:nth-child(7){grid-column:1;grid-row:3}
.table-seat.is-turn{animation:turnGlow 1.45s ease-in-out infinite;border-color:#ffe58b;box-shadow:0 0 0 2px #f3d77b66,0 0 24px #e8c65a77;transform:scale(1.035);z-index:4}
.table-seat .seat-title{font-size:clamp(.66rem,.9vw,.82rem)}
.table-seat .playing-card-mini{width:clamp(23px,3.1vw,34px);height:clamp(35px,4.5vw,49px)}
.table-seat small{font-size:clamp(.55rem,.7vw,.68rem)}
.pot-pile{top:50%;min-width:140px;animation:potPulse 2.4s ease-in-out infinite}
.wallet-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0 0 14px}
.wallet{display:grid;gap:3px;padding:9px 11px;border:1px solid #d9b86c30;border-radius:10px;background:linear-gradient(135deg,#0d2c22,#071b15);min-width:0}
.wallet span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d7e3d9;font-size:.72rem}.wallet strong{font-size:1rem;color:#f4dc96;font-variant-numeric:tabular-nums}.wallet small{font-size:.62rem;color:#91a79a}.wallet-you{border-color:#f0d47c;box-shadow:inset 0 0 0 1px #f0d47c22}
.dealer-badge{background:#1b6d4d!important;color:#e8f7df!important;border:1px solid #a9d7a1}
.turn-message{margin:0 0 10px;color:#a7b9ad;font-weight:800;font-size:.85rem;letter-spacing:.04em}.turn-active{color:#ffe58b;text-shadow:0 0 14px #e8c65a55;animation:turnText 1.2s ease-in-out infinite}
.your-turn-pulse{border-color:#e8c65a99;box-shadow:0 0 0 1px #e8c65a22,0 0 24px #e8c65a18}
.quick-bets button:active,.bet-adjust:active,.game-buttons .button:active{transform:translateY(2px) scale(.98)}
.pot-pile.bet-flash{animation:betFly .55s ease-out}
.winner-banner{animation:winnerReveal .6s cubic-bezier(.2,.8,.2,1) both}.win-pop{font-size:1.05rem;box-shadow:0 0 30px #e8c65a20}
@keyframes turnGlow{0%,100%{box-shadow:0 0 0 1px #f3d77b44,0 0 10px #e8c65a22}50%{box-shadow:0 0 0 3px #f3d77b88,0 0 28px #e8c65a88}}
@keyframes turnText{0%,100%{opacity:1}50%{opacity:.68}}
@keyframes potPulse{0%,100%{box-shadow:0 5px 18px #00150f66}50%{box-shadow:0 5px 28px #e8c65a33}}
@keyframes winnerReveal{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){.dialog{padding:22px 12px}.table-rail{padding:7px}.table-felt{min-height:530px;border-radius:26px}.table-felt:before{border-radius:20px}.table-seats{inset:65px 8px 44px;gap:7px}.table-seat{padding:7px 3px;border-radius:8px}.table-seat .cards{gap:2px}.table-seat .playing-card-mini{width:22px;height:34px;padding:2px;font-size:11px}.table-seat .playing-card-mini b{font-size:10px}.table-seat .seat-title em{font-size:.48rem;padding:2px 3px}.pot-pile{min-width:94px;padding:7px 8px}.pot-pile strong{font-size:1rem}.table-brand{font-size:.67rem}.wallet-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.table-seat.is-turn,.turn-active,.pot-pile,.winner-banner{animation:none!important;transition:none!important}}

@keyframes betFly{0%{transform:translate(-50%,-50%) scale(.9);box-shadow:0 0 0 0 #ffe58b88}45%{transform:translate(-50%,-50%) scale(1.13);box-shadow:0 0 0 12px #ffe58b00}100%{transform:translate(-50%,-50%) scale(1);box-shadow:0 5px 18px #00150f66}}
.table-seat .playing-card-mini{animation:cardDeal .35s ease-out both}
@keyframes cardDeal{from{opacity:0;transform:translateY(-9px) rotate(-5deg)}to{opacity:1;transform:translateY(0) rotate(0)}}

/* Pre-game character selection */
.avatar-picker{position:relative;max-width:900px;margin:22px auto 28px;padding:22px;border:1px solid #d8b86b45;border-radius:22px;background:linear-gradient(135deg,rgba(9,31,26,.97),rgba(5,20,25,.96));box-shadow:0 18px 55px #0004,inset 0 1px #fff1;overflow:hidden}
.avatar-picker:before{content:"";position:absolute;inset:-80px auto auto -70px;width:230px;height:230px;border-radius:50%;background:#18a77a12;filter:blur(22px);pointer-events:none}
.avatar-picker-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.avatar-kicker{font-size:10px;letter-spacing:2.3px;color:#d9b86c;font-weight:800}
.avatar-picker-heading h2{margin:4px 0 3px;font-size:clamp(19px,2.4vw,26px);font-family:'Playfair Display',serif;color:#fff5d9}
.avatar-picker-heading p{margin:0;color:#aebfb7;font-size:12px}
.avatar-selected-label{flex:none;padding:9px 12px;border-radius:999px;border:1px solid #e0bd64a8;background:#d6a84216;color:#ffe7a0;font-size:12px;font-weight:800}
.avatar-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.avatar-option{min-width:0;display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 5px 11px;border:1px solid #73938a40;border-radius:15px;background:linear-gradient(145deg,#102c2a,#091c22);color:#e8f0e8;font:600 11px inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.avatar-option:hover{transform:translateY(-3px);border-color:#9ccbb2;box-shadow:0 8px 22px #0004}
.avatar-option.selected{border-color:#f5d47a;background:linear-gradient(145deg,#274d3a,#102d2d);box-shadow:0 0 0 1px #f5d47a55,0 0 22px #d7ad4a30;transform:translateY(-2px)}
.avatar-art{width:60px;height:60px;display:grid;place-items:center;border-radius:17px;font-size:35px;line-height:1;background:radial-gradient(circle at 30% 20%,#f7df9a,#b37a30 68%,#53361f);border:2px solid #f0d18b;box-shadow:inset 0 2px 4px #fff8,0 5px 12px #0005;filter:saturate(1.08)}
.avatar-art.fox{background:radial-gradient(circle at 30% 20%,#ffe1ad,#bf6337 70%,#54291d)}.avatar-art.cat{background:radial-gradient(circle at 30% 20%,#f4c7fb,#9143aa 70%,#351c52)}.avatar-art.dragon{background:radial-gradient(circle at 30% 20%,#b5f4c1,#168b67 70%,#123c37)}.avatar-art.frog{background:radial-gradient(circle at 30% 20%,#d7f79d,#5b9b37 70%,#254324)}.avatar-art.robot{background:radial-gradient(circle at 30% 20%,#e4f5ff,#548fa9 70%,#253d59)}.avatar-art.wizard{background:radial-gradient(circle at 30% 20%,#d4c8ff,#6853b8 70%,#282454)}.avatar-art.unicorn{background:radial-gradient(circle at 30% 20%,#ffe3fa,#cb75d8 70%,#653b86)}.avatar-art.astronaut{background:radial-gradient(circle at 30% 20%,#d8eaff,#607fbb 70%,#273c70)}.avatar-art.ninja{background:radial-gradient(circle at 30% 20%,#ffb3a2,#b8403e 70%,#50252b)}.avatar-art.penguin{background:radial-gradient(circle at 30% 20%,#d5f7ff,#5293ae 70%,#243e58)}.avatar-art.crown{background:radial-gradient(circle at 30% 20%,#fff0b0,#d2a52b 70%,#694b1c)}
.game-seat .seat-title{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.game-seat .seat-title:before{content:"🎭";font-size:17px}.game-seat .seat-title:has(em.you):before{content:"👑"}
@media(max-width:760px){.avatar-picker{padding:16px;margin:16px auto 22px}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.avatar-art{width:52px;height:52px;font-size:30px}.avatar-option{font-size:10px}.avatar-picker-heading{align-items:flex-start;flex-direction:column}.avatar-selected-label{align-self:flex-start}}
@media(min-width:761px) and (max-width:980px){.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Royal Juwades: full casino-table presentation */
.dialog:has(.casino-table) { width:min(1480px,calc(100vw - 20px)); padding:12px; background:radial-gradient(ellipse at 50% 0%,#123e32,#04110f 62%); border:1px solid #b9974e; box-shadow:0 24px 100px #000e,0 0 0 1px #ffe7a044; }
.dialog:has(.casino-table) > .dialog-emblem,
.dialog:has(.casino-table) > .eyebrow,
.dialog:has(.casino-table) > h2,
.dialog:has(.casino-table) > p:not(.dialog-footnote),
.dialog:has(.casino-table) > .code-box,
.dialog:has(.casino-table) > .dialog-footnote {display:none}
.dialog:has(.casino-table) .dialog-close{z-index:8;right:16px;top:15px;color:#f5d98d;background:#102b23;border:1px solid #c8a858;border-radius:50%;width:34px;height:34px;line-height:1}
.dialog:has(.casino-table) .dialog-details{margin:0;color:#eaf3eb}
.casino-table{margin:0;border:0;border-radius:16px;padding:clamp(10px,1.6vw,22px);background:linear-gradient(145deg,#061b16f7,#03100ff7);box-shadow:inset 0 0 0 1px #e6c66b45}
.table-livebar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 42px 14px 2px;padding:10px 14px;border:1px solid #9bb7b12a;border-radius:12px;background:linear-gradient(100deg,#081d1bf2,#071411e8);box-shadow:0 7px 18px #0004}
.table-livebar>div:first-child{display:grid;grid-template-columns:9px auto;column-gap:9px;align-items:center}.table-livebar strong{font-family:'Playfair Display',serif;letter-spacing:.13em;font-size:clamp(.8rem,1.6vw,1.05rem);color:#f4d989}.table-livebar small{grid-column:2;color:#8fa89b;font-size:.58rem;letter-spacing:.22em}.live-pulse{width:8px;height:8px;border-radius:50%;background:#56e3a1;box-shadow:0 0 12px #56e3a1;animation:pulse 1.5s infinite}.room-live-meta{display:flex;gap:18px;color:#8da69a;font-size:.67rem;letter-spacing:.08em}.room-live-meta b{color:#f6e4af;margin-left:4px;font-size:.76rem}
.wallet-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}.wallet{padding:7px 9px;border-radius:9px;background:linear-gradient(145deg,#102a23,#071712);border-color:#c5a4562b}.wallet span{font-size:.66rem}.wallet strong{font-size:clamp(.78rem,1.2vw,1rem)}.wallet-you{background:linear-gradient(135deg,#253a21,#0c2319);border-color:#f4d36f;box-shadow:0 0 16px #eac55b18}
.table-rail{padding:clamp(7px,1vw,13px);border-radius:48% / 25%;background:linear-gradient(135deg,#7e5b25,#f8df8e 12%,#8c692d 23%,#ead17b 50%,#67481e 75%,#f1d88b);box-shadow:0 15px 24px #0009,inset 0 0 0 2px #fff2}.table-felt{min-height:clamp(470px,49vw,650px);border-radius:48% / 25%;background:radial-gradient(ellipse at 50% 40%,#17815a 0%,#08613f 36%,#06432f 73%,#032a20 100%);box-shadow:inset 0 0 0 3px #e3c66c75,inset 0 0 50px #00170f}.table-felt:after{content:"";position:absolute;inset:8%;border:1px solid #d9c16a2c;border-radius:48% / 28%;pointer-events:none}.table-brand{top:22px;font-size:clamp(.78rem,1.3vw,1rem);color:#f7df91}.table-brand:before{content:"♛";display:block;font-size:1.7rem;line-height:1.1;text-shadow:0 2px 8px #0008}.table-brand span{color:#f1d78d;letter-spacing:.55em}.table-seats{inset:70px 14px 58px;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:1fr 1fr;gap:7px;align-content:space-between}.table-seat{max-width:180px;min-width:0;padding:8px 5px;border-radius:12px;background:linear-gradient(150deg,#061b18f5,#071b17f0 55%,#102b23f7);border:1px solid #c3d3c055;box-shadow:0 7px 16px #00140fcc;backdrop-filter:blur(5px)}.table-seat:nth-child(1){grid-column:1;grid-row:1}.table-seat:nth-child(2){grid-column:2;grid-row:1}.table-seat:nth-child(3){grid-column:3;grid-row:1}.table-seat:nth-child(4){grid-column:5;grid-row:1}.table-seat:nth-child(5){grid-column:7;grid-row:1}.table-seat:nth-child(6){grid-column:2 / span 2;grid-row:2}.table-seat:nth-child(7){grid-column:5 / span 2;grid-row:2}.seat-avatar{display:grid;place-items:center;width:43px;height:43px;margin:-25px auto 4px;border:2px solid #e6c76e;border-radius:50%;background:radial-gradient(circle at 30% 20%,#416e55,#0a251d 72%);font-size:26px;box-shadow:0 3px 12px #0008,0 0 0 3px #05150f}.avatar-fox{background:radial-gradient(circle at 30% 20%,#a75a28,#2b180e)}.avatar-cat{background:radial-gradient(circle at 30% 20%,#8952a9,#1e1129)}.avatar-dragon{background:radial-gradient(circle at 30% 20%,#1e7b5d,#08251c)}.avatar-frog{background:radial-gradient(circle at 30% 20%,#7aa834,#19310c)}.avatar-robot{background:radial-gradient(circle at 30% 20%,#4a8c9d,#10222a)}.avatar-wizard{background:radial-gradient(circle at 30% 20%,#6b56a0,#211638)}.avatar-unicorn{background:radial-gradient(circle at 30% 20%,#d17fae,#3a1a40)}.avatar-astronaut{background:radial-gradient(circle at 30% 20%,#7997b8,#1b283b)}.avatar-ninja{background:radial-gradient(circle at 30% 20%,#bb5c31,#2a1513)}.avatar-penguin{background:radial-gradient(circle at 30% 20%,#7793aa,#111e2a)}.avatar-crown{background:radial-gradient(circle at 30% 20%,#caa34b,#3c2a0c)}
.table-seat .seat-title{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:3px;margin-bottom:4px;color:#fff6db;font-size:clamp(.62rem,.8vw,.78rem)}.table-seat .seat-title em{font-size:.5rem;padding:2px 4px}.table-seat .seat-title em.you{background:#ffe08a;color:#201a08}.player-state{display:block;width:max-content;max-width:100%;margin:0 auto 5px;padding:3px 6px;border-radius:6px;font-size:clamp(.49rem,.65vw,.62rem);font-weight:900;letter-spacing:.035em;white-space:nowrap}.state-blind{color:#cde5ff;background:linear-gradient(90deg,#103d72,#15518c);border:1px solid #4eabff}.state-seen{color:#d5ffe2;background:linear-gradient(90deg,#115b3c,#167b4e);border:1px solid #5ce29a}.state-folded{color:#c2cbc7;background:#46514e;border:1px solid #7c8983}.table-seat .cards{min-height:43px;gap:3px}.table-seat .playing-card-mini{width:clamp(22px,2.8vw,33px);height:clamp(34px,4vw,46px);border-radius:4px}.seat-balance{display:block;margin-top:4px;color:#ffe29a;font-size:clamp(.7rem,1vw,.88rem);font-variant-numeric:tabular-nums}.table-seat small{display:block;margin-top:3px;color:#9eb8aa;font-size:clamp(.48rem,.58vw,.59rem)}.table-seat.is-turn{border-color:#ffe58b;background:linear-gradient(145deg,#3d3615,#0b2119 70%);animation:turnGlow 1.15s ease-in-out infinite;transform:scale(1.04)}.table-seat.is-turn .seat-avatar{box-shadow:0 0 0 3px #f8d66e,0 0 22px #f8d66eaa}.table-seat.folded{filter:grayscale(.75);opacity:.48}.pot-pile{top:51%;min-width:clamp(120px,15vw,190px);padding:9px 12px;border-radius:18px;background:linear-gradient(145deg,#062a1eeF,#051b17f2);border:1px solid #e4c86f;box-shadow:0 6px 18px #00150f99,0 0 0 4px #d9bb5a17}.pot-pile span{font-weight:900;color:#f5dc8b;font-size:.7rem}.pot-pile strong{font-size:clamp(1.1rem,2vw,1.65rem);font-variant-numeric:tabular-nums}.pot-pile>small{display:block;color:#8eaa9a;font-size:.55rem}.pot-chips{display:flex;justify-content:center;gap:4px;margin-bottom:3px}.pot-chips i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;font-style:normal;font-size:10px;color:#fff;border:2px dashed #fff9;box-shadow:0 2px 3px #0008}.pot-chips i:nth-child(1){background:#c94243}.pot-chips i:nth-child(2){background:#256bb4}.pot-chips i:nth-child(3){background:#e5e5df;color:#173c2b}.pot-chips i:nth-child(4){background:#b48b34}
.felt-legend{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:14px;color:#d9e9dd;font-size:.61rem}.felt-legend span{display:flex;align-items:center;gap:5px}.legend-dot{width:7px;height:7px;border-radius:50%}.blind-dot{background:#4da7ff}.seen-dot{background:#52dc92}.folded-dot{background:#7c8983}.game-summary{padding:11px 13px;border:1px solid #d6b86b2b;border-radius:10px;background:#061712;margin-top:10px}.game-summary strong{font-size:1rem;color:#ffe4a0}.turn-callout{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #4d6a60;border-radius:12px;background:linear-gradient(100deg,#0c2520,#091712);margin-bottom:12px}.turn-callout.turn-active{border-color:#f4d36e;background:linear-gradient(100deg,#443719,#11251b);box-shadow:0 0 24px #e9c4511c}.turn-bolt{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#f1cf62;color:#2b2109;font-size:23px;box-shadow:0 0 18px #e8c65a33}.turn-callout>div{flex:1}.turn-message{margin:0!important;font-size:.88rem!important;font-weight:1000;letter-spacing:.09em}.turn-callout small{color:#b8cabe;font-size:.7rem}.turn-tag{padding:6px 9px;border-radius:6px;background:#263b31;color:#c2d5c9;font-size:.62rem;font-weight:900;letter-spacing:.08em}.turn-active .turn-tag{background:#f1d174;color:#261d08}.bet-builder{grid-template-columns:minmax(130px,.8fr) minmax(190px,1.1fr) minmax(180px,1fr);align-items:center}.bet-builder label small{margin-top:5px}.game-buttons .button{border-radius:10px;min-height:53px;font-weight:900;letter-spacing:.01em;box-shadow:0 5px 12px #0004;transition:transform .15s,filter .15s,box-shadow .15s}.game-buttons [data-action="see"]{background:linear-gradient(145deg,#147d4d,#07552f);border:1px solid #65f1a2;color:#f2fff7}.game-buttons [data-action="bet"]{background:linear-gradient(145deg,#ffd76e,#b98220);border:1px solid #ffed9c;color:#241a05}.game-buttons [data-action="fold"]{background:linear-gradient(145deg,#b8474b,#74252e);border:1px solid #e88383;color:#fff5f5}.game-buttons [data-action="show"]{background:linear-gradient(145deg,#3d4b4c,#202c2c);border:1px solid #9bafaa;color:#edf5f1}.game-buttons .button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px);box-shadow:0 8px 18px #0006}.below-table-panels{display:grid;grid-template-columns:1.1fr 1fr;gap:10px;margin-top:12px}.player-status-legend,.game-history{padding:13px;border:1px solid #a6b8b02d;border-radius:12px;background:linear-gradient(145deg,#071a17,#081411)}.player-status-legend>strong,.game-history>strong{display:block;color:#f3d990;letter-spacing:.07em;font-size:.73rem;margin-bottom:10px}.player-status-legend>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.player-status-legend>div>span{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 3px;border:1px solid #b1c5b52b;border-radius:9px;background:#ffffff03;text-align:center}.legend-card{display:grid;place-items:center;width:34px;height:43px;border-radius:5px;font-size:14px;font-style:normal}.legend-card.back{background:#123c66;border:1px solid #52b3ff;color:#d7eeff}.legend-card.face{background:#f7f3e8;color:#bb2d36}.legend-card.folded-card{background:#4b5652;color:#c2cbc7}.legend-crown{font-size:26px;color:#c4a3ff}.player-status-legend em{font-style:normal;font-weight:900;font-size:.68rem;color:#f4ecd4}.player-status-legend small{font-size:.56rem;color:#91a79a;line-height:1.4}.game-history{margin:0;padding-top:13px}.history-item{display:flex;gap:7px;align-items:flex-start;margin:6px 0!important;padding:6px 7px;border-radius:6px;background:#ffffff03;font-size:.69rem;color:#b7c8bf!important;line-height:1.45}.history-item span{color:#8ca89b}.history-item.latest{background:#c9a54a12;color:#f0d995!important}.winner-banner{background:linear-gradient(100deg,#57421b,#132a1c);border-color:#ffe28c;padding:20px;font-size:1.3rem}.showdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:7px}.showdown p{padding:9px;border:1px solid #b89a4c44;border-radius:8px;background:#061912;margin:0}.show-rule{padding:8px 10px;border-radius:8px;background:#ffffff04}
.avatar-option .avatar-art{display:grid;place-items:center;width:58px;height:58px;border:2px solid #d9b86c;border-radius:50%;background:radial-gradient(circle at 30% 20%,#46785b,#0b241b 70%);font-size:34px;box-shadow:0 4px 10px #0005}.avatar-option[data-avatar="fox"] .avatar-art{background:radial-gradient(circle at 30% 20%,#b66c34,#3b2113)}.avatar-option[data-avatar="cat"] .avatar-art{background:radial-gradient(circle at 30% 20%,#b16ad0,#2b1737)}.avatar-option[data-avatar="dragon"] .avatar-art{background:radial-gradient(circle at 30% 20%,#25896c,#08271d)}.avatar-option[data-avatar="frog"] .avatar-art{background:radial-gradient(circle at 30% 20%,#9bbd3b,#23350c)}.avatar-option[data-avatar="robot"] .avatar-art{background:radial-gradient(circle at 30% 20%,#69a6b4,#152932)}.avatar-option[data-avatar="wizard"] .avatar-art{background:radial-gradient(circle at 30% 20%,#8970d0,#25183d)}.avatar-option[data-avatar="unicorn"] .avatar-art{background:radial-gradient(circle at 30% 20%,#e29bc9,#3d2041)}.avatar-option[data-avatar="astronaut"] .avatar-art{background:radial-gradient(circle at 30% 20%,#91a9c4,#1b2939)}.avatar-option[data-avatar="ninja"] .avatar-art{background:radial-gradient(circle at 30% 20%,#cb6c45,#311b16)}.avatar-option[data-avatar="penguin"] .avatar-art{background:radial-gradient(circle at 30% 20%,#7896b2,#172330)}.avatar-option[data-avatar="crown"] .avatar-art{background:radial-gradient(circle at 30% 20%,#d7b75c,#3b2a0d)}
@media(max-width:900px){.wallet-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.table-felt{min-height:580px}.table-seats{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.table-seat:nth-child(1){grid-column:1;grid-row:1}.table-seat:nth-child(2){grid-column:2;grid-row:1}.table-seat:nth-child(3){grid-column:3;grid-row:1}.table-seat:nth-child(4){grid-column:4;grid-row:1}.table-seat:nth-child(5){grid-column:4;grid-row:2}.table-seat:nth-child(6){grid-column:2 / span 1;grid-row:2}.table-seat:nth-child(7){grid-column:1;grid-row:2}.bet-builder{grid-template-columns:1fr 1fr}.bet-builder label{grid-column:1/-1}}
@media(max-width:650px){.dialog:has(.casino-table){padding:6px}.table-livebar{margin-right:40px;padding:8px}.room-live-meta{gap:8px;font-size:.55rem}.wallet-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.table-rail{padding:5px;border-radius:25px}.table-felt{min-height:670px;border-radius:24px}.table-felt:before,.table-felt:after{border-radius:20px}.table-seats{inset:66px 7px 62px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:9px 5px}.table-seat:nth-child(1){grid-column:1;grid-row:1}.table-seat:nth-child(2){grid-column:2;grid-row:1}.table-seat:nth-child(3){grid-column:2;grid-row:2}.table-seat:nth-child(4){grid-column:2;grid-row:3}.table-seat:nth-child(5){grid-column:2;grid-row:4}.table-seat:nth-child(6){grid-column:1;grid-row:4}.table-seat:nth-child(7){grid-column:1;grid-row:3}.table-seat{padding:7px 3px}.seat-avatar{width:34px;height:34px;font-size:21px;margin-top:-20px}.table-seat .playing-card-mini{width:22px;height:34px;padding:2px}.table-seat small{font-size:.5rem}.player-state{font-size:.49rem;padding:3px}.pot-pile{top:49%;min-width:102px;padding:7px 8px}.pot-chips i{width:15px;height:15px}.table-brand{top:14px}.felt-legend{gap:7px;font-size:.53rem}.game-summary{font-size:.67rem}.bet-builder{grid-template-columns:1fr}.bet-builder label{grid-column:auto}.game-buttons .button{flex:1 1 40%;min-height:48px}.below-table-panels{grid-template-columns:1fr}.player-status-legend>div{grid-template-columns:repeat(4,minmax(0,1fr))}.player-status-legend small{font-size:.5rem}}
@media(prefers-reduced-motion:reduce){.live-pulse,.table-seat.is-turn,.pot-pile,.turn-active{animation:none!important}}
.avatar-art img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.seat-avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.seat-avatar{overflow:visible;padding:0}.seat-avatar img{border-radius:50%}


/* Royal table layout: place seats around the rail instead of clustering them in the centre. */
.room-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0 12px;color:#d9c27d;font-size:.7rem;font-weight:900;letter-spacing:.12em}
.leave-room-button{border:1px solid #c86c67;background:linear-gradient(145deg,#9c353a,#66232b);color:#fff;border-radius:9px;padding:9px 13px;font:700 .72rem 'DM Sans',sans-serif;cursor:pointer;min-height:40px}
.leave-room-button:disabled{opacity:.55;cursor:wait}
.table-seats{display:block!important;inset:74px 18px 58px!important}
.table-seat{position:absolute;width:19%;max-width:180px!important;min-width:0!important;transform:translate(-50%,-50%);z-index:2}
.table-seat:nth-child(1){left:18%;top:15%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(2){left:50%;top:10%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(3){left:82%;top:15%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(4){left:88%;top:52%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(5){left:72%;top:86%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(6){left:28%;top:86%;grid-column:auto;grid-row:auto}
.table-seat:nth-child(7){left:12%;top:52%;grid-column:auto;grid-row:auto}
.seats-count-2 .table-seat:nth-child(1){left:28%;top:22%}.seats-count-2 .table-seat:nth-child(2){left:72%;top:78%}
.seats-count-3 .table-seat:nth-child(1){left:18%;top:22%}.seats-count-3 .table-seat:nth-child(2){left:82%;top:22%}.seats-count-3 .table-seat:nth-child(3){left:50%;top:80%}
.seats-count-4 .table-seat:nth-child(1){left:25%;top:18%}.seats-count-4 .table-seat:nth-child(2){left:75%;top:18%}.seats-count-4 .table-seat:nth-child(3){left:75%;top:80%}.seats-count-4 .table-seat:nth-child(4){left:25%;top:80%}
.seats-count-5 .table-seat:nth-child(1){left:18%;top:18%}.seats-count-5 .table-seat:nth-child(2){left:50%;top:10%}.seats-count-5 .table-seat:nth-child(3){left:82%;top:18%}.seats-count-5 .table-seat:nth-child(4){left:70%;top:82%}.seats-count-5 .table-seat:nth-child(5){left:30%;top:82%}
.seats-count-6 .table-seat:nth-child(1){left:20%;top:17%}.seats-count-6 .table-seat:nth-child(2){left:50%;top:12%}.seats-count-6 .table-seat:nth-child(3){left:80%;top:17%}.seats-count-6 .table-seat:nth-child(4){left:80%;top:80%}.seats-count-6 .table-seat:nth-child(5){left:50%;top:86%}.seats-count-6 .table-seat:nth-child(6){left:20%;top:80%}
.table-brand{z-index:1}.pot-pile{z-index:3}.table-bottom-label,.felt-legend{z-index:4;pointer-events:none}
@keyframes turnSoundPulse{0%,100%{box-shadow:0 0 0 0 #ffdf6c22}50%{box-shadow:0 0 0 8px #ffdf6c10}}
.table-seat.is-turn{animation:turnGlow 1.15s ease-in-out infinite,turnSoundPulse 1.6s ease-in-out infinite}
.winner-banner{position:relative;overflow:hidden}.winner-banner.win-pop:after{content:"✦  ✧  ✦  ✧  ✦";display:block;color:#ffe28c;letter-spacing:.5em;font-size:1.3rem;margin-top:8px;animation:sparkle 1.2s ease-in-out infinite}
@media(max-width:900px){.table-felt{min-height:600px}.table-seats{display:grid!important;inset:68px 8px 48px!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:10px}.table-seat{position:relative;left:auto!important;top:auto!important;transform:none;width:100%;max-width:180px!important;grid-column:auto!important;grid-row:auto!important}.table-seat:nth-child(1){grid-column:1!important;grid-row:1!important}.table-seat:nth-child(2){grid-column:2!important;grid-row:1!important}.table-seat:nth-child(3){grid-column:3!important;grid-row:1!important}.table-seat:nth-child(4){grid-column:4!important;grid-row:1!important}.table-seat:nth-child(5){grid-column:4!important;grid-row:2!important}.table-seat:nth-child(6){grid-column:2!important;grid-row:2!important}.table-seat:nth-child(7){grid-column:1!important;grid-row:2!important}}
@media(max-width:650px){.dialog:has(.casino-table){width:calc(100vw - 12px);max-width:none;max-height:94dvh;overflow-y:auto;padding:14px 9px}.room-toolbar{position:sticky;top:0;background:#0b211c;z-index:8}.table-livebar{margin-right:0!important;display:flex;flex-wrap:wrap;gap:8px}.room-live-meta{flex-wrap:wrap}.wallet-strip{grid-template-columns:repeat(2,minmax(0,1fr))!important}.table-rail{border-radius:22px!important;padding:5px!important}.table-felt{min-height:660px!important;border-radius:22px!important}.table-felt:before,.table-felt:after{border-radius:18px!important}.table-seats{inset:72px 5px 46px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;gap:10px 5px!important}.table-seat{width:100%;max-width:none!important;padding:8px 3px!important;min-height:118px}.table-seat:nth-child(1){grid-column:1!important;grid-row:1!important}.table-seat:nth-child(2){grid-column:2!important;grid-row:1!important}.table-seat:nth-child(3){grid-column:2!important;grid-row:2!important}.table-seat:nth-child(4){grid-column:2!important;grid-row:3!important}.table-seat:nth-child(5){grid-column:2!important;grid-row:4!important}.table-seat:nth-child(6){grid-column:1!important;grid-row:4!important}.table-seat:nth-child(7){grid-column:1!important;grid-row:3!important}.table-seat .seat-avatar{width:34px;height:34px;margin-top:-20px}.table-seat .playing-card-mini{width:22px;height:34px}.table-seat .seat-title{font-size:.68rem}.table-seat small{font-size:.53rem}.player-state{font-size:.52rem}.pot-pile{top:51%;min-width:98px}.table-brand{top:14px}.felt-legend{bottom:7px;gap:6px;font-size:.5rem}.bet-builder{grid-template-columns:1fr!important}.game-buttons .button{flex:1 1 42%;min-height:48px}.below-table-panels{grid-template-columns:1fr!important}.player-status-legend>div{grid-template-columns:repeat(2,minmax(0,1fr))!important}.room-toolbar span{font-size:.6rem}.leave-room-button{padding:8px 10px}}
@media(max-width:380px){.table-seat{min-height:110px}.table-seat .playing-card-mini{width:19px;height:31px}.table-seat .seat-title{font-size:.6rem}.table-seat .seat-title em{font-size:.43rem}.table-felt{min-height:700px!important}}

/* Final polish: cinematic table stage, host moderation controls, responsive seat cards. */
.dialog:has(.casino-table){
  background:
    radial-gradient(ellipse at 12% 5%,rgba(191,119,37,.24),transparent 26%),
    radial-gradient(ellipse at 88% 4%,rgba(208,151,54,.18),transparent 24%),
    radial-gradient(ellipse at 50% 0%,#123d30 0%,#061914 48%,#020908 100%);
  border-color:#d8b75f;
}
.dialog:has(.casino-table):before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;background:repeating-linear-gradient(90deg,transparent 0 11%,rgba(220,174,79,.035) 11.2% 11.5%,transparent 11.8% 22%),radial-gradient(ellipse at 50% 100%,rgba(11,112,73,.24),transparent 54%)}
.casino-table{position:relative;z-index:1}
.table-rail{filter:drop-shadow(0 18px 20px #0009)}
.table-felt{overflow:hidden}
.table-felt:before{content:"";position:absolute;inset:3%;border:2px solid #e2c76b55;border-radius:48% / 28%;box-shadow:inset 0 0 25px #00180f66;pointer-events:none}
.table-brand{letter-spacing:.18em;text-shadow:0 2px 8px #00190f}
.pot-pile{box-shadow:0 10px 24px #00130fb3,0 0 24px #e8c86b1c}
.table-seat{transition:filter .2s ease,box-shadow .2s ease,border-color .2s ease}
.table-seat.is-turn{z-index:5;box-shadow:0 0 0 2px #ffe08b,0 0 26px #ffdc65aa,0 10px 24px #000b}
.seat-avatar{box-shadow:0 0 0 3px #06150f,0 0 0 5px #d9b65d,0 7px 18px #0009}
.seat-avatar img{object-fit:cover}
.live-players li{gap:7px;flex-wrap:wrap}
.kick-player{border:1px solid #b95755;background:linear-gradient(145deg,#8b3435,#542125);color:#fff0ed;border-radius:7px;padding:4px 8px;font:700 .62rem 'DM Sans',sans-serif;cursor:pointer}
.kick-player:hover{filter:brightness(1.18)}
.kick-player:disabled{opacity:.5;cursor:wait}
.show-rule{display:block;line-height:1.5}
@media(min-width:901px){
 .casino-table{padding:clamp(12px,1.8vw,26px)}
 .table-rail{padding:clamp(9px,1.2vw,16px)}
 .table-felt{min-height:clamp(560px,53vw,760px)}
 .table-seats{inset:78px 22px 68px!important}
 .table-seat{width:17.5%;max-width:196px!important;padding:10px 7px}
 .table-seat:nth-child(1){left:16%!important;top:20%!important}
 .table-seat:nth-child(2){left:50%!important;top:12%!important}
 .table-seat:nth-child(3){left:84%!important;top:20%!important}
 .table-seat:nth-child(4){left:88%!important;top:52%!important}
 .table-seat:nth-child(5){left:72%!important;top:82%!important}
 .table-seat:nth-child(6){left:28%!important;top:82%!important}
 .table-seat:nth-child(7){left:12%!important;top:52%!important}
 .seats-count-2 .table-seat:nth-child(1){left:25%!important;top:28%!important}
 .seats-count-2 .table-seat:nth-child(2){left:75%!important;top:72%!important}
 .seats-count-3 .table-seat:nth-child(1){left:18%!important;top:22%!important}
 .seats-count-3 .table-seat:nth-child(2){left:82%!important;top:22%!important}
 .seats-count-3 .table-seat:nth-child(3){left:50%!important;top:78%!important}
 .seats-count-4 .table-seat:nth-child(1){left:22%!important;top:20%!important}
 .seats-count-4 .table-seat:nth-child(2){left:78%!important;top:20%!important}
 .seats-count-4 .table-seat:nth-child(3){left:78%!important;top:78%!important}
 .seats-count-4 .table-seat:nth-child(4){left:22%!important;top:78%!important}
 .seats-count-5 .table-seat:nth-child(1){left:16%!important;top:22%!important}
 .seats-count-5 .table-seat:nth-child(2){left:50%!important;top:12%!important}
 .seats-count-5 .table-seat:nth-child(3){left:84%!important;top:22%!important}
 .seats-count-5 .table-seat:nth-child(4){left:70%!important;top:82%!important}
 .seats-count-5 .table-seat:nth-child(5){left:30%!important;top:82%!important}
 .seats-count-6 .table-seat:nth-child(1){left:17%!important;top:20%!important}
 .seats-count-6 .table-seat:nth-child(2){left:50%!important;top:12%!important}
 .seats-count-6 .table-seat:nth-child(3){left:83%!important;top:20%!important}
 .seats-count-6 .table-seat:nth-child(4){left:83%!important;top:78%!important}
 .seats-count-6 .table-seat:nth-child(5){left:50%!important;top:86%!important}
 .seats-count-6 .table-seat:nth-child(6){left:17%!important;top:78%!important}
}
@media(max-width:900px){.table-felt{min-height:610px}.table-seats{inset:76px 8px 52px!important}.table-seat{max-width:190px!important}}
@media(max-width:650px){
 .dialog:has(.casino-table){padding:8px!important}
 .table-livebar{padding:9px!important}
 .table-felt{min-height:700px!important}
 .table-seats{inset:78px 5px 48px!important;gap:12px 6px!important}
 .table-seat{min-height:120px!important;padding:8px 3px!important}
 .table-seat.is-turn{transform:scale(1.015)!important}
 .seat-avatar{width:36px;height:36px;margin-top:-22px}
 .table-seat .seat-title{font-size:.66rem}
 .table-seat .seat-balance{font-size:.75rem}
 .game-controls{padding:12px 9px}
 .game-buttons .button{min-height:48px}
 .kick-player{padding:5px 8px}
}
@media(prefers-reduced-motion:reduce){.table-seat.is-turn,.winner-banner.win-pop:after{animation:none!important}}

/* Host-approved virtual chip top-ups and transparent audit trail. */
.chip-topup-panel{position:relative;z-index:2;margin:16px 0;padding:16px;border:1px solid #bda35b66;border-radius:16px;background:linear-gradient(145deg,#0b211c,#07130f);box-shadow:0 8px 24px #0005;color:#f7f0d6}
.chip-topup-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.chip-topup-heading>div{display:grid;gap:5px}.chip-topup-heading strong{font-size:1.05rem;color:#f2d681}.chip-topup-heading small,.chip-host-note{color:#a9bdb2;font-size:.78rem;line-height:1.45}.chip-wallet-balance{white-space:nowrap;padding:8px 10px;border-radius:10px;background:#173b2d;border:1px solid #477657;color:#ffe39a;font-weight:800;font-size:.85rem}
.chip-request-controls{display:flex;align-items:end;gap:9px;flex-wrap:wrap;margin-top:14px}.chip-request-controls label{width:100%;font-size:.76rem;color:#b5c8bc}.chip-request-controls select{min-width:150px;flex:1;background:#06140f;color:#fff4d2;border:1px solid #597d69;border-radius:9px;padding:11px;font:inherit}.chip-request-controls .button{min-height:42px}.chip-request-status{margin:12px 0 0;padding:10px;border-radius:9px;background:#12281f;color:#e6e8d8;font-size:.8rem}.chip-request-status.status-pending{border-left:3px solid #eac85d}.chip-request-status.status-approved{border-left:3px solid #53d28a}.chip-request-status.status-rejected{border-left:3px solid #df7772}.chip-host-note{margin:12px 0}
.chip-approval-list{margin-top:15px}.chip-approval-list>strong{display:block;color:#f1d27a;font-size:.88rem;margin-bottom:8px}.chip-approval-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #ffffff16}.chip-approval-row>div:first-child{display:grid;gap:4px}.chip-approval-row b{font-size:.88rem}.chip-approval-row span,.chip-approval-row small{color:#a9bdb2;font-size:.75rem}.chip-approval-actions{display:flex;gap:7px;flex-wrap:wrap}.chip-approve,.chip-reject{border-radius:8px;padding:8px 10px;font:700 .76rem 'DM Sans',sans-serif;cursor:pointer}.chip-approve{background:linear-gradient(145deg,#258452,#125333);border:1px solid #6bd39b;color:#fff}.chip-reject{background:linear-gradient(145deg,#853b3d,#4c2025);border:1px solid #d27777;color:#fff}.chip-approve:disabled,.chip-reject:disabled{opacity:.55;cursor:wait}.chip-empty{font-size:.8rem;color:#a9bdb2;margin:8px 0}.chip-audit{margin-top:14px;border-top:1px solid #ffffff19;padding-top:11px}.chip-audit summary{cursor:pointer;color:#c4d7ca;font-size:.8rem;font-weight:700}.chip-audit>div{max-height:220px;overflow:auto;margin-top:8px}.chip-audit p{margin:0;padding:8px 0;border-bottom:1px solid #ffffff10;font-size:.74rem;color:#c4d7ca;line-height:1.4}.chip-audit p small{display:block;color:#829c8d;margin-top:3px}
@media(max-width:520px){.chip-topup-panel{padding:12px;margin:12px 0}.chip-topup-heading{align-items:flex-start;flex-direction:column}.chip-request-controls{display:grid;grid-template-columns:1fr}.chip-request-controls label{width:auto}.chip-request-controls select,.chip-request-controls .button{width:100%;min-width:0}.chip-approval-row{align-items:flex-start;flex-direction:column}.chip-approval-actions{width:100%}.chip-approval-actions button{flex:1;min-height:40px}}


/* Mobile-first product polish inspired by Offsuit's clean, focused poker UX (not a visual copy). */
:root{--bg:#07130f;--panel:#0c2019;--line:rgba(210,190,130,.18);--gold:#d7bb72;--gold2:#f1dfaa;--text:#f5f4ed;--muted:#a5b5aa;--green:#16815b;--blue:#2c83d5}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
button,input,select{font:inherit}button,input,select{touch-action:manipulation}button{ -webkit-tap-highlight-color:transparent }
.topbar{height:66px;padding-inline:clamp(14px,4vw,48px);background:rgba(5,18,13,.92);border-bottom-color:#ffffff12}
.brand-mark{border-radius:12px}.brand strong{font-size:14px;letter-spacing:1.7px}.header-right{font-size:12px}
.shell{width:min(1180px,92vw)}
.hero{padding:clamp(24px,4vw,46px) 0 16px}.hero h1{font-size:clamp(34px,4.5vw,56px);letter-spacing:-.7px}.hero>p{font-size:15px;max-width:600px}
.hero-art{height:88px;margin-top:4px;transform:scale(.9)}
.avatar-picker{margin-top:20px;padding:clamp(14px,2.5vw,22px);border-radius:20px;background:linear-gradient(145deg,#0d251d,#0a1b15);border:1px solid #ffffff13}
.avatar-picker-heading h2{font-family:inherit;font-size:clamp(18px,2vw,22px);letter-spacing:-.3px}.avatar-picker-heading p{font-size:13px}
.avatar-grid{gap:10px;grid-template-columns:repeat(6,minmax(0,1fr))}
.avatar-option{min-width:0;min-height:100px;padding:10px 6px;border-radius:14px;background:#071812;border-color:#ffffff17;font-size:12px}
.avatar-option.selected{border-color:#e0c879;box-shadow:0 0 0 2px #e0c87924;background:#14271c}
.avatar-art{width:clamp(48px,5vw,64px);height:clamp(48px,5vw,64px);border-radius:16px}
.main-grid{gap:16px}.panel{border-radius:18px;padding:clamp(17px,2.2vw,26px);background:#0b1e17;border-color:#ffffff13;box-shadow:0 12px 36px #0002}.panel:hover{transform:none;box-shadow:0 12px 36px #0002;border-color:#ffffff20}
.panel h2{font-family:inherit;font-size:21px;letter-spacing:-.4px}.panel-heading{margin-bottom:20px}.panel-heading p{font-size:13px}
label{font-size:12px}input,select{min-height:46px;border-radius:11px;background:#06150f;border-color:#ffffff20;font-size:15px;padding:12px 14px}.button{min-height:48px;border-radius:12px;font-size:14px;padding:13px 16px}.button:hover{transform:none;box-shadow:none}
.hero-chips span{font-size:12px;padding:8px 11px}
footer{padding:22px 0 30px;color:#8fa397;font-size:11px}
/* Room dialog: focused game screen, with no accidental outside-click dismissal. */
.dialog:has(.casino-table){width:min(1440px,calc(100vw - 24px));max-height:96dvh;padding:clamp(12px,1.6vw,22px);border-radius:24px;border:1px solid #3a6b55;background:#081812;box-shadow:0 24px 90px #000b;overscroll-behavior:contain}
.dialog:has(.casino-table)::backdrop{background:rgba(0,7,4,.84);backdrop-filter:blur(5px)}
.dialog:has(.casino-table) .dialog-details{display:block;min-width:0}
.room-toolbar{padding:7px 0 12px;letter-spacing:.07em;font-size:12px}.leave-room-button{min-height:44px;padding:10px 14px;border-radius:11px;font-size:13px}
.live-room-settings,.live-players,.chip-topup-panel,.game-controls,.player-status-legend,.game-history{border-radius:16px}
.live-players li{padding-block:9px}
.casino-table{padding:clamp(10px,1.4vw,18px);border-radius:20px;background:#0a1b14;border:1px solid #ffffff14;box-shadow:none}
.table-livebar{align-items:center;padding:10px 12px!important;margin-bottom:10px;border:1px solid #ffffff10;border-radius:12px;background:#07150f}
.table-livebar strong{letter-spacing:.08em;font-size:13px}.table-livebar small{font-size:10px;letter-spacing:.13em}.room-live-meta{gap:12px;font-size:11px}
.table-rail{padding:7px;border-radius:36px;background:linear-gradient(145deg,#bca15b,#e4d28e 20%,#7b632f 54%,#d9c177);filter:none;box-shadow:0 10px 24px #0004}
.table-felt{min-height:clamp(480px,50vw,660px);border-radius:34% / 24%;background:radial-gradient(ellipse at 50% 40%,#176344,#0b4a32 64%,#083724);box-shadow:inset 0 0 0 2px #c6ad6266,inset 0 0 35px #00190f;}
.table-felt:before{inset:12px;border:1px solid #d8bd6b55;box-shadow:none}
.table-brand{font-size:clamp(11px,1vw,15px);letter-spacing:.14em;color:#f0d993}.table-brand span{font-size:11px}
.pot-pile{border:1px solid #e1c776;border-radius:16px;background:#082319eF;box-shadow:0 8px 18px #00150e77;min-width:118px;padding:12px 15px}.pot-pile strong{font-size:clamp(18px,2vw,27px)}.pot-pile small{font-size:11px}
.table-seat{border:1px solid #ffffff24;border-radius:15px;background:rgba(5,21,15,.95);box-shadow:0 5px 14px #0003;padding:10px 8px;backdrop-filter:blur(8px)}
.table-seat .seat-title{font-size:12px;line-height:1.25}.table-seat .seat-title em{font-size:9px}.seat-avatar{width:clamp(34px,3.2vw,48px);height:clamp(34px,3.2vw,48px);margin-top:-24px}.player-state{font-size:10px;padding:5px 8px;border-radius:8px}.table-seat .playing-card-mini{width:clamp(22px,2.4vw,31px);height:clamp(33px,3.2vw,44px);border-radius:6px}.table-seat .seat-balance{font-size:13px}.table-seat small{font-size:10px}
.table-seat.is-turn{border-color:#f0d574;background:linear-gradient(145deg,#27321e,#0b2117);box-shadow:0 0 0 2px #f0d5743d,0 8px 20px #0005;transform:translate(-50%,-50%) scale(1.025)}
.game-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:10px 0;padding:13px 15px;border:1px solid #ffffff12;border-radius:13px;background:#0c2018;font-size:12px}.game-summary strong{font-size:17px;color:#f1dc9b}.game-summary span:last-child{width:auto;text-align:right;font-size:11px}
.game-controls{position:relative;margin-top:12px;padding:14px;border:1px solid #ffffff16;background:#0b1e16;box-shadow:none}
.turn-callout{padding:12px;border-radius:12px;margin-bottom:12px}.turn-callout.turn-active{border-color:#e3c86f;background:#1a281a;box-shadow:inset 3px 0 #e3c86f}
.turn-bolt{width:38px;height:38px;border-radius:10px;box-shadow:none}.turn-message{font-size:13px!important;letter-spacing:.07em}.turn-callout small{font-size:12px}.turn-tag{font-size:10px}
.bet-builder{border:1px solid #ffffff14;border-radius:13px;background:#07160f;padding:12px;margin:10px 0}.bet-builder label{font-size:13px}.bet-builder label small{font-size:11px}.bet-amount-row{grid-template-columns:48px minmax(0,1fr) 48px}.bet-adjust{height:48px;border-radius:11px;font-size:23px}.bet-amount-row input{font-size:17px}.quick-bets button{min-height:42px;border-radius:10px;font-size:13px}
.game-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.game-buttons .button{min-height:50px;justify-content:center;gap:8px;font-size:13px;border-radius:12px}.game-buttons [data-action="see"]{background:#126443;border-color:#2b9d6b}.game-buttons [data-action="bet"]{background:#d9b86c;color:#162219}.game-buttons [data-action="fold"]{background:#602d31;border-color:#a94c52}.game-buttons [data-action="show"]{background:#162a22;border-color:#3c6551}
.show-rule{margin-top:10px;padding:10px 12px;border-radius:10px;background:#071811;color:#aebeb3;font-size:12px;line-height:1.5}
.below-table-panels{gap:12px}.player-status-legend,.game-history{padding:16px;background:#0b1e17;border:1px solid #ffffff13}.player-status-legend>strong,.game-history>strong{font-size:14px;letter-spacing:.03em}.player-status-legend>div>span{border-radius:12px;background:#071710;border-color:#ffffff14}.game-history p{font-size:12px}
/* Touch-first phone layout: full-screen table, compact seat cards, thumb-friendly fixed action tray. */
@media(max-width:900px){
 .topbar{height:58px;padding-inline:14px}.brand{gap:8px}.brand-mark{width:36px;height:36px;font-size:20px}.brand strong{font-size:12px;letter-spacing:1.2px}.brand small{font-size:8px;letter-spacing:1px}.header-right{font-size:10px;gap:6px}
 .shell{width:calc(100% - 28px)}.hero{padding:24px 0 10px}.hero h1{font-size:clamp(32px,8vw,42px);margin:10px 0}.hero>p{font-size:14px}.hero-art{height:72px;transform:scale(.78);transform-origin:top center;margin-bottom:-8px}.hero-chips{gap:6px;margin-top:12px}.hero-chips span{font-size:10px;padding:7px 9px}
 .avatar-picker{margin:16px 0 12px;padding:14px;border-radius:16px}.avatar-picker-heading{align-items:flex-start;gap:10px}.avatar-picker-heading h2{font-size:17px}.avatar-picker-heading p{font-size:12px}.avatar-selected-label{font-size:10px;white-space:nowrap}.avatar-grid{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scroll-snap-type:x mandatory;scrollbar-width:thin}.avatar-option{flex:0 0 82px;min-height:100px;scroll-snap-align:start;font-size:11px}.avatar-art{width:48px;height:48px;border-radius:13px}
 .main-grid{grid-template-columns:1fr;gap:12px}.panel{padding:18px;border-radius:16px}.panel-heading{margin-bottom:17px}.panel h2{font-size:20px}.form-row{gap:10px}.fine-print{font-size:11px}.steps{gap:10px}footer{display:flex;flex-wrap:wrap;gap:8px 14px}
 .dialog:has(.casino-table){position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;border:0;padding:0;background:#07130f;overflow-y:auto;overscroll-behavior:contain;box-shadow:none}
 .dialog:has(.casino-table) .dialog-details{padding:0 12px calc(18px + env(safe-area-inset-bottom));}
 .room-toolbar{position:sticky;top:0;z-index:30;margin:0 -12px 10px;padding:10px 12px;background:rgba(7,19,14,.97);border-bottom:1px solid #ffffff12;backdrop-filter:blur(14px);font-size:11px;letter-spacing:.04em}.room-toolbar span{font-size:10px}.leave-room-button{min-height:42px;padding:9px 12px;font-size:12px}
 .live-room-settings{font-size:12px;padding:12px!important}.live-players{padding:12px!important}.live-players>strong{font-size:13px}.live-players li{font-size:12px}
 .casino-table{margin:0 -4px;padding:8px;border-radius:16px;border:1px solid #ffffff12;background:#091a12}
 .table-livebar{position:relative;top:auto;display:flex;justify-content:space-between;gap:8px;padding:8px 10px!important;margin-bottom:8px;border-radius:10px}.table-livebar strong{font-size:11px}.table-livebar small{font-size:8px}.room-live-meta{gap:8px;font-size:9px}.room-live-meta span{white-space:nowrap}
 .table-rail{padding:5px;border-radius:24px;background:linear-gradient(145deg,#a88d4b,#e1ca82 24%,#78602e 60%,#cbb36a);filter:none}
 .table-felt{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0!important;height:auto;border-radius:20px;background:radial-gradient(ellipse at 50% 30%,#13553b,#0a3928 75%);padding:12px 9px 10px;overflow:visible}
 .table-felt:before{inset:6px;border-radius:15px;border:1px solid #dfc9774a}
 .table-brand{position:relative;inset:auto;order:0;text-align:center;font-size:10px;line-height:1.4;letter-spacing:.12em;margin:0 0 2px}.table-brand span{display:block;font-size:9px;letter-spacing:.3em}
 .table-seats{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:22px 8px!important;order:1;width:100%;align-items:stretch;justify-items:stretch;z-index:2}
 .table-seat,.table-seat:nth-child(n){position:relative!important;left:auto!important;top:auto!important;grid-column:auto!important;grid-row:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:112px!important;padding:10px 6px 8px!important;border-radius:12px!important;background:rgba(4,21,14,.95);box-shadow:0 3px 9px #00170f44;overflow:visible}
 .table-seat .seat-avatar{width:36px;height:36px;margin:-23px auto 4px;display:block;border-width:2px;box-shadow:0 0 0 2px #0b3425,0 0 0 3px #d2b766}
 .table-seat .seat-title{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:3px;text-align:center;font-size:11px;min-height:18px;line-height:1.15}.table-seat .seat-title em{font-size:8px;padding:2px 4px}
 .player-state{display:block;width:max-content;max-width:100%;margin:5px auto 6px;padding:4px 6px;font-size:9px;white-space:nowrap}.table-seat .cards{display:flex;justify-content:center;gap:3px;min-height:34px}.table-seat .playing-card-mini{width:22px;height:33px;padding:2px;font-size:11px;border-radius:4px}.table-seat .playing-card-mini b{font-size:10px}.table-seat .seat-balance{display:block;margin-top:5px;text-align:center;font-size:12px}.table-seat small{display:block;text-align:center;font-size:9px;line-height:1.2;margin-top:3px}
 .table-seat.is-turn{transform:translateY(-2px)!important;border-color:#f0d574!important;box-shadow:0 0 0 2px #f0d57436,0 5px 12px #0004!important;background:#1b2b1c}
 .pot-pile{position:relative!important;left:auto!important;top:auto!important;transform:none!important;order:2;align-self:center;min-width:128px;margin:0 auto;padding:9px 15px;border-radius:13px;background:#08251a;border:1px solid #e1c776;box-shadow:none}.pot-chips{margin-bottom:2px}.pot-pile span{font-size:10px}.pot-pile strong{font-size:22px}.pot-pile small{font-size:10px}
 .table-bottom-label{position:relative;inset:auto;order:3;font-size:9px;letter-spacing:.06em;padding:4px 0 0;text-align:center}.felt-legend{position:relative;inset:auto;order:4;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;font-size:9px;padding-top:4px}.felt-legend span{white-space:nowrap}
 .game-summary{margin:9px 0;padding:11px 12px;gap:7px}.game-summary span{font-size:10px}.game-summary strong{font-size:16px}.game-summary span:last-child{width:100%;text-align:left;font-size:10px}
 .game-controls{position:sticky;bottom:0;z-index:24;margin:10px -12px 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;border:1px solid #355445;border-bottom:0;background:rgba(7,20,14,.97);backdrop-filter:blur(16px);box-shadow:0 -10px 30px #0005}
 .turn-callout{gap:8px;padding:9px 10px;margin-bottom:8px}.turn-bolt{width:32px;height:32px;font-size:18px}.turn-message{font-size:11px!important}.turn-callout small{font-size:10px}.turn-tag{font-size:9px;padding:5px 6px}
 .bet-builder{padding:9px;margin:7px 0 9px;gap:7px}.bet-builder label{font-size:11px}.bet-builder label small{display:inline;font-size:10px;margin-left:4px}.bet-amount-row{grid-template-columns:42px minmax(0,1fr) 42px;gap:7px}.bet-adjust{height:42px}.bet-amount-row input{min-height:42px;font-size:16px}.quick-bets{gap:6px}.quick-bets button{min-height:38px;font-size:12px;padding:7px 4px}
 .game-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.game-buttons .button{min-height:44px;padding:10px 8px;font-size:12px}.show-rule{font-size:10px;padding:8px 9px;margin-top:8px}
 .below-table-panels{grid-template-columns:1fr!important;margin-top:12px}.player-status-legend,.game-history{padding:12px}.player-status-legend>div{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}.player-status-legend>div>span{padding:8px}.player-status-legend small{font-size:10px!important}.game-history p{font-size:11px}
 .chip-topup-panel{padding:12px}.chip-topup-heading strong{font-size:14px}.chip-wallet-balance{font-size:12px}.chip-request-controls{display:grid;grid-template-columns:1fr}.chip-request-controls select,.chip-request-controls .button{width:100%;min-height:44px}.chip-approval-row{align-items:flex-start;flex-direction:column}.chip-approval-actions{width:100%}.chip-approval-actions button{flex:1;min-height:42px}
}
@media(max-width:390px){
 .shell{width:calc(100% - 22px)}.topbar{padding-inline:11px}.brand strong{font-size:11px}.header-right{font-size:9px}.hero h1{font-size:31px}.form-row{grid-template-columns:1fr}.avatar-option{flex-basis:74px}.dialog:has(.casino-table) .dialog-details{padding-inline:8px}.room-toolbar{margin-inline:-8px;padding-inline:8px}.table-seat,.table-seat:nth-child(n){min-height:108px!important}.table-seat .seat-avatar{width:32px;height:32px}.table-seat .seat-title{font-size:10px}.table-seat .playing-card-mini{width:20px;height:30px}.table-seat .seat-balance{font-size:11px}.game-controls{margin-inline:-8px;padding-inline:8px}.game-buttons .button{font-size:11px}}
@media(min-width:901px) and (max-width:1000px){.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dialog:has(.casino-table){width:calc(100vw - 20px);max-height:96dvh}.table-felt{min-height:520px}.table-seat{max-width:165px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Compact, on-demand chip requests: keeps the lobby and table uncluttered. */
.chip-launcher-row{display:flex;justify-content:flex-end;margin:14px 0 4px}
.chip-launcher{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:48px;padding:10px 15px;border:1px solid #bda35b88;border-radius:12px;background:linear-gradient(135deg,#102d22,#071812);color:#f4d988;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 5px 16px #0003}
.chip-launcher span{padding:5px 9px;border-radius:8px;background:#1b4935;color:#ffe8a3;font-size:.85em}
.chip-launcher:active{transform:scale(.985)}
.chip-modal-overlay[hidden]{display:none!important}
.chip-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:#000b;backdrop-filter:blur(7px)}
.chip-modal-card{position:relative;width:min(560px,100%);max-height:min(88dvh,760px);overflow:auto;margin:0;padding:22px!important;border:1px solid #d8b75f!important;box-shadow:0 22px 90px #000b!important}
.chip-modal-close{position:absolute;right:14px;top:13px;width:36px;height:36px;border:1px solid #6b8978;border-radius:10px;background:#10291f;color:#fff2d0;font-size:25px;line-height:1;cursor:pointer}
.chip-modal-card .chip-topup-heading{padding-right:34px}
.chip-modal-card .chip-request-controls{display:grid;grid-template-columns:1fr;margin-top:20px;gap:10px}
.chip-amount-stepper{display:grid;grid-template-columns:50px minmax(0,1fr) 50px;gap:8px}
.chip-amount-stepper button{min-height:48px;border:1px solid #648a73;border-radius:10px;background:#143a2a;color:#ffe5a0;font-size:25px;font-weight:800;cursor:pointer}
.chip-amount-stepper input{width:100%;min-width:0;min-height:48px;border:1px solid #648a73;border-radius:10px;background:#06140f;color:#fff4d2;padding:10px 14px;font:inherit;font-weight:750;font-size:1.05rem}
.chip-step-hint{color:#9db4a7;font-size:.78rem}
.chip-modal-card .chip-request-controls .button{width:100%;min-height:48px}
.chip-modal-card .chip-approval-list{margin-top:20px}
.chip-modal-card .chip-audit{margin-top:16px}
@media(max-width:520px){.chip-launcher-row{margin:12px 0}.chip-launcher{width:100%;min-height:50px}.chip-modal-overlay{align-items:flex-end;padding:8px}.chip-modal-card{width:100%;max-height:88dvh;border-radius:20px 20px 12px 12px!important;padding:20px 14px!important}.chip-modal-card .chip-topup-heading{padding-right:34px}.chip-modal-card .chip-topup-heading>div{gap:7px}.chip-modal-card .chip-topup-heading small{font-size:.72rem}}

/* Keep host and player table rendering identical at common laptop/tablet widths. */
@media (min-width:761px) and (max-width:900px){
 .dialog:has(.casino-table){position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border-radius:0;padding:0;background:#07130f;overflow-y:auto;overscroll-behavior:contain}
 .dialog:has(.casino-table) .dialog-details{padding:0 12px calc(18px + env(safe-area-inset-bottom))}
 .casino-table{margin:0 -4px;padding:8px;border-radius:16px}
 .table-livebar{position:relative;top:auto;display:flex;justify-content:space-between;gap:8px;padding:8px 10px;margin-bottom:8px}
 .table-rail{padding:5px;border-radius:24px}
 .table-felt{display:flex;flex-direction:column;align-items:stretch;gap:8px;min-height:0!important;height:auto;border-radius:20px;padding:12px 9px 10px;overflow:visible}
 .table-brand{position:relative;inset:auto;order:0;text-align:center;font-size:10px;margin:0 0 2px}
 .table-brand span{display:block;font-size:9px}
 .table-seats{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:auto!important;gap:22px 8px!important;order:1;width:100%;align-items:stretch;justify-items:stretch}
 .table-seat,.table-seat:nth-child(n){position:relative!important;left:auto!important;top:auto!important;grid-column:auto!important;grid-row:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0!important;min-height:112px!important;padding:10px 6px 8px!important;border-radius:12px!important;overflow:visible}
 .table-seat .seat-avatar{width:36px;height:36px;margin:-23px auto 4px}
 .table-seat .seat-title{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;text-align:center;font-size:11px}
 .player-state{display:block;width:max-content;max-width:100%;margin:5px auto 6px;font-size:9px;white-space:nowrap}
 .table-seat .cards{display:flex;justify-content:center;gap:3px;min-height:34px}
 .table-seat .playing-card-mini{width:22px;height:33px;padding:2px;font-size:11px}
 .table-seat .seat-balance,.table-seat small{display:block;text-align:center}
 .pot-pile{position:relative!important;left:auto!important;top:auto!important;transform:none!important;order:2;align-self:center;min-width:128px;margin:0 auto}
 .table-bottom-label,.felt-legend{position:relative;inset:auto;order:3;text-align:center}
 .felt-legend{order:4;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
 .game-controls{position:relative;margin-top:10px}
}

/* ROYAL BURGUNDY THEME — applied to the real game UI, not a mockup. */
:root{
  --bg:#10080d;
  --panel:#1c0d14;
  --line:rgba(224,190,135,.28);
  --gold:#c9a46a;
  --gold2:#f2d9a0;
  --text:#f7efe6;
  --muted:#c0adb2;
  color-scheme:dark;
}
html,body{background-color:#10080d}
body{background:radial-gradient(ellipse at 50% -20%,#4a1829 0,transparent 47%),radial-gradient(ellipse at 95% 55%,#32101f 0,transparent 38%),linear-gradient(145deg,#10080d 0%,#1a0a12 52%,#0d080c 100%);color:#f7efe6}
.ambient-one,.ambient-three{background:#e0b66c;opacity:.12}
.ambient-two{background:#8e203e;opacity:.19}
.topbar{background:rgba(18,7,13,.82);border-bottom-color:#c9a46a30}
.brand-mark{border-color:#c9a46a;background:linear-gradient(145deg,#642039,#1b0a12);color:#f2d9a0;box-shadow:inset 0 0 20px #f2d9a00c}
.brand small,.header-right,.hero>p,.panel-heading p{color:#c0adb2}
.status-dot{background:#dfb873;box-shadow:0 0 12px #dfb873}
.panel{background:linear-gradient(145deg,rgba(43,16,29,.97),rgba(22,10,16,.98));border-color:#c9a46a3d;box-shadow:0 24px 60px #0005}
.panel:hover{border-color:#f2d9a077;box-shadow:0 25px 65px #0007,0 0 25px #c9a46a0c}
.icon-tile{border-color:#c9a46a55;background:#c9a46a13;color:#f2d9a0}
.hero h1 em{background-image:linear-gradient(100deg,#a9793e,#fff0c7,#c99a58);color:transparent}
.hero-chips span:hover{border-color:#f2d9a077}
input,select,.input-with-prefix{background:#12080e;border-color:#68404d;color:#f7efe6}
input::placeholder{color:#967d87}
input:focus,select:focus,.input-with-prefix:focus-within{border-color:#e2bd7d;box-shadow:0 0 0 3px #e2bd7d1a}
.settings-strip{border-color:#c9a46a20}
.switch span{background:#4a2936}.switch span:before{background:#d7bdc2}.switch input:checked+span{background:#8f2845}.switch input:checked+span:before{background:#fff0c6}
.pot-preview{background:#c9a46a0d;border-color:#c9a46a35}.pot-preview>strong,.field-hint strong,.lock-icon{color:#f2d9a0}
.button-primary{background:linear-gradient(110deg,#a9773e,#f2d9a0,#c99a58);color:#21120d;box-shadow:0 6px 22px #c6a0521c}
.button-secondary{color:#f2d9a0;background:#c9a46a12;border-color:#c9a46a85}
.join-note{border-color:#c9a46a24;color:#c0adb2;background:#ffffff04}
.divider:before,.divider:after{background:#c9a46a25}
.avatar-picker,.avatar-option{border-color:#c9a46a35}
.avatar-picker{background:linear-gradient(145deg,#2a101b,#160a11)}
.avatar-option.selected,.avatar-option[aria-pressed="true"]{border-color:#f2d9a0;box-shadow:0 0 0 2px #f2d9a01e,0 0 18px #b7794c22}
.avatar-option .avatar-art{border-color:#c9a46a66}
.dialog:has(.casino-table){background:radial-gradient(ellipse at 50% 0%,#3b1423 0,transparent 50%),linear-gradient(145deg,#1a0a12,#10080d 68%,#1b0b13);border-color:#c9a46a66;box-shadow:0 30px 100px #000c}
.dialog:has(.casino-table):before{opacity:.35;background:repeating-linear-gradient(90deg,transparent 0 11%,rgba(220,174,79,.035) 11.2% 11.5%,transparent 11.8% 22%),radial-gradient(ellipse at 50% 100%,rgba(142,32,62,.25),transparent 54%)}
.room-toolbar{background:rgba(25,9,17,.96);border-bottom-color:#c9a46a35}
.leave-room-button{border-color:#e6a0a2;background:linear-gradient(145deg,#a62d49,#68192f);color:#fff6f1}
.live-room-settings,.live-players,.table-livebar{background:linear-gradient(145deg,#27101b,#180a12)!important;border-color:#c9a46a35!important}
.casino-table{background:linear-gradient(145deg,#1a0b12,#260d19)!important;border-color:#c9a46a35!important}
.table-rail{background:linear-gradient(135deg,#6c3b2a 0%,#f2d9a0 13%,#8f633d 25%,#e3c184 48%,#633522 72%,#d5ad70 100%)!important;box-shadow:0 15px 30px #000a,inset 0 0 0 2px #fff1d0!important}
.table-felt{background:radial-gradient(ellipse at 50% 35%,#7d2540 0%,#5a172e 38%,#3c1023 72%,#260b18 100%)!important;border-color:#8d3b52!important;box-shadow:inset 0 0 0 3px #f0d39a70,inset 0 0 55px #17040d!important}
.table-felt:before{border-color:#e6c58a88!important;box-shadow:inset 0 0 28px #20061177!important}
.table-felt:after{border-color:#f2d9a02b!important}
.table-brand{color:#f8dfab!important;text-shadow:0 2px 10px #1c0610!important}
.table-brand span{color:#f2d9a0!important}
.table-seat{background:linear-gradient(150deg,rgba(28,9,18,.97),rgba(48,14,29,.97) 55%,rgba(26,8,16,.98))!important;border-color:#b78a6b66!important;box-shadow:0 8px 18px #17040dcc!important}
.table-seat .seat-title{color:#fff2e0!important}
.seat-avatar{border-color:#f0d39a!important;background:radial-gradient(circle at 30% 20%,#7f334b,#250b18 72%)!important;box-shadow:0 3px 12px #0009,0 0 0 3px #210913!important}
.table-seat.is-turn{border-color:#ffe2a0!important;background:linear-gradient(145deg,#67223a,#2b0d1b 75%)!important;box-shadow:0 0 0 2px #f2d9a03d,0 0 28px #e7b66b3b!important}
.table-seat.is-turn .seat-avatar{box-shadow:0 0 0 3px #f8dba0,0 0 22px #e5b86c99!important}
.player-state.state-blind{color:#f6e5ff;background:linear-gradient(90deg,#51224f,#6b2e65);border-color:#c28cd0}
.player-state.state-seen{color:#fff0cf;background:linear-gradient(90deg,#75411e,#9b5b2c);border-color:#e3b77d}
.player-state.state-folded{color:#d2c4c8;background:#44323a;border-color:#79636b}
.seat-balance{color:#f2d9a0!important}.table-seat small{color:#c6aeb7!important}
.pot-pile{background:linear-gradient(145deg,#210a15,#3a1022)!important;border-color:#f0d39a!important;box-shadow:0 8px 24px #16040c66!important}
.pot-pile strong{color:#ffe7b0!important}
.table-bottom-label,.felt-legend{color:#e8d4c4!important}
.game-summary,.wallet-strip>div{background:linear-gradient(145deg,#29101c,#180a12)!important;border-color:#c9a46a35!important}
.game-summary strong,.wallet-strip strong{color:#f2d9a0!important}
.game-controls{background:linear-gradient(145deg,rgba(28,9,17,.98),rgba(17,7,12,.99))!important;border-color:#744253!important;box-shadow:0 -10px 30px #0007!important}
.turn-callout{background:linear-gradient(100deg,#482034,#26101a)!important;border-color:#e0b66c!important}
.turn-bolt,.turn-tag{background:#c9a46a!important;color:#26130d!important}
.bet-builder{background:#210c16!important;border-color:#754352!important}
.bet-adjust,.quick-bets button{background:linear-gradient(145deg,#321421,#1b0b12)!important;border-color:#9b6c56!important;color:#f2d9a0!important}
.bet-amount-row input{background:#10070c!important;border-color:#70404f!important;color:#fff0d0!important}
.game-buttons [data-action="see"]{background:linear-gradient(145deg,#8b3453,#5b1934)!important;border:1px solid #d28aa0!important;color:#fff4ed!important}
.game-buttons [data-action="bet"]{background:linear-gradient(145deg,#f2d9a0,#c18a4b)!important;border:1px solid #ffedc3!important;color:#27140c!important}
.game-buttons [data-action="fold"]{background:linear-gradient(145deg,#a52d49,#65172e)!important;border:1px solid #e69ba7!important;color:#fff5f5!important}
.game-buttons [data-action="show"]{background:linear-gradient(145deg,#4b343f,#2b1b24)!important;border:1px solid #b49aa5!important;color:#f8eaf0!important}
.player-status-legend,.game-history{background:linear-gradient(145deg,#210c16,#16090f)!important;border-color:#825365!important}
.player-status-legend>strong,.game-history>strong{color:#f2d9a0!important}
.player-status-legend>div>span,.history-item{border-color:#744253!important;background:#ffffff04!important}
.history-item.latest{background:#c9a46a17!important;color:#f2d9a0!important}
.winner-banner{background:linear-gradient(100deg,#70233d,#2a101b)!important;border-color:#f2d9a0!important}
.show-rule{background:#c9a46a0b!important;border-color:#c9a46a25!important}
.chip-launcher{border-color:#d4ad71;background:linear-gradient(135deg,#42162a,#1d0a13);color:#f2d9a0;box-shadow:0 5px 16px #0005}
.chip-launcher span{background:#70243e;color:#ffe9b9}
.chip-modal-overlay{background:#090307d9}
.chip-modal-card{background:linear-gradient(145deg,#2b101c,#16090f)!important;border-color:#e0bb7a!important}
.chip-modal-close{border-color:#9b6c7d;background:#321421;color:#fff0d0}
.chip-amount-stepper button{border-color:#a97864;background:#4a1a2e;color:#ffe4aa}
.chip-amount-stepper input{border-color:#8e566a;background:#14080e;color:#fff0d0}
.chip-step-hint{color:#c4aab4}
@media(max-width:900px){
 .dialog:has(.casino-table){background:linear-gradient(145deg,#1a0a12,#10080d)!important}
 .room-toolbar{background:rgba(25,9,17,.98)!important}
 .casino-table{background:linear-gradient(145deg,#1a0b12,#260d19)!important}
 .table-rail{background:linear-gradient(135deg,#6c3b2a 0%,#f2d9a0 13%,#8f633d 25%,#e3c184 48%,#633522 72%,#d5ad70 100%)!important}
 .table-felt{background:radial-gradient(ellipse at 50% 30%,#7d2540,#5a172e 48%,#260b18 100%)!important}
 .game-controls{background:rgba(24,8,15,.98)!important}
}

/* MOBILE PLAYING MODE v2 — compact table, persistent thumb controls, seven-seat grid. */
@media (max-width: 900px) {
  .dialog:has(.casino-table) {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  .dialog:has(.casino-table) .dialog-details {
    box-sizing: border-box;
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: calc(98px + env(safe-area-inset-top)) 8px calc(40dvh + env(safe-area-inset-bottom) + 12px) !important;
    scrollbar-width: none;
  }
  .dialog:has(.casino-table) .dialog-details::-webkit-scrollbar { display: none; }
  .dialog:has(.casino-table) .room-toolbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 80 !important;
    box-sizing: border-box;
    min-height: calc(54px + env(safe-area-inset-top));
    padding: calc(7px + env(safe-area-inset-top)) 10px 7px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    border-radius: 0 !important;
  }
  .room-toolbar > span { font-size: 10px !important; letter-spacing: .08em; }
  .leave-room-button { min-height: 38px !important; padding: 8px 10px !important; white-space: nowrap; }
  .dialog:has(.casino-table) .live-room-settings { display: none !important; }
  .dialog:has(.casino-table) .live-players {
    position: fixed !important;
    top: calc(54px + env(safe-area-inset-top)) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 79 !important;
    box-sizing: border-box;
    display: block !important;
    max-height: 42px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    margin: 0 !important;
    padding: 4px 8px !important;
    border-radius: 0 !important;
    white-space: nowrap;
    scrollbar-width: none;
  }
  .dialog:has(.casino-table) .live-players::-webkit-scrollbar { display: none; }
  .dialog:has(.casino-table) .live-players > strong { display: none !important; }
  .dialog:has(.casino-table) .live-players ul {
    display: flex !important;
    align-items: center;
    gap: 6px;
    width: max-content;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }
  .dialog:has(.casino-table) .live-players li {
    display: flex !important;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    min-height: 30px;
    padding: 4px 7px !important;
    border-radius: 9px;
    font-size: 10px !important;
    line-height: 1.1;
  }
  .dialog:has(.casino-table) .live-players .chip-count { font-size: 9px !important; }
  .dialog:has(.casino-table) .live-players .kick-player { min-height: 24px; padding: 3px 6px; font-size: 9px; }
  .casino-table { margin: 0 !important; padding: 5px !important; border-radius: 14px !important; }
  .table-livebar { display: flex !important; padding: 5px 7px !important; margin-bottom: 5px !important; }
  .table-livebar strong { font-size: 10px !important; }
  .table-livebar small { font-size: 7px !important; }
  .room-live-meta { gap: 6px !important; font-size: 8px !important; }
  .table-rail { padding: 4px !important; border-radius: 18px !important; }
  .table-felt {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 7px 5px 5px !important;
    border-radius: 15px !important;
    overflow: visible !important;
  }
  .table-brand { font-size: 9px !important; line-height: 1.1 !important; margin: 0 !important; }
  .table-brand span { display: none !important; }
  .table-seats {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(0, auto) !important;
    gap: 14px 5px !important;
    width: 100% !important;
    align-items: stretch !important;
    justify-items: stretch !important;
    order: 1 !important;
  }
  .table-seat, .table-seat:nth-child(n) {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
    transform: none !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 91px !important;
    padding: 5px 2px 4px !important;
    border-radius: 9px !important;
    overflow: visible !important;
  }
  .table-seat .seat-avatar { width: 27px !important; height: 27px !important; margin: -14px auto 2px !important; }
  .table-seat .seat-title { display: flex !important; justify-content: center; align-items: center; gap: 2px; min-height: 14px; font-size: 9px !important; line-height: 1.05 !important; overflow-wrap: anywhere; }
  .table-seat .seat-title em { font-size: 7px !important; padding: 1px 3px !important; }
  .table-seat .player-state { max-width: 100%; margin: 3px auto !important; padding: 2px 3px !important; font-size: 7px !important; line-height: 1.1; letter-spacing: 0 !important; }
  .table-seat .cards { display: flex !important; justify-content: center; align-items: center; gap: 2px !important; min-height: 22px !important; }
  .table-seat .playing-card-mini { width: 14px !important; height: 21px !important; min-width: 0 !important; padding: 1px !important; border-radius: 3px !important; font-size: 8px !important; }
  .table-seat .playing-card-mini b { font-size: 7px !important; }
  .table-seat .seat-balance { display: block; margin-top: 2px !important; font-size: 9px !important; line-height: 1.1; }
  .table-seat small { display: none !important; }
  .table-seat.is-turn { transform: scale(1.025) !important; z-index: 2; }
  .pot-pile {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    order: 2 !important;
    align-self: center;
    min-width: 0 !important;
    width: auto;
    margin: 0 auto !important;
    padding: 4px 12px !important;
    border-radius: 10px !important;
  }
  .pot-chips { display: none !important; }
  .pot-pile span { font-size: 8px !important; }
  .pot-pile strong { font-size: 16px !important; }
  .pot-pile small { display: none !important; }
  .table-bottom-label { position: relative !important; inset: auto !important; order: 3 !important; padding: 2px 0 0 !important; font-size: 8px !important; text-align: center; }
  .felt-legend { display: none !important; }
  .game-summary { margin: 5px 0 0 !important; padding: 7px 9px !important; gap: 4px 8px !important; flex-wrap: wrap; border-radius: 9px !important; }
  .game-summary span { font-size: 9px !important; }
  .game-summary strong { font-size: 13px !important; }
  .game-summary span:last-child { width: 100%; font-size: 8px !important; }
  .game-controls {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 90 !important;
    box-sizing: border-box;
    max-height: 40dvh !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    margin: 0 !important;
    padding: 7px 9px calc(7px + env(safe-area-inset-bottom)) !important;
    border-radius: 15px 15px 0 0 !important;
    border-bottom: 0 !important;
    box-shadow: 0 -8px 28px #0009 !important;
    scrollbar-width: none;
  }
  .game-controls::-webkit-scrollbar { display: none; }
  .turn-callout { display: flex !important; align-items: center; gap: 7px !important; padding: 6px 8px !important; margin: 0 0 6px !important; border-radius: 10px !important; }
  .turn-bolt { flex: 0 0 27px; width: 27px !important; height: 27px !important; font-size: 15px !important; }
  .turn-message { margin: 0 !important; font-size: 10px !important; line-height: 1.1 !important; }
  .turn-callout small { font-size: 9px !important; line-height: 1.15; }
  .turn-tag { margin-left: auto; font-size: 8px !important; padding: 4px 5px !important; }
  .bet-builder { display: grid !important; grid-template-columns: minmax(0,1fr); gap: 5px !important; margin: 0 0 6px !important; padding: 6px !important; border-radius: 10px !important; }
  .bet-builder label { font-size: 10px !important; line-height: 1.1; }
  .bet-builder label small { font-size: 9px !important; }
  .bet-amount-row { grid-template-columns: 35px minmax(0,1fr) 35px !important; gap: 5px !important; }
  .bet-adjust { height: 32px !important; min-height: 32px !important; font-size: 19px !important; border-radius: 8px !important; }
  .bet-amount-row input { min-height: 32px !important; height: 32px !important; padding: 4px !important; font-size: 14px !important; }
  .quick-bets { display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px !important; }
  .quick-bets button { min-height: 29px !important; padding: 4px 2px !important; font-size: 10px !important; border-radius: 7px !important; }
  .game-buttons { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 5px !important; }
  .game-buttons .button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px !important; min-width: 0; min-height: 43px !important; padding: 5px 2px !important; font-size: 9px !important; line-height: 1.05; border-radius: 9px !important; }
  .game-buttons .button span { font-size: 10px; }
  .show-rule { display: none !important; }
  .below-table-panels { display: none !important; }
  .chip-launcher-row { margin: 8px 0 !important; }
}

@media (max-width: 369px) {
  .dialog:has(.casino-table) .dialog-details { padding-inline: 5px !important; }
  .table-seats { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 14px 5px !important; }
  .table-seat, .table-seat:nth-child(n) { min-height: 87px !important; }
  .game-controls { max-height: 43dvh !important; padding-inline: 6px !important; }
  .game-buttons .button { font-size: 8px !important; }
}

/* Short landscape phones: table and controls sit side-by-side rather than covering each other. */
@media (max-width: 900px) and (orientation: landscape) and (max-height: 560px) {
  .dialog:has(.casino-table) .dialog-details {
    display: grid !important;
    grid-template-columns: minmax(0,1.12fr) minmax(270px,.88fr);
    grid-template-rows: auto auto minmax(0,1fr);
    align-content: start;
    column-gap: 8px;
    height: 100dvh;
    overflow-y: auto;
    padding: calc(62px + env(safe-area-inset-top)) 8px 8px !important;
  }
  .dialog:has(.casino-table) .room-toolbar { min-height: calc(48px + env(safe-area-inset-top)); }
  .dialog:has(.casino-table) .live-players { top: calc(48px + env(safe-area-inset-top)) !important; max-height: 30px !important; }
  .casino-table { grid-column: 1; grid-row: 1 / span 3; align-self: start; }
  .table-livebar { padding: 3px 5px !important; }
  .table-felt { gap: 3px !important; padding: 4px !important; }
  .table-seats { grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px 4px !important; }
  .table-seat, .table-seat:nth-child(n) { min-height: 76px !important; padding: 3px 1px !important; }
  .table-seat .seat-avatar { width: 21px !important; height: 21px !important; margin: -11px auto 1px !important; }
  .table-seat .player-state { font-size: 6px !important; }
  .table-seat .playing-card-mini { width: 11px !important; height: 16px !important; font-size: 6px !important; }
  .table-seat .seat-balance { font-size: 7px !important; }
  .game-summary { padding: 4px 6px !important; }
  .game-controls { position: relative !important; grid-column: 2; grid-row: 1 / span 3; align-self: start; max-height: calc(100dvh - 72px - env(safe-area-inset-top)) !important; overflow-y: auto !important; margin: 0 !important; padding: 5px !important; border-radius: 10px !important; }
  .turn-callout { padding: 4px !important; }
  .bet-builder { padding: 4px !important; }
  .game-buttons { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .game-buttons .button { min-height: 31px !important; flex-direction: row; font-size: 9px !important; }
  .chip-launcher-row, .below-table-panels { display: none !important; }
}
/* Landscape correction: place the controls beside the felt within the table component. */
@media (max-width: 900px) and (orientation: landscape) and (max-height: 560px) {
  .dialog:has(.casino-table) .dialog-details {
    display: block !important;
    overflow-y: auto !important;
    padding: calc(62px + env(safe-area-inset-top)) 6px 6px !important;
  }
  .casino-table {
    display: grid !important;
    grid-template-columns: minmax(0,1.08fr) minmax(255px,.92fr) !important;
    grid-template-rows: auto minmax(0,1fr) auto !important;
    grid-template-areas: "bar bar" "rail controls" "summary controls" !important;
    gap: 5px !important;
    align-items: start;
    margin: 0 !important;
    padding: 5px !important;
  }
  .table-livebar { grid-area: bar; min-width: 0; }
  .table-rail { grid-area: rail; min-width: 0; }
  .game-summary { grid-area: summary; min-width: 0; }
  .game-controls {
    grid-area: controls;
    position: relative !important;
    inset: auto !important;
    align-self: stretch;
    max-height: calc(100dvh - 112px - env(safe-area-inset-top)) !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 5px !important;
    border-radius: 10px !important;
  }
  .below-table-panels { display: none !important; }
  .table-seats { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
  .table-seat, .table-seat:nth-child(n) { min-height: 76px !important; }
  .chip-launcher-row { display: none !important; }
}


/* iOS touch reliability: keep the action dock outside the scrolling details container. */
@media (max-width: 900px) {
  #roomDialog > .game-controls {
    position: fixed !important;
    left: 0 !important; right: 0 !important; bottom: 0 !important;
    z-index: 120 !important;
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-transform: translateZ(0);
    isolation: isolate;
  }
  #roomDialog > .game-controls button,
  #roomDialog > .game-controls input {
    pointer-events: auto !important;
    touch-action: manipulation !important;
    -webkit-user-select: none;
    user-select: none;
  }
  #toast { z-index: 10000 !important; }
}

/* Mobile touch fix: the chip modal must sit above the fixed betting dock. */
#roomDialog > .chip-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 1000 !important;
  pointer-events: auto !important;
  touch-action: pan-y !important;
}
#roomDialog > .chip-modal-overlay[hidden] { display: none !important; }
#roomDialog > .chip-modal-overlay .chip-modal-card {
  pointer-events: auto !important;
  touch-action: pan-y !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}
