/* Student usability pass: final shared rules for readable, reachable controls. */
:root{--student-caption:#c8bede}
:root[data-theme=light]{--student-caption:#5f4d70}
.skip-link{position:fixed;top:12px;left:12px;z-index:11000;transform:translateY(-160%);padding:13px 19px;border-radius:12px;background:var(--text);color:var(--bg)!important;font-size:16px}
.skip-link:focus{transform:translateY(0)}
main:focus,.page h1:focus{outline:none}
:where(button,a,summary,select,input):focus-visible{outline:2px solid var(--accent);outline-offset:4px}
#leaderboard .page-heading .eyebrow,#badges .achievement-heading .eyebrow,.agenda-heading .eyebrow{font-size:10px;line-height:1.7;letter-spacing:1.3px}
#leaderboard .page-heading p,#badges .achievement-heading>p{font-size:15px;line-height:1.7}
.demo-pill{font-size:10px;line-height:1.5;letter-spacing:.6px;max-width:150px;text-align:center}
.round-tag{font-size:11px;letter-spacing:.6px;line-height:1.5}
.arena-prize small,.arena-round small{font-size:10px;line-height:1.6;letter-spacing:1px}
.arena-round strong{font-variant-numeric:tabular-nums}
.category-tabs button,.schedule-tabs button,select{min-height:44px}
.category-tabs small{font-size:10px}
.ranking-head h2{font-size:23px;line-height:1.2}
.ranking-head p{font-size:12px;line-height:1.7}
.search-row .search{width:100%;min-height:48px}
.search-row>span{display:none}
.search input{font-size:16px;min-height:46px}
.search input::placeholder{font-size:14px;color:var(--student-caption);opacity:1}
.search:focus-within{outline:2px solid var(--accent);outline-offset:3px}
.rank-info{min-width:0;flex:1}
.rank-info h3{font-size:16px;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.rank-meta{font-size:12px;line-height:1.6;flex-wrap:wrap;gap:5px;color:var(--student-caption)}
.rank-total{flex-shrink:0;font-variant-numeric:tabular-nums}
.rank-number{font-variant-numeric:tabular-nums}
.list-labels,.list-footer{font-size:11px;line-height:1.7;letter-spacing:.5px}
.list-footer{gap:14px;flex-wrap:wrap}
.student-badges-list{gap:5px;align-items:center}
.badge-chip{font:500 11px/1.4 Outfit;min-height:32px;padding:5px 8px;max-width:100%;text-align:left;color:var(--text);cursor:pointer}
.badge-chip-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.badge-chip-count{font-size:10px}
.badge-more{min-width:32px;justify-content:center;flex-shrink:0}
.badge-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pagination-controls .page-arrow,.page-pill button{width:44px;height:44px;min-width:44px;font-size:15px}
.page-pill{gap:4px;padding:7px 10px}
.page-gap{min-width:8px;text-align:center}
.standings-jump{display:inline-flex;gap:20px;align-items:center;min-height:44px;margin-top:15px;padding:0;border:0;background:none;color:var(--accent);font:500 14px Outfit;text-align:left;cursor:pointer}
.standings-jump span{font-size:20px}
.results-status{font:400 13px/1.7 Outfit;color:var(--student-caption);margin:0}
.results-status:not(:empty){padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--glass);margin:0 0 16px}
.results-status:empty{display:none}
#retry-results,#retry-schedule{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:24px;padding:9px 16px;background:var(--glass);color:var(--text);font:500 14px Outfit;margin:8px}
.empty{font-size:15px;line-height:1.8;padding:25px 14px}
#badge-detail-dialog{width:min(640px,calc(100vw - 32px));max-height:85dvh;overflow:auto;overscroll-behavior:contain;border:1px solid var(--glass-border);border-radius:24px;background:var(--panel);color:var(--text);padding:26px;box-shadow:0 25px 100px #0006}
#badge-detail-dialog::backdrop{background:#080510bb;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.badge-dialog-top{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}
.badge-dialog-top h2{font:600 25px/1.3 Outfit;letter-spacing:-.5px;margin:4px 0;overflow-wrap:anywhere}
#close-badge-detail{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);color:var(--text);background:var(--glass);font-size:25px}
.badge-evidence{display:flex;align-items:start;gap:18px;border-top:1px solid var(--line);padding:20px 0}
.badge-evidence>img{width:64px;height:64px;object-fit:contain;flex-shrink:0}
.badge-evidence h3{font:600 21px/1.3 Outfit;margin:0 0 10px}
.badge-evidence p,.badge-evidence li{font:400 14px/1.75 Outfit;color:var(--student-caption)}
.badge-evidence ul{padding-left:18px}
#badges .honours-edition{font-size:10px;line-height:1.7;letter-spacing:.7px;white-space:normal}
#badges .honour-index{font-size:11px}
#badges .honour-category{font-size:10px;line-height:1.5;letter-spacing:1.1px}
#badges .badge-card-desc,#badges .honour-rule .badge-card-criteria-text{font-size:14px;line-height:1.75}
#badges .honour-rule summary{font-size:13px;min-height:44px}
#badges .badges-gallery-header h2{font-size:17px}
#badges .badge-carousel-status{font-size:12px}
.sidebar nav b{white-space:normal;font-size:16px;line-height:1.4}
.sidebar .sidebar-season,.sidebar .sidebar-season b{font-size:13px;line-height:1.6}
.sidebar .sidebar-manifesto>span{font-size:10px;line-height:1.6;letter-spacing:1px}
.sidebar .theme-switch button{min-height:44px}
.sidebar .brand-type small{font-size:9px;letter-spacing:.6px}
.agenda-status{font-size:10px;line-height:1.7;letter-spacing:.7px;white-space:normal}
.agenda-context>span{font-size:11px;line-height:1.6;letter-spacing:1px}
.agenda-row:disabled{opacity:1}
.agenda-main>span{font-size:12px;line-height:1.6}
.agenda-main p,.agenda-date p{font-size:12px;line-height:1.6;color:#eee7f5}
.agenda-date h4{font-size:19px;line-height:1.35;letter-spacing:0}
.agenda-date{max-width:170px}
.agenda-round span{font-size:10px;line-height:1.5}
#about :is(.about-story-copy p,.playbook-grid p,.club-membership>p,.flow-card p){font-size:15px;line-height:1.85}
#about :is(.about-eyeline,.about-eyeline a,.about-lead>span,.about-facts p,.eyebrow,.flow-step-tag,.about-closing>span){font-size:10px;line-height:1.8;letter-spacing:.8px}
#about .about-univ-link{min-height:44px}
#about .about-facts{gap:22px}
.club-footer .footer-kicker,.club-footer .footer-destinations a>span{font-size:10px;line-height:1.7;letter-spacing:1px}
.club-footer .footer-identity p{font-size:13px;line-height:1.7}
.club-footer .footer-destinations a{min-height:60px}
.club-footer .footer-baseline{font-size:12px;line-height:1.7}
.site-preloader>button{min-height:44px}
:root[data-theme=light] .mobile-island .island-links a div,:root[data-theme=light] .mobile-island .island-links a.active div{color:#352145!important;text-shadow:none}
:root[data-theme=light] .mobile-island .island-links a small,:root[data-theme=light] .mobile-island .island-links a.active small{color:#5f4b70!important}
:root[data-theme=light] .mobile-island .island-links a.active{background:#e6d8f3!important;border-color:#bfa3d5!important;box-shadow:inset 0 1px #fff!important}
:root[data-theme=light] .search input::placeholder{color:#655074}
:root[data-theme=light] .rank-row .rank-number{color:#5a426d}
:root[data-theme=light] .agenda-row .agenda-main :is(span,p),:root[data-theme=light] .agenda-row .agenda-date :is(h4,p){color:#3c293f}
:root[data-theme=light] .agenda-row .agenda-round :is(span,b){color:#fff}
:root[data-theme=light] #about .about-univ-link{color:#4b365c}
@media(min-width:701px) and (max-width:1000px){
 .agenda-row{display:grid;grid-template-columns:65px minmax(0,1fr) 100px;gap:14px;padding:18px 14px 18px 0}
 .agenda-round{width:65px;margin:-18px 0}
 .agenda-main h3{font-size:23px;overflow-wrap:anywhere}
 .agenda-date{width:100px}
 .agenda-date h4{font-size:17px}
 .agenda-arrow{display:none}
 .ranking-head{flex-wrap:wrap}
 .ranking-head select{max-width:100%}
 .pagination-controls{gap:8px}
 .page-pill{gap:0;padding:6px}
 .page-pill button{min-width:36px;width:36px}
 .sidebar .brand-type small{font-size:8px}
}
@media(max-width:700px){
 main{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .mobile-island{max-height:calc(100dvh - 28px - env(safe-area-inset-top,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 .mobile-island .island-trigger{width:44px;min-width:44px;height:44px;flex-basis:44px}
 .mobile-island .island-top{height:44px}
 .mobile-island .island-brand{min-height:44px}
 .mobile-island .island-links a div{font-size:15px;line-height:1.4}
 .mobile-island .island-links small{font-size:12px;line-height:1.5}
 #leaderboard .page-heading{min-height:190px}
 #leaderboard .page-heading .eyebrow{max-width:62%;font-size:10px;letter-spacing:.8px}
 #leaderboard .page-heading h1{font-size:clamp(34px,9.5vw,43px)}
 #leaderboard .page-heading p{font-size:14px;max-width:25ch}
 #leaderboard .heading-art{opacity:.3}
 #leaderboard .demo-pill{font-size:9px;max-width:108px;padding:6px 9px;line-height:1.5}
 .filters{flex-wrap:wrap;gap:10px}
 .category-tabs{flex:1;gap:3px;min-width:0}
 .category-tabs button{flex:1;font-size:15px;padding:10px 15px;min-height:44px}
 .filters #track{font-size:16px;max-width:45%;min-height:44px}
 .filters .round-tag{flex-basis:100%;margin:0;font-size:11px}
 .arena-prize small,.arena-round small{font-size:9px;line-height:1.7;letter-spacing:.5px}
 .arena-status{gap:10px}
 .arena-prize,.arena-round{min-width:0}
 .arena-prize>div,.arena-round>div{min-width:0}
 .arena-prize b{font-size:11px;line-height:1.6}
 .arena-round strong{font-size:24px}
 .arena-round strong em{font-size:13px}
 .ranking-head{align-items:start;flex-wrap:wrap;gap:12px}
 .ranking-head h2{font-size:22px}
 .ranking-head p{font-size:12px;line-height:1.6;max-width:30ch}
 .ranking-head select{font-size:16px;min-height:44px;max-width:100%;padding:10px 12px}
 .search-row .search{width:100%;margin:0;min-height:48px}
 .search input{font-size:16px}
 .search input::placeholder{font-size:14px}
 .rank-row,.rank-row.leader{gap:8px;padding:14px 10px;align-items:center}
 .rank-row .rank-number{width:29px;min-width:29px;font-size:28px;letter-spacing:-1px;color:#c6b3dc}
 .rank-row .avatar{width:34px;height:34px;flex-shrink:0}
 .rank-info h3{font-size:14px;line-height:1.4;letter-spacing:0;white-space:normal}
 .rank-row .rank-meta{font-size:11px;line-height:1.6;gap:4px}
 .rank-row .rank-total{min-width:42px;max-width:64px}
 .rank-row .rank-total strong{font-size:21px;line-height:1.3}
 .rank-total small{display:block;font-size:10px;line-height:1.5;color:var(--student-caption)}
 .student-badges-list{gap:4px;margin-top:8px}
 .badge-chip{font-size:10px;min-height:36px;padding:5px 7px}
 .badge-chip-icon{width:17px;height:17px}
 .badge-chip-name{max-width:17ch}
 .badge-more{min-height:36px;min-width:36px}
 .list-labels,.list-footer{font-size:10px;line-height:1.7;letter-spacing:.5px}
 .pagination-controls{gap:8px;width:100%;flex-wrap:wrap}
 .page-pill{flex:0 1 auto;padding:5px 3px;gap:0;max-width:100%}
 .page-pill button{width:36px;min-width:36px;height:44px;font-size:14px}
 .pagination-controls .page-arrow{height:44px;width:44px;min-width:44px;font-size:24px}
 .pagination-controls .page-gap{font-size:12px;padding:0;min-width:8px}
 #badges .achievement-heading .eyebrow{font-size:10px}
 #badges .honours-edition{font-size:9px;max-width:90px;letter-spacing:.5px}
 #badges .achievement-heading>p{font-size:14px}
 #badges .honour-category{font-size:10px}
 #badges .badge-card-desc,#badges .honour-rule .badge-card-criteria-text{font-size:14px}
 .badge-carousel-controls{grid-template-columns:44px minmax(0,1fr) 44px;max-width:100%;gap:4px}
 .badge-carousel-dots button{width:24px;min-width:20px}
 #badge-detail-dialog{padding:22px 18px;max-height:85dvh}
 .badge-dialog-top h2{font-size:22px}
 .badge-evidence{flex-direction:column;align-items:center}
 .badge-evidence>div{width:100%}
 #badges .minimal-badge{min-height:380px}
 .agenda-heading .eyebrow{font-size:10px}
 .agenda-heading>p{font-size:15px!important;color:var(--text)!important}
 .schedule-tabs{gap:7px}
 .schedule-tabs button{font-size:13px;min-height:46px;padding:10px 7px}
 .agenda-status{font-size:10px;margin-top:14px}
 .agenda-context>span{font-size:11px}
 .agenda-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:14px;min-height:145px;padding:17px 14px 17px 0;align-items:start}
 .agenda-row .agenda-round{position:static;grid-column:1;grid-row:1/3;margin:-17px 0;width:54px;min-height:0;align-self:stretch}
 .agenda-round span{font-size:9px;letter-spacing:.5px}
 .agenda-row .agenda-main{padding:0;min-width:0;grid-column:2}
 .agenda-main>span{font-size:11px}
 .agenda-row .agenda-main h3,.agenda-row.unrevealed .agenda-main h3{font-size:21px;line-height:1.25;max-width:none;overflow-wrap:anywhere}
 .agenda-row .agenda-main p{font-size:12px;line-height:1.6;max-width:none}
 .agenda-row .agenda-date{grid-column:2;width:auto;max-width:none;text-align:left}
 .agenda-row .agenda-date h4{font-size:14px;line-height:1.6;margin:0}
 .agenda-row .agenda-date p{display:none}
 #about .about-eyeline{flex-wrap:wrap;gap:12px}
 #about :is(.about-story-copy p,.playbook-grid p,.club-membership>p,.flow-card p){font-size:15px}
 #about .about-facts{grid-template-columns:1fr;gap:0}
 #about .about-facts>div{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}
 #about .about-facts>div:last-child{border-bottom:0}
 #about .about-facts p{font-size:10px;line-height:1.7;max-width:none}
 .club-footer .footer-destinations a>span,.club-footer .footer-kicker{font-size:10px;line-height:1.7}
 .club-footer .footer-destinations{gap:12px}
 .club-footer .footer-identity p{font-size:13px}
 .club-footer .footer-baseline{font-size:11px}
}
@media(max-width:360px){
 .pagination-controls{gap:5px}
 .page-pill button{width:30px;min-width:30px}
 .page-pill{padding:5px 2px}
 .pagination-controls .page-arrow{width:40px;min-width:40px}
 .rank-row .avatar{width:30px;height:30px}
 .rank-row,.rank-row.leader{padding-left:8px;padding-right:8px;gap:6px}
 .rank-row .rank-number{width:26px;min-width:26px;font-size:25px}
 .arena-prize small,.arena-round small{font-size:9px;letter-spacing:0}
 .arena-status{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Solid ribbon labels remain legible against every schedule colour. */
:root .agenda-row{--ribbon:#b62360}
:root .agenda-row.tone-1{--ribbon:#42654a}
:root .agenda-row.tone-2{--ribbon:#9c4b1e}

@media(hover:none){.badge-chip:hover{transform:none}.island-trigger:hover{background:var(--glass)}}

/* Mobile navigation: quiet list, sculpted icon tiles and a distinct current-page mark. */
@media(max-width:700px){
 .mobile-island.expanded{border-radius:27px;background:linear-gradient(145deg,#21182ef5,#100d19fa);border-color:#b893e64a;box-shadow:inset 0 1px #ffffff1a,0 24px 65px #0007}
 .mobile-island .island-links{padding:8px 4px 5px;margin-top:11px;gap:5px;border-top:1px solid #c5a4eb20}
 .menu-options-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 12px;gap:14px}
 .menu-options-heading>span{font:600 10px/1.5 'Plus Jakarta Sans',sans-serif;letter-spacing:1.8px;color:#b8a3ce}
 .menu-options-heading>small{font:500 12px/1.5 Outfit,sans-serif;color:#d8c9e8;letter-spacing:.2px}
 .mobile-island .island-links a.menu-option{position:relative;display:flex;align-items:center;gap:12px;padding:12px 11px;min-height:78px;border:1px solid transparent;border-radius:19px;background:transparent;box-shadow:none;touch-action:manipulation;transition:background 160ms var(--ease-out),border-color 160ms var(--ease-out);overflow:visible}
 .mobile-island .island-links a.menu-option.active{background:linear-gradient(110deg,#9860d82b,#9860d80d)!important;border-color:#b58bdb42!important;box-shadow:inset 0 1px #ffffff0c!important}
 .mobile-island .island-links a.menu-option .menu-option-icon{display:grid;place-items:center;flex:0 0 43px;width:43px;height:43px;border:1px solid #cab0e626;border-radius:14px;background:linear-gradient(145deg,#ffffff09,#ffffff02);color:#cebcdf;box-shadow:inset 0 1px #ffffff09}
 .menu-option-icon svg{display:block;width:23px;height:23px}
 .mobile-island .island-links a.menu-option.active .menu-option-icon{background:linear-gradient(145deg,#d8bbff,#b28bdf);border-color:#d5b2f5;color:#352044;box-shadow:inset 0 1px #fff5,0 4px 12px #7c3eb820}
 .mobile-island .island-links a.menu-option .menu-option-copy{min-width:0;flex:1;font:500 15px/1.35 Outfit,sans-serif;letter-spacing:0;color:#f4edf9!important}
 .menu-option-title{display:block;font-weight:550;overflow-wrap:anywhere}
 .mobile-island .island-links a.menu-option small{font:400 11px/1.6 Outfit,sans-serif;margin-top:4px;color:#bba9ce!important;letter-spacing:0}
 .mobile-island .island-links a.menu-option .menu-option-end{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;color:#a790be;margin-left:auto}
 .menu-option-end svg{display:block;width:18px;height:18px}
 .menu-option-arrow,.menu-option-check{display:block}
 .menu-option-check{display:none}
 .menu-option.active .menu-option-arrow{display:none}
 .menu-option.active .menu-option-check{display:block;color:#dbc0fa}
 .mobile-island .island-links a.menu-option:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
 .mobile-island .island-links a.menu-option:active{background:#b588da16}
 :root[data-theme=light] .mobile-island.expanded{background:linear-gradient(145deg,#fffdfefa,#f5eefafa);border-color:#c8b1da;box-shadow:inset 0 1px #fff,0 24px 65px #43205e26}
 :root[data-theme=light] .mobile-island .island-links{border-top-color:#d8c8e5}
 :root[data-theme=light] .menu-options-heading>span{color:#735b85}
 :root[data-theme=light] .menu-options-heading>small{color:#5c426e}
 :root[data-theme=light] .mobile-island .island-links a.menu-option .menu-option-copy{color:#33213e!important}
 :root[data-theme=light] .mobile-island .island-links a.menu-option small{color:#6b547e!important}
 :root[data-theme=light] .mobile-island .island-links a.menu-option .menu-option-icon{background:#f0e8f7;border-color:#dfcfe9;color:#72508c;box-shadow:inset 0 1px #fff}
 :root[data-theme=light] .mobile-island .island-links a.menu-option.active{background:linear-gradient(110deg,#e8daf5,#f0e7f8)!important;border-color:#ccb1e0!important;box-shadow:inset 0 1px #fff!important}
 :root[data-theme=light] .mobile-island .island-links a.menu-option.active .menu-option-icon{background:linear-gradient(145deg,#9360bd,#754296);border-color:#8151a3;color:#fff;box-shadow:inset 0 1px #ffffff30,0 4px 12px #75429615}
 :root[data-theme=light] .mobile-island .island-links a.menu-option .menu-option-end{color:#8a709e}
 :root[data-theme=light] .menu-option.active .menu-option-check{color:#70448e}
}
@media(max-width:360px){
 .mobile-island .island-links a.menu-option{gap:10px;padding:11px 8px}
 .mobile-island .island-links a.menu-option .menu-option-icon{flex-basis:38px;width:38px;height:38px;border-radius:12px}
 .mobile-island .island-links a.menu-option .menu-option-copy{font-size:14px}
 .mobile-island .island-links a.menu-option small{font-size:11px}
 .mobile-island .island-links a.menu-option .menu-option-end{flex-basis:20px;width:20px}
}
@media(hover:hover) and (pointer:fine){.mobile-island .island-links a.menu-option:not(.active):hover{background:var(--glass);border-color:var(--line)}}
@media(max-width:700px){
 .mobile-island .menu-options-heading>small{color:#d8c9e8!important;margin:0;font-size:12px}
 .mobile-island .island-links a.menu-option .menu-option-copy{text-shadow:none}
 :root[data-theme=light] .mobile-island .menu-options-heading>small{color:#5c426e!important}
}

/* Dense ranks communicate ties without skipping subsequent positions. */
.rank-row .rank-number{flex-direction:column;gap:4px;height:auto;min-height:42px;letter-spacing:-.5px}
.rank-row .rank-number .rank-tie{font:600 8px/1.2 Outfit,sans-serif;letter-spacing:1px;color:var(--accent);display:block}
.championship-rank-rule{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;padding:38px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:30px}
.championship-rank-rule h2{font:600 clamp(28px,3vw,42px)/1.12 Outfit;letter-spacing:-1px;margin:17px 0 0}
.championship-rank-rule p{font:400 15px/1.8 Outfit;color:var(--muted);margin:0 0 18px}
.rank-rule-example{display:flex;gap:10px;margin:24px 0}
.rank-rule-example>span{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:56px;height:66px;border:1px solid var(--line);border-radius:14px;background:var(--glass);font:600 27px/1 Outfit;color:var(--text);font-variant-numeric:tabular-nums}
.rank-rule-example>span:nth-child(-n+2){background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.rank-rule-example small{font:600 8px/1.2 Outfit;letter-spacing:1px;color:var(--accent)}
@media(max-width:700px){.championship-rank-rule{grid-template-columns:1fr;gap:23px;padding:28px 0}.rank-row .rank-number .rank-tie{font-size:8px;letter-spacing:.7px}.championship-rank-rule .eyebrow{font-size:10px;line-height:1.6}}

/* Independent soundtrack control; never occupies the mobile theme button's hit area. */
.music-toggle{position:fixed;right:24px;bottom:24px;z-index:60;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#312239f5,#16101ef5);border:1px solid #c6a1eb55;box-shadow:inset 0 1px #ffffff18,0 8px 24px #0003;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#edddff;padding:12px;touch-action:manipulation}
.music-toggle svg{display:block;width:23px;height:23px}
.music-toggle .music-waves{display:none}
.music-toggle[data-playing=true] .music-waves{display:block}
.music-toggle[data-playing=true] .music-muted{display:none}
.music-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
:root[data-theme=light] .music-toggle{background:linear-gradient(145deg,#fff,#eee3f7);border-color:#bfa4d2;color:#54356b;box-shadow:inset 0 1px white,0 8px 24px #43215d1a}
@media(max-width:700px){.music-toggle{right:18px;bottom:calc(82px + env(safe-area-inset-bottom,0px));width:49px;height:49px}main{padding-bottom:calc(140px + env(safe-area-inset-bottom,0px))}}

/* Full new club artwork; replace offsets that cropped the former portrait logo. */
.crest img,.brand-crest.crest img,.footer-crest.crest img,.club-signoff>.crest img{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center;transform:none}
.sidebar .brand-crest.crest{width:58px;height:58px;background:#000;box-shadow:none}
.club-signoff>.crest{width:54px;height:54px;background:#000;box-shadow:none}
.club-footer .footer-crest.crest{width:76px;height:76px;background:#000;box-shadow:none}
.mobile-island .island-brand .crest{width:44px!important;height:44px!important;background:#000;box-shadow:none}
.mobile-island .island-brand .crest img{position:static!important;width:100%!important;height:100%!important;left:auto!important;top:auto!important;object-fit:contain;object-position:center;transform:none}
@media(max-width:700px){.mobile-island .island-top{height:48px}.mobile-island .island-brand{min-height:48px}.club-footer .footer-crest.crest{width:80px;height:80px}}
