/* Keep the existing application and its route handlers; normalize the visual shell. */
html:root[data-theme]{--ink:#242522;--muted:#77776f;--edge:#cdcbc2;--white:#eeece5;--surface:#eeece5;--soft:#e7e5dc;--field:#f5f3eb;--line:#cdcbc2;--secondary:#62645e;--link:#293bb4;color-scheme:light}
html[data-theme] body{background:#eeece5!important;color:#242522}body{overflow-wrap:break-word}body header,body.route-home header{padding:20px 3.4vw!important}body header>nav{background:#eeece5ed!important;color:#242522!important;border-radius:0!important;box-shadow:none!important;border:0!important}body header>nav:before{display:none!important}.brand{color:#242522!important}.brand img{object-fit:contain}h1,h2{font-weight:400!important;text-shadow:none!important}.page-title h1{font-size:clamp(42px,6vw,86px)!important;line-height:1.06!important;letter-spacing:-.05em!important}.page-title p{color:#77776f}.pill.primary{background:#293bb4!important;border-color:#293bb4!important;color:white!important}.pill{border-radius:4px!important}.home-intro .intro-word{background:none!important;-webkit-text-fill-color:#77776f!important;text-shadow:none!important}.page-grid>*{min-width:0}.main-nav{min-width:0}.more-pages{background:#eeece5!important;color:#242522!important}input,select,textarea{font-size:16px!important}a,button{touch-action:manipulation}button{user-select:none}button:active{transform:scale(.97)}footer{flex-wrap:wrap}.hero:before,.hero:after{display:none!important}
@media(max-width:800px){.shell{padding-inline:20px}.page-title{padding-top:100px!important}.page-grid,.dashboard-stats{grid-template-columns:1fr}.rule-item{grid-template-columns:35px minmax(0,1fr);gap:15px}.join-code{flex-wrap:wrap}.page-title h1{overflow-wrap:normal}.pill{max-width:100%;white-space:normal}.main-nav.is-open{max-height:calc(100svh - 100px);overflow-y:auto}.media-grid{padding:15px}.book-shell{min-width:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Apply the supplied Sydney blue brand consistently to the existing application. */
html:root[data-theme]{--ink:#edf4ff;--muted:#a9bdd9;--edge:#284463;--white:#0b2345;--surface:#091d39;--soft:#102a4b;--field:#0b2345;--line:#284463;--secondary:#bed0e7;--link:#399cff;color-scheme:dark}
html[data-theme] body{background:linear-gradient(110deg,#111820,#061a3a 75%,#071f47)!important;color:#edf4ff!important}
body header>nav{background:#081b36f2!important;color:#edf4ff!important}.brand{color:#edf4ff!important}.page-title p,.content-card p,.content-card li{color:#a9bdd9!important}.pill.primary{background:#399cff!important;border-color:#399cff!important;color:#04162e!important}.pill{color:inherit;border-color:#39618b!important}.more-pages{background:#0b2345!important;color:#edf4ff!important}.blue-page-banner,.handbook-banner{display:block;width:100%!important;height:auto!important;object-fit:contain!important;aspect-ratio:2040/640;border-radius:0!important;margin-top:100px!important}.blue-page-banner+.page-title{padding-top:38px!important}.punishment{background:#112f55!important;color:#c6ddf7!important}.content-card{background:transparent!important}.main-nav.is-open{background:#0b2345!important;color:#edf4ff!important}.admin-form input,.admin-form select,.admin-form textarea,.portal-form input,.portal-form select,.portal-form textarea,input,select,textarea{background:#0b2345!important;color:#edf4ff!important;border-color:#284463!important}.portal-login-card,.portal-callout,.portal-workspace,.portal-shift-card,.portal-stat-grid article,.book-shell,.book-sidebar{background:#091d39!important;color:#edf4ff!important}.portal-form small,.portal-callout p,.portal-nav-label,.portal-section-head p{color:#a9bdd9!important}.media-open img{aspect-ratio:auto!important;object-fit:contain!important}.media-card{background:#091d39!important}.media-grid{background:transparent!important}.media-card figcaption p{color:#a9bdd9!important}.live-numbers strong,.dashboard-stat strong{color:#edf4ff!important}
/* Replace legacy seasonal orange accents with Sydney blue. */
:root{--gold:#61afff;--accent:#61afff;--orange:#61afff}
html[data-theme] body a:focus-visible,html[data-theme] body button:focus-visible{outline-color:#61afff!important}
html[data-theme] body .main-nav a[aria-current=page],html[data-theme] body .main-nav a:hover{color:#8ecbff!important;border-color:#61afff!important}
html[data-theme] body :is(.eyebrow,.status-label,.resource .icon){color:#8ecbff!important}
html[data-theme] body .home-intro .intro-word{background:none!important;-webkit-text-fill-color:#8ecbff!important;color:#8ecbff!important;text-shadow:none!important}
html[data-theme] body .hero{border-color:#28547d!important;background:#081b30!important}
html[data-theme] body .hero:before,html[data-theme] body .hero:after{display:none!important}
html[data-theme] body .hero h1,html[data-theme] body .page h1{text-shadow:none!important}
html[data-theme] body.route-home .hero .pill.primary{background:#68b5ff!important;border-color:#9dd1ff!important;color:#061b31!important;box-shadow:none!important}
html[data-theme] body header>nav{background:linear-gradient(110deg,#0b213ace,#39749865)!important;border:1px solid #b8d8ff4d!important;border-radius:23px!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #fff2,0 12px 35px #00142933!important}
html[data-theme] body header>nav:before{display:none!important}
