:root{--font-sans:Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Helvetica Neue", Arial, sans-serif;--color-ink:#13274a;--color-page:#f4f7fc;--color-surface:#fff;--color-text-muted:#5a6880;--color-text-disabled:#9caac0;--color-text-field:#435572;--color-border:#dce5f2;--color-border-subtle:#e8eef7;--color-primary:#0a54b6;--color-primary-strong:#0d4fa6;--color-brand-deep:#062c6f;--color-brand-bright:#0d61c6;--color-info-surface:#e8f0ff;--color-warning-surface:#fff8e5;--color-warning-text:#795400;--color-success-surface:#e1f7ed;--color-success-text:#16764b;--color-error:#b42318;--color-error-surface:#fef3f2;--color-focus:#1763c5;--color-on-brand:#fff;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--target-min:44px;--content-max:1280px;--focus-ring-width:3px;--focus-ring-offset:2px;--motion-fast:.12s}
:root{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-page);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}body{min-height:100vh;margin:0;line-height:1.5}:focus-visible,input:is([type=date],[type=datetime-local],[type=time]):focus-within{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--color-brand-deep);color:var(--color-on-brand);font-weight:700;text-decoration:none;position:absolute;inset-block-start:var(--space-2);inset-inline-start:var(--space-2);transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){:focus-visible{outline-color:highlight}}
.app-shell{grid-template-columns:minmax(0,1fr);min-height:60vh;display:grid}.sidebar{display:none}.workspace{width:min(1280px,100%);margin:0 auto;padding:30px 46px 52px}.topbar{justify-content:space-between;align-items:center;display:flex}.topbar h1,.hero h2,.section-head h2,.empty-card h2,.panel h2{margin:0}.eyebrow{color:var(--color-text-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:.7rem;font-weight:800}.topbar h1{color:#092d70;font-size:1.65rem}.profile{align-items:center;gap:12px;display:flex}.status,.quiet-pill{background:var(--color-info-surface);color:var(--color-primary-strong);border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:750}.avatar{color:#fff;background:#0d479b;border-radius:50%;place-items:center;width:35px;height:35px;font-weight:800;display:grid}.hero{color:#fff;background:linear-gradient(120deg,var(--color-brand-deep),var(--color-brand-bright));border-radius:20px;justify-content:space-between;align-items:center;margin-top:30px;padding:38px 46px;display:flex;position:relative;overflow:hidden}.hero h2{letter-spacing:-.04em;max-width:650px;font-size:clamp(2.2rem,4vw,3.6rem)}.hero p:last-child{color:#dce9ff;max-width:590px;margin:14px 0 0;font-size:1.04rem;line-height:1.55}.hero .eyebrow{color:#c4d8ff}.hero-orb{background:#ffffff1c;border:1px solid #ffffff40;border-radius:50%;flex:none;place-items:center;width:115px;height:115px;font-size:2.5rem;display:grid}.hero-orb span{transform:rotate(25deg)}.summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:21px 0 35px;display:grid}.summary article{border:1px solid var(--color-border);background:#fff;border-radius:13px;align-items:center;gap:13px;padding:18px;display:flex;box-shadow:0 3px 13px #0f27500a}.summary small{color:var(--color-text-muted);font-weight:600;display:block}.summary strong{color:#102c5e;margin-top:4px;font-size:1.28rem;display:block}.metric-icon{border-radius:10px;place-items:center;width:36px;height:36px;font-weight:900;display:grid}.blue{color:var(--color-primary);background:#e6efff}.gold{color:#aa7000;background:#fff3d6}.green{background:var(--color-success-surface);color:var(--color-success-text)}.section-head,.panel-title{justify-content:space-between;align-items:end;display:flex}.section-head{margin-bottom:14px}.section-head h2,.panel h2{font-size:1.28rem}.text-button{color:var(--color-primary);font:inherit;background:0 0;border:0;font-size:.86rem;font-weight:750}.text-button:disabled{color:var(--color-text-disabled)}.empty-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;grid-template-columns:116px 1fr;align-items:center;gap:26px;padding:30px;display:grid;box-shadow:0 5px 20px #112d5c0a}.empty-card h2{font-size:1.35rem}.empty-card>div>p:not(.eyebrow){color:var(--color-text-muted);margin:9px 0 16px;line-height:1.55}.empty-illustration{color:#0d56b6;background:#eaf2ff;border-radius:50%;place-items:center;width:105px;height:105px;font-size:3rem;display:grid}.checklist{flex-wrap:wrap;gap:9px;display:flex}.checklist span{background:var(--color-page);color:var(--color-text-muted);border-radius:8px;padding:7px 9px;font-size:.76rem}.checklist b{color:var(--color-text-field)}.course-loading{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.course-loading article{background:linear-gradient(110deg,var(--color-info-surface),#f8faff,var(--color-info-surface));background-size:200% 100%;border-radius:14px;height:170px;animation:1.4s linear infinite pulse}@keyframes pulse{to{background-position:-200% 0}}.login-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;grid-template-columns:1fr minmax(280px,420px);align-items:center;gap:30px;padding:32px;display:grid;box-shadow:0 5px 20px #112d5c0a}.login-card h2{font-size:1.42rem}.login-card>div>p:last-child{color:var(--color-text-muted);line-height:1.55}.login-card form{background:#f6f8fc;border-radius:12px;gap:12px;padding:20px;display:grid}.login-card label{color:var(--color-text-field);gap:6px;font-size:.82rem;font-weight:700;display:grid}.login-card input{width:100%;font:inherit;background:#fff;border:1px solid #cbd6e5;border-radius:8px;padding:10px 11px}.login-card input:focus{outline-offset:1px;border-color:#1763c5;outline:2px solid #1763c5}.login-card .account-links{flex-wrap:wrap;gap:8px 20px;margin-top:2px;font-size:.85rem;display:flex}.login-card .account-links a{color:var(--color-primary);font-weight:700}.login-card button{background:var(--color-primary-strong);color:#fff;font:inherit;border:0;border-radius:8px;padding:11px;font-weight:750}.login-card button:disabled,.login-card button[aria-disabled=true]{opacity:.65}.toast-region{z-index:1000;width:min(420px,100vw - 32px);position:fixed;inset-block-start:16px;inset-inline-end:16px}.toast{color:#a52820;background:#fff5f4;border:1px solid #efb8b2;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;font-size:.92rem;font-weight:650;display:flex;box-shadow:0 12px 30px #112d5c2e}.toast button{width:28px;height:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;margin:-4px -6px 0 0;padding:0;font-size:1.35rem;line-height:1}.toast button:hover{background:#a528201a}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-card{border:1px solid var(--color-border);color:#172d50;background:#fff;border-radius:14px;min-height:154px;padding:20px;text-decoration:none;box-shadow:0 4px 16px #0f27500a}.course-card:hover{border-color:#7facf0;transform:translateY(-2px)}.course-card span{color:var(--color-primary);text-transform:uppercase;letter-spacing:.08em;font-size:.77rem;font-weight:800}.course-card h3{margin:13px 0 25px;font-size:1.08rem}.course-card small{color:var(--color-text-muted)}.course-page{width:min(1000px,100% - 32px);margin:0 auto;padding:36px 0 70px}.course-page>a{color:var(--color-primary);font-weight:700;text-decoration:none}.course-header{color:#fff;background:linear-gradient(120deg,var(--color-brand-deep),var(--color-brand-bright));border-radius:18px;margin:22px 0;padding:34px}.course-header h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:clamp(2rem,5vw,3.4rem)}.course-header span{color:#d9e7ff;margin-top:14px;display:inline-block}.course-header .eyebrow{color:#d9e7ff}.course-header .muted{color:#f1f6ff;max-width:70ch;font-size:1.05rem}.course-header a{color:#fff;text-underline-offset:3px;font-weight:750;text-decoration-thickness:2px}.course-header a:hover{color:#ffe39a}.notification-unavailable{background:var(--color-error-surface);color:#7f1d1d;border:1px solid #f0c7c2;border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-top:26px;padding:20px 22px;display:flex}.notification-unavailable p{margin:0;font-weight:700;line-height:1.45}.notification-unavailable .secondary-button{color:#8f2018;border-color:#c2413a;flex:none}.notification-unavailable .secondary-button:hover{background:#fff}.module-list h2{margin:30px 0 14px}.module-card{border:1px solid var(--color-border);background:#fff;border-radius:13px;grid-template-columns:minmax(0,1fr);gap:16px;margin:12px 0;padding:20px;display:grid}.notification-preference-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.notification-preference-card{grid-template-columns:1fr;align-content:start;gap:12px;margin:0;padding:18px}.notification-preference-card h2{overflow-wrap:anywhere;min-width:0;margin:0;font-size:1.15rem;line-height:1.25}.notification-channel-group,.notification-preference-actions fieldset{border:1px solid var(--color-border);background:var(--color-page);border-radius:10px;min-width:0;margin:0;padding:12px 16px}.notification-channel-group legend,.notification-preference-actions legend{color:var(--color-ink);padding:0 6px;font-size:.9rem;font-weight:750}.notification-channel-group label{min-height:44px;color:var(--color-ink);align-items:center;gap:8px;display:flex}.notification-preference-actions{flex-wrap:wrap;align-items:end;gap:16px;margin-top:24px;display:flex}.notification-preference-actions>label{color:var(--color-ink);gap:6px;font-weight:700;display:grid}.notification-preference-actions select{border:1px solid var(--color-border);min-height:44px;color:var(--color-ink);font:inherit;background:#fff;border-radius:8px;padding:8px 12px}.notification-preference-actions button{min-height:44px}.module-number{background:var(--color-info-surface);width:34px;height:34px;color:var(--color-primary);border-radius:50%;place-items:center;font-weight:800;display:grid}.module-card:has(>.module-number){grid-template-columns:43px minmax(0,1fr)}.module-card>h2,.module-card>h3,.module-card>p,.module-card>dl{margin:0}.module-card>dl,.coursework-panel>dl{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 20px;display:grid}.module-card>dl>div,.coursework-panel>dl>div{align-content:start;gap:2px;display:grid}.module-card>dl dt,.coursework-panel>dl dt{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.74rem;font-weight:800}.module-card>dl dd,.coursework-panel>dl dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.module-card p,.muted{color:var(--color-text-muted);line-height:1.5}.module-card small{color:var(--color-text-muted)}.content-row{border-top:1px solid var(--color-border-subtle);flex-wrap:wrap;align-items:center;gap:9px;margin-top:12px;padding-top:12px;display:flex}.content-row>span:first-child{color:var(--color-primary)}.content-row a{color:var(--color-primary);font-weight:650}.content-row small{margin-left:auto}.course-message{border:1px solid var(--color-border);background:#fff;border-radius:15px;margin-top:24px;padding:30px}.course-message h1{margin:0;font-size:1.5rem}.course-message>p:not(.eyebrow),.coursework-message p{color:var(--color-text-muted);line-height:1.5}.coursework-panel{border:1px solid var(--color-border);background:#fff;border-radius:15px;margin-top:28px;padding:22px}.search-row{align-items:end;gap:.75rem;margin-top:.5rem;display:flex}.search-row input{flex:1;min-width:0}@media (max-width:640px){.search-row{flex-direction:column;align-items:stretch}}.coursework-panel h2{margin:0}.coursework-panel p>label{color:var(--color-ink);align-content:start;gap:6px;font-size:.9rem;font-weight:700;display:grid}.coursework-panel p>label>input:not([type=checkbox]):not([type=radio]),.coursework-panel p>label>select,.coursework-panel p>label>textarea{width:100%;min-width:0;color:var(--color-ink);font:inherit;background:#fff;border:1px solid #cbd6e5;border-radius:8px;padding:9px 11px;font-weight:400}.coursework-panel>article{border-top:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;margin-top:16px;padding-top:16px;display:grid}.coursework-panel article span,.coursework-panel article small{color:var(--color-text-muted)}.coursework-message{margin-top:14px}.secondary-button{color:var(--color-primary);font:inherit;cursor:pointer;background:#fff;border:1px solid #9fb9e3;border-radius:8px;padding:10px 13px;font-weight:750;text-decoration:none;display:inline-block}.secondary-button:hover{border-color:var(--color-primary);background:#f4f8ff}.unavailable-content{color:var(--color-warning-text)}.official-results-table{border-top:1px solid var(--color-border-subtle);margin-top:16px;display:grid}.official-results-table [role=row]{border-bottom:1px solid var(--color-border-subtle);grid-template-columns:minmax(0,1fr) 92px 92px 92px;gap:12px;padding:11px 4px;display:grid}.official-results-table [role=cell]:not(:first-child),.official-results-table [role=columnheader]:not(:first-child){text-align:right}.official-results-head{color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.76rem;font-weight:800}@media (max-width:590px){.official-results-table [role=row]{grid-template-columns:minmax(0,1fr) 58px 58px 58px;gap:8px;font-size:.88rem}.official-results-head{font-size:.65rem}}.lower-grid{grid-template-columns:1.55fr 1fr;gap:17px;margin-top:26px;display:grid}.panel{border:1px solid var(--color-border);background:#fff;border-radius:15px;padding:22px}.empty-row{border-top:1px solid var(--color-border-subtle);color:var(--color-text-muted);align-items:center;gap:10px;margin-top:18px;padding:18px 0 0;font-size:.91rem;display:flex}.calendar-glyph{width:33px;height:33px;color:var(--color-primary);background:#f0f5ff;border-radius:9px;place-items:center;display:grid}.encouragement{background:linear-gradient(135deg,#fbf6e6,#fffdfa);border-color:#f0e4bd}.encouragement h2{max-width:240px;font-size:1.45rem;line-height:1.2}.encouragement>p:last-child{color:#6b675a;font-size:.9rem;line-height:1.5}@media (max-width:850px){.app-shell{grid-template-columns:1fr}.sidebar{display:none}.workspace{padding:25px 22px}.hero{padding:32px}.hero-orb{display:none}.lower-grid,.login-card{grid-template-columns:1fr}.course-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:590px){.topbar{align-items:start}.profile .status{display:none}.summary,.course-grid,.empty-card{grid-template-columns:1fr}.empty-illustration{width:58px;height:58px;font-size:1.9rem}.hero{padding:28px}.workspace{padding:20px 15px}.checklist{display:grid}.course-page{width:min(100% - 24px,1000px);padding-top:24px}.course-header{padding:26px}.notification-unavailable{flex-direction:column;align-items:flex-start}.notification-preference-card{grid-template-columns:1fr;gap:14px}.notification-preference-list{grid-template-columns:1fr}}.content-title{overflow-wrap:anywhere;min-width:0}.module-card h3,.module-card p{overflow-wrap:anywhere}.content-action{color:var(--color-primary);white-space:nowrap;margin-left:auto;font-size:.82rem;font-weight:750;text-decoration:none}button.content-action{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}h2>.content-action,h3>.content-action{font-size:inherit;font-weight:inherit;text-align:left;white-space:normal;margin-left:0}h2>.content-action:hover,h3>.content-action:hover{text-decoration:underline}.content-row small{white-space:nowrap;margin-left:12px}@media (max-width:480px){.content-action,.content-row small{white-space:normal}.content-row small{flex:100%;margin-left:0}}.assessment-page{width:min(1000px,100% - 32px);margin:0 auto;padding:36px 0 70px}.assessment-page>a{color:var(--color-primary);font-weight:700;text-decoration:none}.assessment-header{color:#fff;background:linear-gradient(120deg,var(--color-brand-deep),var(--color-brand-bright));border-radius:18px;margin:22px 0;padding:34px}.assessment-header h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.4rem)}.assessment-header p:last-child{color:#d9e7ff;max-width:750px;margin:14px 0 0;line-height:1.55}.assessment-header .eyebrow{color:#c4d8ff}.assessment-meta{flex-wrap:wrap;gap:10px;margin:18px 0;display:flex}.assessment-meta span{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);border-radius:9px;padding:9px 11px;font-size:.83rem}.assessment-meta b{color:#1b345e}.assessment-meta .accommodation{background:var(--color-warning-surface);color:var(--color-warning-text);border-color:#edce7b}.attempt-panel,.response-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:15px;margin-top:18px;padding:24px}.attempt-panel{justify-content:space-between;align-items:center;gap:22px;display:flex}.attempt-panel h2,.response-panel h2{color:var(--color-ink);margin:0}.attempt-panel p:not(.eyebrow){color:var(--color-text-muted);margin:9px 0 0;line-height:1.5}.attempt-actions{flex-wrap:wrap;gap:10px;display:flex}.attempt-actions button,.response-panel button,.secondary-button{background:var(--color-primary-strong);color:var(--color-surface);font:inherit;border:0;border-radius:8px;padding:10px 14px;font-weight:750}.secondary-button{background:var(--color-info-surface);color:var(--color-primary-strong);border:1px solid #cbd9ed}.attempt-actions button:disabled,.response-panel button:disabled{opacity:.65}.response-panel label{color:var(--color-text-field);gap:7px;margin-top:16px;font-size:.84rem;font-weight:750;display:grid}.response-panel input,.response-panel textarea{background:var(--color-surface);width:100%;font:inherit;border:1px solid #cbd6e5;border-radius:8px;padding:10px 11px}.response-panel textarea{resize:vertical;line-height:1.45}.save-row{align-items:center;gap:14px;margin-top:16px;display:flex}.save-row p{color:#356747;margin:0;font-size:.86rem}.response-panel .muted{margin:12px 0 0}@media (max-width:590px){.assessment-page{width:min(100% - 24px,1000px);padding-top:24px}.assessment-header{padding:26px}.attempt-panel{flex-direction:column;align-items:flex-start}}.ca-components{border:1px solid var(--color-border);border-radius:10px;margin-top:18px;overflow:hidden}.ca-components [role=row]{border-top:1px solid var(--color-border-subtle);color:var(--color-text-field);grid-template-columns:minmax(0,1.8fr) repeat(3,minmax(74px,1fr));gap:12px;padding:11px 13px;font-size:.9rem;display:grid}.ca-components [role=row]:first-child{border-top:0}.ca-components-head{background:var(--color-page);color:var(--color-text-field);letter-spacing:.04em;text-transform:uppercase;font-size:.74rem;font-weight:800}@media (max-width:590px){.ca-components [role=row]{grid-template-columns:minmax(0,1fr) repeat(2,minmax(60px,1fr))}.ca-components [role=row] span:last-child{display:none}}.upcoming-list{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.upcoming-list li{border-top:1px solid var(--color-border-subtle);gap:3px;padding:12px 0;display:grid}.upcoming-list a{color:var(--color-primary);font-weight:700;text-decoration:none}.upcoming-list small{color:var(--color-text-muted)}.sync-status{background:var(--color-info-surface);color:var(--color-primary-strong);border-radius:9px;margin:12px 0;padding:10px 12px;font-size:.88rem}.sync-saved{background:var(--color-success-surface);color:var(--color-success-text)}.sync-offline,.sync-retrying,.sync-signin,.sync-attention{background:var(--color-warning-surface);color:var(--color-warning-text)}.receipt-hash{overflow-wrap:anywhere;font-size:.82rem}.history-entry{margin-top:18px}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-top:16px;display:flex}.pager span{overflow-wrap:anywhere;min-width:0}.module-card.session-card{grid-template-columns:minmax(0,1fr);gap:4px;margin:10px 0;padding:14px 16px}.session-card h3{margin:0}.session-card p{margin:4px 0}.module-details summary{cursor:pointer;min-height:24px}.module-details summary h3{display:inline}.module-details summary small{margin-top:2px;display:block}.module-details summary p{margin:6px 0 4px}.module-details summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.session-details summary{cursor:pointer;color:var(--color-primary);min-height:24px;font-weight:650}@media (max-width:640px){.pager{flex-wrap:nowrap;gap:8px}.pager .secondary-button{white-space:nowrap;padding:10px 11px}.pager .pager-range{display:none}.coursework-panel>article{grid-template-columns:minmax(0,1fr);align-items:start;gap:2px}.coursework-panel>article small{margin-left:0}}.form-error{color:var(--color-error);font-weight:700}.risk-banner{background:var(--color-warning-surface);color:var(--color-warning-text);border:1px solid var(--color-warning-text);border-radius:14px;margin:0 0 8px;padding:16px 18px}.risk-banner-head{align-items:center;gap:10px;display:flex}.risk-banner-head h2{font-size:var(--text-lg);color:var(--color-warning-text);margin:0}.risk-glyph{background:var(--color-warning-text);width:26px;height:26px;color:var(--color-warning-surface);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.risk-list{gap:12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.risk-list li{gap:4px;display:grid}.risk-list strong{font-size:var(--text-md)}.risk-next{font-size:var(--text-sm)}.risk-evidence{opacity:.85}.risk-link{width:fit-content;font-size:var(--text-sm);color:var(--color-warning-text);font-weight:600;text-decoration:underline}.risk-advisory{font-size:var(--text-sm);margin:12px 0 0}

