@font-face{font-family:Anton;font-style:normal;font-weight:400;font-display:swap;src:url("fonts/anton.ttf") format("truetype")}
body>header,body.has-rank-corner>header{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:18px max(16px,calc((100% - 1160px)/2))}
body>header .brand{display:flex;align-items:center;gap:16px;min-width:0;max-width:100%;text-decoration:none;color:#fff;letter-spacing:0}
body>header .brand .school-logo{display:block;width:76px;height:76px;max-height:none;object-fit:contain;flex:0 0 auto;border-radius:50%}
body>header .school-wordmark{font-family:Anton,'Arial Narrow',Impact,sans-serif;font-weight:400;font-size:clamp(24px,3.6vw,44px);line-height:1.2;letter-spacing:.01em;white-space:nowrap}
body>header #language{min-height:44px;display:inline-flex;align-items:center;margin-left:auto}
@media(max-width:700px){body>header,body.has-rank-corner>header{padding:12px 16px;gap:10px}body>header .brand{width:100%;gap:10px}body>header .brand .school-logo{width:44px;height:44px}body>header .school-wordmark{font-size:clamp(18px,6vw,36px);letter-spacing:0}body>header .edition{display:none}body>header .student-rank-corner{margin:0;flex-basis:100%}}

/* Clear menu names, with restrained teal separators. */
.student-nav .student-link-title,.student-nav .student-study>summary,.student-nav .mobile-main-nav>a,.student-nav .mobile-main-nav>button{font-family:Anton,'Arial Narrow',Impact,sans-serif;font-weight:400;letter-spacing:.025em;font-size:1rem;line-height:1.4}
@media(min-width:901px){.student-path{gap:0}.student-path>a{position:relative;padding-inline:16px}.student-path>a:first-child{padding-left:0}.student-path>a+a:before,.student-study>summary:before{content:'';display:block;width:2px;height:23px;background:#25c4d6;transform:skewX(-18deg);flex:0 0 2px}.student-path>a+a:before{position:absolute;left:0;top:50%;margin-top:-12px}.student-study>summary:before{margin-right:10px}.student-menu{gap:10px}.student-path a{white-space:nowrap}}
@media(max-width:900px){.student-nav .student-link-title,.student-nav .student-study>summary{font-size:1.15rem}.student-path>a,.student-study>summary{position:relative;padding-left:30px}.student-path>a:before,.student-study>summary:before{content:'';position:absolute;left:15px;top:19px;width:2px;height:24px;background:#25c4d6;transform:skewX(-18deg)}.student-nav .mobile-main-nav{gap:0}.student-nav .mobile-main-nav>a:not(.mobile-join),.student-nav .mobile-main-nav>button{position:relative;border:0;border-radius:0;background:transparent;padding:10px 7px;font-size:1rem;white-space:normal}.student-nav .mobile-main-nav>a+a:not(.mobile-join):before,.student-nav .mobile-main-nav>button:before{content:'';position:absolute;left:0;top:50%;margin-top:-11px;width:2px;height:22px;background:#25c4d6;transform:skewX(-18deg)}.student-nav .mobile-main-nav>a[aria-current=page],.student-nav .mobile-main-nav>button[aria-expanded=true]{color:#a5e8f0;background:#1b3437}.student-nav .mobile-main-nav>.mobile-join{margin-top:8px;border-radius:8px}}

/* Anton carries the hierarchy; study content keeps the reading face. */
body main h1,body main h2,body main h3,body main h4,body main h5,body main h6,body dialog h2{font-family:Anton,'Arial Narrow',Impact,sans-serif;font-weight:400;letter-spacing:.015em;line-height:1.3;overflow-wrap:break-word}
body .student-nav .student-utilities a,body .student-nav .student-study>div a,body .student-nav .student-menu-current,body .student-nav .student-menu-label{font-family:Anton,'Arial Narrow',Impact,sans-serif;font-weight:400;letter-spacing:.025em;font-size:1rem;line-height:1.4}
body main .question,body main .game-question>h2,body main .review-item h3,body main .orientation-question h3{font-family:'DM Sans',Arial,sans-serif;font-weight:700;letter-spacing:0;line-height:1.5}
body main .game-full-results summary,body main .game-full-results h3{font-family:'DM Sans',Arial,sans-serif;letter-spacing:0;line-height:1.5}
@media(max-width:700px){body main h1{line-height:1.25}body .student-nav .student-utilities a,body .student-nav .student-study>div a{font-size:1.1rem}}

/* Mobile menu: one viewport, one scroll area, controls always reachable. */
@media(max-width:900px){
 body .student-nav .mobile-main-nav>a:not(.mobile-join),body .student-nav .mobile-main-nav>button{border:0;border-radius:8px;background:transparent;color:#e8f3ef;box-shadow:none}
 body .student-nav .mobile-main-nav>a[aria-current=page]:not(.mobile-join),body .student-nav .mobile-main-nav>button[aria-expanded=true]{background:#182e31;color:#b8f8ff;box-shadow:inset 0 -2px 0 #25c4d6}
 body .student-nav .student-path>a[aria-current=page]{border:1px solid #5d959b;background:#1a3235;box-shadow:inset 0 -2px 0 #25c4d6}
 body .student-nav .student-utilities>a[aria-current=page]{background:#1a3235;border:1px solid #5d959b;box-shadow:inset 0 -2px 0 #25c4d6}
 body .student-nav:has(.student-menu:not([hidden])){position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;width:100%;min-width:0;margin:0;height:100vh;height:100dvh;max-height:100dvh;padding:calc(10px + env(safe-area-inset-top,0px)) 16px 0;background:#101b22;overflow:hidden}
 body .student-nav:has(.student-menu:not([hidden])) .mobile-main-nav{flex:0 0 auto}
 body .student-nav .student-menu:not([hidden]){flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:8px 2px calc(28px + env(safe-area-inset-bottom,0px));scroll-padding-block:12px 28px}
 body .student-nav .student-utilities{padding-bottom:12px}
 body:has(.student-nav .student-menu:not([hidden])){overflow:hidden}
}

/* Mobile layout boundaries: never wrap the expanded menu into columns. */
@media(max-width:900px){
 body .student-nav{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-inline:0;isolation:isolate}
 body .student-nav .mobile-main-nav{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
 body .student-nav .student-menu:not([hidden]){display:block;width:100%;min-width:0;max-width:100%;align-self:stretch;box-sizing:border-box;margin:0;flex-basis:0}
 body .student-nav .student-path{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;gap:8px}
 body .student-nav .student-path>a{width:100%;min-width:0;max-width:100%;box-sizing:border-box;text-align:left;white-space:normal;overflow-wrap:anywhere;border-radius:10px;box-shadow:none}
 body .student-nav .student-study{width:100%;min-width:0}
 body .student-nav .student-study>summary{width:100%;min-width:0;box-sizing:border-box;white-space:normal}
 body .student-nav .student-study>div{min-width:0;max-width:100%;box-sizing:border-box}
 body .student-nav .student-utilities{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;margin:16px 0 0;padding-top:16px;gap:8px}
 body .student-nav .student-utilities>a{justify-content:flex-start;text-align:left;min-height:52px;width:100%;min-width:0;max-width:100%;padding:14px 16px;box-sizing:border-box;white-space:normal;overflow-wrap:anywhere;border:1px solid #355255;border-radius:10px;background:#15292b}
 body .student-nav .student-menu-guide{padding-inline:0}
 body .student-nav .student-link-description{max-width:100%;font-size:.9375rem;line-height:1.5}
 body .student-nav .student-path>a[aria-current=page],body .student-nav .student-utilities>a[aria-current=page]{background:#1a3235;border:1px solid #69a3aa;box-shadow:none}
 body .student-nav :focus-visible{outline:2px solid #8ddbe4;outline-offset:2px}
}
@media(max-width:700px){
 body>header .brand,body.has-rank-corner>header .brand{width:100%;min-width:0;display:flex;flex-wrap:nowrap;align-items:center;gap:10px;margin:0}
 body>header .brand>.school-wordmark,body.has-rank-corner>header .brand>.school-wordmark{display:block;visibility:visible;color:#fff;min-width:0;white-space:nowrap;font-size:clamp(18px,6vw,36px);line-height:1.3;letter-spacing:0}
 body>header .brand .school-logo{width:44px;height:44px;flex:0 0 44px}
}

/* Shared product wordmark; school identity remains in the logo and footer. */
.get-prepped-brand{display:flex;flex-direction:column;gap:5px;min-width:0;line-height:1.2;text-transform:none;letter-spacing:0}
.get-prepped-name{font:400 clamp(24px,4vw,38px)/1.1 Anton,Impact,sans-serif;letter-spacing:.025em;color:#8ae0e4}
.get-prepped-byline{font:500 14px/1.4 system-ui,sans-serif;color:#d4e5e7;letter-spacing:.02em}
