/* STAGES5: identity follows validated current content classes. Only brand presentation
   is inherited; answers, correctness, warnings, administration and ads keep
   their existing semantic colors. No selector applies outside stage content. */
body[data-academic-stage]{--b16-action:var(--b16-action-light);--b16-on-action:var(--b16-on-action-light);--b16-action-hover:var(--b16-action-hover-light);--b16-on-action-hover:var(--b16-on-action-hover-light);--b16-accent-action:var(--b16-accent-action-light);--b16-on-accent-action:var(--b16-on-accent-action-light);--b16-accent-hover:var(--b16-accent-hover-light);--b16-on-accent-hover:var(--b16-on-accent-hover-light);--b16-page-ink:var(--b16-page-ink-light);--b16-page-muted:var(--b16-page-muted-light);--b16-soft:var(--b16-soft-light);--b16-line:var(--b16-line-light);--b16-page:var(--b16-page-light);--b16-panel:#fff;--b16-ink:#172440;--b16-muted:#526078;--primary:var(--b16-action);--nz-primary:var(--b16-action);--nz-primary-2:var(--b16-action);--quiz-primary:var(--b16-action);--quiz-primary-soft:var(--b16-soft);background-color:var(--b16-page)!important;color:var(--b16-page-ink)}
.dark body[data-academic-stage],.dark-mode body[data-academic-stage],body.dark[data-academic-stage],body.dark-mode[data-academic-stage]{--b16-action:var(--b16-action-dark);--b16-on-action:var(--b16-on-action-dark);--b16-action-hover:var(--b16-action-hover-dark);--b16-on-action-hover:var(--b16-on-action-hover-dark);--b16-accent-action:var(--b16-accent-action-dark);--b16-on-accent-action:var(--b16-on-accent-action-dark);--b16-accent-hover:var(--b16-accent-hover-dark);--b16-on-accent-hover:var(--b16-on-accent-hover-dark);--b16-page-ink:var(--b16-page-ink-dark);--b16-page-muted:var(--b16-page-muted-dark);--b16-soft:var(--b16-soft-dark);--b16-line:var(--b16-line-dark);--b16-page:var(--b16-page-dark);--b16-panel:#172237;--b16-ink:#e5edf9;--b16-muted:#b7c3d7}
body[data-academic-stage] :is(.nnav,.nnav-drawer,.nnav-search-modal){--nnav-soft:var(--b16-soft);--nnav-focus:var(--b16-action);--nnav-line:var(--b16-line)}
body[data-academic-stage] .nnav{border-bottom:3px solid var(--b16-brand)}
body[data-academic-stage] :is(.nnav-title,.nnav-link i,.nnav-more-panel a>i,.nnav-drawer-links>a>i){color:var(--b16-action)}
body[data-academic-stage] .nnav-search-submit{background:var(--b16-action);color:var(--b16-on-action)}
body[data-academic-stage] .b16-context-bar{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;max-width:1270px;margin:18px auto 0;padding:8px 24px;border:1px solid var(--b16-line);border-radius:16px;background:var(--b16-panel);color:var(--b16-ink);font-size:14px;line-height:1.85;direction:rtl}
body[data-academic-stage] .b16-context-bar a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:3px 0;color:var(--b16-action);text-decoration:none;font-weight:700;overflow-wrap:anywhere}
body[data-academic-stage] .b16-context-stage{background:var(--b16-panel);border:1px solid var(--b16-line);border-radius:99px;padding:4px 13px!important}
body[data-academic-stage] .b16-context-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--b16-brand)}
body[data-academic-stage] .b16-context-separator{color:var(--b16-muted);font-size:19px}
body[data-academic-stage] .b16-context-bar a:focus-visible{outline:3px solid var(--b16-action);outline-offset:4px;border-radius:9px}
body[data-academic-stage] :is(.text-primary,.hover\:text-primary:hover,.group:hover .group-hover\:text-primary){color:var(--b16-action)!important}
body[data-academic-stage] .bg-primary{background-color:var(--b16-action)!important;color:var(--b16-on-action)!important}
body[data-academic-stage] :is(.bg-primary\/10,.bg-primary\/5){background-color:var(--b16-soft)!important}
body[data-academic-stage] .bg-cta-gradient{background:linear-gradient(125deg,var(--b16-action),var(--b16-action))!important;color:var(--b16-on-action)!important}
body[data-academic-stage] :is(.class-hero-v2,.subject-hero,.nz-reader-hero){background:linear-gradient(130deg,var(--b16-panel),var(--b16-soft))!important;border-color:var(--b16-line)!important}
body[data-academic-stage] :is(.subject-landing,.edul-public){background:var(--b16-page)!important}
body[data-academic-stage] :is(.class-hero-kicker,.subject-view-all){background:var(--b16-soft)!important;border-color:var(--b16-line)!important;color:var(--b16-action)!important}
body[data-academic-stage] .class-hero-media{background:var(--b16-soft)!important;border-color:var(--b16-line)!important}
body[data-academic-stage] :is(.class-hero-orb-one,.class-hero-orb-two){background:var(--b16-brand)!important;opacity:.12}
body[data-academic-stage] .class-hero-pattern{background-image:radial-gradient(var(--b16-brand) 1px,transparent 1px)!important}
body[data-academic-stage] .subject-stat strong{color:var(--b16-action)!important}
body[data-academic-stage] :is(.edul-shell,.edul-reader,.edul-dialog){--el-accent:var(--b16-action)!important;--el-soft:var(--b16-soft)!important}
body[data-academic-stage] :is(.edul-button:not(.secondary),.edul-shell a.edul-button:not(.secondary),.nz-reader-action.primary){background:var(--b16-action)!important;color:var(--b16-on-action)!important;border-color:transparent!important}
body[data-academic-stage] :is(.nz-reader-hero-icon,.nz-reader-breadcrumb a){color:var(--b16-action)!important}
body[data-academic-stage] :is(.eduq-page,.eduq-wrap,.eduq-live-page){--quiz-primary:var(--b16-action)!important;--quiz-primary-soft:var(--b16-soft)!important}
body[data-academic-stage] .eduq-primary{background:var(--b16-action)!important;color:var(--b16-on-action)!important}
body[data-academic-stage] .eduq-showcase-hero{border-color:var(--b16-line)!important}
body[data-academic-stage] .eduq-showcase-hero:before{background:var(--b16-soft)!important}
body[data-academic-stage] .bl1-main{--bl-green:var(--b16-action)!important;--bl-pale:var(--b16-soft)!important}
body[data-academic-stage] .bl1-button:not(.bl1-outline){background:var(--b16-action)!important;color:var(--b16-on-action)!important}
body[data-academic-stage] .bl1-step-list a[aria-current]{color:var(--b16-on-action)!important}
body[data-academic-stage] .eduq-public-quizzes-page{--quizzes-primary:var(--b16-action)!important;--quizzes-primary-ink:var(--b16-action)!important}
body[data-academic-stage] .eduq-public-quizzes-page .eduq-quizzes-counter,
body[data-academic-stage] .eduq-public-quizzes-page .eduq-quizzes-counter :is(strong,span,a,i){color:var(--b16-on-action)!important}
body[data-academic-stage] .eduq-public-quizzes-page .eduq-quiz-filter-actions button{color:var(--b16-on-action)!important}
body[data-academic-stage] .eduq-public-quizzes-page .eduq-quizzes-counter a{background:transparent!important;border:1px solid currentColor}
body[data-academic-stage] .b2-button:not(.b2-secondary){background:var(--b16-action)!important;color:var(--b16-on-action)!important}
body[data-academic-stage] .ec1-app{--ec-brand:var(--b16-action)!important}
body[data-academic-stage] .ec1-app .ec1-primary{background:var(--b16-action)!important;color:var(--b16-on-action)!important}
body[data-academic-stage] .ec1-hero{border-color:var(--b16-line)!important}
body[data-academic-stage] :is(.ec1-hero,.eduq-hero){background:var(--b16-action)!important;color:var(--b16-on-action)!important}
/* Existing saved palettes deliberately use highly specific opt-in rules.
   The loaded stage stylesheet and actual stage body identify this narrower
   presentation scope, so primary actions retain their checked contrast. */
html:has(#b16-stage-context-css) #b16-stage-content :is(.bg-primary,.eduq-primary,.bl1-button:not(.bl1-outline),.b2-button:not(.b2-secondary),.edul-button:not(.secondary),.nz-reader-action.primary,.ec1-app .ec1-primary,.nnav-search-submit){background:var(--b16-action)!important;color:var(--b16-on-action)!important}
html:has(#b16-stage-context-css) #b16-stage-content :is(.text-primary,.hover\:text-primary:hover,.group:hover .group-hover\:text-primary){color:var(--b16-action)!important}
@media(max-width:640px){body[data-academic-stage] .b16-context-bar{padding-inline:14px;margin-top:12px;gap:3px 9px;font-size:14px}}

/* Primary identity applies to navigation/actions, never answer status colors. */
#b16-stage-content :is(#nnav-top,#nnav-drawer) .nnav-auth--login{background:var(--b16-soft)!important;color:var(--b16-action)!important;border-color:var(--b16-line)!important}
#b16-stage-content :is(#nnav-top,#nnav-drawer) .nnav-auth--login:hover{background:var(--b16-panel)!important;color:var(--b16-action-hover)!important;border-color:var(--b16-action)!important}
#b16-stage-content :is(#nnav-top,#nnav-drawer) .nnav-auth--register{background:var(--b16-action)!important;color:var(--b16-on-action)!important;border-color:var(--b16-action)!important}
#b16-stage-content :is(#nnav-top,#nnav-drawer) .nnav-auth--register:hover{background:var(--b16-action-hover)!important;color:var(--b16-on-action-hover)!important;border-color:var(--b16-action-hover)!important}
#b16-stage-content :is(#nnav-top,#nnav-drawer) .nnav-auth:focus-visible{outline-color:var(--b16-action)!important}
html:has(#b16-stage-context-css) #b16-stage-content :is(.bg-primary,.eduq-primary,.bl1-button:not(.bl1-outline),.b2-button:not(.b2-secondary),.edul-button:not(.secondary),.nz-reader-action.primary,.ec1-app .ec1-primary,.nnav-search-submit):hover:not(:disabled):not([aria-disabled="true"]){background:var(--b16-action-hover)!important;color:var(--b16-on-action-hover)!important;border-color:var(--b16-action-hover)!important}
html:has(#b16-stage-context-css) #b16-stage-content :is(.hover\:bg-primary-dark:hover,.hover\:bg-purple-700:hover,.hover\:bg-indigo-700:hover):not(:disabled):not([aria-disabled="true"]){background-color:var(--b16-action-hover)!important;color:var(--b16-on-action-hover)!important}
#b16-stage-content .b16-context-bar a:hover{color:var(--b16-action-hover);text-decoration:underline;text-underline-offset:4px}
#b16-stage-content :is(.b16-primary-action,.b16-accent-action){border:1px solid transparent;transition:background-color .16s,color .16s}
#b16-stage-content .b16-primary-action{background:var(--b16-action);color:var(--b16-on-action)}
#b16-stage-content .b16-primary-action:hover{background:var(--b16-action-hover);color:var(--b16-on-action-hover)}
#b16-stage-content .b16-accent-action{background:var(--b16-accent-action);color:var(--b16-on-accent-action)}
#b16-stage-content .b16-accent-action:hover{background:var(--b16-accent-hover);color:var(--b16-on-accent-hover)}
@media(prefers-reduced-motion:reduce){#b16-stage-content :is(.b16-primary-action,.b16-accent-action){transition:none}}

/* CHOICE1: one visible block for each effective grade/track choice group.
   Palette variables belong to the existing portal, including its dark mode. */
.b13-public{--b37-panel:var(--b13-panel);--b37-text:var(--b13-text);--b37-muted:var(--b13-muted);--b37-accent:var(--b13-ink);--b37-line:var(--b13-border);--b37-soft:var(--b13-soft)}
.b16-portal{--b37-panel:var(--b16-panel);--b37-text:var(--b16-text);--b37-muted:var(--b16-muted);--b37-accent:var(--b16-ink);--b37-line:var(--b16-border);--b37-soft:var(--b16-soft)}
:is(.b13-public,.b16-portal) .b37-choice-group{position:relative;margin-top:24px;padding:24px;border:1px solid var(--b37-line);border-inline-start:4px solid var(--b37-accent);border-radius:22px;background:linear-gradient(145deg,var(--b37-soft),var(--b37-panel) 72%);color:var(--b37-text);overflow-wrap:anywhere}
:is(.b13-public,.b16-portal) .b37-choice-group:first-child{margin-top:0}
:is(.b13-public,.b16-portal) .b37-choice-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:12px}
:is(.b13-public,.b16-portal) .b37-choice-head>div{flex:1;min-width:180px}
:is(.b13-public,.b16-portal) .b37-choice-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--b37-line);border-radius:15px;background:var(--b37-panel);color:var(--b37-accent)}
:is(.b13-public,.b16-portal) .b37-choice-symbol svg{width:27px;height:27px}
:is(.b13-public,.b16-portal) .b37-choice-kicker{font-size:14px;font-weight:650;line-height:1.8;color:var(--b37-accent);margin:0 0 4px!important}
:is(.b13-public,.b16-portal) .b37-choice-head h3{font-size:23px;font-weight:750;line-height:1.8;margin:0}
:is(.b13-public,.b16-portal) .b37-choice-scope{font-size:14px;line-height:1.9;color:var(--b37-muted);margin-top:6px!important}
:is(.b13-public,.b16-portal) .b37-choice-badge{display:inline-flex;align-items:center;min-height:36px;padding:5px 12px;border:1px solid var(--b37-line);border-radius:99px;background:var(--b37-panel);color:var(--b37-accent);font-size:14px;line-height:1.8;font-weight:700;max-width:100%}
:is(.b13-public,.b16-portal) .b37-choice-description{font-size:15px;line-height:2.05;color:var(--b37-text);margin:0 0 19px!important}
:is(.b13-public,.b16-portal) :is(.b37-choice-group--incomplete,.b37-choice-group--conflict) .b37-choice-badge{color:var(--b37-muted);border-style:dashed}
:is(.b13-public,.b16-portal) .b37-choice-materials{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
:is(.b13-public,.b16-portal) .b37-choice-materials>article{box-shadow:0 6px 18px #15294c06}
.b13-public .b13-subject h4,.b16-portal .b16-subject h4{font-size:19px;font-weight:750;line-height:1.8}
.b13-public .b13-subject h4 a,.b16-portal .b16-subject h4 a{display:inline-flex;align-items:center;min-height:44px}
.b13-public .b13-subject h4 a:hover{color:var(--b37-accent)}
.b16-portal .b16-subject h4 a:hover{text-decoration:underline}
:is(.b13-public,.b16-portal) .b37-material-scope{color:var(--b37-accent);font-size:14px;line-height:1.9;font-weight:650;margin:0 0 12px!important}
@media(max-width:720px){:is(.b13-public,.b16-portal) .b37-choice-group{padding:19px 16px;border-radius:18px;margin-top:20px}:is(.b13-public,.b16-portal) .b37-choice-head{gap:11px}:is(.b13-public,.b16-portal) .b37-choice-head>div{min-width:0;flex-basis:calc(100% - 55px)}:is(.b13-public,.b16-portal) .b37-choice-symbol{width:43px;height:43px;flex-basis:43px;border-radius:13px}:is(.b13-public,.b16-portal) .b37-choice-head h3{font-size:20px}:is(.b13-public,.b16-portal) .b37-choice-badge{margin-inline-start:54px}:is(.b13-public,.b16-portal) .b37-choice-description{font-size:14px;margin-bottom:16px!important}:is(.b13-public,.b16-portal) .b37-choice-materials{grid-template-columns:1fr;gap:12px}}
@media(max-width:390px){:is(.b13-public,.b16-portal) .b37-choice-head{display:block}:is(.b13-public,.b16-portal) .b37-choice-symbol{margin-bottom:10px}:is(.b13-public,.b16-portal) .b37-choice-badge{margin:11px 0 0}:is(.b13-public,.b16-portal) .b37-choice-group{padding-inline:13px}}
