:root{color-scheme:dark;--bg:#0b0b0d;--panel:#18181c;--line:#36363d;--muted:#a8a8b2;--accent:#ff5157}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f4f4f5;font:14px system-ui,sans-serif}header{height:80px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.brand{font-size:22px;font-weight:850;letter-spacing:-.8px}.brand b{color:var(--accent)}.brand span{font-size:11px;letter-spacing:2px;margin-left:12px;color:var(--muted)}.badge{color:var(--accent);font-size:11px;letter-spacing:2px}main{max-width:1440px;padding:40px 5%;margin:auto}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;font-weight:700}h1{font-size:40px;letter-spacing:-1.4px;margin:12px 0}h2{font-size:18px;margin:0}.intro{color:var(--muted);font-size:16px}.snapshot{color:var(--muted);font-size:12px;padding:15px 0 25px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:24px;padding:24px}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}button,input,select{font:inherit}button{cursor:pointer;color:#f4f4f5;background:#242429;border:1px solid #42424a;border-radius:7px;padding:9px 12px}button:hover{border-color:var(--accent)}button:disabled{opacity:.4;cursor:default}input,select{width:100%;background:#111114;color:white;border:1px solid #42424a;border-radius:6px;padding:11px;margin-top:8px}label{font-size:12px;color:#c8c8ce;display:block}.filtergrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.range{display:flex;gap:20px;margin-top:18px}.range[hidden]{display:none}.range label{max-width:220px}.playerarea{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;border-top:1px solid var(--line);padding-top:22px}.players{height:140px;overflow:auto;margin-top:10px;display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px}.players button{font-size:12px}.selected{display:flex;gap:8px;flex-wrap:wrap;min-height:50px;margin-top:14px}.selected button{border-color:var(--accent);color:var(--accent);height:38px}.muted,.hint{color:var(--muted)}.hint{font-size:11px;line-height:1.7}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:30px 0}.summary article{border-left:2px solid var(--accent);padding-left:15px}.summary b{display:block;font-size:32px;margin:8px 0}.summary small{color:var(--muted)}.chart{min-height:230px;overflow:auto}.chart svg{width:100%;height:260px;min-width:600px}.legenditem{font-size:12px;margin-left:15px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap}th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:1px;padding:14px;background:#111114}td{padding:15px 14px;border-top:1px solid #333339}td small{display:block;color:var(--muted);margin-top:3px}.results{padding:24px 0}.results .sectionhead{padding:0 24px}.pager{display:flex;justify-content:center;align-items:center;gap:20px;padding:20px 0 0}footer{color:var(--muted);border-top:1px solid var(--line);padding:20px 0;font-size:11px;display:flex;justify-content:space-between}#error{color:#ffbd93;margin:15px 0}.empty{padding:65px 20px;text-align:center;color:var(--muted)}@media(max-width:800px){.filtergrid{grid-template-columns:repeat(2,1fr)}.playerarea{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,1fr)}h1{font-size:31px}.sectionhead{flex-wrap:wrap}main{padding:30px 4%}footer{display:block}.brand span{display:none}}@media(max-width:440px){.filtergrid{grid-template-columns:1fr}.panel{padding:18px}.results{padding:18px 0}}
.outlook select{max-width:360px;margin:0}.outlooknumbers{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding:15px 0}.outlooknumbers b{display:block;font-size:23px;margin-top:7px}.scripttext{color:#d0d0d5;line-height:1.8;max-width:1000px}.scripttext strong{color:var(--accent)}@media(max-width:700px){.outlooknumbers{grid-template-columns:repeat(2,1fr)}}

/* GHM Sports brand */
header{height:100px;border-bottom:2px solid #b51b22;background:#101012}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#f3f3f5;font-size:25px;letter-spacing:-.6px}.brand img{width:63px;height:80px;object-fit:contain}.brand b{color:#ff4148}.brand span{display:block;margin:5px 0 0;font-size:9px;letter-spacing:2.5px}.badge{color:#e4b850}.brandhero{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:230px}.herologo{width:180px;height:227px;object-fit:contain;flex-shrink:0}.eyebrow{color:#edbf55}h1{max-width:700px}.panel{border-top:1px solid #45454e}.summary article{border-left-color:#ec323b}.summary b{color:#f4f4f5}button:hover{background:#352025;border-color:#ff5157}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #edbf55;outline-offset:3px}.scripttext strong{color:#edbf55}.selected button{background:#29171b}footer{border-top-color:#87272d}.snapshot{border-top:1px solid #2c2c31;padding-top:18px}@media(max-width:700px){header{height:88px}.brand{font-size:21px;gap:10px}.brand img{width:50px;height:66px}.brandhero{min-height:180px;gap:12px}.herologo{width:120px;height:152px}.brandhero h1{font-size:28px}.brandhero .intro{font-size:13px}}@media(max-width:440px){.brandhero{align-items:flex-start}.herologo{width:88px;height:111px}.brandhero h1{font-size:26px}.badge{font-size:9px;letter-spacing:1px}}

.construction-banner{display:flex;gap:20px;align-items:center;padding:17px 20px;border:1px solid #745b28;border-left:4px solid #edbf55;border-radius:8px;background:#252016;margin-bottom:24px;font-size:12px;color:#d9cba9}.construction-banner strong{color:#edbf55;letter-spacing:1.2px;white-space:nowrap}.sports-nav{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:22px}.sport-tab{text-align:left;padding:14px 18px;background:#161619}.sport-tab b{font-size:17px}.sport-tab small{display:block;color:#aaaab3;font-size:10px;margin-top:6px}.sport-tab.active{border-color:#ff5157;background:#32181d;box-shadow:inset 0 -2px #ee323b}.sport-tab.active b{color:#ff6267}.section-status{color:#e4b850;font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:1px;display:inline-block;margin-left:10px}.sport-placeholder{padding:45px 30px;margin-top:20px;min-height:220px}.sport-placeholder h2{font-size:28px;margin-top:12px}.sport-placeholder p{color:#b8b8c2}.sport-placeholder[hidden],#nflContent[hidden]{display:none}@media(max-width:700px){.construction-banner{display:block}.construction-banner span{display:block;margin-top:8px;line-height:1.6}.sports-nav{gap:7px;grid-template-columns:repeat(3,1fr)}.sport-tab{padding:12px}.sport-tab b{font-size:15px}.sport-tab small{font-size:9px}.section-status{display:block;margin:6px 0 0}}
.legcontrols{display:grid;grid-template-columns:2fr 1.3fr 1fr auto;gap:14px;align-items:end}.legcontrols button{height:42px;background:#93242d;font-weight:700}.research-leg{padding:18px 0;border-top:1px solid #36363d}.research-leg>button{float:right}.research-leg strong{display:block}.research-leg p{margin:8px 0}.research-leg small{color:#edbf55}.slipactions{display:flex;gap:12px;margin-top:20px}#slipStatus{color:#edbf55}#refreshData{margin:15px 0}.builder{border-top:3px solid #d93742}.research-leg strong .muted{font-size:12px;font-weight:400}.builder .hint{max-width:1000px}@media(max-width:800px){.legcontrols{grid-template-columns:1fr 1fr}.legcontrols button{width:100%}}@media(max-width:440px){.legcontrols{grid-template-columns:1fr}}
.compare-toggle{display:flex;align-items:center;gap:12px;color:#f4f4f5;font-size:15px;font-weight:650;cursor:pointer}.compare-toggle input,.archive-toggle input{width:18px;height:18px;margin:0;accent-color:#e5343f}.compare-toggle .section-status{margin:0}.snapshot-compare{border-color:#6b424a}.snapshot-compare[hidden],#oddsContent[hidden]{display:none}.odds-controls{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:14px;align-items:end;margin:20px 0}.archive-toggle{display:flex;gap:8px;align-items:center;min-height:40px}.custom-tag,.captured-tag{display:block;width:max-content;max-width:100%;font-size:9px;letter-spacing:.8px;text-transform:uppercase;margin:0 0 8px;color:#bbbcc6}.captured-tag{color:#edbf55}.snapshot-compare td{white-space:normal;min-width:140px;vertical-align:top}.snapshot-compare td small{line-height:1.6}#oddsWarning{color:#edbf55;margin:12px 0}@media(max-width:850px){.odds-controls{grid-template-columns:1fr 1fr}.compare-toggle{flex-wrap:wrap}}@media(max-width:440px){.odds-controls{grid-template-columns:1fr}}
