:root{--bg:#0c1220;--panel:#141f33;--line:#293b59;--text:#f0f4fa;--muted:#a1b1ca;--accent:#8fb8ff;--amber:#edc17c;--red:#eea09b;--font:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.6}button,input,a{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}button:disabled{opacity:.5;cursor:wait}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-shell{max-width:1344px;margin:auto;padding:0 54px}.topbar{height:112px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;color:var(--text);line-height:1.3;letter-spacing:1px}.brand:hover{text-decoration:none}.brand-logo{display:block;width:72px;height:72px;object-fit:contain;flex-shrink:0}.brand strong{font-weight:750}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:2.2px;margin-top:5px}.top-label{font-size:10px;letter-spacing:1.7px;color:var(--muted);display:flex;align-items:center;gap:9px}.top-label i{width:6px;height:6px;background:var(--accent);border-radius:50%}.intro{display:flex;justify-content:space-between;align-items:center;padding:65px 0 44px;gap:28px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:650;margin:0 0 14px}h1{font-size:clamp(38px,4.6vw,64px);line-height:1.1;letter-spacing:-2.8px;margin:0 0 23px;font-weight:600}h1 span{color:var(--accent)}.lede{font-size:14px;color:var(--muted);line-height:1.8;margin:0}.date-panel{width:300px;background:var(--panel);border:1px solid var(--line);padding:24px}.date-panel label{font-size:10px;letter-spacing:1.7px;color:var(--muted);display:block;margin-bottom:16px}.date-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}input[type=date]{min-width:0;width:175px;color:var(--text);border:0;background:none;font-size:18px;font-weight:600;padding:4px 0}.icon-button{border:0;color:var(--accent);background:none;font-size:20px;padding:0 3px}.date-panel p{font-size:10px;color:var(--muted);margin:14px 0 18px}.refresh-button{width:100%;background:transparent;color:var(--accent);border:1px solid #365781;padding:8px;font-size:12px}.refresh-button:hover{background:#1b3155}.status-banner{display:flex;align-items:center;gap:14px;padding:19px 22px;background:#172c4e;border:1px solid #345887;margin:7px 0 26px}.status-dot{height:8px;width:8px;background:var(--accent);border-radius:50%;flex-shrink:0}.status-banner strong{font-size:13px;font-weight:600}.status-banner p{margin:3px 0 0;color:var(--muted);font-size:12px}#status-time{font-size:11px;color:var(--muted);margin-left:auto;white-space:nowrap}.status-banner.warn{background:#29251c;border-color:#51412c}.warn .status-dot{background:var(--amber)}.status-banner.error{background:#2b201f;border-color:#533633}.error .status-dot{background:var(--red)}.status-banner.neutral{background:var(--panel);border-color:var(--line)}.neutral .status-dot{background:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);padding:0 0 30px;margin-bottom:44px}.metrics>div{padding:8px 26px;border-left:1px solid var(--line)}.metrics>div:first-child{padding-left:0;border:0}.metrics span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.4px}.metrics strong{display:block;font-size:38px;font-weight:500;letter-spacing:-1.5px;line-height:1.5}.metrics small{font-size:11px;color:var(--muted)}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;gap:15px}h2{font-size:24px;letter-spacing:-.6px;font-weight:550;margin:0}.section-heading .eyebrow{margin:0 0 6px}.subtle{color:var(--muted);font-size:12px}.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.game-card{background:var(--panel);border:1px solid var(--line);padding:22px 24px;min-width:0}.game-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:15px;color:var(--muted);font-size:10px;letter-spacing:.6px}.badge{padding:3px 8px;background:#20385e;color:var(--accent);font-size:9px;font-weight:650;letter-spacing:.5px}.badge.warn{color:var(--amber);background:#332c22}.badge.muted{color:var(--muted);background:#202e45}.matchup{display:flex;align-items:stretch;justify-content:space-between;padding:24px 0;gap:12px;min-height:136px}.team{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.team.home{justify-content:flex-end;text-align:right}.team-code{position:relative;width:88px;height:88px;display:grid;place-items:center;border:1px solid #3b5174;background:#1a2b47;font-weight:700;font-size:22px;color:var(--accent);flex-shrink:0}.team-name{min-width:0}.team-name strong{font-size:26px;font-weight:750;display:block;line-height:1.15;letter-spacing:-.5px;overflow-wrap:anywhere}.team-name small{display:block;margin-bottom:7px;font-size:10px;letter-spacing:1.3px;color:var(--muted)}.versus{align-self:center;color:#98aac5;font-size:11px;flex-shrink:0}.game-note{font-size:12px;color:var(--muted);padding:15px 0}.game-meta{border-top:1px solid var(--line);padding-top:14px;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}details{border-top:1px solid var(--line);margin-top:16px}summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:11px;padding-top:13px;color:var(--accent);list-style:none}summary::after{content:'+';font-size:18px}details[open]>summary::after{content:'−'}.market-list{overflow:auto;margin-top:12px}table{border-collapse:collapse;width:100%;font-size:10px;text-align:left}th{font-size:9px;color:var(--muted);font-weight:500;padding:9px 5px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 5px;vertical-align:top;border-bottom:1px solid var(--line)}.good{color:var(--accent)}.caution{color:var(--amber)}.issue-list{font-size:10px;line-height:1.8;color:var(--amber);margin:10px 0;padding-left:16px;overflow-wrap:anywhere}.empty{grid-column:1/-1;border:1px dashed #344a6c;padding:55px 25px;text-align:center;background:#101a2c}.empty-symbol{font-size:42px;color:#6b91c9}.empty h3{font-size:21px;font-weight:500;margin:12px 0}.empty p{color:var(--muted);max-width:540px;margin:auto;font-size:13px}.bottom-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;margin:55px 0 65px;padding-top:35px;border-top:1px solid var(--line)}.archive-row{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);gap:12px}.archive-row a{font-weight:550;font-size:12px}.archive-row small{font-size:10px;color:var(--muted)}.method{border-left:1px solid var(--line);padding-left:40px}.method h2{font-size:26px;line-height:1.3;margin-bottom:20px}.method p:not(.eyebrow){font-size:12px;color:var(--muted)}.method-rule{color:var(--amber);font-size:10px;display:block;margin-top:20px}.ticket{padding:22px 25px;border:1px solid #3c6396;background:#182e50;margin-bottom:35px}.ticket h2{font-size:20px}.ticket p{color:var(--muted);font-size:12px;margin-bottom:0}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding:24px 0 30px;color:#899bb7;font-size:9px;letter-spacing:.5px}footer strong{font-weight:500}.footer-slash{color:var(--accent);margin:0 8px}[hidden]{display:none!important}
@media(min-width:1600px){.app-shell{max-width:1450px}.intro{padding-top:80px}}@media(max-width:850px){.app-shell{padding:0 26px}.intro{padding-top:42px;gap:24px}h1{font-size:46px}.date-panel{width:265px;padding:20px}.metrics>div{padding-left:17px;padding-right:12px}.metrics span{font-size:8px;letter-spacing:.7px}.games-grid{gap:13px}.game-card{padding:17px}.bottom-grid{gap:30px}.method{padding-left:25px}#status-time{white-space:normal;max-width:120px;text-align:right}}
@media(max-width:600px){.app-shell{padding:0 20px}.topbar{height:88px}.brand{font-size:12px;gap:10px}.brand-logo{width:56px;height:56px}.top-label{font-size:8px;letter-spacing:.7px}.intro{display:block;padding:35px 0 22px}h1{font-size:43px;letter-spacing:-2px}.lede{font-size:12px}.date-panel{width:100%;margin-top:25px;padding:16px 18px}.date-panel label{margin-bottom:9px}.date-controls{justify-content:initial}.date-controls input{flex:1;text-align:center}.date-panel p{margin:8px 0 12px;text-align:center}.status-banner{padding:15px;align-items:flex-start;margin:0 0 23px}.status-dot{margin-top:7px}#status-time{display:none}.metrics{grid-template-columns:1fr 1fr;gap:22px 0;padding-bottom:25px;margin-bottom:30px}.metrics>div{padding:0 18px}.metrics>div:nth-child(3){border:0;padding-left:0}.metrics strong{font-size:34px}.metrics span{font-size:9px}.games-grid{grid-template-columns:1fr;gap:15px}.game-card{padding:19px}.section-heading h2{font-size:21px}.bottom-grid{grid-template-columns:1fr;gap:35px;margin:35px 0}.method{border-left:0;border-top:1px solid var(--line);padding:28px 0 0}footer{display:block;font-size:8px}footer>span{display:block;margin-bottom:7px}.empty{padding:35px 20px}}


.coverage-panel{margin:32px 0 0;padding:1rem 1.25rem;border:1px solid var(--border,#293b59);border-radius:12px;color:var(--muted,#a1b1ca);font-size:.9rem;line-height:1.7}.coverage-panel p{margin:0}.coverage-panel summary{cursor:pointer;margin-top:.6rem}.coverage-panel ul{padding-left:1.4rem;overflow-wrap:anywhere}footer a{color:inherit;text-decoration:underline}
.team-code.has-logo{border:0;background:transparent}/* NHL SVGs include a standard canvas margin; enlarge the image inside its reserved logo space. */
.team-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:block;width:150%;height:150%;max-width:none;object-fit:contain;filter:drop-shadow(0 2px 3px #0006)}

@media(max-width:1100px){.games-grid{grid-template-columns:1fr}.team-name strong{font-size:30px}}
@media(max-width:480px){.matchup{padding:20px 0;gap:10px}.team,.team.home{flex-direction:column;justify-content:flex-start;gap:10px;text-align:center}.team.home .team-code{order:-1}.team-code{width:88px;height:88px}.team-name strong{font-size:23px;letter-spacing:-.3px}.team-name small{font-size:9px;margin-bottom:6px}.versus{font-size:10px}}

.games-grid{align-items:start}
.recommendation{margin-top:18px;padding:14px 16px;border-left:3px solid #628dcf;background:#20385e44}
.recommendation h3{font-size:18px;line-height:1.4;margin:0 0 10px;font-weight:650}
.recommendation .eyebrow{margin-bottom:7px;font-size:9px}
.recommendation-facts{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:12px;color:var(--accent);font-variant-numeric:tabular-nums}
.recommendation-facts>span{cursor:help}
.recommendation-confidence{text-decoration:underline dotted;text-underline-offset:4px}
.recommendation>.subtle{margin:8px 0 0;font-size:11px}
.recommendation>small{display:block;margin-top:6px;font-size:10px}
.recommendation.needs-review{border-left-color:var(--amber);background:#332c2244}
.tip-analysis{margin-top:12px}
.tip-analysis summary{font-size:11px}
.field-details{padding-left:12px;border-left:2px solid var(--line);border-top:0}
.field-details>summary{font-size:12px;font-weight:600;gap:12px}
.field-details>.subtle{font-size:11px;margin:10px 0}
.detail-retry{background:transparent;border:1px solid #416394;color:var(--accent);padding:5px 10px;font-size:11px;margin:4px 0 10px}
.comparison-teams,.field-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.comparison-teams{margin:14px 0 4px}
.comparison-team{font-size:12px;color:var(--accent);min-width:0}
.comparison-team strong{font-weight:650}
.comparison-team.home,.field-cell.home{text-align:right}
.field-group{margin:16px 0}
.field-group>summary{font-size:11px;font-weight:650;letter-spacing:.5px;color:var(--muted);padding:10px 0;gap:12px}
.field-row{position:relative;padding:10px 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.field-heading{display:flex;justify-content:center;align-items:baseline;gap:4px 12px;text-align:center}
.field-cell{min-width:0}
.field-label{font-size:12px}
.field-value{font-size:13px;margin:4px 0 0;white-space:pre-line}
button.field-label{background:none;border:0;padding:0;color:inherit;text-align:center;line-height:inherit;cursor:help;text-decoration:underline dotted;text-underline-offset:4px}
.field-tooltip{position:absolute;top:calc(100% - 3px);left:0;right:0;z-index:10;padding:11px 13px;border:1px solid #416394;border-radius:6px;background:#0c172a;box-shadow:0 8px 22px #0006;color:var(--text);font-size:11px;line-height:1.7;white-space:pre-line;max-height:min(280px,50vh);overflow:auto;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .12s,visibility .12s}
.field-row.has-note:not(.note-dismissed):hover>.field-tooltip{visibility:visible;opacity:1;pointer-events:auto;transition-delay:.5s}
.field-row.has-note:not(.note-dismissed):focus-within>.field-tooltip,.field-row.note-open>.field-tooltip{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}

/* The team labels remain visible only within their expanded statistics. */
.comparison-teams{position:sticky;top:0;z-index:12;background:var(--panel);padding:12px 0;border-bottom:1px solid var(--line);box-shadow:0 5px 8px -6px #0009}
.match-score{display:flex;align-items:center;justify-content:center;gap:26px;margin:0 0 22px}.match-score strong{font-size:34px;font-weight:600}.match-score span{font-size:10px;color:var(--muted);text-align:center}
.settlement{font-size:11px;font-weight:750;letter-spacing:1px;margin:0 0 10px}.settlement.win{color:#77d6ab}.settlement.loss{color:#ff9b98}.settlement.push,.settlement.unavailable{color:var(--amber)}.recommendation.outcome-win{border-left-color:#77d6ab}.recommendation.outcome-loss{border-left-color:#ff9b98}
