:root{--bg:#071a19;--panel:#102523;--panel2:#142c29;--line:#27413b;--cream:#f1eee3;--muted:#91a7a0;--gold:#d6af69;--gold-light:#f2d59a;--felt:#075044;--felt-dark:#063e37;--red:#bf4e4c;--shadow:0 28px 75px #0007}
*{box-sizing:border-box}html{min-width:320px}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans','Noto Sans SC','PingFang SC',sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}button:disabled{cursor:not-allowed}.app-shell{min-height:100vh;max-width:1760px;margin:auto;padding:0 42px;background:radial-gradient(circle at 47% 25%,#183c34 0,#091f1c 34%,#071a19 65%)}.topbar{height:85px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff1c}.brand{display:flex;align-items:center;gap:11px;font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:700;letter-spacing:3px}.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;font-size:20px;line-height:1;color:var(--gold)}.brand-dot{color:var(--gold)}.brand-sub{font:600 9px 'DM Sans',sans-serif;letter-spacing:2.4px;color:var(--muted);padding-left:15px;border-left:1px solid var(--line);margin-left:8px}.topbar-right{display:flex;gap:12px;align-items:center;font-size:12px;color:#b5c6bd;letter-spacing:.4px}.live-dot,.status-indicator{height:7px;width:7px;border-radius:50%;background:#b19b68;box-shadow:0 0 12px #d7b47080}.topbar-divider{width:1px;height:19px;background:var(--line);margin:0 15px}.text-button{background:none;border:0;color:var(--gold-light);font-weight:700;letter-spacing:.5px}.text-button:hover{color:#fff}.layout{display:grid;grid-template-columns:minmax(0,1fr) 298px;gap:34px;padding-top:40px}.main-column{min-width:0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:700;color:var(--gold);margin:0 0 9px}.section-heading h1{margin:0;font-family:'Playfair Display',Georgia,'Noto Serif SC',serif;font-size:clamp(24px,2.45vw,39px);font-weight:500;letter-spacing:1px}.hand-pill{font-size:11px;border:1px solid #54776a;color:#d1e0d2;border-radius:999px;padding:9px 14px;white-space:nowrap;letter-spacing:1px}.table-stage{position:relative;isolation:isolate;width:100%;aspect-ratio:1.56;min-height:480px;max-height:650px;border:1px solid #ffffff18;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse at center,#173b35 0,#0e2623 55%,#081d1b 100%);box-shadow:var(--shadow)}.stage-glow{position:absolute;inset:-5%;background:radial-gradient(ellipse at center,#315f5033,transparent 68%);z-index:-1}.table-rail{position:absolute;inset:13% 6%;border-radius:50% / 46%;background:linear-gradient(135deg,#846d48 0,#c99d55 12%,#4b3425 19%,#b98c4d 28%,#3c3025 40%,#bb9558 58%,#76563a 80%,#d4b076 95%);padding:9px;box-shadow:0 25px 45px #0008,0 2px 0 #e9cb8b inset,0 0 0 7px #1c2722}.table-felt{height:100%;border-radius:inherit;position:relative;background:radial-gradient(ellipse at 47% 42%,#10685a 0,#075143 48%,#04392f 100%);border:4px solid #192b25;box-shadow:inset 0 0 26px #000c,inset 0 0 3px #fff5;overflow:hidden}.table-felt:after{content:"";position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 120 120' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E")}.felt-ring{position:absolute;inset:8% 6%;border:1px solid #d8c39537;border-radius:50%}.felt-watermark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:700 clamp(34px,5vw,75px) 'Playfair Display',Georgia,serif;letter-spacing:9px;color:#e4d7a311;white-space:nowrap}.felt-watermark span{display:block;text-align:center;font-size:20px;letter-spacing:0}.board-area{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;z-index:2;width:60%;pointer-events:none}.pot-label{font-size:10px;letter-spacing:3px;color:#c3dacb;font-weight:700;text-shadow:0 1px 3px #000}.pot-amount{font-family:'Playfair Display',Georgia,serif;font-size:clamp(26px,3vw,43px);line-height:1.22;color:#f7e1b4;text-shadow:0 3px 9px #0009;margin-bottom:17px}.board-cards{display:flex;justify-content:center;gap:clamp(4px,.7vw,9px);width:100%;height:clamp(64px,8vw,105px)}.playing-card,.card-slot{position:relative;display:flex;align-items:center;justify-content:center;flex:none;width:clamp(45px,5.6vw,74px);height:clamp(64px,8vw,105px);border-radius:6px;box-shadow:0 4px 11px #0007;overflow:hidden}.playing-card.face{background:#faf9f4;color:#142d2a;border:2px solid #e0dfd7}.playing-card.red{color:#b84042}.playing-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;background:#faf9f4}.card-corner{position:absolute;left:5px;top:3px;font:bold clamp(15px,1.7vw,24px) Georgia,serif;line-height:1}.card-corner small{display:block;font-size:.72em}.card-center{font:clamp(22px,2.7vw,37px) Georgia,serif}.playing-card.back{background:repeating-linear-gradient(45deg,#263b43,#263b43 3px,#314e52 3px,#314e52 6px);border:3px solid #eee9dc;color:#dfbf7e}.playing-card.back:after{content:"";position:absolute;inset:5px;border:1px solid #d9b97c9c;border-radius:2px}.playing-card.back span{font-size:22px;z-index:1}.card-slot{border:1px dashed #c1d4b65c;background:#092b2780;color:#ffffff35;box-shadow:none;font-size:20px}.street-label{font-size:10px;letter-spacing:2px;margin-top:14px;color:#dcdfcf;text-shadow:0 2px 3px #000}.seat{position:absolute;z-index:4;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;min-width:112px;transition:filter .2s}.seat.folded{filter:grayscale(.8);opacity:.65}.seat.out{opacity:.35}.seat-cards{display:flex;height:49px;align-items:flex-end;margin-bottom:-8px;z-index:0}.playing-card.small{width:33px;height:46px;border-radius:4px;margin-left:-6px;transform:rotate(-6deg);box-shadow:0 2px 7px #0009}.playing-card.small:nth-child(2){transform:rotate(7deg)}.playing-card.small .card-corner{font-size:12px;left:2px;top:2px}.playing-card.small .card-center{font-size:15px}.playing-card.small.back span{font-size:14px}.seat.human .playing-card.small{width:48px;height:67px;margin-left:-9px}.seat.human .seat-cards{height:69px}.seat.human .playing-card.small .card-corner{font-size:17px}.seat.human .playing-card.small .card-center{font-size:22px}.seat-info{display:flex;gap:8px;align-items:center;background:#091b1af2;border:1px solid #71807688;border-radius:9px;padding:5px 10px 5px 5px;min-width:111px;box-shadow:0 9px 18px #0007;z-index:1}.seat.active .seat-info{border-color:var(--gold);box-shadow:0 0 0 2px #d8b77535,0 9px 22px #0008}.seat.human .seat-info{background:#163b34;border-color:var(--gold)}.avatar{width:31px;height:31px;display:grid;place-items:center;flex:none;border-radius:6px;background:linear-gradient(145deg,#7e6550,#3c4c46);font-size:11px;font-weight:700;color:#f9efd9}.seat.human .avatar{background:var(--gold);color:#26312a;font-size:9px}.seat-text{display:flex;flex-direction:column;white-space:nowrap;line-height:1.2}.seat-text strong{font-size:11px}.seat-text span{font-family:'Playfair Display',serif;font-size:12px;color:var(--gold-light);margin-top:3px}.dealer-button{position:absolute;right:-13px;top:50px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#f4e9d1;color:#29372e;font-size:11px;font-weight:800;z-index:5;box-shadow:0 2px 6px #0007}.action-bubble{position:absolute;top:-14px;left:90%;background:#e8d7ac;color:#23372d;padding:5px 7px;border-radius:5px;font-size:10px;white-space:nowrap;z-index:7;box-shadow:0 3px 8px #0005}.bet-chip{position:absolute;top:calc(100% + 6px);font-size:11px;color:#f1d59b;white-space:nowrap;text-shadow:0 2px 5px #000}.bet-chip i{font-style:normal;color:#e3bb67}.table-corner{position:absolute;color:#94b2a3;font-size:9px;line-height:1.5;letter-spacing:1.5px}.top-left{top:18px;left:18px}.bottom-right{bottom:18px;right:18px;text-align:right}.action-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:122px;margin-top:14px;background:#132b27;border:1px solid #ffffff1c;border-radius:12px;padding:20px 24px;box-shadow:0 13px 25px #0003}.action-placeholder{width:100%;text-align:center;color:#a2b9af;font-size:13px}.action-intro{display:flex;flex-direction:column;gap:7px;min-width:145px}.action-intro span{font-size:10px;letter-spacing:2px;color:var(--gold);font-weight:700}.action-intro i{font-style:normal;font-size:8px}.action-intro strong{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-weight:500}.action-controls{display:flex;align-items:center;justify-content:flex-end;gap:25px;flex:1}.raise-control{width:min(220px,29%)}.raise-top{display:flex;justify-content:space-between;color:#b8cbbd;font-size:11px;margin-bottom:9px}.raise-top strong{color:var(--gold-light);font-size:13px}.raise-control input{width:100%;accent-color:var(--gold);margin:0}.raise-scale{display:flex;justify-content:space-between;color:#77938a;font-size:9px}.action-buttons{display:flex;gap:8px}.action-button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:87px;height:61px;padding:8px 13px;border:1px solid #59736a;border-radius:7px;color:var(--cream);background:#203b36;font-size:14px;font-weight:700;transition:transform .15s,background .15s}.action-button:hover{transform:translateY(-3px);background:#31524a}.action-button small{font-size:8px;letter-spacing:1.2px;color:#a9bdb3}.action-button.fold{color:#d3acaa;border-color:#755354;background:#352b2c}.action-button.fold:hover{background:#4a3133}.action-button.raise{background:var(--gold);border-color:var(--gold);color:#172b26}.action-button.raise small{color:#415047}.action-button.raise:hover{background:#edca83}.result-copy{display:flex;align-items:center;gap:15px}.result-star{display:grid;place-items:center;width:47px;height:47px;border:1px solid var(--gold);border-radius:50%;font-size:23px;color:var(--gold)}.result-copy div{display:flex;flex-direction:column;gap:6px}.result-copy strong{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:500}.result-copy span:last-child{font-size:11px;color:#a9bfb3;line-height:1.5}.primary-button{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:7px;padding:15px 18px;background:var(--gold);color:#162a24;font-size:13px;font-weight:800;letter-spacing:.8px;transition:background .2s,transform .2s}.primary-button:hover{background:#f0ca83;transform:translateY(-2px)}.next-button{width:170px;flex:none}.waiting-orb{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 13px var(--gold);animation:pulse 1s infinite alternate;margin-right:8px}@keyframes pulse{to{opacity:.25;transform:scale(.7)}}.sidebar{background:linear-gradient(180deg,#112d28,#0d2622);border:1px solid #ffffff1c;border-radius:13px;min-height:660px;display:flex;flex-direction:column;overflow:hidden}.sidebar-top{padding:25px 22px 20px}.sidebar-top h2{font-family:'Playfair Display',Georgia,serif;font-size:23px;font-weight:500;margin:0;display:flex;justify-content:space-between}.sidebar-top h2 span{color:var(--gold);font:16px 'DM Sans',sans-serif}.stat-grid{display:grid;grid-template-columns:1fr 1fr;margin:0 22px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat-grid div{display:flex;flex-direction:column;gap:8px;padding:16px 0}.stat-grid div+div{border-left:1px solid var(--line);padding-left:20px}.stat-grid span{font-size:10px;color:#8ca79d}.stat-grid strong{font-size:16px;font-weight:600}.ai-status{display:flex;align-items:center;gap:10px;margin:0 22px 24px;padding:12px;background:#204037;border:1px solid #52735c;border-radius:8px}.ai-icon{display:grid;place-items:center;width:35px;height:35px;flex:none;background:#d5b371;border-radius:6px;color:#1c332b;font-size:18px}.ai-status div:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0}.ai-status strong{font-size:11px}.ai-status span{color:#9bb7aa;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ai-status .status-indicator{margin-left:auto;background:#aa9b6e;flex:none}.ai-status .status-indicator.online{background:#55d6a0;box-shadow:0 0 10px #55d6a0}.log-header{display:flex;justify-content:space-between;padding:0 22px 12px;border-bottom:1px solid var(--line);font-size:11px;font-weight:700}.log-header span+span{font-size:9px;letter-spacing:1px;color:var(--gold)}.game-log{list-style:none;margin:0;padding:5px 22px 20px;flex:1;max-height:335px;overflow:auto;scrollbar-width:thin}.game-log li{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid #ffffff0c;color:#adc2b6;font-size:11px;line-height:1.5}.game-log li:first-child{color:#f0e4c6}.log-index{font:10px 'Playfair Display',Georgia,serif;color:#739589}.sidebar-foot{display:flex;align-items:center;gap:15px;border-top:1px solid var(--line);padding:18px 22px;background:#0b211f}.sidebar-foot span{font:34px Georgia,serif;color:#ad935d}.sidebar-foot p{margin:0;font-family:'Playfair Display',Georgia,serif;font-size:14px;line-height:1.7;color:#c8d2bc}.footer{display:flex;justify-content:space-between;padding:22px 0 30px;color:#6f8980;font-size:10px;letter-spacing:1px}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#041210c9;backdrop-filter:blur(9px)}.modal-backdrop.hidden{display:none}.setup-modal{width:min(435px,100%);position:relative;padding:36px;background:#142c27;border:1px solid #b69b6470;border-radius:14px;box-shadow:0 35px 100px #000b}.modal-symbol{position:absolute;right:31px;top:25px;font:40px Georgia,serif;color:#b79b62}.setup-modal h2{font:500 37px/1.25 'Playfair Display',Georgia,serif;margin:14px 0}.setup-modal h2 em{font-style:normal;color:var(--gold)}.modal-copy{font-size:12px;line-height:1.8;color:#acc1b5;margin:0 0 25px}.count-box{display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:8px;padding:14px 13px}.count-box div:first-child{display:flex;flex-direction:column;gap:5px}.count-box span{font-size:13px;font-weight:700}.count-box small{color:#8fa89a;font-size:10px}.counter{display:flex;align-items:center;gap:15px}.counter button{width:28px;height:28px;border:1px solid #789183;background:transparent;border-radius:50%;color:#fff;font-size:18px;line-height:1}.counter button:hover{background:#2e5045}.counter strong{font:24px 'Playfair Display',Georgia,serif;min-width:18px;text-align:center;color:var(--gold-light)}.modal-range{display:flex;justify-content:space-between;color:#789286;font-size:10px;margin:8px 2px 27px}.modal-note{text-align:center;color:#80998e;font-size:10px;margin:14px 0 0}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);z-index:50;padding:11px 17px;background:#4b2b2b;color:#ffe3d8;border:1px solid #ce7777;border-radius:7px;font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.is-busy .action-button,.is-busy .primary-button{pointer-events:none;opacity:.55}
@media(max-width:1180px){.app-shell{padding:0 24px}.layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px}.sidebar{min-height:600px}.seat-info{min-width:90px;padding:4px}.avatar{width:25px;height:25px}.seat-text strong,.seat-text span{font-size:10px}.action-panel{padding:15px}.action-controls{gap:12px}.action-button{min-width:72px;padding:7px;font-size:12px}.raise-control{width:145px}}
@media(max-width:900px){.layout{grid-template-columns:1fr}.sidebar{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:0}.sidebar-top,.stat-grid,.ai-status{grid-column:1}.sidebar-top{padding-bottom:0}.stat-grid{margin-bottom:8px}.ai-status{margin-bottom:22px}.log-header,.game-log{grid-column:2}.log-header{grid-row:1;align-self:end}.game-log{grid-row:2/4;max-height:210px}.sidebar-foot{display:none}.table-stage{max-height:none}}
@media(max-width:640px){.app-shell{padding:0 12px}.topbar{height:65px}.brand{font-size:22px}.brand-sub,.topbar-right>span:not(.live-dot),.topbar-divider{display:none}.topbar-right{gap:6px}.layout{padding-top:25px}.section-heading{align-items:flex-start;margin-bottom:16px}.section-heading h1{font-size:23px}.hand-pill{font-size:9px;padding:6px 8px}.table-stage{min-height:430px;aspect-ratio:.95}.table-rail{inset:18% 3%;border-radius:50% / 42%;padding:6px}.board-area{width:90%}.board-cards{height:69px}.playing-card,.card-slot{width:46px;height:68px}.seat{min-width:72px}.seat-info{gap:4px;min-width:75px;padding:3px}.avatar{width:22px;height:22px;font-size:8px}.seat-text strong,.seat-text span{font-size:9px}.seat-cards{height:38px}.playing-card.small{width:27px;height:38px}.seat.human .playing-card.small{width:39px;height:55px}.seat.human .seat-cards{height:56px}.seat.human .playing-card.small .card-corner{font-size:13px}.seat.human .playing-card.small .card-center{font-size:18px}.bet-chip{font-size:9px}.dealer-button{top:39px;right:-10px;width:17px;height:17px;font-size:9px}.action-bubble{font-size:8px;top:-10px;left:72%}.table-corner{font-size:7px}.top-left{top:9px;left:9px}.bottom-right{bottom:9px;right:9px}.pot-amount{font-size:29px;margin-bottom:10px}.pot-label{font-size:8px}.street-label{font-size:8px;margin-top:9px}.action-panel{flex-direction:column;align-items:stretch;gap:13px;padding:15px;min-height:0}.action-intro{flex-direction:row;justify-content:space-between;align-items:center}.action-intro strong{font-size:17px}.action-controls{flex-direction:column;align-items:stretch}.raise-control{width:100%}.action-buttons{width:100%}.action-button{flex:1;min-width:0;min-height:54px}.next-button{width:100%}.sidebar{display:block}.sidebar-top{padding:20px}.stat-grid{margin:0 20px 15px}.ai-status{margin:0 20px 15px}.log-header{padding:0 20px 10px}.game-log{max-height:190px;padding:5px 20px 15px}.footer span:last-child{display:none}.setup-modal{padding:26px}.setup-modal h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(max-width:640px){.seat.opponent .action-bubble{display:none}}
.button-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px;flex:none}.spark-icon{width:19px;height:19px}.sound-button{border:1px solid #6b866f77;border-radius:999px;background:#ffffff0a;color:#d7e0d1;padding:6px 10px;font-size:10px;letter-spacing:.3px;white-space:nowrap}.sound-button:hover{background:#ffffff1b}.sound-button[aria-pressed="false"]{color:#92a69a;border-color:#52665b}.playing-card.face{background:#fff;border:0}.playing-card.face img{background:#fff;object-fit:fill}.playing-card.back{background:#263b43;border:1px solid #ebe8de}.playing-card.back:after{display:none}.playing-card.back img{object-fit:fill}.chip-marker{display:inline-block;vertical-align:-1px;width:11px;height:11px;border-radius:50%;border:2px solid #e3bb67;box-shadow:inset 0 0 0 2px #244336,0 0 3px #000}.turn-dot{display:inline-block;vertical-align:2px;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-left:4px}.ai-icon .spark-icon{color:#21372c}
@media(max-width:640px){.sound-button{padding:5px 7px;font-size:9px}.text-button .button-icon{width:11px;height:11px}.topbar-right{gap:5px}}
.hidden{display:none!important}.field-label{display:block;margin:0 0 8px;color:#d9c99f;font-size:11px;font-weight:700;letter-spacing:.8px}.nickname-input{display:block;width:100%;height:42px;margin:0 0 17px;padding:0 12px;border:1px solid #6f8979;border-radius:7px;background:#0c201d;color:var(--cream);font-size:13px}.nickname-input::placeholder{color:#7d9588}.nickname-input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px #d6af6940}.lobby-panel{width:100%;display:flex;flex-direction:column;gap:12px}.lobby-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.lobby-heading strong{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:500}.lobby-heading span{color:#9fb5a8;font-size:11px}.share-row{display:flex;gap:8px}.share-row input{min-width:0;flex:1;border:1px solid #526f62;border-radius:6px;background:#0c211e;color:#e8ddbf;padding:9px 11px;font-size:12px}.share-row button{border:1px solid var(--gold);border-radius:6px;background:transparent;color:var(--gold-light);padding:8px 13px;font-size:11px;font-weight:700;white-space:nowrap}.share-row button:hover{background:#d6af6925}.lobby-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.lobby-names{display:flex;flex-wrap:wrap;gap:5px}.lobby-name{padding:4px 7px;border:1px solid #618173;border-radius:999px;color:#d3e2d4;font-size:10px}.lobby-start{width:auto;min-width:128px;gap:12px;padding:10px 13px}.lobby-wait{font-size:11px;color:#a4b9ad;white-space:nowrap}@media(max-width:640px){.lobby-heading,.lobby-footer{align-items:flex-start;flex-direction:column}.lobby-start{width:100%;justify-content:center}.share-row input{font-size:10px}.setup-modal{max-height:calc(100dvh - 24px);overflow:auto}}
@media(max-width:640px){
  .app-shell{padding:0 12px}
  .topbar{height:72px}.brand{font-size:24px;gap:8px}.brand-mark{width:36px;height:36px;font-size:22px}.topbar-right{gap:5px}.topbar-right>.live-dot{display:none}.text-button{min-height:44px;padding:8px 3px;font-size:13px;white-space:nowrap}.text-button .button-icon{width:14px;height:14px}.sound-button{min-height:44px;padding:7px 10px;font-size:12px}
  .layout{padding-top:20px}.section-heading{flex-wrap:wrap;align-items:flex-start;gap:8px;margin-bottom:15px}.section-heading .eyebrow{font-size:11px;letter-spacing:1.8px}.section-heading h1{font-size:30px;line-height:1.25}.hand-pill{font-size:11px;padding:8px 10px}
  .table-stage{height:clamp(450px,118vw,510px);min-height:0;aspect-ratio:auto}.table-stage.crowded{height:clamp(520px,130vw,590px)}.table-rail{inset:17% 3%}.board-area{width:calc(100% - 14px);top:50%}.board-cards{--card-width:clamp(48px,calc((100vw - 78px)/5),62px);height:calc(var(--card-width)*1.43);gap:4px}.board-cards .playing-card,.board-cards .card-slot{width:var(--card-width);height:calc(var(--card-width)*1.43)}.pot-label{font-size:12px;letter-spacing:2.4px}.pot-amount{font-size:36px;margin-bottom:12px}.street-label{font-size:12px;letter-spacing:1px;margin-top:12px}.table-corner{display:none}.card-slot{font-size:23px}
  .seat{min-width:0}.seat.opponent .seat-info{min-width:92px;max-width:112px;padding:6px 8px;justify-content:center}.seat.opponent .avatar{display:none}.seat.opponent .seat-text strong{max-width:94px}.table-stage.crowded .seat.opponent .seat-info{min-width:78px;max-width:82px;padding:5px}.table-stage.crowded .seat.opponent .seat-text strong{max-width:70px;font-size:11px}.seat.human .seat-info{min-width:146px;max-width:190px;padding:6px 10px;gap:8px}.seat.human .avatar{width:30px;height:30px;font-size:10px}.seat-text strong{font-size:12px;max-width:110px;overflow:hidden;text-overflow:ellipsis}.seat-text span{font-size:12px;margin-top:4px}.seat.human .seat-text strong{font-size:14px}.seat.human .seat-text span{font-size:14px}.seat-cards{height:52px}.playing-card.small{width:36px;height:51px}.seat.human .seat-cards{height:87px}.seat.human .playing-card.small{width:59px;height:84px;margin-left:-10px}.dealer-button{top:49px;right:-11px;width:22px;height:22px;font-size:12px}.seat.human .dealer-button{top:88px}.bet-chip{font-size:11px}.action-bubble{font-size:10px}.chip-marker{width:12px;height:12px}
  .action-panel{margin-top:12px;padding:18px;gap:16px}.action-placeholder{font-size:15px;line-height:1.5}.action-intro span{font-size:12px;letter-spacing:1.3px}.action-intro strong{font-size:22px}.action-controls{gap:12px}.raise-control{width:100%}.raise-top{font-size:14px}.raise-top strong{font-size:17px}.raise-control input{height:32px}.raise-scale{font-size:12px}.action-buttons{gap:8px}.action-button{min-height:68px;padding:10px 12px;font-size:17px;gap:5px}.action-button small{font-size:11px;letter-spacing:.7px}.primary-button{min-height:50px;font-size:16px;padding:13px 16px}.result-copy strong{font-size:22px}.result-copy span:last-child{font-size:13px}.next-button{width:100%}
  .lobby-heading strong{font-size:23px}.lobby-heading span,.lobby-wait{font-size:13px}.share-row input{height:48px;font-size:13px}.share-row button{min-height:48px;font-size:13px;padding:8px 12px}.lobby-name{font-size:12px;padding:6px 9px}.lobby-start{min-height:52px}
  .sidebar-top h2{font-size:26px}.sidebar .eyebrow{font-size:11px}.stat-grid span{font-size:12px}.stat-grid strong{font-size:18px}.ai-status{padding:14px}.ai-status strong{font-size:13px}.ai-status span{font-size:12px}.log-header{font-size:13px}.log-header span+span{font-size:11px}.game-log li{font-size:13px}.log-index{font-size:12px}.footer{font-size:11px}
  .setup-modal{padding:25px;max-height:calc(100dvh - 24px);overflow:auto}.setup-modal h2{font-size:34px}.modal-copy{font-size:14px;line-height:1.65}.field-label{font-size:13px}.nickname-input{height:50px;font-size:16px}.count-box{padding:12px}.count-box span{font-size:15px}.count-box small{font-size:12px}.counter button{width:44px;height:44px;font-size:23px}.counter strong{font-size:26px}.modal-range{font-size:12px;margin-bottom:22px}.modal-note{font-size:12px;line-height:1.45}.toast{font-size:14px;max-width:calc(100% - 24px)}
}
@media(max-width:360px){.brand-mark{display:none}.topbar{gap:6px}.brand{font-size:23px}.section-heading h1{font-size:28px}.hand-pill{font-size:10px}.seat.opponent .seat-info{min-width:84px;max-width:94px}.seat.opponent .seat-text strong{max-width:78px}.action-button{padding:9px;font-size:16px}.action-button small{font-size:10px}.share-row button{padding:8px 9px}}
@media(max-width:640px){html{min-width:0}}
@media(max-width:360px){.setup-modal{padding:20px}.setup-modal h2{font-size:31px}.modal-copy{margin-bottom:18px}.count-box{flex-direction:column;align-items:stretch;gap:12px}.count-box div:first-child{gap:3px}.counter{justify-content:space-between}.modal-range{margin-bottom:18px}}
