:root{--bg:#0e0d14;--panel:#17151f;--panel-2:#201d2b;--purple:#8b5cf6;--accent:#bba1ff;--felt:#292039;--text:#f4f4f5;--muted:#aaa4b6;--line:#ffffff0d;--green:#83dbb0;--red:#f699a9;--space:16px;--radius:14px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:13px var(--font)}button,input,select,textarea{font:inherit}button,select{min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--text);padding:9px 13px}button{cursor:pointer;transition:background .12s}button:hover{background:#30283e}button:disabled{opacity:.3;cursor:default}button.primary{background:var(--purple);border:0;font-weight:650;padding:12px 20px}button.primary:hover{background:#9c73f8}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}input[type=checkbox]{accent-color:var(--purple);width:16px;height:16px;vertical-align:middle}input[type=range]{accent-color:var(--purple);cursor:pointer}textarea,input[type=search]{background:#110f19;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:12px;width:100%}textarea{resize:vertical}h1,h2,p{margin:0}h1{font-size:16px;font-weight:600;letter-spacing:-.3px}h2{font-size:14px;font-weight:600}small,.muted{color:var(--muted)}
.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;border-bottom:1px solid var(--line);gap:16px}.brand{display:flex;align-items:center;gap:9px;color:var(--text);text-decoration:none;font-size:27px;font-weight:750;letter-spacing:-1.2px}.brand-icon{color:var(--accent);font-size:33px;font-weight:400}.brand-tag{color:var(--muted);font-size:8px;letter-spacing:2px;margin-left:8px}.privacy{color:var(--muted);font-size:11px}.privacy i,.live-dot{display:inline-block;width:5px;height:5px;background:var(--green);border-radius:50%;margin-right:8px}.tournament-bar{padding:22px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{display:block;font-size:9px;font-weight:600;letter-spacing:1.5px;color:var(--muted);margin-bottom:7px}.session-meta{white-space:pre-line;color:var(--muted);text-align:right;font-size:11px;line-height:1.7}
.welcome{min-height:calc(100svh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 20px 65px}.welcome-symbol{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;color:var(--accent);background:#8b5cf612;margin-bottom:30px;font-size:40px;transform:rotate(-7deg)}.welcome>.eyebrow{color:var(--accent);font-size:10px;letter-spacing:3px}.welcome h2{font-size:clamp(32px,4.2vw,55px);line-height:1.18;letter-spacing:-2px;margin:13px 0 20px;font-weight:600}.welcome p{color:var(--muted);font-size:15px;line-height:1.9;margin-bottom:29px}.welcome .primary{min-height:48px;font-size:13px;display:flex;gap:35px;align-items:center}.welcome-hint{color:#928b9e;font-size:10px;margin-top:15px}.welcome-steps{display:flex;gap:36px;border-top:1px solid var(--line);padding-top:28px;margin-top:55px;font-size:11px;color:var(--muted)}.welcome-steps b{font-size:10px;font-weight:500;color:var(--accent);background:#8b5cf610;border-radius:50%;padding:5px 8px;margin-right:7px}body:not(.has-history) .workspace,body:not(.has-history) .mobile-tabs,body:not(.has-history) .tournament-bar{display:none}body.has-history .welcome{display:none}
.workspace{display:grid;grid-template-columns:220px minmax(0,1fr) 270px;gap:22px;padding:0 24px;max-width:1750px;margin:auto}.workspace.history-hidden{grid-template-columns:220px minmax(0,1fr)}.history-hidden .history-panel{display:none}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.badge{color:var(--accent);background:#8b5cf610;border-radius:5px;padding:4px 7px;font-size:9px;letter-spacing:.5px}.hand-panel{display:flex;flex-direction:column;max-height:775px;min-height:650px;padding:17px 12px 12px}.hand-panel>.panel-title{padding:0 3px 18px}.search{display:flex;align-items:center;background:#110f19;border:1px solid var(--line);border-radius:8px;padding-left:10px;margin-bottom:8px}.search span{font-size:22px;color:var(--muted)}.search input{border:0;background:transparent;min-width:0;padding:10px}.hand-panel select{width:100%;color:var(--muted);background:transparent;font-size:11px}.list-meta{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted);padding:12px 2px;gap:4px}.text-button{border:0;background:transparent;padding:0;min-height:30px;color:var(--accent);font-size:9px}.hand-list{overflow:auto;flex:1;min-height:220px;scrollbar-width:thin;scrollbar-color:#433450 transparent}.hand-row{display:grid;grid-template-columns:17px 1fr 22px;align-items:center;padding:10px 5px;gap:6px;border:1px solid transparent;border-radius:8px;margin-bottom:3px}.hand-row:hover{background:#ffffff03}.hand-row.selected{background:#8b5cf613;border-color:#8b5cf63d}.hand-row button.hand-open{border:0;background:transparent;text-align:left;padding:0;min-width:0;min-height:40px}.row-top,.row-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px}.row-top{font-size:11px;margin-bottom:7px}.row-bottom{color:var(--muted);font-size:10px}.hand-row .star{border:0;background:transparent;color:var(--accent);padding:0;font-size:20px}.positive{color:var(--green)}.negative{color:var(--red)}.mini-cards{font-weight:650;font-size:13px;letter-spacing:1px;color:#e6deef}.panel-footer{padding-top:12px;border-top:1px solid var(--line)}.panel-footer button{width:100%;font-size:10px;background:transparent}.panel-footer small{display:block;font-size:9px;line-height:1.7;margin-top:11px}
.replay-column{min-width:0}.table-heading{display:flex;justify-content:space-between;align-items:center;padding:3px 4px 0;gap:8px}.table-heading h2{font-size:18px;font-weight:550}.heading-actions{display:flex;gap:7px}.heading-actions button{font-size:11px;min-height:36px;padding:7px 11px;background:transparent}.heading-actions button[aria-pressed=true],.heading-actions button[aria-expanded=true]{color:var(--accent);background:#8b5cf615}.arena{height:475px;position:relative;margin:0 auto;isolation:isolate;max-width:1050px}.table-rail{position:absolute;inset:86px 42px 70px;border-radius:48%;background:#211c2b;border:1px solid #46364f;padding:9px}.table-felt{height:100%;border-radius:49%;border:1px solid #57406580;background:var(--felt);display:flex;justify-content:center;align-items:flex-end;padding-bottom:29px}.felt-mark{font-size:14px;letter-spacing:5px;color:#b8a0d528;font-weight:700}.felt-mark span{font-size:7px;letter-spacing:2px}.table-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:60%;z-index:1;pointer-events:none}.table-center>.eyebrow{font-size:8px;letter-spacing:1.6px;color:#b8a4c8}.board{display:flex;gap:6px;justify-content:center;min-height:60px;margin:12px 0}.card{width:42px;height:59px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:5px;color:#282234;background:#f6f3fa;font-weight:750;font-size:24px;line-height:1}.card .suit{font-size:20px}.card.red{color:#d83d61}.card.back{background:#4d365f;border:1px solid #856298;color:#c3a6db;font-size:17px}.card.ghost{background:#ffffff03;border:1px solid #ffffff0b}.pot{font-size:19px;font-weight:600;letter-spacing:-.3px}.street-label{display:block;font-size:10px;color:#b8a4c8;margin-top:9px}.side-pots{font-size:10px;color:#c8b8da;line-height:1.7;margin-top:5px}.seat{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:114px;z-index:2;text-align:center}.seat-box{background:#1d1926;border:1px solid #4b3e56;border-radius:10px;padding:9px 6px 7px;position:relative}.seat.hero .seat-box{border-color:#9870d6;background:#2b203d}.seat.current .seat-box{border-color:var(--accent);outline:2px solid #a78bfa55;outline-offset:2px}.seat.folded .seat-box{opacity:.42}.seat-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:500}.seat-stack{margin-top:5px;font-size:14px;font-weight:650;color:#f1eafa;font-variant-numeric:tabular-nums}.seat-cards{display:flex;justify-content:center;gap:3px;height:36px;margin-bottom:-3px;position:relative;z-index:3}.seat-cards .card{width:27px;height:37px;font-size:16px;border-radius:4px}.seat-cards .suit{font-size:13px}.seat-status{font-size:7px;min-height:10px;color:var(--muted);margin-top:4px;white-space:nowrap}.seat-action{font-size:10px;line-height:1.5;color:var(--accent);max-width:114px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;min-height:15px}.seat-bet{position:absolute;top:var(--bet-top,100%);left:var(--bet-left,50%);transform:translateX(-50%);font-size:10px;white-space:nowrap;color:#e0cdab;border-radius:10px;background:#211b2b;padding:3px 7px;z-index:4}.dealer{position:absolute;right:-8px;top:10px;width:18px;height:18px;line-height:18px;border-radius:50%;color:#302139;background:#f0e6f6;font-size:9px;font-weight:750}.blind{position:absolute;left:-9px;top:10px;border-radius:50%;background:#694f80;color:#f2e7fa;width:20px;height:20px;line-height:20px;font-size:8px}.current-action{display:flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;color:#c9bfd5;text-align:center;padding:8px 10px}.live-dot{background:var(--accent);flex-shrink:0;width:4px;height:4px}
.playback{padding:12px 18px 9px;max-width:950px;margin:auto}.playback-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.hand-navigation{display:flex;gap:10px}.playback-header button{background:transparent;border:0;min-height:32px;padding:5px;font-size:10px;color:var(--muted)}.playback-header button:hover{color:var(--text)}.playback-header #options-toggle{color:var(--accent)}.timeline-wrap{display:flex;align-items:center;gap:12px;margin:12px 0 17px}.timeline-wrap input{width:100%;height:4px}.timeline-wrap span{font-size:10px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}.transport{display:flex;gap:12px;justify-content:center;align-items:center;position:relative}.transport button{background:transparent;border:0;font-size:14px;min-height:44px;padding:10px 16px;color:#d4cadf}.transport button span{font-size:12px}.transport button.play-button{background:var(--purple);min-width:150px;height:44px;border-radius:9px;font-size:12px;font-weight:650;color:white}.transport button.play-button:hover{background:#9c73f8}.speed-label{position:absolute;right:0}.transport select{font-size:10px;min-height:33px;padding:6px 7px;background:transparent;color:var(--muted)}.streets{display:flex;justify-content:center;gap:18px;margin-top:15px;border-top:1px solid var(--line);padding-top:7px}.streets button{background:transparent;border:0;min-height:32px;font-size:10px;color:var(--muted);padding:5px 8px;border-radius:6px}.streets button.active{color:var(--accent);background:#8b5cf610}.playback-settings{border-top:1px solid var(--line);margin-top:8px;padding-top:13px}.playback-options{display:flex;flex-wrap:wrap;gap:10px 20px;font-size:10px;color:var(--muted)}.boundary-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.boundary-controls button{background:transparent;min-height:32px;font-size:10px}.boundary-controls small{font-size:9px;margin-left:auto}.study-strip{display:flex;align-items:center;justify-content:center;gap:40px;padding:20px 8px 8px}.study-strip strong{font-size:15px;font-weight:550;font-variant-numeric:tabular-nums}.study-strip .eyebrow{font-size:8px;letter-spacing:1px}.study-strip small{max-width:175px;font-size:9px;line-height:1.7}.end-message{color:var(--accent);font-size:12px;text-align:center;padding:8px}
.history-panel{display:flex;flex-direction:column;max-height:775px;padding:18px 15px;min-width:0}.history-panel>.panel-title{padding-bottom:15px;border-bottom:1px solid var(--line)}.action-list{flex:1;overflow:auto;min-height:180px;scrollbar-width:thin;scrollbar-color:#433450 transparent;padding-top:8px;contain:layout}.action-row{display:block;width:100%;min-height:34px;border:0;border-radius:5px;background:transparent;text-align:left;color:var(--muted);font-size:11px;line-height:1.6;padding:7px 6px;margin:2px 0;overflow-wrap:anywhere}.action-row.active{background:#8b5cf612;color:#e3d5f9;border-left:2px solid var(--purple)}.action-row.street{font-size:9px;letter-spacing:.8px;color:var(--accent);padding-top:14px}.notes{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.notes textarea{height:80px;min-height:65px;font-size:11px;line-height:1.6;margin-top:12px}.notes>button{width:100%;font-size:10px;margin-top:12px;background:transparent}.study-reveal{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:10px}.notes details{margin-top:16px;font-size:10px;color:var(--muted)}summary{cursor:pointer;min-height:30px;padding:5px 0}.backup-actions{display:flex;gap:6px;margin-top:8px}.backup-actions button{font-size:9px}.notes pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;font-size:9px;line-height:1.7}.empty-copy{font-size:11px;line-height:1.9;color:var(--muted);padding:25px 8px}.app-footer{display:flex;justify-content:space-between;padding:22px 30px;color:#8c8497;font-size:9px;gap:12px}.mobile-tabs{display:none}
 dialog{color:var(--text);background:var(--panel);border:1px solid #65507c60;border-radius:18px;width:530px;max-width:calc(100% - 24px);padding:26px}dialog::backdrop{background:#08070ce8}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.dialog-heading h2{font-size:23px;letter-spacing:-.5px}.dialog-heading button{font-size:22px;background:transparent;border:0}.dialog-heading .eyebrow{color:var(--accent)}dialog>p{color:var(--muted);font-size:12px;line-height:1.7;margin:15px 0 24px}.drop-zone{position:relative;border:1px dashed #8b5cf670;border-radius:12px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#8b5cf607;cursor:pointer}.drop-zone.drag{background:#8b5cf625}.drop-zone input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.drop-zone:focus-within{outline:2px solid var(--accent)}.drop-zone span{font-size:11px;color:var(--muted)}.drop-zone .upload-icon{font-size:30px;color:var(--accent)}.or{font-size:9px;letter-spacing:1.5px;color:var(--muted);text-align:center;margin:22px 0 15px}dialog textarea{font-size:11px;line-height:1.6}.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px}.dialog-footer span{font-size:10px;color:var(--muted)}#import-status{margin:10px 0 0;white-space:pre-wrap;color:var(--accent)}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#2b203a;border:1px solid #8b5cf660;border-radius:9px;padding:13px 20px;z-index:100;max-width:90%;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1450px){.arena{height:500px}.history-hidden .arena{height:520px}}@media(max-width:1200px){.workspace{grid-template-columns:195px minmax(0,1fr);gap:16px;padding:0 18px}.workspace.history-hidden{grid-template-columns:195px minmax(0,1fr)}.history-panel{grid-column:1/-1;max-height:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}.history-panel>.panel-title{grid-column:1/-1}.history-panel .action-list{max-height:260px}.notes{margin:0;border-top:0;border-left:1px solid var(--line);padding:0 0 0 18px}.seat{width:104px}.seat-stack{font-size:13px}.transport{padding-right:48px}.streets{gap:12px}.study-strip{gap:25px}}
@media(max-width:850px){.privacy{display:none}.topbar{padding:0 20px;height:64px}.tournament-bar{padding:20px}.workspace,.workspace.history-hidden{grid-template-columns:minmax(0,1fr)}.mobile-tabs{display:flex;gap:5px;padding:0 18px 15px}.mobile-tabs button{flex:1;font-size:11px;background:transparent}.mobile-tabs button.active{background:#8b5cf612;color:var(--accent);border-color:#8b5cf63b}.workspace[data-tab=table] .hand-panel,.workspace[data-tab=table] .history-panel,.workspace[data-tab=hands] .replay-column,.workspace[data-tab=hands] .history-panel,.workspace[data-tab=history] .hand-panel,.workspace[data-tab=history] .replay-column{display:none}.workspace[data-tab=history] .history-panel{display:flex;grid-column:auto}.notes{padding:18px 0 0;border:0;border-top:1px solid var(--line)}.hand-panel{min-height:500px;max-height:70vh}.history-panel .action-list{max-height:400px;min-height:250px}.arena{height:475px}.seat{width:112px}.table-heading{padding-top:3px}.app-footer{padding:20px;font-size:8px}.session-meta{font-size:10px}h1{font-size:15px}.study-strip{padding-bottom:0}.transport{padding-right:0}.speed-label{right:0}.welcome{min-height:calc(100svh - 145px)}}
@media(max-width:480px){.topbar{padding:0 15px}.brand{font-size:24px}.brand-icon{font-size:29px}.brand-tag{font-size:7px;margin-left:3px;letter-spacing:1px}.topbar .primary{font-size:10px;padding:10px 12px}.tournament-bar{padding:18px 16px;align-items:flex-start}.tournament-bar h1{font-size:13px;max-width:205px;line-height:1.5}.eyebrow{font-size:8px;letter-spacing:1.2px}.session-meta{font-size:9px;max-width:120px}.workspace{padding:0 10px}.mobile-tabs{padding:0 10px 16px}.table-heading h2{font-size:16px}.heading-actions{gap:4px}.heading-actions button{padding:6px;font-size:9px;min-height:34px}.arena{height:495px;margin-top:3px}.table-rail{inset:67px 28px 58px;border-radius:43%;padding:7px}.table-felt{border-radius:44%;padding-bottom:80px}.seat{width:86px}.seat-name{font-size:9px}.seat-stack{font-size:12px}.seat-box{padding:7px 3px 5px}.seat-status{font-size:6px}.seat-cards{height:29px}.seat-cards .card{width:22px;height:30px;font-size:13px}.seat-cards .suit{font-size:11px}.seat-action{font-size:8px;max-width:86px}.seat-bet{font-size:8px;padding:2px 5px}.table-center{width:60%;top:49%}.board{gap:3px;min-height:43px;margin:10px 0}.board .card{width:29px;height:43px;font-size:18px}.board .suit{font-size:16px}.pot{font-size:15px}.side-pots{font-size:8px}.street-label{font-size:9px}.table-center>.eyebrow{font-size:7px}.playback{padding:9px 10px 7px}.streets{gap:4px;margin-top:13px}.streets button{padding:5px 8px;font-size:9px}.transport{gap:5px;justify-content:flex-start;padding-right:47px}.transport button{padding:9px 6px;font-size:15px}.transport button span{font-size:10px}.transport button.play-button{min-width:112px;flex:1;font-size:11px}.transport select{font-size:9px;padding:5px}.playback-options{display:grid;gap:12px;font-size:11px}.boundary-controls small{font-size:8px;margin:0;width:100%;line-height:1.7}.study-strip{gap:18px;flex-wrap:wrap;justify-content:space-between;padding:20px 8px 8px}.study-strip .eyebrow{font-size:7px;max-width:110px;line-height:1.5}.study-strip strong{font-size:14px}.study-strip small{width:100%;max-width:none;font-size:9px}.app-footer{gap:10px;line-height:1.6;padding:20px 15px}.app-footer>span:last-child{max-width:120px;text-align:right}.current-action{font-size:11px}dialog{padding:20px}.dialog-heading h2{font-size:21px}.dialog-footer{align-items:center}.dialog-footer span{max-width:110px;font-size:9px}.dialog-footer button{font-size:11px;padding:11px}.seat .dealer{width:16px;height:16px;font-size:9px;line-height:16px;right:-7px}.blind{left:-7px;width:17px;height:17px;line-height:17px;font-size:7px}.welcome{padding:35px 20px 45px}.welcome h2{font-size:34px;letter-spacing:-1.1px}.welcome p{font-size:13px}.welcome-steps{gap:14px;margin-top:40px;font-size:9px}.welcome-steps span{max-width:90px;line-height:1.9}.welcome-steps b{display:block;width:23px;height:23px;padding:2px 6px;margin:0 auto 8px}.welcome-symbol{width:62px;height:62px;margin-bottom:26px}.welcome-hint{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.seat-bet.table-bet{position:absolute;left:var(--bet-x);top:var(--bet-y);transform:translate(-50%,-50%);font-variant-numeric:tabular-nums;pointer-events:none}
.seat-bet.table-bet.latest-bet{color:#fff1d9;background:#5d452e;border-color:#bc9a68;font-weight:700}
/* Study workflow and touch layout. */
.session-clear{background:transparent;color:var(--muted);font-size:10px;margin-left:auto}.topbar .privacy{margin-left:auto}.quick-filters{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px}.quick-filters button{font-size:10px;min-height:36px;background:transparent;padding:6px}.quick-filters button[aria-pressed=true]{background:#8b5cf61b;color:var(--accent);border-color:#8b5cf65c}.decision-context{min-height:26px;text-align:center;color:var(--muted);font-size:11px;padding:7px 10px}.decision-context.hero-turn{color:var(--accent);font-weight:650}.current-action{min-height:35px}.decision-controls{display:flex;justify-content:center;gap:10px;margin-top:12px}.decision-controls button{font-size:11px;min-height:40px;background:transparent}.decision-controls #next-decision{color:var(--accent);border-color:#8b5cf64a;background:#8b5cf60b}.decision-controls #mark-decision[aria-pressed=true]{color:#e5c488;border-color:#e5c48855}.seat.to-act .seat-box{border-bottom:3px solid var(--accent)}.seat.to-act .seat-name{color:#d8c5ff}.seat.folded:not(.current) .seat-cards{opacity:.35}.seat.folded:not(.current) .seat-action{color:#81778e}.seat-bet.latest-bet{color:#fff1d9;background:#5d452e;border:1px solid #bc9a68;font-weight:700}.seat-status{overflow:hidden;text-overflow:ellipsis}.hand-summary{max-width:950px;margin:8px auto 16px;padding:20px}.hand-summary h3,.bookmarks-section h3{font-size:11px;font-weight:600;margin:15px 0 9px}.hand-summary .panel-title button{font-size:11px;background:transparent}.summary-stats{display:flex;gap:40px;margin-top:20px}.summary-stats strong{font-size:22px;letter-spacing:-.5px}.summary-stats .eyebrow{font-size:9px}.hand-summary ul{list-style:none;margin:0;padding:0}.hand-summary li{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.hand-summary li strong{color:var(--text);font-weight:600;white-space:nowrap}.hand-summary li span{overflow-wrap:anywhere}#summary-warning{color:#e5c488;font-size:11px;line-height:1.6;margin-top:10px}#summary-warning:empty{display:none}.bookmarks-section{margin-top:16px;border-top:1px solid var(--line)}#decision-bookmarks>p{font-size:10px;line-height:1.7}.bookmark-row{display:flex;gap:5px;align-items:center;border-bottom:1px solid var(--line);padding:5px 0}.bookmark-jump{flex:1;min-width:0;text-align:left;background:transparent;border:0;padding:6px}.bookmark-jump strong{display:block;color:var(--accent);font-size:9px;font-weight:500}.bookmark-jump span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:10px;color:var(--muted);line-height:1.6;margin-top:4px;overflow-wrap:anywhere}.bookmark-edit{font-size:9px;padding:5px;background:transparent;border:0}#decision-dialog label{display:block;font-size:11px;margin:12px 0 8px;color:var(--muted)}#decision-note{font-size:14px;line-height:1.7}#delete-decision{background:transparent;font-size:11px;color:var(--red)}.history-panel{max-height:920px}.notes{max-height:470px;overflow:auto;scrollbar-width:thin}
@media(max-width:850px){body.has-history{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}.mobile-tabs{position:fixed;bottom:0;left:0;right:0;z-index:20;margin:0;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));height:calc(58px + env(safe-area-inset-bottom,0px));background:#14111e;border-top:1px solid #493952;gap:8px}.mobile-tabs button{min-height:44px;border:0;border-radius:8px;font-size:12px}.mobile-tabs button.active{background:#8b5cf61c}.transport{position:fixed;bottom:calc(58px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:19;min-height:74px;justify-content:center;padding:12px max(16px,env(safe-area-inset-left,0px));background:#1d1728;border-top:1px solid #493952;gap:12px}.transport button{min-height:48px;font-size:18px;padding:10px 14px}.transport button span{font-size:12px}.transport button.play-button{flex:0 1 220px;min-width:140px;font-size:13px;height:48px}.speed-label{position:static}.transport select{min-height:44px;font-size:12px}.streets{margin-top:10px}.playback{padding:10px 14px}.decision-controls{margin-top:5px}.decision-controls button{min-height:44px;font-size:12px;flex:1}.playback-header button{min-height:40px;font-size:11px}.timeline-wrap{margin:8px 0 14px;min-height:24px}.timeline-wrap input{height:6px}.quick-filters{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-filters button{min-height:44px;font-size:12px}.hand-panel{max-height:none;min-height:60vh}.hand-list{max-height:none}.hand-row{padding:13px 8px;grid-template-columns:26px 1fr 44px}.hand-row button.hand-open{min-height:48px}.hand-row .star{min-height:44px}.hand-row input{width:20px;height:20px}.hand-row .row-top{font-size:13px}.hand-row .mini-cards{font-size:17px}.hand-row .row-bottom{font-size:12px}.panel-footer button{min-height:44px;font-size:12px}.notes{max-height:none;overflow:visible}.history-panel{max-height:none}.history-panel .action-list{max-height:42vh;min-height:140px}.action-row{min-height:44px;font-size:12px}.notes textarea{font-size:16px;min-height:110px}.bookmark-jump{min-height:48px}.bookmark-jump strong,.bookmark-edit{font-size:11px}.bookmark-jump span{font-size:12px}.bookmark-edit{min-height:44px;min-width:44px}.hand-summary{padding:18px}.session-clear{font-size:10px;padding:8px;min-height:44px}.history-panel>.panel-title button{min-height:44px}.heading-actions button{min-height:44px}.notes details summary{min-height:44px;padding-top:14px;font-size:12px}.backup-actions button,.notes>button{min-height:44px;font-size:11px}.study-reveal{font-size:11px;line-height:1.8}dialog{max-height:calc(100svh - 24px);overflow:auto}dialog textarea,dialog input{font-size:16px!important}.dialog-footer button{min-height:44px}.search input{font-size:16px}.hand-panel select{font-size:14px;min-height:44px}}
@media(max-width:480px){.topbar{gap:8px;flex-wrap:wrap;height:auto;min-height:64px;padding:9px 12px}.topbar .brand-tag{display:none}.topbar .primary{min-height:44px;font-size:10px;padding:9px 11px}.topbar .brand{font-size:23px;gap:4px}.topbar .session-clear{font-size:9px;padding:6px;max-width:63px;line-height:1.5}.tournament-bar{padding:14px 12px}.workspace{padding:0 8px}.table-heading{padding:0 3px}.table-heading .eyebrow{font-size:7px;max-width:140px;line-height:1.6}.heading-actions button{font-size:9px;padding:6px}.arena{height:480px}.seat{width:clamp(70px,22vw,88px)}.seat-name{font-size:9px}.seat-stack{font-size:12px}.seat-action{max-width:100%}.transport{gap:4px;padding:10px 8px;min-height:72px}.transport button{padding:10px 8px}.transport button span{font-size:11px}.transport button.play-button{flex:1;min-width:110px;max-width:180px;font-size:12px}.transport select{padding:5px;font-size:11px;max-width:56px}.decision-controls{gap:6px}.decision-controls button{font-size:10px;padding:7px}.streets{gap:2px;justify-content:space-between}.streets button{min-height:40px;font-size:10px;padding:5px}.summary-stats{gap:24px}.summary-stats strong{font-size:19px}.hand-summary .panel-title button{font-size:10px;padding:8px;min-height:44px}.hand-summary li{font-size:11px}.decision-context{font-size:11px;padding-top:5px;min-height:24px}.current-action{font-size:10px;min-height:33px}.quick-filters{gap:4px}.quick-filters button{font-size:10px}.app-footer{padding-bottom:8px}}
@media(max-width:359px){.heading-actions button{font-size:8px;padding:5px}.table-heading h2{font-size:15px}.seat-stack{font-size:11px}.seat-bet{font-size:7px;padding:2px 4px}.board .card{width:25px;height:38px;font-size:16px}.board .suit{font-size:14px}.table-center{width:57%}.side-pots{font-size:7px}.transport button span{font-size:10px}.transport button{padding:10px 6px}.transport button.play-button{min-width:103px;font-size:11px}}
@media(max-width:850px) and (orientation:landscape){.arena{height:420px;max-width:720px}.table-rail{inset:75px 45px 65px}.seat{width:96px}.table-center{width:55%}.welcome{padding:28px 20px}.welcome-symbol{display:none}.welcome-steps{margin-top:25px}}
/* Keep the session header compact while reviewing hands on a phone or tablet. */
@media (max-width:850px) {
  body.has-history .topbar {height:52px;min-height:52px;flex-wrap:nowrap;padding:4px 10px;gap:6px;}
  body.has-history .brand {font-size:21px;gap:4px;}
  body.has-history .brand-icon {font-size:27px;}
  body.has-history .brand-tag {display:none;}
  body.has-history .topbar .primary {min-height:40px;padding:8px 10px;font-size:10px;white-space:nowrap;}
  body.has-history .session-clear {min-height:40px;max-width:64px;padding:5px;font-size:9px;line-height:1.4;}
  body.has-history .tournament-bar {min-height:44px;padding:6px 12px;gap:10px;align-items:center;}
  body.has-history .tournament-bar>div:first-child {min-width:0;flex:1;}
  body.has-history .tournament-bar .eyebrow {display:none;}
  body.has-history .tournament-bar h1 {max-width:none;font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body.has-history .session-meta {max-width:55%;font-size:9px;line-height:1.4;}
  .table-heading {min-height:44px;}
  .study-strip {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) minmax(0,1fr);gap:8px;padding:12px 4px;align-items:center;}
  .study-strip>div {min-width:0;}
  .study-strip>div:nth-child(2) {padding:10px 8px;border:1px solid #aa84e580;border-radius:10px;background:#30213f;}
  .study-strip .eyebrow {max-width:none;font-size:7px;line-height:1.5;letter-spacing:.7px;}
  .study-strip strong {font-size:17px;overflow-wrap:anywhere;}
  .study-strip #call-label {color:#e8d9ff;}
  .study-strip #to-call {font-size:22px;color:#fff0c8;font-weight:750;}
  .study-strip small {grid-column:1/-1;max-width:none;width:auto;font-size:9px;line-height:1.6;}
}
/* A portrait oval uses the available height, with scrolling on short screens. */
@media (max-width:850px) and (orientation:portrait) {
  .arena {
    width:100%;
    max-width:480px;
    height:clamp(440px,calc(100svh - 326px - env(safe-area-inset-bottom,0px)),640px);
    min-height:440px;
    margin:6px auto;
  }
  .table-rail {
    inset:38px 22px 35px;
    padding:10px;
    border-radius:50% / 28%;
    border:1px solid #665575;
    background:linear-gradient(105deg,#302839,#19151f 48%,#3b3047);
    box-shadow:0 12px 22px #0005,inset 0 1px 2px #b8a0d52b;
  }
  .table-felt {
    position:relative;
    border-radius:50% / 28%;
    border:1px solid #795797;
    background:radial-gradient(ellipse at 50% 45%,#38264b 0%,#2b1d3c 70%,#241830 100%);
    padding-bottom:24%;
  }
  .table-felt::before {
    content:"";
    position:absolute;
    inset:18px 12px;
    border:1px solid #b48bd51c;
    border-radius:50% / 28%;
    pointer-events:none;
  }
  .felt-mark {font-size:18px;letter-spacing:4px;color:#b8a0d52a;}
  .felt-mark span {display:block;text-align:center;font-size:8px;margin-top:6px;letter-spacing:3px;}
  .table-center {top:41%;width:60%;display:flex;flex-direction:column;align-items:center;}
  .table-center>.eyebrow {display:none;}
  .pot {order:1;max-width:100%;padding:5px 12px;border:1px solid #bba1ff66;border-radius:13px;background:#1b1227;color:#faf6ff;font-size:clamp(19px,5.5vw,25px);line-height:1.15;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
  .pot::before {content:"POTE";display:block;margin-bottom:3px;color:#cfb9ee;font-size:8px;font-weight:600;line-height:1;letter-spacing:1.6px;}
  .board {order:2;width:100%;gap:5px;min-height:52px;margin:12px 0 6px;}
  .board .card {width:34px;height:50px;font-size:21px;flex-shrink:0;}
  .board .suit {font-size:18px;}
  .side-pots {order:3;font-size:9px;max-width:100%;}
  .street-label {order:4;font-size:10px;margin-top:6px;}
  .seat {width:clamp(72px,22vw,104px);}
  .seat-box {border-radius:9px;background:#1b1523ef;padding:7px 4px 5px;}
  .seat.hero .seat-box {background:#30213f;border-color:#ad83e3;}
  .seat-stack {font-size:13px;}
  .seat-name {font-size:10px;}
  .seat-cards {height:33px;}
  .seat-cards .card {width:25px;height:34px;font-size:15px;}
  .seat-cards .suit {font-size:12px;}
  .seat.hero {width:clamp(82px,24vw,112px);}
  .seat.hero .seat-cards {height:48px;}
  .seat.hero .seat-cards .card {width:34px;height:48px;font-size:22px;}
  .seat.hero .seat-cards .suit {font-size:18px;}
  .seat.hero .seat-stack {font-size:15px;color:#fff7ff;}
  .seat-action {max-width:100%;font-size:9px;}
  .seat-bet.table-bet {font-size:clamp(8px,2.35vw,10px);padding:3px 5px;border:1px solid #97816766;background:#211728f5;color:#f8e4bd;line-height:1.35;}
  .table-bet.hero-bet {left:50%;top:72%;}

  /* Place narrow-table bets above/beside the corresponding player, clear of the board. */
  .arena[data-player-count="2"] .table-bet[data-seat-index="1"],
  .arena[data-player-count="4"] .table-bet[data-seat-index="2"],
  .arena[data-player-count="6"] .table-bet[data-seat-index="3"],
  .arena[data-player-count="8"] .table-bet[data-seat-index="4"] {left:50%;top:26%;}
  .arena[data-player-count="3"] .table-bet[data-seat-index="1"],
  .arena[data-player-count="6"] .table-bet[data-seat-index="2"] {left:37%;top:30%;}
  .arena[data-player-count="3"] .table-bet[data-seat-index="2"],
  .arena[data-player-count="6"] .table-bet[data-seat-index="4"] {left:63%;top:30%;}
  .arena[data-player-count="4"] .table-bet[data-seat-index="1"],
  .arena[data-player-count="8"] .table-bet[data-seat-index="2"] {left:17%;top:34%;}
  .arena[data-player-count="4"] .table-bet[data-seat-index="3"],
  .arena[data-player-count="8"] .table-bet[data-seat-index="6"] {left:83%;top:34%;}
  .arena[data-player-count="5"] .table-bet[data-seat-index="1"] {left:17%;top:46%;}
  .arena[data-player-count="5"] .table-bet[data-seat-index="4"] {left:83%;top:46%;}
  .arena[data-player-count="5"] .table-bet[data-seat-index="2"] {left:36%;top:34%;}
  .arena[data-player-count="5"] .table-bet[data-seat-index="3"] {left:64%;top:34%;}
  .arena[data-player-count="6"] .table-bet[data-seat-index="1"] {left:22%;top:54%;}
  .arena[data-player-count="6"] .table-bet[data-seat-index="5"] {left:78%;top:54%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="1"] {left:24%;top:58%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="6"] {left:76%;top:58%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="2"] {left:17%;top:26%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="5"] {left:83%;top:26%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="3"] {left:39%;top:30%;}
  .arena[data-player-count="7"] .table-bet[data-seat-index="4"] {left:61%;top:30%;}
  .arena[data-player-count="8"] .table-bet[data-seat-index="1"] {left:26%;top:61%;}
  .arena[data-player-count="8"] .table-bet[data-seat-index="7"] {left:74%;top:61%;}
  .arena[data-player-count="8"] .table-bet[data-seat-index="3"] {left:37%;top:34%;}
  .arena[data-player-count="8"] .table-bet[data-seat-index="5"] {left:63%;top:34%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="1"] {left:25%;top:64%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="8"] {left:75%;top:64%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="2"] {left:17%;top:40%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="7"] {left:83%;top:40%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="3"] {left:37%;top:34%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="6"] {left:63%;top:34%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="4"] {left:38%;top:28%;}
  .arena[data-player-count="9"] .table-bet[data-seat-index="5"] {left:62%;top:28%;}
}
@media (max-width:359px) and (orientation:portrait) {
  .table-rail {inset-inline:19px;padding:8px;}
  .table-center {width:57%;}
  .board {gap:3px;}
  .board .card {width:28px;height:43px;font-size:18px;}
  .board .suit {font-size:16px;}
  .seat-name {font-size:9px;}
  .seat-stack {font-size:12px;}
  .seat-cards .card {width:23px;height:32px;}
  .seat.hero .seat-cards {height:45px;}
  .seat.hero .seat-cards .card {width:32px;height:45px;font-size:21px;}
}
