:root{--brand:#ae1839;--brand-strong:#8a102d;--brand-deep:#681023;--brand-soft:#f5e4e9;--brand-pale:#fff4f6;--canvas:#f8f3f2;--surface:#fffdfd;--surface-muted:#faf2f4;--border:#e1cdd3;--border-strong:#c7a8b1;--ink:#271e21;--ink-soft:#675b5f;--danger:#8c3528;--danger-soft:#fbebe7;--warning:#9a5212;--warning-soft:#fff0dc;--success:#285329;--success-soft:#e9f3e6;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}main{width:min(100% - 2rem,68rem);margin:0 auto;padding:1.5rem 0 5rem}.topbar{justify-content:space-between;align-items:flex-start;display:flex}.brand-logo{width:clamp(12rem,18vw,16rem);height:auto;display:block}.topbar-sign-in{justify-content:center}.topbar-sign-in .brand-logo{width:clamp(16rem,24vw,20rem)}.topbar-sign-in+.auth-panel{margin-top:clamp(1.5rem,4vw,3rem)}.topbar-authenticated .brand-logo{width:clamp(10.8rem,16.2vw,14.4rem);margin-top:clamp(1.5rem,3vw,2.5rem);margin-left:-1.5rem;transform:translate(-.75rem)}.topbar-actions{align-items:flex-end;gap:1.25rem;display:flex}.topbar-language-control{width:11rem}.eyebrow{color:#80591a;letter-spacing:.12em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:750}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.05em;margin-bottom:.8rem;font-size:clamp(2.7rem,8vw,5.2rem);line-height:.98}h2{letter-spacing:-.025em;margin-bottom:.35rem;font-size:clamp(1.6rem,4vw,2.3rem)}.lede{color:#645d52;font-size:1.1rem;line-height:1.65}.auth-panel{background:#fffdf8;border:1px solid #ded4c4;border-radius:1.4rem;width:min(100%,34rem);margin:clamp(4rem,12vw,8rem) auto 0;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 1.5rem 4rem #563e1c14}form{gap:.75rem;margin-top:2rem;display:grid}label{color:#494238;font-size:.9rem;font-weight:720}input,select{width:100%;color:inherit;background:#fff;border:1px solid #bcb09d;border-radius:.65rem}input{min-height:3.2rem;padding:.65rem .8rem}input:focus,select:focus,button:focus-visible{outline-offset:2px;outline:3px solid #9c6d1c4d}.code-input{letter-spacing:.3em;text-align:center;font-size:1.6rem;font-weight:750}.primary-button,.secondary-button{border-radius:.65rem;min-height:3rem;padding:.7rem 1rem;font-weight:750}.primary-button{color:#fff;background:#795517;border:1px solid #795517}.secondary-button{color:#60491f;background:#fffaf0;border:1px solid #cbbd9f}.text-button{color:#765318;background:0 0;border:0;padding:.5rem;font-weight:700;text-decoration:underline}.danger-button{color:#fff;background:#8c3528;border:1px solid #8c3528;border-radius:.65rem;min-height:3rem;padding:.7rem 1rem;font-weight:750}.danger-text-button{color:#8c3528}.back-button{justify-self:center}.notice,.form-error{border-radius:.65rem;padding:.8rem 1rem;font-size:.92rem}.notice{background:#efe8d8}.form-error{color:#852d20;background:#f8dfda;margin:0}.home{margin-top:clamp(1.5rem,3vw,2.5rem)}.home-heading{max-width:45rem}.session-warning{background:#fff0dc;border:1px solid #ca772b;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0;padding:1rem 1.2rem;display:flex}.session-warning span{color:#714b27;margin-top:.2rem;font-size:.9rem;display:block}.compact{white-space:nowrap;min-height:2.5rem}.expo-card{background:#fffdf8;border:1px solid #ded4c4;border-radius:1.4rem;margin-top:2.5rem;padding:clamp(1.3rem,4vw,2.5rem);box-shadow:0 1.5rem 4rem #563e1c12}.expo-card.invitation-target{border-color:var(--brand);scroll-margin-top:1rem;box-shadow:0 0 0 .2rem #ae183924,0 1.2rem 2.8rem #471d281f}.expo-card.invitation-target:focus-visible{outline:.2rem solid var(--brand);outline-offset:.2rem}.expo-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.expo-meta{color:#6a6256}.language-control{flex:0 0 12rem;gap:.4rem;display:grid}.language-control select{min-height:2.7rem;padding:.45rem .6rem}.auth-language-control{width:min(100%,12rem);margin:0 0 1.75rem auto}.assignment-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:2rem 0;display:grid}.assignment-details div{background:#f7f1e6;border-radius:.75rem;padding:1rem}dt{color:var(--ink-soft);text-transform:uppercase;font-size:.78rem;font-weight:750}dd{margin:.3rem 0 0;font-weight:700}.training-list{gap:.75rem;display:grid}.training-item{border:1px solid #e5dccd;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1rem;display:flex}.scope{color:#8b6018;text-transform:uppercase;font-size:.75rem;font-weight:750}.training-item h4{margin:.25rem 0;font-size:1.05rem}.training-item p{color:#71695e;margin-bottom:0;font-size:.88rem}.player{margin-top:8rem}.player-back{margin-bottom:1.5rem}.player-heading{max-width:50rem}.player-heading h1{max-width:16ch;font-size:clamp(2.4rem,6vw,4.5rem)}.progress-label{color:#625a4e;justify-content:space-between;gap:1rem;margin-top:1.5rem;font-size:.85rem;font-weight:700;display:flex}.progress-track{background:#ded4c4;border-radius:999px;height:.65rem;margin-top:.55rem;overflow:hidden}.progress-track span{border-radius:inherit;background:#8b6018;height:100%;transition:width .18s;display:block}.player-layout{grid-template-columns:minmax(13rem,17rem) minmax(0,1fr);align-items:start;gap:1.5rem;margin-top:2.5rem;display:grid}.section-outline{background:#f9f4eb;border:1px solid #ded4c4;border-radius:1rem;padding:1.15rem;position:sticky;top:1rem}.section-outline h2{font-size:1rem}.section-outline ol{gap:.65rem;margin:1rem 0 0;padding-left:1.4rem;display:grid}.section-outline li{color:#635a4d;padding-left:.25rem}.section-outline span,.section-outline small{display:block}.section-outline span{font-size:.86rem;font-weight:720}.section-outline small{color:#7a7061;margin-top:.15rem;font-size:.72rem}.slide-card{background:#fffdf8;border:1px solid #ded4c4;border-radius:1.4rem;min-height:31rem;padding:clamp(1.4rem,4vw,3rem);box-shadow:0 1.5rem 4rem #563e1c12}.slide-card>h2{max-width:22ch;font-size:clamp(1.8rem,4vw,2.8rem)}.screen-position{color:#796f60;font-size:.82rem;font-weight:700}.training-copy{color:#39342d;max-width:44rem;margin:2rem 0;font-size:1.03rem;line-height:1.72}.training-copy p,.training-copy ul,.training-copy ol,.training-copy blockquote{margin:0 0 1.2rem}.training-figure{background:#fffdf8;border:1px solid #ded4c4;border-radius:.85rem;margin:1.5rem 0;padding:clamp(.75rem,3vw,1.25rem)}.training-figure img{object-fit:contain;width:min(100%,48rem);max-height:30rem;margin:0 auto;display:block}.training-copy li+li{margin-top:.55rem}.training-copy blockquote{color:#4f3a18;background:#f7efe0;border-left:.3rem solid #a97827;border-radius:0 .6rem .6rem 0;padding:1rem 1.2rem;font-size:1.08rem;font-weight:650}.slide-actions{justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;display:flex}.question-form{margin-top:1.8rem}.question-form fieldset{border:0;gap:.75rem;margin:0;padding:0;display:grid}.question-form legend{color:#332e27;margin-bottom:1.25rem;font-size:clamp(1.1rem,3vw,1.35rem);font-weight:750;line-height:1.45}.answer-option{display:block;position:relative}.answer-option input{opacity:0;width:1px;height:1px;position:absolute}.answer-option span{cursor:pointer;background:#fff;border:1px solid #cec2ad;border-radius:.75rem;grid-template-columns:2rem 1fr;align-items:center;gap:.7rem;min-height:3.5rem;padding:.75rem;display:grid}.answer-option strong{color:#6d4c15;background:#eee4d1;border-radius:50%;place-items:center;width:2rem;height:2rem;display:grid}.answer-option input:checked+span{border-color:#80591a;box-shadow:0 0 0 2px #80591a29}.answer-option input:focus-visible+span{outline-offset:2px;outline:3px solid #9c6d1c4d}.answer-result{border:1px solid;border-radius:.8rem;margin-top:1.5rem;padding:1.2rem}.answer-result h3{margin-bottom:.45rem}.answer-result p:last-of-type{margin-bottom:1rem}.answer-result.correct{color:#294b27;background:#e9f3e6;border-color:#6a9364}.answer-result.incorrect{color:#633d1c;background:#fff0dc;border-color:#d48b45}.retry-list{gap:.75rem;margin-top:1.5rem;display:grid}.training-actions,.result-actions{justify-items:end;gap:.65rem;display:grid}.readiness-review{margin-top:1.25rem;display:block}.test-page,.result-page{width:min(100%,48rem);margin:clamp(2.5rem,7vw,5rem) auto 0}.test-heading h1,.result-heading h1{max-width:15ch;font-size:clamp(2.4rem,7vw,4.8rem)}.test-card{background:#fffdf8;border:1px solid #ded4c4;border-radius:1.4rem;margin-top:2.5rem;padding:clamp(1.4rem,5vw,3rem);box-shadow:0 1.5rem 4rem #563e1c12}.abandon-button{color:#814035;margin:1.5rem auto 0;display:block}.result-score{color:#80591a;letter-spacing:-.06em;margin-bottom:.5rem;font-size:clamp(4rem,14vw,8rem);font-weight:800;line-height:.9}.timing-badge{color:#624512;text-transform:capitalize;background:#eee4d1;border-radius:999px;padding:.45rem .7rem;font-size:.8rem;font-weight:750;display:inline-block}.incorrect-review{gap:1rem;margin-top:2.5rem;display:grid}.incorrect-review>p{color:#71695e}.incorrect-review article{background:#fff6e9;border:1px solid #dfc49e;border-radius:.85rem;padding:1.2rem}.incorrect-review article h3{font-size:1.05rem;line-height:1.45}.incorrect-review article p{margin-bottom:.55rem;line-height:1.55}.result-home{margin-top:2rem}.admin-page{margin-top:clamp(1.5rem,3vw,2.5rem)}.admin-heading{max-width:52rem}.admin-heading h1{max-width:15ch}.admin-title-row{justify-content:space-between;align-items:end;gap:2rem;display:flex}.admin-back{margin:0 0 1.5rem -.5rem}.admin-expo-list,.staff-readiness-list,.requirement-progress-list,.attempt-list{gap:1rem;margin-top:2rem;display:grid}.admin-expo-card,.staff-readiness-card,.requirement-progress-card,.attempt-card{background:#fffdf8;border:1px solid #ded4c4;border-radius:1rem;padding:clamp(1.2rem,4vw,2rem)}.admin-expo-card{grid-template-columns:minmax(0,1.4fr) minmax(16rem,1fr);align-items:end;gap:1.5rem 2rem;display:grid}.expo-management-actions{justify-items:end;gap:.4rem;display:grid}.admin-summary-grid,.admin-deadlines,.requirement-progress-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;display:grid}.admin-summary-grid div,.admin-deadlines div,.requirement-progress-card dl div{background:#f3ecdf;border-radius:.7rem;padding:.85rem}.admin-summary-grid dt,.admin-deadlines dt,.requirement-progress-card dt{color:#6c6256;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem;font-weight:750}.admin-summary-grid dd,.admin-deadlines dd,.requirement-progress-card dd{margin:.3rem 0 0;font-weight:700}.status-summary{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.status-summary>span{align-items:center;gap:.4rem;font-weight:750;display:inline-flex}.status-pill{color:#4d473e;letter-spacing:.04em;text-transform:capitalize;white-space:nowrap;background:#e8e0d2;border-radius:999px;padding:.35rem .55rem;font-size:.72rem;font-weight:800;display:inline-block}.status-pill.ready{color:#285329;background:#dcebd8}.status-pill.immediate_attention,.status-pill.retraining_required{color:#7c2e22;background:#f8dcd6}.status-pill.past_deadline,.status-pill.late_assignment{color:#714216;background:#ffe5c7}.status-pill.in_progress{color:#4b3e71;background:#e7e2f3}.admin-deadlines{margin:2rem 0}.admin-filters{background:#fffdf8;border:1px solid #ded4c4;border-radius:.85rem;grid-template-columns:minmax(14rem,1fr) minmax(13rem,.7fr) auto;align-items:end;margin:1.5rem 0 0;padding:1rem}.admin-filters label{gap:.4rem;display:grid}.admin-filters select{min-height:3.2rem;padding:.65rem .8rem}.admin-expo-form{background:#fffdf8;border:1px solid #ded4c4;border-radius:1rem;gap:1.1rem;width:min(100%,46rem);margin-top:2rem;padding:clamp(1.3rem,4vw,2.2rem)}.admin-expo-form label{gap:.45rem;display:grid}.admin-expo-form select{min-height:3.2rem;padding:.65rem .8rem}.expo-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.derived-date-note{background:#f3ecdf;border-radius:.75rem;gap:.25rem;padding:1rem;display:grid}.derived-date-note span{font-size:1.05rem;font-weight:750}.derived-date-note small{color:#6c6256}.lock-note{color:#5d5040;background:#eee5d5;border-radius:.65rem;margin:0;padding:.8rem 1rem}.expo-form-actions{align-items:center;gap:.75rem;display:flex}.job-role-title-row{align-items:end;margin-top:2rem}.job-role-expo-training{margin:.25rem 0 0;font-weight:750}.job-role-form-heading h2,.job-role-form-heading p{margin:0}.job-role-form-heading p{color:#6c6256;margin-top:.4rem}.job-role-list{gap:1rem;margin-top:1.5rem;display:grid}.job-role-card{background:#fffdf8;border:1px solid #ded4c4;border-radius:1rem;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 1.4rem;display:flex}.job-role-card h2,.job-role-card p{margin:0}.job-role-card h2{margin-top:.2rem}.job-role-training-list{gap:.55rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.job-role-training-list li,.job-role-training-list span{gap:.1rem;display:grid}.job-role-training-list span{color:#6c6256;font-size:.92rem}.empty-state{color:#6c6256;border:1px dashed #cfc2ae;border-radius:.85rem;padding:1.25rem}.job-role-selection{border:1px solid #d8cbb8;border-radius:.75rem;gap:.75rem;margin:0;padding:1rem;display:grid}.job-role-selection legend{padding:0 .35rem;font-weight:750}.job-role-selection>p{color:#6c6256;margin:0}.job-role-selection label{cursor:pointer;background:#f3ecdf;border-radius:.65rem;grid-template-columns:none;align-items:flex-start;gap:.75rem;padding:.85rem;display:flex}.job-role-selection input{width:1.15rem;min-height:1.15rem;margin-top:.15rem}.job-role-selection span{gap:.2rem;display:grid}.job-role-selection small{color:#6c6256}.training-module-selection label:has(input:disabled){cursor:not-allowed;opacity:.65}.training-module-selection label:has(input:checked){outline-offset:-2px;background:#f7e2e8;outline:2px solid #ad1838}.assignment-invitation-note{background:#eee5d5;border-radius:.75rem;gap:.35rem;padding:1rem;display:grid}.package-ready-note{color:#2f6544;margin:0;font-weight:750}.assignment-invitation-note small{color:#6c6256}.assignment-cancel-confirmation,.job-role-delete-confirmation,.expo-cancel-confirmation{color:#64271f;background:#fbebe7;border:1px solid #d9a69d;border-radius:.75rem;gap:.45rem;margin-top:1rem;padding:1rem;display:grid}.assignment-cancel-confirmation div,.job-role-delete-confirmation div,.expo-cancel-confirmation div,.assignment-management-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.assignment-cancel-confirmation div,.job-role-delete-confirmation div,.expo-cancel-confirmation div{margin-top:.35rem}.expo-cancel-confirmation,.job-role-delete-confirmation{grid-column:1/-1}.job-role-actions{flex-wrap:wrap;justify-content:flex-end;gap:.6rem;display:flex}.assignment-management-actions{margin-top:.75rem}.result-count{color:#6c6256;margin:1.25rem 0 0;font-size:.9rem;font-weight:700}.staff-readiness-heading,.staff-detail-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.staff-readiness-heading p{color:#6c6256}.staff-detail-heading .status-pill{align-self:flex-start}.staff-detail-actions{justify-items:end;gap:.75rem;display:grid}.player-title-row{justify-content:space-between;align-items:flex-start;gap:1.5rem;display:flex}.player-title-row h1,.player-title-row p{margin-top:0}.language-unavailable{color:#7c2e22;max-width:22rem;font-size:.9rem;font-weight:700}.staff-identity-form{margin-bottom:1.5rem}.staff-readiness-card>.secondary-button{margin-top:.75rem}.inactive-note{color:#7c2e22;font-weight:750}.reminder-status{color:#6c6256;font-size:.9rem;font-weight:700}.admin-detail-section{margin-top:2.5rem}.requirement-progress-card h3,.attempt-card h3{margin-bottom:.5rem}.requirement-progress-card dl{margin-top:1.2rem}.attempt-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem 2rem;display:grid}.attempt-card p{margin-bottom:0}.attempt-score{color:#795517;font-size:1.15rem;font-weight:800}body{background:var(--canvas)}.eyebrow,.scope,.progress-label,.screen-position,.result-score,.attempt-score{color:var(--brand-strong)}.lede,.expo-meta,.training-item p,.section-outline small,.incorrect-review>p,.result-count,.staff-readiness-heading p,.player-title-row p,.reminder-status{color:var(--ink-soft)}.auth-panel,.expo-card,.section-outline,.slide-card,.test-card,.admin-expo-card,.staff-readiness-card,.requirement-progress-card,.attempt-card,.admin-filters,.admin-expo-form,.job-role-card{border-color:var(--border);background:var(--surface);box-shadow:0 1.5rem 4rem #68102312}input,select,.answer-option span,.job-role-selection{border-color:var(--border-strong);background:var(--surface)}input:focus,select:focus,button:focus-visible{outline-color:#ae183947}.primary-button{border-color:var(--brand);background:var(--brand);color:#fff}.secondary-button{border-color:var(--border-strong);background:var(--brand-pale);color:var(--brand-deep)}.text-button,.back-button,.abandon-button{color:var(--brand-strong)}.danger-button{border-color:var(--danger);background:var(--danger)}.danger-text-button,.language-unavailable,.inactive-note{color:var(--danger)}.notice,.assignment-details div,.progress-track,.timing-badge,.admin-summary-grid div,.admin-deadlines div,.requirement-progress-card dl div,.derived-date-note,.lock-note,.job-role-selection span{background:var(--brand-soft);color:var(--brand-deep)}.progress-track span,.answer-option input:checked+span{border-color:var(--brand);background:var(--brand)}.answer-option input:checked+span{background:var(--brand-pale);color:var(--brand-deep)}.answer-option input:focus-visible+span{box-shadow:0 0 0 3px #ae183947}.training-copy blockquote{border-left-color:var(--brand);background:var(--brand-pale);color:var(--brand-deep)}.status-pill{background:var(--brand-soft);color:var(--brand-deep)}.status-pill.ready{background:var(--success-soft);color:var(--success)}.status-pill.retraining_required{background:var(--danger-soft);color:var(--danger)}.status-pill.late_assignment{background:var(--warning-soft);color:#714216}.status-pill.in_progress{background:var(--brand-soft);color:var(--brand-deep)}.form-error,.incorrect-review article,.expo-cancel-confirmation{background:var(--danger-soft);color:#64271f;border-color:#d9a69d}.session-warning,.answer-result.incorrect{background:var(--warning-soft);color:#633d1c;border-color:#ca772b}.answer-result.correct,.package-ready-note{background:var(--success-soft);color:var(--success);border-color:#6a9364}@media (width<=42rem){.brand-logo{width:9rem}.topbar-sign-in .brand-logo{width:12rem}.topbar-authenticated .brand-logo{width:8.1rem;margin-top:1rem;margin-left:-.5rem;transform:translate(-.25rem)}.topbar-actions{flex-direction:column-reverse;align-items:flex-end;gap:.75rem}.topbar-language-control{width:min(10rem,42vw)}.player{margin-top:2rem}.expo-heading,.training-item,.session-warning,.admin-title-row,.staff-readiness-heading,.staff-detail-heading,.player-title-row{flex-direction:column;align-items:stretch}.language-control{flex-basis:auto}.staff-detail-actions{justify-items:stretch}.assignment-details,.player-layout{grid-template-columns:1fr}.section-outline{position:static}.section-outline ol{grid-template-columns:repeat(2,minmax(0,1fr))}.slide-card{min-height:auto}.slide-actions{flex-direction:column-reverse;align-items:stretch}.admin-expo-card,.admin-filters,.attempt-card,.expo-date-fields{grid-template-columns:1fr}.expo-management-actions{justify-items:stretch}.job-role-card{flex-direction:column;align-items:stretch}.admin-summary-grid,.admin-deadlines,.requirement-progress-card dl{grid-template-columns:1fr}}
