:root{color-scheme:light;--page: #f9f9f7;--surface: #fcfcfb;--surface-2: #f2f1ed;--text: #0b0b0b;--text-2: #52514e;--muted: #898781;--grid: #e1e0d9;--axis: #c3c2b7;--border: rgba(11, 11, 11, .1);--accent: #2a78d6;--accent-soft: #cde2fb;--accent-ink: #ffffff;--focus: #eb6834;--focus-soft: #fde3d8;--bar: #c3c2b7;--least: #1baf7a;--least-ink: #0c6b49;--warn-bg: #fff6e0;--warn-border: #fab219;--danger: #d03b3b;--danger-soft: #fbe2e2;--good: #006300;--cross: #c6efce;--cross-ink: #0b3d12;--xl-line: #d4d3cc;--draw: #eda100;--draw-soft: #fdf0cc;--draw-ink: #0b0b0b;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 16px rgba(0, 0, 0, .04);--radius: 14px;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #232321;--text: #f0efec;--text-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--accent-soft: #17345a;--focus: #d95926;--focus-soft: #4a2414;--bar: #52514e;--least: #199e70;--least-ink: #4fd3a3;--warn-bg: #2e2510;--warn-border: #c98500;--danger: #e66767;--danger-soft: #3d1c1c;--good: #0ca30c;--draw: #c98500;--draw-soft: #3a2c0c;--draw-ink: #0b0b0b;--cross: #2b5a32;--cross-ink: #e3f7e6;--xl-line: #383835;--shadow: none}}:root[data-theme=dark]{color-scheme:dark;--page: #0d0d0d;--surface: #1a1a19;--surface-2: #232321;--text: #f0efec;--text-2: #c3c2b7;--muted: #898781;--grid: #2c2c2a;--axis: #383835;--border: rgba(255, 255, 255, .1);--accent: #3987e5;--accent-soft: #17345a;--focus: #d95926;--focus-soft: #4a2414;--bar: #52514e;--least: #199e70;--least-ink: #4fd3a3;--warn-bg: #2e2510;--warn-border: #c98500;--danger: #e66767;--danger-soft: #3d1c1c;--good: #0ca30c;--draw: #c98500;--draw-soft: #3a2c0c;--draw-ink: #0b0b0b;--cross: #2b5a32;--cross-ink: #e3f7e6;--xl-line: #383835;--shadow: none}*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--text);font-size:14px;line-height:1.5}button,input{font:inherit;color:inherit}.app{max-width:1280px;margin:0 auto;padding:max(20px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(48px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.brand{display:flex;align-items:center;gap:10px}.brand h1{font-size:20px;margin:0;letter-spacing:-.01em}.brand-mark{width:28px;height:28px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:12px}.subtle{color:var(--text-2)}.muted{color:var(--muted)}.controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;margin-bottom:16px}@media(max-width:860px){.controls{grid-template-columns:1fr}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);min-width:0}.card h2{font-size:16px;margin:0}.card h3{font-size:14px;margin:0 0 8px}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.section-num{display:none}.dropzone{border:2px dashed var(--axis);border-radius:var(--radius);padding:18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:100%}.dropzone:hover,.dropzone:focus-visible,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);outline:none}.dropzone strong{font-size:15px}.dropzone .file-name{font-weight:600;word-break:break-all}.dropzone.error{border-color:var(--danger)}.focus-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.focus-input{display:flex;align-items:center;gap:8px;font-weight:600}.num-input{width:76px;padding:6px 10px;border-radius:8px;border:1px solid var(--axis);background:var(--surface-2);font-variant-numeric:tabular-nums}.num-input:focus{outline:2px solid var(--accent);outline-offset:1px}.focus-name{font-size:16px;font-weight:600}.focus-missing{color:var(--danger)}.balls{display:flex;flex-wrap:wrap;gap:6px}.ball{--size: 30px;width:var(--size);height:var(--size);border-radius:50%;display:inline-grid;place-items:center;font-weight:600;font-size:13px;font-variant-numeric:tabular-nums;background:var(--surface-2);border:2px solid transparent;color:var(--text);flex:none}.ball.sm{--size: 24px;font-size:11px}.ball.mine{background:var(--accent);color:var(--accent-ink)}.ball.focus{border-color:var(--focus)}.ball.shared{background:var(--danger);color:#fff}.ball.changed{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--least)}.legend{display:flex;flex-wrap:wrap;gap:14px;color:var(--text-2);font-size:12px}.legend span{display:inline-flex;align-items:center;gap:6px}.swatch{width:12px;height:12px;border-radius:3px;display:inline-block;flex:none}.swatch.ring{background:transparent;border:2px solid var(--focus);border-radius:50%}.myset{margin-bottom:16px}.grid45{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:6px;margin:12px 0}@media(max-width:700px){.grid45{grid-template-columns:repeat(9,minmax(0,1fr))}}.cell{aspect-ratio:1;border-radius:10px;border:2px solid transparent;background:var(--surface-2);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;font-variant-numeric:tabular-nums;transition:transform .08s,background .12s;min-width:0;position:relative}.cell:hover{transform:translateY(-1px);border-color:var(--axis)}.cell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cell .n{font-weight:700;font-size:15px;line-height:1.1}.cell .c{font-size:10px;color:var(--muted);line-height:1.1}.cell.mine{background:var(--accent);color:var(--accent-ink)}.cell.mine .c{color:var(--accent-ink);opacity:.85}.cell.focus{border-color:var(--focus)}.cell.pending{background:var(--danger-soft);color:var(--text);border-color:var(--danger)}.cell.pending .c{color:var(--text-2)}.cell.least:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:var(--least)}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;padding:6px 14px;cursor:pointer;font-weight:500;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.small{padding:3px 10px;font-size:12px}.hint{font-size:12px;color:var(--text-2);min-height:18px}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow)}.tile .label{font-size:12px;color:var(--text-2)}.tile .value{font-size:26px;font-weight:700;line-height:1.2}.tile .value.bad{color:var(--danger)}.tile .value.ok{color:var(--good)}.tile .sub{font-size:12px;color:var(--muted)}.stack{display:grid;gap:16px}.two-col{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px}@media(max-width:960px){.two-col{grid-template-columns:minmax(0,1fr)}}.table-wrap{overflow:auto;max-height:420px;border:1px solid var(--border);border-radius:10px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--grid);white-space:nowrap}th{position:sticky;top:0;background:var(--surface-2);font-weight:600;font-size:12px;color:var(--text-2);z-index:1}th button{background:none;border:0;padding:0;cursor:pointer;font-weight:600;color:inherit}th button:hover{color:var(--text)}td.num,th.num{text-align:right}tr.row-mine td:first-child{box-shadow:inset 3px 0 0 var(--accent)}tr.row-danger td{background:var(--danger-soft)}.bar-cell{display:flex;align-items:center;gap:8px}.mini-bar{height:8px;border-radius:0 4px 4px 0;background:var(--bar)}.mini-bar.mine{background:var(--accent)}.search{padding:6px 12px;border-radius:999px;border:1px solid var(--axis);background:var(--surface-2);min-width:200px;max-width:100%}.search:focus{outline:2px solid var(--accent);outline-offset:1px}.ranked{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}.ranked-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--surface-2);border:1px solid transparent;font-variant-numeric:tabular-nums}.ranked-item.least{border-color:var(--least);border-style:dashed}.ranked-item .count{font-weight:600}.ranked-item .rank{font-size:11px;color:var(--muted);line-height:1}.least-tag{font-size:10px;font-weight:700;color:var(--least-ink);text-transform:uppercase;letter-spacing:.04em}.clashers{display:grid;gap:10px}.clasher{padding:10px 12px;border-radius:10px;background:var(--surface-2)}.clasher-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.clasher-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:700;background:var(--surface);border:1px solid var(--border);white-space:nowrap}.pill.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.suggestions{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.suggestion{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:10px}.suggestion.best{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.suggestion-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.kv{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--text-2)}.kv b{color:var(--text);font-variant-numeric:tabular-nums}.changes{font-size:12px;color:var(--text-2)}.mini-hist{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;align-items:end;height:54px}.mini-hist .col{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;font-size:9px;color:var(--muted)}.mini-hist .b{width:100%;border-radius:3px 3px 0 0;background:var(--accent);min-height:0}.mini-hist .b.danger{background:var(--danger)}.mini-hist-axis{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;font-size:9px;color:var(--muted);text-align:center;border-top:1px solid var(--axis)}.banner{padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:13px}.banner.ok{background:var(--surface-2);border-left:4px solid var(--good)}.banner.bad{background:var(--danger-soft);border-left:4px solid var(--danger)}.warnings{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px}.warnings summary{cursor:pointer;font-weight:600}.warnings ul{margin:8px 0 0;padding-left:20px}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 4px 16px #0000001f;color:var(--text)}.chart-tooltip .t{font-weight:700;margin-bottom:2px}.sanity{font-size:12px;display:inline-flex;align-items:center;gap:6px}.sanity.ok{color:var(--good)}.sanity.bad{color:var(--danger)}.toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.toggle button{border:0;background:transparent;padding:4px 12px;cursor:pointer;font-size:12px}.toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.empty{text-align:center;padding:64px 16px;color:var(--text-2)}.empty .big-balls{display:flex;justify-content:center;gap:8px;margin-bottom:18px}.empty .big-balls .ball{--size: 44px;font-size:16px}.empty h2{color:var(--text);margin:0 0 6px}.empty ol{display:inline-block;text-align:left;margin:12px auto 0}.footnote{margin-top:28px;font-size:12px;color:var(--muted);text-align:center}.tabs{position:sticky;top:0;z-index:5;display:flex;gap:4px;padding:6px;margin:0 0 16px;background:color-mix(in srgb,var(--page) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:999px;overflow-x:auto;scrollbar-width:none}.tab{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;color:var(--text-2);text-decoration:none;font-weight:600;white-space:nowrap;transition:background .12s,color .12s}.tab:hover{color:var(--text);background:var(--surface-2)}.tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tab[aria-current=page]{background:var(--accent);color:var(--accent-ink)}.tab-badge{font-size:11px;font-weight:700;padding:0 7px;border-radius:999px;background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.tab[aria-current=page] .tab-badge{background:#fff3;color:var(--accent-ink);border-color:transparent}.time-travel{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin:-6px 0 16px;border-radius:12px;background:var(--draw-soft);border:1px solid var(--draw);font-size:13px}.tile-link{text-decoration:none;color:inherit;transition:border-color .12s,transform .08s}.tile-link:hover{border-color:var(--accent);transform:translateY(-1px)}.myset-strip{order:-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 16px}.myset-strip .btn{text-decoration:none;margin-left:auto}.draw-entry{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.draw-input{width:240px;max-width:100%}.grid45.compact{grid-template-columns:repeat(15,minmax(0,1fr));gap:4px}@media(max-width:700px){.grid45.compact{grid-template-columns:repeat(9,minmax(0,1fr))}}.grid45.compact .cell{aspect-ratio:auto;height:34px;border-radius:8px}.grid45.compact .cell .n{font-size:13px}.cell:disabled{opacity:.45;cursor:default;transform:none}.cell.drawn{background:var(--draw);color:var(--draw-ink)}.table-wrap.tall{max-height:calc(100vh - 150px)}table.sheet td.num-col,table.sheet th.num-col{text-align:center;width:42px;padding:6px 4px}table.sheet td.hit{background:var(--draw);color:var(--draw-ink);font-weight:700;border-radius:6px}table.sheet .name-col,table.sheet th:nth-child(2){white-space:nowrap;width:1%;padding-right:20px}table.sheet th:first-child,table.sheet td:first-child{width:1%}table.sheet .pill{margin-left:8px;font-size:10px;padding:0 6px}.pill.you{background:var(--focus);color:#fff;border-color:var(--focus)}tr.row-focus td{background:var(--focus-soft)}tr.row-focus td.hit{background:var(--draw)}tr.row-invalid td{color:var(--muted)}tr.row-hit td:first-child{box-shadow:inset 3px 0 0 var(--draw)}.diverge{position:relative;width:120px;height:10px}.diverge:before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--axis)}.diverge-bar{position:absolute;top:1px;height:8px}.diverge-bar.rare{right:50%;background:var(--good);border-radius:4px 0 0 4px}.diverge-bar.common{left:50%;background:var(--danger);border-radius:0 4px 4px 0}.lotto-top{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:16px;align-items:start}@media(max-width:1100px){.lotto-top{grid-template-columns:1fr}}.xl-card{padding:14px;overflow-x:auto}.xl-sub{margin:2px 0 10px;font-size:12px}table.xl{border-collapse:collapse;width:auto;font-variant-numeric:tabular-nums;font-size:13px}table.xl th,table.xl td{border:1px solid var(--xl-line);padding:3px 8px;text-align:center;white-space:nowrap;border-radius:0}table.xl th{position:sticky;top:0;background:var(--surface-2);font-size:11px;font-weight:600;color:var(--text-2)}table.xl td.crossed{background:var(--cross);color:var(--cross-ink);font-weight:600}table.xl .xl-label{color:var(--muted);text-align:right}table.xl .xl-name{text-align:left;min-width:180px}table.xl .xl-left{text-align:left;min-width:110px}table.xl .xl-num{text-align:right}table.xl .xl-empty{border:0}.xl-fallen td{width:34px;height:30px;font-weight:600}.xl-dates .xl-date{text-align:left;min-width:150px}.xl-input-cell{padding:0!important;width:40px}.xl-input{width:40px;height:28px;border:0;background:transparent;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.xl-input:focus{outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface)}.xl-input.filled{background:var(--cross);color:var(--cross-ink)}.xl-input.bad{background:var(--danger-soft);color:var(--danger);outline:1px solid var(--danger);outline-offset:-1px}tr.next-draw td{background:var(--accent-soft)}tr.next-draw .xl-input:not(.filled):not(.bad){background:var(--surface)}tr.current-week td.xl-label{box-shadow:inset 3px 0 0 var(--accent);color:var(--text);font-weight:700}tr.after-upto td{opacity:.55}.pill.next{margin-left:8px;font-size:10px;padding:0 6px;background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.xl-actions{border:0!important;width:28px}.player-link{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--axis);text-underline-offset:3px}.player-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073;display:grid;place-items:center;padding:16px;overflow-y:auto}.modal{width:100%;max-width:760px;max-height:calc(100vh - 32px);overflow-y:auto;outline:none}.profile-set{display:flex;flex-wrap:wrap;gap:8px}.profile-set .ball{--size: 38px;font-size:15px}.ball.crossed-ball{background:var(--cross);color:var(--cross-ink)}.profile-bar{margin-top:10px;height:10px}.profile-weeks,.profile-rivals{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:13px}.profile-weeks li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:8px;padding:4px 8px;border-radius:6px;background:var(--surface-2);font-variant-numeric:tabular-nums}.profile-rivals li{display:flex;justify-content:space-between;gap:8px;padding:4px 8px;border-radius:6px;background:var(--surface-2)}.finishers{margin-bottom:14px}.finisher-list{display:flex;flex-wrap:wrap;gap:8px}.finisher{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:var(--danger-soft);font-size:13px}.away-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}@media(max-width:960px){.away-cols{grid-template-columns:minmax(0,1fr)}}.away-list{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:360px;overflow-y:auto}.away-list li{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;border-radius:8px;background:var(--surface-2);font-size:13px}.away-list li.is-you{box-shadow:inset 3px 0 0 var(--focus)}.heatmap{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px}.heatmap.small{grid-template-columns:repeat(15,minmax(0,1fr));gap:4px}@media(max-width:700px){.heatmap.small{grid-template-columns:repeat(9,minmax(0,1fr))}}.heat{border-radius:10px;padding:8px 4px;text-align:center;background:var(--surface-2);border:2px solid transparent;font-variant-numeric:tabular-nums;min-width:0}.heat .n{display:block;font-weight:700;font-size:16px;line-height:1.1}.heat .c{display:block;font-size:11px;opacity:.85}.heatmap.small .heat{padding:4px 2px;border-radius:8px}.heatmap.small .heat .n{font-size:13px}.heat.is-drawn{background:var(--cross);color:var(--cross-ink);opacity:.55}.heat.is-drawn .n{text-decoration:line-through}.heat.is-mine{border-color:var(--focus)}.heat.is-waiting{background:var(--draw-soft)}.remaining-list{display:flex;flex-wrap:wrap;gap:6px 12px}.remaining-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-variant-numeric:tabular-nums}.race-draw{display:flex;align-items:center;gap:8px;margin-bottom:10px}.race-slider{width:200px;max-width:100%;accent-color:var(--accent)}.race{position:relative}.race-row{position:absolute;left:0;right:0;top:0;height:26px;display:grid;grid-template-columns:28px minmax(0,220px) minmax(0,1fr) 48px;align-items:center;gap:10px;transition:transform .7s cubic-bezier(.2,.8,.2,1),opacity .4s;font-variant-numeric:tabular-nums;font-size:13px}.race-row.is-you .race-name{font-weight:700}.race-row.is-you .race-bar{background:var(--focus)}.race-rank{color:var(--muted);text-align:right}.race-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-track{height:14px;border-radius:7px;background:var(--grid);overflow:hidden}.race-bar{display:block;height:100%;background:var(--good);border-radius:0 7px 7px 0;transition:width .7s cubic-bezier(.2,.8,.2,1)}.race-val{text-align:right}.milestones{list-style:none;padding:0;margin:0 0 14px;display:grid;gap:4px}.milestones li{display:flex;gap:12px;padding:5px 10px;border-radius:8px;background:var(--surface-2);font-size:13px}.facts-period{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}.facts-slider{width:240px}.expected-badge{display:inline-flex;align-items:baseline;gap:4px;padding:4px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);font-size:13px}.expected-badge b{font-size:15px}.hotcold{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}@media(max-width:760px){.hotcold{grid-template-columns:minmax(0,1fr)}}.hotcold-card{border-radius:12px;padding:14px;border:1px solid var(--border)}.hotcold-card.hot{background:color-mix(in srgb,var(--danger) 10%,var(--surface));border-color:color-mix(in srgb,var(--danger) 40%,transparent)}.hotcold-card.cold{background:color-mix(in srgb,var(--accent) 10%,var(--surface));border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.hotcold-head{display:flex;gap:8px;align-items:baseline;margin-bottom:8px;font-size:15px}.hotcold-head .muted{font-size:12px}.hotcold-list{display:grid;gap:6px}.hotcold-item{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px 12px 3px 3px;cursor:pointer;text-align:left;font-size:13px}.hotcold-item:hover{border-color:var(--accent)}.hotcold-card.hot .ball{background:var(--danger);color:#fff}.hotcold-card.cold .ball{background:var(--accent);color:var(--accent-ink)}.facts-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:960px){.facts-layout{grid-template-columns:minmax(0,1fr)}}.heat-btn{cursor:pointer;font:inherit;color:inherit}.heat-btn:hover{border-color:var(--axis)}.heat-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.heat.is-selected{border-color:var(--text)}.number-detail{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-2);min-height:200px}.number-detail.empty{display:grid;place-items:center}.detail-head{display:flex;align-items:center;gap:12px;margin-bottom:10px}.detail-ball{--size: 52px;font-size:22px;background:var(--accent);color:var(--accent-ink)}.detail-verdict{font-size:18px;font-weight:700;text-transform:capitalize}.detail-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:13px}.detail-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:6px 8px;border-radius:6px;background:var(--surface)}.detail-list li .muted{grid-column:1 / -1;font-size:11px}.reveal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:radial-gradient(circle at 50% 20%,#17345a,#0b0b0b 70%);display:grid;place-items:center;padding:16px;overflow-y:auto;color:#f0efec}.reveal{width:100%;max-width:760px;position:relative;z-index:1}.reveal .muted{color:#a9a8a0}.reveal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.reveal-head h2{margin:2px 0 0;font-size:24px}.reveal .btn{background:#ffffff14;border-color:#ffffff2e;color:#f0efec}.reveal .btn.primary{background:#3987e5;border-color:#3987e5}.reveal-balls{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}.reveal-ball{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;background:#ffffff0f;border:2px dashed rgba(255,255,255,.2);color:#ffffff59}.reveal-ball.is-out{background:radial-gradient(circle at 35% 30%,#fff,#e9e7df 45%,#c9c6bb);border:0;color:#0b0b0b;box-shadow:0 8px 24px #00000073;animation:ball-drop .7s cubic-bezier(.2,1.4,.4,1)}.reveal-ball.is-yours{box-shadow:0 0 0 4px #eb6834,0 8px 24px #00000073}@keyframes ball-drop{0%{transform:translateY(-120px) scale(.6);opacity:0}70%{transform:translateY(6px) scale(1.05);opacity:1}to{transform:none}}@media(prefers-reduced-motion:reduce){.reveal-ball.is-out{animation:none}.race-row,.race-bar{transition:none}}.reveal-caption{text-align:center;min-height:28px;font-size:17px;margin-bottom:18px}.reveal-win{color:#6be38a;font-size:20px}.reveal-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px}@media(max-width:700px){.reveal-grid{grid-template-columns:minmax(0,1fr)}.reveal-ball{width:52px;height:52px;font-size:20px}}.reveal-board{list-style:none;padding:0;margin:0;display:grid;gap:4px}.reveal-board li{display:grid;grid-template-columns:minmax(0,1fr) 90px 64px;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;background:#ffffff0f;font-variant-numeric:tabular-nums;font-size:14px}.reveal-board li.is-you{box-shadow:inset 3px 0 #eb6834}.reveal-board li b{text-align:right}.reveal .lb-bar{background:#ffffff1f}.reveal .lb-bar span{background:#1baf7a;transition:width .6s}.gain{color:#6be38a;font-size:12px}.reveal-you{padding:14px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(235,104,52,.6)}.reveal-you-big{font-size:40px;font-weight:800;line-height:1.1}.reveal-you-big .muted{font-size:18px;font-weight:500}.reveal-odds{margin:10px 0 4px;font-size:15px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.reveal-btn{color:var(--accent)}.h2h-pickers{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.h2h-select{width:auto;max-width:100%}.h2h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:center}@media(max-width:760px){.h2h{grid-template-columns:minmax(0,1fr)}}.h2h-side{display:grid;gap:6px;justify-items:center;text-align:center;padding:14px;border-radius:12px;background:var(--surface-2)}.h2h-name{font-weight:700}.h2h-side .ball:not(.mine){background:var(--surface)}.h2h-big{font-size:30px;font-weight:800;line-height:1.1}.h2h-bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:var(--grid);margin-bottom:8px}.h2h-bar span{display:block;height:100%;transition:width .4s}.phone-only{display:none!important}.rank-controls{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.rank-cards{list-style:none;margin:0;padding:0;display:grid;gap:6px}.rank-card{padding:8px 10px;border-radius:10px;background:var(--surface-2);display:grid;gap:6px}.rank-card.is-you{box-shadow:inset 3px 0 0 var(--focus);background:var(--focus-soft)}.rank-card-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:8px;font-size:14px}.rank-card-rank{color:var(--text-2);font-variant-numeric:tabular-nums}.rank-card-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-card-pop{font-size:16px;font-variant-numeric:tabular-nums}.rank-card-balls{display:flex;flex-wrap:wrap;gap:3px}.ball.xs{--size: 22px;font-size:10px;background:var(--surface)}.rank-card-stats{display:flex;flex-wrap:wrap;gap:2px 12px;font-size:11px;color:var(--text-2);font-variant-numeric:tabular-nums}.rank-card-stats b{color:var(--text)}.rank-card-stats .risk b{color:var(--danger)}@media(max-width:600px){.phone-only{display:revert!important}ol.phone-only{display:grid!important}.desktop-only{display:none!important}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tile{padding:10px 12px}.tile .value{font-size:20px}.tile .label,.tile .sub{font-size:11px}.rank-controls{width:100%}.rank-controls .search{flex:1 1 140px;min-width:0}.rank-controls select{width:auto;flex:0 0 auto}.show-all{width:100%;margin-top:8px}.topbar{margin-bottom:10px}.brand h1{font-size:17px}.brand .subtle{display:none}.brand-mark{width:26px;height:26px;flex:none}.topbar-actions .btn{padding:5px 10px;font-size:13px}.topbar-actions .num-input{padding:5px 8px;font-size:13px}.controls{gap:10px;margin-bottom:10px}.dropzone{padding:10px;gap:2px}.dropzone .subtle{display:none}.controls .card{padding:12px}.card{padding:14px}}.topbar-actions{display:flex;align-items:center;gap:8px}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}.login-card{width:100%;max-width:360px;display:grid;gap:12px;padding:28px}.login-field{display:grid;gap:4px;font-weight:600;font-size:13px}.login-input{padding:9px 12px;border-radius:10px;border:1px solid var(--axis);background:var(--surface-2);font-weight:400}.login-input:focus{outline:2px solid var(--accent);outline-offset:1px}.login-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-2)}.login-error{min-height:18px;color:var(--danger);font-size:13px}.login-submit{padding:9px 14px}.sim-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:12px;margin-bottom:12px}.sim-bar{width:160px;height:6px;border-radius:3px;background:var(--grid);overflow:hidden}.sim-bar span{display:block;height:100%;background:var(--accent);transition:width .2s}.odds-nav{display:flex;flex-wrap:wrap;gap:6px}.odds .tiles{margin-bottom:12px}.odds h3{margin-top:4px}table.clickable tbody tr{cursor:pointer}table.clickable tbody tr:hover td{background:var(--surface-2)}tr.row-selected td{background:var(--accent-soft)!important}tr.row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.pill.mini{margin-left:8px;font-size:10px;padding:0 6px}.draw-card.good{border-color:var(--good)}.draw-card.bad{border-color:var(--danger)}.formulas{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.formula{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface-2)}.formula .math{font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:13px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:8px;line-height:1.7;overflow-x:auto}.formula .explain{font-size:13px;color:var(--text-2)}.whatif-result{margin-top:8px}.home-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px}@media(max-width:960px){.home-grid{grid-template-columns:1fr}}.home-tiles{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:0}.tile-you{border-color:var(--focus);box-shadow:inset 4px 0 0 var(--focus)}.pill.next-big{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);padding:4px 12px;font-size:12px}.leaders h3{margin-bottom:6px}.leaders ol{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:4px}.leaders li{display:grid;grid-template-columns:minmax(0,1fr) 90px 44px;align-items:center;gap:10px;padding:6px 10px;border-radius:8px;background:var(--surface-2);font-variant-numeric:tabular-nums}.leaders li.is-you{box-shadow:inset 3px 0 0 var(--focus)}.leaders li b{text-align:right}.lb-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-bar{height:8px;border-radius:4px;background:var(--grid);overflow:hidden}.lb-bar span{display:block;height:100%;background:var(--good);border-radius:0 4px 4px 0}.fetch-status{margin:0 0 10px}.banner-close{float:right;margin:-2px -4px 0 8px}.official-tag{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:700;cursor:help}.official-tag.ok{color:var(--good)}.official-tag.bad{color:#fff;background:var(--danger)}.link-btn{background:none;border:0;color:var(--muted);cursor:pointer;padding:2px 6px}.link-btn:hover{color:var(--danger)}.xl-players .pill.you{margin-left:8px;font-size:10px;padding:0 6px}table.xl tr.row-focus td.crossed{background:var(--cross);color:var(--cross-ink)}tr.row-done td{font-weight:700}tr.row-done td.xl-name{box-shadow:inset 3px 0 0 var(--good)}.done-tag{color:var(--good);font-weight:700}.banner.win{background:var(--cross);color:var(--cross-ink);border-left:4px solid var(--good);margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
