:root{color-scheme:dark;--bg:#101a22;--panel:#192630;--line:#2d414c;--text:#e9f0ef;--muted:#9bafb7;--accent:#aee5c3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 system-ui,'Microsoft YaHei',sans-serif}header{padding:24px 4%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}h1,h2,p{margin:0 0 12px}h1{font-size:29px;margin:0}h1 span{font-size:15px;color:var(--muted);font-weight:400;margin-left:16px}small{letter-spacing:2px;color:var(--accent);font-size:10px}h2{font-size:18px}.badge{border:1px solid var(--line);border-radius:20px;padding:5px 14px;color:var(--accent);font-size:12px}main{max-width:1500px;margin:auto;display:grid;grid-template-columns:260px minmax(500px,1fr);gap:28px;padding:28px 4%}aside{padding:20px;background:var(--panel);border-radius:12px}label{display:block;margin-bottom:14px;color:var(--muted)}input,select,button{font:inherit;border-radius:7px;border:1px solid var(--line);padding:9px 12px}input,select{background:var(--bg);color:var(--text);max-width:100%}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:6px}button{background:var(--accent);color:#133329;font-weight:650;cursor:pointer}button:hover{filter:brightness(1.08)}button:disabled{opacity:.3;cursor:default}.secondary{background:transparent;color:var(--text)}.muted{color:var(--muted);font-size:12px}.notice{border-top:1px solid var(--line);padding-top:18px;margin:20px 0;font-size:12px;color:var(--muted)}.notice strong{color:var(--accent)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}.section-head h2{margin:0}.table{height:430px;position:relative;background:radial-gradient(ellipse,#1e594d,#183e38);border:10px solid #344640;border-radius:150px;box-shadow:inset 0 0 50px #102b28;margin:20px 0}.center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:300px}.cards{display:flex;gap:6px;justify-content:center;min-height:55px;margin:10px 0}.card{display:inline-flex;align-items:center;justify-content:center;width:40px;height:53px;background:#edf1e8;color:#192c35;border-radius:5px;font-size:21px;font-weight:700;box-shadow:0 2px 4px #0004}.card.red{color:#b84646}.card.back{background:#334d5e;color:#a6bcc7;border:1px solid #647c8c}.seat{position:absolute;transform:translate(-50%,-50%);background:#12252dea;border:1px solid #51695c;border-radius:10px;padding:7px 12px;min-width:112px;text-align:center;font-size:12px}.seat.active{border:2px solid var(--accent);box-shadow:0 0 16px #aee5c329}.seat.fold{opacity:.45}.seat .cards{min-height:30px;margin:3px 0}.seat .card{width:25px;height:33px;font-size:14px}.seat .chips{color:var(--accent)}#status{min-height:35px;color:var(--accent)}.controls{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 28px}.controls div{display:flex;gap:7px}.controls input{width:110px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;min-height:110px}.metrics{display:flex;gap:25px;margin:12px 0;color:var(--accent)}.metrics span{font-size:23px}.metrics small{display:block;letter-spacing:0;color:var(--muted)}details{margin-top:22px}summary{cursor:pointer;color:var(--muted)}#log{max-height:220px;overflow:auto;font-size:13px;color:var(--muted);margin-top:12px}.tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.tools button{font-size:12px}#history{max-height:400px;overflow:auto}.history-item{display:block;width:100%;text-align:left;background:transparent;color:var(--text);margin:8px 0;font-size:12px}.history-item small{letter-spacing:0;color:var(--muted)}.review{grid-column:1/-1;background:var(--panel);padding:25px;border-radius:12px}.review-grid{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.review-player{border:1px solid var(--line);padding:10px;border-radius:8px}.toggle{display:flex;gap:8px;align-items:center}footer{padding:20px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:850px){main{display:flex;flex-direction:column;padding:18px}header{padding:18px}.badge{display:none}aside{order:2}.play{order:1}.review{order:3}.table{height:420px;border-radius:90px}.seat{min-width:82px;padding:5px;font-size:10px}.center{width:230px}.card{width:32px;height:44px}h1 span{display:block;margin:0}.metrics{gap:15px}} 

/* Action colors persist through the current betting round. */
.seat.action-call{border:2px solid #75baff;background:#183347;box-shadow:0 0 12px #75baff25}
.seat.action-raise{border:2px solid #ffb468;background:#3c2e21;box-shadow:0 0 12px #ffb46830}
.seat.active{outline:2px solid var(--accent);outline-offset:4px}
.seat.presenting{animation:action-pop .3s ease-out}
.seat.fold{opacity:.35;filter:saturate(.3)}
.action-label{font-weight:700;color:#bccdd3;min-height:19px}
.action-call .action-label{color:#8cc7ff}.action-raise .action-label{color:#ffc18a}
@keyframes action-pop{from{transform:translate(-50%,-50%) scale(.95)}to{transform:translate(-50%,-50%) scale(1)}}
.action-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:10px}
.legend-call{color:#8cc7ff}.legend-raise{color:#ffc18a}
.controls{margin-bottom:10px}.pot-presets{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 25px}
.pot-presets button{font-size:13px;border-color:#577465}.pot-presets span{flex-basis:100%}
.bet-recommendation{margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:15px}
.bet-scale{font-size:28px;font-weight:750;color:#ffc18a}.bet-scale.passive{color:var(--accent)}
.bet-ratio{font-size:20px;margin-top:4px}.bet-chips{color:var(--accent);font-size:17px;margin:5px 0}

[hidden]{display:none!important}
main{display:block;max-width:1600px;padding:24px 3%}
.setup-screen{max-width:980px;margin:24px auto;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px}
.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.setup-grid h2{font-size:23px}.setup-grid button{margin-right:8px}.setup-grid .notice{margin-bottom:0}
.bot-preview-row{display:flex;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line);gap:20px}
.bot-preview-row span{color:var(--accent)}#setupError{color:#ffbc91;margin-top:12px}
.game-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.game-toolbar h2{margin:0}.game-toolbar .tools{margin:0}
.game-grid{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
.analysis{padding:18px;border:1px solid var(--line);overflow-y:auto;max-height:calc(100dvh - 190px);scrollbar-width:thin}
.analysis .panel{padding:0;border:0;border-radius:0;min-height:100px;margin-bottom:18px}
.analysis .section-head{margin-bottom:12px}.analysis h2{font-size:16px}.analysis .bet-scale{font-size:25px}.analysis .bet-ratio{font-size:18px}.analysis .bet-recommendation{margin-bottom:10px;padding-bottom:10px}
.analysis .metrics{gap:16px;margin:10px 0}.analysis .metrics span{font-size:22px}.analysis .metrics small{font-size:10px}.analysis p{font-size:13px;margin-bottom:8px}
.analysis details{margin-top:10px}.model-details{font-size:11px}
.bot-stat-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1px 12px;border-top:1px solid var(--line);padding:5px 0;font-size:12px}
.bot-stat-row .muted{grid-column:1/-1;font-size:10px}.mood-number{color:var(--accent);font-variant-numeric:tabular-nums}
.play .table{margin:10px 0 16px;height:clamp(280px,calc(100dvh - 365px),500px)}
.play .seat{min-width:105px;padding:5px 8px;font-size:11px}.play .seat .cards{margin:2px 0}
.play .action-legend{margin-bottom:5px}.play #status{min-height:28px;font-size:13px}.play .controls{margin:5px 0 8px}.play .pot-presets{margin:0}.play .pot-presets span{font-size:11px}
.overlay{position:fixed;inset:0;z-index:20;background:#071017d9;padding:24px;display:flex;justify-content:center;align-items:center}
.overlay-card{width:min(100%,1000px);max-height:90dvh;overflow:auto;padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 70px #0008}
.overlay-card #history{max-height:65dvh}.overlay-card.review{grid-column:auto}.playing footer{display:none}
@media(min-width:1000px){.playing{height:100dvh;overflow:hidden}.playing header{padding:12px 3%}.playing header h1{font-size:24px}.playing main{padding-top:16px;padding-bottom:12px}.analysis{max-height:calc(100dvh - 165px)}}
@media(max-width:1100px) and (min-width:850px){.game-grid{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.game-toolbar{flex-wrap:wrap}.play .seat{min-width:85px;font-size:10px}.play .seat .card{width:22px;height:29px}.analysis{padding:14px}}
@media(max-width:850px){.setup-grid{grid-template-columns:1fr;gap:24px}.setup-screen{padding:20px;margin:0}.game-grid{grid-template-columns:1fr}.analysis{max-height:none}.game-toolbar{flex-wrap:wrap}.play .table{height:360px}.game-toolbar .tools{gap:6px}.overlay{padding:10px}.overlay-card{padding:16px}.play .seat{min-width:80px;font-size:10px}}
@media(max-height:700px) and (min-width:1000px){.playing header{padding:7px 3%}.playing main{padding-top:10px}.game-toolbar{margin-bottom:8px}.play .table{height:calc(100dvh - 300px);min-height:235px}.play .seat{font-size:10px}.play .seat .cards{min-height:25px}.play .seat .card{height:27px;width:22px}.analysis{max-height:calc(100dvh - 135px)}}

/* Keep action history distinct from the current turn marker. */
.seat.active{border-color:inherit;outline:2px solid #d9f3e3;outline-offset:5px;box-shadow:0 0 22px #aee5c325}
.seat.action-call.active{border-color:#75baff}.seat.action-raise.active{border-color:#ffb468}
.seat-position{font-size:10px;letter-spacing:.4px;color:#afbdc7}
.seat-mood{font-size:10px;font-weight:600;white-space:nowrap}.hero-label{color:#d2e7da}
.dealer-marker{position:absolute;right:-16px;top:-17px;display:flex;align-items:center;gap:3px;border-radius:30px;background:#f9e6ac;color:#46351a;border:3px solid #fff2ce;padding:2px 7px;box-shadow:0 2px 10px #0006;font-size:10px;font-weight:750}
.dealer-marker b{font-size:18px;line-height:24px}
.street-progress{display:flex;gap:6px;justify-content:center;margin:0 0 6px}
.street-step{display:flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;background:#192c30;color:#718a90;font-size:11px}
.street-step b{font-weight:600}.street-step.complete{color:#9ac4b0}.street-step.current{background:#aee5c3;color:#18382d;font-weight:700}
.decision-facts{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:11px;min-height:23px;margin-bottom:4px}
.decision-facts b{color:#d9e9e3}.decision-facts span{white-space:nowrap}
.trail-item{position:relative;border-left:2px solid #4c6567;margin-left:4px;padding:5px 0 6px 12px;display:flex;align-items:center;gap:12px;font-size:12px}
.trail-item:before{content:'';width:6px;height:6px;position:absolute;left:-4px;top:14px;border-radius:50%;background:#8baba6}
.trail-item span{color:var(--muted);font-size:10px;min-width:38px}.trail-raise strong{color:#ffc18a}.trail-call strong{color:#8cc7ff}.trail-fold strong{color:#8e9aa5}
.trail-raise:before{background:#ffb468}.trail-call:before{background:#75baff}
.play .table{height:clamp(280px,calc(100dvh - 420px),470px);border-width:8px;box-shadow:inset 0 0 70px #102b28,0 8px 28px #0002}
.play #status{background:#192f2b;border-left:3px solid var(--accent);border-radius:3px;padding:6px 10px;min-height:33px;margin-bottom:6px}
.analysis .bet-recommendation{padding:12px;border:1px solid #48644e;border-radius:10px;background:#182f29}
.strategy-source{display:inline-block;margin-bottom:10px;font-size:10px;border:1px solid #4c6c65;padding:3px 8px;border-radius:20px;color:var(--accent)}
.strategy-frequencies{display:flex;flex-direction:column;gap:5px;margin:10px 0}
.strategy-frequency{display:flex;justify-content:space-between;font-size:12px}.strategy-frequency .freq-bar{height:4px;background:#47725c;border-radius:3px;flex:1;margin:8px}
.analysis .feedback-match{font-size:12px;color:var(--accent);margin-bottom:8px}
.controls button[data-action=call]{background:#90c8ee;color:#163043}.controls button[data-action=raise]{background:#f1bc86;color:#432e1a}.controls button[data-action=fold]{background:#293b46;color:#b5c4cd}
@media(max-height:700px) and (min-width:1000px){.play .table{height:calc(100dvh - 362px);min-height:240px}.street-step{padding:3px 10px}.play .seat{padding:3px 6px}.seat-mood{font-size:9px}.dealer-marker{top:-14px}.decision-facts{gap:5px 10px}}
@media(max-width:850px){.play .table{height:380px}.street-step{padding:5px 8px}.dealer-marker{right:-12px;top:-14px;font-size:9px}.dealer-marker b{font-size:15px}.decision-facts{gap:5px 10px}}

.solver-status{font-size:11px;color:#a9bdb3;padding:0 0 10px;overflow-wrap:anywhere}.online-settings{margin:12px 0 18px;padding:10px;border:1px solid var(--line);border-radius:8px}.online-settings a{color:var(--accent);font-size:12px}.online-settings label{margin:10px 0}.online-settings .toggle input{width:auto;margin:0}.setup-grid .toggle input{display:inline-block;width:auto;margin:0}
.analysis .strategy-source{margin-bottom:8px}.analysis .strategy-frequencies{gap:3px;margin:8px 0}.analysis .metrics{gap:12px}

/* One timeline, with cards at the start of each betting round. */
.timeline-heading{margin-top:15px}.hand-timeline{max-height:270px;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.timeline-street{margin:0 0 6px;border:1px solid #30464c;border-radius:8px;background:#14242b}
.timeline-street.current{border-color:#6d9381}
.timeline-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;list-style:none;color:var(--text);background:#172b30;border-radius:8px}
.timeline-summary::-webkit-details-marker{display:none}.timeline-summary:after{content:'⌄';color:#a7b9b7;font-size:13px;flex-shrink:0}.timeline-street[open] .timeline-summary:after{content:'⌃'}
.timeline-stage{display:flex;flex-direction:column;min-width:51px}.timeline-stage b{font-size:12px}.timeline-stage small{letter-spacing:0;color:var(--muted);font-size:9px;white-space:nowrap}
.timeline-board{display:flex;gap:4px;flex:1;justify-content:flex-end}.timeline-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;background:#edf1e8;border-radius:4px;padding:3px 2px;width:25px;height:35px;border:1px solid #a9b6ae;font-size:11px;font-weight:700;flex-shrink:0}
.timeline-card b{font-size:12px}.timeline-card.new-card{border-color:#f1c886;box-shadow:0 0 0 1px #f1c886}
.timeline-card.suit-spades,.card.suit-spades{color:#223239}.timeline-card.suit-hearts,.card.suit-hearts{color:#bd3947}.timeline-card.suit-diamonds,.card.suit-diamonds{color:#256ec1}.timeline-card.suit-clubs,.card.suit-clubs{color:#228153}
.timeline-actions{padding:4px 8px 8px}.timeline-action{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:2px 7px;padding:6px 0 6px 12px;border-left:1px solid #405c5b;margin-left:3px;font-size:11px}
.timeline-action-dot{width:5px;height:5px;border-radius:50%;background:#7e9c95;position:absolute;left:-3px;top:13px}.timeline-action-label{color:#c3d0d2}.timeline-player{font-weight:600}.timeline-amount{font-weight:650;color:#c5dacf}.timeline-extra{font-size:9px;color:var(--muted);margin-left:auto;white-space:nowrap}
.timeline-action.action-raise .timeline-action-label,.timeline-action.action-raise .timeline-amount{color:#ffc18a}.timeline-action.action-call .timeline-action-label,.timeline-action.action-call .timeline-amount{color:#8cc7ff}.timeline-action.action-fold{color:#7d939c}
.timeline-action.latest{background:#28423a66;border-radius:0 4px 4px 0}.timeline-latest{font-size:8px;color:#acd6bd;border:1px solid #547f6b;border-radius:4px;padding:0 3px;margin-left:auto}
.timeline-info{color:var(--muted);font-size:10px;padding:5px}.timeline-result{color:var(--accent);font-size:11px;padding:9px 4px;border-top:1px solid #30464c}
/* Keep the result compact; explanations and full frequencies can expand. */
.analysis .panel{margin-bottom:6px}.analysis .section-head>span{font-size:10px}.analysis .solver-status{padding-bottom:7px;font-size:10px}
.dv-supported{border-color:#548069!important;background:#183a2b66}.dv-supported strong{color:#b8ebcc}.dv-different{border-color:#bd854d!important;background:#49302055}.dv-different strong{color:#f4be89}.dv-unknown{border-color:#6a8596!important;background:#263942}
.dv-frequency-chart svg{max-height:132px}.dv-donut svg{max-width:120px!important}.dv-summary{gap:6px!important}.dv-result{padding:8px!important}.dv-result .dv-your-action{margin-top:3px!important}.dv-result .dv-gap{line-height:1.3}
.dv-metrics b{color:#b9dfcc}.dv-model-details p,.dv-ev-chart p{font-size:11px;color:#a9bdc5}.dv-model-details summary,.dv-ev-chart summary{padding:4px 0}
.pot-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;max-width:700px}.pot-presets button{padding:8px 5px;font-size:12px;white-space:normal;min-width:0}.pot-presets #raiseHint{grid-column:1/-1;line-height:1.4}
.mood-legend{display:inline-grid;grid-template-columns:minmax(0,1fr);gap:4px;align-items:stretch;width:184px;max-width:100%;border-left:1px solid #4c645b;padding-left:9px;font-size:10px}.action-legend{gap:8px 14px;align-items:center}
.mood-gradient-labels{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;white-space:nowrap;line-height:1.3}.mood-gradient-labels>span:nth-child(2){text-align:center}.mood-gradient-labels>span:last-child{text-align:right}
@media(max-width:1100px) and (min-width:851px){.pot-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.timeline-card{width:21px;height:31px}.timeline-board{gap:3px}.timeline-summary{padding:7px 6px}.timeline-stage small{font-size:8px}}
@media(max-width:850px){.hand-timeline{max-height:320px}.dv-donut svg{max-width:140px!important}.analysis .dv-frequency-chart svg{max-height:150px}.pot-presets{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.play .seat{min-width:65px;padding:3px 4px;font-size:9px}.play .seat .card{width:19px;height:27px;font-size:12px}.play .seat .cards{gap:3px}.seat-position{font-size:8px}.seat-mood{font-size:8px}.mood-sentiment{display:none}.play .table{border-radius:70px;height:365px}.center{width:185px}.center .cards{gap:4px}.center .card{width:29px;height:40px;font-size:17px}.dealer-marker{right:-9px;top:-12px;padding:0 4px;border-width:2px}.dealer-marker b{font-size:14px;line-height:20px}.game-toolbar .tools button{min-height:40px;padding:8px 10px}.controls button,.pot-presets button{min-height:42px}.controls{gap:6px}.controls input{width:90px}.decision-facts{font-size:10px}.analysis{padding:14px}}

/* Expand the saved recommendation directly beneath its actual action. */
.analysis .timeline-action-step{margin:0;border:0;border-radius:4px}
.timeline-action-step>summary{list-style:none;cursor:pointer;color:var(--text)}
.timeline-action-step>summary::-webkit-details-marker{display:none}
.timeline-action-step>summary:focus-visible{outline:2px solid #aee5c3;outline-offset:2px}
.timeline-expand{font-size:9px;color:#a9c4b6;margin-left:auto;padding:1px 5px;border:1px solid #405e51;border-radius:4px;white-space:nowrap}
.timeline-action-step[open] .timeline-expand{background:#315144;color:#d4eadb}
.timeline-recommendation{margin:2px 0 9px 15px;padding:9px 10px;background:#203b31;border:1px solid #42604c;border-radius:7px}
.timeline-recommendation-label{font-size:12px;color:#c8ecd5;font-weight:700;line-height:1.6}
.timeline-recommendation-meta,.timeline-recommendation-basis{font-size:9px;color:#aabfb5;margin-top:3px;line-height:1.5}
.timeline-recommendation-reason{font-size:10px;color:#c2d1cb;margin:5px 0 0;line-height:1.6}
.dv-ev-chart{margin-top:12px!important;padding:9px 8px;border:1px solid #3b5e56;border-radius:8px;background:#152c27}
.dv-ev-chart svg{max-height:160px}.dv-ev-chart .muted{margin:4px 0 0}
.dv-frequency-details{margin-top:8px;font-size:11px}.dv-frequency-details .dv-frequency-chart{margin-top:6px!important}
.solver-status:empty{display:none}
.dv-size-chart{margin-top:12px!important;padding:9px 8px;border:1px solid #705440;border-radius:8px;background:#30271f}
.dv-size-chart svg{display:block;width:100%;max-height:145px}.dv-size-caption{line-height:1.5}
.controls .next-hand{border-color:#6c987e;background:#294c3c;color:#c9efd7;white-space:nowrap}
.controls .next-hand:disabled{background:transparent;color:#8d9e94;border-color:#3d5247}
.hand-end-tools{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}
.hand-end-tools button{font-size:12px;border-color:#8a7855;color:#f4ddb0;padding:7px 11px}
.board-preview-note{display:block;letter-spacing:0;font-size:9px;color:#efcc89;margin-top:2px}
.card.preview-card{border:2px dashed #d3aa59;background:#f3e8cc;box-shadow:0 0 8px #d3aa5926}
.seat .hole-cards{display:flex;width:100%;justify-content:center;padding:0;border:0;background:transparent;box-shadow:none;opacity:1}
.seat .hole-cards:hover .card{outline:1px solid #f1d797;outline-offset:1px}
.seat .hole-cards:focus-visible{outline:2px solid #f1d797;outline-offset:3px}
.seat .hole-cards .card.back{border-color:#be9d62}.seat.fold.revealed{opacity:.8;filter:none}
.seat-mood,.bot-preview-row span{transition:color .45s ease}
.mood-gradient{display:block;width:100%;height:6px;border-radius:5px;background:linear-gradient(90deg,hsl(120,76%,70%),hsl(60,76%,70%),hsl(0,76%,70%))}
@media(max-width:600px){.controls div{flex-wrap:wrap}.controls .next-hand{min-height:42px}.hand-end-tools{gap:6px}.hand-end-tools .muted{font-size:10px}.board-preview-note{font-size:8px}}

/* Larger cards and a readable result inside each seat. */
.playing{height:auto;min-height:100dvh;overflow-y:auto}
.play .table{height:clamp(460px,calc(100dvh - 405px),560px);margin:20px 0 24px}
.play .seat{width:132px;min-width:132px;padding:7px 10px;font-size:11px;line-height:1.4}
.play .seat>strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.play .seat .cards{min-height:44px;gap:6px;margin:4px 0}
.play .seat .card{width:32px;height:44px;font-size:18px;flex-shrink:0}
.play .seat .chips{line-height:1.35;overflow-wrap:anywhere}
.play .seat .action-label{line-height:1.4;min-height:19px}
.play .center{width:296px}
.play .center .cards{min-height:64px;gap:6px;margin:9px 0}
.play .center .card{width:48px;height:64px;font-size:25px;flex-shrink:0}
.play .center #pot{font-size:16px;font-weight:650}
.play .seat.settled{padding-left:6px;padding-right:52px}
.seat.settled .mood-sentiment{display:none}
.seat-settlement{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:44px;padding:5px 2px;border:1px solid;border-radius:6px;font-size:12px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;z-index:2}
.settlement-win{color:#a7ecc0;background:#183e2a;border-color:#417e59}
.settlement-loss{color:#ff9a98;background:#492627;border-color:#985957}
.seat.fold.settled{opacity:1;filter:none;background:#15272dea}
.seat.fold.settled>:not(.seat-settlement):not(.dealer-marker){opacity:.42;filter:saturate(.3)}
.seat.fold.settled.revealed>:not(.seat-settlement):not(.dealer-marker){opacity:.72;filter:none}
.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat{width:124px;min-width:124px;padding-left:6px;padding-right:6px}
.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat.settled{padding-left:4px;padding-right:48px}
.pot-presets{grid-template-columns:repeat(5,minmax(0,1fr));max-width:none}
.pot-presets button{min-height:42px;line-height:1.4}
.pot-presets .all-in-preset{border-color:#bd7753;background:#3e2d25;color:#ffc2a1}
@media(min-width:851px){.analysis{position:sticky;top:16px;max-height:calc(100dvh - 32px)}}

/* Dense tables use rows when an ellipse cannot fit clear cards and result labels. */
@media(min-width:1101px) and (max-width:1500px){
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .table{display:flex;flex-direction:column;height:auto;min-height:0;padding:20px 16px 16px;border-radius:36px;gap:16px}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .center{position:static;left:auto;top:auto;transform:none;order:-1;width:100%}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) #seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 14px}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat{position:relative;left:auto!important;top:auto!important;transform:none;width:100%;min-width:0;padding:7px 10px}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat.settled{padding-left:6px;padding-right:52px}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .seat.presenting{animation:none}
 .game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .dealer-marker{right:-8px;top:-12px}
}
@media(max-width:1100px){
 .play .table{display:flex;flex-direction:column;height:auto;min-height:0;padding:20px 14px 14px;border-radius:36px;gap:16px}
 .play .center{position:static;left:auto;top:auto;transform:none;order:-1;width:100%}
 #seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 12px}
 .play .seat,.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat{position:relative;left:auto!important;top:auto!important;transform:none;width:100%;min-width:0;padding:7px 10px}
 .play .seat.settled,.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat.settled{padding-left:6px;padding-right:52px}
 .seat.presenting{animation:none}
 .dealer-marker{right:-8px;top:-12px}
 .pot-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:600px){
 .play .table{padding:18px 8px 10px;gap:12px;border-radius:26px}
 #seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px}
 .play .seat,.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat{padding:6px;font-size:10px;line-height:1.4}
 .play .seat .cards{min-height:38px;gap:4px;margin:4px 0}
 .play .seat .card{width:28px;height:38px;font-size:17px}
 .play .seat .action-label{font-size:9px;min-height:15px}
 .play .seat .chips{font-size:9px}
 .play .seat.settled,.game-screen:is([data-count="7"],[data-count="8"],[data-count="9"]) .play .seat.settled{padding-left:5px;padding-right:45px}
 .seat-settlement{right:4px;width:36px;font-size:10px;padding:5px 1px}
 .play .center .cards{min-height:54px;gap:5px;margin:7px 0}
 .play .center .card{width:40px;height:54px;font-size:22px}
 .play .center #pot{font-size:14px}
 .pot-presets button{font-size:11px;padding:8px 4px}
 .analysis{position:static;max-height:none}
}
.end-training{border-color:#a97762;color:#efb894}
#botSpreadStats{font-size:11px;line-height:1.6;margin-bottom:8px}
.session-report{width:min(100%,1000px)}
.sr-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.sr-card{padding:14px;background:#13232a;border:1px solid #344b54;border-radius:9px;min-width:0}
.sr-card>span,.sr-card>small{display:block;font-size:11px;letter-spacing:0;color:var(--muted);line-height:1.6}
.sr-card>strong{display:block;font-size:25px;line-height:1.5;overflow-wrap:anywhere;color:#d3e9dd}
.sr-positive>strong{color:#a7ecc0}.sr-negative>strong{color:#ff9a98}
.sr-section{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}
.sr-section h3,.sr-analysis h3{font-size:16px;margin:0 0 10px;color:#d9ebe0}
.sr-rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 22px}
.sr-bar-label{display:flex;gap:8px;align-items:center;font-size:12px;margin-bottom:5px}
.sr-bar-label>b{margin-left:auto;color:#d5e5dc;font-size:15px}.sr-bar-label>small{font-size:10px;letter-spacing:0;color:var(--muted);white-space:nowrap}
.sr-bar-track{height:9px;border-radius:7px;overflow:hidden;background:#30434c}.sr-bar-fill{display:block;height:100%;border-radius:7px}
.sr-detail{font-size:12px;color:var(--muted);line-height:1.7;margin:8px 0}
.sr-analysis{margin-top:20px}.sr-analysis article{border-left:3px solid #8fc5a6;background:#19382c70;padding:12px 15px;margin-bottom:9px;border-radius:0 6px 6px 0}
.sr-analysis article>strong{color:#c4ebd3;font-size:14px}.sr-analysis article>p{font-size:12px;line-height:1.8;color:#c2d3ca;margin:6px 0 0}
.sr-notes{font-size:11px;margin-top:18px}.sr-notes p{color:var(--muted);line-height:1.7;margin:7px 0}
@media(max-width:600px){.sr-overview{grid-template-columns:1fr}.sr-card{padding:11px}.sr-card>strong{font-size:23px}.sr-rates{grid-template-columns:1fr}.sr-bar-label{font-size:11px}}
