.basketball-state-archive{--bsa-ink:#0b0b0d;--bsa-border:#e4e4e7;margin:8px 0 32px;padding:20px;background:#f4f4f5;border:1px solid var(--bsa-border);border-top:4px solid #c90029;border-radius:8px;color:var(--bsa-ink);font-family:Arial,sans-serif;scroll-margin-top:90px}.bsa-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.season-archive .bsa-heading h2{margin:0;font:800 clamp(24px,3vw,32px)/1.15 Arial,sans-serif}.bsa-heading p{margin:0;font-size:14px;color:#52525b}.bsa-classes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:16px 0}.bsa-classes a{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #e4e4e7;border-radius:5px;background:#fff;font:700 14px Arial,sans-serif;text-decoration:none;color:var(--bsa-ink)}.bsa-classes a[aria-current]{background:#0b0b0d;color:#fff;border-color:#0b0b0d}.bsa-champion{display:flex;align-items:center;gap:12px;padding:16px 0 20px}.bsa-champion h3{font:800 21px/1.25 Arial,sans-serif;margin:0}.bsa-champion p{font-size:14px;margin:5px 0 0}.bsa-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.bsa-round{min-width:0}.bsa-round>h3,.bsa-third>h3{font:700 14px/1.4 Arial,sans-serif;margin:0 0 12px;color:#52525b}.bsa-games{display:grid;gap:16px;grid-template-rows:repeat(4,minmax(135px,auto));height:calc(100% - 32px)}.bsa-quarterfinal .bsa-game{grid-row:span 1}.bsa-semifinal .bsa-game{grid-row:span 2;align-self:center}.bsa-final .bsa-game{grid-row:span 4;align-self:center}.bsa-game{position:relative;background:#fff;border:1px solid var(--bsa-border);border-radius:6px;min-width:0;padding:8px 0;width:100%}.bsa-quarterfinal .bsa-game:nth-child(odd):after{content:"";position:absolute;left:100%;top:50%;width:12px;height:calc(100% + 18px);border:1px solid #52525b;border-left-width:0;border-radius:0 3px 3px 0;pointer-events:none}.bsa-final .bsa-game:before,.bsa-semifinal .bsa-game:before{content:"";position:absolute;right:100%;top:50%;width:12px;border-top:1px solid #52525b;pointer-events:none}.bsa-semifinal .bsa-game:first-child:after{content:"";position:absolute;left:100%;top:50%;width:12px;height:calc(200% + 170px);border:1px solid #52525b;border-left-width:0;border-radius:0 3px 3px 0;pointer-events:none}.bsa-game-meta{margin:0 12px 5px;font-size:13px;color:#52525b}.bsa-team{display:grid;grid-template-columns:16px 28px minmax(0,1fr) 39px;gap:6px;align-items:center;padding:0 8px;border-left:3px solid transparent;min-height:48px;font-size:14px;line-height:1.3}.bsa-team.is-winner{font-weight:800;border-left-color:#c90029}.bsa-team a{display:flex;align-items:center;min-height:44px;text-decoration:none;color:var(--bsa-ink);overflow-wrap:normal;word-break:normal}.bsa-team a:hover{text-decoration:underline}.bsa-seed{font-size:13px;color:#52525b;text-align:center}.bsa-score{display:flex;justify-content:flex-end;align-items:center;gap:3px;font:700 19px Arial,sans-serif;font-variant-numeric:tabular-nums}.bsa-check{width:10px;font-size:13px}.bsa-third{max-width:340px;margin-top:24px}.basketball-state-archive .bt-readable{margin-top:20px;border-top:1px solid #e4e4e7;padding-top:8px;font-size:14px}.basketball-state-archive .bt-readable summary{min-height:44px;align-content:center;cursor:pointer;font-weight:700}.basketball-state-archive .bt-readable h3{font:700 18px Arial,sans-serif}.basketball-state-archive .bt-readable ol{padding-left:22px}.basketball-state-archive .bt-readable li{padding:4px 0}.bsa-source{display:flex;gap:8px 20px;flex-wrap:wrap;margin-bottom:0;font-size:13px;color:#52525b}.bsa-source a{display:inline-flex;align-items:center;min-height:44px;color:#a40022;font-weight:700}.bsa-source span{align-content:center}.season-archive-boys .archive-champions small,.season-archive-boys .archive-source,.season-archive-boys .season-archive-heading>p:first-child{font-size:13px}.season-archive-boys .archive-filters input,.season-archive-boys .archive-filters select{font-size:16px}@media(min-width:801px){.bsa-games{grid-template-rows:repeat(4,150px);height:auto}.bsa-quarterfinal .bsa-game:nth-child(odd):after{height:166px}.bsa-semifinal .bsa-game:first-child:after{height:332px}}.season-archive-boys .archive-pagination a,.season-archive-boys .crumbs a,.season-archive-boys .crumbs span{font-size:13px}@media(max-width:800px){.basketball-state-archive{padding:16px}.bsa-classes{grid-template-columns:repeat(3,minmax(0,1fr))}.bsa-tree{grid-template-columns:minmax(0,1fr);gap:24px}.bsa-games{height:auto;grid-template-rows:none;gap:12px}.bsa-final .bsa-game,.bsa-quarterfinal .bsa-game,.bsa-semifinal .bsa-game{grid-row:auto}.bsa-game:after,.bsa-game:before{display:none}.bsa-team{grid-template-columns:20px 28px minmax(0,1fr) 44px;font-size:16px;gap:8px}.bsa-third{max-width:none}.bsa-champion{align-items:flex-start}.bsa-champion h3{font-size:20px}.bsa-name{line-height:1.4}}.season-archive{max-width:1200px;margin:auto;padding:24px;color:#0b0b0d}.season-archive-heading{border-top:4px solid #e4002b;padding:24px 0;max-width:850px}.season-archive-heading>p:first-child{font-size:12px;font-weight:800;letter-spacing:.08em;color:#a40022}.season-archive h1{font-size:clamp(30px,4vw,48px);line-height:1.06;margin:12px 0}.season-archive h2{font-size:28px;margin:20px 0 12px}.season-archive p{line-height:1.6}.archive-current,.archive-pagination a{display:inline-flex;align-items:center;min-height:44px;color:#a40022;font-weight:800}.archive-champions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.archive-champions article,.archive-result{background:#fff;border:1px solid #e4e4e7;border-radius:8px;padding:16px}.archive-champions article{border-top:3px solid #e4002b}.archive-champions article>div{display:flex;align-items:center;gap:12px;margin-top:12px}.archive-champions h3{margin:0;font-size:22px;line-height:1.2}.archive-champions p{font-size:13px;margin-bottom:0}.archive-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.archive-filters label{display:grid;gap:6px;font-size:13px;font-weight:700}.archive-filters input,.archive-filters select{height:46px;border:1px solid #e4e4e7;border-radius:6px;padding:8px 12px;background:#fff;color:#0b0b0d;font:inherit}.archive-filters button{min-height:46px;background:#c90029;color:#fff;border:0;border-radius:6px;padding:10px 20px;font-weight:800}.archive-filters>a{display:flex;min-height:46px;align-items:center}.archive-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.archive-result header{display:flex;justify-content:space-between;font-size:12px;color:#52525b;margin-bottom:16px}.archive-result-team{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;margin:12px 0;font-size:16px;font-weight:700}.archive-result-team a{overflow-wrap:normal;word-break:normal;line-height:1.35}.archive-result-team strong{font-size:24px;font-variant-numeric:tabular-nums}.archive-note{font-size:13px;color:#52525b}.archive-source{display:inline-flex;min-height:44px;align-items:center;font-size:12px;color:#9c0020}.archive-pagination{display:flex;justify-content:space-between;gap:24px;margin:24px 0}.season-archive a:focus-visible,.season-archive button:focus-visible{outline:3px solid #a40022;outline-offset:3px}@media(max-width:850px){.archive-champions,.archive-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:550px){.season-archive{padding:16px}.archive-results{grid-template-columns:minmax(0,1fr)}.archive-champions{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.archive-champions article{flex:0 0 86%;scroll-snap-align:start;min-width:0}.archive-filters{display:grid;grid-template-columns:minmax(0,1fr) auto}.archive-filters label:first-child{grid-column:1/-1}.archive-filters input,.archive-filters select{width:100%;min-width:0}.archive-filters>a{grid-column:1/-1}.archive-result-team a{min-height:44px;display:flex;align-items:center}}