:root{color:#f8fafc;background:#07130c;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{min-height:42px;border:0;border-radius:10px;padding:0 16px;color:#07130c;background:#f8fafc;font-weight:800;cursor:pointer;box-shadow:0 10px 20px #0000002e;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 28px #0000003d}button:disabled{cursor:not-allowed;opacity:.55}input{min-height:42px;border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:0 13px;color:#f8fafc;background:#0307128c;outline:none}input:focus{border-color:#facc15;box-shadow:0 0 0 3px #facc1529}.app-shell{min-height:100vh;padding:28px;background:radial-gradient(circle at 20% 0%,rgba(250,204,21,.16),transparent 28%),radial-gradient(circle at 90% 12%,rgba(20,184,166,.15),transparent 30%),linear-gradient(140deg,#06150d,#0d2d1a 46%,#07130c)}.app-wrap{width:min(1360px,100%);margin:0 auto}.topbar,.room-strip,.bet-panel,.panel{border:1px solid rgba(255,255,255,.12);background:#03071294;box-shadow:0 18px 45px #0003;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px;padding:18px;border-radius:14px}.eyebrow{margin:0 0 6px;color:#facc15;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}h1,h2{margin:0}h1{font-size:clamp(32px,5vw,58px);line-height:.95}h2{font-size:20px}.subtle{margin:8px 0 0;color:#f8fafcbd}.player-pill{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:12px;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#0f172aa6}.player-pill div,.stat{display:grid;gap:3px}.player-pill span,.stat span{color:#f8fafc9e;font-size:12px;font-weight:700}.player-pill strong,.stat strong{font-size:18px}.panel,.bet-panel{margin-bottom:18px;padding:18px;border-radius:14px}.intro-panel{max-width:560px}.form-row,.strip-actions,.action-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-row{margin-top:14px}.form-row.compact{margin-top:0}.secondary-button,.ghost-button{color:#f8fafc;background:#ffffff1a;border:1px solid rgba(255,255,255,.14)}.gold-button{background:linear-gradient(180deg,#fde68a,#facc15)}.room-strip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:14px;align-items:center;margin-bottom:18px;padding:14px;border-radius:14px}.bet-panel{display:flex;justify-content:space-between;gap:14px;align-items:center}.table{position:relative;min-height:720px;overflow:hidden;padding:26px;border:2px solid rgba(255,255,255,.12);border-radius:28px;background:radial-gradient(ellipse at center,rgba(34,197,94,.24),transparent 52%),repeating-radial-gradient(circle at center,rgba(255,255,255,.04) 0 1px,transparent 1px 8px),linear-gradient(145deg,#14532d,#064e3b 58%,#052e16);box-shadow:inset 0 0 0 8px #78350f57,inset 0 0 80px #0000006b,0 24px 65px #00000057}.dealer-area{display:grid;place-items:center;gap:12px;min-height:180px}.seat-title{display:flex;gap:12px;align-items:center;color:#f8fafcdb}.seat-title span{font-size:20px;font-weight:900}.seat-title strong,.score-chip,.turn-badge{min-width:58px;border:1px solid rgba(250,204,21,.34);border-radius:999px;padding:6px 10px;color:#fef3c7;background:#713f127a;font-size:13px;font-weight:900;text-align:center}.card-row{display:flex;min-height:116px;gap:10px;align-items:center;flex-wrap:wrap}.dealer-cards{justify-content:center}.playing-card{position:relative;width:78px;height:110px;flex:0 0 auto;border:1px solid rgba(15,23,42,.18);border-radius:10px;background:linear-gradient(135deg,#fffffff5,#e2e8f0f5),#fff;box-shadow:0 16px 22px #0000003d,inset 0 0 0 3px #ffffffb3;transform-origin:center bottom;animation:cardDeal .56s cubic-bezier(.2,.88,.22,1.2) both}.playing-card.is-red{color:#b91c1c}.playing-card.is-black{color:#111827}.card-corner{position:absolute;display:grid;justify-items:center;gap:0;font-size:15px;font-weight:950;line-height:1}.card-corner-top{top:8px;left:8px}.card-corner-bottom{right:8px;bottom:8px;transform:rotate(180deg)}.card-center{position:absolute;inset:0;display:grid;place-items:center;font-size:44px;font-weight:900}.card-back{overflow:hidden;background:radial-gradient(circle at center,rgba(255,255,255,.28) 0 2px,transparent 3px),linear-gradient(135deg,#1e3a8a,#0f766e 54%,#172554);background-size:14px 14px,100% 100%}.card-back:before{content:"";position:absolute;inset:9px;border:2px solid rgba(255,255,255,.58);border-radius:7px}.card-back:after{content:"♠";position:absolute;inset:0;display:grid;place-items:center;color:#ffffffe0;font-size:34px}.felt-line{width:min(760px,84%);height:1px;margin:18px auto 24px;background:linear-gradient(90deg,transparent,rgba(250,204,21,.65),transparent)}.players-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.player-seat{border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;background:#03071280}.player-seat.is-me{border-color:#22c55e8c}.player-seat.is-current{box-shadow:0 0 0 2px #facc15b8}.seat-header,.hand-meta,.hand-footer{display:flex;justify-content:space-between;gap:12px;align-items:center}.seat-header div,.hand-meta div{display:grid;gap:4px}.seat-header span,.hand-meta span,.hand-footer span,.checkbox-line{color:#f8fafcad;font-size:13px}.hands-stack{display:grid;gap:12px;margin-top:12px}.hand-card{border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:12px;background:#ffffff0b}.hand-card .card-row{min-height:96px;gap:8px}.hand-card .playing-card{width:64px;height:90px}.hand-card .card-center{font-size:34px}.hand-card .card-corner{font-size:13px}.hand-card.is-active{border-color:#facc158c;background:#facc1514}.hand-footer{align-items:flex-start;flex-wrap:wrap}.checkbox-line{display:flex;gap:8px;align-items:center;margin-top:10px}.checkbox-line input{min-height:0}.error-box{display:flex;gap:10px;align-items:center;margin-top:18px;border:1px solid rgba(252,165,165,.32);border-radius:12px;padding:13px 15px;background:#7f1d1de0}@keyframes cardDeal{0%{opacity:0;transform:translateY(-26px) rotateY(82deg) rotate(-4deg) scale(.88)}62%{opacity:1;transform:translateY(4px) rotateY(-8deg) rotate(1deg) scale(1.03)}to{opacity:1;transform:translateY(0) rotateY(0) rotate(0) scale(1)}}@media(max-width:820px){.app-shell{padding:14px}.topbar,.bet-panel{display:grid}.room-strip{grid-template-columns:repeat(2,1fr)}.strip-actions{grid-column:1 / -1}.table{padding:16px}.playing-card{width:62px;height:88px}.card-center{font-size:34px}}
