.playoff-section{background:#241c20;color:#f7f3e9}.playoff-section .section-heading p{color:#d0c1b7}.playoff-section h2{font-size:clamp(48px,6vw,80px)}.playoff-section .eyebrow{color:#d3b57d}.playoff-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:30px 0 20px;font-size:12px;color:#d9cbbb}.playoff-meta strong{color:#f7f3e9;border:1px solid #b595624f;padding:8px 12px}.playoff-refresh{background:transparent;color:#f7f3e9;border:1px solid #b5956266;padding:9px 14px;margin-left:auto;font:inherit}.playoff-refresh:disabled{opacity:.6;cursor:wait}.playoff-note{font-size:12px;line-height:1.8;color:#d0c1b7;max-width:850px}.playoff-note a,.playoff-source a{text-decoration:underline;text-underline-offset:3px}.playoff-round-label{display:flex;justify-content:space-between;gap:20px;margin:30px 0 15px;border-top:1px solid #bd9f6838;padding-top:24px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}.playoff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.playoff-match{background:#30252b;border:1px solid #b595624f;min-width:0;position:relative}.playoff-match:after{content:'';position:absolute;right:-10px;top:50%;height:1px;width:9px;background:#b5956270}.playoff-match-head{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #b5956233;font-size:12px;letter-spacing:.5px}.playoff-match-head img{width:35px;height:35px;object-fit:contain}.playoff-match-head span{margin-left:auto;color:#bfae9c;font-size:10px}.playoff-team{display:flex;align-items:center;gap:9px;padding:12px 15px;min-height:55px}.playoff-team+.playoff-team{border-top:1px solid #b5956226}.playoff-team img{width:27px;height:27px;object-fit:contain}.playoff-team .slot{font-size:10px;color:#c9b893;width:18px}.playoff-team b{font-size:13px;line-height:1.4}.playoff-team .record{margin-left:auto;font-variant-numeric:tabular-nums;font-size:13px;white-space:nowrap;color:#e5cf9f}.playoff-match details{padding:0 15px 13px;font-size:11px;color:#cbbfb3;line-height:1.7}.playoff-match summary{cursor:pointer;padding-top:8px}.playoff-match table{width:100%;border-collapse:collapse;font-size:10px;margin-top:10px}.playoff-match th,.playoff-match td{text-align:left;padding:4px 2px;border-bottom:1px solid #b5956226}.playoff-match td:last-child,.playoff-match th:last-child{text-align:right}.playoff-tie{margin:0 15px 12px;color:#e5cf9f;font-size:11px;line-height:1.65}.playoff-route{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#b5956255;border:1px solid #b5956255;margin:30px 0}.playoff-stage{background:#30252b;padding:20px 15px;position:relative}.playoff-stage small{font-size:9px;color:#c9b893;letter-spacing:.6px;display:block}.playoff-stage strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;display:block;margin:8px 0}.playoff-stage p{font-size:11px;line-height:1.7;margin:0;color:#d0c1b7}.playoff-source{font-size:11px;color:#cbbfb3;line-height:1.8}.playoff-status{font-size:12px;color:#e5cf9f}.conference-follow-control{padding:16px 5.5%;text-align:right}.playoff-method{margin-top:22px;font-size:12px;line-height:1.8;color:#d0c1b7}.playoff-method summary{cursor:pointer;color:#f1dfb9}.playoff-method p{max-width:850px}.playoff-section [hidden]{display:none!important}
@media(max-width:1000px){.playoff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-route{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.playoff-grid{grid-template-columns:1fr}.playoff-match:after{display:none}.playoff-route{grid-template-columns:1fr 1fr}.playoff-stage:last-child{grid-column:1/-1}.playoff-refresh{margin-left:0}.playoff-round-label{line-height:1.7;font-size:10px}.playoff-team b{font-size:14px}.playoff-section .section-heading{display:block}.playoff-section .section-heading p{margin-top:20px}}
/* Round-by-round bracket. Shared rows keep the East and West aligned. */
#playoff-bracket{display:block;padding:8px 0 28px;overflow:visible;min-width:0}
.bracket-controls{margin-bottom:28px}
.bracket-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;border-bottom:1px solid #b5956266;padding-bottom:4px}
.bracket-tabs button{appearance:none;border:0;border-bottom:3px solid transparent;background:transparent;color:#c9bcb2;padding:16px 10px;text-align:left;font:600 14px/1.3 "DM Sans",sans-serif;cursor:pointer;min-height:72px}
.bracket-tabs button span{display:block;color:#b6a37e;font:500 10px/1.4 "DM Sans",sans-serif;letter-spacing:1.5px;margin-bottom:7px}
.bracket-tabs button[aria-selected="true"]{color:#f8f2e6;background:#b5956217;border-bottom-color:#e5cf9f}
.bracket-tabs button:hover{background:#b5956212;color:#fff}
.bracket-tabs button:focus-visible,.bracket-half-switch button:focus-visible{outline:2px solid #e5cf9f;outline-offset:3px}
.bracket-round-description{font-size:12px;line-height:1.7;color:#c9b893;margin:15px 0 0}
.bracket-half-switch{display:none}
.bracket-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,.6fr) minmax(0,1fr);grid-template-rows:auto repeat(var(--bracket-rows,6),auto);column-gap:clamp(14px,2.5vw,40px);row-gap:16px;align-items:stretch;min-width:0}
.bracket-half{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:1/-1;min-width:0}
.east-half{grid-column:1}.west-half{grid-column:3}
.bracket-half>h3{grid-row:1;font:700 clamp(30px,3.2vw,46px)/1 'Barlow Condensed',Impact,sans-serif;margin:0 0 8px;color:#e5cf9f;text-transform:uppercase;letter-spacing:1px}
.west-half>h3{text-align:right}
.half-rounds,.half-rounds>div,.round-cards{display:contents}
.half-rounds h4{display:none}
.playoff-match:after,.future-match:before{display:none}
.playoff-match{align-self:stretch}
.playoff-match-head{padding:12px;flex-wrap:wrap;gap:8px}
.playoff-match-head b{font-size:12px}
.playoff-match-head span{flex-basis:100%;font-size:10px;margin:0;color:#c9b893}
.playoff-team{padding:13px 12px;gap:8px}
.playoff-team>div{min-width:0}
.playoff-team b{font-size:clamp(13px,1.2vw,16px);overflow-wrap:anywhere}
.playoff-team small{display:block;font-size:9px;color:#baa994}
.playoff-team .slot{flex:0 0 20px}
.playoff-team img{flex:0 0 28px;width:28px;height:28px}
.playoff-match details{padding:0 12px 12px}
.playoff-match summary{min-height:32px}
.playoff-match table{table-layout:fixed}
.playoff-match th,.playoff-match td{overflow-wrap:anywhere}
.playoff-match th:nth-child(2){width:32%}
.future-match{background:#30252b;border:1px solid #b5956270;position:relative;padding:20px 16px;font-size:14px;line-height:1.7;min-width:0}
.future-match small{color:#e5cf9f;font-size:10px;display:block;letter-spacing:1px;margin-bottom:14px}
.future-match div+div{border-top:1px solid #b5956233;margin-top:12px;padding-top:12px}
.future-match p{font-size:11px;color:#c9b893;margin-bottom:0}
.bye-callout{border:1px solid #b595624f;border-left:3px solid #d3b57d;padding:16px;color:#e5cf9f;font-size:13px;line-height:1.7}
.bye-callout b,.bye-callout span{display:block}
.national-final{grid-column:2;grid-row:1/-1;display:flex;align-items:center;min-width:0;position:relative}
.national-final>.future-match{width:100%;text-align:center;border-color:#d3b57d;background:linear-gradient(145deg,#4a3033,#30252b);padding:24px 16px;box-shadow:0 12px 36px #0002}
.national-final:before,.national-final:after{content:'';position:absolute;width:calc(clamp(14px,2.5vw,40px) + 1px);height:1px;background:#b5956270;top:50%}
.national-final:before{right:100%}.national-final:after{left:100%}
#playoff-bracket[data-round="final"] .bracket-half{display:none}
#playoff-bracket[data-round="final"] .bracket-board{display:block;max-width:600px;margin:32px auto}
#playoff-bracket[data-round="final"] .national-final:before,#playoff-bracket[data-round="final"] .national-final:after{display:none}
#playoff-bracket[data-round="final"] .national-final>.future-match{padding:42px 24px;font-size:20px}
@media(max-width:800px){
 .bracket-tabs{gap:4px;grid-template-columns:repeat(6,minmax(0,1fr));border:0}
 .bracket-tabs button{grid-column:span 2;font-size:12px;min-height:68px;padding:12px 9px;border:1px solid #b5956240}
 .bracket-tabs button:nth-child(4),.bracket-tabs button:nth-child(5){grid-column:span 3}
 .bracket-tabs button[aria-selected="true"]{border-color:#e5cf9f}
 .bracket-half-switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:20px;padding:4px;background:#1c161a;border:1px solid #b5956240}
 .bracket-half-switch button{border:0;min-height:46px;background:transparent;color:#c9bcb2;font:700 15px/1.4 "DM Sans",sans-serif;cursor:pointer}
 .bracket-half-switch button[aria-pressed="true"]{background:#e5cf9f;color:#241c20}
 .bracket-board{display:block}
 .bracket-half{display:block}
 .bracket-half>h3{font-size:32px;margin-bottom:20px!important;text-align:left}
 .half-rounds>div:not([hidden]){display:block}
 .round-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 #playoff-bracket[data-half="east"] .west-half,#playoff-bracket[data-half="west"] .east-half{display:none}
 .national-final{display:none}
 #playoff-bracket[data-round="final"] .national-final{display:flex}
 #playoff-bracket[data-round="final"] .bracket-half-switch{display:none}
 .playoff-team b{font-size:16px}
 .playoff-match-head b{font-size:14px}
 .playoff-match-head span{flex-basis:auto;margin-left:auto}
 .playoff-team{padding:14px}
 .playoff-section{padding-left:20px;padding-right:20px}
}

.playoff-motto{font-size:clamp(20px,2.4vw,32px);line-height:1.4;color:#e5cf9f;margin:0 0 22px;font-weight:600;max-width:850px}

.playoff-page #playoff-title{font-size:clamp(48px,6vw,80px);line-height:1.05;margin:0}.playoff-page #playoff-title em{font-family:"DM Serif Display",Georgia,serif;font-weight:400}.playoff-page main{background:#241c20}
.playoff-guide{border-block:1px solid #b595624f;margin:18px 0 22px;padding:0}.playoff-guide>summary{padding:14px 0;font-weight:700}.playoff-guide-body{padding:0 0 12px;max-width:850px}.playoff-guide-body p{margin:0 0 12px}.playoff-guide-body strong{color:#f1dfb9}.playoff-follow{margin-bottom:0}.playoff-motto{margin-bottom:8px}.playoff-sources{border-top:1px solid #b595624f;padding-top:16px}
.playoff-section #playoff-title{font-size:clamp(48px,6vw,80px);line-height:1.05;margin:0;color:#f7f3e9}.playoff-section #playoff-title em{font-family:"DM Serif Display",Georgia,serif;font-weight:400;color:#e5cf9f}
.playoff-next{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;border-top:1px solid #b595624f}.playoff-next .eyebrow{font-size:9px;letter-spacing:2px}.playoff-next h3{font:600 30px/1.1 'Barlow Condensed',Impact,sans-serif;margin:8px 0;color:#f7f3e9}.playoff-next p{font-size:12px;line-height:1.6;color:#d0c1b7;margin:0;max-width:520px}.playoff-next-social{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #b5956270;border-radius:50%;color:#e5cf9f}.playoff-next-social:hover{background:#b5956220}.playoff-next+.playoff-sources{margin-top:0}
.playoff-section .playoff-heading{margin-bottom:14px}.playoff-section #playoff-title{font-size:clamp(34px,5vw,56px);margin:8px 0 12px}.playoff-heading .playoff-follow{font-size:12px;line-height:1.7;color:#d0c1b7;margin:0}.playoff-status:empty{display:none}.concept-faq{background:var(--cream);color:var(--ink)}.concept-faq h2{font-size:clamp(36px,4vw,52px);margin:16px 0 26px}.concept-faq>details{border-top:1px solid var(--line);padding:18px 0;font-size:13px;line-height:1.8}.concept-faq>details:last-child{border-bottom:1px solid var(--line)}.concept-faq summary{font-weight:700;cursor:pointer}.concept-faq details>p{color:var(--muted);max-width:850px}.concept-faq .playoff-meta{margin:16px 0;color:var(--muted)}.concept-faq .playoff-meta strong,.concept-faq .playoff-refresh{color:var(--wine);border-color:var(--line)}.concept-faq .playoff-source{color:var(--muted)}
.playoff-outcome{margin:4px 15px 12px;color:#e5cf9f;font-size:11px;line-height:1.6}.future-match .playoff-team{padding-left:0;padding-right:0;text-align:left}.future-match .playoff-team small{margin:0;font-size:9px;letter-spacing:0;color:#baa994}.future-match .playoff-team>div{border:0;margin:0;padding:0}.future-match .playoff-team .slot:empty{display:none}
