/* Bracketology handoff presentation: scoped to the Bracket view and résumé dialog. */
.bkShell,.bkResume{--bk-gold:#d6bd80;--bk-green:#64d5a1;--bk-blue:#9dbdf0;color:var(--text)}
.bkShell{min-width:0;max-width:100%;padding:18px 0 32px}
.bkHeader{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}
.bkEyebrow{font:var(--fw-semibold) var(--fs-sm) var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bk-gold)}
.bkHeader h2{font:var(--fw-heavy) var(--fs-5xl)/1.15 var(--display);letter-spacing:-.04em;margin:8px 0}
.bkBadges{display:flex;gap:8px;flex-wrap:wrap}.bkBadges span{padding:7px 10px;border:1px solid var(--line2);border-radius:5px;color:var(--bk-gold);font-size:var(--fs-md)}
.bkAsOf{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:var(--fs-md);margin-bottom:24px}
.bkShell button,.bkResume button{font-family:var(--sans);cursor:pointer}
.bkShell button:focus-visible,.bkShell summary:focus-visible,.bkResume button:focus-visible,.bkResume summary:focus-visible,.bkBracketFrame:focus-visible,.bkTableFrame:focus-visible{outline:2px solid var(--bk-gold);outline-offset:3px}
.bkTabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line2);padding-bottom:14px;margin-bottom:22px}
.bkTabs button,.bkRegions button,.bkAsOf button,.bkUnavailable button{min-height:44px;padding:10px 15px;color:var(--muted);background:var(--bg2);border:1px solid var(--line2);border-radius:6px;font-size:var(--fs-base);font-weight:var(--fw-semibold)}
.bkTabs button[aria-pressed="true"],.bkRegions button[aria-pressed="true"]{color:var(--bk-gold);border-color:var(--bk-gold);background:#27261e}
.bkRegions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.bkRegions button{padding:8px 12px}
.bkHint,.bkSource{color:var(--muted);font-size:var(--fs-md);line-height:1.6}.bkSource{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.bkBracketFrame{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:8px 8px 20px;border:0;border-radius:0;background:transparent;scrollbar-color:var(--bk-gold) var(--bg2)}
.bkBracketColumns{display:flex;gap:32px;width:max-content;min-width:100%;padding:12px}
.bkRound{width:280px;display:flex;flex-direction:column;flex-shrink:0}.bkRound h3{font:var(--fw-semibold) var(--fs-md) var(--mono);color:var(--bk-gold);letter-spacing:.05em;margin:0 0 20px}
.bkGames{display:flex;flex:1;flex-direction:column;justify-content:space-around;gap:22px}
.bkGame{border:1px solid var(--line2);background:var(--bg2);border-radius:7px;position:relative}
.bkRound:not(:last-child) .bkGame:after{content:'';position:absolute;right:-33px;width:32px;top:50%;border-top:2px solid var(--bk-gold);opacity:.55;pointer-events:none}
.bkGameMeta{color:var(--muted);font:var(--fw-medium) var(--fs-3xs) var(--mono);padding:8px 12px;border-bottom:1px solid var(--line)}
.bkGameTeam{display:flex;align-items:center;padding:0 9px;gap:4px;min-height:74px}.bkGameTeam+.bkGameTeam{border-top:1px solid var(--line)}
.bkSeed{font:var(--fw-semibold) var(--fs-md) var(--mono);color:var(--bk-gold);width:20px;flex-shrink:0;text-align:center}
.bkTeam{display:flex;align-items:center;gap:10px;min-width:0;min-height:52px;width:100%;padding:8px 0;border:0;background:transparent;text-align:left;color:var(--text)}
.bkTeam>.teamMark{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:5px;background:#e4eae5;overflow:hidden}
.bkTeam .teamMark img{width:30px;height:30px;object-fit:contain}.bkTeam .teamMonogramText{color:#182128}
.bkTeam>span:nth-child(2){min-width:0}.bkTeam b{font-size:var(--fs-lg);line-height:1.25;display:block;overflow-wrap:anywhere}.bkTeam small{display:block;font-size:var(--fs-3xs);line-height:1.5;color:var(--muted);margin-top:4px}
.bkOpen{margin-left:auto;font-size:var(--fs-base);color:var(--muted)}.bkScore{font:var(--fw-semibold) var(--fs-base) var(--mono)}
.bkWinner{background:#173327}.bkWinner .bkTeam b:after{content:' ✓';color:var(--bk-green)}
.bkLost .bkTeam b{color:var(--muted)}.bkLost .teamMark{filter:grayscale(1)}
.bkSlot{display:flex;align-items:center;gap:15px;min-height:74px;padding:12px 16px;color:var(--muted);font-size:var(--fs-md);border-top:1px solid var(--line)}
.bkGame footer{font-size:var(--fs-3xs);line-height:1.5;color:var(--bk-gold);padding:8px 12px;border-top:1px solid var(--line)}
.bkBubble{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.bkBubbleColumn{min-width:0}.bkBubbleColumn h3{font-size:var(--fs-lg);color:var(--bk-gold);margin:0 0 14px}
.bkBubbleColumn article{padding:12px 14px;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);margin-bottom:10px}
.bkBubbleOdds{display:flex;align-items:baseline;gap:8px;margin:10px 0}.bkBubbleOdds b{font:var(--fw-bold) var(--fs-3xl) var(--display)}.bkBubbleOdds span{font-size:var(--fs-md);color:var(--muted)}
.bkStatus{font:var(--fw-semibold) var(--fs-3xs) var(--mono);border:1px solid var(--line2);border-radius:4px;display:inline-block;padding:5px 7px;color:var(--muted)}
.bkStatus-locked,.bkStatus-in{color:var(--bk-green)}.bkStatus-bubble,.bkStatus-auto_bid_only{color:var(--bk-gold)}.bkStatus-eliminated,.bkStatus-tournament_eliminated{border-style:dashed}
.bkMovement{display:block;color:var(--bk-blue);font-size:var(--fs-sm);line-height:1.5;margin-top:10px}
.bkSupport{padding:20px;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);margin-top:20px;min-width:0}.bkSupport h3{display:flex;align-items:center;gap:10px;font-size:var(--fs-xl);margin:0 0 15px}
.bkThief,.bkEliminated{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding:12px 0;font-size:var(--fs-md)}.bkThief>.bkTeam,.bkEliminated>.bkTeam{max-width:260px}.bkEliminated time{margin-left:auto;color:var(--muted)}
.bkConferenceGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.bkConferenceTeam{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line)}.bkConferenceTeam>span{font-size:var(--fs-md);white-space:nowrap;color:var(--bk-gold)}
.bkTableFrame{overflow-x:auto;width:100%;max-width:100%;border:1px solid var(--line2);border-radius:8px;overscroll-behavior-x:contain}.bkTableFrame table{border-collapse:collapse;width:100%;font-size:var(--fs-md);white-space:nowrap}.bkTableFrame th,.bkTableFrame td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}.bkTableFrame thead{background:var(--bg2);color:var(--muted)}.bkTableFrame .bkTeam{min-width:180px}.bkTableFrame .bkMovement{margin:0}
.bkHelp{position:relative;display:inline-block;vertical-align:middle;font-weight:var(--fw-regular)}.bkHelp summary{display:grid;place-items:center;list-style:none;width:26px;height:26px;border:1px solid var(--line2);border-radius:50%;font:var(--fw-semibold) var(--fs-md) var(--mono);color:var(--muted);cursor:pointer}.bkHelp summary::-webkit-details-marker{display:none}.bkHelp p{position:absolute;right:0;top:30px;z-index:5;width:220px;max-width:65vw;padding:14px;margin:0;background:#202b33;border:1px solid var(--line2);border-radius:7px;color:var(--text);font:var(--fw-regular) var(--fs-md)/1.6 var(--display);box-shadow:0 10px 30px #0008}
.bkMock{padding:12px 16px;background:#332a17;border:1px solid var(--bk-gold);color:#f0d18b;border-radius:6px;font:var(--fw-semibold) var(--fs-md) var(--mono);margin-bottom:20px}
.bkUnavailable{padding:28px;max-width:680px;border:1px solid var(--line2);border-radius:8px;background:var(--bg2);line-height:1.6}.bkUnavailable p{color:var(--muted)}
.bkResume{position:fixed;margin:auto;width:min(640px,calc(100vw - 24px));max-height:90dvh;padding:0;border:1px solid var(--line2);border-radius:12px;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 20px 90px #0009}
.bkResume::backdrop{background:#000b}.bkResume>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;position:sticky;top:0;z-index:6;background:var(--bg2);border-bottom:1px solid var(--line2)}.bkResume>header>div{display:flex;align-items:center;gap:12px;min-width:0}.bkResume h2{font-size:var(--fs-3xl);line-height:1.25;margin:0}.bkResume header .teamMark{width:42px;height:42px;flex-shrink:0;background:#e4eae5;border-radius:6px;display:grid;place-items:center}.bkResume header .teamMark img{width:34px;height:34px;object-fit:contain}.bkResume header button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line2);border-radius:6px;background:var(--bg);color:var(--text);font-size:var(--fs-3xl)}
.bkResumeBody{padding:20px 24px 28px}.bkResumeBody>section{margin-top:24px}.bkResume h3{font-size:var(--fs-lg);margin:0 0 14px}
.bkRatingPair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.bkRatingPair section{padding:16px;border:1px solid var(--line2);border-top:2px solid var(--bk-blue);border-radius:6px;background:var(--bg2)}.bkRatingPair section+section{border-top-color:var(--bk-gold)}.bkRatingPair span{font-size:var(--fs-sm);color:var(--muted)}.bkRatingPair strong{display:block;font-size:var(--fs-5xl);margin:10px 0;color:var(--bk-blue)}.bkRatingPair section+section strong{color:var(--bk-gold)}.bkRatingPair b{font-size:var(--fs-md)}
.bkQuadGrid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);border-radius:6px}.bkQuadGrid>div{padding:12px;text-align:center}.bkQuadGrid>div+div{border-left:1px solid var(--line)}.bkQuadGrid span{display:block;font:var(--fw-medium) var(--fs-sm) var(--mono);color:var(--muted)}.bkQuadGrid b{display:block;margin-top:8px;font-size:var(--fs-lg)}
.bkStats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}.bkStats dt{font-size:var(--fs-md);color:var(--muted)}.bkStats dd{font-size:var(--fs-xl);margin:5px 0 0}
.bkSeedChart{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.bkSeedChart>div{display:grid;grid-template-columns:24px 1fr 72px;align-items:center;gap:7px;font-size:var(--fs-sm)}.bkSeedChart b{text-align:right;font-weight:var(--fw-medium)}.bkBar{height:8px;background:var(--bg2);border-radius:2px;overflow:hidden}.bkBar i{display:block;height:100%;background:var(--bk-gold)}
.bkRoundOdds{margin:0}.bkRoundOdds>div{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:var(--fs-md)}.bkRoundOdds dd{margin:0;color:var(--bk-gold)}
.bkResults{list-style:none;padding:0;margin:0}.bkResults li{display:flex;justify-content:space-between;gap:15px;font-size:var(--fs-md);padding:10px 0;border-bottom:1px solid var(--line)}.bkResults span{color:var(--muted)}
@media(max-width:1100px){.bkBubble{grid-template-columns:repeat(2,minmax(0,1fr))}.bkConferenceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bkHeader{align-items:flex-start;gap:12px}.bkHeader h2{font-size:var(--fs-4xl)}.bkBadges{justify-content:flex-end;max-width:135px}.bkBadges span{font-size:var(--fs-3xs);padding:6px}.bkTabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.bkTabs button{font-size:var(--fs-sm);padding:9px 5px}.bkRound{width:272px}.bkBracketColumns{gap:28px;padding:8px}.bkRound:not(:last-child) .bkGame:after{width:28px;right:-29px}.bkBubble{grid-template-columns:1fr}.bkBubbleColumn h3{margin-top:8px}.bkConferenceGrid{grid-template-columns:1fr}.bkThief,.bkEliminated{flex-wrap:wrap;gap:10px}.bkThief>.bkTeam,.bkEliminated>.bkTeam{max-width:none}.bkResumeBody{padding:16px}.bkResume h2{font-size:var(--fs-2xl)}.bkRatingPair section{padding:12px}.bkRatingPair strong{font-size:var(--fs-4xl)}.bkRatingPair span{font-size:var(--fs-3xs)}.bkSeedChart{grid-template-columns:1fr}.bkResume .bkHelp summary{width:30px;height:30px}.bkSupport{padding:16px}.bkAsOf{font-size:var(--fs-sm)}}
.bkBracketColumns{position:relative}.bkConnections{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}.bkConnections path{fill:none;stroke:var(--bk-gold);stroke-width:1.5;opacity:.65}.bkRound:not(:last-child) .bkGame:after{display:none}

/* Same font roles as every other tab: view and region tabs read as chips (mono),
   team slots and buttons as names (sans); only the page title and the large
   odds figures keep the headline face. */
.bkTabs button,.bkRegions button,.bkAsOf button,.bkUnavailable button{font-family:var(--mono)}

/* Full bracket shares the CFP card and connector palette, without an outer box. */
.bkConnections path{stroke:#ad9563;stroke-width:2.5;opacity:1;stroke-linejoin:round}
.bkFullBoard{display:block;min-width:0;padding:0;position:relative}
.bkFullPosition{position:absolute;width:220px}
.bkFullFinal .bkGame{border:2px solid #d6bd80}
.bkFullFinal .bkGameMeta{color:#d6bd80}


.bkFullPosition .bkGame footer{display:none}


/* Compact density across bracketology; school details remain in the résumé. */
.bkShell{padding:10px 0 20px}
.bkHeader{gap:12px;margin-bottom:10px}.bkHeader h2{font-size:28px;margin:4px 0}
.bkEyebrow{font-size:11px}.bkBadges span{padding:5px 8px;font-size:11px}
.bkAsOf{font-size:12px;margin-bottom:14px;gap:8px}
.bkTabs{padding-bottom:10px;margin-bottom:14px;gap:5px}
.bkTabs button,.bkRegions button,.bkAsOf button{font-size:12px;padding:6px 10px;min-height:36px}
.bkRegions{gap:5px;margin-bottom:10px}.bkHint,.bkSource{font-size:12px;line-height:1.5}
.bkSource{margin-top:16px;padding-top:10px}
.bkBracketFrame{padding:4px 4px 14px}.bkBracketColumns{gap:28px;padding:6px}.bkFullBoard{padding:0}
.bkRound{width:220px}.bkRound h3{font-size:12px;margin-bottom:12px}.bkGames{gap:14px}
.bkGameMeta{padding:5px 7px;font-size:10px;line-height:14px}
.bkGameTeam{min-height:44px;padding:0 5px;gap:2px}.bkSeed{font-size:12px;width:18px}
.bkTeam{gap:7px;min-height:44px;padding:4px 0}.bkTeam b{font-size:14px;line-height:1.25}
.bkTeam>.teamMark{width:26px;height:26px;flex-basis:26px}.bkTeam .teamMark img{width:22px;height:22px}
.bkTeam small{margin-top:2px;line-height:1.3}.bkGame .bkTeam small{display:none}
.bkGame .bkTeam b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bkSlot{min-height:44px;padding:6px 9px;font-size:12px;gap:8px}
.bkGame footer{padding:5px 7px}.bkOpen{font-size:12px}
.bkBubble,.bkConferenceGrid{gap:10px}.bkBubbleColumn h3{font-size:15px;margin-bottom:8px}
.bkBubbleColumn article{padding:8px 10px;margin-bottom:7px}.bkBubbleOdds{margin:5px 0;gap:6px}
.bkBubbleOdds b{font-size:24px}.bkBubbleOdds span{font-size:12px}.bkStatus{padding:3px 5px}
.bkMovement{font-size:11px;margin-top:6px}.bkSupport{padding:12px;margin-top:12px}
.bkSupport h3{font-size:17px;margin-bottom:10px}.bkThief,.bkEliminated{gap:12px;padding:8px 0;font-size:12px}
.bkConferenceTeam{gap:8px}.bkConferenceTeam>span{font-size:12px}
.bkTableFrame table{font-size:12px}.bkTableFrame th,.bkTableFrame td{padding:6px 10px}
.bkTableFrame .bkTeam{min-width:160px}
.bkResume>header{padding:12px 16px}.bkResumeBody{padding:14px 16px 18px}
.bkResumeBody>section{margin-top:16px}.bkRatingPair{gap:8px;margin:12px 0}
.bkRatingPair section{padding:10px}.bkRatingPair strong{font-size:30px;margin:6px 0}
.bkStats{gap:10px;margin:12px 0}.bkQuadGrid>div{padding:8px}
@media(pointer:coarse){.bkTabs button,.bkRegions button,.bkAsOf button{min-height:44px}}
