:root{color-scheme:dark;--bg:#171729;--panel:#2c2d45;--line:#494a65;--text:#f7f7fc;--muted:#b6b7ce;--mint:#c7c4ff;--blue:#abbcff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#303148 0,#24243b 45%,#151526 100%);color:var(--text);font:16px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}button,input,select{font:inherit}button{cursor:pointer;background:#444560;border:1px solid #676982;border-radius:6px;color:var(--text);padding:10px 14px;font-size:14px;font-weight:600}button:hover{filter:brightness(1.15)}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #dad7ff;outline-offset:3px}.appbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 28px;background:#303148;position:sticky;top:0;z-index:5;border-bottom:1px solid #ffffff08}.app-title{font-size:26px;font-weight:650;letter-spacing:-.03em}.app-title span{display:block;font-size:11px;letter-spacing:.16em;color:var(--muted)}.toolbar{display:flex;align-items:center;gap:12px}.icon-button{border:0;background:transparent;font-size:29px;padding:6px 12px;min-width:48px;min-height:48px}.play-button{color:#ddd9ff}main{max-width:1100px;margin:auto;padding:14px 18px 32px}.board-strip{position:relative;background:#1d1f29;border-radius:10px;padding:12px 18px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.board-caption{font-size:12px;letter-spacing:.18em;color:var(--muted)}.board-tools{display:flex;flex-direction:column;align-items:end;gap:8px}.board-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;width:310px;margin:0 auto}.board-slot{display:flex;flex-direction:column;align-items:center;gap:5px}.slot-label{font-size:12px;color:var(--muted);order:2}.playing-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;width:56px;height:78px;min-width:0;padding:5px;background:#f4f5f9;border:2px solid #e4e4eb;border-radius:4px;color:#292b3c;box-shadow:0 2px 4px #0005;font-family:ui-monospace,monospace;line-height:1}.card-rank{font-size:23px;font-weight:800;align-self:flex-start}.card-suit{font-size:30px;align-self:flex-end}.red{color:#b82e50}.card-back{background:linear-gradient(135deg,#494b75,#353752 60%,#545780);color:#fff;align-items:center;justify-content:center;gap:4px}.card-back span{font:700 10px/1.1 system-ui;letter-spacing:.04em;text-align:left;align-self:flex-start}.card-back b{font-size:25px;color:#c0b6ec;line-height:1}.active-card{outline:3px solid #b7afff;outline-offset:3px;transform:translateY(-3px)}.text-button{border:0;background:transparent;color:var(--muted);padding:5px 0;font-size:14px}.board-text{grid-column:1/-1;font-size:13px;color:var(--muted)}summary{cursor:pointer}.board-text label{display:block;margin-top:12px}.board-text input{margin-top:8px}.status-strip{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 4px 10px;font-size:13px;color:var(--muted)}.status-strip select{max-width:170px;font-size:13px;padding:6px 8px;background:transparent;border-color:#62627c}.player{position:relative;text-align:center;padding:20px 20px 14px;border-bottom:1px solid #ffffff21}.player h2{font-size:27px;font-weight:550;margin:0 0 14px;line-height:1.2}.hole-cards{display:flex;justify-content:center;gap:6px;min-height:78px;margin:0 auto}.range-side{position:absolute;left:12px;top:76px;min-width:92px;min-height:48px;background:transparent;color:#c8c9de;border:2px solid #74758d;font-size:17px;font-weight:500}.remove-player{position:absolute;right:10px;top:8px;font-size:30px;line-height:1;padding:5px 10px}.hand-note{font-size:13px;color:#b8b7d4;min-height:20px;margin:8px 0}.player-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 4px}.player-stats div{display:flex;flex-direction:column;gap:5px}.player-stats span{font-size:21px}.player-stats strong{font-size:25px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.equity-value{color:#d6d0ff;font-weight:750!important}.player-entry{text-align:right;color:var(--muted);font-size:12px;margin-top:14px}.player-entry summary{padding:5px}.player-entry label{text-align:left;display:block;margin:12px 0 6px;font-size:14px}.player-entry input{text-align:left;width:100%}input,select{background:#202135;border:1px solid #666680;color:var(--text);border-radius:6px;padding:11px;font-size:16px;width:100%;min-width:0}.result-note{font-size:14px;color:var(--muted);padding:18px 12px;text-align:center}.result-note p{margin:5px 0}.help-details{font-size:14px;color:var(--muted);padding:12px}.help-details summary{font-size:14px}footer{font-size:12px;display:flex;justify-content:space-between;gap:12px;color:#9293ae;padding:22px 12px 0}#error{color:#ffa7ba;font-size:14px;margin:8px 4px}.stale{color:#efcf9a}.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}dialog{background:#303149;color:var(--text);border:1px solid #686984;border-radius:12px;padding:22px;width:min(660px,96vw);max-height:92vh;box-shadow:0 16px 60px #0008}dialog::backdrop{background:#0d0d1dbc}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h2{font-size:19px;margin:0}.outline{background:transparent;white-space:nowrap}.primary{background:#bdb4f5;color:#211e3d;border-color:#d4cdf9;font-weight:750}.hint{font-size:14px;color:var(--muted);margin:12px 0}.range-gauge{background:#26263d;border:1px solid #565671;border-radius:8px;padding:14px;margin-top:16px}.gauge-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.gauge-heading label{font-size:14px}.gauge-heading select{width:auto;max-width:62%;font-size:14px;padding:8px}.gauge-heading output{font-size:22px;color:#e2dcff}.range-gauge input[type=range]{height:32px;padding:0;accent-color:#bcb0ef;cursor:pointer}.gauge-scale{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.range-gauge .hint{font-size:13px}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.presets button{padding:8px 10px}.matrix{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;margin:16px 0}.matrix button{font-size:13px;padding:9px 0;border:1px solid transparent;border-radius:3px;background:#44455e}.matrix .suited{background:#3c4b64}.matrix .pair{background:#5b5472}.matrix .selected{background:#bdb4f5;border-color:#e3ddff;color:#211e3d}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;position:sticky;bottom:-22px;background:#303149;padding:12px 0;border-top:1px solid #565671}#hole-dialog,#board-dialog{width:min(520px,96vw)}.board-picker-header .board-slots{margin:16px auto}.board-picker-actions{display:flex;justify-content:space-between;gap:10px;align-items:center}.board-picker-actions .outline{font-size:13px;padding:8px}.board-picker-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px}.board-picker-footer .hint{font-size:12px}#hole-draft{margin:18px auto}.hole-actions{display:flex;gap:10px;justify-content:center;margin-top:20px}.card-keypad{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(4,56px);gap:6px;padding:10px;background:#35364b;border:1px solid #63637b;border-radius:9px;margin:18px auto 0;max-width:370px}.card-keypad button{padding:0;border-radius:3px;background:linear-gradient(#62627f,#454560);border:1px solid #7b7b96;border-bottom:3px solid #232336;font-size:27px;font-weight:500;min-width:0}.card-keypad .key-selected{background:#a397d4;color:#17172b;border-color:#e7dbff}.card-keypad .suit-key{font-size:35px}.card-keypad .red{color:#ffc1d2}.card-keypad button:disabled{opacity:.28}.keypad-hint{grid-column:2/5;grid-row:4;align-self:center;text-align:center;color:#ceccdf;font-size:13px}progress{width:100%;accent-color:#b8acf1}[hidden]{display:none!important}@media(min-width:900px){.appbar{padding-left:max(28px,calc((100vw - 1100px)/2));padding-right:max(28px,calc((100vw - 1100px)/2))}.player{padding-top:24px;padding-bottom:18px}.player-stats{margin-top:16px}}@media(max-width:600px){.appbar{padding:12px 12px;gap:4px}.app-title{font-size:21px}.app-title span{font-size:9px}.toolbar{gap:0}.icon-button{font-size:24px;padding:5px 8px;min-width:42px}main{padding:10px 10px 24px}.board-strip{grid-template-columns:1fr auto;gap:8px;padding:12px}.board-caption{display:none}.board-slots{width:250px;max-width:100%;gap:4px}.board-strip .playing-card{width:46px;height:66px}.board-strip .card-rank{font-size:20px}.board-strip .card-suit{font-size:26px}.board-tools .text-button{font-size:12px}.slot-label{font-size:11px}.player{padding:18px 8px 10px}.player h2{font-size:24px}.range-side{left:2px;top:66px;min-width:65px;min-height:43px;font-size:14px;padding:8px}.player-stats span{font-size:19px}.player-stats strong{font-size:23px}.player-entry{font-size:12px}.status-strip{padding-top:12px}.result-note{padding:16px 4px}dialog{padding:16px}.matrix{gap:2px}.matrix button{font-size:11px;padding:8px 0}.board-picker-header .board-slots{width:290px}.board-picker-header .playing-card{width:50px;height:72px}.card-keypad{grid-template-rows:repeat(4,52px)}.card-keypad button{font-size:25px}.dialog-bottom{bottom:-16px}footer{flex-direction:column;gap:4px}}@media(max-width:360px){.board-strip{grid-template-columns:1fr}.board-tools{flex-direction:row;justify-content:center}.board-slots{width:250px}.app-title{font-size:18px}.player-stats strong{font-size:20px}}
/* Compact working surface: all essential data stays on the player rows. */
.appbar{position:static;padding:6px 16px;min-height:48px}.app-title{font-size:18px;letter-spacing:-.04em}.toolbar{gap:2px}.icon-button{min-height:38px;min-width:40px;font-size:23px;padding:4px 8px}main{max-width:1000px;padding:8px 12px 12px}.board-strip{padding:8px 12px;grid-template-columns:1fr auto 1fr;border-radius:7px}.board-caption{font-size:11px}.board-strip .board-slots{width:235px;gap:4px}.board-strip .playing-card{width:42px;height:55px;padding:3px}.board-strip .card-rank{font-size:18px}.board-strip .card-suit{font-size:24px}.board-strip .card-back span{font-size:8px}.board-strip .card-back b{font-size:18px}.board-strip .slot-label{font-size:10px}.board-text,.player-entry{display:none}.board-tools{gap:0}.status-strip{padding:5px 2px;min-height:29px;font-size:12px}.status-strip select{padding:3px 6px;font-size:12px;max-width:142px}.player{display:grid;grid-template-columns:46px 68px minmax(0,1fr);grid-template-rows:26px 24px;column-gap:10px;align-items:center;padding:6px 24px 6px 4px;text-align:center;min-height:64px}.player h2{grid-column:1;grid-row:1;font-size:15px;margin:0;line-height:1}.range-side{position:static;grid-column:1;grid-row:2;font-size:12px;min-width:0;min-height:24px;width:46px;padding:2px;border-width:1px}.player .hole-cards{grid-column:2;grid-row:1/3;gap:4px;min-height:0}.player .playing-card{width:32px;height:46px;padding:3px;border-width:1px}.player .card-rank{font-size:16px}.player .card-suit{font-size:20px}.player .card-back span{font-size:7px}.player .card-back b{font-size:16px}.player-stats{grid-column:3;grid-row:1/3;gap:6px;margin:0}.player-stats div{gap:1px}.player-stats span{font-size:12px;color:var(--muted)}.player-stats strong{font-size:18px;font-weight:600;line-height:1.3}.hand-note{display:none}.remove-player{font-size:22px;top:17px;right:0;padding:4px;line-height:1}.result-note{padding:4px 0;font-size:12px;min-height:20px}.result-note:empty,#error:empty{display:none}.result-note p{margin:0}.result-note progress{height:5px}#error{margin:4px 0;font-size:13px}.hole-actions{flex-wrap:wrap;gap:6px}.hole-actions button{font-size:13px;padding:9px 10px}#manual-dialog label{font-size:14px;display:block;margin-bottom:8px}#manual-error{color:#ffa7ba;font-size:14px}#manual-apply{float:right}.range-gauge{padding:10px;margin-top:8px}.range-gauge .hint{margin:6px 0;font-size:12px}.gauge-heading{margin-bottom:6px}.presets{margin-top:8px}.matrix{margin:10px 0}.section-title{margin-bottom:10px}
@media(min-width:600px){#player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.player{min-height:76px;padding-top:12px;padding-bottom:12px}.player-stats strong{font-size:19px}.remove-player{top:24px}.board-strip{padding:9px 16px}.appbar{padding:6px max(16px,calc((100vw - 1000px)/2))}}
@media(min-width:1050px){#player-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 12px}.player{grid-template-columns:42px 60px minmax(0,1fr);column-gap:6px;padding-right:18px}.player .playing-card{width:28px;height:43px}.player .hole-cards{gap:3px}.range-side{width:42px}.player-stats strong{font-size:16px}}
@media(max-width:600px){.appbar{padding:5px 10px}.app-title{font-size:18px}main{padding:6px 10px}.board-strip{grid-template-columns:1fr auto;padding:7px 10px;gap:6px}.board-caption{display:none}.board-strip .board-slots{width:235px;margin:auto}.board-tools .text-button{font-size:12px}.status-strip{padding:4px 0}.player{min-height:60px;padding-top:4px;padding-bottom:4px;column-gap:8px}.player-stats strong{font-size:16px}.remove-player{top:15px}.result-note{padding:4px 0}}@media(max-width:360px){.board-strip{grid-template-columns:1fr auto}.board-strip .board-slots{width:210px}.board-strip .playing-card{width:38px;height:52px}.player{grid-template-columns:40px 62px minmax(0,1fr);column-gap:5px;padding-right:18px}.range-side{width:40px}.player .playing-card{width:29px}.player-stats{gap:3px}.player-stats strong{font-size:14px}.player-stats span{font-size:12px}}

@media(max-width:599px){.dense-grid .player{min-height:52px;grid-template-rows:23px 21px;padding-top:3px;padding-bottom:3px}.dense-grid .player .playing-card{height:42px}.dense-grid .remove-player{top:12px}}
/* Readability-first layout: large cards, high contrast, comfortably sized controls. */
:root{--muted:#e0dfef;--line:#77768d}body{font-size:18px}.appbar{padding:10px 16px;min-height:64px}.app-title{font-size:23px;font-weight:750}.icon-button{min-width:48px;min-height:48px;font-size:27px}.play-button{font-size:19px;white-space:nowrap;background:#ded9ff;color:#201d3b;padding:9px 14px;border-radius:8px}.toolbar{gap:6px}main{max-width:1050px;padding:12px 16px}.board-strip{padding:14px;grid-template-columns:minmax(0,1fr) auto;gap:12px}.board-caption{display:none}.board-strip .board-slots{width:350px;max-width:100%;gap:8px}.board-strip .playing-card,.playing-card,.board-picker-header .playing-card{width:62px;height:86px;padding:6px;border:2px solid #fff}.board-strip .card-rank,.card-rank{font-size:29px}.board-strip .card-suit,.card-suit{font-size:35px}.card-back{background:#484776}.card-back span,.board-strip .card-back span{font-size:12px}.card-back b,.board-strip .card-back b{font-size:30px}.red{color:#ab1234}.board-strip .slot-label,.slot-label{font-size:15px;color:#e8e6f4}.board-tools .text-button{font-size:16px;min-height:44px;padding:6px}.status-strip{padding:10px 2px;min-height:48px;font-size:16px;gap:10px}.status-strip select{font-size:17px;min-height:44px;max-width:115px;padding:8px 10px;border-color:#9794ac}#player-list{display:grid;grid-template-columns:1fr;gap:0}.player,.dense-grid .player{grid-template-columns:70px minmax(0,1fr) 80px;grid-template-rows:auto auto;column-gap:12px;row-gap:12px;padding:14px 12px;min-height:0}.player h2{grid-column:1;grid-row:1;font-size:23px;align-self:center}.player .hole-cards{grid-column:2;grid-row:1;gap:8px;min-height:86px}.player .playing-card,.dense-grid .player .playing-card{width:62px;height:86px;padding:6px;border-width:2px}.player .card-rank{font-size:29px}.player .card-suit{font-size:35px}.player .card-back span{font-size:12px}.player .card-back b{font-size:30px}.range-side{grid-column:3;grid-row:1;width:80px;min-height:48px;font-size:17px;padding:8px;border-width:2px;color:#fff;align-self:end}.player-stats{grid-column:1/-1;grid-row:2;gap:12px;margin:0}.player-stats span{font-size:18px;color:#e8e6f4}.player-stats strong{font-size:30px;line-height:1.3;color:#fff}.player-stats .equity-value{color:#e2d3ff;font-size:32px}.remove-player,.dense-grid .remove-player{top:8px;right:12px;font-size:27px;min-height:40px;min-width:40px;color:#eee}.result-note{font-size:15px;color:#eeecf6;padding:10px 0}.result-note p{line-height:1.5}#error{font-size:17px}dialog{width:min(730px,96vw);padding:20px}.section-title h2{font-size:23px}.outline,.primary,.text-button{font-size:17px;min-height:44px}.hint,.range-gauge .hint{font-size:15px;color:#e4e2f0}.gauge-heading label{font-size:17px}.gauge-heading select{font-size:17px;min-height:44px}.gauge-heading output{font-size:26px}.gauge-scale{font-size:14px}.range-gauge input[type=range]{height:44px}.matrix{grid-template-columns:repeat(13,minmax(36px,1fr));overflow-x:auto;padding-bottom:8px;gap:3px}.matrix button{font-size:14px;padding:10px 0;min-height:42px}.presets button{font-size:16px;min-height:44px}.dialog-bottom{font-size:17px}.board-picker-actions .outline,.board-picker-footer .hint{font-size:16px}.board-picker-header .board-slots{width:350px;max-width:100%}.card-keypad{max-width:420px;grid-template-rows:repeat(4,64px);gap:8px}.card-keypad button{font-size:33px}.card-keypad .suit-key{font-size:41px}.keypad-hint{font-size:16px}.hole-actions button{font-size:17px;min-height:48px}.hole-actions{gap:8px}.board-picker-status{font-size:16px}input,select,#manual-input{font-size:20px}#manual-dialog label{font-size:17px}.board-picker-footer{flex-wrap:wrap}.appbar .icon-button:disabled{opacity:.55}
@media(min-width:800px){#player-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}.appbar{padding:10px max(16px,calc((100vw - 1050px)/2))}.board-strip .board-slots{width:350px}.player,.dense-grid .player{padding:18px 12px}.remove-player,.dense-grid .remove-player{top:10px}}
@media(max-width:600px){.appbar{padding:8px 10px;gap:8px}.app-title{font-size:20px}.toolbar{gap:2px}.icon-button{min-width:42px;padding:8px}.play-button{font-size:17px}main{padding:8px 10px}.board-strip{grid-template-columns:1fr;padding:12px 8px;gap:4px}.board-strip .board-slots{width:310px;gap:5px}.board-strip .playing-card{width:54px;height:76px;padding:5px}.board-strip .card-rank{font-size:27px}.board-strip .card-suit{font-size:32px}.board-tools{position:absolute;right:10px;bottom:4px}.board-tools .text-button{font-size:14px;min-height:30px}.board-strip{padding-bottom:36px}.board-strip .slot-label{font-size:14px}.status-strip{font-size:14px;min-height:44px;padding:6px 0}.player,.dense-grid .player{grid-template-columns:48px minmax(0,1fr) 70px;column-gap:8px;row-gap:10px;padding:12px 6px}.player h2{font-size:21px}.range-side{width:70px;font-size:16px}.player-stats span{font-size:17px}.player-stats strong{font-size:27px}.player-stats .equity-value{font-size:29px}.remove-player,.dense-grid .remove-player{right:4px;top:0}.board-picker-header .board-slots{width:300px;gap:5px}.board-picker-header .playing-card{width:52px;height:74px}.board-picker-header .card-rank{font-size:26px}.board-picker-header .card-suit{font-size:31px}dialog{padding:16px}.matrix button{font-size:14px}.card-keypad{grid-template-rows:repeat(4,58px);gap:6px;padding:8px}.card-keypad button{font-size:30px}.card-keypad .suit-key{font-size:37px}.keypad-hint{font-size:15px}.section-title h2{font-size:21px}.hole-actions button{font-size:16px}.result-note{font-size:14px}}@media(max-width:360px){.app-title{font-size:18px}.play-button{font-size:16px;padding:8px}.board-strip .board-slots{width:275px}.board-strip .playing-card{width:48px;height:70px}.player-stats strong{font-size:25px}.player-stats .equity-value{font-size:27px}.player .playing-card{width:56px;height:80px}.player .hole-cards{gap:6px;min-height:80px}}
.name-button{background:transparent;border:1px solid #9892b4;border-radius:7px;color:#fff;font-size:19px;font-weight:700;line-height:1.35;padding:7px 5px;min-height:44px;max-width:100%;overflow-wrap:anywhere;white-space:normal}.player h2{min-width:0;width:100%}.app-title{line-height:1.3}.status-strip{justify-content:flex-start;min-height:30px;padding:5px 2px}#name-form label{display:block;margin:10px 0;font-size:18px}#name-form .primary{display:block;margin-left:auto;min-height:48px}#name-input{font-size:22px}.range-gauge{padding-bottom:12px}@media(max-width:600px){.player,.dense-grid .player{grid-template-columns:68px minmax(0,1fr) 70px;column-gap:6px}.name-button{font-size:17px}.app-title{font-size:19px}.status-strip{font-size:15px}}@media(max-width:360px){.player,.dense-grid .player{grid-template-columns:58px minmax(0,1fr) 62px}.range-side{width:62px}.name-button{font-size:16px}.app-title{font-size:17px}}
/* Fit the complete 13 × 13 range selector inside the current viewport. */
#range-dialog{box-sizing:border-box;width:min(760px,calc(100vw - 12px));height:min(900px,calc(100vh - 16px));height:min(900px,calc(100dvh - 16px));max-width:none;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:10px;margin:auto;overflow:auto}
#range-dialog[open]{display:flex;flex-direction:column;gap:8px}
#range-dialog>.section-title{flex:none;margin:0;min-height:34px;gap:8px}
#range-dialog>.section-title h2{font-size:18px;line-height:1.3}
#range-dialog #close-dialog{min-height:34px;padding:5px 10px;font-size:15px}
#range-dialog .range-gauge{flex:none;margin:0;padding:7px 9px;display:grid;gap:3px}
#range-dialog .gauge-heading{margin:0;gap:8px;min-height:25px}
#range-dialog .gauge-heading label{font-size:15px;line-height:1.2}
#range-dialog .gauge-heading select{font-size:15px;min-height:34px;padding:4px 7px;max-width:65%}
#range-dialog .gauge-heading output{font-size:22px;line-height:1.2}
#range-dialog #range-percent{height:30px;min-height:30px;margin:0;padding:0}
#range-dialog .presets{flex:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:0}
#range-dialog .presets button{font-size:clamp(12px,3.3vw,16px);line-height:1.2;min-height:34px;padding:5px 2px;white-space:nowrap}
#range-dialog #matrix{flex:1 1 0;min-height:0;min-width:0;width:100%;display:grid;grid-template-columns:repeat(13,minmax(0,1fr));grid-template-rows:repeat(13,minmax(0,1fr));gap:3px;margin:0;padding:0;overflow:visible}
#range-dialog #matrix button{min-width:0;min-height:0;max-width:100%;height:100%;padding:0;border-width:1px;border-radius:3px;font-size:clamp(12px,2.7vw,17px);line-height:1;font-weight:700;letter-spacing:-.025em;white-space:nowrap}
#range-dialog .dialog-bottom{position:static;flex:none;min-height:44px;margin:0;padding:6px 0 0;gap:6px;font-size:15px;line-height:1.3}
#range-dialog #apply-range{font-size:17px;min-height:42px;padding:7px 12px}
@media(max-width:380px){#range-dialog{padding:8px}#range-dialog[open]{gap:6px}#range-dialog #matrix{gap:2px}#range-dialog .gauge-heading label{font-size:14px}#range-dialog .gauge-heading select{font-size:14px}#range-dialog .dialog-bottom{font-size:14px}}
@media(max-height:500px) and (min-width:600px){#range-dialog[open]{display:grid;grid-template-columns:180px minmax(0,1fr);grid-template-rows:auto auto 1fr auto;column-gap:12px;row-gap:8px}#range-dialog>.section-title{grid-column:1;grid-row:1}#range-dialog>.section-title h2{font-size:16px}#range-dialog .range-gauge{grid-column:1;grid-row:2;padding:6px}#range-dialog .gauge-heading{flex-wrap:wrap}#range-dialog .gauge-heading select{max-width:100%;width:100%}#range-dialog .presets{grid-column:1;grid-row:3;align-self:start;grid-template-columns:1fr 1fr}#range-dialog #matrix{grid-column:2;grid-row:1/5;height:100%;gap:2px}#range-dialog #matrix button{font-size:12px}#range-dialog .dialog-bottom{grid-column:1;grid-row:4;flex-direction:column;align-items:stretch;min-height:0}#range-dialog #apply-range{min-height:36px;font-size:15px}}
/* GOODFOLD: the supplied mascot, dark felt and warm gold. */
:root{--bg:#111117;--panel:#1e1b26;--line:#60543b;--text:#fffaf0;--muted:#d8d3c9;--mint:#f4cf80;--blue:#c4c8ed}body{background:radial-gradient(ellipse at 12% 0,#382742 0,transparent 48%),linear-gradient(160deg,#191720,#0d0e13 72%);color:var(--text)}.appbar{background:linear-gradient(100deg,#211a26,#14141b);border-bottom:1px solid #cba25d77;gap:16px;padding-top:12px;padding-bottom:12px}.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0}.mascot-frame{flex:none;width:88px;height:88px;overflow:hidden;border:2px solid #ebc47a;border-radius:16px;background:#15121a;box-shadow:0 0 20px #bd843b28}.mascot-frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:scale(1.65);transform-origin:50% 40%}.brand-copy h1{font-size:28px;font-weight:850;line-height:1.15;letter-spacing:-.04em;margin:0;color:#ffe5ad}.brand-copy h1 span{display:block;font-size:19px;font-weight:650;letter-spacing:-.02em;margin-top:5px;color:#fffaf2}.brand-copy p{margin:7px 0 0;font-size:14px;font-weight:600;color:#e9c783}.play-button,.primary{background:linear-gradient(#ffe7b2,#eac06f);border:1px solid #ffe8b8;color:#261b0c;box-shadow:0 2px 8px #0005}.play-button:focus-visible,.primary:focus-visible{outline-color:#fff0ce}.icon-button:not(.play-button){color:#f2d39c}.board-strip{background:linear-gradient(135deg,#211d2b,#171820);border:1px solid #8c734b;border-radius:12px;box-shadow:0 4px 20px #0003}.player{border-bottom-color:#99845b66}.name-button{border-color:#8d7851;background:#211d29;color:#fff3d9}.range-side{border-color:#b4955b;color:#f4d595;background:#25202b}.player-stats span{color:#ded8ce}.player-stats strong{color:#fffaf2}.player-stats .equity-value{color:#ffdc8c}.remove-player,.dense-grid .remove-player{color:#e4d0b0}.status-strip,.result-note,.hint{color:#d8d1c7}.card-back{background:linear-gradient(135deg,#34263d,#171721 65%,#45344b);border-color:#f3d393!important}.card-back span,.player .card-back span,.board-strip .card-back span{color:#fff3d2}.card-back b,.player .card-back b,.board-strip .card-back b{color:#efc674}.active-card{outline-color:#ffd780}.playing-card:focus-visible{outline-color:#ffdf9d}.text-button{color:#e7d5b3}dialog{background:linear-gradient(145deg,#282131,#171820);border-color:#ba975d;color:#fffaf2}dialog::backdrop{background:#08070cce}.outline{border-color:#978365;color:#ffefd0}.range-gauge{background:#181820;border-color:#756144}.gauge-heading output{color:#ffe0a0}.gauge-heading select,input,select{background:#15151f;border-color:#8e7b5b;color:#fff9ec}.presets button{background:#30273c;border-color:#746149;color:#fff3df}.matrix button{background:#302b3c;color:#f8f2e8}.matrix .suited{background:#273e48}.matrix .pair{background:#51405c}.matrix .selected{background:#f1ce89;border-color:#ffefc9;color:#20170b}.range-gauge input[type=range],progress{accent-color:#f1c779}.dialog-bottom,.board-picker-footer{background:#1c1924;border-color:#766044}.card-keypad{background:#211d2b;border-color:#8d7350}.card-keypad button{background:linear-gradient(#55475e,#362d42);border-color:#82728a;border-bottom-color:#17131d;color:#fff7e8}.card-keypad .key-selected{background:#ecc878;color:#24190a;border-color:#ffebbf}.card-keypad .red{color:#ffc4cc}.keypad-hint{color:#ebdbbe}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-color:#ffdda0}#range-dialog .dialog-bottom{border-top-color:#806841}#name-form .hint{color:#d8d1c7}
@media(max-width:600px){.appbar{gap:8px;padding:10px}.brand-lockup{gap:9px}.mascot-frame{width:66px;height:76px;border-radius:12px}.brand-copy h1{font-size:23px}.brand-copy h1 span{font-size:16px;white-space:nowrap}.brand-copy p{font-size:12px;margin-top:6px}.toolbar{gap:0}.play-button{font-size:16px;padding:8px 10px}.icon-button{min-width:38px}.brand-copy{min-width:0}}
@media(max-width:360px){.mascot-frame{width:52px;height:68px}.brand-lockup{gap:7px}.brand-copy h1{font-size:20px}.brand-copy h1 span{font-size:14px}.brand-copy p{font-size:12px}.play-button{font-size:15px;padding:7px}.appbar{gap:4px}}
.status-strip{justify-content:space-between;gap:10px}
/* Device-local header personalization. */
button.mascot-frame{position:relative;padding:0;cursor:pointer}.mascot-frame img.user-photo{transform:none;object-fit:cover;object-position:center}.brand-copy{flex:1;min-width:0}#edit-brand{position:relative;display:block;width:100%;padding:0 18px 0 0;border:0;background:transparent;text-align:left;color:inherit;font:inherit;line-height:inherit;overflow-wrap:anywhere}#edit-brand #brand-name{display:block;font:inherit;white-space:normal;margin:0;color:#ffe5ad}#edit-brand #brand-subtitle{white-space:normal;overflow-wrap:anywhere}#edit-brand small{position:absolute;right:0;top:3px;font-size:15px;color:#e9c783}#poker-quote{font-size:14px;line-height:1.4;min-height:2.8em;max-width:29em;margin-bottom:0;overflow-wrap:anywhere}.toolbar{flex-shrink:0}#brand-dialog{width:calc(100% - 24px);max-width:480px;max-height:90dvh;overflow:auto}#brand-form>label{display:block;font-size:17px;margin:12px 0 6px}#brand-form>input{width:100%;font-size:19px}#brand-preview{width:80px;height:80px;object-fit:cover;border:1px solid #cba25d;border-radius:10px}.brand-photo-row{display:flex;align-items:center;gap:12px}.brand-photo-row input{width:100%;min-width:0;font-size:15px}#brand-error{font-size:16px;color:#ffd39b}.brand-actions{display:flex;gap:12px;justify-content:flex-end}.brand-actions button{font-size:18px;min-height:48px}@media(max-width:600px){.brand-lockup{flex:1}#poker-quote{font-size:14px}.appbar{align-items:center}}@media(max-width:380px){.appbar{flex-wrap:wrap}.brand-lockup{flex-basis:100%}.toolbar{margin-left:auto}#poker-quote{min-height:1.4em}}

/* Keep the edit affordance beside the editable name, including long names. */
#edit-brand{padding-right:0}#edit-brand .brand-name-line{display:flex;align-items:center;gap:7px;max-width:100%}#edit-brand #brand-name{display:block;min-width:0;overflow-wrap:anywhere}#edit-brand .brand-name-line small{position:static;display:inline-block;flex:0 0 auto;font-size:19px;line-height:1;color:#e9c783}


/* Show a selected range across subdued hole-card backs. */
.player .hole-cards.has-range{width:100%;min-width:0}
.range-preview-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;padding:0;border:0;background:transparent;border-radius:6px;isolation:isolate}
.range-preview-backs{display:flex;justify-content:center;gap:8px;opacity:.3;pointer-events:none}
.range-preview-backs .playing-card{flex-shrink:0}
.range-preview-text{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:1;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:22px;font-weight:750;line-height:1.5;text-align:center;text-shadow:0 2px 5px #000,0 0 12px #17141e}
#range-dialog .dialog-bottom{flex-wrap:wrap;gap:10px}
#range-count{flex:1 0 100%}
#range-hole{margin-right:auto}
@media(max-width:600px){.range-preview-text{font-size:20px}}
@media(max-width:360px){.range-preview-backs{gap:6px}.range-preview-text{font-size:18px}}

.status-strip:has(#mode:empty){display:none}
