
:root{--ac-navy:#10264d;--ac-blue:#315cde;--ac-ink:#15233b;--ac-muted:#617089;--ac-line:#e3e8f0;--ac-bg:#f5f7fb;--ac-card:#fff;--ac-radius:18px;--ac-shadow:0 14px 38px rgba(16,38,77,.09)}
body.ac-student-unified-ready{background:var(--ac-bg)!important;color:var(--ac-ink)}
body.ac-student-unified-ready>header:not(.ac-unified-header),body.ac-student-unified-ready main>header:not(.ac-unified-header),body.ac-student-unified-ready .ac-student-subnav,body.ac-student-unified-ready .ac-smart-back{display:none!important}
.ac-unified-header{position:sticky;top:0;z-index:1000;background:rgba(16,38,77,.98);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.1)}
.ac-unified-inner{max-width:1240px;margin:auto;min-height:68px;padding:9px 20px;display:flex;align-items:center;gap:18px}
.ac-unified-brand{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;min-width:170px}.ac-unified-brand img{height:34px;max-width:150px}.ac-unified-brand strong{font-size:1rem}
.ac-unified-nav{display:flex;gap:4px;align-items:center;flex:1}.ac-unified-nav a{color:#dfe8fb;text-decoration:none;padding:9px 11px;border-radius:10px;font-weight:700;font-size:.9rem;white-space:nowrap}.ac-unified-nav a:hover,.ac-unified-nav a[aria-current="page"]{background:rgba(255,255,255,.12);color:#fff}
.ac-unified-account{display:flex;align-items:center;gap:9px}.ac-unified-identity{display:grid;line-height:1.1;text-align:right;max-width:210px}.ac-unified-identity strong{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ac-unified-identity small{font-size:.67rem;color:#c8d5ed;margin-top:3px}
.ac-unified-language{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:94px;height:38px;box-sizing:border-box;border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:2px;overflow:hidden}.ac-unified-language button{min-width:0;height:32px;box-sizing:border-box;border:0;background:transparent;color:#dbe6fa;font-weight:800;padding:0 6px;border-radius:999px;cursor:pointer}.ac-unified-language button[aria-pressed="true"]{background:#fff;color:var(--ac-navy)}
.ac-unified-logout{border:1px solid rgba(255,255,255,.24);background:transparent;color:#fff;border-radius:10px;padding:8px 10px;font-weight:700;cursor:pointer}.ac-unified-menu{display:none;border:0;background:#fff;color:var(--ac-navy);padding:8px 10px;border-radius:9px;font-weight:800}
.ac-home-main{max-width:1180px;margin:0 auto;padding:36px 22px 70px}.ac-home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;background:linear-gradient(135deg,#fff,#f0f4ff);border:1px solid var(--ac-line);border-radius:24px;padding:32px;box-shadow:var(--ac-shadow)}.ac-home-hero h1{font-size:clamp(2rem,4vw,3.3rem);margin:5px 0 10px;line-height:1.04}.ac-home-hero p{font-size:1.05rem;color:var(--ac-muted);max-width:720px;margin:0}.ac-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--ac-blue)}.ac-home-hero-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ac-home-hero-meta span{background:#fff;border:1px solid var(--ac-line);border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:800}
.ac-home-focus{margin-top:22px}.ac-focus-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:20px;background:var(--ac-navy);color:#fff;border-radius:22px;padding:25px 28px;box-shadow:var(--ac-shadow)}.ac-focus-card p{color:#cdd8ea;margin:7px 0 0}.ac-focus-card .ac-primary{background:#fff;color:var(--ac-navy)}
.ac-home-section{margin-top:32px}.ac-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.ac-section-heading h2{font-size:1.65rem;margin:4px 0}.ac-section-heading p{color:var(--ac-muted);margin:0}.ac-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.ac-course-card{background:#fff;border:1px solid var(--ac-line);border-radius:var(--ac-radius);padding:21px;display:flex;min-height:220px;flex-direction:column;box-shadow:0 7px 22px rgba(16,38,77,.055)}.ac-course-card .ac-course-state{font-size:.72rem;font-weight:900;color:var(--ac-blue);text-transform:uppercase;letter-spacing:.08em}.ac-course-card h3{font-size:1.3rem;margin:8px 0}.ac-course-card p{color:var(--ac-muted);margin:0 0 16px}.ac-course-card footer{margin-top:auto;display:flex;gap:8px;align-items:center}.ac-primary,.ac-secondary{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;padding:10px 14px;font-weight:850}.ac-primary{background:var(--ac-blue);color:#fff}.ac-secondary{background:#f1f4fa;color:var(--ac-navy)}.ac-home-loading{padding:22px;background:#fff;border:1px solid var(--ac-line);border-radius:16px;color:var(--ac-muted)}
.ac-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ac-quick-card{display:grid;gap:6px;text-decoration:none;color:var(--ac-ink);background:#fff;border:1px solid var(--ac-line);border-radius:16px;padding:19px}.ac-quick-card span{color:var(--ac-muted);font-size:.9rem}.ac-home-error{margin-top:18px;padding:14px;border-radius:12px;background:#fff1f1;color:#8b2020;border:1px solid #f1cccc}
/* Classroom remains the only learning workspace. Global shell sits above course-only navigation. */
body.ac-student-unified-ready.ac-student-portal .ac-course-nav{position:sticky;top:68px;z-index:900}body.ac-student-unified-ready.ac-student-portal .ac-portal-main{min-height:calc(100vh - 125px)}
/* Prevent hidden historical language/back controls from affecting layout. */
body.ac-student-unified-ready .ac-global-language:not(.ac-unified-language){display:none!important}
@media(max-width:980px){.ac-unified-inner{flex-wrap:wrap}.ac-unified-menu{display:block;margin-left:auto;min-width:44px;min-height:44px}.ac-unified-nav{display:none;order:3;width:100%;flex-basis:100%;padding:5px 0 8px;overflow-x:auto}.ac-unified-header.is-open .ac-unified-nav{display:flex}.ac-unified-account{margin-left:auto}.ac-unified-identity{display:none}.ac-home-hero{grid-template-columns:1fr}.ac-home-hero-meta{justify-content:flex-start}.ac-quick-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ac-unified-inner{min-height:58px;padding:7px 10px;gap:7px}.ac-unified-brand{min-width:0}.ac-unified-brand strong{display:none}.ac-unified-brand img{height:26px;max-width:128px}.ac-unified-account{gap:4px}.ac-unified-language{width:78px;height:36px}.ac-unified-language button{height:30px;padding:0 4px;font-size:.78rem}.ac-unified-menu{min-width:40px;min-height:40px;padding:7px 9px;font-size:.82rem}.ac-unified-logout{font-size:0;min-width:40px;min-height:40px;padding:7px}.ac-unified-logout:after{content:'↪';font-size:18px}.ac-unified-nav{overflow:visible;gap:6px}.ac-unified-header.is-open .ac-unified-nav{display:grid;grid-template-columns:1fr 1fr}.ac-unified-nav a{min-height:42px;font-size:.82rem;padding:8px 10px;white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06)}.ac-home-main{padding:18px 11px 40px}.ac-home-hero{padding:18px;border-radius:17px}.ac-home-hero h1{font-size:clamp(1.75rem,9vw,2.3rem)}.ac-focus-card{grid-template-columns:1fr;padding:18px}.ac-course-grid{grid-template-columns:1fr}.ac-course-card{min-height:0;padding:17px}.ac-course-card footer{flex-wrap:wrap}.ac-primary,.ac-secondary{min-height:44px}.ac-section-heading{align-items:flex-start;gap:8px;flex-direction:column}.ac-home-section{margin-top:24px}}

/* R21 access hardening · course cards are always actionable and header geometry never depends on locale text length. */
.ac-course-card-link{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;outline:none}.ac-course-card-link:hover,.ac-course-card-link:focus-visible{transform:translateY(-1px);border-color:#b9c9e4;box-shadow:0 12px 30px rgba(16,38,77,.1)}.ac-course-card-link:focus-visible{box-shadow:0 0 0 3px rgba(49,92,222,.18),0 12px 30px rgba(16,38,77,.1)}
@media(max-width:1180px) and (min-width:981px){.ac-unified-inner{gap:10px;padding-inline:14px}.ac-unified-brand{min-width:142px}.ac-unified-brand img{max-width:136px}.ac-unified-nav a{padding-inline:7px;font-size:.82rem}.ac-unified-identity{display:none}.ac-unified-account{gap:6px}.ac-unified-logout{padding-inline:8px;font-size:.78rem}}
@media(max-width:980px){.ac-unified-header{position:sticky}.ac-unified-inner{position:relative;flex-wrap:nowrap!important;min-height:60px}.ac-unified-menu{display:block;margin-left:auto;flex:0 0 auto}.ac-unified-account{margin-left:0;flex:0 0 auto;white-space:nowrap}.ac-unified-identity{display:none}.ac-unified-nav{display:none;position:absolute;top:calc(100% + 1px);left:10px;right:10px;order:initial;width:auto;flex-basis:auto;padding:8px;background:#10264d;border:1px solid rgba(255,255,255,.12);border-radius:0 0 14px 14px;box-shadow:0 14px 30px rgba(7,21,43,.22);overflow:auto;max-height:min(70vh,420px);z-index:1200}.ac-unified-header.is-open .ac-unified-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.ac-unified-nav a{white-space:normal;text-align:center;display:flex;align-items:center;justify-content:center;min-height:42px}.ac-home-hero{grid-template-columns:1fr}.ac-home-hero-meta{justify-content:flex-start}.ac-quick-grid{grid-template-columns:1fr}}
@media(max-width:640px){.ac-unified-header.is-open .ac-unified-nav{grid-template-columns:1fr 1fr}.ac-unified-language{width:72px;height:34px}.ac-unified-language button{height:28px;font-size:.72rem}.ac-course-card footer{display:grid;grid-template-columns:1fr;align-items:stretch}.ac-course-card footer .ac-primary,.ac-course-card footer .ac-secondary{width:100%;box-sizing:border-box}}

/* R22 V1 product recovery: immediate loading feedback + real writing input */
.ac-loading-panel{display:flex;min-height:42vh;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px}
.ac-loading-spinner{width:42px;height:42px;border:4px solid currentColor;border-right-color:transparent;border-radius:50%;animation:acSpin .8s linear infinite;opacity:.72}
@keyframes acSpin{to{transform:rotate(360deg)}}
.writing-response-card{display:grid;gap:12px;margin-top:14px}
.writing-response-input{width:100%;min-height:220px;resize:vertical;font:inherit;line-height:1.55;padding:14px 15px;border:1px solid rgba(15,23,42,.18);border-radius:14px;background:var(--surface,#fff);color:inherit}
.writing-response-input:focus{outline:3px solid rgba(59,130,246,.16);border-color:rgba(37,99,235,.55)}
.writing-response-tools{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.writing-response-tools #wordCounter{font-weight:700}
@media (prefers-reduced-motion:reduce){.ac-loading-spinner{animation-duration:1.8s}}

.ac-global-transition{position:fixed;inset:0;z-index:5000;background:rgba(7,21,43,.34);backdrop-filter:blur(2px);display:grid;place-items:center;opacity:0;transition:opacity .14s ease}.ac-global-transition.visible{opacity:1}.ac-global-transition[hidden]{display:none!important}.ac-global-transition-card{min-width:min(340px,calc(100vw - 32px));background:#fff;color:#10264d;border-radius:18px;padding:22px 24px;box-shadow:0 20px 60px rgba(7,21,43,.25);display:grid;grid-template-columns:36px 1fr;gap:4px 12px;align-items:center}.ac-global-transition-card i{grid-row:1/3;width:28px;height:28px;border:3px solid #d9e3f4;border-top-color:#315cde;border-radius:50%;animation:acSpin .72s linear infinite}.ac-global-transition-card strong{font-size:1rem}.ac-global-transition-card span{font-size:.82rem;color:#607493}@keyframes acSpin{to{transform:rotate(360deg)}}

/* R23 V9 · the unified student header is the only visible student header. */
body.ac-student-unified-ready header.document-topbar,
body.ac-student-unified-ready header.topbar,
body.ac-student-unified-ready header.app-topbar,
body.ac-student-unified-ready header.pf-head,
body.ac-student-unified-ready .document-topbar,
body.ac-student-unified-ready .pf-head{display:none!important}
.ac-unified-inner{max-width:100%;padding-left:clamp(14px,4vw,64px);padding-right:clamp(14px,4vw,64px)}

/* R23 V11 · canonical header isolation. Page-level legacy CSS must never change header geometry. */
.ac-unified-header,.ac-unified-header *{box-sizing:border-box!important}
.ac-unified-header{width:100%!important;margin:0!important;padding:0!important;left:auto!important;right:auto!important;transform:none!important;font-family:inherit!important}
.ac-unified-header .ac-unified-inner{width:100%!important;max-width:1280px!important;margin:0 auto!important;padding:8px 20px!important;min-height:68px!important;display:flex!important;align-items:center!important;gap:16px!important;transform:none!important}
.ac-unified-header .ac-unified-brand{margin:0!important;padding:0!important;flex:0 0 170px!important;min-width:170px!important;max-width:170px!important;overflow:visible!important}
.ac-unified-header .ac-unified-brand img{display:block!important;height:34px!important;width:auto!important;max-width:150px!important;margin:0!important;transform:none!important}
.ac-unified-header .ac-unified-nav{margin:0!important;padding:0!important;min-width:0!important}
.ac-unified-header .ac-unified-account{margin-left:auto!important;flex:0 0 auto!important}
@media(max-width:1180px) and (min-width:981px){.ac-unified-header .ac-unified-inner{padding-inline:14px!important;gap:10px!important}.ac-unified-header .ac-unified-brand{flex-basis:142px!important;min-width:142px!important;max-width:142px!important}.ac-unified-header .ac-unified-brand img{max-width:136px!important}}
@media(max-width:980px){.ac-unified-header .ac-unified-inner{padding:7px 10px!important;min-height:60px!important}.ac-unified-header .ac-unified-brand{flex:0 0 auto!important;min-width:0!important;max-width:140px!important}.ac-unified-header .ac-unified-brand img{height:28px!important;max-width:132px!important}}
.ac-unified-header .ac-unified-brand{height:34px!important;min-height:34px!important;max-height:34px!important;line-height:1!important}
/* R23 V11 RC2 · fixed account geometry so identity/page styles cannot move language controls. */
@media(min-width:1181px){
  .ac-unified-header .ac-unified-account{display:grid!important;grid-template-columns:190px 94px 106px!important;align-items:center!important;column-gap:9px!important;width:408px!important;min-width:408px!important;max-width:408px!important}
  .ac-unified-header .ac-unified-identity{width:190px!important;max-width:190px!important;min-width:190px!important}
  .ac-unified-header .ac-unified-language{width:94px!important;min-width:94px!important;max-width:94px!important;margin:0!important}
  .ac-unified-header .ac-unified-logout{width:106px!important;min-width:106px!important;max-width:106px!important;margin:0!important;white-space:nowrap!important}
}


/* R23 V12 · canonical student header. Unique host class isolates geometry from page CSS. */
body > header.ac-unified-header.ac-header-v12{position:sticky!important;top:0!important;z-index:4000!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;background:#10264d!important;color:#fff!important;box-shadow:0 1px 0 rgba(255,255,255,.1)!important;overflow:visible!important}
body > header.ac-header-v12 .ac-unified-inner{width:calc(100% - 32px)!important;max-width:1180px!important;min-height:66px!important;margin:0 auto!important;padding:8px 0!important;display:grid!important;grid-template-columns:156px minmax(0,1fr) auto!important;align-items:center!important;gap:14px!important}
body > header.ac-header-v12 .ac-unified-brand{grid-column:1!important;display:flex!important;align-items:center!important;width:156px!important;min-width:156px!important;max-width:156px!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body > header.ac-header-v12 .ac-unified-brand img{display:block!important;width:146px!important;max-width:146px!important;height:auto!important;max-height:36px!important;margin:0!important;padding:0!important;object-fit:contain!important;object-position:left center!important}
body > header.ac-header-v12 .ac-unified-menu{display:none!important}
body > header.ac-header-v12 .ac-unified-nav{grid-column:2!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:2px!important;min-width:0!important;margin:0!important;padding:0!important;overflow:visible!important;position:static!important}
body > header.ac-header-v12 .ac-unified-nav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;margin:0!important;padding:8px 9px!important;border-radius:9px!important;color:#fff!important;background:transparent!important;font-size:.84rem!important;font-weight:750!important;line-height:1.1!important;text-decoration:none!important;white-space:nowrap!important}
body > header.ac-header-v12 .ac-unified-nav a[aria-current="page"]{background:rgba(255,255,255,.13)!important}
body > header.ac-header-v12 .ac-unified-account{grid-column:3!important;display:grid!important;grid-template-columns:minmax(132px,190px) 88px 108px!important;align-items:center!important;gap:8px!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important}
body > header.ac-header-v12 .ac-unified-identity{display:grid!important;width:auto!important;min-width:0!important;max-width:190px!important;margin:0!important;padding:0!important;text-align:right!important;line-height:1.05!important}
body > header.ac-header-v12 .ac-unified-identity strong{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#fff!important;font-size:.76rem!important}
body > header.ac-header-v12 .ac-unified-identity small{display:block!important;margin-top:3px!important;color:#d5e0f3!important;font-size:.62rem!important;white-space:nowrap!important}
body > header.ac-header-v12 .ac-unified-language{display:grid!important;grid-template-columns:1fr 1fr!important;width:88px!important;min-width:88px!important;max-width:88px!important;height:38px!important;margin:0!important;padding:2px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:999px!important;background:transparent!important;overflow:hidden!important}
body > header.ac-header-v12 .ac-unified-language button{display:flex!important;align-items:center!important;justify-content:center!important;min-width:0!important;width:auto!important;height:32px!important;margin:0!important;padding:0 5px!important;border:0!important;border-radius:999px!important;background:transparent!important;color:#e6edfa!important;font:800 .78rem/1 system-ui,sans-serif!important}
body > header.ac-header-v12 .ac-unified-language button[aria-pressed="true"]{background:#fff!important;color:#10264d!important}
body > header.ac-header-v12 .ac-unified-logout{display:flex!important;align-items:center!important;justify-content:center!important;width:108px!important;min-width:108px!important;max-width:108px!important;min-height:38px!important;margin:0!important;padding:7px 9px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:10px!important;background:transparent!important;color:#fff!important;font:750 .78rem/1 system-ui,sans-serif!important;white-space:nowrap!important}
@media(max-width:1160px){
 body > header.ac-header-v12 .ac-unified-inner{width:calc(100% - 24px)!important;grid-template-columns:144px minmax(0,1fr) auto!important;gap:8px!important}
 body > header.ac-header-v12 .ac-unified-brand{width:144px!important;min-width:144px!important;max-width:144px!important}
 body > header.ac-header-v12 .ac-unified-brand img{width:134px!important;max-width:134px!important}
 body > header.ac-header-v12 .ac-unified-account{grid-template-columns:88px 102px!important;gap:6px!important}
 body > header.ac-header-v12 .ac-unified-identity{display:none!important}
 body > header.ac-header-v12 .ac-unified-nav a{padding-inline:7px!important;font-size:.79rem!important}
 body > header.ac-header-v12 .ac-unified-logout{width:102px!important;min-width:102px!important;max-width:102px!important}
}
@media(max-width:900px){
 body > header.ac-header-v12 .ac-unified-inner{position:relative!important;width:calc(100% - 20px)!important;min-height:60px!important;grid-template-columns:136px 1fr auto!important;gap:7px!important;padding:7px 0!important}
 body > header.ac-header-v12 .ac-unified-brand{width:136px!important;min-width:136px!important;max-width:136px!important}
 body > header.ac-header-v12 .ac-unified-brand img{width:128px!important;max-width:128px!important}
 body > header.ac-header-v12 .ac-unified-menu{grid-column:2!important;display:inline-flex!important;justify-self:end!important;align-items:center!important;justify-content:center!important;min-width:42px!important;min-height:40px!important;margin:0!important;padding:7px 10px!important;border:0!important;border-radius:9px!important;background:#fff!important;color:#10264d!important;font:800 .8rem/1 system-ui,sans-serif!important}
 body > header.ac-header-v12 .ac-unified-account{grid-column:3!important;display:grid!important;grid-template-columns:78px 42px!important;gap:5px!important}
 body > header.ac-header-v12 .ac-unified-language{width:78px!important;min-width:78px!important;max-width:78px!important;height:36px!important}
 body > header.ac-header-v12 .ac-unified-language button{height:30px!important;font-size:.72rem!important}
 body > header.ac-header-v12 .ac-unified-logout{width:42px!important;min-width:42px!important;max-width:42px!important;min-height:40px!important;font-size:0!important;padding:0!important}
 body > header.ac-header-v12 .ac-unified-logout::after{content:'↪'!important;font-size:18px!important}
 body > header.ac-header-v12 .ac-unified-nav{display:none!important;position:absolute!important;top:calc(100% + 1px)!important;left:0!important;right:0!important;z-index:5000!important;padding:8px!important;background:#10264d!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:0 0 14px 14px!important;box-shadow:0 14px 30px rgba(7,21,43,.22)!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
 body > header.ac-header-v12.is-open .ac-unified-nav{display:grid!important}
 body > header.ac-header-v12 .ac-unified-nav a{min-height:42px!important;background:rgba(255,255,255,.06)!important;white-space:normal!important;text-align:center!important}
}
@media(max-width:480px){body > header.ac-header-v12 .ac-unified-inner{width:calc(100% - 14px)!important;grid-template-columns:112px 1fr auto!important}body > header.ac-header-v12 .ac-unified-brand{width:112px!important;min-width:112px!important;max-width:112px!important}body > header.ac-header-v12 .ac-unified-brand img{width:108px!important;max-width:108px!important}}
