:root{color-scheme:dark;--bg: #0b1020;--panel: #131a32;--panel-2: #1a2347;--text: #e9ecf5;--muted: #99a3c4;--accent: #5fa8ff;--accent-strong: #2f7fff;--good: #5fd6a4;--warn: #ffb86b;--bad: #ff7a7a;--border: #243057}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;min-height:100%;-webkit-font-smoothing:antialiased}body{font-size:15px;line-height:1.45}.app{max-width:720px;margin:0 auto;padding:16px 14px 80px}.header{display:flex;flex-direction:column;gap:10px;padding:10px 4px 14px;border-bottom:1px solid var(--border);margin-bottom:16px}.sport-toggle{display:flex;gap:6px;width:100%;background:var(--panel);border:1px solid var(--border);border-radius:2px;padding:4px}.sport-toggle-btn{flex:1;background:transparent;border:none;color:var(--muted);font-size:14px;font-weight:700;letter-spacing:.04em;padding:10px 14px;border-radius:2px;cursor:pointer;min-height:40px;text-transform:uppercase;transition:background .15s ease,color .15s ease}.sport-toggle-btn.active{background:var(--accent-strong);color:#fff;box-shadow:0 1px #ffffff14}.sport-toggle-btn:disabled{cursor:progress;opacity:.85}.rules-banner{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:12.5px;color:var(--muted);margin-bottom:12px}.rules-banner strong{color:var(--accent)}.scenario{margin-top:2px;margin-bottom:8px;font-size:11.5px;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.winner-picker{display:flex;flex-direction:column;gap:8px;background:var(--panel-2);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:12px}.winner-picker-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:700}.winner-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.winner-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:10px 12px;border-radius:2px;cursor:pointer;text-align:left;min-height:56px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.winner-btn:hover:not(:disabled):not(.active){border-color:var(--accent)}.winner-btn.active{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff;box-shadow:0 1px #ffffff14}.winner-btn.active .winner-btn-side,.winner-btn.active .winner-btn-odds{color:#ffffffd9}.winner-btn:disabled,.winner-btn.unavailable{opacity:.45;cursor:not-allowed}.winner-btn-team{font-weight:700;font-size:14px}.winner-btn-side{color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.winner-btn-odds{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.winner-note{font-size:11.5px;color:var(--warn);line-height:1.4}.selected-parlay{display:flex;flex-direction:column}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.title{font-size:20px;font-weight:700;letter-spacing:.2px}.subtitle{font-size:12px;color:var(--muted)}.refresh-btn{background:var(--accent-strong);border:none;color:#fff;font-weight:600;font-size:13px;padding:8px 12px;border-radius:2px;cursor:pointer;min-height:36px}.refresh-btn:disabled{opacity:.6;cursor:progress}.status-banner{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--muted);margin-bottom:12px}.status-banner.warn{border-color:#4d3a14;background:#2a1f0a;color:#f4d291}.status-banner.live{border-color:#1f4a2e;background:#102516;color:#b6e8c6}.cards{display:flex;flex-direction:column;gap:14px}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;box-shadow:0 1px #ffffff08,0 8px 24px #00000059}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.matchup{font-weight:700;font-size:15px}.start-time{color:var(--muted);font-size:12px}.conviction{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.conviction.high{background:#5fd6a429;color:var(--good)}.conviction.medium{background:#ffb86b2e;color:var(--warn)}.conviction.low{background:#ff7a7a2e;color:var(--bad)}.payout{background:linear-gradient(135deg,#5fa8ff29,#5fd6a424);border:1px solid rgba(95,168,255,.35);border-radius:12px;padding:12px 14px;margin-bottom:12px}.payout.estimated{background:linear-gradient(135deg,#ffb86b29,#5fa8ff1f);border-color:#ffb86b73}.payout-headline{font-size:16px;font-weight:600;color:var(--text);letter-spacing:.1px}.payout-headline strong{color:var(--good);font-weight:800;font-size:18px}.payout.estimated .payout-headline strong{color:var(--warn)}.payout-sub{margin-top:4px;font-size:12.5px;color:var(--muted)}.payout-sub strong{color:var(--text);font-weight:700}.payout-flag{color:var(--warn);font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:11px}.payout-disclaimer{margin-top:6px;font-size:11px;color:var(--muted);line-height:1.4}.legs{display:flex;flex-direction:column;gap:10px}.leg{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.leg-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.leg-type{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:700}.leg-odds{font-size:12px;color:var(--muted)}.leg-pick{font-weight:600;font-size:14px}.leg-pick-player{font-weight:700}.player-team-badge{display:inline-block;margin-left:6px;padding:1px 7px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:#5fa8ff1f;border:1px solid var(--accent);border-radius:999px;vertical-align:middle;line-height:1.4}.player-team-meta{margin-top:3px;font-size:11.5px;color:var(--muted)}.leg-rationale{font-size:12.5px;color:var(--muted);margin-top:4px}.meta{margin-top:12px;padding-top:10px;border-top:1px dashed var(--border);font-size:12px;color:var(--muted)}.meta strong{color:var(--text);font-weight:600}.disclaimer{margin-top:24px;font-size:11.5px;color:var(--muted);text-align:center;padding:0 8px;line-height:1.5}.empty{text-align:center;padding:40px 20px;color:var(--muted)}.error{background:#2a1212;border:1px solid #5a2222;color:#ffb3b3;padding:12px;border-radius:10px;margin-bottom:12px;font-size:13px}.custom-panel{background:var(--panel-2);border:1px solid var(--border);border-radius:4px;padding:12px 14px;display:flex;flex-direction:column;gap:12px}.custom-panel-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700}.custom-row{display:flex;flex-direction:column;gap:6px}.custom-label{font-size:12px;color:var(--muted);font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px}.custom-value{color:var(--text);font-variant-numeric:tabular-nums;font-weight:700;background:var(--panel);border:1px solid var(--border);border-radius:2px;padding:1px 8px;font-size:12px}.custom-row input[type=range]{width:100%;accent-color:var(--accent-strong);height:28px}.custom-help{font-size:11px;color:var(--muted)}.segmented{display:flex;gap:6px;background:var(--panel);border:1px solid var(--border);border-radius:2px;padding:3px}.segmented.sports-multi{flex-wrap:wrap;row-gap:6px}.segmented.sports-multi .segmented-btn{flex:0 1 auto}.segmented-btn{flex:1;background:transparent;border:none;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.04em;padding:8px 10px;border-radius:2px;cursor:pointer;min-height:36px;text-transform:uppercase;transition:background .15s ease,color .15s ease}.segmented-btn.active{background:var(--accent-strong);color:#fff}.segmented-btn:disabled{cursor:progress;opacity:.7}.segmented-btn.blocked:disabled{cursor:not-allowed;opacity:.45}button{border-radius:2px}.custom-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.custom-tag{background:#5fa8ff1f;border:1px solid var(--accent);color:var(--accent);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:2px 8px}.custom-parlay-card .matchup{font-size:14.5px}@media (min-width: 740px){.app{padding-top:24px}body{font-size:14px}.custom-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px}.custom-row>.custom-label{flex:0 0 240px}.custom-row>input[type=range]{flex:1}.custom-row>.segmented{flex:1}.custom-row>.segmented.sports-multi{flex:0 1 auto}.custom-row>.custom-help{flex:0 0 100%;margin-left:240px}}
