@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--royal:#003da5;--navy:#071d42;--ink:#10264a;--muted:#53647c;--line:#dbe3ef;--surface:#f2f6fc;--gold:#a57711;--cyan:#007f95;--font:'DM Sans',Arial,sans-serif;--display:'Barlow Condensed','Arial Narrow',Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f5f8fc;color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--royal)}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #00a2d1;outline-offset:4px}button:disabled{opacity:.3;cursor:default}.masthead{height:86px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--royal);color:#fff;border-bottom:5px solid var(--navy)}.brand{display:flex;gap:19px;align-items:center;color:inherit;text-decoration:none}.brand-word{font:bold italic 41px Georgia,serif;letter-spacing:-3px;line-height:1;border-right:1px solid #ffffff55;padding-right:23px}.brand>span:last-child{font-size:12px;line-height:1.5;letter-spacing:2px}.brand b{font-weight:500;opacity:.7;font-size:10px}.edition{font:600 21px var(--display);letter-spacing:2px;text-align:right}.edition>span{display:block;font:500 10px var(--font);letter-spacing:2px;margin-top:4px;opacity:.75}main{max-width:1500px;margin:0 auto;padding:32px max(5vw,24px) 28px}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:700;margin:0 0 8px;color:var(--royal)}h1,h2,h3,p{margin-top:0}h1{font:800 clamp(40px,4.5vw,62px)/.98 var(--display);letter-spacing:-.5px;margin:0 0 12px;text-transform:uppercase}h2{font:700 28px/1.1 var(--display);margin:0}.deck{margin:0;color:var(--muted);font-size:16px}.intro-note{display:flex;align-items:center;gap:17px}.intro-note>span{font:700 56px var(--display);color:#c1cee3}.intro-note p{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}.mobile-break{display:none}.explorer{background:#fff;border:1px solid var(--line);box-shadow:0 12px 36px #17335d07;border-radius:6px;overflow:hidden}.toolbar{padding:17px 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:#fcfdff}.seasons,.polls{display:flex;gap:4px}.toolbar button{border:0;background:transparent;color:var(--muted);border-radius:4px;padding:10px 17px;min-height:44px;font-weight:600;font-size:14px;transition:background .15s,color .15s}.toolbar button:hover{background:#e9eff9}.seasons button.active{background:var(--royal);color:#fff}.polls{background:#edf2f9;padding:3px;border-radius:5px}.polls button{padding:7px 12px;min-height:36px}.polls button.active{background:white;color:var(--ink);box-shadow:0 1px 4px #16376515}.chart-title-row{padding:25px 26px 16px;display:flex;justify-content:space-between;gap:24px;align-items:center}.chart-title-row .eyebrow{margin-bottom:6px;font-size:11px}.legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 17px;font-size:13px}.legend-item{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.legend-swatch{display:inline-block;width:22px;height:3px;background:var(--swatch)}.legend-swatch.dashed{background:repeating-linear-gradient(to right,var(--swatch) 0 5px,transparent 5px 8px)}.legend-color{width:8px;height:8px;border-radius:50%;background:var(--swatch);display:inline-block}.legend-separator{height:16px;border-left:1px solid var(--line)}.chart-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;padding:0 26px 22px;gap:25px}.chart-main{min-width:0}.chart-scroll{width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#b3c5e1 transparent;overscroll-behavior-x:contain}#chart{width:100%;height:auto;display:block;min-width:680px;user-select:none;overflow:visible}#chart text{font-family:var(--font)}#chart .axis-label{fill:#5b6d86;font-size:13px}#chart .phase-label{fill:#68809d;font-size:11px;font-weight:700;letter-spacing:1.2px}#chart .grid-line{stroke:#e2e8f1;stroke-width:1}#chart .line-path{stroke-linecap:round;stroke-linejoin:round;fill:none}#chart .point-label{font-size:13px;font-weight:700;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}#chart .week-column{cursor:crosshair}.chart-note{font-size:12px;color:var(--muted);margin:14px 2px 0;line-height:1.6}.week-detail{background:var(--navy);color:#fff;padding:23px 21px;border-radius:4px;align-self:start;min-height:340px}.week-detail .eyebrow{color:#abc7f5;font-size:11px}.week-detail h3{font:700 32px/1.05 var(--display);margin:0 0 7px}.week-detail .detail-date{color:#abc0dc;font-size:13px;margin-bottom:21px}.rank-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:23px 0}.rank-cell .rank-label{font-size:11px;letter-spacing:1.4px;color:#adc3e1;font-weight:600}.rank-cell .rank-value{font:700 58px/1.1 var(--display);margin:6px 0 2px;letter-spacing:-1px}.rank-cell .rank-value.small{font:600 17px/1.35 var(--font);letter-spacing:0;min-height:57px;padding-top:12px}.rank-cell .rank-value .hash{font-size:29px;color:#82a4d3;margin-right:2px}.rank-cell .rank-date{font-size:12px;color:#abc0dc}.rank-cell .movement{font-size:12px;min-height:22px;color:#9fdfe9;margin-top:8px}.detail-context{font-size:14px;line-height:1.65;color:#c6d3e5;border-top:1px solid #ffffff25;padding-top:17px;margin:0}.detail-sources{margin-top:18px;display:flex;gap:18px}.detail-sources a{font-size:12px;color:#c4d8fa;text-underline-offset:4px}.compare-row{border-top:1px solid #ffffff20;padding:13px 0}.compare-head{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:700;margin-bottom:8px}.compare-head span:first-child{border-left:3px solid var(--color);padding-left:9px}.compare-ranks{display:flex;gap:17px;font-size:14px}.compare-ranks b{font:600 26px var(--display);margin-left:4px}.compare-dates{font-size:11px;color:#abc0dc;margin-top:4px}.scrubber{display:flex;align-items:center;gap:16px;margin-top:6px}.scrubber button{background:#fff;border:1px solid var(--line);height:39px;min-width:39px;color:var(--royal);border-radius:50%;font-size:20px}.scrubber button:hover:not(:disabled){background:#edf3fc}.range-group{flex:1;min-width:0}.range-group label{font-size:10px;letter-spacing:1.4px;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--muted)}.range-group strong{font-size:12px;letter-spacing:0;color:var(--royal)}input[type=range]{display:block;width:100%;height:22px;margin:3px 0 0;accent-color:var(--royal);cursor:ew-resize}.season-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);background:#fafcff;padding:21px 26px;gap:20px}.stat{border-left:1px solid var(--line);padding-left:25px}.stat:first-child{border:0;padding-left:0}.stat-label{font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;font-weight:700;margin:0 0 6px}.stat-value{font:700 34px/1 var(--display);color:var(--royal);margin:0 0 5px}.stat-sub{font-size:12px;color:var(--muted);margin:0}.story-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:30px 0}.story{display:flex;gap:17px;padding-right:12px}.story-num{font:700 41px/1 var(--display);color:var(--royal);min-width:55px}.story h3{font-size:14px;margin:0 0 5px}.story p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.data-section{border-top:1px solid #cbd8e9;border-bottom:1px solid #cbd8e9;padding:0 3px}.data-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font-weight:600}.data-section summary::-webkit-details-marker{display:none}.summary-note{font-size:12px;color:var(--muted);font-weight:400}.summary-note b{font-size:20px;font-weight:400;margin-left:18px;display:inline-block}.data-section[open] .summary-note b{transform:rotate(45deg)}.table-scroll{overflow-x:auto;padding-bottom:20px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left;min-width:690px;font-variant-numeric:tabular-nums}th{font-size:12px;color:var(--muted);font-weight:600;white-space:nowrap}th,td{padding:11px 14px;border-bottom:1px solid var(--line)}tbody tr:nth-child(even){background:#fff}td a{text-underline-offset:3px}.table-season{font-size:18px;color:var(--royal);padding:20px 14px 6px}.table-caption{font-size:12px;padding:0 14px 12px;color:var(--muted);text-align:left}.methodology{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:34px 0}.methodology h2{font-size:31px}.methodology p:not(.eyebrow){font-size:13px;line-height:1.7;color:var(--muted);margin-bottom:10px}footer{border-top:3px solid var(--royal);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}footer>span{font-weight:700;letter-spacing:1px;color:var(--royal)}footer>div{display:flex;gap:20px;flex-wrap:wrap}footer a{font-weight:600;text-decoration:none}.sources{margin-top:22px;font-size:13px;color:var(--muted)}.sources summary{cursor:pointer}.sources p{margin:14px 0}.sources a{text-underline-offset:3px}.source-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:20px 0}.source-columns h3{font-size:15px;color:var(--ink);margin-bottom:10px}.source-columns ul{padding-left:18px;margin:0}.source-columns li{margin:7px 0}.note-inline{background:#eaf1fb;border-left:3px solid var(--royal);padding:11px 14px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){main{padding-left:60px;padding-right:60px}}
@media(max-width:1150px){.chart-layout{grid-template-columns:minmax(0,1fr) 245px;gap:18px;padding:0 20px 22px}.chart-title-row{padding-left:20px;padding-right:20px;align-items:flex-start}.legend{max-width:245px;justify-content:flex-end;gap:8px 13px}.toolbar{padding-left:20px;padding-right:20px}.week-detail{padding:21px 18px}.intro-note{display:none}#chart{min-width:620px}}
@media(max-width:930px){.chart-layout{grid-template-columns:1fr}.week-detail{min-height:auto;display:grid;grid-template-columns:1fr 1.4fr;gap:0 24px}.week-detail .detail-heading{align-self:center}.rank-pair{margin:0 0 15px}.detail-context,.detail-sources{grid-column:1/-1}.compare-list{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;grid-column:1/-1}.compare-row{padding:15px 0}.compare-ranks{gap:14px}.week-detail.comparison .detail-heading{grid-column:1/-1}.week-detail.comparison .detail-date{margin-bottom:6px}.chart-title-row{align-items:center}.legend{max-width:none}.story-strip{gap:18px}.story{gap:10px}.story-num{font-size:35px;min-width:46px}.stat{padding-left:18px}.methodology{gap:35px}.rank-cell .rank-value{font-size:49px}}
@media(max-width:640px){.masthead{height:74px;padding:0 19px}.brand{gap:13px}.brand-word{font-size:32px;padding-right:16px}.brand>span:last-child{font-size:10px;letter-spacing:1.4px}.brand b{font-size:8px;letter-spacing:1.1px}.edition{font-size:17px}.edition>span{display:none}main{padding:25px 16px 22px}.intro{margin-bottom:23px}.intro .eyebrow{font-size:10px;margin-bottom:10px}h1{font-size:43px;line-height:.98}.deck{font-size:14px;max-width:300px;line-height:1.5}.toolbar{padding:13px 12px;flex-wrap:wrap;gap:12px}.seasons{width:100%;justify-content:space-between;gap:2px}.toolbar .seasons button{padding:8px 11px;flex:1;white-space:nowrap;font-size:13px}.polls{width:100%}.polls button{flex:1;font-size:13px}.chart-title-row{padding:19px 16px 10px;flex-direction:column;align-items:flex-start;gap:13px}.chart-title-row h2{font-size:25px}.legend{justify-content:flex-start;font-size:12px;gap:8px 12px}.chart-layout{padding:0 12px 16px;gap:18px}#chart{min-width:650px}.chart-note{font-size:12px;margin:12px 5px 0}.scrubber{gap:10px;padding:0 3px}.range-group label{font-size:9px;letter-spacing:1px}.range-group strong{font-size:11px}.week-detail{padding:20px 16px;gap:0 15px;grid-template-columns:1fr}.week-detail:not(.comparison) .detail-heading{grid-column:1}.week-detail h3{font-size:28px}.week-detail .detail-date{margin-bottom:15px}.rank-pair{gap:22px;margin:0 0 20px}.rank-cell .rank-value{font-size:49px}.rank-cell .rank-value.small{min-height:45px}.detail-context{font-size:13px}.compare-list{grid-template-columns:1fr;gap:0}.compare-row{display:grid;grid-template-columns:55px 1fr;gap:0 14px;padding:12px 0}.compare-head{margin:0;grid-row:1/3;align-self:start;margin-top:3px}.compare-ranks{justify-content:space-between;padding-right:18px}.compare-dates{grid-column:2}.season-stats{grid-template-columns:1fr 1fr;padding:20px 17px;gap:22px 14px}.stat{padding-left:17px}.stat:nth-child(3){border:0;padding-left:0}.stat-label{font-size:10px}.stat-value{font-size:32px}.stat-sub{font-size:11px}.story-strip{grid-template-columns:1fr;gap:19px;margin:25px 4px}.story{gap:15px}.story-num{min-width:50px;font-size:39px}.story p{font-size:13px}.story h3{font-size:14px}.data-section summary{font-size:14px}.summary-note{font-size:0}.summary-note b{font-size:22px}.methodology{grid-template-columns:1fr;gap:19px;padding:28px 3px}.methodology h2{font-size:28px}.methodology h2 br{display:none}.methodology h2 br:after{content:' '}.methodology p:not(.eyebrow){font-size:13px}footer{flex-direction:column;gap:12px}footer>div{gap:10px}.source-columns{grid-template-columns:1fr;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Keep prose and controls comfortable at phone sizes and browser zoom. */
.story p,.methodology p:not(.eyebrow){font-size:16px}
.story h3,.sources{font-size:16px}
.detail-context,.toolbar button,.toolbar .seasons button,.polls button{font-size:14px}
.chart-title-row .eyebrow,.week-detail .eyebrow,.stat-label,footer{font-size:12px}
.legend,#chart .axis-label{font-size:14px}
.mobile-hint{display:none}
@media(max-width:640px){.mobile-hint{display:block;font-weight:600;margin-bottom:4px}.source-columns{font-size:14px}.range-group label{font-size:12px;letter-spacing:0}.story h3{font-size:16px}}
h1{font-family:var(--font);font-size:clamp(28px,3.2vw,43px);line-height:1.15;font-weight:700;letter-spacing:-1.2px;text-transform:none}
.as-of{flex-shrink:0;text-align:right;border-left:1px solid var(--line);padding-left:26px}.as-of span{display:block;color:var(--muted);font-size:12px;letter-spacing:1px}.as-of strong{display:block;font-size:14px;font-weight:600;margin-top:5px}
.brand-logo{display:block;width:88px;height:58px;object-fit:contain;flex-shrink:0}
.chart-scroll.current-season #chart{min-width:0}
@media(max-width:930px){.as-of{display:none}}
@media(max-width:640px){.brand-logo{width:76px;height:48px}.brand>span:last-child{font-size:11px}.edition{font-size:16px}.chart-scroll.current-season #chart{min-width:0}.intro .deck{max-width:none}.intro{margin-bottom:23px}h1{letter-spacing:-.8px}}

/* Weekly game context shares the same hover, tap and keyboard selection. */
.game-detail{grid-column:1/-1;border-top:1px solid #ffffff25;padding:14px 0;margin:0;font-size:14px;line-height:1.5}
.game-meta{font-size:12px;color:#abc0dc;margin-bottom:5px}
.game-score{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:17px;font-variant-numeric:tabular-nums}
.game-outcome{font-size:12px;letter-spacing:.3px;border:1px solid #9fdfe966;color:#9fdfe9;border-radius:3px;padding:1px 6px}
.game-outcome.loss{color:#ffd1c8;border-color:#ffd1c866}
.game-opponent{margin-top:5px}.game-opponent span{color:#abc0dc;font-size:12px}
.game-source{display:inline-block;color:#c4d8fa;font-size:12px;margin-top:7px;text-underline-offset:3px}
.game-idle strong,.game-idle span{display:block}.game-idle strong{font-size:14px}.game-idle span{color:#abc0dc;font-size:13px;margin-top:5px}
.compare-row .game-detail{border:0;padding:9px 0 0}.compare-row .game-score{font-size:16px}
@media(max-width:640px){.compare-row .game-detail{grid-column:2}.game-score{gap:6px}}
