:root{--bg: #efefef;--panel: #ffffff;--panel-sunken: #fafafa;--line: #c9c9c9;--line-soft: #e6e6e6;--ink: #202020;--ink-soft: #4f4f4f;--ink-faint: #8c8c8c;--made: #1e88e5;--draw: #43a047;--combination: #d61ad6;--select: #ffc93c;--select-edge: #dda600;--lit: #8b5cc7;--cut-edge: #15202b;--group-0: #c9c9c9;--group-1: #2f7ed8;--group-2: #3f9e57;--group-3: #d9534f;--group-4: #9b59b6;--group-5: #d6a24a;--group-6: #2aa7b5;--group-7: #8ba43b;--accent: #1e88e5;--go: #3cb54a;--go-edge: #2f9c3c;--warn: #d32f2f;--seat-0: #1e88e5;--seat-1: #d9534f;--seat-2: #2e9e5b;--seat-3: #9b59b6;--seat-4: #d6a24a;--seat-5: #2aa7b5;--suit-h-bg: #ffdcdc;--suit-h-fg: #d32f2f;--suit-c-bg: #d9f0d9;--suit-c-fg: #2e7d32;--suit-d-bg: #d9e6fb;--suit-d-fg: #1565c0;--suit-s-bg: #e6e6e6;--suit-s-fg: #37474f;--suit-h-solid: #e53935;--suit-c-solid: #43a047;--suit-d-solid: #1e88e5;--suit-s-solid: #546e7a;--btn: #f6f6f6;--btn-hover: #ffffff;--btn-on: #dbeafe;--chip: #eef4fb;--chip-edge: #b9d3ee;--track: #ececec;--row-hover: #e8f1fb;--mark-off: #c4c4c4;--badge: rgba(255, 255, 255, .86);--slot-a: #f2f2f2;--slot-b: #e9e9e9;--toast: #3b2320;--toast-ink: #ffe9e6;--cell-empty: #fbfbfb;--cell-filtered: #dcdcdc;--paint-pair: #96bbdb;--paint-suited: #dcc47a;--paint-offsuit: #dc9f8b;--cell-edge: #dcdcdc;--cell-edge-on: rgba(0, 0, 0, .22);--cell-ink: #8f8f8f;--cell-ink-on: #303030;--bad: #d64b3c;--good: #3f9e57;font-family:Segoe UI,Tahoma,DejaVu Sans,system-ui,sans-serif;font-size:12px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #15171a;--panel: #1d2024;--panel-sunken: #191c20;--line: #3a3f46;--line-soft: #2b2f35;--ink: #e4e6ea;--ink-soft: #b2b7bf;--ink-faint: #838a94;--made: #4f9be8;--draw: #57b26b;--combination: #cf5fcf;--select: #e0af34;--select-edge: #b98c13;--lit: #a074d8;--cut-edge: #eef3f8;--group-0: #444a52;--group-1: #4f97e8;--group-2: #4bb06b;--group-3: #e2695f;--group-4: #b06fcc;--group-5: #e0b45f;--group-6: #3cc0cf;--group-7: #a3bd4d;--accent: #4f9be8;--seat-0: #4f9be8;--seat-1: #e1685c;--seat-2: #45a86b;--seat-3: #a96fc4;--seat-4: #d6a24a;--seat-5: #3fb3bf;--go: #2f8f3c;--go-edge: #256f2f;--warn: #e1685c;--suit-h-bg: #46262a;--suit-h-fg: #f0908c;--suit-c-bg: #26402c;--suit-c-fg: #7cc98a;--suit-d-bg: #23364d;--suit-d-fg: #7fb3e8;--suit-s-bg: #33383f;--suit-s-fg: #c2cad3;--suit-h-solid: #a8362f;--suit-c-solid: #2d6f39;--suit-d-solid: #2a63a8;--suit-s-solid: #4a545e;--btn: #262a30;--btn-hover: #2f343b;--btn-on: #23405e;--chip: #22303f;--chip-edge: #35506b;--track: #2a2e34;--row-hover: #23303e;--mark-off: #545a63;--badge: rgba(20, 22, 26, .82);--slot-a: #22262b;--slot-b: #1c2024;--toast: #4a2a26;--toast-ink: #ffe3df;--cell-empty: #191c20;--cell-filtered: #363b42;--paint-pair: #3f6c92;--paint-suited: #957d41;--paint-offsuit: #99604f;--cell-edge: #363b42;--cell-edge-on: rgba(0, 0, 0, .4);--cell-ink: #767d87;--cell-ink-on: #eef1f5;--bad: #c9503f;--good: #45a05c}}:root[data-theme=dark]{--bg: #15171a;--panel: #1d2024;--panel-sunken: #191c20;--line: #3a3f46;--line-soft: #2b2f35;--ink: #e4e6ea;--ink-soft: #b2b7bf;--ink-faint: #838a94;--made: #4f9be8;--draw: #57b26b;--combination: #cf5fcf;--select: #e0af34;--select-edge: #b98c13;--lit: #a074d8;--cut-edge: #eef3f8;--group-0: #444a52;--group-1: #4f97e8;--group-2: #4bb06b;--group-3: #e2695f;--group-4: #b06fcc;--group-5: #e0b45f;--group-6: #3cc0cf;--group-7: #a3bd4d;--accent: #4f9be8;--seat-0: #4f9be8;--seat-1: #e1685c;--seat-2: #45a86b;--seat-3: #a96fc4;--seat-4: #d6a24a;--seat-5: #3fb3bf;--go: #2f8f3c;--go-edge: #256f2f;--warn: #e1685c;--suit-h-bg: #46262a;--suit-h-fg: #f0908c;--suit-c-bg: #26402c;--suit-c-fg: #7cc98a;--suit-d-bg: #23364d;--suit-d-fg: #7fb3e8;--suit-s-bg: #33383f;--suit-s-fg: #c2cad3;--suit-h-solid: #a8362f;--suit-c-solid: #2d6f39;--suit-d-solid: #2a63a8;--suit-s-solid: #4a545e;--btn: #262a30;--btn-hover: #2f343b;--btn-on: #23405e;--chip: #22303f;--chip-edge: #35506b;--track: #2a2e34;--row-hover: #23303e;--mark-off: #545a63;--badge: rgba(20, 22, 26, .82);--slot-a: #22262b;--slot-b: #1c2024;--toast: #4a2a26;--toast-ink: #ffe3df;--cell-empty: #191c20;--cell-filtered: #363b42;--paint-pair: #3f6c92;--paint-suited: #957d41;--paint-offsuit: #99604f;--cell-edge: #363b42;--cell-edge-on: rgba(0, 0, 0, .4);--cell-ink: #767d87;--cell-ink-on: #eef1f5;--bad: #c9503f;--good: #45a05c}:root{color-scheme:light dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}.loading,.fatal{padding:40px;font-size:14px}.fatal{color:var(--warn)}.app{display:flex;flex-direction:column;min-height:100vh;gap:6px}.menubar{display:flex;align-items:center;gap:8px;padding:5px 10px;background:var(--panel);border-bottom:1px solid var(--line)}.brand-logo{display:block;width:24px;height:24px;image-rendering:auto}.brand{font-weight:700;font-size:14px}.source-link{display:inline-flex;align-items:center;gap:4px;text-decoration:none;line-height:1.5}.source-link svg{display:block}.tagline{color:var(--ink-faint)}.spacer{flex:1}.check{display:inline-flex;align-items:center;gap:4px;color:var(--ink-soft);user-select:none}.panel{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:5px 7px 7px}.panel-head{display:flex;align-items:center;gap:6px;margin-bottom:6px}.panel-title{margin:0;font-size:12px;font-weight:700;flex:1}.sub-title{margin:8px 0 3px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint)}.btn{font:inherit;padding:2px 8px;background:var(--btn);border:1px solid var(--line);border-radius:3px;color:var(--ink);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--btn-hover);border-color:var(--accent)}.btn:disabled{color:var(--ink-faint);cursor:default;opacity:.55}.btn.active{background:var(--btn-on);border-color:var(--accent);font-weight:700}.btn.quick,.filter-toggle{background:var(--go);border-color:var(--go-edge);color:#fff;font-weight:600}.btn.quick:hover:not(:disabled),.filter-toggle:hover:not(:disabled){background:#45c455;border-color:var(--go-edge)}.filter-toggle.active{background:var(--accent);border-color:#1565c0}.icon-btn{padding:2px 6px;color:var(--warn)}.btn:focus-visible,.stat-row:focus-visible,.cell:focus-visible,.card-cell:focus-visible,.seat:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.select,.percent,.notation{font:inherit;padding:2px 4px;background:var(--panel-sunken);border:1px solid var(--line);border-radius:3px;color:var(--ink)}.row{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.field-label{color:var(--ink-soft)}.hint{margin:2px 0;color:var(--ink-faint);font-size:11px}.num{font-variant-numeric:tabular-nums}.strong{font-weight:700}.topstrip{display:flex;align-items:stretch;gap:6px;padding:0 8px;flex-wrap:wrap}.seats{display:flex;gap:4px}.seat{position:relative;padding:3px 3px 6px;background:var(--panel);border:1px solid var(--line);border-radius:4px;cursor:pointer}.panel-range.dealt-hand .sliders,.panel-range.dealt-hand .quick-row,.panel-range.dealt-hand .libraries,.panel-range.dealt-hand .notation,.panel-range.dealt-hand .edit-strip{display:none}.panel-range.dealt-hand .matrix,.panel-range.dealt-hand .weight-column{pointer-events:none}.panel-range.dealt-hand .weight-column{opacity:.4}.seat.is-hand{border-style:dashed;border-color:var(--ink-soft);background:var(--panel-sunken)}.seat.is-hand .seat-badge{font-weight:700}.dead-panel.dealing .card-grid{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.deal-hand.active{background:var(--accent);border-color:var(--accent);color:#fff}.card-cell.picking{outline:2px solid var(--accent);outline-offset:-2px}.card-cell.dealt{text-decoration:line-through}.seat.active{border-color:var(--go);box-shadow:0 0 0 1px var(--go)}.thumb-matrix{display:grid;grid-template-columns:repeat(13,5px);gap:1px}.thumb-matrix i{width:5px;height:5px;background:var(--track);border-radius:1px}.thumb-matrix i.on{background:color-mix(in srgb,var(--select) calc(var(--weight) * 100%),#ededed)}.seat-badge{position:absolute;top:2px;right:2px;padding:0 3px;background:var(--badge);border:1px solid var(--line-soft);border-radius:2px;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums}.seat-badge.muted-badge{font-weight:400;color:var(--ink-faint)}.seat-bar{position:absolute;left:3px;right:3px;bottom:2px;height:3px;border-radius:2px;background:var(--seat, var(--accent))}.seat-drop{position:absolute;top:1px;right:1px;width:14px;height:14px;padding:0;border:none;border-radius:3px;background:none;font:inherit;font-size:10px;line-height:1;color:var(--ink-faint);cursor:pointer;opacity:0;transition:opacity 90ms ease-out}.seat-drop[hidden]{display:none}.seat:hover .seat-drop,.seat-drop:focus-visible{opacity:1}.seat-drop:hover{background:var(--warn);color:#fff}.seat-add{flex:none;width:30px;display:flex;align-items:center;justify-content:center;padding:0;border:1px dashed var(--line);border-radius:4px;background:none;font:inherit;font-size:18px;font-weight:700;color:var(--ink-soft);cursor:pointer}.seat-add:hover{border-color:var(--accent);color:var(--accent)}.equity-line.equity-seat span:first-child:before{content:"";display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--seat)}.dead-panel{flex:1 1 420px;min-width:320px}.equity-panel{flex:0 0 200px;display:flex;flex-direction:column;justify-content:center}.equity-who{margin:0 0 4px;font-weight:700}.equity-line{display:flex;justify-content:space-between;margin:0;color:var(--ink-soft)}.equity-line.strong{color:var(--ink);font-weight:700;font-size:13px}.card-grid{display:grid;gap:2px}.dead-grid{grid-template-columns:repeat(13,minmax(0,1fr))}.board-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.card-cell,.board-slot{font:inherit;font-weight:700;border:1px solid transparent;border-radius:3px;cursor:pointer;line-height:1;display:flex;align-items:center;justify-content:center;gap:1px}.card-cell{padding:2px 0;font-size:11px}.card-cell i,.board-slot i{font-style:normal}.suit-h{background:var(--suit-h-bg);color:var(--suit-h-fg)}.suit-c{background:var(--suit-c-bg);color:var(--suit-c-fg)}.suit-d{background:var(--suit-d-bg);color:var(--suit-d-fg)}.suit-s{background:var(--suit-s-bg);color:var(--suit-s-fg)}.card-cell:hover:not(.taken){border-color:currentColor}.card-cell.picked{color:#fff;border-color:#00000040}.card-cell.picked.suit-h{background:var(--suit-h-solid)}.card-cell.picked.suit-c{background:var(--suit-c-solid)}.card-cell.picked.suit-d{background:var(--suit-d-solid)}.card-cell.picked.suit-s{background:var(--suit-s-solid)}.card-cell.taken{opacity:.28;cursor:default}.street-arrow{padding:0 5px}.street-name{text-align:center;text-transform:capitalize}.board-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin-bottom:5px}.board-slot{position:relative;aspect-ratio:3 / 4;font-size:12px;flex-direction:column;gap:0}.board-slot.empty{background:repeating-linear-gradient(45deg,var(--slot-a) 0 4px,var(--slot-b) 4px 8px);border:1px dashed var(--line);cursor:default}.board-slot.hidden-card{opacity:.3}.board-slot[data-street]:after{content:attr(data-street);position:absolute;top:1px;right:3px;font-size:9px;font-weight:400;opacity:.7}.board-actions{margin-top:6px}.board-actions .btn{flex:1;background:var(--go);border-color:var(--go-edge);color:#fff;font-weight:600}.tally{margin:8px 0 0;color:var(--ink-soft);line-height:1.35}.weight-label{font-variant-numeric:tabular-nums}.brushes{display:inline-flex;gap:2px}.brush{padding:1px 4px;font-size:10px}.brush.active{background:var(--select);border-color:var(--select-edge);font-weight:700}.matrix-row{display:flex;align-items:stretch;gap:6px}.weight-column{display:flex;flex-direction:column;align-items:center;gap:4px;width:46px}.weight-value{font-weight:700;color:var(--ink-soft)}.weight-slider{flex:1;width:16px;min-height:120px;writing-mode:vertical-lr;direction:rtl;appearance:slider-vertical;-webkit-appearance:slider-vertical;accent-color:var(--select-edge)}.brushes{display:grid;gap:2px;width:100%}.matrix{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:2px;flex:1;user-select:none;touch-action:none}.cell{--paint: var(--paint-offsuit);position:relative;aspect-ratio:1.1;display:flex;align-items:center;justify-content:center;font:inherit;font-size:clamp(9px,.85vw,12px);font-weight:600;padding:0;border:1px solid var(--cell-edge);border-radius:3px;cursor:crosshair;background:var(--cell-empty);color:var(--cell-ink);overflow:hidden}.cell.pair{--paint: var(--paint-pair)}.cell.suited{--paint: var(--paint-suited)}.cell.offsuit{--paint: var(--paint-offsuit)}.cell.on{background:linear-gradient(to top,var(--paint) 0 var(--fill),var(--cell-empty) var(--fill) 100%);border-color:var(--cell-edge-on);color:var(--cell-ink-on)}.cell.on.filtered{background:linear-gradient(to top,var(--paint) 0 var(--fill),var(--cell-empty) var(--fill) 100%) 0 0 / var(--passing, 0%) 100% no-repeat,linear-gradient(to top,var(--cell-filtered) 0 var(--fill),var(--cell-empty) var(--fill) 100%)}.cell.lit:before{content:"";position:absolute;inset:0 0 auto;height:var(--glow, 0%);min-height:2px;background:var(--lit)}.cell.grouped:after{content:"";position:absolute;inset:auto 0 0;height:4px;background:var(--groups, transparent)}.cell.on.filtered .cell-count{opacity:.7}.cell-label{position:relative;z-index:1}.cell-count{position:absolute;right:2px;bottom:0;z-index:1;font-size:9px;font-weight:700;line-height:1.1;opacity:.7}.cell-suits{position:absolute;top:1px;left:2px;z-index:1;display:flex;line-height:1;pointer-events:none}.cell-suits .pip{font-size:9px;font-style:normal;margin-right:-2px}.cell-suits .pip:last-child{margin-right:0}.shift-hint{position:absolute;top:0;right:2px;z-index:2;font-size:8px;font-style:normal;line-height:1.2;opacity:0;pointer-events:none;transition:opacity 90ms ease-out}.cell:hover .shift-hint,.stat-row:hover .shift-hint,.stat-row.hovered .shift-hint{opacity:.75}.stat-row .shift-hint{top:50%;right:1px;transform:translateY(-50%);font-size:9px}.summary{margin:6px 0 4px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.sliders{display:flex;align-items:center;gap:6px}.slider-track{position:relative;flex:1;height:18px}.slider-track:before{content:"";position:absolute;left:0;right:0;top:6px;height:6px;background:var(--track);border-radius:3px}.slider-span{position:absolute;top:6px;height:6px;background:var(--accent);border-radius:3px}.slider{position:absolute;inset:0;width:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-runnable-track{height:6px;margin-top:6px;background:transparent;border-radius:3px}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:11px;height:11px;margin-top:3.5px;border-radius:50%;border:1px solid #ffffff;background:var(--accent);cursor:grab}.slider-cut::-webkit-slider-thumb{background:var(--warn)}.slider::-moz-range-track{height:6px;background:transparent;border-radius:3px}.slider::-moz-range-thumb{pointer-events:auto;width:11px;height:11px;border-radius:50%;border:1px solid #ffffff;background:var(--accent);cursor:grab}.slider-cut::-moz-range-thumb{background:var(--warn)}.percent{width:58px;text-align:right}.quick-row{margin-top:6px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.quick-row.value-row{margin-top:3px;grid-template-columns:repeat(3,minmax(0,1fr))}.stacks .stack-chip{flex:0 1 auto;min-width:56px}.libraries{display:flex;flex-direction:column;gap:4px}.library-cash{padding-top:4px;border-top:1px solid var(--line-soft)}.library-cash .library-label{color:var(--ink-soft)}.library-cash.open .library-label{color:var(--ink);font-weight:700}.library{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 6px;margin-top:6px}.library-label{font-weight:700;cursor:help}.chips{display:flex;gap:3px;flex-wrap:wrap}.chip{flex:1;min-width:0;padding:2px 4px;font-size:11px}.stack-chip.active{background:var(--accent);border-color:#1565c0;color:#fff;font-weight:700}.seat-chip{background:var(--chip);border-color:var(--chip-edge)}.seat-chip:hover:not(:disabled){background:var(--btn-hover)}.notation{width:100%;margin-top:6px;resize:vertical;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px}.stats-body{background:var(--panel-sunken);border:1px solid var(--line-soft);border-radius:3px;padding:2px 6px 6px}.stat-block+.stat-block{border-top:1px solid var(--line-soft)}.swatch.partial:after{content:attr(data-share);position:absolute;right:-1px;bottom:-3px;font-size:8px;font-weight:700;line-height:1;color:var(--ink-soft)}.swatch{position:relative}.pass-row[hidden]{display:none}.pass-row{margin-top:4px;padding:3px 6px;align-items:center;gap:6px;border-radius:3px;background:var(--panel-sunken)}.pass-label{flex:none;color:var(--mark);font-weight:700;text-transform:none}.pass-slider{position:static;flex:1;min-width:70px;pointer-events:auto}.pass-slider::-webkit-slider-thumb{background:var(--mark)}.pass-slider::-moz-range-thumb{background:var(--mark)}.pass-value{min-width:34px;text-align:right;color:var(--ink-soft)}.stat-versus{padding-left:6px;text-align:right;color:var(--seat, var(--ink-soft));opacity:.85}.stat-versus[hidden]{display:none}.stat-versus.ahead{font-weight:700;opacity:1}.versus-output{margin-left:auto;font-size:11px}.eq-graph .curve.curve-field{stroke:var(--ink-soft);stroke-dasharray:4 3}.eq-key.key-field:before{border-top-color:var(--ink-soft)}.versus-button.active{color:var(--seat);border-color:var(--seat)}.stat-row:has(.stat-versus:not([hidden])){grid-template-columns:34px 104px 1fr 46px}.stat-row{display:grid;grid-template-columns:34px 104px 1fr;align-items:center;gap:5px;position:relative;padding:1px 2px;border-radius:2px;cursor:pointer;background:none;border:none;font:inherit;text-align:left;color:inherit}.stat-row[hidden]{display:none}.stat-row:hover,.stat-row.hovered{background:var(--row-hover)}.filter-marks{display:inline-flex;gap:1px}.filter-mark{width:16px;padding:0;font:inherit;font-size:9px;line-height:14px;text-align:center;background:transparent;border:1px solid transparent;border-radius:2px;color:var(--mark-off);cursor:pointer}.filter-mark:hover{border-color:var(--line)}.filter-mark[hidden]{display:none}.mark-pass.on{background:var(--accent);border-color:var(--accent);color:#fff}.mark-delete.on{background:var(--warn);border-color:var(--warn);color:#fff}.clear-filters{color:var(--warn)}.theme-toggle{min-width:72px}.stats-body.filters-off .filter-mark.on{opacity:.55}.stat-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-row.filter-pass .stat-label{font-weight:700}.stat-row.filter-delete .stat-label{text-decoration:line-through;color:var(--ink-faint)}.bar-track{position:relative;display:block;height:15px;background:var(--track);border-radius:2px;overflow:hidden}.bar{position:absolute;inset:0 auto 0 0;display:block;background:var(--made);transition:width 90ms linear}.block-draw .bar{background:var(--draw)}.block-combination .bar{background:var(--combination)}.palette{gap:2px;margin:4px 0 2px}.palette[hidden]{display:none}.swatch{flex:none;width:18px;height:18px;padding:0;border:1px solid transparent;border-radius:3px;background:none;color:var(--mark, var(--group-0));font-size:12px;line-height:1;cursor:pointer}.swatch.colour-none{color:var(--warn)}.swatch.active{border-color:currentColor;background:var(--panel-sunken)}.palette-action{flex:none;margin-left:4px;padding:0 5px;font-size:11px}.filter-mark{flex:none;width:15px;padding:0;border:none;background:none;color:var(--mark, var(--group-0));font-size:11px;line-height:1.5;text-align:center;cursor:pointer}.filter-mark.mark-check{color:var(--go)}.filter-mark.mark-mixed{width:17px;color:var(--ink);font-size:14px;line-height:1.1}.filter-mark.mark-empty{opacity:.3}.stat-row.editing{outline:1px solid var(--accent);border-radius:3px}.streets{gap:4px;margin-bottom:4px}.streets[hidden]{display:none}.street-filter{flex:1;padding:3px 4px}.street-filter[hidden]{display:none}.lamp{flex:none;width:7px;height:7px;margin-right:5px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 1px #00000040 inset}.lamp.on{background:#6cff8a}.street-filter{display:inline-flex;align-items:center;justify-content:center}.street-filter.active{background:var(--go);border-color:var(--go-edge);color:#fff;font-weight:600}.stat-row.empty .stat-label,.stat-row.empty .stat-value{color:var(--ink-faint)}.stat-row.empty .filter-mark{opacity:.45}.stat-value{position:absolute;left:4px;top:0;line-height:15px;font-weight:700;color:var(--ink-soft);mix-blend-mode:luminosity}.share-row{margin-top:8px;gap:6px}.share-row[hidden]{display:none}.share-slider{position:static;flex:1;min-width:80px;pointer-events:auto}.share-slider::-webkit-slider-runnable-track{background:var(--track)}.share-slider::-moz-range-track{background:var(--track)}.cut-clear{flex:none;padding:1px 6px;font-size:11px}.cut-clear[hidden]{display:none}.share-row.stale-cut .share-value{color:var(--accent)}.share-value{min-width:78px;text-align:right;color:var(--ink-soft);font-weight:600}.stats-footer{margin-top:6px}.filter-toggle{width:100%;padding:5px}.effective{display:flex;flex-direction:column;margin:6px 0 0;font-size:11px;line-height:1.45;color:var(--ink-soft);font-variant-numeric:tabular-nums}.workspace{display:grid;grid-template-columns:var(--w-range, 640px) 7px var(--w-board, 168px) 7px var(--w-stats, 400px) 7px var(--w-output, 420px) 7px;justify-content:start;padding:0 8px 10px;align-items:start}.gutter{align-self:stretch;min-height:60px;cursor:col-resize;border-radius:3px;background:transparent;position:relative}.gutter:after{content:"";position:absolute;top:12px;bottom:12px;left:3px;width:1px;background:var(--line)}.gutter:hover,.gutter:focus-visible{background:color-mix(in srgb,var(--accent) 22%,transparent);outline:none}body.resizing{cursor:col-resize;user-select:none}@media (max-width: 1080px){.workspace{grid-template-columns:minmax(0,1fr)}.gutter{display:none}.matrix-frame{max-width:560px}}@media (max-width: 900px){.menubar{flex-wrap:wrap;gap:5px;padding:5px 8px}.menubar .spacer{flex-basis:100%;height:0}}@media (max-width: 680px){.menubar .tagline{display:none}.matrix-frame{max-width:none}.workspace{padding:0 5px 8px}.dead-panel,.panel-board,.panel-stats,.panel-output{min-width:0}.dead-panel .card-grid,.board-panel .card-grid{overflow-x:auto}.quick-row{grid-template-columns:repeat(3,minmax(0,1fr))}.cell-count{display:none}.cell-suits .pip{font-size:8px}}.toast{position:fixed;left:50%;bottom:16px;transform:translate(-50%);padding:6px 14px;background:var(--toast);color:var(--toast-ink);border-radius:4px;box-shadow:0 4px 14px #0000004d}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.suit-strip[hidden]{display:none}.edit-strip{display:flex;flex-wrap:wrap;align-items:center;gap:3px;margin:4px 0;padding:4px 6px;border:1px solid var(--accent);border-radius:4px;background:var(--panel-sunken);max-height:128px;overflow:auto}.edit-strip[hidden]{display:none}.combo-chip.paint-none{opacity:.55}.combo-chip[data-colour]:not([data-colour=none]){border-color:var(--mark);box-shadow:inset 0 -3px 0 var(--mark)}.suit-strip{display:flex;align-items:center;flex-wrap:wrap;gap:3px;margin-top:5px;padding:4px 5px;background:var(--panel-sunken);border:1px solid var(--line-soft);border-radius:3px}.combo-chip{padding:2px 5px;font-weight:700;background:var(--btn);opacity:.45}.combo-chip.on{opacity:1;border-color:currentColor}.combo-chip i{font-style:normal}.suit-close{margin-left:auto;padding:1px 6px}.cell.open{outline:2px solid var(--accent);outline-offset:-2px}.cell.peeking{outline:1px solid var(--accent);outline-offset:-1px}.matrix-frame{position:relative;display:flex;flex:1;min-width:0}.suit-popup{position:absolute;z-index:20;top:calc(var(--row) * (100% / 13) + 100% / 13);left:calc(var(--col) * (100% / 13));width:148px;padding:5px 6px 6px;background:var(--panel);border:1px solid var(--accent);border-radius:4px;box-shadow:0 6px 18px #00000052;pointer-events:auto}.suit-popup[hidden]{display:none}.suit-popup.to-left{left:auto;right:calc((12 - var(--col)) * (100% / 13))}.suit-popup.to-top{top:auto;bottom:calc((12 - var(--row)) * (100% / 13) + 100% / 13)}.suit-popup.pinned{border-width:2px}.suit-popup-head{display:flex;align-items:baseline;gap:5px;margin-bottom:4px;font-weight:700}.suit-popup-hint{margin-left:auto;font-size:9px;font-style:normal;font-weight:400;color:var(--ink-soft)}.suit-grid{display:grid;grid-template-columns:12px repeat(4,minmax(0,1fr));gap:2px}.suit-grid.one-row{grid-template-columns:repeat(4,minmax(0,1fr))}.suit-head{display:flex;align-items:center;justify-content:center;font-size:10px;line-height:1}.suit-cell{aspect-ratio:1;position:relative;padding:0;border:1px solid var(--cell-edge);border-radius:2px;background:var(--cell-empty);cursor:crosshair;overflow:hidden}.suit-cell.absent{border-color:transparent;background:transparent;cursor:default}.suit-cell.on{background:linear-gradient(to top,var(--paint-pair) 0 var(--fill),var(--cell-empty) var(--fill) 100%);border-color:var(--cell-edge-on)}.suit-cell.on.filtered{background:linear-gradient(to top,var(--paint-pair) 0 var(--fill),var(--cell-empty) var(--fill) 100%) 0 0 / var(--passing, 0%) 100% no-repeat,linear-gradient(to top,var(--cell-filtered) 0 var(--fill),var(--cell-empty) var(--fill) 100%)}.suit-cell.lit:before{content:"";position:absolute;inset:0 0 auto;height:34%;background:var(--lit)}.suit-cell.grouped:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--mark)}.suit-cell.dealt{opacity:.3;cursor:not-allowed;background-image:repeating-linear-gradient(45deg,var(--line-soft) 0 2px,transparent 2px 4px)}.action-label{font-size:10px;text-align:right}.output-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin-bottom:6px}.output-tab{padding:3px 2px;font-size:11px}.output-body{background:var(--panel-sunken);border:1px solid var(--line-soft);border-radius:3px;padding:6px 8px 8px;min-height:120px}.scroll-x{overflow-x:auto}.overlap-table{border-collapse:collapse;font-size:10px}.overlap-table th,.overlap-table td{padding:1px 3px;border:1px solid var(--line-soft)}.overlap-col{height:104px;padding:2px 1px;vertical-align:bottom;font-weight:500;color:var(--ink-soft)}.overlap-col span{display:block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.axes-row{margin-bottom:6px}.axes-row .chip{flex:0 0 auto;padding:2px 8px}.axes-row .chip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.overlap-row{text-align:left;font-weight:500;white-space:nowrap;color:var(--ink-soft)}.overlap-cell{text-align:right;min-width:22px;background:color-mix(in srgb,var(--made) calc(var(--strength) * 72%),transparent);color:var(--ink)}.overlap-cell.diagonal{outline:1px solid var(--accent);outline-offset:-1px}.eq-matrix{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:1px}.eq-cell{position:relative;aspect-ratio:1.1;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:2px;background:var(--cell-empty);border:1px solid var(--cell-edge)}.eq-cell.on{background:color-mix(in srgb,var(--good) calc(var(--equity) * 100%),var(--bad));border-color:var(--cell-edge-on)}.eq-name{font-size:clamp(7px,.62vw,10px);font-weight:600;color:var(--cell-ink)}.eq-cell.on .eq-name{color:#fff}.eq-value{position:absolute;right:1px;bottom:0;font-size:clamp(6px,.52vw,9px);line-height:1.2;color:#fff;opacity:.92}.die{width:11px;height:11px;display:block}.die-body{fill:none;stroke:currentColor;stroke-width:1.4}.die-pip{fill:currentColor}.deal-flop{display:inline-flex;align-items:center;justify-content:center;padding:1px 4px}.board-actions .btn .die{margin-right:5px}.board-actions .btn:last-of-type{display:inline-flex;align-items:center;justify-content:center}.pip{font-style:normal;padding-left:.5px;background:none}.pip.suit-h{color:var(--suit-h-solid)}.pip.suit-d{color:var(--suit-d-solid)}.pip.suit-c{color:var(--suit-c-solid)}.pip.suit-s{color:var(--suit-s-solid)}.eq-graph{display:block;width:100%;height:150px;background:var(--panel);border:1px solid var(--line-soft);border-radius:3px}.eq-graph .grid{stroke:var(--line-soft);stroke-width:.4}.eq-graph .grid.mid{stroke:var(--line);stroke-dasharray:2 2}.eq-graph .cursor{stroke:var(--ink-faint);stroke-width:.5;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.pie{display:block;width:100%;max-width:220px;margin:8px auto 12px}.pie .slice{stroke:var(--panel);stroke-width:.012}.slice,.pie-key{color:var(--mark);fill:var(--mark)}.pie-legend{display:flex;flex-direction:column;gap:2px}.pie-key{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums}.pie-key:before{content:"";width:10px;height:10px;border-radius:2px;background:currentColor}.pie-name{flex:1;color:var(--ink-soft)}.pie-key .num{color:var(--ink);font-weight:600}.overlap-cell.actionable{cursor:pointer}.overlap-cell.actionable:hover{outline:2px solid var(--cut-edge);outline-offset:-2px}.sheet-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;background:#00000073}.sheet-backdrop[hidden]{display:none}.sheet{max-width:640px;max-height:100%;overflow:auto;padding:14px 16px 12px;border:1px solid var(--line);border-radius:6px;background:var(--panel);box-shadow:0 12px 40px #00000059}.sheet-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sheet-head h2{flex:1;margin:0;font-size:15px}.sheet-body{columns:2;column-gap:26px}.sheet-group+.sheet-group{margin-top:10px}.sheet-group{break-inside:avoid}.sheet-row{display:grid;grid-template-columns:92px 1fr;align-items:baseline;gap:8px;padding:1px 0}.sheet-row kbd{justify-self:start;padding:1px 5px;border:1px solid var(--line);border-bottom-width:2px;border-radius:3px;background:var(--panel-sunken);color:var(--ink);font-family:inherit;font-size:11px;white-space:nowrap}.sheet-note{grid-column:2;color:var(--ink-faint);font-style:normal;font-size:11px}.sheet-foot{margin:10px 0 0;color:var(--ink-faint)}.eq-graph .curve{fill:none;stroke:var(--seat, var(--accent));stroke-width:1.2;vector-effect:non-scaling-stroke}.eq-legend{display:flex;flex-wrap:wrap;gap:4px 12px;margin:2px 0 0;color:var(--ink-soft);font-variant-numeric:tabular-nums}.eq-key{display:inline-flex;align-items:center;gap:5px}.eq-key:before{content:"";width:12px;height:0;border-top:2px solid var(--seat, var(--accent))}.eq-readout{margin:4px 0 0;font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums;min-height:1.3em}.eq-readout.live{color:var(--ink);font-weight:600}.hot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;max-width:260px}.hot-name{display:block;font-weight:600}.hot-value{display:block;font-size:9px;font-weight:600;opacity:.9}.hot-current{margin:6px 0 2px;color:var(--ink-soft);font-variant-numeric:tabular-nums}.hot-table{max-height:260px;overflow:auto;border-top:1px solid var(--line-soft)}.hot-row{display:grid;grid-template-columns:26px 1fr auto;gap:6px;padding:1px 4px;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--bad) 12%,transparent)}.hot-row.helps{background:color-mix(in srgb,var(--good) 14%,transparent)}.hot-rank{color:var(--ink-faint);text-align:right}.eq-table{max-height:240px;overflow:auto;margin-top:6px;border-top:1px solid var(--line-soft);font-variant-numeric:tabular-nums}.eq-row{display:grid;grid-template-columns:30px 1fr repeat(3,56px);gap:4px;padding:1px 4px;background:color-mix(in srgb,var(--good) calc(var(--heat, 0) * 26%),transparent)}.eq-row span:first-child{color:var(--ink-faint);text-align:right}.eq-row span:not(:first-child):not(:nth-child(2)){text-align:right}.eq-head{position:sticky;top:0;background:var(--panel);color:var(--ink-soft);font-weight:600}.hot-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2px 1px;font-size:11px;font-weight:700;line-height:1.15;border-radius:3px;background:color-mix(in srgb,var(--good) calc(var(--heat) * 100%),var(--bad));color:#fff}.hot-card.gone{background:var(--panel-sunken);border:1px dashed var(--line-soft)}.hot-card i{font-style:normal}.stacked-column{display:flex;flex-direction:column;gap:6px;min-height:0;min-width:0}.panel-flops{flex:0 1 auto;min-height:0;overflow:auto}.panel-flops.folded{max-height:none;overflow:visible}.panel-flops .panel-head{position:sticky;top:0;background:var(--panel);z-index:1}.fold{flex:none;padding:0 5px;font-size:10px;line-height:1.6}.flops-summary{margin-left:auto;color:var(--ink-faint)}.deal-flop{flex:none;padding:0 4px;font-size:11px;line-height:1.5}.flop-row.current{background:var(--line-soft);border-radius:3px}.flop-row{display:grid;grid-template-columns:auto 116px 1fr;align-items:center;gap:6px;padding:1px 0}.flop-label{color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flop-row .bar-track{height:14px}.flop-row .bar{background:var(--draw)}.panel-stats.preflop-mode .filter-toggle{background:var(--accent);border-color:var(--accent)}
