/* Minimal honours: generous rhythm, unboxed artwork and quiet rules. */
.sidebar .brand-type.club-brand-name{font:750 29px/1.05 Outfit;letter-spacing:-1px}.club-brand-name>span{color:var(--accent)}.sidebar .brand-type.club-brand-name small{font:500 5px/1.4 'Plus Jakarta Sans';letter-spacing:1.1px;margin-top:8px;color:var(--muted)}.club-mobile-name{font:750 18px/1 Outfit!important;letter-spacing:-.7px!important}.club-mobile-name>b{color:#bd9ae8}.club-signoff.sidebar-club{gap:13px;padding:24px 3px 0;align-items:center}.club-signoff>.crest{width:43px;height:43px;flex-shrink:0}.club-signoff>.crest img{width:48px;left:-2px;top:-9px}.club-signoff>strong{font:500 15px/1.2 Outfit;color:var(--text);letter-spacing:-.2px}
#badges .achievement-heading{padding:45px 0 34px;border-bottom:1px solid var(--line);margin-bottom:26px}#badges .achievement-title{margin:27px 0 23px;align-items:end}#badges .achievement-title h1{font:550 clamp(40px,5.2vw,72px)/.98 Outfit;letter-spacing:-2px}#badges .achievement-title h1 em{font:400 italic 1em Georgia,serif;color:var(--accent);letter-spacing:-2px}#badges .honours-edition{font:500 7px/1.9 'Plus Jakarta Sans';letter-spacing:1.3px;color:var(--muted);opacity:1;position:static;white-space:nowrap;margin:0 0 4px}#badges .achievement-heading>p{font:400 15px/1.8 Outfit;color:var(--muted)}#badges .badge-checker-panel{background:transparent;border:0;box-shadow:none;padding:0;margin:0 0 38px;backdrop-filter:none}#badges .badge-checker-panel>.search-row{margin:0}#badges .search{max-width:none;border-radius:12px;background:var(--panel);border-color:var(--line);box-shadow:none}#badges .search input{padding:17px 0}#badges .search-hint{font-size:6px!important}#badges .badges-gallery-header{display:flex;justify-content:space-between;margin:35px 0 20px}#badges .badges-gallery-header .eyebrow{display:none}#badges .badges-gallery-header h2{font:500 23px Outfit;letter-spacing:-.5px}#badges .badges-gallery-header p{font:400 12px Outfit;margin-top:9px;color:var(--muted)}#badges .badges-grid{display:block;border-top:1px solid var(--line)}#badges .minimal-badge{display:grid;grid-template-columns:135px minmax(0,1fr) 100px;gap:30px;align-items:center;padding:31px 0;margin:0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;box-shadow:none;backdrop-filter:none;transform:none;overflow:visible}#badges .minimal-badge:before{display:none}.honour-art{height:130px;display:grid;place-items:center;position:relative}.honour-index{position:absolute;left:0;top:0;font:400 9px Outfit;color:var(--muted)}#badges .badge-card-image{height:112px;width:112px;filter:drop-shadow(0 6px 12px #0002)}.honour-category{display:block;font:500 6px 'Plus Jakarta Sans';letter-spacing:1.5px;color:var(--accent);margin-bottom:11px}#badges .badge-card-title{font:550 29px/1.15 Outfit;letter-spacing:-.7px;margin:0 0 10px;color:var(--text)}#badges .badge-card-desc{font:400 14px/1.75 Outfit;color:var(--muted);max-width:580px;margin:0 0 14px}.honour-rule{padding:0;border:0}.honour-rule summary{font:500 11px Outfit;color:var(--text);list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:15px;min-height:30px}.honour-rule summary::-webkit-details-marker{display:none}.honour-rule summary>span{font-size:15px;color:var(--accent)}.honour-rule[open] summary>span{transform:rotate(45deg)}#badges .honour-rule .badge-card-criteria-text{font:400 13px/1.8 Outfit;color:var(--muted);padding:12px 0 0;max-width:600px}#badges .badge-card-holders{border:0;padding:0;display:flex;align-items:start;flex-direction:column;gap:8px;justify-self:end;min-width:70px}#badges .badge-card-holders>strong{font:500 35px/1 Outfit;letter-spacing:-1px;color:var(--text)}#badges .badge-card-holders>span{font:500 5px/1.8 'Plus Jakarta Sans';letter-spacing:1px;color:var(--muted)}#badges .student-achieve-summary{padding:25px;border:1px solid var(--line);border-radius:16px;margin-top:23px;background:var(--panel)}
/* Light text uses dark, solid colours across all public views, including states. */
:root[data-theme=light]{--text:#291f35;--muted:#5f526b;--caption:#5f526b;--accent:#69418d;--line:#d9cfe2}
:root[data-theme=light] main .page :is(h1,h2,h3,h4,h5,strong,b,summary){color:#291f35}
:root[data-theme=light] main .page :is(p,small,label,li,.eyebrow,.tile-label,.round-tag,.student-year,.rank-meta,.demo-pill,.list-labels,.list-footer,.search-hint,.honour-category,.honours-edition){color:#5f526b}
:root[data-theme=light] main .page .achievement-title h1 em,:root[data-theme=light] main .page .about-title-row h1 em,:root[data-theme=light] main .page .about-story h2 em,:root[data-theme=light] main .page .about-closing h2 em{color:#714d8f}
:root[data-theme=light] main .page :is(.badge-card,.student-badge-card,.highlight,.person-card){background:#fffdfd;color:#291f35}
:root[data-theme=light] main .page .minimal-badge{background:transparent}
:root[data-theme=light] main .page :is(.badge-card-desc,.badge-card-holders,.student-badge-progress,.student-badge-evidence,.achievement-summary-copy,.badge-card-criteria-text,.rank-total strong,.points){color:#4c365f}
:root[data-theme=light] main .page :is(.badge-card-title,.student-badge-header h3,.student-badge-header h4,.badge-card-holders strong,.pod-person h3){color:#291f35}
:root[data-theme=light] main .page :is(.badge-type-ranking,.badge-type-milestone,.badge-status-tag){color:#4f365f;background:#e8dfef;border-color:#c9b6d8}
:root[data-theme=light] main .page .tag-earned{color:#245638;background:#e0eee5;border-color:#b0c9b8}
:root[data-theme=light] main .page .category-tabs button[aria-pressed=true],:root[data-theme=light] main .page .schedule-tabs button[aria-pressed=true]{background:#dfd1ec;color:#3f2556;border-color:#b79dcc}
:root[data-theme=light] main .page :is(.category-tabs button,.schedule-tabs button,select,input){color:#392847}
:root[data-theme=light] main .page input::placeholder{color:#75667f;opacity:1}
:root[data-theme=light] main .page .rank-row :is(h3,small,span.student-year,.rank-meta){color:#45344f}
:root[data-theme=light] main .page .rank-number{color:#685578}
:root[data-theme=light] main .page .agenda-row:disabled{opacity:1}
:root[data-theme=light] main .page .agenda-row :is(h3,h4,p,span){color:#3c293f}
:root[data-theme=light] main .page .agenda-round :is(span,b){color:#241a2c}
:root[data-theme=light] main .page .arena-status :is(strong,em,small,b){color:#392448}
:root[data-theme=light] main .page .arena-prize>b{color:#5f526b}
:root[data-theme=light] main .page .pod-points{color:#392448}
:root[data-theme=light] .breadcrumb{background:#fffdfd;border-color:#d4c5df;box-shadow:none}
:root[data-theme=light] .breadcrumb :is(a,b,span){color:#4b345e}
:root[data-theme=light] .breadcrumb>b{background:#eee6f5;border-color:#d9c9e4}
:root[data-theme=light] .sidebar :is(.brand-type.club-brand-name,.club-signoff>strong,nav b,.sidebar-club strong){color:#44304f}
:root[data-theme=light] .sidebar :is(.sidebar-manifesto p,.sidebar-season,.nav-label){color:#64516f}
:root[data-theme=light] .mobile-island{background:#f8f4fceF;border-color:#c8b1da;box-shadow:0 10px 30px #35194d15}
:root[data-theme=light] .mobile-island :is(.club-mobile-name,.island-trigger,.island-links a,.island-links small){color:#3b254c!important}
:root[data-theme=light] .island-theme{color:#57306f;background:#e7daef;border-color:#cdb5df}
:root[data-theme=light] .island-links a.active{background:#e4d5ee;border-color:#c7abd9}
:root[data-theme=light] .club-footer :is(strong,b,p,span){color:#59456a}
:root[data-theme=light] #syllabus-dialog :is(h2,p,div){color:#392448}
@media(max-width:1100px) and (min-width:701px){.sidebar .brand-type.club-brand-name{font-size:26px}#badges .minimal-badge{grid-template-columns:100px minmax(0,1fr) 65px;gap:20px}#badges .badge-card-image{width:88px;height:88px}.honour-art{height:110px}#badges .badge-card-title{font-size:25px}.honour-index{font-size:8px}}
@media(max-width:700px){.club-mobile-name{font-size:18px!important}#badges .achievement-heading{padding:24px 0}#badges .achievement-title{margin:22px 0 19px;display:block}#badges .achievement-title h1{font-size:43px;letter-spacing:-1.3px}#badges .achievement-title h1 em{letter-spacing:-1.5px}#badges .honours-edition{display:block;font-size:5px;line-height:1.7;margin:19px 0 0}#badges .achievement-heading>p{font-size:13px;max-width:290px}#badges .badge-checker-panel{margin-bottom:28px}#badges .search-hint{display:none!important}#badges .badges-gallery-header h2{font-size:23px}#badges .badges-gallery-header p{font-size:12px}#badges .minimal-badge{grid-template-columns:76px minmax(0,1fr);gap:18px;padding:25px 0;align-items:start}.honour-art{height:94px;margin-top:5px}#badges .badge-card-image{height:76px;width:76px}.honour-index{font-size:7px;left:2px;top:-6px}.honour-category{font-size:5px;letter-spacing:1.2px;margin-bottom:9px}#badges .badge-card-title{font-size:24px;margin-bottom:10px}#badges .badge-card-desc{font-size:13px;line-height:1.8;margin-bottom:10px}.honour-rule summary{font-size:11px;min-height:36px}#badges .honour-rule .badge-card-criteria-text{font-size:12px}#badges .badge-card-holders{grid-column:2;flex-direction:row;justify-self:start;align-items:center;gap:9px;min-width:0;margin-top:-6px}#badges .badge-card-holders>strong{font-size:21px;letter-spacing:-.4px}#badges .badge-card-holders>span{font-size:4px;line-height:1.6;letter-spacing:.7px}#badges .student-achieve-summary{padding:20px 13px}.student-badge-header{align-items:start}.club-signoff>strong{font-size:15px}}

/* Explicit text contrast for the breadcrumb and sidebar, above legacy theme rules. */
.sidebar-manifesto{border-left:2px solid var(--accent);padding:3px 0 3px 13px;margin:0 5px 25px;background:none}.sidebar-manifesto>span{font:600 6px/1.7 'Plus Jakarta Sans';letter-spacing:1.1px;color:var(--muted)}.sidebar-manifesto p{font:400 14px/1.7 Outfit;color:var(--muted);margin:8px 0 0}.sidebar-manifesto p strong{font-weight:550;color:var(--text)}
:root[data-theme=light] .app-shell main .topbar .breadcrumb>a,:root[data-theme=light] .app-shell main .topbar .breadcrumb>a>span{color:#493356!important;opacity:1}
:root[data-theme=light] .app-shell main .topbar .breadcrumb>.crumb-divider{color:#6a5479;opacity:1}
:root[data-theme=light] .app-shell .sidebar .sidebar-manifesto>span{color:#5b426b!important;opacity:1}
:root[data-theme=light] .app-shell .sidebar .sidebar-manifesto p{color:#5b4967!important;opacity:1}
:root[data-theme=light] .app-shell .sidebar .sidebar-manifesto p strong{color:#33213f!important;opacity:1}
:root[data-theme=light] .app-shell .sidebar .club-signoff>strong{color:#2e1f39!important;opacity:1}
:root[data-theme=light] .app-shell .sidebar .brand-type.club-brand-name{color:#2e1f39!important}
.instagram-label{display:inline-flex;align-items:center;gap:8px}.instagram-label svg{width:17px;height:17px;flex-shrink:0}.club-footer .footer-destinations a b .instagram-label{font:450 15px/1.5 Outfit;color:var(--text);letter-spacing:0}
:root[data-theme=light] .club-footer .footer-destinations a b .instagram-label{color:#493356}
@media(max-width:700px){.club-footer .footer-destinations a b .instagram-label{font-size:14px}.instagram-label svg{width:16px;height:16px}}

#badges .minimal-badge{grid-template-columns:135px minmax(0,1fr);gap:35px}#badges .honour-copy{max-width:720px}#badges .honour-rule .badge-card-criteria-text{max-width:680px}
.site-preloader{display:none}.site-preloader.is-loading{position:fixed;inset:0;z-index:10000;background:#ffbe0b;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#32230b;transition:opacity 180ms ease}.site-preloader>img{width:min(480px,90vw);height:auto;max-height:65svh;object-fit:contain}.loader-wordmark{font:750 25px Outfit;letter-spacing:-.8px}.loader-caption{font:500 8px 'Plus Jakarta Sans';letter-spacing:1.8px;text-transform:uppercase}.site-preloader>button{font:500 12px Outfit;color:#32230b;border:1px solid #523b2333;border-radius:25px;background:transparent;min-height:40px;padding:9px 18px;margin-top:20px;cursor:pointer}.site-preloader.is-finished{opacity:0;pointer-events:none}.site-preloader>button:focus-visible{outline:2px solid #32230b;outline-offset:4px}
@media(max-width:1100px) and (min-width:701px){#badges .minimal-badge{grid-template-columns:100px minmax(0,1fr);gap:25px}}
@media(max-width:700px){#badges .minimal-badge{grid-template-columns:76px minmax(0,1fr);gap:18px}.site-preloader>img{width:100%;max-height:55svh}}
@media(prefers-reduced-motion:reduce){.site-preloader>img{display:none}.site-preloader.is-loading{transition:none;gap:17px}}
