#basketball-season{color:#0D2B3E;margin:28px 0}.bb-season-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.bb-season-heading h2{font-size:clamp(1.6rem,4vw,2.4rem);margin:8px 0}.bb-season-heading img{width:100px;height:110px;object-fit:contain}.bb-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.bb-metrics article{border:1px solid #c8dedb;background:#fff;border-radius:12px;padding:18px}.bb-metrics strong{display:block;font-size:1.8rem}.bb-metrics span{font-size:.88rem;color:#526874}.bb-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:18px 0}.bb-toolbar label{display:grid;gap:6px;font-weight:700}.bb-toolbar select,.bb-toolbar input{padding:10px;border:1px solid #a7c9c5;border-radius:7px;background:white;color:#0D2B3E;min-width:160px}.bb-toolbar button,#bb-detail-close{padding:11px 16px;background:#0D2B3E;color:white;border:0;border-radius:7px;cursor:pointer}.bb-draw-box{border-left:4px solid #14B8A6;padding:12px 18px;background:#edf8f6;border-radius:6px}.bb-draw-box p{margin:6px 0}.bb-season-table{width:100%;border-collapse:collapse;white-space:nowrap}.bb-season-table th{background:#0D2B3E;color:white;padding:12px;text-align:left}.bb-season-table td{padding:12px;border-bottom:1px solid #d8e7e5}.bb-season-table tbody tr:nth-child(even){background:#f1f8f7}.bb-season-table th button{background:none;color:inherit;border:0;font:inherit;cursor:pointer;padding:0}.bb-detail-button{border:1px solid #14B8A6;background:white;color:#0D2B3E;border-radius:6px;padding:6px 10px;cursor:pointer}.bb-section-card{background:white;border:1px solid #d4e5e5;border-radius:14px;padding:20px;margin:20px 0}.bb-section-card summary{cursor:pointer;font-weight:800;font-size:1.1rem}.bb-owner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:16px}.bb-owner-card{background:#f1f8f7;border-radius:10px;padding:14px}.bb-owner-card p{margin:6px 0}.bb-owner-card small{color:#526874}.bb-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.bb-rule-grid h4{margin:0 0 8px}.bb-rule-grid p{line-height:1.65}.bb-season-note{line-height:1.6;color:#526874}#bb-points-detail{scroll-margin-top:20px}@media(max-width:600px){.bb-metrics{grid-template-columns:1fr 1fr}.bb-metrics article{padding:12px}.bb-rule-grid{grid-template-columns:1fr}.bb-toolbar label,.bb-toolbar select,.bb-toolbar input{width:100%;box-sizing:border-box}.bb-section-card{padding:14px}.bb-season-heading img{width:76px}}
/* Use the same dashboard headings, cards, palette and navigation as football. */
#basketball-season{margin:0;color:var(--ink)}
.bb-board-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 20px}
.bb-board-intro p{margin:0;max-width:760px;line-height:1.6;color:var(--muted)}
.bb-primary-button{background:var(--orange);color:white;border:0;border-radius:8px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;min-height:44px}
.bb-metrics article.card{border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 4px 18px #0d24400b}
.bb-metrics article:first-child{border-top:5px solid var(--turquoise)}
.bb-metrics article:nth-child(2){border-top:5px solid var(--orange)}
.bb-metrics article:nth-child(3){border-top:5px solid var(--yellow)}
.bb-season-table th{background:#e9f1f2;color:#3d4b59}
.bb-toolbar input,.bb-toolbar select{min-height:44px;font:inherit;border-color:#cbd4dd;border-radius:8px}
.bb-toolbar button,.bb-detail-button,#bb-detail-close{min-height:44px;font:inherit;font-weight:700}
.bb-mobile-standings,.bb-mobile-sort,.bb-board-mobile-hint{display:none}
.bb-mobile-owner{background:white;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:0 4px 18px #0d24400b}
.bb-mobile-owner-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}
.bb-mobile-owner-heading strong{font-size:1.05rem;overflow-wrap:anywhere}
.bb-mobile-owner-heading span{white-space:nowrap;color:var(--muted);font-size:.85rem}
.bb-mobile-owner-stats{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;font-size:.85rem}
.bb-mobile-owner-stats strong{font-size:1.05rem;color:var(--navy)}
.bb-mobile-point-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.bb-mobile-point-columns strong{padding:12px 10px;background:#edf8f6;border-radius:8px;font-size:.9rem;color:var(--navy)}
@media(max-width:700px){
 .basketball-active .basketball-nav{display:flex;width:100%}
 .basketball-active nav{width:100%}
 .basketball-active .basketball-nav button{flex:1;min-height:48px;padding:14px 12px;font-size:16px}
 .bb-board-intro{align-items:stretch;flex-direction:column;gap:12px}
 .bb-primary-button{width:100%}
 .bb-metrics{grid-template-columns:1fr 1fr;gap:10px}
 .bb-metrics article.card{padding:14px}
 .bb-metrics strong{font-size:1.6rem}
 .bb-metrics span{font-size:.8rem}
 .bb-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}
 .bb-toolbar label,.bb-toolbar input,.bb-toolbar select,.bb-toolbar button{width:100%;min-width:0}
 .bb-toolbar input,.bb-toolbar select,.bb-mobile-sort select{font-size:16px}
 .bb-toolbar button{min-height:48px}
 .bb-desktop-standings{display:none}
 .bb-mobile-standings{display:grid;gap:12px}
 .bb-mobile-sort{display:grid;gap:7px;font-weight:700;margin:14px 0}
 .bb-mobile-sort select{width:100%;min-width:0;min-height:44px}
 .bb-mobile-owner .bb-detail-button{width:100%;min-height:44px}
 .bb-board-mobile-hint{display:block;font-size:.85rem;color:var(--muted);margin:8px 0}
 .basketball-active .basketball-queue-header p,.basketball-active .basketball-queue-schedule-note{font-size:.9rem;line-height:1.5}
 .basketball-active #basketball-queue-toggle,.basketball-active #basketball-queue-refresh{min-height:44px;width:100%}
 .bb-section-card summary{min-height:44px;align-content:center}
}

/* Football-style standings: featured results and a quiet ranked list. */
.bb-featured{margin-bottom:28px}.bb-featured .card{min-width:0}.bb-featured h2{font-size:1.7rem;line-height:1.15}.bb-featured p{line-height:1.5}.bb-featured .big{font-size:2.1rem}
.bb-leaderboard-head{margin-top:30px}.bb-simple-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bb-simple-controls label{font-weight:700}.bb-simple-controls select{min-width:160px}.bb-simple-controls input{min-width:190px}
.bb-leaderboard th,.bb-leaderboard td{text-align:right;padding:15px 18px}.bb-leaderboard th:nth-child(2),.bb-leaderboard td:nth-child(2){text-align:left}.bb-leaderboard td:nth-child(2) small{display:block;color:var(--muted);font-size:.75rem;margin-top:3px}.bb-leaderboard tbody tr:nth-child(even){background:transparent}.bb-leaderboard tbody tr:hover{background:#f8fafc}.bb-leaderboard .top1{background:#fff9e8}
.bb-owner-name{border:0;background:transparent;padding:0;color:var(--navy);font:inherit;font-weight:800;cursor:pointer;text-decoration:underline;text-decoration-color:var(--turquoise);text-underline-offset:4px}.bb-owner-name:hover{color:var(--orange)}.bb-owner-name:focus-visible{outline:2px solid var(--turquoise);outline-offset:4px}
.bb-status-quiet{font-size:.78rem;margin:16px 0;color:var(--muted)}
@media(max-width:700px){
 .bb-featured{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.bb-featured .card{padding:20px}.bb-featured h2{font-size:1.5rem}.bb-featured .big{font-size:1.9rem}
 .bb-simple-controls{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:10px}.bb-simple-controls label{grid-column:1/-1}.bb-simple-controls input,.bb-simple-controls select{min-width:0;width:100%;font-size:16px;min-height:46px}
 .bb-mobile-standings{gap:0;background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden}.bb-mobile-owner{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:16px;box-shadow:none}.bb-mobile-owner:last-child{border-bottom:0}.bb-mobile-owner-heading{justify-content:flex-start;gap:10px}.bb-mobile-owner-heading .bb-owner-name{text-align:left;font-size:1rem;min-height:44px}.bb-mobile-owner-heading>small{margin-left:auto;color:var(--muted);font-size:.72rem;white-space:nowrap}.bb-mobile-rank{font-weight:800;color:var(--muted);min-width:22px}
 .bb-mobile-point-columns{grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 0 32px}.bb-mobile-point-columns div{display:grid;gap:5px}.bb-mobile-point-columns small{font-size:.73rem;color:var(--muted)}.bb-mobile-point-columns strong{background:none;border-radius:0;padding:0;font-size:1.1rem}.bb-mobile-sort{display:flex;align-items:center;justify-content:space-between;gap:14px}.bb-mobile-sort select{width:auto;min-width:170px}
}

.bb-featured-leader{background:var(--turquoise);color:var(--navy);border-color:var(--turquoise)}.bb-featured-leader .label,.bb-featured-leader .big{color:var(--navy)}.bb-featured-runner{background:var(--orange);color:white;border-color:var(--orange)}.bb-featured-runner .label,.bb-featured-runner .big{color:white}

@media(max-width:700px){.bb-mobile-owner-heading{display:grid;grid-template-columns:22px minmax(0,1fr);gap:2px 10px}.bb-mobile-owner-heading .bb-mobile-rank{grid-row:1 / span 2}.bb-mobile-owner-heading>small{grid-column:2;margin-left:0}.bb-mobile-owner-heading .bb-owner-name{min-height:44px}}

.bb-game-filters{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:24px 0}.bb-game-filters label{display:grid;gap:7px;font-weight:700}.bb-game-filters select,.bb-game-filters input{min-width:150px;min-height:44px;font:inherit}.bb-game-filters button,.bb-game-pages button{min-height:44px;background:var(--navy);color:white;border:0;border-radius:8px;padding:10px 18px;font:inherit;cursor:pointer}.bb-game-pages button:disabled{opacity:.45;cursor:default}.bb-game-date{grid-column:1/-1;margin:18px 0 0}.bb-games-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.bb-game-day{min-width:0;border:1px solid var(--line);border-radius:12px;background:#f8fafc;overflow:hidden}.bb-game-day>summary{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 16px;cursor:pointer;list-style:none;color:var(--navy)}.bb-game-day>summary::-webkit-details-marker{display:none}.bb-game-day>summary::before{content:'▸';font-size:1rem;flex-shrink:0}.bb-game-day[open]>summary::before{content:'▾'}.bb-game-day>summary:focus-visible{outline:3px solid var(--turquoise);outline-offset:-3px}.bb-game-day-title{font-weight:800}.bb-game-day-count{margin-left:auto;white-space:nowrap;font-size:.8rem;color:var(--muted)}.bb-game-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 12px 12px}.bb-game-card{min-width:0;background:white;border:1px solid var(--line);border-radius:10px;padding:12px}.bb-game-head{display:flex;justify-content:space-between;gap:8px;font-size:.75rem;color:var(--muted)}.bb-game-status.final{color:#087a69}.bb-game-status.live{color:#b24700}.bb-game-match{display:grid;gap:8px;margin:12px 0}.bb-game-match>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.95rem}.bb-game-match>div>strong:first-child{min-width:0;overflow-wrap:anywhere}.bb-game-match>div>strong:last-child{flex-shrink:0;font-variant-numeric:tabular-nums}.bb-game-hit{background:#e6f7f4;border-left:3px solid var(--turquoise);border-radius:6px;padding:8px;margin:10px 0 0;font-size:.8rem;font-weight:700;line-height:1.4}.bb-game-card summary{cursor:pointer;min-height:44px;align-content:center}.bb-game-card details p{font-size:.8rem;line-height:1.4}.bb-game-card summary{font-size:.85rem}.bb-game-card>.bb-status-quiet{font-size:.78rem;line-height:1.4;margin:8px 0 0}.bb-game-pages{display:flex;align-items:center;justify-content:center;gap:14px;margin:24px 0}.bb-games-empty{grid-column:1/-1;background:white;border:1px solid var(--line);border-radius:14px;padding:30px;line-height:1.6}@media(max-width:1100px){.bb-game-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.bb-game-day-grid{grid-template-columns:1fr}.bb-game-filters{display:grid;grid-template-columns:minmax(0,1fr)}.bb-game-filters input,.bb-game-filters select{width:100%;min-width:0;font-size:16px}.bb-game-card{padding:12px}.bb-game-pages{flex-wrap:wrap}.basketball-active .basketball-nav button{padding:14px 8px}}

.bb-game-pages[hidden]{display:none}@media(max-width:700px){.bb-game-day>summary{padding:12px;gap:8px}.bb-game-day-title{font-size:.9rem}.bb-game-day-count{font-size:.75rem}}

/* Completed board becomes the monthly scoring view. */
#basketball-squares.is-board-complete .basketball-queue-panel,
#basketball-squares.is-board-complete .bb-board-intro,
#basketball-squares.is-board-complete .basketball-board-counts{display:none}
#basketball-squares .bb-board-hit-legend{font-size:.85rem;color:var(--muted);line-height:1.5;margin:10px 0}
#basketball-squares .bb-board-hit-legend[hidden]{display:none}
#basketball-squares .bb-square-hits{display:block;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap;color:var(--navy);font-variant-numeric:tabular-nums;margin-top:3px}
#basketball-squares.is-board-complete .basketball-board-square{min-height:82px;gap:3px}
#basketball-squares.is-board-complete .basketball-square-owner{line-height:1.2}

#basketball-squares.is-board-complete .basketball-score-board{min-width:900px}
@media(max-width:600px){#basketball-squares.is-board-complete .basketball-score-board{width:900px}}

#basketball-squares.is-board-complete .basketball-board-legend,
#basketball-squares.is-board-complete .basketball-board-notice{display:none}
