:root{color-scheme:dark;--bg:#0d1317;--panel:#151e24;--line:#28343d;--muted:#93a5b1;--text:#e9f0f2;--green:#64deb0;--blue:#779fdd;--amber:#e6b872;--red:#e88c99;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}header{height:84px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:850;letter-spacing:-.5px}.brand>span{font-size:18px;letter-spacing:1px}.accent{color:var(--green)}.tag,.eyebrow{letter-spacing:2px;font-size:10px;font-weight:700;color:var(--muted)}.engine{margin-left:auto;font-size:12px;color:var(--green)}main{max-width:1500px;margin:auto;padding:38px 5% 0}.intro{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px}h1{font-size:clamp(28px,3.4vw,42px);letter-spacing:-1.6px;margin:8px 0}p{color:var(--muted);line-height:1.6;margin:6px 0}.outline{border:1px solid var(--line);padding:9px 14px;border-radius:30px;color:var(--muted);font-size:12px}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}h2{font-size:11px;color:var(--green);margin:0;display:flex;gap:10px;align-items:center;white-space:nowrap}h2 span{font-size:14px;font-weight:600;color:var(--text)}.text-button{border:0;background:none;color:var(--muted);font-size:11px;padding:4px}.text-button:hover{color:var(--green)}fieldset{border:0;border-top:1px solid var(--line);margin:22px 0 0;padding:16px 0 0}legend{padding:0 10px 0 0;color:#d9e5eb;font-weight:650;font-size:12px}label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;margin-bottom:13px}input,select{width:100%;min-width:0;background:#0e171d;border:1px solid #32424d;border-radius:7px;padding:10px 11px;color:var(--text);outline:none;font-size:13px}input:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 2px #64deb01a}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}small{font-size:10px;color:var(--muted);line-height:1.5}details{font-size:12px;color:var(--muted);line-height:1.6}summary{cursor:pointer;padding:9px 0}details p{margin:9px 0}.mono{font-family:monospace;overflow-wrap:anywhere}.precision,.pending-section{margin:14px 0}.primary{border:0;border-radius:8px;width:100%;background:var(--green);color:#10251f;font-weight:750;padding:14px;display:flex;justify-content:space-between}.primary:hover{background:#87eac4}.analysis{display:grid;gap:20px;min-width:0}#status{font-size:12px;color:var(--muted);min-height:18px}#status.error{color:#ffabba;border-left:3px solid var(--red);padding-left:12px}.tabs{display:flex;padding:4px;background:#0c151a;border:1px solid var(--line);border-radius:8px;gap:3px}.tabs button{border:0;border-radius:5px;padding:7px 10px;background:transparent;color:var(--muted);font-size:11px;white-space:nowrap}.tabs button[aria-pressed=true]{color:var(--green);background:#254137}.poker-table{position:relative;height:290px;max-width:650px;margin:0 auto 12px}.felt{position:absolute;inset:32px 45px 44px;border-radius:130px;border:10px solid #283b3b;outline:1px solid #43514a;background:radial-gradient(ellipse,#254c40,#15362e);box-shadow:inset 0 0 0 2px #3d6251,0 18px 25px #0002;display:grid;place-items:center}.table-center{text-align:center;display:grid;gap:8px}.table-center>span{font-size:9px;letter-spacing:1.8px;color:#abc1b2}.table-center strong{font-size:30px;font-weight:500;letter-spacing:-1px}.table-center small{font-size:9px;letter-spacing:3px;color:#779584}.seat{position:absolute;display:grid;text-align:center;gap:5px;background:#101a20;border:1px solid #45514f;border-radius:9px;min-width:105px;padding:10px 13px;box-shadow:0 4px 16px #0003}.seat span{font-size:9px;letter-spacing:1px;color:var(--muted)}.seat strong{font-size:14px;font-weight:550}.opener{left:12%;top:13px}.caller-0{right:12%;top:13px}.caller-1{right:0;top:124px}.caller-2{left:0;top:124px}.hero-seat{bottom:12px;left:50%;transform:translateX(-50%);border-color:var(--green);min-width:145px}.hero-seat span{color:var(--green)}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line);padding:22px 0;gap:16px}.metrics>div{display:grid;gap:7px}.metrics span{font-size:10px;color:var(--muted)}.metrics strong{font-size:27px;font-weight:600;letter-spacing:-.8px}.profit{color:var(--green)}.loss{color:var(--red)}.distribution{height:7px;display:flex;overflow:hidden;border-radius:6px;background:var(--line)}.green{background:var(--green)}.blue{background:var(--blue)}.amber{background:var(--amber)}.red{background:var(--red)}.gray{background:#384854}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;color:var(--muted);font-size:10px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:7px;height:7px;border-radius:2px;display:inline-block}.legend b{font-weight:500;color:var(--text)}.secondary{background:#213a32;color:var(--green);border:1px solid #3d6051;padding:8px 12px;border-radius:6px;font-size:11px}.hint{font-size:11px;margin:-8px 0 18px}.matrix{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px}.hand{aspect-ratio:1.03;background:#223039;border:1px solid #34414b;border-radius:4px;color:#b6c3cd;padding:3px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:clamp(9px,1vw,13px);font-weight:600;transition:background .12s}.hand small{font-size:9px;color:inherit;font-weight:400;opacity:.85}.hand.pair{background:#354049;color:#edf1f3}.hand.suited{background:#293941}.hand.positive{background:#245849;border-color:#33735f;color:#aff3d4}.hand.negative{background:#502e39;border-color:#66404a;color:#edb6c2}.hand:hover{filter:brightness(1.35)}.hand.selected{outline:2px solid #e8f5ef;outline-offset:-2px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;text-align:left}th{font-weight:500;color:var(--muted);font-size:10px;padding:10px 12px;background:#111b21}td{padding:13px 12px;border-bottom:1px solid var(--line)}.active-row{background:#20342e}.notes{font-size:12px}.notes summary{color:var(--text);padding:0}.notes p{margin-top:14px}progress{width:100%;height:8px;margin-top:16px;accent-color:var(--green)}footer{display:flex;justify-content:space-between;padding:30px 0;color:#748994;font-size:10px;letter-spacing:1px}footer span{letter-spacing:0}button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(min-width:1350px){.workspace{grid-template-columns:330px minmax(0,1fr)}.hand{max-height:58px}}
@media(max-width:1000px){main{padding:28px 24px 0}.workspace{grid-template-columns:270px minmax(0,1fr);gap:16px}.panel{padding:16px}.panel-heading{flex-wrap:wrap}.metrics strong{font-size:23px}.matrix{gap:3px}.hand small{font-size:8px}.legend{gap:10px}}
@media(max-width:760px){header{height:64px;padding:0 20px}.tag{display:none}.engine{font-size:10px}main{padding:26px 16px 0}.intro{margin-bottom:24px}.outline{display:none}.workspace{grid-template-columns:1fr}aside.panel{padding:20px}form{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}form fieldset{min-width:0}.primary,.precision,.pending-section{grid-column:1/-1}.analysis{gap:16px}.poker-table{height:270px}.matrix{gap:4px}.hand{font-size:11px}.metrics span{font-size:9px}.metrics strong{font-size:24px}footer{gap:20px;line-height:1.7}.table-panel .panel-heading{gap:14px}}
@media(max-width:400px){form{display:block}.hand{font-size:9px}.hand small{font-size:7px}.matrix{gap:2px}.metrics strong{font-size:20px}.seat{min-width:85px;padding:9px}.felt{inset:35px 25px 40px}.tabs button{padding:7px}.panel{padding:13px}}
/* Let the nested analysis grid shrink around scrollable result tables. */
.analysis{grid-template-columns:minmax(0,1fr)}.panel{min-width:0}#status{overflow-wrap:anywhere}.hero-seat{max-width:70%;overflow-wrap:anywhere}.metrics>div{min-width:0}.metrics strong{overflow-wrap:anywhere}
input[aria-invalid=true]{border-color:var(--red);box-shadow:0 0 0 2px #e88c9920}
.range-input{display:flex;gap:6px}.range-input input{flex:1}.range-trigger{display:grid;place-items:center;flex:0 0 38px;background:#213a32;border:1px solid #3d6051;border-radius:7px;color:var(--green)}
#range-dialog{width:min(680px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:24px;border:1px solid #3d6051;border-radius:14px;background:var(--panel);color:var(--text);overflow:auto;box-shadow:0 24px 90px #0009}#range-dialog::backdrop{background:#050b10bb;backdrop-filter:blur(4px)}body:has(#range-dialog[open]){overflow:hidden}#range-title{font-size:18px;color:var(--text)}#range-dialog p{font-size:12px}.range-toolbar{display:flex;align-items:center;gap:8px;margin:16px 0}.range-toolbar strong{margin-right:auto;font-size:12px;color:var(--green)}#range-grid .hand{font-size:12px;min-width:0}#range-grid .chosen{background:#245849;border-color:var(--green);color:#c4ffe4}#range-grid .partial{background:repeating-linear-gradient(135deg,#245849 0px,#245849 5px,#25343c 5px,#25343c 10px);border-color:var(--green);color:#c4ffe4}#range-dialog .range-partial-note{font-size:10px;margin:12px 0}#range-preview{width:100%;resize:vertical;padding:10px;border-radius:7px;border:1px solid #32424d;background:#0e171d;color:var(--text);font:12px/1.5 monospace}#range-message{color:var(--red);margin:8px 0}.range-actions{display:flex;justify-content:flex-end;gap:12px}.range-actions .primary{width:auto;display:block;padding:11px 20px}
@media(max-width:500px){#range-dialog{padding:14px}#range-grid{gap:2px}#range-grid .hand{font-size:9px}#range-grid .hand small{font-size:7px}.range-toolbar{flex-wrap:wrap}.range-toolbar strong{font-size:11px}#range-title{font-size:15px}}
.opener-summary{padding:12px;margin:4px 0 12px;background:#0e171d;border:1px solid var(--line);border-radius:8px}.opener-summary>span{font-size:11px;color:var(--muted)}.opener-summary>strong{display:block;color:var(--green);font-size:24px;margin:5px 0}.opener-summary p{font-size:11px;overflow-wrap:anywhere}#opener-range-error{color:var(--red)}
#caller-editor{margin-top:14px;padding:12px;background:#0e171d;border:1px solid var(--line);border-radius:8px}#caller-editor[hidden]{display:none}#caller-editor .tabs{margin:12px 0;width:fit-content;max-width:100%;flex-wrap:wrap}#caller-editor p{font-size:11px}#caller-range-error{color:var(--red)}#caller-draft-summary{overflow-wrap:anywhere}

.caller-config{border-top:1px solid var(--line);padding-top:10px;margin-top:14px}.caller-config h3{font-size:12px;margin:0 0 14px;color:var(--green)}
[hidden]{display:none!important}.tabs{flex-wrap:wrap}.table-panel .panel-heading{flex-wrap:wrap}
.caller-3{left:5%;bottom:0}.caller-4{right:5%;bottom:0}
@media(max-width:760px){.poker-table{height:350px}.caller-3{left:0;bottom:62px}.caller-4{right:0;bottom:62px}}

.opener-summary{position:relative}
.opener-summary>strong{width:fit-content;cursor:help;border-bottom:1px dotted var(--muted)}
.opener-summary>strong:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:2px}
.opener-summary .frequency-tooltip{position:absolute;z-index:10;top:calc(100% - 12px);left:10px;right:10px;margin:0;padding:10px 12px;background:#213a32;border:1px solid #3d6051;border-radius:8px;box-shadow:0 8px 24px #0006;color:var(--text);visibility:hidden;opacity:0;pointer-events:none}
.opener-summary>strong:hover+.frequency-tooltip:not(:empty),.opener-summary>strong:focus+.frequency-tooltip:not(:empty),.opener-summary .frequency-tooltip:hover:not(:empty){visibility:visible;opacity:1;pointer-events:auto}

.callers-section,.pending-section{position:relative}
.section-help{display:inline-block;margin-left:6px}
.help-trigger{display:inline-grid;place-items:center;width:20px;height:20px;padding:0;border:1px solid var(--muted);border-radius:50%;background:transparent;color:var(--muted);font-size:12px;font-weight:600;cursor:help}
.help-trigger:hover,.help-trigger:focus{color:var(--green);border-color:var(--green)}
.help-tooltip{position:absolute;z-index:20;top:18px;left:0;width:100%;padding:12px;background:#213a32;border:1px solid #3d6051;border-radius:8px;box-shadow:0 8px 24px #0006;color:var(--text);font-size:11px;font-weight:400;line-height:1.6;overflow-wrap:anywhere;visibility:hidden;opacity:0;pointer-events:none}
.help-paragraph{display:block;margin:0 0 10px}.help-paragraph:last-child{margin-bottom:0}.help-heading{display:block;font-weight:650;margin:12px 0 6px}
.section-help:hover .help-tooltip,.section-help:focus-within .help-tooltip{visibility:visible;opacity:1;pointer-events:auto}

.hole-cards,.seat .hole-cards{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;letter-spacing:0}
.hole-cards .playing-card,.seat .hole-cards .playing-card{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:28px;height:38px;flex-shrink:0;border:1px solid #c9d1d6;border-radius:4px;background:linear-gradient(145deg,#fff,#e4e9ec);color:#15232e;box-shadow:0 2px 3px #0003;font-size:15px;line-height:1;letter-spacing:0}
.hole-cards .playing-card.red-suit,.seat .hole-cards .playing-card.red-suit{color:#b62d43}
.playing-card b{font-weight:750}.playing-card i{font-style:normal;font-size:14px}
#hero-seat{display:flex;align-items:center;justify-content:center;gap:10px}
:is(#ev-label,#comparison-title) .playing-card{width:23px;height:31px;font-size:13px}
:is(#ev-label,#comparison-title) .playing-card i{font-size:12px}

#comparison-title{display:inline-flex;align-items:center;gap:8px}

.comparison-heading{flex-wrap:wrap}

.table-panel{position:relative}
.action-heading-title{display:flex;align-items:center;gap:4px}
.results-help .help-tooltip{top:50px;left:12px;width:calc(100% - 24px);max-width:560px;max-height:min(65vh,520px);overflow-y:auto;overscroll-behavior:contain;white-space:normal;font-size:12px}
.results-help .help-heading{margin-top:0}

#risk-error { color: #f59a9a; }

/* Nine fixed seats: eight opponents around the felt, Hero at the bottom. */
.poker-table { height: 420px; }
.poker-table .felt { inset: 40px 38px 55px; }
.poker-table .seat:not(.hero-seat) { width: 24%; min-width: 0; padding: 9px 3px; }
.poker-table .spot-0 { top: 5px; left: 22%; right: auto; bottom: auto; }
.poker-table .spot-1 { top: 5px; left: 54%; right: auto; bottom: auto; }
.poker-table .spot-2 { top: 90px; right: 0; left: auto; bottom: auto; }
.poker-table .spot-3 { top: 180px; right: 0; left: auto; bottom: auto; }
.poker-table .spot-4 { top: 270px; right: 0; left: auto; bottom: auto; }
.poker-table .spot-5 { top: 270px; left: 0; right: auto; bottom: auto; }
.poker-table .spot-6 { top: 180px; left: 0; right: auto; bottom: auto; }
.poker-table .spot-7 { top: 90px; left: 0; right: auto; bottom: auto; }
.poker-table .folded-seat { opacity: .55; }
.poker-table .pending-seat { border-color: var(--amber); }
@media(max-width:500px) { .poker-table .seat:not(.hero-seat) strong { font-size: 11px; } .poker-table .seat:not(.hero-seat) span { font-size: 8px; letter-spacing: 0; } .table-center>span { font-size: 7px; letter-spacing: 0; } }

.caller-range-error{color:var(--red);font-size:11px;overflow-wrap:anywhere}
.caller-range-error:empty{display:none}
.seat:is(.caller,.opener){cursor:help}
.seat:is(.caller,.opener):hover,.seat:is(.caller,.opener):focus-within{z-index:20}
.seat:is(.caller,.opener):focus-visible{outline:2px solid var(--green);outline-offset:3px}
.seat-tooltip{position:absolute;top:100%;right:0;width:240px;max-width:calc(100vw - 64px);padding:12px;text-align:left;background:#213a32;border:1px solid #3d6051;border-radius:8px;box-shadow:0 8px 24px #0006;visibility:hidden;opacity:0;pointer-events:none}
.spot-0 .seat-tooltip,.spot-5 .seat-tooltip,.spot-6 .seat-tooltip,.spot-7 .seat-tooltip{left:0;right:auto}
.seat-tooltip .payment-line{margin:5px 0;font-size:24px;color:var(--green);white-space:nowrap}
.poker-table .seat .payment-line strong{font-size:inherit;font-weight:inherit}
.seat-tooltip p{font-size:11px;color:var(--text);overflow-wrap:anywhere}
.seat:is(.caller,.opener):hover .seat-tooltip,.seat:is(.caller,.opener):focus-within .seat-tooltip{visibility:visible;opacity:1;pointer-events:auto}

.table-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}
.table-fields label{min-width:0;justify-content:flex-end;line-height:1.35}
.table-fields input{padding:8px 6px}

.page-nav{display:flex;gap:6px;align-items:center}.page-nav a{padding:9px 12px;border-radius:7px;font-size:13px;white-space:nowrap}.page-nav a[aria-current=page]{background:#254137;color:var(--green)}.page-nav a:hover{background:#213a32}
@media(max-width:600px){header{height:auto;min-height:70px;flex-wrap:wrap;gap:10px;padding:12px 16px}.engine{display:none}.page-nav{margin-left:auto}}

.intro{gap:20px}.intro #duplicate-tab{flex-shrink:0;max-width:100%}@media(max-width:760px){.intro{flex-wrap:wrap}.intro #duplicate-tab{margin-left:auto}}
input:disabled,input[readonly],select:disabled,textarea:disabled,textarea[readonly]{background:#1b242b;color:var(--muted);border-color:#38434b;border-style:dashed;box-shadow:none;cursor:not-allowed;opacity:1}
