:root{--bg: #f4f5f7;--surface: #ffffff;--surface-2: #eef0f3;--text: #15171a;--muted: #5d6470;--border: #dde1e6;--accent: #d96f0e;--good: #11803d;--good-bg: #e3f6ea;--bad: #c62828;--bad-bg: #fde8e8;--neutral: #6b7280;--neutral-bg: #eceef1;--radius: 14px;--tap: 48px;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #101114;--surface: #1a1c21;--surface-2: #24272d;--text: #eef0f3;--muted: #9aa1ad;--border: #2e323a;--accent: #f08a24;--good: #3ddc84;--good-bg: #12301f;--bad: #ff6b6b;--bad-bg: #3a1618;--neutral: #9aa1ad;--neutral-bg: #262930;color-scheme:dark}}:root[data-theme=dark]{--bg: #101114;--surface: #1a1c21;--surface-2: #24272d;--text: #eef0f3;--muted: #9aa1ad;--border: #2e323a;--accent: #f08a24;--good: #3ddc84;--good-bg: #12301f;--bad: #ff6b6b;--bad-bg: #3a1618;--neutral: #9aa1ad;--neutral-bg: #262930;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body.modal-open{overflow:hidden}main{max-width:1100px;margin:0 auto;padding:12px 16px 40px}h1,h2,h3{margin:0}h2{font-size:18px}.muted{color:var(--muted)}.small{font-size:14px}.center{display:block;text-align:center;margin:16px auto}.good-t{color:var(--good)}.bad-t{color:var(--bad)}.neutral-t{color:var(--muted)}button,input,select{font:inherit;color:inherit}button{min-height:var(--tap);border-radius:12px;border:1px solid transparent;padding:0 18px;cursor:pointer;touch-action:manipulation}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--accent);color:#fff;font-weight:600}button.secondary{background:var(--surface-2);border-color:var(--border)}button.danger{color:var(--bad)}button.link{background:none;min-height:40px;padding:0 8px;color:var(--accent)}button.icon{background:var(--surface-2);width:var(--tap);padding:0;font-size:18px}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input{width:100%;min-height:var(--tap);border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:0 12px;font-size:17px}label{display:grid;gap:6px;font-size:14px;color:var(--muted);font-weight:500}label>input{color:var(--text)}header.top{position:sticky;top:0;z-index:5;background:var(--bg);padding-top:4px}.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:10px 8px;text-align:center}.stat .v{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.stat .l{font-size:13px;color:var(--muted)}.stat.good .v{color:var(--good)}.stat.bad .v{color:var(--bad)}.toolbar{display:flex;align-items:center;gap:8px;padding:10px 0;flex-wrap:wrap}.spacer{flex:1}.banner{background:var(--bad-bg);color:var(--bad);border-radius:12px;padding:10px 14px;margin-bottom:8px;font-size:15px}.cards{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.bet{background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--neutral);border-radius:var(--radius);padding:14px;display:grid;gap:10px}.bet.good{border-left-color:var(--good)}.bet.bad{border-left-color:var(--bad)}.bet-head{display:flex;justify-content:space-between;gap:10px}.bet-title{min-width:0}.bet-title h2{overflow-wrap:anywhere}.bet-state{text-align:right;display:grid;gap:4px;justify-items:end;align-content:start}.pill{border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700;background:var(--neutral-bg);color:var(--neutral);white-space:nowrap}.pill.good{background:var(--good-bg);color:var(--good)}.pill.bad{background:var(--bad-bg);color:var(--bad)}.legs{list-style:none;margin:0;padding:0;display:grid;gap:8px}.leg-row{background:var(--surface-2);border-radius:12px;padding:10px 12px;display:grid;gap:6px}.leg-pick{font-weight:600;display:flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:var(--neutral);flex:none}.dot.good{background:var(--good)}.dot.bad{background:var(--bad)}.game{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 14px;align-items:center}.game .league{grid-column:1 / -1}.teams{display:grid;gap:2px;min-width:0}.team{display:flex;justify-content:space-between;gap:10px}.team span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team b{font-size:20px;font-variant-numeric:tabular-nums}.gmeta{text-align:right;font-size:15px;white-space:nowrap}.live-tag{color:var(--bad);font-weight:700;font-variant-numeric:tabular-nums}.leg-detail{font-size:15px;font-weight:600}.unlinked{display:flex;justify-content:space-between;align-items:center;gap:10px}.bet-actions{display:grid;gap:8px}.bet-actions>.link{justify-self:start}.menu{display:flex;flex-wrap:wrap;gap:8px}.empty{text-align:center;padding:48px 0}.backdrop{position:fixed;inset:0;background:#00000073;z-index:20;display:flex;align-items:flex-end;justify-content:center}@media(min-width:700px){.backdrop{align-items:center}}.sheet{background:var(--bg);width:min(720px,100%);max-height:92vh;max-height:92dvh;border-radius:18px 18px 0 0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom)}@media(min-width:700px){.sheet{border-radius:18px}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.sheet-body{overflow-y:auto;padding:16px;display:grid;gap:14px;-webkit-overflow-scrolling:touch}.sheet-foot{display:flex;justify-content:flex-end;gap:10px;position:sticky;bottom:-16px;background:var(--bg);padding:12px 0}.add-choices{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.upload{display:grid;place-items:center;gap:6px;min-height:140px;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:17px;cursor:pointer;text-align:center;padding:12px}.upload input{display:none}.upload.busy{opacity:.7}.big{font-size:34px}.big-btn{min-height:140px;font-size:17px}.review{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px}.review-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.betform{display:grid;gap:14px}.leg{border:1px solid var(--border);border-radius:12px;padding:12px;margin:0;display:grid;gap:12px}.leg legend{padding:0 6px;font-weight:600;display:flex;align-items:center;gap:8px}.grid2{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.grid3{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{flex:1 1 auto;background:var(--surface-2);border-color:var(--border);color:var(--text);font-weight:500;overflow-wrap:anywhere}.seg button.on{background:var(--accent);border-color:var(--accent);color:#fff}.note{background:var(--surface-2);border-radius:10px;padding:10px 12px;margin:0;font-size:15px}.error{color:var(--bad);white-space:pre-wrap;font:inherit;margin:0}.picker{list-style:none;padding:0;margin:0;display:grid;gap:6px}.pick{width:100%;display:grid;grid-template-columns:84px 1fr auto;gap:10px;align-items:center;text-align:left;background:var(--surface);border-color:var(--border);padding:10px 12px;min-height:56px}.pick.current{border-color:var(--accent);border-width:2px}.pick .when{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums}.pick .who{overflow-wrap:anywhere}.pick .score{font-size:13px;color:var(--muted)}.login{min-height:90vh;display:grid;place-items:center}.login .card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:24px;width:min(420px,100%);display:grid;gap:16px}footer{margin-top:24px}@media(max-width:560px){.strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.stat{padding:8px 2px}.stat .v{font-size:17px}.stat .l{font-size:11px}}.tiny{font-size:12px}.winpct{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1;display:flex;align-items:baseline;gap:4px}.winpct span{font-size:12px;font-weight:600;color:var(--muted)}.winpct.good{color:var(--good)}.winpct.bad{color:var(--bad)}.winpct.neutral{color:var(--muted)}.tracker{border-top:1px solid var(--border);padding-top:8px;display:grid;gap:4px}.tracker-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.tracker-pct{font-weight:700;font-variant-numeric:tabular-nums}.spark{width:100%;height:44px;display:block}.spark-mid{stroke:var(--border);stroke-dasharray:3 3;stroke-width:1}.spark-line{fill:none;stroke:var(--neutral);stroke-width:2}.spark-line.good,.spark-dot.good{stroke:var(--good)}.spark-line.bad,.spark-dot.bad{stroke:var(--bad)}.spark-dot{fill:var(--surface-2);stroke:var(--neutral);stroke-width:2}.spark-dot.good{fill:var(--good)}.spark-dot.bad{fill:var(--bad)}.spark-empty{height:20px}.result-btns{display:flex;gap:8px}.result-btns button{flex:1;font-weight:700}.tabs{display:flex;gap:6px;margin-bottom:10px;background:var(--surface-2);border-radius:14px;padding:4px}.tabs button{flex:1;background:none;color:var(--muted);font-weight:600}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.history{display:grid;gap:14px}.range{margin-top:4px}.hist-strip{margin-top:0}.plchart{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.plchart svg{width:100%;height:120px;display:block}.hist-day{display:grid;gap:8px}.hist-day-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px}.hist-day-head h3{font-size:16px}.hist-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.hist-row{background:var(--surface);border:1px solid var(--border);border-left:5px solid var(--neutral);border-radius:12px;overflow:hidden}.hist-row.good{border-left-color:var(--good)}.hist-row.bad{border-left-color:var(--bad)}.hist-main{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;background:none;padding:10px 12px;min-height:64px}.hist-text{display:grid;gap:3px;min-width:0}.hist-text b{overflow-wrap:anywhere}.hist-res{display:grid;justify-items:end;align-content:center;gap:4px;white-space:nowrap}.hist-menu{padding:0 12px 12px}@media(max-width:560px){.hist-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.hist-strip .stat .v{font-size:18px}.hist-strip .stat .l{font-size:12px}}.count-strip{grid-template-columns:repeat(4,1fr)}.money-strip{grid-template-columns:repeat(3,1fr);margin-top:8px}.money-strip .stat .v{font-size:26px}@media(max-width:560px){.count-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.money-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.money-strip .stat .v{font-size:17px}}.unlinked-result{display:grid;gap:6px}.picker-head{font-size:14px;color:var(--muted);margin:4px 0 0}.link-preview{list-style:none;margin:10px 0 0;padding:10px 12px;display:grid;gap:6px;background:var(--surface-2);border-radius:10px}.paste-btn{border-style:solid;font:inherit}.paste-box{grid-column:1 / -1;min-height:64px;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);padding:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:15px;-webkit-user-select:text;user-select:text;caret-color:transparent}.paste-box:empty:before{content:attr(data-placeholder)}.paste-box:focus{outline:3px solid var(--accent);outline-offset:2px}
