.lb-dashboard{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.lb-sidebar{display:grid;gap:12px;min-width:0;align-content:start}.lb-sidebar>.lesson-bank,.lb-sidebar>.class-portal,.lb-sidebar>.class-boss{margin:0}.lb-dashboard>#lb-table-wrap{min-width:0}.lb-dashboard>#lb-table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:12px}
@media(min-width:1100px){
 #app:has(.lb-dashboard),.board-display #app:has(.lb-dashboard){max-width:2400px;width:100%;box-sizing:border-box;padding:18px 24px 28px}
 .lb-dashboard{grid-template-columns:clamp(285px,25vw,360px) minmax(0,1fr);gap:22px;align-items:start}
 .lb-sidebar{position:sticky;top:18px;max-height:calc(100dvh - 190px);overflow-y:auto;scrollbar-width:thin;padding:2px 6px 8px 2px;overscroll-behavior:contain}
 .lb-sidebar .class-boss{grid-template-columns:66px minmax(0,1fr);gap:8px;padding:14px 12px;border-radius:17px}
 .lb-sidebar .boss-art{align-self:start;margin-top:22px}.lb-sidebar .boss-heading{flex-wrap:wrap;gap:4px}.lb-sidebar .boss-heading h2{font-size:18px;line-height:1.2}.lb-sidebar .boss-timer{font-size:13px;padding:5px 8px}.lb-sidebar .boss-eyebrow{font-size:9px;letter-spacing:.08em}.lb-sidebar .boss-summary{font-size:12px}.lb-sidebar .boss-numbers{font-size:11px}
 .lb-sidebar .class-portal{flex-wrap:wrap;padding:12px;gap:10px;border-radius:17px}.lb-sidebar .class-portal-copy{min-width:140px}.lb-sidebar .class-portal-ring{width:46px;height:46px;flex-shrink:0}.lb-sidebar .class-portal p{font-size:12px}.lb-sidebar .class-portal>button{margin-left:auto;padding:7px 12px;font-size:12px}
 .lb-sidebar .bank-head{display:block}.lb-sidebar .bank-amount{margin-top:8px}.lb-sidebar .bank-amount strong{font-size:28px}.lb-sidebar .bank-foot{font-size:11px}.lb-sidebar .bank-next-reward{line-height:1.45}.lb-sidebar .bank-steps{flex-wrap:wrap;overflow:visible!important}
 .lb-dashboard>#lb-table-wrap{max-height:calc(100dvh - 190px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain;border:1px solid var(--border);border-radius:16px;background:var(--bg-soft)}
 .lb-dashboard>#lb-table-wrap>div{overflow:visible!important}
 .lb-dashboard .lb-table{margin:0;width:100%;border-collapse:separate;border-spacing:0}
 .lb-dashboard .lb-table thead th{position:sticky;top:0;z-index:4;background:var(--bg-card,var(--bg));box-shadow:0 1px 0 var(--border);padding:11px 10px}
 .lb-dashboard .lb-table td{padding:7px 10px}.lb-dashboard .lb-table .lb-icon-slot{padding:6px;width:54px;min-width:54px}.lb-dashboard .lb-icon-slot .chest-icon,.lb-dashboard .lb-icon-empty{width:36px;height:36px}
 .lb-dashboard .ranked-name{min-height:36px;padding-top:3px;padding-bottom:3px}.lb-dashboard .lb-badges{font-size:12px}.lb-dashboard .lb-status{max-width:220px;overflow-wrap:anywhere}
 .board-display .lb-dashboard .lb-table{font-size:16px}.board-display .lb-header{margin-bottom:12px}
}
.lb-sidebar>*{min-width:0;max-width:100%;box-sizing:border-box}.card:has(.lb-dashboard) .live-indicator{white-space:normal;max-width:100%;line-height:1.5}.lb-sidebar .boss-info{min-width:0}
.lb-dashboard .lb-table{color:var(--text)}.lb-dashboard .lb-table .lb-score-value{color:var(--text-bright);font-weight:700}
.lb-table .lb-coins { color:var(--warm); white-space:nowrap; font-variant-numeric:tabular-nums; }
.lb-coin-mark { width:1.1em; height:1.1em; vertical-align:-.2em; margin-right:.25em; }
.board-display #topnav>#brotherhood-board-nav:not([hidden]) { display:inline-flex!important; }
.lb-table .lb-clan { padding-left:24px; min-width:150px; border-left:1px solid var(--border); font-family:var(--font-ui); }
.lb-clan-badge { display:inline-flex; align-items:center; gap:9px; max-width:200px; font-size:.85em; line-height:1.35; overflow-wrap:anywhere; color:var(--text); }
.lb-clan-flag { display:inline-grid; place-items:center; flex:0 0 32px; width:32px; height:34px; color:var(--accent-bright); }
.lb-clan-flag img, .lb-clan-flag svg { width:30px; height:30px; object-fit:contain; image-rendering:pixelated; }
.lb-clan-none { color:var(--text-muted); }
.profile-tabs #profile-tab-brotherhood { grid-column:1/-1; }
.valley-stats { grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); }
.board-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-left:auto;order:2}.board-tools label{display:flex;align-items:center;gap:8px;font-size:14px}.board-tools select{font:inherit;color:var(--text);background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:7px}.board-tools button{white-space:nowrap}
@media(min-width:1100px){
 .board-display #app{max-width:none!important;width:100%;padding:16px 22px;box-sizing:border-box}
 .board-display .lb-dashboard{grid-template-columns:clamp(300px,24vw,650px) minmax(0,1fr)}
 .board-display .lb-dashboard .lb-table{font-size:calc(clamp(18px,1vw,36px)*var(--board-scale,1))}
 .board-display .lb-dashboard .ranked-name{font-size:inherit;overflow-wrap:anywhere}
 .board-display .lb-dashboard .lb-status{font-size:.7em;max-width:280px}
 .board-display .lb-dashboard .lb-icon-slot{width:clamp(52px,4vw,90px)}
 .board-display .lb-dashboard .lb-icon-slot .chest-icon{width:clamp(36px,2.4vw,80px);height:clamp(36px,2.4vw,80px)}
 .board-display .lb-dashboard .lb-table th,.board-display .lb-dashboard .lb-table td{padding:.48em .55em}
 .board-display .lb-sidebar{font-size:calc(clamp(16px,.85vw,28px)*var(--board-scale,1));max-height:calc(100dvh - 240px)}
 .board-display .lb-sidebar .boss-heading h2,.board-display .lb-sidebar h2{font-size:1.1em}
 .board-display .lb-sidebar .boss-summary,.board-display .lb-sidebar .boss-numbers,.board-display .lb-sidebar .bank-foot,.board-display .lb-sidebar .class-portal p,.board-display .lb-sidebar .class-boss details{font-size:.8em}
 .board-display .lb-sidebar .bank-next-reward,.board-display .lb-sidebar .bank-steps{font-size:.75em!important}
 .board-display .lb-dashboard>#lb-table-wrap{max-height:calc(100dvh - 240px);min-height:220px}
}
@media(prefers-reduced-motion:reduce){.lb-dashboard *{animation:none!important;transition:none!important}}
@media(max-width:600px){.card:has(.lb-dashboard) .live-indicator{display:block;overflow-wrap:anywhere;text-indent:0}.card:has(.lb-dashboard) .live-dot{display:inline-block;margin-right:6px}}
/* Classroom displays: use their width, keeping type readable at a distance. */
@media(min-width:2200px){
 .board-display #app:has(.lb-dashboard){max-width:none;padding:24px 32px}
 .board-display .lb-dashboard{grid-template-columns:clamp(360px,19vw,600px) minmax(0,1fr);gap:28px}
 .board-display .lb-dashboard .lb-table{font-size:clamp(18px,.7vw,30px)}
 .board-display .lb-dashboard .lb-table td{padding:clamp(8px,.35vw,16px) 14px}
 .board-display .lb-dashboard .ranked-name{font-size:inherit}.board-display .lb-dashboard .ranked-name small{font-size:.65em}
 .board-display .lb-dashboard .lb-status{font-size:.72em;max-width:360px}
 .board-display .lb-sidebar{font-size:clamp(16px,.6vw,24px)}
 .board-display .lb-sidebar h2,.board-display .lb-sidebar .boss-heading h2{font-size:1.2em}
 .board-display .lb-sidebar .bank-amount strong{font-size:1.8em}
 .board-display .lb-sidebar .bank-foot,.board-display .lb-sidebar .class-portal p,.board-display .lb-sidebar .boss-summary,.board-display .lb-sidebar .boss-numbers,.board-display .lb-sidebar .class-boss details{font-size:.8em}
 .board-display .lb-sidebar .bank-next-reward,.board-display .lb-sidebar .bank-steps{font-size:.8em!important}
 .board-display .lb-sidebar .class-boss{grid-template-columns:90px minmax(0,1fr)}
}
/* Fit the artwork to BOTH dimensions (including landscape/zoomed screens). */
.boss-flight{width:min(85vw,1000px,70vh)}
.boss-fire-bird{width:min(75vw,700px,38vh)}
.boss-fire i{width:13vw;filter:none}
.boss-fire-caption{top:58%;width:min(90vw,680px);padding:clamp(16px,2vh,30px)}
.boss-fire-caption span{font-size:clamp(14px,1vw,22px)}
.milestone-portal{box-sizing:border-box;gap:clamp(12px,2vh,32px)}
.portal-vortex{width:min(54vw,32vh,560px)}
.portal-copy{max-width:min(90vw,1000px)}
.portal-copy h1{font-size:clamp(27px,3vw,72px)}
.portal-copy p,.portal-copy button,.portal-copy small{font-size:clamp(14px,1.1vw,24px)}
.portal-celebration{box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
@media(min-width:2200px) and (min-height:1000px){
 .portal-celebration{width:min(1400px,80vw)}.portal-celebration-copy{font-size:24px}
 .portal-sky{height:430px}.portal-sky>.class-portal-ring{width:280px;height:280px;left:calc(50% - 140px);top:75px}
 .portal-sky>.portal-orbit{width:340px;height:340px;left:calc(50% - 170px);top:45px}
 .portal-sky>.portal-orbit.second{width:400px;height:400px;left:calc(50% - 200px);top:15px}
 .portal-wave{top:130px}.portal-particles{top:215px}
 .boss-toast{width:620px;font-size:22px}.boss-toast strong{font-size:24px}.boss-toast p{font-size:18px}
}
@media(max-height:600px) and (min-width:600px){.milestone-portal{gap:24px}.portal-vortex{width:min(28vw,45vh)}.portal-copy h1{font-size:clamp(24px,4vh,38px);margin:8px 0}.portal-copy p{margin-bottom:10px}.portal-copy button{padding:10px 16px;margin-bottom:8px}.boss-fire-bird{top:1%}.boss-fire-caption{top:67%;padding:10px}.boss-fire-caption strong{font-size:24px;margin-bottom:4px}}
/* Controls stay available even in the dedicated classroom account. */
.board-display .lb-controls{display:flex!important;flex-wrap:wrap;gap:10px}.board-display .lb-controls>label,.board-display .lb-controls>.lb-select{display:none}.board-tools{margin-left:0}
@media(min-width:1100px){
 .board-display .lb-dashboard .lb-table{font-size:calc(clamp(18px,1vw,36px)*var(--board-scale,1))}
 .board-display .lb-dashboard .lb-table td{font-size:inherit}.board-display .lb-dashboard .lb-table th{font-size:.68em}
 .board-display .lb-dashboard .lb-table td.lb-status{font-size:.7em}
 .board-display .lb-dashboard .ranked-name small{font-size:.6em}
 .board-display .lb-sidebar{font-size:calc(clamp(16px,.85vw,28px)*var(--board-scale,1))}
 .board-display .lb-sidebar .boss-timer{font-size:.8em}
 .board-display .lb-dashboard .lb-table{overflow:visible}
}
.class-boss[data-boss=frost]{border-color:#80e8ff;background:linear-gradient(125deg,#143e54,#171627)}
.class-boss[data-boss=storm]{border-color:#c49cff;background:linear-gradient(125deg,#3c225d,#171627)}
.class-boss[data-boss=hydra]{border-color:#72e5ad;background:linear-gradient(125deg,#183f37,#171627)}
.class-boss[data-boss=void]{border-color:#ec99da;background:linear-gradient(125deg,#4d204b,#171627)}
.board-display .lb-controls>label,.board-display .lb-controls>.lb-select{display:none!important}
.lb-sidebar>.class-boss[data-state=active]{order:-1}
