:root{--bg: #0b1120;--panel: #111827;--panel2: #1f2937;--line: #334155;--text: #e5e7eb;--muted: #94a3b8;--accent: #fbbf24;--green: #22c55e;--red: #ef4444;--felt: #0f5132;--felt2: #146c43;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;font-size:14px}button{font:inherit;cursor:pointer}input,select{font:inherit;background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 8px}h1,h2,h3{margin:0 0 10px}h2{font-size:16px;color:var(--accent)}h3{font-size:14px;margin-top:14px;color:#cbd5e1}.muted{color:var(--muted);font-size:12.5px}.pos{color:var(--green)}.neg{color:var(--red)}.btn-primary{background:linear-gradient(180deg,#fbbf24,#d97706);color:#111;border:0;border-radius:8px;padding:8px 18px;font-weight:700}.btn-primary.big{padding:14px 32px;font-size:17px}.btn-primary:hover{filter:brightness(1.1)}.btn-secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 14px}.btn-secondary:hover{border-color:var(--accent)}.lobby{max-width:1100px;margin:0 auto;padding:20px 16px 60px}.lobby-head{text-align:center;margin-bottom:18px}.lobby-head h1{font-size:32px;background:linear-gradient(90deg,#fbbf24,#f97316);-webkit-background-clip:text;background-clip:text;color:transparent}.lobby-head p{color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;margin-bottom:14px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mode-card{background:var(--panel2);border:2px solid var(--line);border-radius:12px;padding:16px;color:var(--text);text-align:left}.mode-card.active{border-color:var(--accent);box-shadow:0 0 0 3px #fbbf2426}.mode-icon{font-size:30px}.mode-title{font-size:18px;font-weight:700;margin:4px 0}.mode-desc{color:var(--muted);font-size:13px}.row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0}.row.check{justify-content:flex-start}.row.check span{font-size:13px}.seg-btns{display:flex;gap:4px;flex-wrap:wrap}.seg-btns button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:5px 12px}.seg-btns button.on{background:var(--accent);color:#111;border-color:var(--accent);font-weight:700}.seg-btns.small button{font-size:12px;padding:4px 9px}.hint{color:var(--muted);font-size:12px}.seats-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px}.seat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.seat-cfg{display:flex;align-items:center;gap:8px;background:var(--panel2);border:1px solid;border-left-width:4px;border-radius:8px;padding:6px 8px}.seat-cfg select{flex:1;min-width:0}.seat-no{color:var(--muted);font-size:12px;white-space:nowrap}.start-row{display:flex;justify-content:center;gap:12px;margin:18px 0;align-items:center;flex-wrap:wrap}.profile-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}.profile-item{background:var(--panel2);border-left:4px solid;border-radius:8px;padding:10px 12px}.profile-name{margin-bottom:4px}.profile-desc{font-size:13px;color:#cbd5e1}.profile-exploit{font-size:12.5px;color:var(--accent);margin-top:4px}.game{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.hud{display:flex;gap:8px;flex-wrap:wrap;flex:1}.hud-item{background:var(--panel2);border-radius:6px;padding:4px 9px;font-size:13px}.hud-item.bubble{background:#be123c;font-weight:700;animation:pulse 1.2s infinite}.toggles{display:flex;gap:12px;font-size:13px;flex-wrap:wrap}.toggles label{display:flex;align-items:center;gap:4px}@keyframes pulse{50%{opacity:.65}}.main{display:flex;gap:12px;padding:12px;flex:1;align-items:flex-start}.table-area{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.side{width:360px;flex-shrink:0;background:var(--panel);border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 80px);position:sticky;top:12px}.tabs{display:flex;border-bottom:1px solid var(--line)}.tabs button{flex:1;background:none;border:0;color:var(--muted);padding:10px 4px;border-bottom:2px solid transparent}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.tab-body{padding:12px;overflow-y:auto;flex:1}.felt{position:relative;width:100%;aspect-ratio:16 / 9.2;min-height:380px}.felt-inner{position:absolute;top:9%;right:7%;bottom:9%;left:7%;border-radius:50%;background:radial-gradient(ellipse at center,var(--felt2) 0%,var(--felt) 65%,#0a3622 100%);border:12px solid #5b3a1e;box-shadow:inset 0 0 40px #0009,0 8px 30px #00000080,0 0 0 3px #7c5530}.board{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px}.pot{background:#00000073;padding:3px 12px;border-radius:12px;font-weight:700;color:var(--accent)}.pot small{color:#e5e7eb;font-weight:400}.board-cards{display:flex;gap:5px}.street-label{font-size:11px;letter-spacing:2px;color:#ffffff80}.card{width:46px;height:64px;border-radius:6px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;box-shadow:0 2px 6px #00000073;line-height:1;-webkit-user-select:none;user-select:none}.card .rank,.card .suit{font-size:20px}.card.small{width:32px;height:45px;border-radius:4px}.card.small .rank,.card.small .suit{font-size:14px}.card.suit-0{color:#111827}.card.suit-1{color:#dc2626}.card.suit-2{color:#2563eb}.card.suit-3{color:#15803d}.card.back{background:repeating-linear-gradient(45deg,#1e3a8a,#1e3a8a 4px,#1d4ed8 4px,#1d4ed8 8px);border:2px solid #fff}.card.slot{background:#ffffff0f;border:1px dashed rgba(255,255,255,.2);box-shadow:none}.cards-inline{display:inline-flex;gap:2px;vertical-align:middle;margin:0 4px}.cards-inline .card.small{width:24px;height:33px}.cards-inline .card.small .rank,.cards-inline .card.small .suit{font-size:11px}.seat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;z-index:2;transition:opacity .3s}.seat-cards{display:flex;gap:2px;height:46px;margin-bottom:-10px;z-index:1}.seat.hero .seat-cards{height:66px}.seat-box{position:relative;background:#111827f0;border:2px solid;border-radius:10px;padding:5px 10px 4px;min-width:108px;text-align:center;z-index:2}.seat.to-act .seat-box{box-shadow:0 0 0 3px var(--accent),0 0 18px #fbbf2499}.seat.folded{opacity:.45}.seat.winner .seat-box{box-shadow:0 0 0 3px var(--green),0 0 18px #22c55e99}.seat-top{display:flex;align-items:center;gap:5px;justify-content:center}.pos-chip{background:#334155;border-radius:4px;padding:0 5px;font-size:10.5px;font-weight:700;color:#fde68a}.seat-name{font-size:12.5px;font-weight:600;white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis}.seat-stack{font-weight:700;color:#a7f3d0;font-size:13px}.seat-stack small{color:var(--muted);font-weight:400;font-size:10.5px}.seat-type{position:absolute;top:-9px;right:-8px;font-size:9.5px;font-weight:800;color:#111;padding:1px 5px;border-radius:6px}.seat-action{font-size:11px;color:#fde68a;margin-top:1px}.seat-won{font-size:12px;color:var(--green);font-weight:800}.seat-hand{font-size:10.5px;color:#c4b5fd}.seat-empty{color:var(--muted);font-size:12px;background:#00000059;padding:8px 12px;border-radius:10px}.dealer-btn{position:absolute;right:-14px;bottom:2px;width:22px;height:22px;border-radius:50%;background:#fff;color:#111;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0009;z-index:3}.bet-chip{position:absolute;transform:translate(-50%,-50%);background:#0000008c;border-radius:12px;padding:2px 8px 2px 4px;font-size:12px;font-weight:700;display:flex;align-items:center;gap:4px;z-index:1;color:#fef3c7}.chip-icon{width:14px;height:14px;border-radius:50%;background:radial-gradient(circle,#f59e0b 35%,#fff 36%,#fff 50%,#dc2626 51%);display:inline-block}.actionbar{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.actionbar.waiting{color:var(--muted);text-align:center;padding:18px}.actionbar.done{flex-direction:row;align-items:center;justify-content:center;gap:12px;padding:14px}.result-text{font-size:18px;font-weight:800}.tour-over{display:flex;align-items:center;gap:12px;font-size:17px;font-weight:700;flex-wrap:wrap;justify-content:center}.ab-info{color:var(--muted);font-size:13px;text-align:center}.ab-buttons{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.act{min-width:120px;padding:12px 18px;border:0;border-radius:10px;font-weight:800;font-size:15px;color:#fff}.act.fold{background:#64748b}.act.call{background:#2563eb}.act.raise{background:#dc2626}.act:hover{filter:brightness(1.15)}.ab-sizing{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center}.ab-sizing input[type=range]{flex:1;min-width:140px;accent-color:var(--accent)}.amt-input{width:72px}.presets{display:flex;gap:4px;flex-wrap:wrap}.presets button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:6px;padding:4px 9px;font-size:12.5px}.presets button:hover{border-color:var(--accent)}.presets .gto-size{border-color:#22c55e;color:#86efac}.ab-hint{display:flex;align-items:center;gap:8px;background:#22c55e14;border:1px dashed #166534;border-radius:8px;padding:6px 10px}.ab-hint .mixbar-wrap{flex:1}.ab-hint-label{font-weight:800;color:#86efac}.ab-hint-size{font-size:12.5px;color:#86efac;white-space:nowrap}.mixbar-wrap{margin:4px 0}.mixbar{display:flex;height:10px;border-radius:5px;overflow:hidden;background:#1e293b}.mixbar .seg.raise{background:#dc2626}.mixbar .seg.call{background:#2563eb}.mixbar .seg.fold{background:#64748b}.mixtext{font-size:12px;margin-top:3px;color:#cbd5e1}.hint-box{background:var(--panel2);border-radius:8px;padding:10px}.hint-box ul,.dec-lines{margin:8px 0 0;padding-left:18px}.hint-box li,.dec-lines li{margin:4px 0;font-size:13px;line-height:1.45}.dec-lines li.note{color:#fdba74}.hint-spot{font-weight:700;color:var(--accent);margin-bottom:4px}.hint-size{font-size:13px;color:#86efac}.msg{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:6px 8px;margin-bottom:8px;font-size:13px}.log{font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.55}.log.small{font-size:11.5px}.log-street{color:var(--accent);margin-top:6px}.log-win{color:var(--green)}.hist-item{background:var(--panel2);border-radius:8px;padding:6px 10px;margin-bottom:6px}.hist-item summary{cursor:pointer;display:flex;gap:8px;justify-content:space-between;font-size:13px}.decision{background:var(--panel2);border-left:4px solid;border-radius:8px;padding:8px 10px;margin:8px 0}.dec-head{display:flex;align-items:center;gap:4px;flex-wrap:wrap;margin-bottom:4px}.dec-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:3px 0;flex-wrap:wrap}.dec-nums{display:flex;gap:12px;font-size:12.5px;margin-top:4px;flex-wrap:wrap}.grade{color:#111;font-weight:800;font-size:11.5px;padding:2px 8px;border-radius:10px;white-space:nowrap}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:50;padding:16px}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;width:min(760px,100%);max-height:92vh;overflow-y:auto;padding:16px 18px}.modal-head{display:flex;justify-content:space-between;align-items:center}.close{background:none;border:0;color:var(--muted);font-size:20px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;position:sticky;bottom:-16px;background:var(--panel);padding:10px 0}.review-summary{display:flex;flex-direction:column;gap:4px;background:var(--panel2);border-radius:8px;padding:10px}.review-board{display:flex;align-items:center;gap:4px;margin:10px 0}.reveal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:6px}.reveal-item{display:flex;align-items:center;gap:6px;background:var(--panel2);border-radius:8px;padding:5px 8px;font-size:12.5px;flex-wrap:wrap}.reveal-item.folded{opacity:.55}.reveal-cards{display:inline-flex;gap:2px}.reveal-item .card.small{width:24px;height:33px}.reveal-item .card.small .rank,.reveal-item .card.small .suit{font-size:11px}.hand-log{margin-top:12px}.hand-log summary{cursor:pointer;color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.stat{background:var(--panel2);border-radius:8px;padding:10px;text-align:center}.stat-v{font-size:20px;font-weight:800}.stat-l{font-size:11.5px;color:var(--muted)}.grade-row{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:4px 0}.grade-bar{flex:1;height:8px;background:#1e293b;border-radius:4px;overflow:hidden}.grade-bar div{height:100%}.tour-results{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px}.place{padding:2px 7px;border-radius:6px;background:#334155;font-weight:700;font-size:12px}.place.p1{background:#ca8a04;color:#111}.place.p2{background:#9ca3af;color:#111}.place.p3{background:#b45309}.profile-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;color:var(--text);cursor:pointer;flex-wrap:wrap}.profile-card:hover{border-color:var(--accent)}.profile-card .level-icon{font-size:26px}.profile-card-cta{margin-left:auto;color:var(--accent);font-weight:600}.profile-top{display:flex;align-items:center;gap:14px;margin-bottom:14px}.profile-top h1{font-size:24px;margin:0}.profile-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.level-badge{border:3px solid;border-radius:16px;padding:12px 22px;text-align:center;min-width:140px;background:var(--panel2)}.level-icon{font-size:30px}.level-score{font-size:34px;font-weight:900;line-height:1.1}.level-name{font-weight:700}.profile-meta{flex:1;min-width:240px;display:flex;flex-direction:column;gap:6px;line-height:1.5}.profile-name-input{font-size:20px;font-weight:700;max-width:280px}.leak{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel2);border-left:4px solid #f97316;border-radius:8px;padding:10px 12px;margin:8px 0;flex-wrap:wrap}.score-head{display:flex;justify-content:space-between}.score-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 2fr 32px 34px;align-items:center;gap:8px;margin:5px 0;font-size:13px}.score-track{height:8px;background:#1e293b;border-radius:4px;overflow:hidden}.score-fill{height:100%;border-radius:0 4px 4px 0}.score-val{text-align:right;font-weight:700}.score-n{text-align:right;font-size:11.5px}.table-wrap{overflow-x:auto}.sess-table{width:100%;border-collapse:collapse;font-size:13px}.sess-table th,.sess-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.sess-table th{color:var(--muted);font-weight:600}.stake-inputs{display:flex;align-items:center;gap:4px}.stake-inputs input{width:80px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:#1e293b;stroke-width:1}.chart .axis{fill:var(--muted);font-size:11px}.chart .line{fill:none;stroke:var(--accent);stroke-width:2;stroke-linejoin:round}.chart .dot{fill:var(--accent);stroke:var(--panel);stroke-width:2}.chart .dot.active{fill:#fff;stroke:var(--accent)}.chart .cross{stroke:#475569;stroke-dasharray:3 3}.chart-tip{position:absolute;top:4px;right:8px;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-size:12.5px}@media(max-width:1100px){.main{flex-direction:column}.side{width:100%;max-height:none;position:static}}@media(max-width:700px){.grid2,.mode-cards{grid-template-columns:1fr}.felt{aspect-ratio:3 / 4;min-height:0}.felt-inner{top:8%;right:4%;bottom:8%;left:4%;border-width:8px}.seat-box{min-width:78px;padding:3px 6px}.seat-name{max-width:64px;font-size:11px}.seat-stack{font-size:11.5px}.seat-stack small{display:none}.card{width:34px;height:48px}.card .rank,.card .suit{font-size:15px}.card.small{width:24px;height:34px}.card.small .rank,.card.small .suit{font-size:11px}.seat-cards{height:34px}.seat.hero .seat-cards{height:50px}.act{min-width:90px;padding:11px 10px;font-size:14px}.main{padding:8px}.profile-list{grid-template-columns:1fr}.score-row{grid-template-columns:1fr 1.2fr 28px 30px}.profile-card-cta{margin-left:0}}
