:root{--bg: #12161c;--bg-raise: #191f27;--bg-sunk: #0d1116;--line: #262f3a;--text: #e8edf3;--text-dim: #8b98a8;--accent: #3fb8a0;--accent-ink: #06231e;--warn: #e0a44a;--bad: #e06c75;--good: #5fc98a;--tile: #e8dcc0;--tile-ink: #2a2418;--tile-board: #7d9ec4;--radius: 12px;--tap: 44px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f4f6f9;--bg-raise: #ffffff;--bg-sunk: #e8ecf1;--line: #d5dce5;--text: #1b2129;--text-dim: #64707f;--accent: #12806c;--accent-ink: #ffffff;--warn: #96590d;--bad: #b3352f;--good: #1c7a45;--tile: #efe4ca;--tile-ink: #33291a;--tile-board: #3a628d;color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:contain}.app{max-width:620px;margin:0 auto;min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.head{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.head h1{margin:0;font-size:17px;font-weight:650;letter-spacing:-.01em}.badge{appearance:none;border:1px solid var(--line);background:var(--bg-raise);color:var(--text-dim);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer}.boot{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:var(--bg);transition:opacity .25s ease,visibility .25s ease}.boot-done{opacity:0;visibility:hidden;pointer-events:none}.boot-inner{width:min(320px,80vw);text-align:center}.boot-title{font-size:15px;font-weight:600;margin-bottom:14px}.bar{height:4px;border-radius:999px;background:var(--bg-sunk);overflow:hidden}.bar-fill{height:100%;width:0;background:var(--accent);border-radius:999px;transition:width .15s linear}.boot-note{margin-top:12px;font-size:12px;color:var(--text-dim)}.field{display:block}.field-label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px}input[type=text],select{width:100%;font-size:17px;font-family:inherit;color:var(--text);background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);padding:11px 13px;min-height:var(--tap)}input[type=text]{letter-spacing:.16em;font-weight:600;text-transform:uppercase}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.rack-panel{position:sticky;top:0;z-index:10;padding:12px 14px 10px;background:var(--bg-raise);border-bottom:1px solid var(--line)}.rack-row{display:flex;align-items:center;gap:8px;margin-top:10px}.rack-actions{display:flex;gap:6px;flex:none}.hint{margin:8px 0 0;font-size:12px;color:var(--text-dim)}.hint-warn{color:var(--warn)}.chips{display:flex;flex-wrap:wrap;gap:4px;flex:1;min-height:34px;align-items:center}.chips-empty{font-size:12px;color:var(--text-dim)}.chip{position:relative;appearance:none;border:none;cursor:pointer;width:29px;height:34px;border-radius:6px;background:var(--tile);color:var(--tile-ink);font-weight:700;font-size:16px;display:grid;place-items:center;box-shadow:0 1px #00000059}.chip-blank{background:repeating-linear-gradient(-45deg,var(--tile),var(--tile) 4px,color-mix(in srgb,var(--tile) 82%,#000) 4px,color-mix(in srgb,var(--tile) 82%,#000) 8px)}.chip-v{position:absolute;right:2px;bottom:0;font-size:9px;font-weight:700;opacity:.6}.btn{appearance:none;cursor:pointer;font:inherit;font-size:14px;font-weight:600;color:var(--text);background:var(--bg-sunk);border:1px solid var(--line);border-radius:10px;padding:9px 13px;min-height:var(--tap)}.btn-sq{min-width:var(--tap);padding:9px;text-align:center}.btn-quiet{color:var(--text-dim);background:transparent}.btn-more{width:100%;margin:10px 0 4px}.btn:disabled{opacity:.4;cursor:default}.seg{display:flex;background:var(--bg-sunk);border:1px solid var(--line);border-radius:10px;padding:2px;gap:2px}.seg-btn{appearance:none;cursor:pointer;border:none;background:transparent;color:var(--text-dim);font:inherit;font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;min-height:36px;white-space:nowrap}.seg-on{background:var(--accent);color:var(--accent-ink)}.main{padding:14px}.controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}.strip-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.strip-head .field-label{margin:0}.len-ctl{display:flex;align-items:center;gap:4px}.len-ctl .btn-sq{min-height:36px;min-width:36px;padding:4px;font-size:18px;line-height:1}.len-value{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.strip{display:grid;grid-template-columns:repeat(var(--n, 7),1fr);gap:4px}.strip[data-count="8"]{--n: 8}.strip[data-count="9"]{--n: 9}.strip[data-count="10"]{--n: 10}.strip[data-count="11"]{--n: 11}.strip[data-count="12"]{--n: 12}.strip[data-count="13"]{--n: 13}.strip[data-count="14"]{--n: 14}.strip[data-count="15"]{--n: 15}.strip[data-count="2"]{--n: 2}.strip[data-count="3"]{--n: 3}.strip[data-count="4"]{--n: 4}.strip[data-count="5"]{--n: 5}.strip[data-count="6"]{--n: 6}input.slot{width:100%;min-width:0;aspect-ratio:1;min-height:0;padding:0;text-align:center;letter-spacing:0;font-size:17px;font-weight:700;border-radius:8px;border:1px dashed var(--line);background:var(--bg-sunk);color:var(--text-dim)}input.slot-fixed{border-style:solid;border-color:transparent;background:var(--tile);color:var(--tile-ink);box-shadow:0 1px #00000059}.status{font-size:12px;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-bottom:8px;min-height:18px}.status-empty{color:var(--text-dim)}.status-error{color:var(--bad)}.counts-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.counts-head .field-label{margin:0}.counts-key{font-size:11px;color:var(--text-dim)}.counts{display:flex;flex-direction:column;gap:4px}.crow{display:grid;grid-template-columns:30px 1fr 56px;align-items:center;gap:10px;padding:9px 12px;background:var(--bg-raise);border:1px solid var(--line);border-radius:10px}.crow-len{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;color:var(--text)}.crow-len:after{content:"L";font-size:9px;font-weight:600;color:var(--text-dim);vertical-align:super;margin-left:1px}.crow-track{height:7px;border-radius:999px;background:var(--bg-sunk);overflow:hidden}.crow-fill{display:block;height:100%;border-radius:999px;background:var(--accent)}.crow-count{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right;color:var(--accent)}.bigcount{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 16px;background:var(--bg-raise);border:1px solid var(--line);border-radius:14px}.bigcount-n{font-size:46px;line-height:1;font-weight:750;font-variant-numeric:tabular-nums;color:var(--accent)}.bigcount-l{font-size:13px;color:var(--text-dim);text-align:center}.verdict{min-height:22px;margin:10px 0 4px;font-size:14px;font-weight:650}.verdict-yes{color:var(--good)}.verdict-no{color:var(--bad)}.dict-picker{margin:18px 0 6px;padding-top:16px;border-top:1px solid var(--line)}.dict-options{display:flex;flex-direction:column;gap:6px}.dict-option{appearance:none;cursor:pointer;text-align:left;font:inherit;color:var(--text);background:var(--bg-raise);border:1px solid var(--line);border-radius:10px;padding:10px 13px;display:flex;flex-direction:column;gap:2px;min-height:var(--tap)}.dict-on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-raise))}.dict-name{font-size:14px;font-weight:650}.dict-sub{font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;max-width:620px;margin:0 auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg-raise) 94%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.tab{appearance:none;cursor:pointer;border:none;background:transparent;color:var(--text-dim);font:inherit;font-size:10px;font-weight:650;flex:1;min-width:0;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:10px}.tab-ico{font-size:17px;line-height:1}.tab-on{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.odds{display:grid;grid-template-columns:repeat(27,1fr);gap:2px;align-items:end;margin-bottom:10px}.ocol{appearance:none;border:none;background:transparent;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.ocol-track{width:100%;height:104px;display:flex;align-items:flex-end;background:var(--bg-sunk);border-radius:3px;overflow:hidden}.ocol-fill{width:100%;border-radius:3px 3px 0 0;background:var(--accent);transition:height .18s ease}.ocol-hot .ocol-fill{background:var(--accent)}.ocol-warm .ocol-fill{background:color-mix(in srgb,var(--accent) 62%,var(--bg-sunk))}.ocol-cool .ocol-fill{background:color-mix(in srgb,var(--accent) 34%,var(--bg-sunk))}.ocol-none .ocol-track{background:color-mix(in srgb,var(--bad) 16%,var(--bg-sunk))}.ocol-letter{font-size:9px;font-weight:700;color:var(--text-dim);line-height:1}.ocol-n{font-size:8px;font-variant-numeric:tabular-nums;color:var(--text-dim);opacity:.65;line-height:1}.ocol-on .ocol-letter,.ocol-on .ocol-n{color:var(--accent);opacity:1}.ocol-on .ocol-track{outline:1px solid var(--accent)}.detail{margin:0 0 16px;font-size:12px;line-height:1.5;color:var(--text);min-height:36px}.board-field textarea{width:100%;font-size:16px;font-family:inherit;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;resize:vertical}.bag-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.stepper{display:flex;align-items:center;gap:5px}.stepper-label{font-size:11px;font-weight:600;color:var(--text-dim);margin-right:2px}.stepper .btn-sq{min-height:34px;min-width:34px;padding:3px;font-size:16px;line-height:1}.btn-scan{width:100%;margin-top:10px;background:transparent;border-style:dashed;color:var(--text-dim)}.sheet{position:fixed;inset:0;z-index:60;background:color-mix(in srgb,#000 62%,transparent);overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:20px 12px calc(28px + env(safe-area-inset-bottom))}.sheet-inner{width:100%;max-width:560px;background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px}.sheet-head{display:flex;align-items:center;justify-content:space-between}.sheet-head h2{margin:0;font-size:16px;font-weight:650}.scan-preview{width:100%;max-height:260px;object-fit:contain;border-radius:10px;background:var(--bg-sunk)}.sheet textarea{width:100%;font:inherit;font-size:15px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);background:var(--bg-sunk);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;resize:vertical}.scan-check{margin:0;font-size:12px;line-height:1.5;min-height:18px}.scan-ok{color:var(--good)}.scan-bad{color:var(--bad)}.btn-apply{background:var(--accent);color:var(--accent-ink);border-color:transparent;font-weight:700}body.sheet-open{overflow:hidden}.scan-preview:not([src]){display:none}
