/* ui/shared/startup.css */
/* First stylesheet: hide intermediate legacy renderers until the final surface is ready. */
html[data-app-state="loading"],html[data-app-state="failed"]{background:#f6f8fc;color-scheme:light}
html[data-app-state="loading"] body,html[data-app-state="failed"] body{margin:0;overflow:hidden!important}
html[data-app-state="loading"] body>:not(#biologyPreviewStatus):not(#appStartup):not(script):not(link):not(style),html[data-app-state="failed"] body>:not(#biologyPreviewStatus):not(#appStartup):not(script):not(link):not(style){display:none!important}
#appStartup{position:fixed;inset:0;z-index:2147483646;display:grid;place-items:center;background:#f6f8fc;color:#162c4c;font:15px/1.6 system-ui,sans-serif;text-align:center;padding:24px;box-sizing:border-box}
#appStartup .startup-card{max-width:380px}#appStartup img{width:76px;height:76px;border-radius:20px;object-fit:contain}#appStartup h1{font:750 24px/1.3 system-ui,sans-serif;margin:18px 0 5px}#appStartup p{color:#61728a;margin:8px 0}#appStartup small{font-size:11px;color:#50667e}#appStartup button{font:600 14px system-ui;padding:12px 20px;min-height:44px;border-radius:10px;border:0;background:#3159d6;color:white;cursor:pointer;margin-top:16px}#appStartup button[hidden]{display:none}
html[data-app-state="ready"] #appStartup{display:none!important}
#appStartup img{border-radius:50%}
/* A stable hidden paper surface remains available for the separate PYQ mode. */
body.portal-open>:not(#biologyPreviewStatus):not(#studentPortal):not(#practicalsViewer):not(#questionBookmarks):not(#pyqReaderOpening):not(#appStartup):not(#previewUpdate):not(.mep-exit):not(script):not(style):not(link){display:none!important}
/* Recovery controls must remain reachable while Home hides other app panels. */
html body #biologyPreviewStatus[data-load-error="true"]{display:block!important;bottom:84px!important;z-index:2147483647!important}
html body #biologyPreviewStatus:not([data-load-error="true"]){display:none!important}

/* Owner2November: final reader only. Native templates remain hidden integration inputs. */
html[data-app-state="ready"] body :is(.appbar,.filterbar,.feature-strip,.app-goal){display:none!important}
html[data-app-state="ready"] body:not([data-reader-ready="true"]) .main-app,
html[data-app-state="ready"] body.pyq-reader-loading .main-app{visibility:hidden!important}
#appStartup .pyqlens-brand-image{width:min(100%,340px);height:auto;border-radius:0;object-fit:contain}
body.portal-open>#questionBookmarks{display:block!important}
body.portal-open>#pyqReaderOpening{display:grid!important}
#pyqReaderOpening{position:fixed;inset:0;z-index:210000;display:grid;place-items:center;padding:24px;box-sizing:border-box;background:#f6f8fc;color:#173245;font:17px/1.6 var(--font-reading,'EB Garamond',serif)}
.reader-opening-card{width:min(100%,440px);text-align:center}
.reader-opening-card h1{font-size:26px;margin:12px 0}
.reader-opening-title{font-weight:600}
.reader-opening-card button{min-height:44px;margin:6px;padding:10px 18px;border:1px solid #afc2d1;border-radius:8px;background:#fff;color:inherit;font:inherit;cursor:pointer}
.reader-opening-card button[hidden]{display:none}

/* ui/shared/typography.css */
/* Shared typography contract for every subject and app surface. Keep this
   layer first: important layer rules win over legacy unlayered font shorthands.
   Do not replace these with another per-subject font or blanket font shorthand. */
@font-face{
  font-family:"EB Garamond";font-style:normal;font-weight:400 800;font-display:swap;
  src:url("../../vendor/fonts/eb-garamond/EBGaramond-Regular.ttf") format("truetype");
}
@font-face{
  font-family:"EB Garamond";font-style:italic;font-weight:400 800;font-display:swap;
  src:url("../../vendor/fonts/eb-garamond/EBGaramond-Italic.ttf") format("truetype");
}
:root{
  --mep-font-text:"EB Garamond",Garamond,Georgia,serif;
  --mep-font-code:ui-monospace,Consolas,"Liberation Mono",monospace;
  --mep-text-size:17px;
  --mep-choice-size:16px;
  --mep-control-size:15px;
  --mep-section-size:16px;
  --mep-heading-size:19px;
  --mep-reading-line:1.6;
  --mep-mobile-nav-height:56px;
  --mep-mobile-safe-bottom:env(safe-area-inset-bottom,0px);
  --mep-mobile-nav-label-size:11px;
  --mep-mobile-nav-icon-size:18px;
  --reader-separator:#cbd7e8;
}
@layer mep-typography{
  :root,body{--mep-font:var(--mep-font-text)!important}
  body,body :where(*):not(.katex,.katex *,math,math *,svg,svg *,pre,pre *,code,code *,kbd,kbd *,samp,samp *,.board-sequence,.board-sequence *,.bio-sequence-triplets,.bio-sequence-triplets *,[data-font-role="math"],[data-font-role="math"] *,[data-font-role="code"],[data-font-role="code"] *){
    font-family:var(--mep-font-text)!important;
  }
  /* Ordinary SVG labels adopt the family, while their authored sizes and
     coordinates stay intact. Formula/code labels retain their original font. */
  svg :is(text,tspan):not(.katex *):not([data-font-role="math"],[data-font-role="math"] *,[data-font-role="code"],[data-font-role="code"] *):not([font-family*="math" i],[font-family*="math" i] *,[font-family*="Times" i],[font-family*="Times" i] *,[font-family*="mono" i],[font-family*="mono" i] *,[font-family*="Courier" i],[font-family*="Courier" i] *,[font-family*="Consolas" i],[font-family*="Consolas" i] *){
    font-family:var(--mep-font-text)!important;
  }
  :is(pre,code,kbd,samp,.board-sequence,.bio-sequence-triplets,[data-font-role="code"]),:is(pre,code,kbd,samp,.board-sequence,.bio-sequence-triplets,[data-font-role="code"]) :not(.katex,.katex *){
    font-family:var(--mep-font-code)!important;
  }
  body{font-size:var(--mep-control-size)!important}
  :is(button,input,select,textarea,summary){font-size:var(--mep-control-size)!important}
  :is(h1,h2,h3,h4){font-weight:600!important;letter-spacing:normal!important}
  :is(h2,h3,h4){font-size:var(--mep-heading-size)!important;line-height:1.35!important}

  /* Retain each existing student's font scaling controls. Never scale KaTeX
     internals, superscripts or code tokens with generic descendant rules. */
  #questionPanel :is(.qtext,.qtext .board-paragraph,.qtext .board-subpart,.qtext li,.qtext td,.qtext th){
    font-size:calc(var(--mep-text-size) * var(--qscale,1))!important;
    line-height:var(--mep-reading-line)!important;
  }
  #questionPanel :is(.option,.chem-choice,.v30-option){
    font-size:calc(var(--mep-choice-size) * var(--qscale,1))!important;
    line-height:1.45!important;
  }
  #questionPanel :is([data-pyq-option-content],[data-pyq-option-label]){font-size:inherit!important}
  #answerPanel .answer-main,
  #answerPanel .answer-main :is(p,li,td,th,div,span):not(.katex,.katex *,math,math *,svg *,pre,pre *,code,code *,kbd,kbd *,samp,samp *,.markbadge,.submark,.marks,.pill,.reader-icon,.reader-action-label,.reader-heading-copy,.reader-heading-copy *,.reader-section-heading,.reader-action-group,.reader-route-note){
    font-size:calc(var(--mep-text-size) * var(--ascale,1) * var(--v47-answer-scale,1))!important;
    line-height:var(--mep-reading-line)!important;
  }
  #answerPanel .teacher-method :is(p,li,.step):not(.katex *){
    font-size:calc(var(--mep-text-size) * var(--ascale,1) * var(--v47-answer-scale,1) * var(--teacher-font-scale,1))!important;
  }
  #answerPanel :is(h3,h4){font-size:calc(var(--mep-heading-size) * var(--ascale,1) * var(--v47-answer-scale,1))!important}
  #visualAnchor :is(.teachbox p,.physics-current-step p,#v31Scenes .v31-scene>span,#v31Scenes .scene>span){
    font-size:calc(var(--mep-text-size) * var(--v45-step-scale,1))!important;
    line-height:var(--mep-reading-line)!important;
  }
  #visualAnchor :is(.v31-scene b,.scene b,.head b){font-size:var(--mep-heading-size)!important;font-weight:600!important}
  :is(.tap-lab,.reader-activity-section) :is(p,legend),
  #studentPortal :is(.concept-copy,.concept-copy p,.concept-source-text),
  #conceptPractice .cp-feedback p,
  #boardExam :is(.ex-question,.ex-question>p){
    font-size:var(--mep-text-size)!important;line-height:var(--mep-reading-line)!important;
  }
  :is(.tap-lab,.reader-activity-section) .tap-choice,
  #conceptPractice .cp-choice,#boardExam .ex-option{
    font-size:var(--mep-choice-size)!important;line-height:1.45!important;
  }
  .reader-section-toggle{font-size:var(--mep-section-size)!important;font-weight:600!important;line-height:1.4!important}
  /* Small navigation labels remain readable without turning the bottom bar
     into multiple rows. Icons and original mathematical glyphs are unchanged. */
  #mepWorkspaceChrome .ws-bottom-nav :is(button,span),
  #studentPortal .dash-bottom-nav :is(button,span){font-size:var(--mep-mobile-nav-label-size)!important;line-height:1.2!important}
  #mepWorkspaceChrome .ws-location strong{font-size:var(--mep-heading-size)!important}
  :is(.qtag,.markbadge,.submark,.marks,.learning-subject,.reader-paper-meta,.reader-route-note){font-size:14px!important}
  #answerPanel .reader-heading-copy p{font-size:13px!important;line-height:1.5!important}
  :is(pre,code,.board-sequence,.bio-sequence-triplets){font-variant-ligatures:none}
}

/* vendor/katex/katex.css */
/* stylelint-disable font-family-no-missing-generic-family-keyword */
@font-face {
  font-family: "KaTeX_AMS";
  src: url(../../vendor/katex/fonts/KaTeX_AMS-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_AMS-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_AMS-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Caligraphic";
  src: url(../../vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Caligraphic-Bold.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Caligraphic-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Caligraphic";
  src: url(../../vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Caligraphic-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Caligraphic-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Fraktur";
  src: url(../../vendor/katex/fonts/KaTeX_Fraktur-Bold.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Fraktur-Bold.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Fraktur-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Fraktur";
  src: url(../../vendor/katex/fonts/KaTeX_Fraktur-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Fraktur-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Fraktur-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Main";
  src: url(../../vendor/katex/fonts/KaTeX_Main-Bold.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Main-Bold.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Main-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Main";
  src: url(../../vendor/katex/fonts/KaTeX_Main-BoldItalic.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Main-BoldItalic.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Main-BoldItalic.ttf) format("truetype");
  font-weight: bold;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Main";
  src: url(../../vendor/katex/fonts/KaTeX_Main-Italic.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Main-Italic.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Main-Italic.ttf) format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Main";
  src: url(../../vendor/katex/fonts/KaTeX_Main-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Main-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Main-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Math";
  src: url(../../vendor/katex/fonts/KaTeX_Math-BoldItalic.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Math-BoldItalic.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Math-BoldItalic.ttf) format("truetype");
  font-weight: bold;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Math";
  src: url(../../vendor/katex/fonts/KaTeX_Math-Italic.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Math-Italic.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Math-Italic.ttf) format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_SansSerif";
  src: url(../../vendor/katex/fonts/KaTeX_SansSerif-Bold.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Bold.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Bold.ttf) format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_SansSerif";
  src: url(../../vendor/katex/fonts/KaTeX_SansSerif-Italic.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Italic.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Italic.ttf) format("truetype");
  font-weight: normal;
  font-style: italic;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_SansSerif";
  src: url(../../vendor/katex/fonts/KaTeX_SansSerif-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_SansSerif-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Script";
  src: url(../../vendor/katex/fonts/KaTeX_Script-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Script-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Script-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Size1";
  src: url(../../vendor/katex/fonts/KaTeX_Size1-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Size1-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Size1-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Size2";
  src: url(../../vendor/katex/fonts/KaTeX_Size2-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Size2-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Size2-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Size3";
  src: url(../../vendor/katex/fonts/KaTeX_Size3-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Size3-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Size3-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Size4";
  src: url(../../vendor/katex/fonts/KaTeX_Size4-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Size4-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Size4-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: "KaTeX_Typewriter";
  src: url(../../vendor/katex/fonts/KaTeX_Typewriter-Regular.woff2) format("woff2"), url(../../vendor/katex/fonts/KaTeX_Typewriter-Regular.woff) format("woff"), url(../../vendor/katex/fonts/KaTeX_Typewriter-Regular.ttf) format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/* stylelint-disable font-family-no-missing-generic-family-keyword */
.katex {
  font: normal 1.21em KaTeX_Main, math, Times New Roman, serif;
  line-height: 1.2;
  position: relative;
  text-indent: 0;
  text-rendering: auto;
}
.katex * {
  -ms-high-contrast-adjust: none !important;
}
.katex * {
  border-color: currentColor;
}
.katex .katex-version::after {
  content: "0.19.1";
}
.katex .katex-mathml {
  /* Accessibility hack to only show to screen readers
   Found at: http://a11yproject.com/posts/how-to-hide-content/ */
  position: absolute;
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  padding: 0;
  border: 0;
  height: 1px;
  width: 1px;
  overflow: hidden;
}
.katex .katex-html {
  /* \newline is an empty block at top level, between .katex-base elements */
}
.katex .katex-html > .katex-newline {
  display: block;
}
.katex .katex-base {
  position: relative;
  display: inline-block;
  white-space: nowrap;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
}
.katex .katex-strut {
  display: inline-block;
}
.katex .textbf {
  font-weight: bold;
}
.katex .textit {
  font-style: italic;
}
.katex .textrm {
  font-family: KaTeX_Main;
}
.katex .textsf {
  font-family: KaTeX_SansSerif;
}
.katex .texttt {
  font-family: KaTeX_Typewriter;
}
.katex .mathnormal {
  font-family: KaTeX_Math;
  font-style: italic;
}
.katex .mathit {
  font-family: KaTeX_Main;
  font-style: italic;
}
.katex .mathrm {
  font-style: normal;
}
.katex .mathbf {
  font-family: KaTeX_Main;
  font-weight: bold;
}
.katex .boldsymbol {
  font-family: KaTeX_Math;
  font-weight: bold;
  font-style: italic;
}
.katex .amsrm {
  font-family: KaTeX_AMS;
}
.katex .mathbb,
.katex .textbb {
  font-family: KaTeX_AMS;
}
.katex .mathcal {
  font-family: KaTeX_Caligraphic;
}
.katex .mathfrak,
.katex .textfrak {
  font-family: KaTeX_Fraktur;
}
.katex .mathboldfrak,
.katex .textboldfrak {
  font-family: KaTeX_Fraktur;
  font-weight: bold;
}
.katex .mathtt {
  font-family: KaTeX_Typewriter;
}
.katex .mathscr,
.katex .textscr {
  font-family: KaTeX_Script;
}
.katex .mathsf,
.katex .textsf {
  font-family: KaTeX_SansSerif;
}
.katex .mathboldsf,
.katex .textboldsf {
  font-family: KaTeX_SansSerif;
  font-weight: bold;
}
.katex .mathsfit,
.katex .mathitsf,
.katex .textitsf {
  font-family: KaTeX_SansSerif;
  font-style: italic;
}
.katex .mainrm {
  font-family: KaTeX_Main;
  font-style: normal;
}
.katex .vlist-t {
  display: inline-table;
  table-layout: fixed;
  border-collapse: collapse;
}
.katex .vlist-r {
  display: table-row;
}
.katex .vlist {
  display: table-cell;
  vertical-align: bottom;
  position: relative;
}
.katex .vlist > span {
  display: block;
  height: 0;
  position: relative;
}
.katex .vlist > span > span {
  display: inline-block;
}
.katex .vlist > span > .pstrut {
  overflow: hidden;
  width: 0;
}
.katex .vlist-t2 {
  margin-right: -2px;
}
.katex .vlist-s {
  display: table-cell;
  vertical-align: bottom;
  font-size: 1px;
  width: 2px;
  min-width: 2px;
}
.katex .katex-vbox {
  display: inline-flex;
  flex-direction: column;
  align-items: baseline;
}
.katex .katex-thinbox {
  display: inline-flex;
  flex-direction: row;
  width: 0;
  max-width: 0;
}
.katex .msupsub {
  text-align: left;
}
.katex .mfrac > span > span {
  text-align: center;
}
.katex .mfrac .frac-line {
  display: inline-block;
  width: 100%;
  border-bottom-style: solid;
}
.katex .mfrac .frac-line,
.katex .katex-overline .overline-line,
.katex .katex-underline .underline-line,
.katex .katex-hline,
.katex .katex-hdashline,
.katex .katex-rule {
  min-height: 1px;
}
.katex .mspace {
  display: inline-block;
}
.katex .katex-smash {
  display: inline;
  line-height: 0;
}
.katex .llap,
.katex .rlap,
.katex .clap {
  width: 0;
  position: relative;
}
.katex .llap > .katex-inner,
.katex .rlap > .katex-inner,
.katex .clap > .katex-inner {
  position: absolute;
}
.katex .llap > .katex-fix,
.katex .rlap > .katex-fix,
.katex .clap > .katex-fix {
  display: inline-block;
}
.katex .llap > .katex-inner {
  right: 0;
}
.katex .rlap > .katex-inner,
.katex .clap > .katex-inner {
  left: 0;
}
.katex .clap > .katex-inner > span {
  margin-left: -50%;
  margin-right: 50%;
}
.katex .katex-rule {
  display: inline-block;
  border: solid 0;
  position: relative;
}
.katex .katex-overline .overline-line,
.katex .katex-underline .underline-line,
.katex .katex-hline {
  display: inline-block;
  width: 100%;
  border-bottom-style: solid;
}
.katex .katex-hdashline {
  display: inline-block;
  width: 100%;
  border-bottom-style: dashed;
}
.katex .sqrt > .katex-root {
  /* These values are taken from the definition of `\r@@t`,
   `\mkern 5mu` and `\mkern -10mu`. */
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
  margin-left: 0.2777777778em;
  /* stylelint-disable-next-line declaration-property-value-no-unknown */
  margin-right: -0.5555555556em;
}
.katex .katex-sizing.reset-size1.size1,
.katex .fontsize-ensurer.reset-size1.size1 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size1.size2,
.katex .fontsize-ensurer.reset-size1.size2 {
  /* stylelint-disable-next-line */
  font-size: 1.2em;
}
.katex .katex-sizing.reset-size1.size3,
.katex .fontsize-ensurer.reset-size1.size3 {
  /* stylelint-disable-next-line */
  font-size: 1.4em;
}
.katex .katex-sizing.reset-size1.size4,
.katex .fontsize-ensurer.reset-size1.size4 {
  /* stylelint-disable-next-line */
  font-size: 1.6em;
}
.katex .katex-sizing.reset-size1.size5,
.katex .fontsize-ensurer.reset-size1.size5 {
  /* stylelint-disable-next-line */
  font-size: 1.8em;
}
.katex .katex-sizing.reset-size1.size6,
.katex .fontsize-ensurer.reset-size1.size6 {
  /* stylelint-disable-next-line */
  font-size: 2em;
}
.katex .katex-sizing.reset-size1.size7,
.katex .fontsize-ensurer.reset-size1.size7 {
  /* stylelint-disable-next-line */
  font-size: 2.4em;
}
.katex .katex-sizing.reset-size1.size8,
.katex .fontsize-ensurer.reset-size1.size8 {
  /* stylelint-disable-next-line */
  font-size: 2.88em;
}
.katex .katex-sizing.reset-size1.size9,
.katex .fontsize-ensurer.reset-size1.size9 {
  /* stylelint-disable-next-line */
  font-size: 3.456em;
}
.katex .katex-sizing.reset-size1.size10,
.katex .fontsize-ensurer.reset-size1.size10 {
  /* stylelint-disable-next-line */
  font-size: 4.148em;
}
.katex .katex-sizing.reset-size1.size11,
.katex .fontsize-ensurer.reset-size1.size11 {
  /* stylelint-disable-next-line */
  font-size: 4.976em;
}
.katex .katex-sizing.reset-size2.size1,
.katex .fontsize-ensurer.reset-size2.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.8333333333em;
}
.katex .katex-sizing.reset-size2.size2,
.katex .fontsize-ensurer.reset-size2.size2 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size2.size3,
.katex .fontsize-ensurer.reset-size2.size3 {
  /* stylelint-disable-next-line */
  font-size: 1.1666666667em;
}
.katex .katex-sizing.reset-size2.size4,
.katex .fontsize-ensurer.reset-size2.size4 {
  /* stylelint-disable-next-line */
  font-size: 1.3333333333em;
}
.katex .katex-sizing.reset-size2.size5,
.katex .fontsize-ensurer.reset-size2.size5 {
  /* stylelint-disable-next-line */
  font-size: 1.5em;
}
.katex .katex-sizing.reset-size2.size6,
.katex .fontsize-ensurer.reset-size2.size6 {
  /* stylelint-disable-next-line */
  font-size: 1.6666666667em;
}
.katex .katex-sizing.reset-size2.size7,
.katex .fontsize-ensurer.reset-size2.size7 {
  /* stylelint-disable-next-line */
  font-size: 2em;
}
.katex .katex-sizing.reset-size2.size8,
.katex .fontsize-ensurer.reset-size2.size8 {
  /* stylelint-disable-next-line */
  font-size: 2.4em;
}
.katex .katex-sizing.reset-size2.size9,
.katex .fontsize-ensurer.reset-size2.size9 {
  /* stylelint-disable-next-line */
  font-size: 2.88em;
}
.katex .katex-sizing.reset-size2.size10,
.katex .fontsize-ensurer.reset-size2.size10 {
  /* stylelint-disable-next-line */
  font-size: 3.4566666667em;
}
.katex .katex-sizing.reset-size2.size11,
.katex .fontsize-ensurer.reset-size2.size11 {
  /* stylelint-disable-next-line */
  font-size: 4.1466666667em;
}
.katex .katex-sizing.reset-size3.size1,
.katex .fontsize-ensurer.reset-size3.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.7142857143em;
}
.katex .katex-sizing.reset-size3.size2,
.katex .fontsize-ensurer.reset-size3.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.8571428571em;
}
.katex .katex-sizing.reset-size3.size3,
.katex .fontsize-ensurer.reset-size3.size3 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size3.size4,
.katex .fontsize-ensurer.reset-size3.size4 {
  /* stylelint-disable-next-line */
  font-size: 1.1428571429em;
}
.katex .katex-sizing.reset-size3.size5,
.katex .fontsize-ensurer.reset-size3.size5 {
  /* stylelint-disable-next-line */
  font-size: 1.2857142857em;
}
.katex .katex-sizing.reset-size3.size6,
.katex .fontsize-ensurer.reset-size3.size6 {
  /* stylelint-disable-next-line */
  font-size: 1.4285714286em;
}
.katex .katex-sizing.reset-size3.size7,
.katex .fontsize-ensurer.reset-size3.size7 {
  /* stylelint-disable-next-line */
  font-size: 1.7142857143em;
}
.katex .katex-sizing.reset-size3.size8,
.katex .fontsize-ensurer.reset-size3.size8 {
  /* stylelint-disable-next-line */
  font-size: 2.0571428571em;
}
.katex .katex-sizing.reset-size3.size9,
.katex .fontsize-ensurer.reset-size3.size9 {
  /* stylelint-disable-next-line */
  font-size: 2.4685714286em;
}
.katex .katex-sizing.reset-size3.size10,
.katex .fontsize-ensurer.reset-size3.size10 {
  /* stylelint-disable-next-line */
  font-size: 2.9628571429em;
}
.katex .katex-sizing.reset-size3.size11,
.katex .fontsize-ensurer.reset-size3.size11 {
  /* stylelint-disable-next-line */
  font-size: 3.5542857143em;
}
.katex .katex-sizing.reset-size4.size1,
.katex .fontsize-ensurer.reset-size4.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.625em;
}
.katex .katex-sizing.reset-size4.size2,
.katex .fontsize-ensurer.reset-size4.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.75em;
}
.katex .katex-sizing.reset-size4.size3,
.katex .fontsize-ensurer.reset-size4.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.875em;
}
.katex .katex-sizing.reset-size4.size4,
.katex .fontsize-ensurer.reset-size4.size4 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size4.size5,
.katex .fontsize-ensurer.reset-size4.size5 {
  /* stylelint-disable-next-line */
  font-size: 1.125em;
}
.katex .katex-sizing.reset-size4.size6,
.katex .fontsize-ensurer.reset-size4.size6 {
  /* stylelint-disable-next-line */
  font-size: 1.25em;
}
.katex .katex-sizing.reset-size4.size7,
.katex .fontsize-ensurer.reset-size4.size7 {
  /* stylelint-disable-next-line */
  font-size: 1.5em;
}
.katex .katex-sizing.reset-size4.size8,
.katex .fontsize-ensurer.reset-size4.size8 {
  /* stylelint-disable-next-line */
  font-size: 1.8em;
}
.katex .katex-sizing.reset-size4.size9,
.katex .fontsize-ensurer.reset-size4.size9 {
  /* stylelint-disable-next-line */
  font-size: 2.16em;
}
.katex .katex-sizing.reset-size4.size10,
.katex .fontsize-ensurer.reset-size4.size10 {
  /* stylelint-disable-next-line */
  font-size: 2.5925em;
}
.katex .katex-sizing.reset-size4.size11,
.katex .fontsize-ensurer.reset-size4.size11 {
  /* stylelint-disable-next-line */
  font-size: 3.11em;
}
.katex .katex-sizing.reset-size5.size1,
.katex .fontsize-ensurer.reset-size5.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.5555555556em;
}
.katex .katex-sizing.reset-size5.size2,
.katex .fontsize-ensurer.reset-size5.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.6666666667em;
}
.katex .katex-sizing.reset-size5.size3,
.katex .fontsize-ensurer.reset-size5.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.7777777778em;
}
.katex .katex-sizing.reset-size5.size4,
.katex .fontsize-ensurer.reset-size5.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.8888888889em;
}
.katex .katex-sizing.reset-size5.size5,
.katex .fontsize-ensurer.reset-size5.size5 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size5.size6,
.katex .fontsize-ensurer.reset-size5.size6 {
  /* stylelint-disable-next-line */
  font-size: 1.1111111111em;
}
.katex .katex-sizing.reset-size5.size7,
.katex .fontsize-ensurer.reset-size5.size7 {
  /* stylelint-disable-next-line */
  font-size: 1.3333333333em;
}
.katex .katex-sizing.reset-size5.size8,
.katex .fontsize-ensurer.reset-size5.size8 {
  /* stylelint-disable-next-line */
  font-size: 1.6em;
}
.katex .katex-sizing.reset-size5.size9,
.katex .fontsize-ensurer.reset-size5.size9 {
  /* stylelint-disable-next-line */
  font-size: 1.92em;
}
.katex .katex-sizing.reset-size5.size10,
.katex .fontsize-ensurer.reset-size5.size10 {
  /* stylelint-disable-next-line */
  font-size: 2.3044444444em;
}
.katex .katex-sizing.reset-size5.size11,
.katex .fontsize-ensurer.reset-size5.size11 {
  /* stylelint-disable-next-line */
  font-size: 2.7644444444em;
}
.katex .katex-sizing.reset-size6.size1,
.katex .fontsize-ensurer.reset-size6.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.5em;
}
.katex .katex-sizing.reset-size6.size2,
.katex .fontsize-ensurer.reset-size6.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.6em;
}
.katex .katex-sizing.reset-size6.size3,
.katex .fontsize-ensurer.reset-size6.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.7em;
}
.katex .katex-sizing.reset-size6.size4,
.katex .fontsize-ensurer.reset-size6.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.8em;
}
.katex .katex-sizing.reset-size6.size5,
.katex .fontsize-ensurer.reset-size6.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.9em;
}
.katex .katex-sizing.reset-size6.size6,
.katex .fontsize-ensurer.reset-size6.size6 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size6.size7,
.katex .fontsize-ensurer.reset-size6.size7 {
  /* stylelint-disable-next-line */
  font-size: 1.2em;
}
.katex .katex-sizing.reset-size6.size8,
.katex .fontsize-ensurer.reset-size6.size8 {
  /* stylelint-disable-next-line */
  font-size: 1.44em;
}
.katex .katex-sizing.reset-size6.size9,
.katex .fontsize-ensurer.reset-size6.size9 {
  /* stylelint-disable-next-line */
  font-size: 1.728em;
}
.katex .katex-sizing.reset-size6.size10,
.katex .fontsize-ensurer.reset-size6.size10 {
  /* stylelint-disable-next-line */
  font-size: 2.074em;
}
.katex .katex-sizing.reset-size6.size11,
.katex .fontsize-ensurer.reset-size6.size11 {
  /* stylelint-disable-next-line */
  font-size: 2.488em;
}
.katex .katex-sizing.reset-size7.size1,
.katex .fontsize-ensurer.reset-size7.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.4166666667em;
}
.katex .katex-sizing.reset-size7.size2,
.katex .fontsize-ensurer.reset-size7.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.5em;
}
.katex .katex-sizing.reset-size7.size3,
.katex .fontsize-ensurer.reset-size7.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.5833333333em;
}
.katex .katex-sizing.reset-size7.size4,
.katex .fontsize-ensurer.reset-size7.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.6666666667em;
}
.katex .katex-sizing.reset-size7.size5,
.katex .fontsize-ensurer.reset-size7.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.75em;
}
.katex .katex-sizing.reset-size7.size6,
.katex .fontsize-ensurer.reset-size7.size6 {
  /* stylelint-disable-next-line */
  font-size: 0.8333333333em;
}
.katex .katex-sizing.reset-size7.size7,
.katex .fontsize-ensurer.reset-size7.size7 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size7.size8,
.katex .fontsize-ensurer.reset-size7.size8 {
  /* stylelint-disable-next-line */
  font-size: 1.2em;
}
.katex .katex-sizing.reset-size7.size9,
.katex .fontsize-ensurer.reset-size7.size9 {
  /* stylelint-disable-next-line */
  font-size: 1.44em;
}
.katex .katex-sizing.reset-size7.size10,
.katex .fontsize-ensurer.reset-size7.size10 {
  /* stylelint-disable-next-line */
  font-size: 1.7283333333em;
}
.katex .katex-sizing.reset-size7.size11,
.katex .fontsize-ensurer.reset-size7.size11 {
  /* stylelint-disable-next-line */
  font-size: 2.0733333333em;
}
.katex .katex-sizing.reset-size8.size1,
.katex .fontsize-ensurer.reset-size8.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.3472222222em;
}
.katex .katex-sizing.reset-size8.size2,
.katex .fontsize-ensurer.reset-size8.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.4166666667em;
}
.katex .katex-sizing.reset-size8.size3,
.katex .fontsize-ensurer.reset-size8.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.4861111111em;
}
.katex .katex-sizing.reset-size8.size4,
.katex .fontsize-ensurer.reset-size8.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.5555555556em;
}
.katex .katex-sizing.reset-size8.size5,
.katex .fontsize-ensurer.reset-size8.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.625em;
}
.katex .katex-sizing.reset-size8.size6,
.katex .fontsize-ensurer.reset-size8.size6 {
  /* stylelint-disable-next-line */
  font-size: 0.6944444444em;
}
.katex .katex-sizing.reset-size8.size7,
.katex .fontsize-ensurer.reset-size8.size7 {
  /* stylelint-disable-next-line */
  font-size: 0.8333333333em;
}
.katex .katex-sizing.reset-size8.size8,
.katex .fontsize-ensurer.reset-size8.size8 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size8.size9,
.katex .fontsize-ensurer.reset-size8.size9 {
  /* stylelint-disable-next-line */
  font-size: 1.2em;
}
.katex .katex-sizing.reset-size8.size10,
.katex .fontsize-ensurer.reset-size8.size10 {
  /* stylelint-disable-next-line */
  font-size: 1.4402777778em;
}
.katex .katex-sizing.reset-size8.size11,
.katex .fontsize-ensurer.reset-size8.size11 {
  /* stylelint-disable-next-line */
  font-size: 1.7277777778em;
}
.katex .katex-sizing.reset-size9.size1,
.katex .fontsize-ensurer.reset-size9.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.2893518519em;
}
.katex .katex-sizing.reset-size9.size2,
.katex .fontsize-ensurer.reset-size9.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.3472222222em;
}
.katex .katex-sizing.reset-size9.size3,
.katex .fontsize-ensurer.reset-size9.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.4050925926em;
}
.katex .katex-sizing.reset-size9.size4,
.katex .fontsize-ensurer.reset-size9.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.462962963em;
}
.katex .katex-sizing.reset-size9.size5,
.katex .fontsize-ensurer.reset-size9.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.5208333333em;
}
.katex .katex-sizing.reset-size9.size6,
.katex .fontsize-ensurer.reset-size9.size6 {
  /* stylelint-disable-next-line */
  font-size: 0.5787037037em;
}
.katex .katex-sizing.reset-size9.size7,
.katex .fontsize-ensurer.reset-size9.size7 {
  /* stylelint-disable-next-line */
  font-size: 0.6944444444em;
}
.katex .katex-sizing.reset-size9.size8,
.katex .fontsize-ensurer.reset-size9.size8 {
  /* stylelint-disable-next-line */
  font-size: 0.8333333333em;
}
.katex .katex-sizing.reset-size9.size9,
.katex .fontsize-ensurer.reset-size9.size9 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size9.size10,
.katex .fontsize-ensurer.reset-size9.size10 {
  /* stylelint-disable-next-line */
  font-size: 1.2002314815em;
}
.katex .katex-sizing.reset-size9.size11,
.katex .fontsize-ensurer.reset-size9.size11 {
  /* stylelint-disable-next-line */
  font-size: 1.4398148148em;
}
.katex .katex-sizing.reset-size10.size1,
.katex .fontsize-ensurer.reset-size10.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.2410800386em;
}
.katex .katex-sizing.reset-size10.size2,
.katex .fontsize-ensurer.reset-size10.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.2892960463em;
}
.katex .katex-sizing.reset-size10.size3,
.katex .fontsize-ensurer.reset-size10.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.337512054em;
}
.katex .katex-sizing.reset-size10.size4,
.katex .fontsize-ensurer.reset-size10.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.3857280617em;
}
.katex .katex-sizing.reset-size10.size5,
.katex .fontsize-ensurer.reset-size10.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.4339440694em;
}
.katex .katex-sizing.reset-size10.size6,
.katex .fontsize-ensurer.reset-size10.size6 {
  /* stylelint-disable-next-line */
  font-size: 0.4821600771em;
}
.katex .katex-sizing.reset-size10.size7,
.katex .fontsize-ensurer.reset-size10.size7 {
  /* stylelint-disable-next-line */
  font-size: 0.5785920926em;
}
.katex .katex-sizing.reset-size10.size8,
.katex .fontsize-ensurer.reset-size10.size8 {
  /* stylelint-disable-next-line */
  font-size: 0.6943105111em;
}
.katex .katex-sizing.reset-size10.size9,
.katex .fontsize-ensurer.reset-size10.size9 {
  /* stylelint-disable-next-line */
  font-size: 0.8331726133em;
}
.katex .katex-sizing.reset-size10.size10,
.katex .fontsize-ensurer.reset-size10.size10 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .katex-sizing.reset-size10.size11,
.katex .fontsize-ensurer.reset-size10.size11 {
  /* stylelint-disable-next-line */
  font-size: 1.1996142719em;
}
.katex .katex-sizing.reset-size11.size1,
.katex .fontsize-ensurer.reset-size11.size1 {
  /* stylelint-disable-next-line */
  font-size: 0.2009646302em;
}
.katex .katex-sizing.reset-size11.size2,
.katex .fontsize-ensurer.reset-size11.size2 {
  /* stylelint-disable-next-line */
  font-size: 0.2411575563em;
}
.katex .katex-sizing.reset-size11.size3,
.katex .fontsize-ensurer.reset-size11.size3 {
  /* stylelint-disable-next-line */
  font-size: 0.2813504823em;
}
.katex .katex-sizing.reset-size11.size4,
.katex .fontsize-ensurer.reset-size11.size4 {
  /* stylelint-disable-next-line */
  font-size: 0.3215434084em;
}
.katex .katex-sizing.reset-size11.size5,
.katex .fontsize-ensurer.reset-size11.size5 {
  /* stylelint-disable-next-line */
  font-size: 0.3617363344em;
}
.katex .katex-sizing.reset-size11.size6,
.katex .fontsize-ensurer.reset-size11.size6 {
  /* stylelint-disable-next-line */
  font-size: 0.4019292605em;
}
.katex .katex-sizing.reset-size11.size7,
.katex .fontsize-ensurer.reset-size11.size7 {
  /* stylelint-disable-next-line */
  font-size: 0.4823151125em;
}
.katex .katex-sizing.reset-size11.size8,
.katex .fontsize-ensurer.reset-size11.size8 {
  /* stylelint-disable-next-line */
  font-size: 0.578778135em;
}
.katex .katex-sizing.reset-size11.size9,
.katex .fontsize-ensurer.reset-size11.size9 {
  /* stylelint-disable-next-line */
  font-size: 0.6945337621em;
}
.katex .katex-sizing.reset-size11.size10,
.katex .fontsize-ensurer.reset-size11.size10 {
  /* stylelint-disable-next-line */
  font-size: 0.8336012862em;
}
.katex .katex-sizing.reset-size11.size11,
.katex .fontsize-ensurer.reset-size11.size11 {
  /* stylelint-disable-next-line */
  font-size: 1em;
}
.katex .delimsizing.size1 {
  font-family: KaTeX_Size1;
}
.katex .delimsizing.size2 {
  font-family: KaTeX_Size2;
}
.katex .delimsizing.size3 {
  font-family: KaTeX_Size3;
}
.katex .delimsizing.size4 {
  font-family: KaTeX_Size4;
}
.katex .delimsizing.mult .delim-size1 > span {
  font-family: KaTeX_Size1;
}
.katex .delimsizing.mult .delim-size4 > span {
  font-family: KaTeX_Size4;
}
.katex .nulldelimiter {
  display: inline-block;
  width: 0.12em;
}
.katex .delimcenter {
  position: relative;
}
.katex .op-symbol {
  position: relative;
}
.katex .op-symbol.small-op {
  font-family: KaTeX_Size1;
}
.katex .op-symbol.large-op {
  font-family: KaTeX_Size2;
}
.katex .op-limits > .vlist-t {
  text-align: center;
}
.katex .katex-accent > .vlist-t {
  text-align: center;
}
.katex .katex-accent .accent-body {
  position: relative;
}
.katex .katex-accent .accent-body:not(.accent-full) {
  width: 0;
}
.katex .katex-overlay {
  display: block;
}
.katex .mtable .vertical-separator {
  display: inline-block;
  min-width: 1px;
}
.katex .mtable .arraycolsep {
  display: inline-block;
}
.katex .mtable .col-align-c > .vlist-t {
  text-align: center;
}
.katex .mtable .col-align-l > .vlist-t {
  text-align: left;
}
.katex .mtable .col-align-r > .vlist-t {
  text-align: right;
}
.katex .svg-align {
  text-align: left;
}
.katex svg {
  display: block;
  position: absolute;
  width: 100%;
  height: inherit;
  fill: currentColor;
  stroke: currentColor;
}
.katex svg path {
  stroke: none;
}
.katex svg {
  fill-rule: nonzero;
  fill-opacity: 1;
  stroke-width: 1;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  stroke-opacity: 1;
}
.katex img {
  border-style: none;
  min-width: 0;
  min-height: 0;
  max-width: none;
  max-height: none;
}
.katex .katex-stretchy {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}
.katex .katex-stretchy::before, .katex .katex-stretchy::after {
  content: "";
}
.katex .hide-tail {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.katex .halfarrow-left {
  position: absolute;
  left: 0;
  width: 50.2%;
  overflow: hidden;
}
.katex .halfarrow-right {
  position: absolute;
  right: 0;
  width: 50.2%;
  overflow: hidden;
}
.katex .brace-left {
  position: absolute;
  left: 0;
  width: 25.1%;
  overflow: hidden;
}
.katex .brace-center {
  position: absolute;
  left: 25%;
  width: 50%;
  overflow: hidden;
}
.katex .brace-right {
  position: absolute;
  right: 0;
  width: 25.1%;
  overflow: hidden;
}
.katex .x-arrow-pad {
  padding: 0 0.5em;
}
.katex .cd-arrow-pad {
  padding: 0 0.55556em 0 0.27778em;
}
.katex .x-arrow,
.katex .mover,
.katex .munder {
  text-align: center;
}
.katex .boxpad {
  padding: 0 0.3em;
}
.katex .fbox,
.katex .fcolorbox {
  box-sizing: border-box;
  border: 0.04em solid;
}
.katex .cancel-pad {
  padding: 0 0.2em;
}
.katex .cancel-lap {
  margin-left: -0.2em;
  margin-right: -0.2em;
}
.katex .katex-sout {
  border-bottom-style: solid;
  border-bottom-width: 0.08em;
}
.katex .angl {
  box-sizing: border-box;
  border-top: 0.049em solid;
  border-right: 0.049em solid;
  margin-right: 0.03889em;
}
.katex .anglpad {
  padding: 0 0.03889em;
}
.katex .reflectbox {
  display: inline-block;
  transform: scaleX(-1);
}
.katex .eqn-num::before {
  counter-increment: katexEqnNo;
  content: "(" counter(katexEqnNo) ")";
}
.katex .mml-eqn-num::before {
  counter-increment: mmlEqnNo;
  content: "(" counter(mmlEqnNo) ")";
}
.katex .mtr-glue {
  width: 50%;
}
.katex .cd-vert-arrow {
  display: inline-block;
  position: relative;
}
.katex .cd-label-left {
  display: inline-block;
  position: absolute;
  right: calc(50% + 0.3em);
  text-align: left;
}
.katex .cd-label-right {
  display: inline-block;
  position: absolute;
  left: calc(50% + 0.3em);
  text-align: right;
}

.katex-display {
  display: block;
  margin: 1em 0;
  text-align: center;
}
.katex-display > .katex {
  display: block;
  text-align: center;
  white-space: nowrap;
}
.katex-display > .katex > .katex-html {
  display: block;
  position: relative;
}
.katex-display > .katex > .katex-html > .katex-tag {
  position: absolute;
  right: 0;
}

.katex-display.leqno > .katex > .katex-html > .katex-tag {
  left: 0;
  right: auto;
}

.katex-display.fleqn > .katex {
  text-align: left;
  padding-left: 2em;
}

body {
  counter-reset: katexEqnNo mmlEqnNo;
}

/* ui/base.css */

:root{--bg:#07111f;--nav:#081727;--panel:#0d2035;--panel2:#102a45;--line:#24577e;--text:#f4f9ff;--muted:#9bb3c8;--cyan:#2ed8ff;--green:#28d17c;--blue:#278cff;--gold:#ffbd45;--purple:#8b5cf6;--red:#ff6b6b;--paper:#fff;--ink:#172033}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#06101d,#07182a 55%,#06101d);color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}
button{font:inherit;cursor:pointer}.top{position:sticky;top:0;z-index:20;background:rgba(5,14,25,.96);border-bottom:1px solid #1c4262;backdrop-filter:blur(8px)}
.topin{max-width:1500px;margin:auto;padding:10px 18px;display:flex;align-items:center;gap:14px}.logo{font-size:28px;font-weight:900;font-style:italic}.logo b{color:var(--cyan)}.sub{font-size:12px;color:var(--muted)}
.chips{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}.chip{padding:7px 10px;border:1px solid #2e648e;background:#0b2947;border-radius:999px;font-size:12px;font-weight:800}.chip.ok{background:#0d3c2b;border-color:#229b65;color:#dcffec}
.wrap{max-width:1500px;margin:auto;padding:16px}.hero{background:linear-gradient(135deg,#0f3152,#0d2036);border:1px solid #2b608d;border-radius:18px;padding:17px 18px;display:grid;grid-template-columns:1fr auto;gap:12px}
.hero h1{margin:0 0 6px;font-size:24px}.hero p{margin:0;color:var(--muted);line-height:1.5}.legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.legend span{padding:7px 10px;border-radius:10px;font-weight:800;font-size:12px;border:1px solid #2b628d;background:#0b2947}.legend .v{background:#0d3c2b;border-color:#209d66;color:#d8ffea}.legend .t{background:#2f2150;border-color:#6f52aa;color:#eadfff}
.grid{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:14px;margin-top:14px}.card{background:var(--panel);border:1px solid #1f4b70;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.2)}.head{padding:13px 15px;background:linear-gradient(90deg,#11304f,#0d2035);border-bottom:1px solid #1f4b70;display:flex;align-items:center;justify-content:space-between;gap:8px}.head h2{font-size:17px;margin:0}.small{font-size:12px;color:var(--muted)}.body{padding:14px}
.paper{background:#fff;color:#111827;border-radius:12px;padding:16px}.qtext{font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.56}.qtext p{margin:9px 0}.orline{display:flex;align-items:center;gap:10px;margin:14px 0;font-family:Inter,Arial;font-weight:900;color:#962f39}.orline:before,.orline:after{content:"";height:1px;background:#ddb8bd;flex:1}.marks{float:right;background:#edf6ff;border:1px solid #bdd8ee;color:#164f79;border-radius:999px;padding:5px 9px;font:800 12px Inter}
.btnrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn{border:1px solid #33709d;background:#0c3153;color:#fff;border-radius:10px;padding:9px 12px;font-weight:800}.btn.primary{background:linear-gradient(135deg,#1577e8,#21b6ff);border-color:#5ac9ff}.btn.green{background:#116c49;border-color:#2cd88b}.btn.purple{background:#52318d;border-color:#9374e0}.btn.red{background:#6b2430;border-color:#c85467}
.source{display:none;margin-top:12px;background:#071a2d;border:1px solid #285980;border-radius:12px;padding:10px}.source.show{display:block}.source img{display:block;width:100%;background:white;border-radius:8px;margin:8px 0}.note{font-size:12px;color:#a1b8cb;line-height:1.5}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.tab{border:1px solid #3479ad;background:#0d3154;color:#eaf7ff;border-radius:9px;padding:9px 12px;font-weight:800;transition:.15s}.tab:hover{background:#12436f}.tab.active,.tab.oractive{background:#157ad7;border-color:#62c9ff;color:white;box-shadow:0 0 0 1px rgba(98,201,255,.16) inset}
.pane{display:none}.pane.active{display:block}.sectionlabel{display:flex;align-items:center;gap:8px;margin:14px 0 8px;font-weight:900;color:#bdeeff}.sectionlabel .dot{width:10px;height:10px;border-radius:50%;background:var(--cyan)}.sectionlabel.verbatim .dot{background:var(--green)}.sectionlabel.teach .dot{background:var(--purple)}
.verbatimbox{background:#f8fbff;color:#182334;border:2px solid #39a56f;border-radius:12px;padding:14px;font-family:Georgia,"Times New Roman",serif;line-height:1.55}.verbatimbox h3{font-family:Inter,Arial;margin:0 0 8px;color:#0e6a43;font-size:16px}.verbatimbox p{margin:8px 0}.verbatimbox .formula{font-family:"Cambria Math","Times New Roman",serif;font-size:19px;text-align:center;background:#edf7f2;border:1px solid #bddfcd;border-radius:8px;padding:8px 10px;margin:8px 0}
.markrow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;margin:8px 0}.markrow>div:first-child{min-width:0}.markbadge{align-self:start;white-space:nowrap;background:#e9f8f0;border:1px solid #9fd7b9;color:#087346;border-radius:999px;padding:4px 9px;font-family:Inter,Arial,sans-serif;font-size:12px;font-weight:900;line-height:1.2}.markbadge.blue{background:#eaf5ff;border-color:#acd3f2;color:#145e91}.verbatimbox .markrow .formula{grid-column:1 / -1}.submark{display:inline-flex;margin-left:7px;vertical-align:middle;background:#e9f8f0;border:1px solid #9fd7b9;color:#087346;border-radius:999px;padding:2px 7px;font-family:Inter,Arial,sans-serif;font-size:11px;font-weight:900}
.teachbox{background:#161333;border:1px solid #6c4ca4;border-radius:12px;padding:12px}.step{background:#0a2037;border-left:4px solid var(--cyan);border-radius:9px;padding:11px 12px;margin:10px 0}.step h4{margin:0 0 6px;color:#8cecff;font-size:14px}.step p,.step li{line-height:1.55;color:#e4eef7}.formulaD{font-family:"Cambria Math","Times New Roman",serif;font-size:19px;background:#061523;border:1px solid #244c69;border-radius:9px;padding:9px 12px;text-align:center;margin:8px 0}.final{background:#0d382a;border:1px solid #2a9865;color:#d9ffea;border-radius:10px;padding:10px 12px;font-weight:900}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mini{background:#0b2036;border:1px solid #2a5575;border-radius:10px;padding:10px}.mini b{color:#bdeeff}
.visualcard{margin-top:14px}.visualgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.stage{background:#061625;border:1px solid #285273;border-radius:13px;padding:10px;min-height:380px;display:flex;align-items:center;justify-content:center;overflow:hidden}.stage svg{width:100%;height:auto;max-height:520px}.scenes{display:flex;flex-direction:column;gap:9px}.scene{border:1px solid #2b5a7d;background:#0a2137;border-radius:10px;padding:10px}.scene.active{border-color:#2dd68a;background:#0c3428}.scene b{display:block;color:#c9f3ff;margin-bottom:4px}.scene > span{font-size:13px;color:#bdd0df;line-height:1.45}.range{width:100%;accent-color:#27b7ff}
.msgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.msgrid img{width:100%;border:1px solid #d9e1e8;background:white;border-radius:8px}
.footer{text-align:center;color:#89a5b9;font-size:12px;padding:18px 0 36px}
@media(max-width:1050px){.grid,.visualgrid{grid-template-columns:1fr}.msgrid{grid-template-columns:1fr}}@media(max-width:650px){.hero{grid-template-columns:1fr}.legend{justify-content:flex-start}.qtext{font-size:15px}}

/* ui/compatibility/font-control-v5.css */

:root{--qscale:1;--ascale:1}
#questionPanel .qtext{font-size:calc(17px * var(--qscale))}
#answerPanel .verbatimbox{font-size:calc(16px * var(--ascale))}
#answerPanel .verbatimbox .formula{font-size:calc(19px * var(--ascale))}
#answerPanel .teachbox{font-size:calc(16px * var(--ascale))}
#answerPanel .teachbox .formulaD{font-size:calc(19px * var(--ascale))}
.fontctl{display:flex;align-items:center;gap:5px;margin-left:auto}
.fontctl button{min-width:35px;height:34px;border:1px solid #3975a2;background:#0b3153;color:#fff;border-radius:8px;font-weight:900;cursor:pointer}
.fontctl button:hover{background:#14507e}
.fontctl .adec{font-size:13px}
.fontctl .areset{font-size:16px}
.fontctl .ainc{font-size:21px}
.fontctl .flabel{font-size:11px;color:#a9bfd1;margin-right:2px;white-space:nowrap}
@media(max-width:650px){.fontctl .flabel{display:none}}

/* ui/compatibility/full-app-v6.css */

:root{
  --appnav:#08213b;--appnav2:#0a2c4e;--cyan2:#31d7ff;--green2:#19c875;--gold2:#ffc847;
  --danger2:#ef5f67;--soft:#eaf5ff;--soft2:#f5f9fd;
}
body{padding-bottom:0}
.appbar{
  position:sticky;top:0;z-index:120;background:linear-gradient(180deg,#06192e,#08213b);
  border-bottom:1px solid #1f5f8e;box-shadow:0 4px 18px rgba(0,0,0,.28)
}
.appbar-inner{max-width:1540px;margin:auto;padding:8px 14px;display:flex;align-items:center;gap:12px}
.app-brand{font-size:27px;font-weight:950;font-style:italic;white-space:nowrap}
.app-brand span{color:var(--cyan2)}
.app-micro{font-size:11px;color:#a9c6db;margin-top:1px}
.appnav{display:flex;gap:5px;align-items:center;flex:1;justify-content:center;flex-wrap:wrap}
.appnav button{
  border:1px solid transparent;background:transparent;color:#e8f5ff;border-radius:9px;padding:8px 10px;font-weight:800;font-size:12px;
  display:flex;gap:6px;align-items:center
}
.appnav button.active{background:#116fbe;border-color:#36bfff}
.appnav button:hover{background:#0d3f69}
.searchbox{margin-left:auto;min-width:245px;max-width:340px;flex:0 1 340px;display:flex;align-items:center;gap:7px;background:#0b2947;border:1px solid #2a648f;border-radius:10px;padding:7px 10px}
.searchbox input{width:100%;background:transparent;border:0;outline:0;color:white;font-size:12px}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#8b5cf6,#24b5ff);font-weight:900;border:2px solid #7ddcff}
.filterbar{
  position:sticky;top:58px;z-index:115;background:#08233e;border-bottom:1px solid #1d527a;
  box-shadow:0 4px 12px rgba(0,0,0,.18)
}
.filterinner{max-width:1540px;margin:auto;padding:7px 14px;display:grid;grid-template-columns:90px 190px 130px 170px 150px 140px 1fr auto;gap:7px;align-items:center}
.filterinner select,.filterinner input{
  width:100%;background:#0c3153;color:#eef8ff;border:1px solid #3272a1;border-radius:9px;padding:8px 10px;font-weight:700;font-size:12px;outline:none
}
.qcounter{font-weight:900;color:#eaf8ff;white-space:nowrap}
.arrowbtn{border:1px solid #3175a5;background:#0d3153;color:white;border-radius:9px;width:34px;height:34px;font-weight:900}
.main-app{max-width:1540px;margin:auto;padding:10px 12px 14px;height:calc(100vh - 122px);min-height:560px;overflow:hidden}
.studygrid{
  display:grid;
  grid-template-columns:minmax(300px,var(--leftPane,46%)) 10px minmax(300px,1fr);
  gap:0;
  height:100%;
  min-height:0
}
.studycard{
  background:#0b1f34;border:1px solid #1d557e;border-radius:14px;overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.18);height:100%;min-height:0;display:flex;flex-direction:column
}
.studyhead{background:linear-gradient(90deg,#0e3151,#0a243e);border-bottom:1px solid #1f577f;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.metaleft{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.verified{background:#0e7f4e;border:1px solid #35d88c;color:white;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900}
.meta{font-size:12px;font-weight:800;color:#e2f4ff}
.topactions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.smallbtn{border:1px solid #3a76a2;background:#0b3153;color:white;border-radius:8px;padding:7px 9px;font-weight:800;font-size:12px}
.smallbtn.on{background:#155f9a}
.smallbtn.bookmarked{background:#6d5000;border-color:#d4a700;color:#fff4b3}
.studybody{padding:0;flex:1;min-height:0;overflow:auto}
.question-surface{background:#fff;color:#111827;min-height:100%;padding:20px 22px;position:relative}
.question-surface .qtext{font-family:Georgia,"Times New Roman",serif;font-size:calc(17px * var(--qscale));line-height:1.58}
.qtoolbar{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.qtoolbar .fontctl{margin-left:0}
.qtags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.qtag{font:800 11px Inter,Arial;background:#e8f4ff;border:1px solid #bddbf3;color:#164e7a;border-radius:999px;padding:5px 8px}
.qtag.easy{background:#eafaf2;border-color:#b5e7cf;color:#197048}
.quick-tip{margin-top:14px;background:#eef7ff;border:1px solid #bfdcf3;border-radius:10px;padding:10px 12px;color:#17476b;display:flex;gap:9px;align-items:flex-start}
.source-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #dce8f1}
.source-actions button{background:#edf6ff;border:1px solid #bddbf3;color:#14557f;border-radius:9px;padding:9px 11px;font-weight:850}

.answer-headline{background:linear-gradient(90deg,#0a8452,#0d7451);padding:8px 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.answer-headline .answerstatus{background:#eafff3;color:#0b6a42;border:1px solid #9de0bc;border-radius:10px;padding:7px 10px;font-weight:950}
.answer-headline .tagdark{background:#0b3f35;color:#dcfff0;border:1px solid #267d61;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}
.answerlayout{display:grid;grid-template-columns:174px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.answer-nav{background:#eaf5ff;color:#143a59;border-right:1px solid #b9d8ee;padding:10px}
.answer-nav button{width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:9px 7px;margin:2px 0;color:#17496f;font-weight:800;font-size:12px;display:flex;gap:8px;align-items:center}
.answer-nav button:hover,.answer-nav button.active{background:#d4ebfb;color:#0b5f9d}
.numcircle{width:24px;height:24px;border-radius:50%;background:#126ec0;color:white;display:inline-grid;place-items:center;font-weight:900;flex:0 0 auto}
.answer-main{background:#fff;color:#142033;padding:13px 14px;overflow:auto;height:100%;min-height:0}
.answer-main .tabs{margin-bottom:10px}
.answer-main .tab{background:#e7f3ff;color:#145a8b;border-color:#a9d0ec}
.answer-main .tab.active{background:#167bd6;color:white;border-color:#167bd6}
.answer-main .sectionlabel{color:#145a8b}
.answer-main .verbatimbox{background:#f8fbff}
.answer-main .teachbox{background:#f8f5ff;color:#1b1f34;border-color:#c6b3e9}
.answer-main .teachbox .step{background:#f8fbff;color:#172033;border-color:#2d98d8}
.answer-main .teachbox .step p,.answer-main .teachbox .step li{color:#23374d}
.answer-main .formulaD{background:#f5f9fd;color:#172033;border-color:#c7dbe9}
.answer-main .final{background:#eafaf2;color:#0f6f44;border-color:#a9dfc2}
.answer-main .teacherbox{background:#fbf7ff;color:#43315f;border-color:#d5c0ee}
.answer-main .markbadge{background:#eafaf2;color:#0f6f44}

.answer-tools{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.answer-tools button{border:1px solid #3d7398;background:#0d3153;color:white;border-radius:9px;padding:7px 9px;font-size:12px;font-weight:800}
.feature-strip{max-width:1540px;margin:0 auto 18px;background:white;color:#17324a;border:1px solid #c9dfed;border-radius:13px;padding:10px 12px}
.feature-strip h3{margin:0 0 8px;color:#135a8d;font-size:14px}
.feature-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:7px}
.fbox{border:1px solid #cfe2ef;background:#f8fbfd;border-radius:9px;padding:8px;text-align:center;min-height:82px}
.ficon{font-size:22px}.fbox b{display:block;font-size:11px;color:#134f79;margin-top:4px}.fbox span{display:block;font-size:9px;color:#64839a;line-height:1.2;margin-top:3px}
.app-goal{max-width:1540px;margin:0 auto 24px;background:#0d5aa0;border-radius:10px;padding:9px 12px;color:white;font-weight:850;font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.modalback{position:fixed;inset:0;background:rgba(0,0,0,.62);display:none;align-items:center;justify-content:center;z-index:500;padding:20px}
.modalback.show{display:flex}.modal{max-width:960px;width:100%;max-height:90vh;overflow:auto;background:#0b1f34;border:1px solid #2a6795;border-radius:14px;padding:14px}
.modal img{width:100%;background:white;border-radius:8px;margin:8px 0}.modalhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.modalhead h3{margin:0}.xbtn{border:1px solid #49789a;background:#17354d;color:white;border-radius:8px;padding:7px 10px;font-weight:900}
.related-card{background:#fff7fb;border:1px solid #efc7df;border-radius:10px;padding:10px;margin-top:10px}
.related-card b{color:#913d6c}.related-card ul{margin:6px 0 0 18px;padding:0}
.keyterms{background:#f8fbff;border:1px solid #c8deed;border-radius:10px;padding:10px;margin-top:10px}
.keyterms b{color:#145a8b}.termchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.termchips span{background:#eaf5ff;border:1px solid #bddcf2;color:#155b8c;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800}
.reportbox{display:none;margin-top:10px;background:#fff9ed;border:1px solid #e7ca8a;color:#654a16;border-radius:10px;padding:10px}.reportbox.show{display:block}
@media(max-width:1100px){.filterinner{grid-template-columns:repeat(3,1fr)}.studygrid{grid-template-columns:1fr}.answerlayout{grid-template-columns:150px minmax(0,1fr)}.feature-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:680px){.appnav{display:none}.searchbox{display:none}.filterinner{grid-template-columns:1fr 1fr}.answerlayout{grid-template-columns:1fr}.answer-nav{display:flex;overflow:auto;border-right:0;border-bottom:1px solid #b9d8ee}.answer-nav button{min-width:150px}.feature-grid{grid-template-columns:repeat(2,1fr)}}

/* ui/compatibility/ms-diagram-fidelity-v7.css */

.ms-figure-block{margin:10px 0 14px;border:2px solid #27a267;background:#f8fffb;border-radius:12px;padding:10px}
.ms-figure-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px;font-family:Inter,Arial,sans-serif}
.ms-figure-head b{color:#087346}.ms-figure-head span{font-size:11px;font-weight:900;color:#087346;background:#e8f8ef;border:1px solid #9fd7b9;border-radius:999px;padding:4px 8px}
.ms-figure-img{display:block;width:100%;max-width:640px;margin:8px auto;background:#fff;border:1px solid #d7e7de;border-radius:8px}
.ms-alt-label{font-family:Inter,Arial,sans-serif;font-weight:900;color:#6d4d00;background:#fff6d9;border:1px solid #e3c56a;border-radius:8px;padding:6px 9px;display:inline-block;margin:4px 0}
.fidelity-callout{background:#edfdf5;border:1px solid #9eddbb;color:#145d3f;border-radius:10px;padding:9px 11px;margin:9px 0;font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.45}
.concept-visual-label{display:inline-block;background:#f0eaff;border:1px solid #c7b3ef;color:#5d3b8d;border-radius:999px;padding:4px 8px;font:900 11px Inter,Arial,sans-serif;margin:6px 0}

/* ui/compatibility/layout-v9-final.css */

html,body{height:100%;overflow:hidden}

/* Top header: always one line */
.appbar{position:fixed!important;top:0;left:0;right:0;height:58px;z-index:200}
.appbar-inner{
  height:58px;max-width:none!important;padding:6px 12px!important;
  flex-wrap:nowrap!important;overflow:hidden
}
.app-brand{font-size:25px!important}
.app-micro{font-size:10px!important;white-space:nowrap}
.appnav{
  flex-wrap:nowrap!important;white-space:nowrap;overflow:hidden!important;
  justify-content:center!important;min-width:0
}
.appnav button{
  flex:0 0 auto;padding:6px 8px!important;font-size:11px!important;gap:4px!important
}
.searchbox{min-width:180px!important;max-width:260px!important;flex:0 1 260px!important}
.avatar{flex:0 0 36px;width:36px!important;height:36px!important}

/* Filters remain attached to header while Q/A scroll independently */
.filterbar{
  position:fixed!important;top:58px!important;left:0;right:0;height:48px;
  z-index:190!important
}
.filterinner{
  height:48px;max-width:none!important;padding:6px 12px!important;
  grid-template-columns:86px 175px 120px 155px 135px 125px minmax(150px,1fr) auto!important;
  gap:6px!important
}
.filterinner select,.filterinner input{padding:7px 9px!important;font-size:11px!important}

/* Middle work area consumes the viewport between fixed top + fixed bottom */
.main-app{
  position:fixed!important;
  top:106px;left:0;right:0;bottom:142px;
  max-width:none!important;height:auto!important;min-height:0!important;
  padding:8px 10px!important;overflow:hidden!important
}
.studygrid{height:100%!important;min-height:0!important}
.studycard{height:100%!important;min-height:0!important}

/* Only the palettes move */
.studybody{overflow:auto!important;overscroll-behavior:contain}
.answer-main{overflow:auto!important;overscroll-behavior:contain}
.answer-nav{overflow:auto}

/* Visual lesson belongs inside the Answer palette, not below the app */
.inline-visual-wrap{margin-top:14px}
.inline-visual-wrap .card{box-shadow:none}

/* Bottom feature strip + goal are fixed and always in this order */
.feature-strip{
  position:fixed;left:8px;right:8px;bottom:43px;z-index:180;
  max-width:none!important;margin:0!important;padding:6px 8px!important;
  border-radius:10px!important
}
.feature-strip h3{margin:0 0 4px!important;font-size:12px!important}
.feature-grid{
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:5px!important
}
.fbox{
  min-height:67px!important;padding:5px!important;
  display:flex;flex-direction:column;align-items:center;justify-content:center
}
.ficon{font-size:18px!important;line-height:1}
.fbox b{font-size:9px!important;margin-top:3px!important;white-space:nowrap}
.fbox span{font-size:8px!important;line-height:1.1!important;margin-top:2px!important}

.app-goal{
  position:fixed;left:8px;right:8px;bottom:6px;z-index:181;
  max-width:none!important;margin:0!important;min-height:31px;
  border-radius:9px!important;padding:7px 10px!important;font-size:11px!important;
  align-items:center
}

/* Remove any old free-floating visual block below the app */
body > #visualAnchor{display:none!important}

/* Keep divider visible through full palette height */
.split-divider{height:100%!important}

@media(max-width:1200px){
  .searchbox{display:none!important}
  .appnav button{padding:6px 6px!important;font-size:10px!important}
  .filterinner{grid-template-columns:80px 160px 110px 145px 125px 115px minmax(120px,1fr) auto!important}
}
@media(max-width:900px){
  html,body{overflow:auto}
  .appbar,.filterbar,.feature-strip,.app-goal,.main-app{position:static!important;height:auto!important}
  .main-app{padding:8px!important}
  .studygrid{grid-template-columns:1fr!important}
  .feature-grid{grid-template-columns:repeat(4,1fr)!important}
  .appnav{overflow:auto!important}
  .filterinner{grid-template-columns:repeat(2,1fr)!important;height:auto!important}
}

/* ui/compatibility/compact-icon-ui-v10.css */

/* Maximise learning canvas: compact chrome, icon-first controls */
.appbar{height:46px!important}
.appbar-inner{height:46px!important;padding:3px 8px!important;gap:6px!important}
.app-brand{font-size:21px!important}.app-micro{display:none!important}
.appnav{gap:2px!important}
.appnav button{
  width:34px;height:34px;padding:0!important;justify-content:center!important;
  font-size:0!important;border-radius:8px!important
}
.appnav button::first-letter{font-size:17px}
.searchbox{height:32px;padding:4px 7px!important;min-width:150px!important;max-width:220px!important}
.avatar{width:32px!important;height:32px!important;flex-basis:32px!important}

.filterbar{top:46px!important;height:38px!important}
.filterinner{
  height:38px!important;padding:3px 8px!important;
  grid-template-columns:72px 150px 100px 140px 112px 105px minmax(100px,1fr) auto!important
}
.filterinner select,.filterinner input{padding:5px 7px!important;font-size:10px!important;height:30px}
.arrowbtn{width:28px!important;height:28px!important}.qcounter{font-size:10px!important}

.main-app{top:84px!important;bottom:105px!important;padding:5px 7px!important}
.studyhead{padding:4px 6px!important;min-height:36px!important}
.verified{
  width:27px;height:27px;padding:0!important;display:inline-grid;place-items:center;
  font-size:0!important;border-radius:8px!important
}
.verified::after{content:"✓";font-size:16px;font-weight:950}
.meta{font-size:10px!important}
.topactions,.answer-tools{gap:3px!important}
.studyhead{align-items:center!important;box-sizing:border-box}
.topactions .head-source,.topactions .head-report{font-size:0!important;width:31px!important;padding:0!important;white-space:nowrap}
.topactions .head-source::after{content:"📕";font-size:14px}
.topactions .head-report::after{content:"🚩";font-size:14px}
#questionPanel .question-surface>.source-actions{display:none!important}
#questionPanel .studyhead,#answerPanel .studyhead{height:42px!important;min-height:42px!important;overflow:hidden}
#visualAnchor .v24-pane-head,#visualAnchor .v31-panehead{height:44px!important;min-height:44px!important;box-sizing:border-box;align-items:center!important;border-top:1px solid var(--line,#315b7e)!important}
#visualAnchor .v54-iconbar{height:44px!important;min-height:44px!important;box-sizing:border-box;align-items:center!important}
#visualAnchor .v54-iconbar{border-top:1px solid var(--line,#315b7e)!important}
.smallbtn,.answer-tools button,.source-actions button{
  width:31px!important;height:29px!important;padding:0!important;
  display:inline-grid!important;place-items:center!important;font-size:0!important;border-radius:7px!important
}
#bookmarkBtn::after{content:"🔖";font-size:14px}
#qAudioBtn::after{content:"🔊";font-size:13px;line-height:1}
#questionPanel .head-source::after{content:"📕";font-size:14px;line-height:1}
#questionPanel .head-report::after{content:"🚩";font-size:14px;line-height:1}
#questionPanel .topactions button{color:var(--ink,#e8f5ff)!important;visibility:visible!important;opacity:1!important}
.topactions .smallbtn:nth-of-type(2)::after{content:"🔊";font-size:13px}
.answer-tools button:nth-of-type(1)::after{content:"🔊";font-size:13px}
.answer-tools button:nth-of-type(2)::after{content:"■";font-size:12px}

.fontctl{gap:2px!important}
.fontctl .flabel{display:none!important}
.fontctl button{min-width:28px!important;width:28px!important;height:29px!important;padding:0!important;border-radius:7px!important}
.fontctl .adec{font-size:10px!important}.fontctl .areset{font-size:13px!important}.fontctl .ainc{font-size:16px!important}

.question-surface{padding:10px 12px!important}
.qtags{gap:4px!important;margin-bottom:7px!important}
.qtag{font-size:9px!important;padding:3px 6px!important}
.quick-tip{padding:6px 8px!important;margin-top:8px!important;font-size:10px!important}
.source-actions{gap:4px!important;margin-top:8px!important;padding-top:7px!important}
.source-actions button:nth-child(1)::after{content:"📕";font-size:14px}
.source-actions button:nth-child(2)::after{content:"📘";font-size:14px}
.source-actions button:nth-child(3)::after{content:"🚩";font-size:14px}

.answerlayout{grid-template-columns:42px minmax(0,1fr)!important}
.answer-nav{padding:4px!important}
.answer-nav button{
  min-width:0!important;width:34px!important;height:34px!important;padding:0!important;margin:2px 0!important;
  justify-content:center!important;font-size:0!important
}
.answer-nav .numcircle{width:25px!important;height:25px!important;font-size:11px!important}
.answer-main{padding:7px 8px!important}
.answer-main .tabs{margin-bottom:6px!important}
.answer-main .tab{padding:6px 9px!important;font-size:11px!important}

.split-divider{width:7px!important}
.split-divider:before{height:42px!important;width:3px!important}
.split-divider:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3px;height:68px;border-radius:3px;background:repeating-linear-gradient(to bottom,rgba(225,246,255,.95) 0 5px,transparent 5px 10px)}
.split-hint{display:none!important}

/* Compact feature footer */
.feature-strip{bottom:31px!important;padding:3px 5px!important}
.feature-strip h3{display:none!important}
.feature-grid{gap:3px!important}
.fbox{min-height:45px!important;padding:2px!important}
.ficon{font-size:15px!important}
.fbox b{font-size:7.5px!important;margin-top:1px!important}
.fbox span{display:none!important}
.app-goal{bottom:3px!important;min-height:25px!important;padding:4px 8px!important;font-size:9px!important}

/* Tiny icon tooltip labels on hover */
.smallbtn,.answer-tools button,.source-actions button,.appnav button{position:relative}
.smallbtn:hover::before,.answer-tools button:hover::before,.source-actions button:hover::before,.appnav button:hover::before{
  position:absolute;top:calc(100% + 5px);left:50%;transform:translateX(-50%);
  background:#06192e;color:white;border:1px solid #3c759e;border-radius:6px;
  padding:4px 6px;font:700 9px Inter,Arial;white-space:nowrap;z-index:400;pointer-events:none
}
#bookmarkBtn:hover::before{content:"Bookmark"}
.topactions .smallbtn:nth-of-type(2):hover::before{content:"Speak question"}
.source-actions button:nth-child(1):hover::before{content:"Official question"}
.source-actions button:nth-child(2):hover::before{content:"Marking scheme"}
.source-actions button:nth-child(3):hover::before{content:"Report issue"}
.answer-tools button:nth-of-type(1):hover::before{content:"Audio"}
.answer-tools button:nth-of-type(2):hover::before{content:"Stop"}

@media(max-width:1100px){
  .filterinner{grid-template-columns:65px 130px 90px 120px 100px 95px minmax(80px,1fr) auto!important}
}

/* ui/compatibility/compact-ui-v11-fixes.css */

/* Top menu: icons must remain visible */
.appnav button{
  width:34px!important;height:34px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  font-size:17px!important;line-height:1!important;color:#eef8ff!important
}
.appnav button::first-letter{font-size:inherit!important}
.appnav button.active{background:#1175bd!important;border-color:#45c5ff!important}

/* Keep ONE global search only */
.searchbox{display:flex!important}
.filterinner{
  grid-template-columns:72px 150px 100px 150px 120px 110px auto!important;
}
.filterinner > :last-child{justify-self:end}

/* Answer controls exactly the same visual scale as Question controls */
#answerPanel .fontctl button,
#questionPanel .fontctl button{
  min-width:28px!important;width:28px!important;height:29px!important;
  padding:0!important;border-radius:7px!important
}
#answerPanel .fontctl .adec,#questionPanel .fontctl .adec{font-size:10px!important}
#answerPanel .fontctl .areset,#questionPanel .fontctl .areset{font-size:13px!important}
#answerPanel .fontctl .ainc,#questionPanel .fontctl .ainc{font-size:16px!important}
#answerPanel .answer-tools{display:flex;align-items:center;gap:3px!important;flex-wrap:nowrap}

/* Answer left rail uses semantic icons, not 1-6 */
.answerlayout{grid-template-columns:42px minmax(0,1fr)!important}
.answer-nav{padding:4px!important;display:flex;flex-direction:column;align-items:center}
.answer-nav button{
  width:34px!important;height:34px!important;min-width:34px!important;
  display:grid!important;place-items:center!important;padding:0!important;margin:2px 0!important;
  font-size:16px!important
}
.answer-nav .navicon{font-size:16px;line-height:1}
.answer-nav .numcircle{display:none!important}

/* Give more vertical area to Question + Answer palettes */
.main-app{bottom:86px!important}
.feature-strip{bottom:29px!important}
.app-goal{bottom:2px!important;min-height:24px!important}

/* Tighten panel chrome a little further */
.studyhead{min-height:34px!important;padding:3px 5px!important}
.question-surface{padding-top:8px!important}
.answer-main{padding-top:6px!important}

@media(max-width:1200px){
  .filterinner{grid-template-columns:65px 130px 90px 130px 108px 100px auto!important}
}

/* ui/compatibility/v12-fixes.css */

/* Search lives only with the filters */
.searchbox{display:none!important}
.filterinner{
  grid-template-columns:72px 150px 100px 150px 120px 110px minmax(150px,1fr) auto!important;
}
#filterSearch{height:30px!important;padding:5px 8px!important;font-size:10px!important}

/* Question and Answer font controls identical and readable */
#questionPanel .fontctl,#answerPanel .fontctl{display:flex!important;align-items:center!important;gap:3px!important}
#questionPanel .fontctl button,#answerPanel .fontctl button{
  width:31px!important;min-width:31px!important;height:30px!important;
  padding:0!important;border-radius:7px!important;font-weight:900!important;
  display:grid!important;place-items:center!important;color:#fff!important;background:#0b3153!important;border:1px solid #3d79a7!important
}
#questionPanel .fontctl .adec,#answerPanel .fontctl .adec{font-size:11px!important}
#questionPanel .fontctl .areset,#answerPanel .fontctl .areset{font-size:14px!important}
#questionPanel .fontctl .ainc,#answerPanel .fontctl .ainc{font-size:18px!important}

/* One audio toggle button only */
#qAudioBtn,#aAudioBtn{font-size:14px!important}
#qAudioBtn.playing,#aAudioBtn.playing{background:#8b2635!important;border-color:#e15b70!important}
#qAudioBtn.playing::after,#aAudioBtn.playing::after{content:"■";font-size:11px;margin-left:2px}

/* Make step-by-step and visual sections unmistakably visible */
.inline-section-title{
  margin:12px 0 8px;padding:8px 10px;border-radius:9px;
  background:#eaf5ff;border:1px solid #bddcf2;color:#145a8b;font-weight:900;font-size:13px
}
#teachingAnchor{scroll-margin-top:8px}
#visualAnchor{scroll-margin-top:8px}
.answer-main .sectionlabel.teach{
  display:flex!important;margin-top:14px!important;
  background:#f5f0ff;border:1px solid #d4c0f3;border-radius:8px;padding:7px 9px!important;color:#5b3b8c!important
}
.inline-visual-wrap{display:block!important}

/* Compact answer rail icons remain */
.answer-nav .navicon{font-size:16px!important}
@media(max-width:1200px){
  .filterinner{grid-template-columns:65px 130px 90px 130px 108px 100px minmax(120px,1fr) auto!important}
}

/* ui/compatibility/v14-clean-icons.css */

/* Explicit icons only: remove inherited pseudo-content that caused overlap */
.topactions .smallbtn::after,
.answer-tools button::after,
#qAudioBtn::after,
#aAudioBtn::after,
#qAudioBtn.playing::after,
#aAudioBtn.playing::after{
  content:none!important;
  display:none!important;
}
#qAudioBtn,#aAudioBtn{
  width:31px!important;height:29px!important;min-width:31px!important;
  padding:0!important;display:grid!important;place-items:center!important;
  font-size:14px!important;line-height:1!important
}
#questionPanel #bookmarkBtn::after{content:"🔖"!important;display:inline!important;font-size:14px!important}
#questionPanel #qAudioBtn::after{content:"🔊"!important;display:inline!important;font-size:13px!important}
#questionPanel .head-source::after{content:"📕"!important;display:inline!important;font-size:14px!important}
#questionPanel .head-report::after{content:"🚩"!important;display:inline!important;font-size:14px!important}
#qAudioBtn.playing,#aAudioBtn.playing{
  background:#8b2635!important;border-color:#e15b70!important
}
/* Keep both font groups aligned and non-overlapping */
#questionPanel .fontctl,#answerPanel .fontctl{
  display:flex!important;align-items:center!important;gap:3px!important;flex-wrap:nowrap!important
}
#questionPanel .fontctl button,#answerPanel .fontctl button{
  position:static!important;overflow:hidden!important;
  width:31px!important;min-width:31px!important;height:29px!important;
  display:grid!important;place-items:center!important;margin:0!important
}
.answer-tools{display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important}

/* ui/compatibility/v15-visual-panel-fix.css */

/* The central workspace itself can scroll to the illustration panel.
   Header + filter + footer remain fixed. */
.main-app{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scroll-behavior:smooth!important;
}
.studygrid{
  height:calc(100vh - 84px - 86px)!important;
  min-height:540px!important;
  margin-bottom:10px!important;
}
#visualAnchor{
  display:block!important;
  max-width:none!important;
  margin:0 0 12px 0!important;
  padding:0!important;
  scroll-margin-top:6px!important;
}
body > #visualAnchor{display:block!important}
#visualAnchor .visualcard{
  margin:0!important;
  border-radius:14px!important;
  border:1px solid #1f557e!important;
  overflow:hidden!important;
}
#visualAnchor .visualgrid{
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)!important;
}
#visualAnchor .stage{min-height:500px!important}

.back-to-study{
  display:flex;justify-content:flex-end;margin:0 0 5px 0;
  position:sticky;top:0;z-index:12;pointer-events:none
}
.back-to-study button{
  pointer-events:auto;border:1px solid #3b78a5;background:#0d3153;color:white;
  border-radius:8px;padding:5px 8px;font-size:10px;font-weight:900;cursor:pointer
}

/* Answer navigation rail icons are clickable links */
.answer-nav button{pointer-events:auto!important;cursor:pointer!important}
.answer-nav button:hover{background:#cce9fb!important}

/* Visual header button same compact size as other answer controls */
#answerPanel .answer-tools button{
  width:31px!important;min-width:31px!important;height:29px!important;
  padding:0!important;display:grid!important;place-items:center!important
}

@media(max-width:900px){
  .studygrid{height:auto!important;min-height:0!important}
  #visualAnchor .visualgrid{grid-template-columns:1fr!important}
}

/* ui/compatibility/v16-final-fixes.css */

/* Never let fixed footer obscure an answer target */
.answer-main{
  scroll-padding-top:8px!important;
  scroll-padding-bottom:118px!important;
  padding-bottom:125px!important;
}
#officialAnchorA,#officialAnchorB,#teachingAnchorA,#teachingAnchorB,#termsAnchor,#relatedAnchor{
  scroll-margin-top:8px!important;
  scroll-margin-bottom:118px!important;
}

/* Use the available viewport more efficiently */
.main-app{bottom:82px!important}
.studygrid{
  height:calc(100vh - 84px - 82px)!important;
  min-height:560px!important;
}

/* Visual panel after Q/A: full teaching panel, more polished */
#visualAnchor{
  padding-bottom:105px!important;
}
#visualAnchor .cardhead,#visualAnchor .head{
  min-height:42px!important;
}
#visualAnchor .stage{
  min-height:540px!important;
  background:
    radial-gradient(circle at 50% 45%,rgba(32,103,150,.22),transparent 48%),
    #061625!important;
}
#visualAnchor .scene{
  transition:.18s ease!important;
}
#visualAnchor .scene.active{
  box-shadow:0 0 0 1px rgba(45,214,138,.18) inset!important;
}
#visualAudioBtn{
  min-width:72px!important;
}
#visualAudioBtn.playing{
  background:#8b2635!important;
  border-color:#e15b70!important;
}

/* Question source action icons are enough; no duplicate text buttons */
#questionPanel .source-actions{
  margin-top:10px!important;
}

/* slightly more space for Q/A before fixed footer */
.feature-strip{bottom:27px!important}
.app-goal{bottom:2px!important}

/* ui/compatibility/v17-synced-teacher-lesson.css */

#teacherLessonBtn{min-width:118px!important;font-weight:900!important}
#teacherLessonBtn.playing{background:#8b2635!important;border-color:#e15b70!important}
.teacher-sync-strip{display:flex;align-items:center;gap:8px;margin:8px 0 0;padding:7px 9px;border:1px solid #2c5d7f;background:#0a2137;border-radius:9px}
.teacher-sync-strip .syncdot{width:9px;height:9px;border-radius:50%;background:#8aa4b7;flex:0 0 auto}
.teacher-sync-strip.playing .syncdot{background:#28d17c;box-shadow:0 0 0 4px rgba(40,209,124,.12)}
.teacher-sync-strip .synctext{font-size:11px;color:#c9dceb;font-weight:800;flex:1}
.teacher-progress{height:4px;background:#173a55;border-radius:999px;overflow:hidden;flex:0 0 120px}
.teacher-progress>span{display:block;height:100%;width:0%;background:#2ed8ff;transition:width .15s linear}

/* ui/compatibility/v18-fit-illustration-panel.css */

/* Illustration panel should fit as one teaching screen as far as practical */
#visualAnchor{
  padding-bottom:92px!important;
}
#visualAnchor .visualcard{
  height:calc(100vh - 84px - 86px)!important;
  min-height:520px!important;
  display:flex!important;
  flex-direction:column!important;
}
#visualAnchor .head{
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:5px 8px!important;
}
#visualAnchor .head h2{
  font-size:15px!important;
}
#visualAnchor .concept-visual-label{
  font-size:9px!important;
  padding:3px 6px!important;
}
#visualAnchor .body{
  flex:1!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:6px!important;
}
#visualAnchor .visualgrid{
  height:100%!important;
  min-height:0!important;
  grid-template-columns:minmax(0,1.28fr) minmax(235px,.72fr)!important;
  gap:7px!important;
}
#visualAnchor .stage{
  min-height:0!important;
  height:100%!important;
  padding:4px!important;
  overflow:hidden!important;
}
#visualAnchor .stage svg{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:contain!important;
}
#visualAnchor .scenes{
  min-height:0!important;
  overflow:auto!important;
  gap:5px!important;
}
#visualAnchor .scene{
  padding:6px 7px!important;
  border-radius:8px!important;
}
#visualAnchor .scene b{
  font-size:11px!important;
  margin-bottom:2px!important;
}
#visualAnchor .scene > span{
  font-size:10px!important;
  line-height:1.25!important;
}
#visualAnchor .range{
  margin-top:2px!important;
}
#teacherSyncStrip{
  padding:5px 7px!important;
  gap:6px!important;
  margin-top:4px!important;
}
#teacherSyncStrip .synctext{
  font-size:9px!important;
}
.teacher-progress{
  flex-basis:86px!important;
}
#visualAnchor .twocol{
  gap:5px!important;
}
#visualAnchor .mini{
  padding:5px!important;
}
#visualAnchor .mini b{
  font-size:9px!important;
}
#visualAnchor .mini .note{
  font-size:8px!important;
}
#visualAnchor .back-to-study{
  margin-bottom:3px!important;
}
#visualAnchor .back-to-study button{
  padding:4px 7px!important;
  font-size:9px!important;
}

/* Future-proof adaptive helpers:
   use these classes for any future question's illustration */
.visual-fit-stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.visual-fit-stage>svg,
.visual-fit-stage>img,
.visual-fit-stage>canvas,
.visual-fit-stage>video{
  max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
}
.visual-fit-scroll{
  max-height:100%;overflow:auto;
}
.visual-compact-text{
  font-size:clamp(9px,1vw,14px);line-height:1.25;
}

/* On shorter laptop screens, compress even more */
@media (max-height:760px){
  #visualAnchor .visualcard{height:calc(100vh - 84px - 82px)!important}
  #visualAnchor .head{min-height:34px!important;padding:3px 6px!important}
  #visualAnchor .head h2{font-size:13px!important}
  #visualAnchor .body{padding:4px!important}
  #visualAnchor .scene{padding:4px 6px!important}
  #visualAnchor .scene > span{font-size:9px!important}
  #visualAnchor .stage{padding:2px!important}
  #teacherSyncStrip{padding:4px 5px!important}
}
@media(max-width:900px){
  #visualAnchor .visualcard{height:auto!important;min-height:0!important}
  #visualAnchor .visualgrid{grid-template-columns:1fr!important;height:auto!important}
  #visualAnchor .stage{min-height:360px!important}
}

/* ui/compatibility/v24-css.css */

#visualAnchor{margin:0 auto 3px!important;padding:0 4px 84px!important}#visualAnchor .visualcard{height:calc(100vh - 84px - 80px)!important;min-height:520px!important;display:flex!important;flex-direction:column!important}#visualAnchor .head{min-height:36px!important;padding:4px 8px!important;flex:0 0 auto!important}#visualAnchor .head h2{font-size:14px!important}#visualAnchor .body{padding:3px!important;min-height:0!important;flex:1!important;overflow:hidden!important}.v24-dual-grid{--v24-left:53%;display:grid;grid-template-columns:minmax(0,var(--v24-left)) 8px minmax(0,1fr);gap:0;height:100%;min-height:0}.v24-pane{min-width:0;min-height:0;border:1px solid #2a5d82;border-radius:12px;overflow:hidden;background:#071a2b;display:flex;flex-direction:column}.v24-pane-head{height:39px;flex:0 0 39px;padding:4px 7px;background:linear-gradient(90deg,#103250,#0a243d);border-bottom:1px solid #2a5d82;display:flex;align-items:center;justify-content:space-between;gap:8px}.v24-pane-title{font-size:11px;font-weight:900;color:#e8f7ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v24-head-controls{display:flex;gap:3px;flex:0 0 auto}.v24-head-controls button{height:28px;min-width:28px;padding:0 7px;border:1px solid #39739f;background:#0d3153;color:white;border-radius:7px;font-size:10px;font-weight:900;cursor:pointer}.v24-head-controls button.primary{min-width:72px;background:#0b7d4a;border-color:#2dd98b}.v24-visual-view{flex:1;min-height:0;position:relative;overflow:hidden;background:radial-gradient(circle at 45% 45%,rgba(24,94,139,.15),transparent 48%),#061625;cursor:grab}.v24-visual-view.dragging{cursor:grabbing}#v24LessonSvg{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;user-select:none;touch-action:none}.v24-playbar{flex:0 0 43px;display:grid;grid-template-columns:36px auto 1fr 31px auto;gap:7px;align-items:center;padding:5px 7px;border-top:1px solid #274f6d;background:#0a2035}.v24-playbar button{height:30px;border:1px solid #3a759e;background:#126fd0;color:#fff;border-radius:7px;font-weight:900;cursor:pointer}.v24-time{font-size:10px;font-weight:800;color:#d8e9f5;white-space:nowrap}#v24LessonRange{width:100%;accent-color:#28b8ff}.v24-speed{font-size:10px;font-weight:900;color:#e8f5ff;border:1px solid #3a759e;border-radius:6px;padding:5px 7px}.v24-step-pane{background:#081c30}.v24-scenes{flex:1!important;min-height:0!important;overflow:auto!important;padding:6px!important;gap:6px!important}.v24-scenes .scene{margin:0!important;padding:8px 9px!important;border-radius:10px!important}.v24-scenes .scene b{font-size:11px!important;margin-bottom:3px!important}.v24-scenes .scene > span{font-size:9.5px!important;line-height:1.25!important}.v24-scenes .scene.active{background:#0b3a2b!important;border-color:#28d17c!important}.v24-divider{position:relative;cursor:col-resize;user-select:none;touch-action:none;background:linear-gradient(180deg,#0e3556,#175174);border-left:1px solid #2d6f9c;border-right:1px solid #2d6f9c}.v24-divider:hover,.v24-divider.dragging{background:#1b73ab}.v24-divider-grip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:3px;height:60px;border-radius:999px;background:repeating-linear-gradient(to bottom,#d6f2ff 0 5px,transparent 5px 10px)}@media(max-height:760px){#visualAnchor .visualcard{height:calc(100vh - 84px - 76px)!important}.v24-pane-head{height:34px;flex-basis:34px}.v24-playbar{flex-basis:38px;padding:3px 6px}.v24-scenes{padding:4px!important}.v24-scenes .scene{padding:5px 7px!important}}@media(max-width:900px){.v24-dual-grid{grid-template-columns:1fr}.v24-divider{display:none}.v24-pane{min-height:360px}}

/* ui/compatibility/v25-teacher-font-controls.css */

#v24Scenes{
  --teacher-font-scale:1;
}
#v24Scenes .scene b{
  font-size:calc(11px * var(--teacher-font-scale))!important;
}
#v24Scenes .scene > span{
  font-size:calc(9.5px * var(--teacher-font-scale))!important;
  line-height:1.28!important;
}
.v25-teacher-font-controls{
  display:flex;
  align-items:center;
  gap:3px;
  margin-left:auto;
  margin-right:4px;
  flex:0 0 auto;
}
.v25-teacher-font-controls button{
  width:28px;
  min-width:28px;
  height:27px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid #3b739c;
  background:#0d3153;
  color:#fff;
  border-radius:7px;
  font-weight:900;
  cursor:pointer;
  line-height:1;
}
.v25-teacher-font-controls button:nth-child(1){font-size:10px}
.v25-teacher-font-controls button:nth-child(2){font-size:13px}
.v25-teacher-font-controls button:nth-child(3){font-size:17px}
.v25-teacher-font-controls button:hover{background:#15567f}
@media(max-width:1050px){
  .v25-teacher-font-controls button{
    width:26px;min-width:26px;height:26px;
  }
}

/* ui/compatibility/v30-v25-exact-study-engine.css */

/* V30 deliberately preserves all V25 CSS. These rules only support dynamic data. */
.filterinner{grid-template-columns:72px 150px 100px 118px 1fr 120px 120px minmax(180px,1.5fr) auto!important}
.v30-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.v30-option{border:1px solid #bfd7e8;border-radius:8px;padding:10px 12px;background:#fff;color:#10263a;cursor:pointer;font-family:inherit;font-size:inherit}
.v30-option:hover{border-color:#2a9bd8;background:#eef9ff}
.v30-option.correct{border-color:#28b96d;background:#eaf8f0}
.v30-option.wrong{border-color:#d85b69;background:#fff0f2}
.v30-ar-note{margin:8px 0;padding:8px 10px;border-radius:8px;background:#fff7e8;border:1px solid #e8c56a}
.v30-blank{margin:30px;padding:22px;border:1px dashed #7ca2bf;border-radius:10px;background:#f5fbff;color:#36566d}
.v30-mini-visual{width:100%;height:210px;display:block;border-radius:9px;background:#061625}
.v30-source-page{display:block;max-width:100%;height:auto;margin:0 auto;background:#fff}
.v30-msline{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #d6e4ed;padding:6px 0}
.v30-msline:last-child{border-bottom:0}
@media(max-width:1050px){.filterinner{grid-template-columns:70px 135px 95px 108px 1fr 105px 105px minmax(140px,1fr) auto!important}}

/* ui/compatibility/v31-question-specific-visuals.css */

#visualAnchor{display:block!important}
.v31-dual{display:grid;grid-template-columns:minmax(0,58%) 8px minmax(0,42%);height:calc(100vh - 270px);min-height:430px}
.v31-pane{min-width:0;min-height:0;border:1px solid #2a5d82;border-radius:11px;overflow:hidden;background:#071a2b;display:flex;flex-direction:column}
.v31-panehead{min-height:38px;padding:7px 9px;background:linear-gradient(90deg,#103250,#0a243d);border-bottom:1px solid #2a5d82;display:flex;justify-content:space-between;gap:8px;align-items:center;color:#e8f7ff;font-size:11px}
.v31-panehead span{font-size:9px;color:#9edfff;text-align:right}
.v31-canvas{flex:1;min-height:0;background:#061625}.v31-canvas svg{width:100%;height:100%;display:block}
.v31-divider{background:linear-gradient(180deg,#0e3556,#1b6e9e);cursor:col-resize}
.v31-playbar{min-height:45px;padding:5px 7px;border-top:1px solid #2a5d82;display:grid;grid-template-columns:auto 34px 34px 1fr;gap:5px;align-items:center;background:#0a2035}
.v31-playbar button{height:31px;border:1px solid #3d789f;background:#0d3153;color:#fff;border-radius:7px;font-weight:800;cursor:pointer}.v31-playbar button:first-child{background:#0c7a49;border-color:#2ada88;padding:0 10px}
#v31VisualFormula{font-size:10px;color:#cceeff;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v31-scenes{--v31-scale:1;flex:1;overflow:auto;padding:6px;background:#081c30}
.v31-scene{display:block;width:100%;text-align:left;border:1px solid #345f7c;border-radius:9px;padding:8px 9px;margin:0 0 6px;background:#0b263d;color:#eaf7ff;cursor:pointer}
.v31-scene.active{border-color:#2cda84;background:#0b3a2b}
.v31-scene b{display:block;font-size:calc(11px * var(--v31-scale));margin-bottom:3px}.v31-scene > span{display:block;font-size:calc(9.5px * var(--v31-scale));line-height:1.3;color:#c5dce9}
.v31-fontctl{display:flex;gap:3px;margin-left:auto}.v31-fontctl button{width:28px;height:27px;border:1px solid #3b739c;background:#0d3153;color:white;border-radius:7px;font-weight:900;cursor:pointer}
@media(max-width:900px){.v31-dual{grid-template-columns:1fr;height:auto}.v31-divider{display:none}.v31-pane{min-height:380px}}

/* ui/compatibility/v32-crop-fixes.css */

/* V32: fidelity/crop fixes */
.v32-evidence-caption{
  padding:7px 9px;margin:5px 0 9px;border-radius:8px;
  background:#102d48;color:#c8eaff;font-size:11px;font-weight:800
}
.v32-evidence-img{
  display:block!important;width:auto!important;max-width:100%!important;
  max-height:72vh!important;object-fit:contain!important;margin:0 auto!important;
  background:white!important;border-radius:7px!important
}
.v32-evidence-frame{max-height:74vh;overflow:auto;padding:4px;background:#061625;border:1px solid #2b6387;border-radius:8px}
.v32-evidence-missing{padding:28px;color:#ffd27a;background:#102d48;border-radius:6px;font-weight:700;text-align:center}
.v32-cropbtn{
  float:right;border:1px solid #4b88ae;background:#123b5b;color:white;
  border-radius:7px;padding:4px 7px;font-size:10px;font-weight:900;cursor:pointer
}
#answerPanel .termcard:has(#visualInlineAnchor){display:none!important}
.modalback{z-index:10000!important}
.modal{max-width:1100px!important}
.xbtn{cursor:pointer!important}

/* ui/compatibility/v33-compact-visual-lessons.css */

/* V33: compact per-question visual lesson. Q33 keeps its own locked V25 visual. */
#visualAnchor .visualcard{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
#visualAnchor .body{padding:4px!important}
.v31-dual{
  display:grid!important;
  grid-template-columns:minmax(0,56%) 7px minmax(0,44%)!important;
  height:330px!important;
  min-height:330px!important;
}
.v31-pane{min-height:0!important}
.v31-panehead{
  min-height:36px!important;
  padding:5px 7px!important;
}
.v31-panehead b{font-size:10.5px!important}
.v31-panehead span{
  font-size:8.5px!important;
  max-width:48%;
  line-height:1.15;
}
.v31-canvas{min-height:0!important}
.v31-canvas svg{width:100%!important;height:100%!important}
.v31-playbar{
  min-height:41px!important;
  grid-template-columns:auto 31px 31px 1fr!important;
  padding:4px 6px!important;
}
.v31-playbar button{height:29px!important;font-size:9px!important}
#v31VisualFormula{font-size:9px!important}
.v31-scenes{padding:5px!important}
.v31-scene{padding:7px 8px!important;margin-bottom:5px!important}
.v31-scene b{font-size:calc(10.5px * var(--v31-scale))!important}
.v31-scene > span{font-size:calc(9px * var(--v31-scale))!important}
.v31-divider{cursor:default!important}
@media(max-width:900px){
  .v31-dual{grid-template-columns:1fr!important;height:auto!important}
  .v31-divider{display:none!important}
  .v31-pane{min-height:300px!important}
}

/* ui/compatibility/v33-all-section-filter.css */

#sectionFilter option[value="all"]{font-weight:800}

/* ui/compatibility/v34-layout-fixes.css */

/* Default/all-sections + visual overflow corrections */
.v31-dual{
  height:355px!important;
  min-height:355px!important;
}
.v31-pane{
  overflow:hidden!important;
}
.v31-canvas{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  position:relative!important;
}
.v31-canvas svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  object-fit:contain!important;
}
.v34-formula-strip{
  flex:0 0 36px;
  min-height:36px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:4px 8px;
  border-top:1px solid #285879;
  border-bottom:1px solid #285879;
  background:#0a2035;
}
.v34-formula-label{
  flex:0 0 auto;
  color:#7de2ff;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
}
#v31VisualFormula{
  flex:1 1 auto!important;
  min-width:0!important;
  font-size:10px!important;
  line-height:1.15!important;
  color:#f5fbff!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.v31-playbar{
  flex:0 0 40px!important;
  min-height:40px!important;
  grid-template-columns:auto 31px 31px 1fr!important;
  padding:4px 6px!important;
}
.v34-scene-status{
  font-size:8.5px;
  color:#9ecbe5;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.v34-themebar{
  display:flex;
  align-items:center;
  gap:5px;
  min-height:34px;
  padding:4px 6px 0;
}
.v34-theme-label{
  margin-right:auto;
  font-size:9px;
  font-weight:900;
  color:#9edfff;
}
.v34-themebar button{
  border:1px solid #3a7195;
  background:#0c2b46;
  color:#dff5ff;
  border-radius:7px;
  padding:5px 8px;
  font-size:8.5px;
  font-weight:900;
  cursor:pointer;
}
.v34-themebar button.active{
  border-color:#2de28b;
  background:#0b3a2b;
  color:#effff7;
}
#visualAnchor[data-visual-theme="focus"] .v31-pane{
  background:#0b2741!important;
}
#visualAnchor[data-visual-theme="focus"] .v31-panehead,
#visualAnchor[data-visual-theme="focus"] .v34-formula-strip,
#visualAnchor[data-visual-theme="focus"] .v31-playbar{
  background:#0e3558!important;
}
#visualAnchor[data-visual-theme="contrast"] .v31-pane{
  background:#02070d!important;
  border-color:#75d8ff!important;
}
#visualAnchor[data-visual-theme="contrast"] .v31-panehead{
  background:#07111c!important;
  color:#fff!important;
}
#visualAnchor[data-visual-theme="contrast"] .v31-scene{
  border-color:#507c98!important;
  background:#07111c!important;
}
#visualAnchor[data-visual-theme="contrast"] .v31-scene.active{
  border-color:#36ff9e!important;
  background:#06351f!important;
}
#visualAnchor[data-visual-theme="contrast"] .v34-formula-strip,
#visualAnchor[data-visual-theme="contrast"] .v31-playbar{
  background:#050b12!important;
}
@media(max-width:900px){
  .v31-dual{height:auto!important;min-height:0!important;grid-template-columns:1fr!important}
  .v34-themebar{flex-wrap:wrap}
}

/* ui/compatibility/v40-no-layout-break.css */

/* V40: preserve V34 geometry exactly. */
#answerPanel .answer-nav{display:none!important}

/* Existing Answer header remains its original layout. Icons are overlaid, not inserted into flow. */
#answerPanel .studyhead{
  position:relative!important;
  padding-right:292px!important; /* reserved icon area before existing audio/font controls */
  overflow:visible!important;
}
.v40-head-icons{
  position:absolute!important;
  top:50%!important;
  right:142px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:3px!important;
  width:auto!important;
  height:30px!important;
  z-index:20!important;
  overflow:visible!important;
}
.v40-head-icons button{
  width:29px!important;
  min-width:29px!important;
  max-width:29px!important;
  height:28px!important;
  min-height:28px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid #3a739a!important;
  border-radius:7px!important;
  background:#0d3153!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.v40-head-icons button:hover,
.v40-head-icons button.active{
  background:#0b6040!important;
  border-color:#2bd98a!important;
}

/* Explicitly protect V34 answer content geometry from previous toolbar regressions. */
#answerPanel,
#answerPanel .studybody,
#answerPanel .answer-main{
  min-width:0!important;
}
#answerPanel .answer-main{
  width:auto!important;
  max-width:none!important;
  flex:1 1 auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}

/* Small screens: shrink only icons, never answer body. */
@media(max-width:1100px){
  #answerPanel .studyhead{padding-right:268px!important}
  .v40-head-icons{right:132px!important;gap:2px!important}
  .v40-head-icons button{
    width:26px!important;min-width:26px!important;max-width:26px!important;
    height:26px!important;min-height:26px!important;font-size:12px!important
  }
}

/* ui/compatibility/v41-answer-full-width-fix.css */

/* V41 root-cause fix:
   the hidden vertical rail previously left answerlayout as a 174px + 1fr grid,
   so answer-main fell into the first 174px column. */
#answerPanel .answerlayout{
  grid-template-columns:minmax(0,1fr)!important;
}
#answerPanel .answer-main{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
#answerPanel .answer-nav{
  display:none!important;
  width:0!important;
  padding:0!important;
  border:0!important;
}

/* ui/compatibility/v42-visual-controls-themes.css */

/* Slightly larger Answer & Explanation heading */
#answerPanel .studyhead .meta,
#answerPanel .studyhead .v39-answer-title,
#answerPanel .studyhead .v40-answer-title,
#answerPanel .studyhead{
  font-size:14px!important;
}
#answerPanel .studyhead{
  min-height:38px!important;
  font-weight:900!important;
}

/* Illustrated Visual Lesson = true 50:50 */
#visualAnchor .v31-dual{
  grid-template-columns:minmax(0,50%) 8px minmax(0,50%)!important;
}
#visualAnchor .v31-divider{
  cursor:col-resize!important;
}

/* Visual controls */
.v42-visual-controls{
  display:flex;
  gap:3px;
  align-items:center;
  margin-left:auto;
  flex:0 0 auto;
}
.v42-visual-controls button{
  width:27px;
  height:26px;
  border:1px solid #3a739a;
  background:#0d3153;
  color:#fff;
  border-radius:7px;
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
  font-weight:900;
}
.v42-visual-controls button:hover{
  background:#15567f;
  border-color:#66c9ff;
}
#v31Canvas{
  overflow:hidden!important;
  cursor:grab!important;
}
#v31Canvas.dragging{cursor:grabbing!important}
#v31Canvas svg{
  transition:transform .08s linear;
  will-change:transform;
}

/* Always-visible app Light/Dark theme toggle */
.v42-theme-toggle{
  display:flex;
  gap:2px;
  align-items:center;
  border:1px solid #32658a;
  background:#0a2035;
  border-radius:9px;
  padding:2px;
  margin-right:4px;
}
.v42-theme-toggle button{
  width:29px;
  height:28px;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:#fff;
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
}
.v42-theme-toggle button.active,
.v42-theme-toggle button:hover{
  border-color:#2bd98a;
  background:#0c4934;
}

/* DARK mode */
:root[data-app-theme="dark"] body{
  background:#061625!important;
  color:#e9f5fb!important;
}
:root[data-app-theme="dark"] .appbar,
:root[data-app-theme="dark"] .filterbar{
  background:#09243a!important;
}
:root[data-app-theme="dark"] .studycard,
:root[data-app-theme="dark"] .answer-main,
:root[data-app-theme="dark"] .visualcard,
:root[data-app-theme="dark"] .v31-pane{
  background:#0b2335!important;
  color:#dceaf1!important;
}
:root[data-app-theme="dark"] .verbatimbox,
:root[data-app-theme="dark"] .teachbox,
:root[data-app-theme="dark"] .termcard,
:root[data-app-theme="dark"] .relatedcard{
  background:#102d42!important;
  color:#dceaf1!important;
  border-color:#315a72!important;
}

/* LIGHT mode */
:root[data-app-theme="light"] body{
  background:#edf4f8!important;
  color:#1b2b38!important;
}
:root[data-app-theme="light"] .appbar,
:root[data-app-theme="light"] .filterbar{
  background:#dceaf3!important;
  color:#163042!important;
}
:root[data-app-theme="light"] .app-brand,
:root[data-app-theme="light"] .appbar button,
:root[data-app-theme="light"] .filterbar,
:root[data-app-theme="light"] .filterbar select,
:root[data-app-theme="light"] .filterbar input{
  color:#173245!important;
}
:root[data-app-theme="light"] .studycard,
:root[data-app-theme="light"] .answer-main,
:root[data-app-theme="light"] .visualcard,
:root[data-app-theme="light"] .v31-pane{
  background:#f8fbfd!important;
  color:#24333e!important;
  border-color:#aac5d7!important;
}
:root[data-app-theme="light"] .studyhead,
:root[data-app-theme="light"] .v31-panehead,
:root[data-app-theme="light"] .visualcard .head{
  background:#dceaf3!important;
  color:#1a3345!important;
}
:root[data-app-theme="light"] .verbatimbox,
:root[data-app-theme="light"] .teachbox,
:root[data-app-theme="light"] .termcard,
:root[data-app-theme="light"] .relatedcard{
  background:#ffffff!important;
  color:#24333e!important;
  border-color:#b8cedc!important;
}
:root[data-app-theme="light"] .v30-option{
  background:#ffffff!important;
  color:#1f3443!important;
  border-color:#b7cedd!important;
}
:root[data-app-theme="light"] .v31-scene{
  background:#eef5f9!important;
  color:#203745!important;
  border-color:#b6ccda!important;
}
:root[data-app-theme="light"] .v31-scene.active{
  background:#dff4e8!important;
  border-color:#2ea96b!important;
}
:root[data-app-theme="light"] .v42-visual-controls button,
:root[data-app-theme="light"] .v42-theme-toggle button{
  color:#173245!important;
}

/* ui/compatibility/v43-dark-readability-q33-5050.css */

/* =========================================================
   V43 — READABILITY + TRUE 50:50 VISUAL FIX
   ========================================================= */

/* ---------- TRUE 50:50 for ALL visual lessons ---------- */
#visualAnchor .v31-dual,
#visualAnchor .v24-dual-grid,
#visualAnchor .v23-dual-grid,
#visualAnchor .visualgrid{
  grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;
}

/* Q33 V24 was using --v24-left:53%; neutralise that variable. */
#visualAnchor .v24-dual-grid{
  --v24-left:50%!important;
}

/* Both visual halves must be allowed to shrink equally. */
#visualAnchor .v24-pane,
#visualAnchor .v31-pane,
#visualAnchor .stage,
#visualAnchor .scenes{
  min-width:0!important;
}

/* ---------- DARK MODE: Question + Answer must NOT stay white ---------- */
:root[data-app-theme="dark"] #questionPanel,
:root[data-app-theme="dark"] #answerPanel{
  background:#081923!important;
  color:#e5eef3!important;
  border-color:#29485a!important;
}

/* Question canvas */
:root[data-app-theme="dark"] #questionPanel .studybody,
:root[data-app-theme="dark"] #questionPanel .question-surface{
  background:#0c2230!important;
  color:#e8f0f4!important;
}
:root[data-app-theme="dark"] #questionPanel .qtext,
:root[data-app-theme="dark"] #questionPanel .qtext p,
:root[data-app-theme="dark"] #questionPanel .qtext b,
:root[data-app-theme="dark"] #questionPanel .qtext span{
  color:#e8f0f4!important;
}
:root[data-app-theme="dark"] #questionPanel .qtag{
  background:#153247!important;
  color:#cfe7f4!important;
  border-color:#355f78!important;
}
:root[data-app-theme="dark"] #questionPanel .marks{
  background:#14334a!important;
  color:#d7efff!important;
  border-color:#3a6e90!important;
}
:root[data-app-theme="dark"] #questionPanel .v30-option{
  background:#123044!important;
  color:#eaf3f7!important;
  border-color:#365f76!important;
}
:root[data-app-theme="dark"] #questionPanel .v30-option:hover{
  background:#184159!important;
  border-color:#5ea3c8!important;
}
:root[data-app-theme="dark"] #questionPanel .v30-option.correct{
  background:#123c2d!important;
  color:#eafff3!important;
}
:root[data-app-theme="dark"] #questionPanel .v30-option.wrong{
  background:#45212a!important;
  color:#ffe9ed!important;
}
:root[data-app-theme="dark"] #answerPanel .v58-answer-branch .step,
:root[data-app-theme="dark"] #answerPanel .v25-parity-teach .step{
  background:#123044!important;
  color:#eaf3f7!important;
  border-left-color:#36c8ef!important;
}

/* Answer canvas */
:root[data-app-theme="dark"] #answerPanel .answerlayout,
:root[data-app-theme="dark"] #answerPanel .answer-main,
:root[data-app-theme="dark"] #answerPanel .studybody{
  background:#0c2230!important;
  color:#e5eef3!important;
}

/* Official MS cards */
:root[data-app-theme="dark"] #answerPanel .verbatimbox{
  background:#102a38!important;
  color:#e8f0f4!important;
  border-color:#2e8a61!important;
}
:root[data-app-theme="dark"] #answerPanel .verbatimbox h3,
:root[data-app-theme="dark"] #answerPanel .verbatimbox p,
:root[data-app-theme="dark"] #answerPanel .verbatimbox b,
:root[data-app-theme="dark"] #answerPanel .verbatimbox div{
  color:#e8f0f4!important;
}

/* Formula blocks were pale with pale text in dark mode. */
:root[data-app-theme="dark"] #answerPanel .verbatimbox .formula,
:root[data-app-theme="dark"] #answerPanel .formula,
:root[data-app-theme="dark"] #answerPanel .formulaD{
  background:#0a1b26!important;
  color:#f4fbff!important;
  border-color:#365d72!important;
}
:root[data-app-theme="dark"] #answerPanel .formula *,
:root[data-app-theme="dark"] #answerPanel .formulaD *{
  color:#f4fbff!important;
}

/* Teaching / terms / related */
:root[data-app-theme="dark"] #answerPanel .teachbox,
:root[data-app-theme="dark"] #answerPanel .termcard,
:root[data-app-theme="dark"] #answerPanel .relatedcard{
  background:#102838!important;
  color:#e4edf2!important;
  border-color:#34576b!important;
}
:root[data-app-theme="dark"] #answerPanel .teachbox .step{
  background:#0b1d29!important;
  color:#e4edf2!important;
  border-color:#2a91cf!important;
}
:root[data-app-theme="dark"] #answerPanel .teachbox .step p,
:root[data-app-theme="dark"] #answerPanel .teachbox .step li,
:root[data-app-theme="dark"] #answerPanel .teachbox .step h4,
:root[data-app-theme="dark"] #answerPanel .termcard *,
:root[data-app-theme="dark"] #answerPanel .relatedcard *{
  color:#e4edf2!important;
}

/* Marks / pills need visible contrast */
:root[data-app-theme="dark"] #answerPanel .markbadge,
:root[data-app-theme="dark"] #answerPanel .submark{
  background:#103b2a!important;
  color:#cffff0!important;
  border-color:#3a9f70!important;
}
:root[data-app-theme="dark"] #answerPanel .pill{
  background:#143247!important;
  color:#d7efff!important;
  border-color:#3b6c88!important;
}

/* ---------- LIGHT MODE: explicitly readable white study surfaces ---------- */
:root[data-app-theme="light"] #questionPanel,
:root[data-app-theme="light"] #answerPanel{
  background:#f5f9fc!important;
  color:#172631!important;
  border-color:#a9c4d4!important;
}
:root[data-app-theme="light"] #questionPanel .studybody,
:root[data-app-theme="light"] #questionPanel .question-surface,
:root[data-app-theme="light"] #answerPanel .answerlayout,
:root[data-app-theme="light"] #answerPanel .answer-main,
:root[data-app-theme="light"] #answerPanel .studybody{
  background:#ffffff!important;
  color:#172631!important;
}
:root[data-app-theme="light"] #answerPanel .verbatimbox .formula,
:root[data-app-theme="light"] #answerPanel .formula,
:root[data-app-theme="light"] #answerPanel .formulaD{
  background:#edf7f2!important;
  color:#172631!important;
}
:root[data-app-theme="light"] #answerPanel .formula *,
:root[data-app-theme="light"] #answerPanel .formulaD *{
  color:#172631!important;
}

/* ---------- Q33 visual readability and equal halves ---------- */
:root[data-app-theme="dark"] #visualAnchor .v24-visual-view,
:root[data-app-theme="dark"] #visualAnchor .v24-step-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-scenes{
  background:#071923!important;
  color:#e3eef4!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-view,
:root[data-app-theme="light"] #visualAnchor .v24-step-pane,
:root[data-app-theme="light"] #visualAnchor .v24-scenes{
  background:#f7fbfd!important;
  color:#1d3442!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-pane-head{
  background:#dceaf3!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-pane-title,
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene b,
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene > span{
  color:#1d3442!important;
}

/* Preserve mobile stack behavior. */
@media(max-width:900px){
  #visualAnchor .v31-dual,
  #visualAnchor .v24-dual-grid,
  #visualAnchor .v23-dual-grid,
  #visualAnchor .visualgrid{
    grid-template-columns:1fr!important;
  }
}

/* ui/compatibility/v44-typography-theme-consistency.css */

:root{
  --mep-font: Garamond, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --mep-dark-bg:#071722; --mep-dark-header:#0b2a3f; --mep-dark-panel:#0d2534;
  --mep-dark-card:#112d3d; --mep-dark-border:#315b72; --mep-dark-text:#edf6fa; --mep-dark-muted:#c0d5df;
  --mep-light-bg:#eaf2f7; --mep-light-header:#d7e7f1; --mep-light-panel:#f8fbfd;
  --mep-light-card:#ffffff; --mep-light-border:#acc6d6; --mep-light-text:#172a36; --mep-light-muted:#496575;
}
html,body,button,input,select,textarea,.appbar,.filterbar,.studycard,.visualcard,.studyhead,.studybody,.answer-main,
.verbatimbox,.teachbox,.termcard,.relatedcard,.v31-pane,.v31-panehead,.v31-scenes,.v31-scene,.featurebar,.goalbar,
.modal,.modalcontent{font-family:var(--mep-font)!important}
body{font-size:15px!important;line-height:1.38!important}
.app-brand,.studyhead,.visualcard .head,.v31-panehead,.verbatimbox h3,.teachbox h3,.teachbox h4,.termcard h3,
.relatedcard h3,.sectionlabel,.v31-scene b,.featurebar,.goalbar{font-weight:700!important;letter-spacing:.01em!important}
.studyhead{font-size:15px!important}.visualcard .head h2{font-size:15px!important}.v31-panehead b{font-size:12px!important}
.v31-panehead span{font-size:10px!important;line-height:1.25!important}.verbatimbox,.teachbox,.termcard,.relatedcard{font-size:14px!important}
.v31-scene b{font-size:12px!important}.v31-scene > span{font-size:10.5px!important;line-height:1.35!important}
.filterbar select,.filterbar input{font-size:12px!important;font-weight:700!important}.featurebar,.goalbar{font-size:10px!important}

/* DARK */
:root[data-app-theme="dark"] body{background:var(--mep-dark-bg)!important;color:var(--mep-dark-text)!important}
:root[data-app-theme="dark"] .appbar,
:root[data-app-theme="dark"] .filterbar,
:root[data-app-theme="dark"] .studyhead,
:root[data-app-theme="dark"] .visualcard .head,
:root[data-app-theme="dark"] .v31-panehead,
:root[data-app-theme="dark"] .featurebar,
:root[data-app-theme="dark"] .goalbar{
  background:var(--mep-dark-header)!important;color:var(--mep-dark-text)!important;border-color:var(--mep-dark-border)!important
}
:root[data-app-theme="dark"] #questionPanel,
:root[data-app-theme="dark"] #answerPanel,
:root[data-app-theme="dark"] #questionPanel .studybody,
:root[data-app-theme="dark"] #answerPanel .answer-main,
:root[data-app-theme="dark"] .visualcard,
:root[data-app-theme="dark"] .v31-pane,
:root[data-app-theme="dark"] .v31-scenes{
  background:var(--mep-dark-panel)!important;color:var(--mep-dark-text)!important;border-color:var(--mep-dark-border)!important
}
:root[data-app-theme="dark"] .verbatimbox,
:root[data-app-theme="dark"] .teachbox,
:root[data-app-theme="dark"] .termcard,
:root[data-app-theme="dark"] .relatedcard,
:root[data-app-theme="dark"] .v31-scene,
:root[data-app-theme="dark"] .question-surface,
:root[data-app-theme="dark"] .v30-option{
  background:var(--mep-dark-card)!important;color:var(--mep-dark-text)!important;border-color:var(--mep-dark-border)!important
}
:root[data-app-theme="dark"] .appbar *,
:root[data-app-theme="dark"] .filterbar *,
:root[data-app-theme="dark"] .studyhead *,
:root[data-app-theme="dark"] .studybody *,
:root[data-app-theme="dark"] .answer-main *,
:root[data-app-theme="dark"] .visualcard *,
:root[data-app-theme="dark"] .v31-pane *,
:root[data-app-theme="dark"] .featurebar *,
:root[data-app-theme="dark"] .goalbar *{color:var(--mep-dark-text)}
:root[data-app-theme="dark"] .meta,
:root[data-app-theme="dark"] .source-note,
:root[data-app-theme="dark"] .v31-panehead span,
:root[data-app-theme="dark"] .v31-scene > span{color:var(--mep-dark-muted)!important}
:root[data-app-theme="dark"] .formula,
:root[data-app-theme="dark"] .formulaD,
:root[data-app-theme="dark"] .v34-formula-strip{
  background:#081821!important;color:#fff!important;border-color:#3c687f!important
}
:root[data-app-theme="dark"] .formula *,
:root[data-app-theme="dark"] .formulaD *,
:root[data-app-theme="dark"] .v34-formula-strip *{color:#fff!important}
:root[data-app-theme="dark"] .filterbar select,
:root[data-app-theme="dark"] .filterbar input{background:#0d3048!important;color:#f2f8fb!important;border-color:#40708d!important}
:root[data-app-theme="dark"] .filterbar option{background:#0d3048!important;color:#f2f8fb!important}

/* LIGHT */
:root[data-app-theme="light"] body{background:var(--mep-light-bg)!important;color:var(--mep-light-text)!important}
:root[data-app-theme="light"] .appbar,
:root[data-app-theme="light"] .filterbar,
:root[data-app-theme="light"] .studyhead,
:root[data-app-theme="light"] .visualcard .head,
:root[data-app-theme="light"] .v31-panehead,
:root[data-app-theme="light"] .featurebar,
:root[data-app-theme="light"] .goalbar{
  background:var(--mep-light-header)!important;color:var(--mep-light-text)!important;border-color:var(--mep-light-border)!important
}
:root[data-app-theme="light"] #questionPanel,
:root[data-app-theme="light"] #answerPanel,
:root[data-app-theme="light"] #questionPanel .studybody,
:root[data-app-theme="light"] #answerPanel .answer-main,
:root[data-app-theme="light"] .visualcard,
:root[data-app-theme="light"] .v31-pane,
:root[data-app-theme="light"] .v31-scenes{
  background:var(--mep-light-panel)!important;color:var(--mep-light-text)!important;border-color:var(--mep-light-border)!important
}
:root[data-app-theme="light"] .verbatimbox,
:root[data-app-theme="light"] .teachbox,
:root[data-app-theme="light"] .termcard,
:root[data-app-theme="light"] .relatedcard,
:root[data-app-theme="light"] .v31-scene,
:root[data-app-theme="light"] .question-surface,
:root[data-app-theme="light"] .v30-option{
  background:var(--mep-light-card)!important;color:var(--mep-light-text)!important;border-color:var(--mep-light-border)!important
}
:root[data-app-theme="light"] .appbar *,
:root[data-app-theme="light"] .filterbar *,
:root[data-app-theme="light"] .studyhead *,
:root[data-app-theme="light"] .studybody *,
:root[data-app-theme="light"] .answer-main *,
:root[data-app-theme="light"] .visualcard *,
:root[data-app-theme="light"] .v31-pane *,
:root[data-app-theme="light"] .featurebar *,
:root[data-app-theme="light"] .goalbar *{color:var(--mep-light-text)}
:root[data-app-theme="light"] .meta,
:root[data-app-theme="light"] .source-note,
:root[data-app-theme="light"] .v31-panehead span,
:root[data-app-theme="light"] .v31-scene > span{color:var(--mep-light-muted)!important}
:root[data-app-theme="light"] .formula,
:root[data-app-theme="light"] .formulaD,
:root[data-app-theme="light"] .v34-formula-strip{
  background:#eef7f2!important;color:#172a36!important;border-color:#b8d1c4!important
}
:root[data-app-theme="light"] .formula *,
:root[data-app-theme="light"] .formulaD *,
:root[data-app-theme="light"] .v34-formula-strip *{color:#172a36!important}
:root[data-app-theme="light"] .filterbar select,
:root[data-app-theme="light"] .filterbar input{background:#fff!important;color:#173042!important;border-color:#9ebdce!important}
:root[data-app-theme="light"] .filterbar option{background:#fff!important;color:#173042!important}

/* Chips and marks */
:root[data-app-theme="dark"] .qtag,
:root[data-app-theme="dark"] .pill,
:root[data-app-theme="dark"] .markbadge,
:root[data-app-theme="dark"] .submark{background:#15364b!important;color:#eaf6fb!important;border-color:#3c6981!important}
:root[data-app-theme="light"] .qtag,
:root[data-app-theme="light"] .pill,
:root[data-app-theme="light"] .markbadge,
:root[data-app-theme="light"] .submark{background:#edf6fa!important;color:#1a3545!important;border-color:#afcbd9!important}

/* ui/compatibility/v45-light-theme-overlap-fontfix.css */

/* =========================================================
   V45 — Light theme readability, icon spacing, step font fix
   ========================================================= */

/* ---------- Answer & Explanation header: reserve separate zones ---------- */
#answerPanel .studyhead{
  position:relative!important;
  min-height:40px!important;
  padding-left:10px!important;
  padding-right:340px!important;  /* space for icon row + audio/font controls */
  overflow:visible!important;
}

/* Answer quick-map icons: fixed horizontal row; never overlap font/audio controls */
#answerPanel .v40-head-icons,
#answerPanel .v38-answer-tools,
#answerPanel .v39-answer-tools{
  position:absolute!important;
  top:50%!important;
  right:158px!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:30px!important;
  z-index:30!important;
  overflow:visible!important;
  white-space:nowrap!important;
}

#answerPanel .v40-head-icons button,
#answerPanel .v38-answer-tools button,
#answerPanel .v39-answer-tools button{
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  flex:0 0 28px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  border-radius:7px!important;
  font-size:13px!important;
}

/* Existing audio/font controls stay at far right */
#answerPanel .topactions{
  position:absolute!important;
  right:6px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  z-index:31!important;
}

/* ---------- Illustrated Visual Lesson font controls ---------- */
#v31Scenes{
  --v45-step-scale:1;
}
#v31Scenes .v31-scene b,
#v31Scenes .scene b{
  font-size:calc(12px * var(--v45-step-scale))!important;
  line-height:1.25!important;
}
#v31Scenes .v31-scene > span,
#v31Scenes .scene > span{
  font-size:calc(10.5px * var(--v45-step-scale))!important;
  line-height:1.38!important;
}

/* ---------- LIGHT THEME: eliminate dark-on-dark / invisible headings ---------- */
:root[data-app-theme="light"]{
  --v45-light-bg:#edf4f8;
  --v45-light-panel:#ffffff;
  --v45-light-head:#d7e7f1;
  --v45-light-text:#163040;
  --v45-light-muted:#496879;
  --v45-light-border:#9dbfd2;
  --v45-light-accent:#0b6f9f;
  --v45-light-active:#dff3e9;
}

:root[data-app-theme="light"] body{
  background:var(--v45-light-bg)!important;
  color:var(--v45-light-text)!important;
}

/* Header / filter / visual lesson header / bottom bars */
:root[data-app-theme="light"] .appbar,
:root[data-app-theme="light"] .filterbar,
:root[data-app-theme="light"] .studyhead,
:root[data-app-theme="light"] .visualcard .head,
:root[data-app-theme="light"] .v31-panehead,
:root[data-app-theme="light"] .featurebar,
:root[data-app-theme="light"] .goalbar{
  background:var(--v45-light-head)!important;
  color:var(--v45-light-text)!important;
  border-color:var(--v45-light-border)!important;
}

/* Panels */
:root[data-app-theme="light"] #questionPanel,
:root[data-app-theme="light"] #answerPanel,
:root[data-app-theme="light"] #questionPanel .studybody,
:root[data-app-theme="light"] #answerPanel .answer-main,
:root[data-app-theme="light"] .visualcard,
:root[data-app-theme="light"] .v31-pane,
:root[data-app-theme="light"] .v31-scenes,
:root[data-app-theme="light"] .v31-canvas{
  background:var(--v45-light-panel)!important;
  color:var(--v45-light-text)!important;
  border-color:var(--v45-light-border)!important;
}

/* Strongly force all headings and labels readable */
:root[data-app-theme="light"] .appbar *,
:root[data-app-theme="light"] .filterbar *,
:root[data-app-theme="light"] .studyhead *,
:root[data-app-theme="light"] .visualcard .head *,
:root[data-app-theme="light"] .v31-panehead *,
:root[data-app-theme="light"] .featurebar *,
:root[data-app-theme="light"] .goalbar *{
  color:var(--v45-light-text)!important;
}

/* Visual scene cards */
:root[data-app-theme="light"] .v31-scene,
:root[data-app-theme="light"] #v31Scenes .scene{
  background:#f7fbfd!important;
  color:var(--v45-light-text)!important;
  border-color:#b7cedb!important;
}
:root[data-app-theme="light"] .v31-scene.active,
:root[data-app-theme="light"] #v31Scenes .scene.active{
  background:var(--v45-light-active)!important;
  color:#123d2a!important;
  border-color:#2c9d67!important;
}
:root[data-app-theme="light"] .v31-scene b,
:root[data-app-theme="light"] .v31-scene > span,
:root[data-app-theme="light"] #v31Scenes .scene b,
:root[data-app-theme="light"] #v31Scenes .scene > span{
  color:var(--v45-light-text)!important;
}
:root[data-app-theme="light"] .v31-scene.active b,
:root[data-app-theme="light"] .v31-scene.active > span,
:root[data-app-theme="light"] #v31Scenes .scene.active b,
:root[data-app-theme="light"] #v31Scenes .scene.active > span{
  color:#123d2a!important;
}

/* Visual controls need visible light-theme buttons */
:root[data-app-theme="light"] .v42-visual-controls button,
:root[data-app-theme="light"] .v31-fontctl button,
:root[data-app-theme="light"] .v34-themebar button{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#86adc4!important;
}
:root[data-app-theme="light"] .v42-visual-controls button:hover,
:root[data-app-theme="light"] .v31-fontctl button:hover,
:root[data-app-theme="light"] .v34-themebar button:hover{
  background:#e6f2f8!important;
  border-color:#3f8db6!important;
}

/* Answer header quick icons in light mode */
:root[data-app-theme="light"] #answerPanel .v40-head-icons button,
:root[data-app-theme="light"] #answerPanel .v38-answer-tools button,
:root[data-app-theme="light"] #answerPanel .v39-answer-tools button{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#86adc4!important;
}
:root[data-app-theme="light"] #answerPanel .v40-head-icons button:hover,
:root[data-app-theme="light"] #answerPanel .v40-head-icons button.active,
:root[data-app-theme="light"] #answerPanel .v38-answer-tools button:hover,
:root[data-app-theme="light"] #answerPanel .v38-answer-tools button.active,
:root[data-app-theme="light"] #answerPanel .v39-answer-tools button:hover,
:root[data-app-theme="light"] #answerPanel .v39-answer-tools button.active{
  background:#dff3e9!important;
  border-color:#2c9d67!important;
  color:#123d2a!important;
}

/* Keep SVG text readable regardless of page theme */
:root[data-app-theme="light"] #v31Canvas svg text{
  filter:none!important;
}

/* ui/compatibility/v46-reset-header-themeaware-visual.css */

/* =========================================================
   V46 — Clean Answer Header + Theme-aware Visual Lesson
   ========================================================= */

/* Remove every old answer-header control fragment/overlay */
#answerPanel .answer-nav,
#answerPanel .v40-head-icons,
#answerPanel .v38-answer-tools,
#answerPanel .v39-answer-tools,
#answerPanel .topactions{
  display:none!important;
}

/* Rebuilt answer header: one clean row */
#answerPanel .studyhead{
  position:relative!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px!important;
  padding:5px 8px!important;
  overflow:visible!important;
}
.v46-answer-title{
  font-size:16px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
.v46-answer-icons{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  min-width:0!important;
  overflow:visible!important;
}
.v46-answer-icons button,
.v46-answer-actions button{
  width:30px!important;
  min-width:30px!important;
  height:29px!important;
  padding:0!important;
  margin:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:7px!important;
  font-size:13px!important;
  cursor:pointer!important;
}
.v46-answer-actions{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.v46-answer-icons button.active{
  outline:2px solid #2bd98a!important;
}

/* Assertion–Reason questions: preserve the paper's two separate statements
   instead of collapsing Assertion (A) and Reason (R) into one paragraph. */
.ar-block{display:grid;gap:10px;margin-top:8px}
.ar-part{padding:12px 14px;border-left:3px solid #2aa9e8;background:#0b2235;border-radius:10px;line-height:1.55}
.ar-part b{display:block;color:#9edfff;margin-bottom:4px;letter-spacing:.1px}
.ar-part > span{display:block;color:inherit}
:root[data-app-theme="light"] .ar-part{background:#f3f8fc;color:#172f42;border-color:#2778c8}
:root[data-app-theme="light"] .ar-part b{color:#185b91}

/* Step-by-step font sizing */
#v31Scenes{
  --v45-step-scale:1;
}
#v31Scenes .v31-scene b,
#v31Scenes .scene b{
  font-size:calc(12px * var(--v45-step-scale))!important;
  line-height:1.25!important;
}
#v31Scenes .v31-scene > span,
#v31Scenes .scene > span{
  font-size:calc(10.5px * var(--v45-step-scale))!important;
  line-height:1.38!important;
}

/* ---------- LIGHT APP THEME: Visual Lesson must also become light ---------- */
:root[data-app-theme="light"] #visualAnchor,
:root[data-app-theme="light"] #visualAnchor .visualcard,
:root[data-app-theme="light"] #visualAnchor .body,
:root[data-app-theme="light"] #visualAnchor .v31-pane,
:root[data-app-theme="light"] #visualAnchor .v31-canvas,
:root[data-app-theme="light"] #visualAnchor .v31-scenes{
  background:#f7fbfd!important;
  color:#173042!important;
  border-color:#9ebfd0!important;
}

:root[data-app-theme="light"] #visualAnchor .head,
:root[data-app-theme="light"] #visualAnchor .v31-panehead{
  background:#d7e7f1!important;
  color:#173042!important;
  border-color:#9ebfd0!important;
}

:root[data-app-theme="light"] #visualAnchor .head *,
:root[data-app-theme="light"] #visualAnchor .v31-panehead *{
  color:#173042!important;
}

/* Scene cards */
:root[data-app-theme="light"] #visualAnchor .v31-scene,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene{
  background:#ffffff!important;
  color:#173042!important;
  border-color:#b3cbd8!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene.active,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene.active{
  background:#def3e7!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene b,
:root[data-app-theme="light"] #visualAnchor .v31-scene > span,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene b,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene > span{
  color:inherit!important;
}

/* Formula/play/theme strips */
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip,
:root[data-app-theme="light"] #visualAnchor .v31-playbar,
:root[data-app-theme="light"] #visualAnchor .v34-themebar{
  background:#eef5f9!important;
  color:#173042!important;
  border-color:#a9c3d2!important;
}
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip *,
:root[data-app-theme="light"] #visualAnchor .v31-playbar *,
:root[data-app-theme="light"] #visualAnchor .v34-themebar *{
  color:#173042!important;
}

/* Light-theme buttons */
:root[data-app-theme="light"] .v46-answer-icons button,
:root[data-app-theme="light"] .v46-answer-actions button,
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button{
  background:#ffffff!important;
  color:#173042!important;
  border:1px solid #86adc4!important;
}
:root[data-app-theme="light"] .v46-answer-icons button:hover,
:root[data-app-theme="light"] .v46-answer-icons button.active,
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button:hover,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button:hover,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button:hover{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* SVG canvas itself should not remain dark in Light mode */
:root[data-app-theme="light"] #v31Canvas svg > rect:first-child{
  fill:#f7fbfd!important;
}
:root[data-app-theme="light"] #v31Canvas svg text{
  fill:#173042!important;
}
:root[data-app-theme="light"] #v31Canvas svg text[fill="#fff"],
:root[data-app-theme="light"] #v31Canvas svg text[fill="#ffffff"],
:root[data-app-theme="light"] #v31Canvas svg text[fill="#e8f7ff"],
:root[data-app-theme="light"] #v31Canvas svg text[fill="#9edfff"]{
  fill:#173042!important;
}

/* ---------- DARK APP THEME ---------- */
:root[data-app-theme="dark"] .v46-answer-icons button,
:root[data-app-theme="dark"] .v46-answer-actions button{
  background:#0d3153!important;
  color:#ffffff!important;
  border:1px solid #3a739a!important;
}
:root[data-app-theme="dark"] #visualAnchor,
:root[data-app-theme="dark"] #visualAnchor .visualcard,
:root[data-app-theme="dark"] #visualAnchor .body,
:root[data-app-theme="dark"] #visualAnchor .v31-pane,
:root[data-app-theme="dark"] #visualAnchor .v31-canvas,
:root[data-app-theme="dark"] #visualAnchor .v31-scenes{
  background:#071923!important;
  color:#edf6fa!important;
}
:root[data-app-theme="dark"] #visualAnchor .v31-scene,
:root[data-app-theme="dark"] #visualAnchor #v31Scenes .scene{
  background:#0d2638!important;
  color:#edf6fa!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v31-scene.active,
:root[data-app-theme="dark"] #visualAnchor #v31Scenes .scene.active{
  background:#0b3a2b!important;
  color:#eafff3!important;
  border-color:#2bd98a!important;
}

/* Keep 50:50 */
#visualAnchor .v31-dual,
#visualAnchor .v24-dual-grid,
#visualAnchor .visualgrid{
  grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;
}

/* Small screens */
@media(max-width:1050px){
  #answerPanel .studyhead{
    grid-template-columns:auto 1fr auto!important;
    gap:6px!important;
  }
  .v46-answer-icons{gap:2px!important}
  .v46-answer-icons button,
  .v46-answer-actions button{
    width:27px!important;min-width:27px!important;height:27px!important;font-size:12px!important
  }
}

/* ui/compatibility/v39-katex-scroll-guard.css */

/* KaTeX must stay a single inline box; malformed slash fractions must never
   turn each character into a tall vertical column. */
#answerPanel .step p,#answerPanel .step li{white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;}
#answerPanel .katex{display:inline-block!important;white-space:nowrap!important;vertical-align:middle!important;}
#answerPanel .katex-display{display:block!important;white-space:normal!important;max-width:100%;overflow-x:auto;}
#answerPanel .studybody,#answerPanel .answer-main{min-height:0!important;overflow-x:hidden!important;}
#answerPanel .step .katex *{white-space:nowrap!important;}
#answerPanel .step h4{display:flex!important;align-items:center!important;gap:8px!important;}
#answerPanel .step h4 .submark{margin-left:auto!important;flex:0 0 auto!important;}
#answerPanel .katex-error,#questionPanel .katex-error{color:inherit!important;background:transparent!important;}

/* ui/compatibility/v47-light-controls-answer-font.css */

/* =========================================================
   V47 — Answer font controls + complete Light-theme controls
   ========================================================= */

/* ---------- Answer font scaling ---------- */
#answerPanel .answer-main{
  --v47-answer-scale:1;
}
#answerPanel .answer-main,
#answerPanel .answer-main p,
#answerPanel .answer-main li,
#answerPanel .answer-main div:not(.markbadge):not(.pill):not(.katex *),
#answerPanel .answer-main span:not(.markbadge):not(.pill):not(.katex):not(.katex *){
  font-size:calc(14px * var(--v47-answer-scale))!important;
}
#answerPanel .answer-main h3{
  font-size:calc(16px * var(--v47-answer-scale))!important;
}
#answerPanel .answer-main h4{
  font-size:calc(14.5px * var(--v47-answer-scale))!important;
}

/* Keep compact badges/pills compact while text scales */
#answerPanel .markbadge,
#answerPanel .submark,
#answerPanel .pill{
  font-size:11px!important;
}

/* ---------- LIGHT THEME: unified control/button system ---------- */
:root[data-app-theme="light"]{
  --ctl-bg:#ffffff;
  --ctl-bg-hover:#e7f2f8;
  --ctl-text:#173245;
  --ctl-border:#86adc4;
  --ctl-active:#dff3e9;
  --ctl-active-text:#123b2a;
  --ctl-active-border:#2c9e68;
}

/* Top nav icons, filter prev/next, Q/A header controls, crop buttons */
:root[data-app-theme="light"] .appbar button,
:root[data-app-theme="light"] .navbtn,
:root[data-app-theme="light"] .arrowbtn,
:root[data-app-theme="light"] .smallbtn,
:root[data-app-theme="light"] .fontctl button,
:root[data-app-theme="light"] .v46-answer-icons button,
:root[data-app-theme="light"] .v46-answer-actions button,
:root[data-app-theme="light"] .v32-cropbtn,
:root[data-app-theme="light"] #prevQ,
:root[data-app-theme="light"] #nextQ{
  background:var(--ctl-bg)!important;
  color:var(--ctl-text)!important;
  border:1px solid var(--ctl-border)!important;
  box-shadow:none!important;
}

:root[data-app-theme="light"] .appbar button:hover,
:root[data-app-theme="light"] .navbtn:hover,
:root[data-app-theme="light"] .arrowbtn:hover,
:root[data-app-theme="light"] .smallbtn:hover,
:root[data-app-theme="light"] .fontctl button:hover,
:root[data-app-theme="light"] .v46-answer-icons button:hover,
:root[data-app-theme="light"] .v46-answer-icons button.active,
:root[data-app-theme="light"] .v46-answer-actions button:hover,
:root[data-app-theme="light"] .v32-cropbtn:hover,
:root[data-app-theme="light"] #prevQ:hover,
:root[data-app-theme="light"] #nextQ:hover{
  background:var(--ctl-active)!important;
  color:var(--ctl-active-text)!important;
  border-color:var(--ctl-active-border)!important;
}

/* Question panel action buttons at the bottom/inside question card */
:root[data-app-theme="light"] #questionPanel button,
:root[data-app-theme="light"] #questionPanel .source-actions button,
:root[data-app-theme="light"] #questionPanel .reportbox button{
  background:var(--ctl-bg)!important;
  color:var(--ctl-text)!important;
  border-color:var(--ctl-border)!important;
}
:root[data-app-theme="light"] #questionPanel button:hover{
  background:var(--ctl-bg-hover)!important;
}

/* Preserve MCQ option styling separately */
:root[data-app-theme="light"] #questionPanel .v30-option{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #a9c8d8!important;
}
:root[data-app-theme="light"] #questionPanel .v30-option:hover{
  background:#eef7fb!important;
  border-color:#5496b8!important;
}
:root[data-app-theme="light"] #questionPanel .v30-option.correct{
  background:#e1f5e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}
:root[data-app-theme="light"] #questionPanel .v30-option.wrong{
  background:#fde9ed!important;
  color:#6e2532!important;
  border-color:#cf7080!important;
}

/* Visual Lesson control buttons: Reset / Zoom / Fit / teacher lesson / prev-next / themes */
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button,
:root[data-app-theme="light"] #visualAnchor .v31-playbar button,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button,
:root[data-app-theme="light"] #visualAnchor .v35-back-study{
  background:var(--ctl-bg)!important;
  color:var(--ctl-text)!important;
  border:1px solid var(--ctl-border)!important;
}
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button:hover,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button:hover,
:root[data-app-theme="light"] #visualAnchor .v31-playbar button:hover,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button:hover,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button.active,
:root[data-app-theme="light"] #visualAnchor .v35-back-study:hover{
  background:var(--ctl-active)!important;
  color:var(--ctl-active-text)!important;
  border-color:var(--ctl-active-border)!important;
}

/* Teacher Lesson play button should stay recognisable but light-theme friendly */
:root[data-app-theme="light"] #visualAnchor #v31Play{
  background:#e2f5e9!important;
  color:#145c39!important;
  border-color:#43a775!important;
}

/* Theme toggle near profile */
:root[data-app-theme="light"] .v42-theme-toggle{
  background:#e8f1f6!important;
  border-color:#9ebdce!important;
}
:root[data-app-theme="light"] .v42-theme-toggle button{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#b4cbd8!important;
}
:root[data-app-theme="light"] .v42-theme-toggle button.active{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* Exact MS crop button inside answer card */
:root[data-app-theme="light"] #answerPanel .v32-cropbtn{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
}

/* ---------- LIGHT THEME: Visual SVG/card readability ---------- */
/* Main canvas */
:root[data-app-theme="light"] #v31Canvas{
  background:#f7fbfd!important;
}
:root[data-app-theme="light"] #v31Canvas svg > rect:first-child{
  fill:#f7fbfd!important;
}

/* Turn dark formula/callout boxes inside generated SVG into readable light boxes */
:root[data-app-theme="light"] #v31Canvas svg rect[fill="#0b2439"],
:root[data-app-theme="light"] #v31Canvas svg rect[fill="#061625"],
:root[data-app-theme="light"] #v31Canvas svg rect[fill="#0a2035"],
:root[data-app-theme="light"] #v31Canvas svg rect[fill="#123c5b"],
:root[data-app-theme="light"] #v31Canvas svg rect[fill="#153f66"]{
  fill:#eef6fa!important;
  stroke:#5a9cbc!important;
}

/* SVG text defaults */
:root[data-app-theme="light"] #v31Canvas svg text{
  fill:#173245!important;
}
/* Keep colored instructional text if explicitly green/cyan/yellow */
:root[data-app-theme="light"] #v31Canvas svg text[fill="#2de28b"]{fill:#167a4c!important}
:root[data-app-theme="light"] #v31Canvas svg text[fill="#39c8ff"]{fill:#176c94!important}
:root[data-app-theme="light"] #v31Canvas svg text[fill="#ffc34d"]{fill:#8a6510!important}

/* Formula/key strip under illustration */
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip{
  background:#eef5f9!important;
  color:#173245!important;
  border-color:#aac4d2!important;
}
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip *{
  color:#173245!important;
}

/* Step panel cards and headings */
:root[data-app-theme="light"] #visualAnchor .v31-scenes,
:root[data-app-theme="light"] #visualAnchor .v31-pane{
  background:#f8fbfd!important;
  color:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#b4cbd8!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene.active,
:root[data-app-theme="light"] #visualAnchor #v31Scenes .scene.active{
  background:#e1f5e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* ---------- DARK THEME: matching controls ---------- */
:root[data-app-theme="dark"] .v46-answer-icons button,
:root[data-app-theme="dark"] .v46-answer-actions button,
:root[data-app-theme="dark"] .v32-cropbtn,
:root[data-app-theme="dark"] .arrowbtn,
:root[data-app-theme="dark"] .smallbtn,
:root[data-app-theme="dark"] .fontctl button,
:root[data-app-theme="dark"] #visualAnchor .v42-visual-controls button,
:root[data-app-theme="dark"] #visualAnchor .v31-fontctl button,
:root[data-app-theme="dark"] #visualAnchor .v31-playbar button,
:root[data-app-theme="dark"] #visualAnchor .v34-themebar button{
  background:#0d3153!important;
  color:#f4fbff!important;
  border-color:#3a739a!important;
}

/* ui/compatibility/v48-visual-layout-light-controls.css */

/* =========================================================
   V48 — formula OUTSIDE SVG + larger lesson controls
   ========================================================= */

/* More usable visual height */
#visualAnchor .v31-dual{
  height:390px!important;
  min-height:390px!important;
  grid-template-columns:minmax(0,50%) 8px minmax(0,50%)!important;
}

/* The SVG gets the complete illustration area; no formula overlay. */
#v31Canvas{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:4px!important;
}
#v31Canvas .v48-lesson-svg,
#v31Canvas svg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  display:block!important;
  object-fit:contain!important;
}

/* Formula / Key relation is now a clear, larger strip BELOW illustration */
#visualAnchor .v34-formula-strip{
  flex:0 0 46px!important;
  min-height:46px!important;
  padding:6px 10px!important;
  gap:10px!important;
}
#visualAnchor .v34-formula-label{
  font-size:11px!important;
  font-weight:700!important;
}
#visualAnchor #v31VisualFormula{
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:700!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
}

/* Teacher controls slightly larger */
#visualAnchor .v31-playbar{
  flex:0 0 50px!important;
  min-height:50px!important;
  grid-template-columns:auto 36px 36px 1fr!important;
  gap:7px!important;
  padding:6px 8px!important;
}
#visualAnchor .v31-playbar button{
  height:36px!important;
  min-height:36px!important;
  padding:0 10px!important;
  font-size:11px!important;
  font-weight:700!important;
}
#visualAnchor .v31-playbar button:not(:first-child){
  width:36px!important;
  min-width:36px!important;
  padding:0!important;
}
#visualAnchor .v34-scene-status{
  font-size:10px!important;
  line-height:1.2!important;
}

/* Make visual headers a little clearer */
#visualAnchor .v31-panehead{
  min-height:40px!important;
  padding:6px 9px!important;
}
#visualAnchor .v31-panehead b{
  font-size:12.5px!important;
}
#visualAnchor .v31-panehead span{
  font-size:10px!important;
}

/* =========================================================
   LIGHT THEME — every Visual Lesson control uses a LIGHT button
   ========================================================= */
:root[data-app-theme="light"] #visualAnchor button,
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button,
:root[data-app-theme="light"] #visualAnchor .v31-playbar button,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button,
:root[data-app-theme="light"] #visualAnchor .v35-back-study{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
  box-shadow:none!important;
}

/* Play Lesson gets a gentle green tint, not dark-green block */
:root[data-app-theme="light"] #visualAnchor #v31Play,
:root[data-app-theme="light"] #visualAnchor .v31-playbar button:first-child{
  background:#e4f5ea!important;
  color:#145c39!important;
  border-color:#49a97a!important;
}

/* hover / selected */
:root[data-app-theme="light"] #visualAnchor button:hover,
:root[data-app-theme="light"] #visualAnchor .v34-themebar button.active{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* Reset / zoom / fit icons now visibly light in Light theme */
:root[data-app-theme="light"] #visualAnchor .v42-visual-controls button{
  background:#ffffff!important;
  color:#16384b!important;
  border-color:#7fa9c0!important;
}

/* Visual theme buttons */
:root[data-app-theme="light"] #visualAnchor .v34-themebar{
  background:#eef5f9!important;
  color:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor .v34-themebar .v34-theme-label{
  color:#173245!important;
  font-size:10px!important;
}

/* Formula strip readable in Light theme */
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip{
  background:#eef6fa!important;
  border-color:#a7c4d3!important;
}
:root[data-app-theme="light"] #visualAnchor .v34-formula-strip *{
  color:#173245!important;
}

/* DARK theme remains coherent */
:root[data-app-theme="dark"] #visualAnchor .v34-formula-strip{
  background:#0a2035!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v34-formula-strip *{
  color:#eef8fc!important;
}

/* Mobile */
@media(max-width:900px){
  #visualAnchor .v31-dual{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
}

/* ui/compatibility/v49-q33-theme-unified.css */

/* =========================================================
   V49 — Q33 uses the SAME app theme system as all MCQs
   ========================================================= */

/* Force the V24/Q33 dual-panel lesson to obey global app theme */
#visualAnchor .v24-dual-grid{
  --v24-left:50%!important;
  grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;
}
#visualAnchor .v24-pane,
#visualAnchor .v24-visual-view,
#visualAnchor .v24-step-pane,
#visualAnchor .v24-scenes{
  min-width:0!important;
}

/* ---------------- LIGHT ---------------- */
:root[data-app-theme="light"] #visualAnchor .visualcard,
:root[data-app-theme="light"] #visualAnchor .v24-dual-grid,
:root[data-app-theme="light"] #visualAnchor .v24-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-view,
:root[data-app-theme="light"] #visualAnchor .v24-step-pane,
:root[data-app-theme="light"] #visualAnchor .v24-scenes{
  background:#f7fbfd!important;
  color:#173245!important;
  border-color:#9ebfd0!important;
}

:root[data-app-theme="light"] #visualAnchor .v24-pane-head,
:root[data-app-theme="light"] #visualAnchor .head{
  background:#d7e7f1!important;
  color:#173245!important;
  border-color:#9ebfd0!important;
}

:root[data-app-theme="light"] #visualAnchor .v24-pane-title,
:root[data-app-theme="light"] #visualAnchor .v24-pane-head *,
:root[data-app-theme="light"] #visualAnchor .head *{
  color:#173245!important;
}

/* Q33 scene cards */
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#b4cbd8!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene.active{
  background:#e1f5e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene b,
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene > span{
  color:inherit!important;
}

/* Q33 playback / status / cards */
:root[data-app-theme="light"] #visualAnchor .v24-playbar,
:root[data-app-theme="light"] #visualAnchor .v24-status,
:root[data-app-theme="light"] #visualAnchor .v24-layer-card{
  background:#eef5f9!important;
  color:#173245!important;
  border-color:#aac4d2!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-playbar *,
:root[data-app-theme="light"] #visualAnchor .v24-status *,
:root[data-app-theme="light"] #visualAnchor .v24-layer-card *{
  color:#173245!important;
}

/* Every Q33 control in Light theme */
:root[data-app-theme="light"] #visualAnchor .v24-head-controls button,
:root[data-app-theme="light"] #visualAnchor .v24-playbar button,
:root[data-app-theme="light"] #visualAnchor .v25-teacher-font-controls button,
:root[data-app-theme="light"] #visualAnchor .v31-fontctl button{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
  box-shadow:none!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-head-controls button:hover,
:root[data-app-theme="light"] #visualAnchor .v24-playbar button:hover,
:root[data-app-theme="light"] #visualAnchor .v25-teacher-font-controls button:hover{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* Q33 SVG itself also follows Light mode */
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg > rect:first-child{
  fill:#f7fbfd!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text{
  fill:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#2de28b"]{
  fill:#167a4c!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#39c8ff"]{
  fill:#176c94!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#ffc34d"]{
  fill:#8a6510!important;
}

/* ---------------- DARK ---------------- */
:root[data-app-theme="dark"] #visualAnchor .visualcard,
:root[data-app-theme="dark"] #visualAnchor .v24-dual-grid,
:root[data-app-theme="dark"] #visualAnchor .v24-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-visual-view,
:root[data-app-theme="dark"] #visualAnchor .v24-step-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-scenes{
  background:#071923!important;
  color:#edf6fa!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-pane-head,
:root[data-app-theme="dark"] #visualAnchor .head{
  background:#0b2a3f!important;
  color:#edf6fa!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-pane-title,
:root[data-app-theme="dark"] #visualAnchor .v24-pane-head *,
:root[data-app-theme="dark"] #visualAnchor .head *{
  color:#edf6fa!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-scenes .scene{
  background:#0d2638!important;
  color:#edf6fa!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-scenes .scene.active{
  background:#0b3a2b!important;
  color:#eafff3!important;
  border-color:#2bd98a!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-head-controls button,
:root[data-app-theme="dark"] #visualAnchor .v24-playbar button,
:root[data-app-theme="dark"] #visualAnchor .v25-teacher-font-controls button{
  background:#0d3153!important;
  color:#f4fbff!important;
  border:1px solid #3a739a!important;
}

/* Keep Q33 playback controls comfortably readable */
#visualAnchor .v24-playbar{
  min-height:48px!important;
}
#visualAnchor .v24-playbar button{
  min-height:34px!important;
  font-size:11px!important;
}
#visualAnchor .v24-time,
#visualAnchor .v24-speed{
  font-size:10.5px!important;
}

/* Mobile stack only */
@media(max-width:900px){
  #visualAnchor .v24-dual-grid{
    grid-template-columns:1fr!important;
  }
}

/* ui/compatibility/v50-q33-light-clarity.css */

/* =========================================================
   V50 — Q33 COMPLETE LIGHT THEME + HIGH-CLARITY SVG
   ========================================================= */

/* True 50:50, always */
#visualAnchor .v24-dual-grid{
  --v24-left:50%!important;
  grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr)!important;
}

/* ---------- Q33 LIGHT THEME: remove every dark leftover ---------- */
:root[data-app-theme="light"] #visualAnchor,
:root[data-app-theme="light"] #visualAnchor .visualcard,
:root[data-app-theme="light"] #visualAnchor .v24-dual-grid,
:root[data-app-theme="light"] #visualAnchor .v24-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-pane,
:root[data-app-theme="light"] #visualAnchor .v24-step-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-view,
:root[data-app-theme="light"] #visualAnchor .v24-scenes,
:root[data-app-theme="light"] #visualAnchor .scenes,
:root[data-app-theme="light"] #visualAnchor .teacher-sync-strip,
:root[data-app-theme="light"] #visualAnchor .teacher-progress,
:root[data-app-theme="light"] #visualAnchor .teacher-layer-grid,
:root[data-app-theme="light"] #visualAnchor .teacher-layer-card,
:root[data-app-theme="light"] #visualAnchor .v24-playbar{
  background:#f7fbfd!important;
  color:#173245!important;
  border-color:#9ebfd0!important;
}

/* Headings */
:root[data-app-theme="light"] #visualAnchor .v24-pane-head,
:root[data-app-theme="light"] #visualAnchor .head{
  background:#d7e7f1!important;
  color:#173245!important;
  border-color:#9ebfd0!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-pane-head *,
:root[data-app-theme="light"] #visualAnchor .head *,
:root[data-app-theme="light"] #visualAnchor .v24-pane-title{
  color:#173245!important;
}

/* Step cards */
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#b4cbd8!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene.active{
  background:#e1f5e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene *,
:root[data-app-theme="light"] #visualAnchor .teacher-sync-strip *,
:root[data-app-theme="light"] #visualAnchor .teacher-layer-card *{
  color:inherit!important;
}

/* Synchronization strip and progress track */
:root[data-app-theme="light"] #visualAnchor .teacher-sync-strip{
  background:#eef5f9!important;
}
:root[data-app-theme="light"] #visualAnchor .teacher-progress{
  background:#c8dbe6!important;
}
:root[data-app-theme="light"] #visualAnchor #teacherProgressBar{
  background:#1c9ed1!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonRange{
  accent-color:#1c9ed1!important;
}

/* Bottom official/teaching layer cards */
:root[data-app-theme="light"] #visualAnchor .teacher-layer-card,
:root[data-app-theme="light"] #visualAnchor .layer-card{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#b4cbd8!important;
}

/* All Q33 controls light */
:root[data-app-theme="light"] #visualAnchor .v24-head-controls button,
:root[data-app-theme="light"] #visualAnchor .v24-playbar button,
:root[data-app-theme="light"] #visualAnchor .v25-teacher-font-controls button,
:root[data-app-theme="light"] #visualAnchor button{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
  box-shadow:none!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-head-controls button:hover,
:root[data-app-theme="light"] #visualAnchor .v24-playbar button:hover,
:root[data-app-theme="light"] #visualAnchor .v25-teacher-font-controls button:hover{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}

/* Q33 SVG surface itself */
:root[data-app-theme="light"] #visualAnchor #v24VisualView,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg{
  background:#f7fbfd!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg > rect:first-child{
  fill:#f7fbfd!important;
}

/* Make Q33 SVG text readable. Preserve useful accent colors. */
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text{
  fill:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#2de28b"]{
  fill:#167a4c!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#39c8ff"]{
  fill:#176c94!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text[fill="#ffc34d"]{
  fill:#8a6510!important;
}

/* High-clarity SVG profile: critical geometry does not visually fade on zoom-out */
#visualAnchor #v24LessonSvg line,
#visualAnchor #v24LessonSvg path,
#visualAnchor #v24LessonSvg polyline,
#visualAnchor #v24LessonSvg polygon,
#visualAnchor #v24LessonSvg circle,
#visualAnchor #v24LessonSvg ellipse,
#visualAnchor #v24LessonSvg rect,
#visualAnchor #v31Canvas svg line,
#visualAnchor #v31Canvas svg path,
#visualAnchor #v31Canvas svg polyline,
#visualAnchor #v31Canvas svg polygon,
#visualAnchor #v31Canvas svg circle,
#visualAnchor #v31Canvas svg ellipse,
#visualAnchor #v31Canvas svg rect{
  vector-effect:non-scaling-stroke!important;
}

/* Minimum readable text sizes in teaching SVGs */
#visualAnchor #v24LessonSvg text{
  font-size:max(15px,1em)!important;
}
#visualAnchor #v31Canvas svg text{
  font-size:max(14px,1em)!important;
}

/* Stronger light-theme line contrast */
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg line,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg path,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg polyline,
:root[data-app-theme="light"] #visualAnchor #v31Canvas svg line,
:root[data-app-theme="light"] #visualAnchor #v31Canvas svg path,
:root[data-app-theme="light"] #visualAnchor #v31Canvas svg polyline{
  opacity:1!important;
}

/* ---------- DARK remains readable ---------- */
:root[data-app-theme="dark"] #visualAnchor .teacher-sync-strip,
:root[data-app-theme="dark"] #visualAnchor .teacher-layer-card{
  background:#0d2638!important;
  color:#edf6fa!important;
  border-color:#315b72!important;
}

/* ui/compatibility/v51-clear-visual-lessons.css */

/* =========================================================
   V51 — Section A visual lessons: clarity-first design
   ========================================================= */

#visualAnchor .v31-dual{
  height:420px!important;
  min-height:420px!important;
  grid-template-columns:minmax(0,50%) 8px minmax(0,50%)!important;
}
#v31Canvas{
  padding:8px!important;
  overflow:hidden!important;
}
#v31Canvas .v51-lesson-svg{
  width:100%!important;
  height:100%!important;
  display:block!important;
}

/* SVG typography */
.v51-title{font-family:Garamond,"Palatino Linotype",Georgia,serif;font-size:24px;font-weight:700}
.v51-label{font-family:Garamond,"Palatino Linotype",Georgia,serif;font-size:18px;font-weight:700}
.v51-small{font-family:Garamond,"Palatino Linotype",Georgia,serif;font-size:15px;font-weight:600}
.v51-big{font-family:Garamond,"Palatino Linotype",Georgia,serif;font-size:34px;font-weight:700}
.v51-stepnum{font-family:Garamond,"Palatino Linotype",Georgia,serif;font-size:13px;font-weight:700;fill:#fff!important}

/* vector clarity */
.v51-lesson-svg *{vector-effect:non-scaling-stroke}
.v51-axis{stroke:#6b8797;stroke-width:3}
.v51-guide{stroke:#879ca8;stroke-width:2;stroke-dasharray:8 8}
.v51-main{stroke:var(--svg-main);stroke-width:6;fill:none}
.v51-main-fill{stroke:var(--svg-main);stroke-width:5;fill:color-mix(in srgb,var(--svg-main) 10%,transparent)}
.v51-accent{stroke:var(--svg-accent);stroke-width:6;fill:none}
.v51-accent-fill{fill:var(--svg-accent)}
.v51-warm{stroke:var(--svg-warm);stroke-width:6;fill:none}
.v51-warm-fill{fill:var(--svg-warm)}
.v51-wire{stroke:#6f80d9;stroke-width:6}
.v51-inner{stroke:var(--svg-warm);stroke-width:5;fill:none}
.v51-card{stroke:var(--svg-muted,#557182);stroke-width:2;fill:rgba(10,34,55,.82)}
.v51-arc{stroke:var(--svg-main);stroke-width:5;fill:none}
.v51-screen{stroke:#7b86e6;stroke-width:7}
.v51-rays line,.v51-ray{stroke:var(--svg-warm);stroke-width:4;fill:none}
.v51-wave1{stroke:var(--svg-accent);stroke-width:5;fill:none}
.v51-wave2{stroke:var(--svg-warm);stroke-width:5;fill:none}
.v51-wave3{stroke:#e8687c;stroke-width:5;fill:none}
.v51-interface{stroke:#7b8792;stroke-width:4}
.v51-component{stroke:var(--svg-main);stroke-width:5;fill:none}
.v51-component2{stroke:var(--svg-accent);stroke-width:5;fill:none}
.v51-inductor{stroke:var(--svg-warm);stroke-width:5;fill:none}
.v51-xray{fill:color-mix(in srgb,var(--svg-main) 12%,transparent);stroke:var(--svg-accent);stroke-width:5}
.v51-p{fill:color-mix(in srgb,var(--svg-main) 14%,transparent);stroke:var(--svg-main);stroke-width:4}
.v51-n{fill:color-mix(in srgb,var(--svg-accent) 14%,transparent);stroke:var(--svg-accent);stroke-width:4}
.v51-stepdot{fill:#176c94;stroke:#fff;stroke-width:2}

/* theme colors */
:root[data-app-theme="light"] #visualAnchor{
  --svg-main:#1386b4;
  --svg-accent:#16865a;
  --svg-warm:#b87912;
  --svg-text:#173245;
  --svg-muted:#557182;
}
:root[data-app-theme="light"] .v51-bg{fill:#fbfdfe}
:root[data-app-theme="light"] .v51-title,
:root[data-app-theme="light"] .v51-label,
:root[data-app-theme="light"] .v51-small,
:root[data-app-theme="light"] .v51-big{fill:#173245!important}

:root[data-app-theme="dark"] #visualAnchor{
  --svg-main:#45c9ff;
  --svg-accent:#42e39b;
  --svg-warm:#ffc45c;
  --svg-text:#edf7fb;
  --svg-muted:#bdd3de;
}
:root[data-app-theme="dark"] .v51-bg{fill:#071923}
:root[data-app-theme="dark"] .v51-title,
:root[data-app-theme="dark"] .v51-label,
:root[data-app-theme="dark"] .v51-small,
:root[data-app-theme="dark"] .v51-big{fill:#edf7fb!important}

/* Step explanation becomes larger and easier to scan */
#v31Scenes .v31-scene{
  padding:12px 14px!important;
  margin-bottom:9px!important;
  border-width:1.5px!important;
}
#v31Scenes .v31-scene b{
  font-size:calc(14px * var(--v45-step-scale,1))!important;
  line-height:1.25!important;
  margin-bottom:5px!important;
}
#v31Scenes .v31-scene > span{
  font-size:calc(12px * var(--v45-step-scale,1))!important;
  line-height:1.45!important;
}

/* Headings clearer */
#visualAnchor .v31-panehead{
  min-height:44px!important;
}
#visualAnchor .v31-panehead b{
  font-size:13px!important;
}
#visualAnchor .v31-panehead span{
  font-size:10.5px!important;
  line-height:1.25!important;
}

/* Formula and teacher lesson bars readable */
#visualAnchor .v34-formula-strip{
  min-height:48px!important;
  padding:7px 10px!important;
}
#visualAnchor .v34-formula-label{
  font-size:11.5px!important;
}
#visualAnchor #v31VisualFormula{
  font-size:12.5px!important;
  line-height:1.3!important;
}
#visualAnchor .v31-playbar{
  min-height:52px!important;
}
#visualAnchor .v31-playbar button{
  min-height:36px!important;
  font-size:11.5px!important;
}
#visualAnchor .v34-scene-status{
  font-size:10.5px!important;
}

/* Light mode cards */
:root[data-app-theme="light"] #visualAnchor .v31-pane,
:root[data-app-theme="light"] #visualAnchor .v31-scenes{
  background:#f6fbfd!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene{
  background:#ffffff!important;
  color:#173245!important;
  border-color:#a9c7d6!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-scene.active{
  background:#e4f6eb!important;
  color:#123b2a!important;
  border-color:#299665!important;
}

/* Dark mode cards */
:root[data-app-theme="dark"] #visualAnchor .v31-pane,
:root[data-app-theme="dark"] #visualAnchor .v31-scenes{
  background:#071923!important;
}
:root[data-app-theme="dark"] #visualAnchor .v31-scene{
  background:#0f2939!important;
  color:#edf7fb!important;
  border-color:#335b70!important;
}
:root[data-app-theme="dark"] #visualAnchor .v31-scene.active{
  background:#0d3d2d!important;
  color:#effff7!important;
  border-color:#3bd58f!important;
}

@media(max-width:900px){
  #visualAnchor .v31-dual{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
}

/* ui/compatibility/v52-adaptive-visual-clarity.css */

#visualAnchor .v31-dual{height:450px!important;min-height:450px!important;grid-template-columns:minmax(0,50%) 8px minmax(0,50%)!important}
#v31Canvas{padding:10px!important;overflow:hidden!important;cursor:grab!important}#v31Canvas.dragging{cursor:grabbing!important}
#v31Canvas svg{width:100%!important;height:100%!important;display:block!important;shape-rendering:geometricPrecision!important;text-rendering:optimizeLegibility!important}
.v51-title{font-size:26px!important;font-weight:700!important}.v51-label{font-size:19px!important;font-weight:700!important}.v51-small{font-size:16px!important;font-weight:600!important}.v51-big{font-size:36px!important;font-weight:700!important}
.v51-main,.v51-accent,.v51-warm{stroke-width:6.5!important}.v51-rays line,.v51-ray{stroke-width:4.5!important}.v51-axis,.v51-guide{opacity:.82!important}
#v31Scenes{padding:10px!important}#v31Scenes .v31-scene{padding:13px 15px!important;margin-bottom:10px!important;border-width:1.5px!important;border-radius:10px!important}
#v31Scenes .v31-scene b{font-size:calc(14.5px * var(--v45-step-scale,1))!important;line-height:1.25!important;margin-bottom:5px!important}#v31Scenes .v31-scene > span{font-size:calc(12.5px * var(--v45-step-scale,1))!important;line-height:1.45!important}
#visualAnchor .v34-formula-strip{min-height:52px!important;padding:8px 12px!important;gap:12px!important}#visualAnchor .v34-formula-label{font-size:12px!important}#visualAnchor #v31VisualFormula{font-size:13px!important;line-height:1.3!important}
#visualAnchor .v31-playbar{min-height:54px!important;padding:7px 10px!important}#visualAnchor .v31-playbar button{min-height:38px!important;font-size:12px!important}#visualAnchor .v34-scene-status{font-size:11px!important}
:root[data-app-theme="light"] #visualAnchor{--svg-main:#0c7fad;--svg-accent:#147a52;--svg-warm:#a96d0d}:root[data-app-theme="light"] #v31Canvas{background:#fbfdfe!important;border-top:1px solid #c5d8e3!important;border-bottom:1px solid #c5d8e3!important}:root[data-app-theme="light"] .v51-bg{fill:#fbfdfe!important}:root[data-app-theme="light"] .v51-title,:root[data-app-theme="light"] .v51-label,:root[data-app-theme="light"] .v51-small,:root[data-app-theme="light"] .v51-big{fill:#102d3e!important}
:root[data-app-theme="dark"] #visualAnchor{--svg-main:#55cffb;--svg-accent:#52e3a2;--svg-warm:#ffd06f}:root[data-app-theme="dark"] #v31Canvas{background:#071923!important;border-top:1px solid #2d5063!important;border-bottom:1px solid #2d5063!important}:root[data-app-theme="dark"] .v51-bg{fill:#071923!important}:root[data-app-theme="dark"] .v51-title,:root[data-app-theme="dark"] .v51-label,:root[data-app-theme="dark"] .v51-small,:root[data-app-theme="dark"] .v51-big{fill:#eef8fc!important}
#v31Canvas svg line,#v31Canvas svg path,#v31Canvas svg polyline,#v31Canvas svg polygon,#v31Canvas svg circle,#v31Canvas svg ellipse,#v31Canvas svg rect{vector-effect:non-scaling-stroke!important}
@media(max-width:900px){#visualAnchor .v31-dual{height:auto!important;min-height:0!important;grid-template-columns:1fr!important}}

/* ui/compatibility/v53-draggable-visual-split-css.css */

/* =========================================================
   V53 — Draggable Illustration ↔ Step-by-Step split
   ========================================================= */

/* Section A / MCQ visual split */
#visualAnchor .v31-dual{
  --v53-left:50%;
  grid-template-columns:minmax(0,var(--v53-left)) 8px minmax(0,calc(100% - var(--v53-left)))!important;
}
#visualAnchor .v31-divider,
#visualAnchor .v24-divider{
  cursor:col-resize!important;
  position:relative!important;
  touch-action:none!important;
  user-select:none!important;
  background:linear-gradient(180deg,#1b5d83,#0f3854)!important;
  border-left:1px solid rgba(255,255,255,.18)!important;
  border-right:1px solid rgba(255,255,255,.18)!important;
  transition:background .12s ease!important;
}
#visualAnchor .v31-divider::after,
#visualAnchor .v24-divider::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:3px;
  height:68px;
  border-radius:3px;
  background:repeating-linear-gradient(
    to bottom,
    rgba(225,246,255,.95) 0 5px,
    transparent 5px 10px
  );
}
#visualAnchor .v31-divider:hover,
#visualAnchor .v24-divider:hover,
#visualAnchor .v31-divider.v53-dragging,
#visualAnchor .v24-divider.v53-dragging{
  background:#238fc3!important;
}

/* Both panes must be able to expand/shrink cleanly */
#visualAnchor .v31-pane,
#visualAnchor .v24-pane,
#visualAnchor .v24-visual-pane,
#visualAnchor .v24-step-pane{
  min-width:0!important;
}

/* Prevent the illustration from being clipped when its pane becomes wider */
#visualAnchor #v31Canvas,
#visualAnchor .v24-visual-view{
  min-width:0!important;
  overflow:hidden!important;
}
#visualAnchor #v31Canvas svg,
#visualAnchor #v24LessonSvg{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  display:block!important;
}

/* Light theme divider */
:root[data-app-theme="light"] #visualAnchor .v31-divider,
:root[data-app-theme="light"] #visualAnchor .v24-divider{
  background:linear-gradient(180deg,#7fb6d1,#4d8dad)!important;
  border-color:#8fb4c8!important;
}
:root[data-app-theme="light"] #visualAnchor .v31-divider:hover,
:root[data-app-theme="light"] #visualAnchor .v24-divider:hover,
:root[data-app-theme="light"] #visualAnchor .v31-divider.v53-dragging,
:root[data-app-theme="light"] #visualAnchor .v24-divider.v53-dragging{
  background:#2d91bd!important;
}

/* On narrow screens stack vertically; dragging is disabled by layout */
@media(max-width:900px){
  #visualAnchor .v31-dual,
  #visualAnchor .v24-dual-grid{
    grid-template-columns:1fr!important;
  }
  #visualAnchor .v31-divider,
  #visualAnchor .v24-divider{
    display:none!important;
  }
}

/* ui/compatibility/v54-visualization-space-optimized.css */

/* =========================================================
   V54 — Visualization-first layout
   ========================================================= */

/* More height belongs to the actual visual, not controls */
#visualAnchor .v31-dual{
  height:470px!important;
  min-height:470px!important;
}

/* Left visual pane is a clean 3-row layout:
   top icon bar / huge SVG canvas / bottom formula bar */
#visualAnchor .v54-visual-pane{
  display:grid!important;
  grid-template-rows:38px minmax(0,1fr) 46px!important;
  min-height:0!important;
  overflow:hidden!important;
}

/* Top icon-only toolbar */
.v54-iconbar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:38px;
  padding:4px 7px;
  border-bottom:1px solid #2a5d82;
}
.v54-iconbar-spacer{flex:1 1 auto}
.v54-visual-controls{
  display:flex;
  align-items:center;
  gap:4px;
}
.v54-visual-controls button{
  width:31px;
  min-width:31px;
  height:29px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:7px;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}
.v54-control-sep{
  width:1px;
  height:22px;
  margin:0 2px;
  opacity:.35;
  background:currentColor;
}

/* SVG now gets almost the entire left pane */
#v31Canvas{
  min-height:0!important;
  padding:8px!important;
  overflow:hidden!important;
}

/* Formula is always at the absolute bottom of visual pane */
.v54-formula-bottom{
  min-height:46px;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border-top:1px solid #2a5d82;
  overflow:hidden;
}
.v54-formula-symbol{
  font-size:17px;
  font-weight:700;
}
.v54-formula-label{
  font-size:11.5px;
  font-weight:700;
  white-space:nowrap;
}
#v31VisualFormula{
  min-width:0;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.25!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Hide any legacy visual play/formula rows if old DOM fragments appear */
#visualAnchor .v31-playbar,
#visualAnchor .v34-formula-strip{
  display:none!important;
}

/* Step-by-step pane retains full height */
#visualAnchor .v31-scenes{
  min-height:0!important;
  overflow:auto!important;
}

/* ---------- Light theme ---------- */
:root[data-app-theme="light"] .v54-iconbar,
:root[data-app-theme="light"] .v54-formula-bottom{
  background:#eef5f9!important;
  color:#173245!important;
  border-color:#aac4d2!important;
}
:root[data-app-theme="light"] .v54-visual-controls button{
  background:#ffffff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
}
:root[data-app-theme="light"] .v54-visual-controls button:hover{
  background:#dff3e9!important;
  color:#123b2a!important;
  border-color:#2c9e68!important;
}
:root[data-app-theme="light"] #v31Canvas{
  background:#fbfdfe!important;
}

/* ---------- Dark theme ---------- */
:root[data-app-theme="dark"] .v54-iconbar,
:root[data-app-theme="dark"] .v54-formula-bottom{
  background:#0a2035!important;
  color:#eef8fc!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] .v54-visual-controls button{
  background:#0d3153!important;
  color:#f5fbff!important;
  border:1px solid #3a739a!important;
}
:root[data-app-theme="dark"] .v54-visual-controls button:hover{
  background:#15567f!important;
  border-color:#66c9ff!important;
}
:root[data-app-theme="dark"] #v31Canvas{
  background:#071923!important;
}

/* Responsive */
@media(max-width:900px){
  #visualAnchor .v31-dual{
    height:auto!important;
    min-height:0!important;
  }
  #visualAnchor .v54-visual-pane{
    min-height:420px!important;
  }
}

/* ui/compatibility/v55-svg-visible-navigation-fix.css */

/* =========================================================
   V55 — ROOT FIX: SVG visibility + reliable Q Previous/Next
   ========================================================= */

/* Base SVG palette MUST exist even before/without theme attribute. */
#visualAnchor{
  --svg-main:#25b8ee;
  --svg-accent:#24c987;
  --svg-warm:#efae38;
  --svg-text:#eaf6fb;
  --svg-muted:#a9c3d0;
}

/* Explicit theme overrides */
:root[data-app-theme="light"] #visualAnchor{
  --svg-main:#0b7eaa;
  --svg-accent:#177b54;
  --svg-warm:#a56b0d;
  --svg-text:#153043;
  --svg-muted:#516f80;
}
:root[data-app-theme="dark"] #visualAnchor{
  --svg-main:#50ccfa;
  --svg-accent:#4ce09c;
  --svg-warm:#ffcb65;
  --svg-text:#eef8fc;
  --svg-muted:#bfd4de;
}

/* Guarantee actual visible canvas geometry. */
#visualAnchor .v54-visual-pane{
  display:grid!important;
  grid-template-rows:38px minmax(320px,1fr) 48px!important;
  min-height:430px!important;
}
#visualAnchor #v31Canvas{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:320px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:hidden!important;
}
#visualAnchor #v31Canvas svg{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:320px!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Base fills/text so diagram remains visible regardless of theme-init timing. */
#visualAnchor .v51-bg{fill:#071923}
#visualAnchor .v51-title,
#visualAnchor .v51-label,
#visualAnchor .v51-small,
#visualAnchor .v51-big{fill:var(--svg-text)!important}

#visualAnchor .v51-main{stroke:var(--svg-main)!important;stroke-width:6!important;fill:none!important}
#visualAnchor .v51-main-fill{stroke:var(--svg-main)!important;stroke-width:5!important;fill:rgba(37,184,238,.10)!important}
#visualAnchor .v51-accent{stroke:var(--svg-accent)!important;stroke-width:6!important;fill:none!important}
#visualAnchor .v51-accent-fill{fill:var(--svg-accent)!important}
#visualAnchor .v51-warm{stroke:var(--svg-warm)!important;stroke-width:6!important;fill:none!important}
#visualAnchor .v51-warm-fill{fill:var(--svg-warm)!important}
#visualAnchor .v51-wire{stroke:#6f80d9!important;stroke-width:6!important}
#visualAnchor .v51-axis{stroke:#6b8797!important;stroke-width:3!important}
#visualAnchor .v51-guide{stroke:#879ca8!important;stroke-width:2!important;stroke-dasharray:8 8!important}
#visualAnchor .v51-inner{stroke:var(--svg-warm)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-arc{stroke:var(--svg-main)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-screen{stroke:#7387df!important;stroke-width:7!important}
#visualAnchor .v51-rays line,
#visualAnchor .v51-ray{stroke:var(--svg-warm)!important;stroke-width:4!important;fill:none!important}
#visualAnchor .v51-wave1{stroke:var(--svg-accent)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-wave2{stroke:var(--svg-warm)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-wave3{stroke:#e8687c!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-interface{stroke:#7b8792!important;stroke-width:4!important}
#visualAnchor .v51-component{stroke:var(--svg-main)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-component2{stroke:var(--svg-accent)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-inductor{stroke:var(--svg-warm)!important;stroke-width:5!important;fill:none!important}
#visualAnchor .v51-stepdot{fill:#176c94!important;stroke:#fff!important;stroke-width:2!important}
#visualAnchor .v51-stepnum{fill:#fff!important}

/* Theme-safe background. */
:root[data-app-theme="light"] #visualAnchor .v51-bg{fill:#fbfdfe!important}
:root[data-app-theme="dark"] #visualAnchor .v51-bg{fill:#071923!important}

/* Keep vector strokes crisp under viewBox zoom. */
#visualAnchor #v31Canvas svg *{
  vector-effect:non-scaling-stroke;
}

/* Top Question Previous/Next must remain obviously clickable in both themes. */
#prevQ,#nextQ{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:50!important;
}
:root[data-app-theme="light"] #prevQ,
:root[data-app-theme="light"] #nextQ{
  background:#fff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
}
:root[data-app-theme="dark"] #prevQ,
:root[data-app-theme="dark"] #nextQ{
  background:#0d3153!important;
  color:#fff!important;
  border:1px solid #3a739a!important;
}

/* ui/compatibility/v56-root-fix-css.css */

.v56-hidden-title{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* ui/compatibility/v57-q33-unified-theme-drag.css */

/* =========================================================
   V57 — Q33 visual lesson unified with Section-A visual system
   ========================================================= */

/* True resizable Q33 split. Inline/legacy 50:50 rules are overridden. */
#visualAnchor .v24-dual-grid{
  --v57-left:50%;
  display:grid!important;
  grid-template-columns:minmax(0,var(--v57-left)) 10px minmax(0,calc(100% - var(--v57-left)))!important;
  gap:0!important;
  min-width:0!important;
}
#visualAnchor .v24-divider{
  display:block!important;
  width:10px!important;
  min-width:10px!important;
  cursor:col-resize!important;
  touch-action:none!important;
  user-select:none!important;
  position:relative!important;
  z-index:20!important;
}
#visualAnchor .v24-divider::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:3px!important;
  height:72px!important;
  border-radius:3px!important;
  background:repeating-linear-gradient(to bottom,rgba(255,255,255,.95) 0 5px,transparent 5px 10px)!important;
}
#visualAnchor .v24-visual-pane,
#visualAnchor .v24-step-pane,
#visualAnchor .v24-pane{
  min-width:0!important;
  width:auto!important;
}

/* ---------- Q33 LIGHT = same visual language as Section A ---------- */
:root[data-app-theme="light"] #visualAnchor .v24-dual-grid,
:root[data-app-theme="light"] #visualAnchor .v24-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-pane,
:root[data-app-theme="light"] #visualAnchor .v24-step-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-view,
:root[data-app-theme="light"] #visualAnchor .v24-scenes{
  background:#f6fbfd!important;
  color:#163242!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-pane-head{
  background:#eef5f9!important;
  color:#173245!important;
  border-color:#aac4d2!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene,
:root[data-app-theme="light"] #visualAnchor .v24-scenes .card,
:root[data-app-theme="light"] #visualAnchor .twocol .mini,
:root[data-app-theme="light"] #visualAnchor .note,
:root[data-app-theme="light"] #visualAnchor .teacher-sync-strip,
:root[data-app-theme="light"] #visualAnchor .teacher-progress,
:root[data-app-theme="light"] #visualAnchor .v24-playbar{
  background:#fff!important;
  color:#163242!important;
  border-color:#a7c3d2!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-scenes .scene.active{
  background:#e3f5e9!important;
  color:#123a29!important;
  border-color:#2d9966!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-divider{
  background:linear-gradient(180deg,#7fb6d1,#4d8dad)!important;
  border-left:1px solid #8fb4c8!important;
  border-right:1px solid #8fb4c8!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-divider:hover,
:root[data-app-theme="light"] #visualAnchor .v24-divider.v57-dragging{
  background:#2d91bd!important;
}
:root[data-app-theme="light"] #visualAnchor .v24-head-controls button,
:root[data-app-theme="light"] #visualAnchor .v25-teacher-font-controls button,
:root[data-app-theme="light"] #visualAnchor .v24-playbar button,
:root[data-app-theme="light"] #visualAnchor button.primary{
  background:#fff!important;
  color:#173245!important;
  border:1px solid #86adc4!important;
}

/* Q33 SVG: explicit light palette */
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg{
  background:#fbfdfe!important;
  color:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg text{
  fill:#173245!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg line,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg path,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg polyline{
  stroke:#0b7eaa!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg rect{
  stroke:#86adc4!important;
}
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg circle,
:root[data-app-theme="light"] #visualAnchor #v24LessonSvg ellipse{
  stroke:#177b54!important;
}

/* ---------- Q33 DARK = same visual language as Section A ---------- */
:root[data-app-theme="dark"] #visualAnchor .v24-dual-grid,
:root[data-app-theme="dark"] #visualAnchor .v24-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-visual-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-step-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-visual-view,
:root[data-app-theme="dark"] #visualAnchor .v24-scenes{
  background:#071923!important;
  color:#edf7fb!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-pane-head{
  background:#0a2035!important;
  color:#eef8fc!important;
  border-color:#315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-scenes .scene,
:root[data-app-theme="dark"] #visualAnchor .v24-scenes .card,
:root[data-app-theme="dark"] #visualAnchor .twocol .mini,
:root[data-app-theme="dark"] #visualAnchor .note,
:root[data-app-theme="dark"] #visualAnchor .teacher-sync-strip,
:root[data-app-theme="dark"] #visualAnchor .teacher-progress,
:root[data-app-theme="dark"] #visualAnchor .v24-playbar{
  background:#0d2738!important;
  color:#edf7fb!important;
  border-color:#335a6f!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-scenes .scene.active{
  background:#0d3c2d!important;
  color:#effff7!important;
  border-color:#40d795!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-divider{
  background:linear-gradient(180deg,#1b5d83,#0f3854)!important;
  border-left:1px solid #315b72!important;
  border-right:1px solid #315b72!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-divider:hover,
:root[data-app-theme="dark"] #visualAnchor .v24-divider.v57-dragging{
  background:#238fc3!important;
}
:root[data-app-theme="dark"] #visualAnchor .v24-head-controls button,
:root[data-app-theme="dark"] #visualAnchor .v25-teacher-font-controls button,
:root[data-app-theme="dark"] #visualAnchor .v24-playbar button,
:root[data-app-theme="dark"] #visualAnchor button.primary{
  background:#0d3153!important;
  color:#f5fbff!important;
  border:1px solid #3a739a!important;
}
:root[data-app-theme="dark"] #visualAnchor #v24LessonSvg{
  background:#071923!important;
  color:#eef8fc!important;
}
:root[data-app-theme="dark"] #visualAnchor #v24LessonSvg text{
  fill:#eef8fc!important;
}

/* Keep SVG sharp at any pane width */
#visualAnchor #v24LessonSvg{
  width:100%!important;
  height:100%!important;
  display:block!important;
  max-width:none!important;
}
#visualAnchor #v24LessonSvg *{
  vector-effect:non-scaling-stroke!important;
}

/* Mobile: stack instead of horizontal resize */
@media(max-width:900px){
  #visualAnchor .v24-dual-grid{
    grid-template-columns:1fr!important;
  }
  #visualAnchor .v24-divider{
    display:none!important;
  }
}

/* ui/compatibility/v58-unified-layout-scroll-fix.css */

/* V58: one scroll model, one visual-lesson layout for Section A and Q33. */
html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
body{overscroll-behavior-y:auto!important}
.main-app{position:relative!important;top:auto!important;bottom:auto!important;margin:84px auto 0!important;height:auto!important;min-height:calc(100vh - 122px)!important;overflow:visible!important;padding-bottom:22px!important}
.studygrid{height:clamp(520px,calc(100vh - 190px),760px)!important;min-height:520px!important;overflow:hidden!important}
.studybody,#answerPanel .answer-main{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;scrollbar-gutter:stable}
#visualAnchor{height:auto!important;min-height:0!important;overflow:visible!important;scroll-margin-top:90px!important;padding-bottom:0!important}
#visualAnchor .visualcard{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
#visualAnchor .visualcard>.body{height:auto!important;min-height:0!important;overflow:visible!important}
#visualAnchor .v31-dual{height:clamp(500px,calc(100vh - 220px),720px)!important;min-height:500px!important;overflow:hidden!important}
#visualAnchor .v31-pane{min-height:0!important;overflow:hidden!important}
#visualAnchor .v31-scenes{min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain!important}
.v58-keyidea{margin:10px 0 4px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent,#59c8ff) 45%,transparent);border-radius:10px;background:color-mix(in srgb,var(--accent,#59c8ff) 10%,transparent);display:grid;gap:4px;line-height:1.35;width:100%;box-sizing:border-box}
.v58-keyidea b{font-size:calc(11px * var(--v45-step-scale,1));letter-spacing:.07em;text-transform:uppercase;color:var(--accent,#7bdcff)}
.v58-keyidea > span{font-size:calc(13px * var(--v45-step-scale,1));color:var(--text,#e9f4ff)}
.v58-page-bottom{display:flex;justify-content:center;padding:14px 12px 22px}
.v58-page-bottom .v35-back-study{position:static!important;min-width:260px;padding:11px 18px;border-radius:999px}
.v58-long-question{padding-bottom:18px}
.v58-long-part{margin:0 0 12px;padding:12px 14px;border-left:3px solid var(--accent,#59c8ff);background:rgba(73,155,211,.08);border-radius:0 9px 9px 0;line-height:1.55}
.v58-or-separator{display:flex;align-items:center;gap:12px;margin:15px 0;color:#ffd36b;font-weight:900}
.v58-or-separator:before,.v58-or-separator:after{content:"";height:1px;flex:1;background:rgba(255,211,107,.42)}
.v58-or-separator span{border:1px solid rgba(255,211,107,.55);border-radius:999px;padding:5px 14px}
.v58-or-question{margin-top:0!important}
.v58-ms-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.v58-answer-branch>h3{margin:12px 0 8px;color:var(--accent,#7bdcff)}
.v58-choice-tabs{display:flex;gap:10px;margin:0 0 14px;padding:0 0 12px;border-bottom:1px solid rgba(91,168,220,.28)}
.v58-choice-tabs button{border:1px solid #3479ad;background:#0d3154;color:#eaf7ff;border-radius:10px;padding:9px 14px;font-weight:900}
.v58-choice-tabs button.active{background:#157ad7;border-color:#62c9ff;color:#fff;box-shadow:0 0 0 1px rgba(98,201,255,.16) inset}
.v58-choice-pane{display:none}.v58-choice-pane.active{display:block}
.v58-ar-box{margin:0 0 14px;padding:13px;border:1px solid rgba(255,193,59,.55);background:rgba(255,193,59,.09);border-radius:11px}
.v58-ar-title{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#ffd36b;margin-bottom:8px}
.v58-ar-option{display:grid;gap:5px}.v58-ar-option span{line-height:1.45}
@media(max-width:900px){
 .studygrid{height:auto!important;min-height:0!important;overflow:visible!important}
 .studybody,#answerPanel .answer-main{max-height:68vh!important}
 #visualAnchor .v31-dual{display:grid!important;grid-template-columns:1fr!important;height:auto!important;min-height:0!important}
 #visualAnchor .v31-divider{display:none!important}
 #visualAnchor .v31-pane{min-height:460px!important}
 #visualAnchor .v31-scenes{max-height:420px!important}
}

/* ui/compatibility/v6-katex-layout-fix.css */

/* The lesson text uses block spans; reset that inherited rule for KaTeX internals. */
.v31-scene .katex,
.v24-scenes .scene .katex{display:inline-block!important;white-space:nowrap!important;}
.v31-scene .katex-display,.v24-scenes .scene .katex-display{display:block!important;white-space:normal!important;}

/* ui/compatibility/v25-parity-evidence.css */

.v25-inline-evidence{margin:12px 0;background:#071a2d;border:1px solid #285980;border-radius:10px;padding:8px 10px;color:#cfe8f8}
.v25-inline-evidence summary{cursor:pointer;font-weight:900;color:#9edcff}
.v25-inline-evidence-note{font-size:11px;color:#9db7c9;margin:7px 0}
.v25-inline-evidence img{display:block;max-width:100%;max-height:240px;object-fit:contain;background:#fff;border-radius:7px;margin:6px auto 2px}
.ms-crop-tabs{display:flex;gap:8px;margin:8px 0}.ms-crop-tabs button{border:1px solid #3b79a3;background:#0d3153;color:#eaf7ff;border-radius:8px;padding:6px 14px;font-weight:900;cursor:pointer}.ms-crop-tabs button.active{background:#157ad7;border-color:#62c9ff;color:#fff}
.termcard,.relatedcard{margin:12px 0;padding:11px 13px;border:1px solid #285980;border-radius:10px;background:#0b2235;color:#e8f5fb}
.termcard h3,.relatedcard h3{margin:0 0 8px;color:#9edcff;font-size:14px}
.pills{display:flex;flex-wrap:wrap;gap:6px}.pills .pill{display:inline-block;padding:5px 8px;border-radius:999px;background:#164663;border:1px solid #2b7597;color:#e9f8ff;font-size:11px;font-weight:800}
.wave-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;margin:6px 0 10px;padding:4px 0}.wave-list>div{display:block;text-align:center;white-space:nowrap}
:root[data-app-theme="light"] .wave-list>div{color:#172033}
:root[data-app-theme="light"] .termcard,:root[data-app-theme="light"] .relatedcard{background:#f4f9fc;border-color:#aac9da;color:#173245}
:root[data-app-theme="light"] .termcard h3,:root[data-app-theme="light"] .relatedcard h3{color:#185b91}
:root[data-app-theme="light"] .pills .pill{background:#e6f2f8;border-color:#a9cddd;color:#174d6d}
.v25-parity-teach .step{margin:9px 0}
.ai-layer-tag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;background:#efe8ff;border:1px solid #c5afe9;color:#68439b;font:800 10px Inter,Arial,sans-serif;vertical-align:middle}

/* ui/compatibility/section-e-board-view.css */

/* Section E classroom-board mode: official material remains selectable and
   verbatim, while the visual lesson stays a separate pedagogical layer. */
#questionPanel.section-e-board .question-surface,
#answerPanel.section-e-board .verbatimbox,
#answerPanel.section-e-board .teachbox{background:linear-gradient(135deg,#102f3a 0%,#0b2530 100%);border:1px solid #6e9c91;box-shadow:inset 0 0 0 2px rgba(219,255,238,.04),0 8px 22px rgba(0,0,0,.16)}
#questionPanel.section-e-board .question-surface:before,
#answerPanel.section-e-board .verbatimbox:before,#answerPanel.section-e-board .teachbox:before{content:none!important;display:none!important}
#questionPanel.section-e-board .v58-long-part,#answerPanel.section-e-board .step p,#answerPanel.section-e-board .step h4{color:#ecfff7}
#questionPanel.section-e-board .katex,#answerPanel.section-e-board .katex{color:#fff4bf}
#questionPanel.section-e-board .v58-or-separator{border-color:#d7b45a}
#questionPanel.section-e-board .v58-or-separator span{background:#183c42;color:#ffe89a}
@media(max-width:900px){#questionPanel.section-e-board .question-surface:before,#answerPanel.section-e-board .verbatimbox:before,#answerPanel.section-e-board .teachbox:before{font-size:9px}}
<style id="typography-v90">
/* One typography contract for the entire application. */
:root{--font-body:16px;--font-small:12px;--font-header:18px;--font-question:17px;--font-answer:16px;--font-formula:1.08em;--line-body:1.55;--line-question:1.58}
body{font-size:var(--font-body);line-height:var(--line-body)}
button,input,select{font-size:inherit}
.appbar,.top{font-size:var(--font-header)}
.app-brand,.logo{font-size:30px}
.app-micro,.sub{font-size:var(--font-small)}
.head h2,.studyhead h2,.v46-answer-title{font-size:var(--font-header)!important;line-height:1.25}
#questionPanel .studybody,#answerPanel .answer-main{font-size:var(--font-answer)}
#questionPanel .qtext,.question-surface .v58-long-part{font-size:var(--font-question);line-height:var(--line-question)}
#answerPanel .verbatimbox,#answerPanel .teachbox{font-size:var(--font-answer);line-height:var(--line-body)}
#answerPanel .step h4{font-size:1em;line-height:1.35}
#answerPanel .step p,#answerPanel .step li{font-size:1em;line-height:var(--line-body)}
.katex{font-size:var(--font-formula);line-height:1.25}
.katex-display{font-size:1.12em;overflow-x:auto;overflow-y:hidden;padding:2px 0}
.qtext .katex,.v58-long-part .katex,.step .katex,.v31-scenes .katex{font-size:1.08em}
.equation-stack{display:block;margin:8px 0}.equation-step-line{display:block;padding:5px 9px;margin:4px 0;border-left:3px solid var(--cyan);background:rgba(7,28,48,.72);border-radius:5px;overflow-x:auto;white-space:normal}.equation-step-line .katex-display{margin:0;text-align:left}
.qtext p,.v58-long-part,.step p{overflow-wrap:normal;word-break:normal}
@media(max-width:650px){:root{--font-body:15px;--font-question:16px;--font-answer:15px}.app-brand,.logo{font-size:26px}.head h2,.studyhead h2,.v46-answer-title{font-size:17px!important}}
 
/* ui/compatibility/final-single-scroll-and-safe-fractions.css */

html,body{overflow-y:auto!important;overflow-x:hidden!important}
.main-app{height:auto!important;min-height:calc(100vh - 122px)!important;overflow:visible!important}
.studygrid{height:auto!important;min-height:0!important;overflow:visible!important}
.studybody,#answerPanel .answer-main{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
.answerlayout{height:auto!important;overflow:visible!important}

/* ui/compatibility/answer-side-by-side-layout.css */

/* Official and teacher routes share the answer panel and sit side-by-side. */
.v58-choice-pane.active{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start}
.v58-choice-pane.active>.verbatimbox{grid-column:1;grid-row:1 / span 2}
.v58-choice-pane.active>.sectionlabel.teach{grid-column:2;grid-row:1}
.v58-choice-pane.active>.teachbox{grid-column:2;grid-row:2}
.v58-choice-pane.active>.sectionlabel.verbatim{display:none}
@media(max-width:900px){.v58-choice-pane.active{display:block}.v58-choice-pane.active>.sectionlabel.teach,.v58-choice-pane.active>.teachbox{margin-top:12px}}
<style id="uniform-marking-colors">
/* Use the same question-panel blue code for every official/teacher mark. */
#answerPanel .markbadge,#answerPanel .submark{background:#edf6ff!important;border:1px solid #bdd8ee!important;color:#164f79!important}
#answerPanel .sectionlabel.verbatim .dot,#answerPanel .sectionlabel.teach .dot{background:var(--cyan)!important}
<style id="mobile-portrait-filterbar-fix">
/* Keep every filter reachable on narrow portrait screens. */
@media (max-width:680px){
  .mobile-question-nav{display:none!important}
  body .filterbar{top:58px!important;height:auto!important;max-height:210px!important;overflow-x:hidden!important;overflow-y:auto!important}
  .filterinner{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;padding:6px 8px!important;align-items:center!important}
  .filterinner select,.filterinner input{width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;padding:6px 7px!important;font-size:11px!important}
  #filterSearch{grid-column:4!important;grid-row:2!important}
  #yearFilter{grid-column:2!important;grid-row:1!important}
  #subjectFilter{grid-column:3!important;grid-row:1!important}
  #setFilter{grid-column:4!important;grid-row:1!important}
  #sectionFilter{grid-column:4!important;grid-row:1!important}
  #chapterFilter{grid-column:1!important;grid-row:2!important}
  #typeFilter{grid-column:2!important;grid-row:2!important}
  #difficultyFilter{grid-column:3!important;grid-row:2!important}
  body .main-app{top:0!important;margin-top:0!important}
}

/* assets/student-portal.css */
#studentPortal{--p-bg:#f3f6fc;--p-card:#ffffffed;--p-text:#142640;--p-muted:#576b87;--p-line:#d3dff0;--p-input:#f7f9fd;--p-accent:#345be3;--p-soft:#e8eefb;position:fixed;inset:0;z-index:100000;overflow-y:auto;background:radial-gradient(ellipse at 0 0,#779cff26,transparent 55%),radial-gradient(ellipse at 100% 55%,#5ddcc218,transparent 60%),var(--p-bg);color:var(--p-text);font:15px/1.5 system-ui,sans-serif;color-scheme:light}
#studentPortal[data-theme=dark]{--p-bg:#091322;--p-card:#122139f5;--p-text:#eaf1ff;--p-muted:#a4b7d2;--p-line:#2c4263;--p-input:#0c1a2e;--p-accent:#a7bdff;--p-soft:#203354;color-scheme:dark}
#studentPortal:before{content:"";position:fixed;inset:0;background:url('../../assets/portal-subjects.svg') center top / 440px 680px repeat;pointer-events:none;opacity:.6}
#studentPortal *{box-sizing:border-box}#studentPortal :not(.katex):not(.katex *){font-family:system-ui,sans-serif!important}#studentPortal .portal-shell{position:relative;max-width:470px;margin:auto;padding:26px 20px 40px}#studentPortal .portal-brand{display:flex;align-items:center;gap:11px;margin-bottom:34px;min-width:0}#studentPortal .portal-logo{display:grid;place-items:center;flex-shrink:0;width:50px;height:54px;border-radius:16px;background:linear-gradient(140deg,#6985ff,#3154d5 65%,#2244a7);box-shadow:0 7px 20px #335bdb35;border:1px solid #9bacff80}#studentPortal .portal-logo svg{width:35px;height:35px}#studentPortal .portal-wordmark{font-size:21px;font-weight:850;letter-spacing:-.8px;line-height:1.15}#studentPortal .portal-wordmark em{font-style:normal;color:var(--p-accent)}#studentPortal .portal-wordmark small{display:block;font-size:8px;letter-spacing:2.2px;font-weight:700;color:var(--p-muted);margin-top:7px}#studentPortal .portal-theme{margin-left:auto;flex-shrink:0;width:42px;height:42px;border:1px solid var(--p-line);background:var(--p-card);color:var(--p-text);border-radius:14px;font-size:22px;cursor:pointer}
#studentPortal .portal-kicker{font-size:10px;letter-spacing:2px;color:var(--p-accent);font-weight:800}#studentPortal h1{font-size:32px;line-height:1.17;letter-spacing:-1px;margin:12px 0;font-weight:800}#studentPortal p{color:var(--p-muted);margin:8px 0 20px}#studentPortal .portal-tabs{display:flex;background:var(--p-soft);padding:5px;border:1px solid var(--p-line);border-radius:14px;margin:24px 0 16px}#studentPortal button{font:inherit;cursor:pointer}#studentPortal .portal-tabs button{flex:1;border:0;background:none;color:var(--p-muted);border-radius:10px;padding:10px 4px;font-size:13px;font-weight:700}#studentPortal .portal-tabs button.active{background:var(--p-card);color:var(--p-accent);box-shadow:0 2px 8px #0001}
#studentPortal form{padding:20px;background:var(--p-card);border:1px solid var(--p-line);border-radius:20px;box-shadow:0 12px 36px #0a214710}#studentPortal label{display:block;font-size:12px;font-weight:650;margin-bottom:16px}#studentPortal input{display:block;width:100%;height:48px;margin-top:6px;border:1px solid var(--p-line);border-radius:11px;background:var(--p-input);color:var(--p-text);padding:10px 12px;font-size:16px;min-width:0}#studentPortal input::placeholder{color:var(--p-muted);opacity:.85;font-size:13px}#studentPortal input:focus{outline:3px solid #6287ff35;border-color:#7092ff}#studentPortal .portal-primary{width:100%;border:1px solid #8199ff80;border-radius:12px;padding:14px 8px;background:linear-gradient(115deg,#496bec,#3152ca);color:white;font-size:14px;font-weight:750;box-shadow:0 5px 16px #335bdb25}#studentPortal button:disabled{opacity:.6;cursor:wait}#studentPortal .portal-error{color:#c4354e;font-size:13px}#studentPortal[data-theme=dark] .portal-error{color:#ff9fb0}#studentPortal .portal-note{font-size:11px;text-align:center;margin-top:18px}
#studentPortal .portal-welcome{padding:24px;background:linear-gradient(125deg,#23458a,#193668);border:1px solid #5778b4;border-radius:22px;color:white;margin-bottom:26px;box-shadow:0 12px 26px #10244320}#studentPortal .portal-welcome p{color:#c5d6f4;margin:0;font-size:13px}#studentPortal .portal-welcome h1{font-size:27px}#studentPortal .portal-mode{display:block;text-align:left;width:100%;padding:20px;border:1px solid var(--p-line);background:var(--p-card);border-radius:18px;margin:14px 0;color:var(--p-text);box-shadow:0 5px 20px #233c6510}#studentPortal .portal-mode b{font-size:19px;display:block;margin:10px 0 7px}#studentPortal .portal-mode span{display:block;color:var(--p-muted);font-size:13px}#studentPortal .portal-mode .portal-icon{display:inline-flex;padding:8px 12px;border-radius:12px;background:var(--p-soft);color:var(--p-accent);font-size:22px}#studentPortal .portal-mode.exam .portal-icon{background:#14866c20;color:#269f86}#studentPortal .portal-profile{background:var(--p-card);border:1px solid var(--p-line);border-radius:18px;padding:20px;margin-top:26px}#studentPortal h2{font-size:17px;margin:0 0 12px}#studentPortal dl{margin:0}#studentPortal dt{font-size:11px;color:var(--p-muted);margin-top:12px}#studentPortal dd{margin:3px 0;overflow-wrap:anywhere;font-size:14px}#studentPortal .portal-logout{background:var(--p-card);border:1px solid var(--p-line);border-radius:12px;padding:12px;color:var(--p-text);margin-top:20px;width:100%}body.portal-open{overflow:hidden!important}#studentPortal[hidden]{display:none!important}#portalHomeShortcut{position:fixed;right:12px;bottom:12px;z-index:9999;border:1px solid #a6b8d8;background:#fff;color:#243f70;border-radius:24px;padding:10px 18px;box-shadow:0 3px 12px #0002;font:600 14px system-ui}body.portal-open #portalHomeShortcut{display:none}#studentPortal button:focus-visible{outline:3px solid #7e9bff;outline-offset:3px}@media(max-width:340px){#studentPortal .portal-shell{padding:20px 12px}#studentPortal .portal-logo{width:41px;height:46px}#studentPortal .portal-wordmark{font-size:18px}#studentPortal .portal-wordmark small{letter-spacing:1px;font-size:7px}#studentPortal .portal-brand{gap:8px}#studentPortal h1{font-size:28px}#studentPortal form{padding:16px}}
/* Keep touch scrolling available without visible scrollbar rails on phones. */
@media (max-width:680px){
  html,body,body *{scrollbar-width:none!important;-ms-overflow-style:none!important}
  html::-webkit-scrollbar,body::-webkit-scrollbar,body *::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}
/* Translucent account form keeps the subject artwork visible while scrolling. */
#studentPortal form{background:rgba(255,255,255,.62);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
#studentPortal[data-theme=dark] form{background:rgba(18,33,57,.62)}
/* Home: descriptive feature cards and distinct subject collections. */
#studentPortal[data-screen=home] .portal-shell{max-width:760px}
#studentPortal[data-screen=home][data-scene=aurora]{background:radial-gradient(ellipse at 0 15%,#7c6bff30,transparent 55%),radial-gradient(ellipse at 100% 65%,#28cbaa25,transparent 60%),var(--p-bg)}
#studentPortal[data-screen=home][data-scene=blueprint]{background:linear-gradient(#799ee212 1px,transparent 1px),linear-gradient(90deg,#799ee212 1px,transparent 1px),var(--p-bg);background-size:26px 26px}
#studentPortal[data-screen=home][data-scene=sunrise]{background:radial-gradient(ellipse at 100% 0,#f6a54835,transparent 50%),radial-gradient(ellipse at 0 75%,#ef719525,transparent 65%),var(--p-bg)}
#studentPortal .home-section{margin:30px 0}#studentPortal .home-section-title h2{font-size:21px;letter-spacing:-.5px;margin-bottom:4px}#studentPortal .home-section-title>span{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--p-muted)}#studentPortal .welcome-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}#studentPortal .welcome-tags span{font-size:10px;border:1px solid #9dbcf34a;background:#ffffff0a;border-radius:20px;padding:5px 10px}
#studentPortal .toolkit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}#studentPortal .toolkit-card{display:flex;align-items:flex-start;gap:13px;min-width:0;padding:19px 16px;text-align:left;border-radius:18px;border:1px solid var(--p-line);background:var(--p-card);color:var(--p-text);box-shadow:0 6px 16px #0b21420a}#studentPortal .toolkit-card>div{min-width:0}#studentPortal .toolkit-icon{flex-shrink:0;display:grid;place-items:center;width:40px;height:43px;border-radius:12px;background:var(--p-soft);font-size:22px;color:var(--p-accent)}#studentPortal .toolkit-card h3{font-size:17px;margin:0 0 6px;line-height:1.3}#studentPortal .toolkit-card strong{font-size:11px;font-weight:650;color:var(--p-accent);display:block}#studentPortal .toolkit-card p{font-size:12px;line-height:1.6;margin:7px 0 12px}#studentPortal .toolkit-link{font-size:11px;font-weight:750;color:var(--p-accent)}#studentPortal .tone-1 .toolkit-icon,#studentPortal .tone-5 .toolkit-icon{background:#26b59520}#studentPortal .tone-3 .toolkit-icon,#studentPortal .tone-7 .toolkit-icon{background:#ecaa2420}#studentPortal .tone-4 .toolkit-icon{background:#df567120;color:#d85f78}
#studentPortal .subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}#studentPortal .section-copy{font-size:13px;margin:12px 0 16px}#studentPortal .subject-card{text-align:left;border:1px solid var(--p-line);border-radius:18px;padding:17px 14px;color:var(--p-text);background:linear-gradient(150deg,#6d8ff528,transparent),var(--p-card);min-width:0}#studentPortal .subject-1{background:linear-gradient(150deg,#29c8a528,transparent),var(--p-card)}#studentPortal .subject-2{background:linear-gradient(150deg,#b38cf628,transparent),var(--p-card)}#studentPortal .subject-3{background:linear-gradient(150deg,#eaaa3928,transparent),var(--p-card)}#studentPortal .subject-card>*{display:block}#studentPortal .subject-formula{font-size:22px;font-weight:750;letter-spacing:1px;color:var(--p-accent);margin-bottom:20px}#studentPortal .subject-card b{font-size:15px}#studentPortal .subject-card span:not(.subject-formula){font-size:11px;color:var(--p-muted);margin-top:5px}#studentPortal .subject-card small{font-size:10px;color:var(--p-accent);margin-top:14px;font-weight:700}
#studentPortal .daily-tip{padding:22px;border:1px solid var(--p-line);background:linear-gradient(120deg,#7d7aff18,#36c5ac12),var(--p-card);border-radius:18px}#studentPortal .daily-tip>span{font-size:10px;letter-spacing:1px;color:var(--p-accent)}#studentPortal .daily-tip h2{margin:10px 0}#studentPortal .daily-tip p{font-size:13px;margin:0}#studentPortal .home-personalise{margin-top:25px}#studentPortal .home-personalise p{font-size:12px}#studentPortal .scene-options{display:flex;gap:7px;flex-wrap:wrap}#studentPortal .scene-options button,#studentPortal .recall-nav button,#studentPortal .portal-back{border:1px solid var(--p-line);background:var(--p-card);border-radius:10px;color:var(--p-text);padding:10px 12px;font-size:12px}#studentPortal .scene-options [aria-pressed=true]{border-color:var(--p-accent);color:var(--p-accent);background:var(--p-soft)}#studentPortal .portal-back{margin-bottom:24px}#studentPortal .recall-card{background:var(--p-card);border:1px solid var(--p-line);border-radius:22px;padding:25px 20px;margin:24px 0}#studentPortal .recall-card h2{font-size:23px;line-height:1.5;margin:22px 0 28px}#studentPortal .subject-tag{font-size:12px;color:var(--p-accent)}#studentPortal #recallAnswer{border-top:1px solid var(--p-line);padding-top:20px;margin-bottom:0;color:var(--p-text)}#studentPortal .recall-nav{display:flex;justify-content:space-between;gap:12px}#studentPortal .recall-nav button{flex:1}#studentPortal .recall-nav button:disabled{opacity:.4;cursor:default}@media(max-width:560px){#studentPortal .toolkit-grid{grid-template-columns:1fr}}@media(max-width:320px){#studentPortal .subject-grid{gap:8px}#studentPortal .subject-card{padding:14px 10px}#studentPortal .subject-card b{font-size:13px}}

.mep-account-security{width:min(94vw,600px);max-height:88vh;overflow:auto;border:1px solid #7b9ec9;border-radius:18px;padding:20px;background:#fff;color:#102b48;font:inherit;box-shadow:0 20px 70px #07152d50}
.mep-account-security::backdrop{background:#07152d85}
.mep-account-security header,.mep-account-security .account-security-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mep-account-security h2{margin:0;font-size:23px}.mep-account-security h3{font-size:19px;margin:0 0 12px}
.mep-account-security section{padding-top:18px;margin-top:18px;border-top:1px solid #cddbed}
.mep-account-security p{line-height:1.5}.mep-account-security label{display:block;margin:14px 0;font:inherit}
.mep-account-security input,.mep-account-security select{display:block;width:100%;margin-top:6px;min-height:44px;padding:10px;border:1px solid #91acce;border-radius:10px;background:transparent;color:inherit;font:inherit}
.mep-account-security button{min-height:44px;padding:10px 14px;border:1px solid #7b9ec9;border-radius:10px;background:transparent;color:inherit;font:inherit;cursor:pointer}
.mep-account-security button:disabled{opacity:.55;cursor:default}.mep-account-security button:focus-visible,.mep-account-security input:focus-visible,.mep-account-security select:focus-visible{outline:2px solid #315ee7;outline-offset:3px}
.mep-account-security .account-security-status{padding:10px 0;min-height:28px}.mep-account-security .account-verify{padding:8px 0}
[data-app-theme=dark] .mep-account-security{background:#102039;color:#eef4ff;border-color:#6583ab}
@media(max-width:390px){.mep-account-security{padding:14px}.mep-account-security .account-security-actions button{width:100%}}

/* ui/compatibility/v77-optional-visual.css */

.v31-optional-visual{margin:12px 0;padding:12px;border:1px solid #315b7e;border-radius:12px;background:#071827;color:#d9edf7}
.v31-optional-head{font-weight:800;color:#a9eeff;margin-bottom:8px}.v31-optional-head span{color:#d9ffea;margin-left:8px}
.v31-model-fallback{padding:14px;border:1px dashed #557182;border-radius:8px;line-height:1.5}.v31-simulation-canvas{width:100%;height:auto;display:block;border-radius:8px}

/* ui/compatibility/final-color-and-route-layout-override.css */

#answerPanel .markbadge,#answerPanel .submark{background:#edf6ff!important;border-color:#bdd8ee!important;color:#164f79!important;box-shadow:none!important}
#answerPanel .sectionlabel.verbatim .dot,#answerPanel .sectionlabel.teach .dot{background:#2ed8ff!important}
@media(min-width:901px){
  #answerPanel .v58-choice-pane.active{display:block!important;width:100%!important}
}

/* ui/compatibility/answer-view-tabs-final.css */

.v58-mode-tabs{display:flex;gap:8px;margin:0 0 12px;border-bottom:1px solid rgba(91,168,220,.3);padding-bottom:8px}
.v58-mode-tabs button{background:#0d3154;border:1px solid #3479ad;color:#eaf7ff;border-radius:9px;padding:8px 12px;font-weight:900;cursor:pointer}
.v58-mode-tabs button.active{background:#157ad7;border-color:#62c9ff}
.v58-mode-pane{display:none!important}.v58-mode-pane.active{display:block!important}

/* ui/compatibility/global-unified-mark-colors.css */

/* One mark treatment across the complete UI: question, official and teacher. */
.marks,.markbadge,.submark{background:#edf6ff!important;border:1px solid #bdd8ee!important;color:#164f79!important;box-shadow:none!important}
.sectionlabel .dot,.sectionlabel.verbatim .dot,.sectionlabel.teach .dot{background:#2ed8ff!important}

/* ui/compatibility/final-unified-answer-box-colors.css */

/* Remove the old V25 green/purple distinction from answer containers. */
#answerPanel .verbatimbox,#answerPanel .teachbox,#answerPanel .final{background:#0d2942!important;border:1px solid #2b6b91!important;color:#eaf7ff!important;box-shadow:none!important}
#answerPanel .marks,#answerPanel .markbadge,#answerPanel .submark,.marks,.markbadge,.submark{background-color:#edf6ff!important;background-image:none!important;border-color:#bdd8ee!important;color:#164f79!important}
#answerPanel .verbatimbox h3,#answerPanel .teachbox h3,#answerPanel .teachbox h4{color:#c9f3ff!important}

/* ui/compatibility/official-canonical-crop-style.css */

.official-canonical-label{font:800 11px Inter,Arial;color:#9fdfff;margin:8px 0 5px;letter-spacing:.03em}
.official-canonical-crop{display:block;width:100%;max-height:560px;object-fit:contain;object-position:top center;background:#fff;border:1px solid #3c6981;border-radius:8px;margin:0 0 10px}

/* ui/compatibility/final-no-nested-scroll.css */

/* One page scroll only; the answer panel never owns a second scrollbar. */
html,body{overflow-y:auto!important;overflow-x:hidden!important}
.main-app,.studygrid,.studybody,.answerlayout,#answerPanel .answer-main{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important}
/* Answer routes use the answer panel itself as the surface; no extra outer card. */
#answerPanel .v58-choice-pane{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
#answerPanel .v58-choice-pane>.teachbox,
#answerPanel .v58-choice-pane>.verbatimbox{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}
#answerPanel .v58-choice-pane>.teachbox>.step:first-child{border-left:0!important;background:transparent!important}
/* The route cards are nested inside mode panes; flatten those outer wrappers too. */
#answerPanel .v58-choice-pane .v58-mode-pane>.teachbox,
#answerPanel .v58-choice-pane .v58-mode-pane>.verbatimbox,
#answerPanel .v58-choice-pane .v58-mode-pane>.verbatimbox .v58-answer-branch{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}
/* Keep the complete answer route in the selected theme, including inner panes. */
:root[data-app-theme="light"] #answerPanel .v58-choice-pane,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .v58-mode-pane,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .v58-answer-branch,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .teachbox,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .verbatimbox{background:#ffffff!important;color:#172631!important}
:root[data-app-theme="light"] #answerPanel .v58-choice-pane h3,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane h4,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane p,
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .official-canonical-label{color:#172631!important}
:root[data-app-theme="light"] #answerPanel .v58-choice-pane .step{background:#eef6fa!important;border-color:#6ab6d8!important;color:#172631!important}
/* Final theme contract for every answer/visual surface and mark badge. */
:root[data-app-theme="dark"] #answerPanel .marks,
:root[data-app-theme="dark"] #answerPanel .markbadge,
:root[data-app-theme="dark"] #answerPanel .submark,
:root[data-app-theme="light"] #answerPanel .marks,
:root[data-app-theme="light"] #answerPanel .markbadge,
:root[data-app-theme="light"] #answerPanel .submark{background:#14334a!important;color:#e8f0f4!important;border-color:#3c6981!important}
:root[data-app-theme="dark"] #visualAnchor .v24-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-visual-view,
:root[data-app-theme="dark"] #visualAnchor .v24-step-pane,
:root[data-app-theme="dark"] #visualAnchor .v24-scenes,
:root[data-app-theme="dark"] #visualAnchor .v31-dual,
:root[data-app-theme="dark"] #visualAnchor .v31-pane{background:#071923!important;color:#e3eef4!important;border-color:#315b7e!important}
:root[data-app-theme="light"] #visualAnchor .v24-pane,
:root[data-app-theme="light"] #visualAnchor .v24-visual-view,
:root[data-app-theme="light"] #visualAnchor .v24-step-pane,
:root[data-app-theme="light"] #visualAnchor .v24-scenes,
:root[data-app-theme="light"] #visualAnchor .v31-dual,
:root[data-app-theme="light"] #visualAnchor .v31-pane{background:#f7fbfd!important;color:#1d3442!important;border-color:#aac5d7!important}
:root[data-app-theme="light"] #visualAnchor .v24-pane-head,
:root[data-app-theme="light"] #visualAnchor .v31-panehead{background:#dceaf3!important;color:#1d3442!important}
:root[data-app-theme="light"] .v25-inline-evidence{background:#eef6fa!important;color:#173245!important;border-color:#aac5d7!important}
:root[data-app-theme="light"] .v25-inline-evidence summary{color:#173245!important}
.v58-choice-pane.active{display:block!important}
.v58-mode-tabs{width:100%!important}
#answerPanel .v58-mode-tabs{position:sticky;top:0;z-index:5;background:#0d2035;padding-top:6px}

/* assets/reviewed-ui.css */
:root[data-app-theme="light"]{--review-bg:#fff;--review-surface:#edf5fa;--review-ink:#173245;--review-border:#9bbace;--review-mark:#e4f0f8}
:root[data-app-theme="dark"]{--review-bg:#0b2230;--review-surface:#123244;--review-ink:#e7f2f9;--review-border:#3c6981;--review-mark:#14394f}
@media(min-width:901px){
 .main-app{width:100%!important;box-sizing:border-box!important}
 .studygrid{display:grid!important;grid-template-columns:minmax(0,var(--leftPane,46%)) 10px minmax(0,1fr)!important;gap:0!important}
 #questionPanel{grid-column:1!important;min-width:0!important}
 #splitDivider{display:block!important;grid-column:2!important;align-self:stretch!important;width:10px!important;min-height:300px!important;cursor:col-resize!important;touch-action:none;background:var(--review-border)!important}
 #answerPanel{grid-column:3!important;min-width:0!important}
}
@media(max-width:900px){.studygrid{display:block!important}#splitDivider{display:none!important}}
#splitDivider:focus-visible{outline:3px solid #39a9e2;outline-offset:-3px}
/* Anchor the grip to its own divider, not the scrolling document. */
#splitDivider{position:relative!important;overflow:hidden;isolation:isolate}
#splitDivider::before,#splitDivider .split-hint{display:none!important}
#splitDivider::after{content:""!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;width:3px!important;height:25px!important;background:radial-gradient(circle, var(--review-ink,#173245) 1.5px,transparent 1.6px) center top/3px 9px repeat-y!important;pointer-events:none}
:root[data-app-theme] :is(#questionPanel,#answerPanel){background:var(--review-bg)!important;color:var(--review-ink)!important;border-color:var(--review-border)!important}
:root[data-app-theme] :is(#questionPanel,#answerPanel) :is(.studyhead,.step,.v58-long-part,.v30-option,.termcard,.relatedcard,.equation-step-line){background:var(--review-surface)!important;color:var(--review-ink)!important;border-color:var(--review-border)!important}
:root[data-app-theme] #answerPanel .v58-choice-pane :is(.verbatimbox,.teachbox,.v58-answer-branch){background:transparent!important;color:var(--review-ink)!important}
:root[data-app-theme] #answerPanel .v58-choice-pane :is(h3,h4,p),
:root[data-app-theme] :is(#questionPanel,#answerPanel,#visualAnchor) :is(.meta,.v31-panehead,.sectionlabel,.v25-inline-evidence summary,.qtext,.scene,.scene span,.scene b,.v31-scene,.v31-scene>span,.v31-scene>b){color:var(--review-ink)!important}
:root[data-app-theme] :is(#questionPanel,#answerPanel,#visualAnchor) :is(.marks,.markbadge,.submark){background:var(--review-mark)!important;color:var(--review-ink)!important;border:1px solid var(--review-border)!important;box-shadow:none!important;white-space:nowrap!important}
:root[data-app-theme] #answerPanel .v58-choice-pane .step .submark{background:var(--review-mark)!important;color:var(--review-ink)!important}
:root[data-app-theme] :is(#questionPanel,#answerPanel,#visualAnchor) :is(h2,h3,h4,.termcard h3,.relatedcard h3,.katex){color:var(--review-ink)!important}
:root[data-app-theme] #visualAnchor :is(.visualcard,.body,.v31-pane,.v24-pane,.v24-step-pane,.v31-scenes,.v24-scenes){background:var(--review-bg)!important;color:var(--review-ink)!important;border-color:var(--review-border)!important}
:root[data-app-theme] #visualAnchor :is(.scene,.v31-scene,.v58-keyidea,.v31-panehead,.v24-pane-head,.head,.v54-iconbar){background:var(--review-surface)!important;color:var(--review-ink)!important;border-color:var(--review-border)!important}
:root[data-app-theme] #visualAnchor :is(.scene.active,.v31-scene.active){background:var(--review-mark)!important;border-color:var(--review-border)!important;box-shadow:inset 4px 0 var(--review-border)!important}
:root[data-app-theme] #visualAnchor :is(.ai-layer-tag,.v58-keyidea b){color:var(--review-ink)!important;background:var(--review-surface)!important}
.v58-route-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}
.v58-route-controls label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%}
.v58-route-controls select{max-width:100%;padding:7px;border:1px solid var(--review-border);border-radius:7px;background:var(--review-surface);color:var(--review-ink);font:inherit}
.mep-math{font:inherit!important;display:inline!important;color:inherit!important}
.mep-math>.katex{font-size:1.08em!important}
.mep-math .katex-html{white-space:nowrap!important}
.katex .katex-mathml{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important}
.submark .mep-math{display:inline-block!important;vertical-align:middle}
#answerPanel .step h4{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#answerPanel .step h4 .submark{margin-left:auto;flex-shrink:0}
/* KaTeX owns descendant display, font size and line height. */
.math-review-needed{border-bottom:1px dotted currentColor}
:root[data-app-theme] #questionPanel .v30-option{position:relative!important;text-align:left!important;display:block!important;padding:30px 14px 14px!important;min-height:76px!important}
#questionPanel .v30-option .option-letter{position:absolute;top:7px;left:11px;font:700 14px Georgia,serif}
#questionPanel .v30-option .option-content{display:block;line-height:1.6}
#questionPanel .wave-list{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;text-align:left!important;padding:10px 0!important}
#answerPanel .v58-choice-pane > .v58-mode-pane > .sectionlabel,#answerPanel .v58-ms-head,#answerPanel .v58-answer-branch > h3{display:none!important}
#questionPanel .source-actions button[onclick="toggleReport()"]::after{content:'🚩'!important}
#questionPanel .source-actions button[onclick="toggleReport()"]:hover::before{content:'Report issue'!important}
.answer-number{font-weight:700;white-space:nowrap}
.qp-diagram{margin:18px 0;max-width:100%}.qp-diagram img{display:block;width:100%;height:auto;border-radius:10px}
.case-subquestion{margin:20px 0;padding-top:12px;border-top:1px solid var(--review-border)}.case-subquestion>p{font-size:17px;line-height:1.6}.case-subquestion h4{margin:0 0 8px}
#answerPanel .v58-choice-pane .sectionlabel{display:none!important}
:root[data-app-theme] :is(#questionPanel,#answerPanel) :is(.marks,.markbadge,.submark){font-family:Georgia,'Times New Roman',serif!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;padding:4px 9px!important;display:inline-flex!important;align-items:center!important;gap:4px!important}
:root[data-app-theme] #answerPanel .step p{font-size:17px!important;line-height:1.7!important}
:root[data-app-theme] #answerPanel .step h4{font-size:17px!important}
:root[data-app-theme] #visualAnchor #v31Scenes .v31-scene > span{font-size:17px!important;line-height:1.7!important;display:block!important}
:root[data-app-theme] #visualAnchor #v31Scenes .v31-scene > b{font-size:17px!important}
:root[data-app-theme] #visualAnchor .v58-keyidea > span{font-size:16px!important;line-height:1.6!important}
.mep-math .katex{line-height:1.2!important}
.submark .mep-math>.katex{font-size:1em!important}
#visualAnchor #lessonStepStatus{margin-left:auto;font:14px Georgia,serif;color:var(--review-ink)}
#visualAnchor .v31-panehead{display:flex;flex-wrap:wrap;gap:10px}
:root[data-app-theme] #visualAnchor #v31Scenes .v31-scene > span,
:root[data-app-theme] #visualAnchor #v31Scenes .v31-scene > b{font-size:calc(17px * var(--v45-step-scale,1))!important}
:root[data-app-theme] #visualAnchor .v58-keyidea > span{font-size:calc(16px * var(--v45-step-scale,1))!important}
:root[data-app-theme] #answerPanel .step p,:root[data-app-theme] #answerPanel .step h4{font-size:calc(17px * var(--v47-answer-scale,1))!important}
:root[data-app-theme] #visualAnchor .v51-card{fill:var(--review-surface)!important;stroke:var(--review-border)!important}
#visualAnchor :is(button,#v31Canvas):focus-visible{outline:2px solid var(--review-ink);outline-offset:-3px}
#visualAnchor .v54-formula-bottom{overflow-x:auto;line-height:1.8}
.case-answer-route{margin:0 0 14px;padding:10px 12px;border:1px solid var(--review-border);border-radius:8px;background:var(--review-surface);color:var(--review-ink)}
.case-answer-route label{display:flex;gap:8px;align-items:center;font-weight:700}.case-answer-route select{padding:6px;border:1px solid var(--review-border);border-radius:6px;background:var(--review-bg);color:var(--review-ink);font:inherit}.case-answer-content{margin-top:10px}.case-answer-content h4{margin:0 0 6px}.case-answer-content p{margin:5px 0;line-height:1.6}
:root[data-app-theme] :is(#questionPanel,#answerPanel,#visualAnchor) :is(.concept-visual-label,.ai-layer-tag,.sectionlabel){background:var(--review-surface)!important;color:var(--review-ink)!important;border-color:var(--review-border)!important}
:root[data-app-theme] #mockTestOverlay{position:fixed;inset:0;z-index:1000;background:rgba(0,10,20,.78);padding:24px;overflow:auto;color:var(--review-ink)}
:root[data-app-theme] #examModeOverlay{position:fixed;inset:0;z-index:1100;background:rgba(0,10,20,.82);padding:24px;overflow:auto;color:var(--review-ink)}
:root[data-app-theme] #examModeOverlay .mock-test-dialog{max-width:1180px;min-height:calc(100vh - 48px);margin:auto;background:var(--review-bg);border:1px solid var(--review-border);border-radius:12px;padding:0;overflow:auto}.exam-shell-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--review-panel);border-bottom:1px solid var(--review-border)}.exam-shell-title{font-size:1.15rem;font-weight:800}.exam-shell-body{padding:18px}.exam-shell-body .exam-palette{margin-top:18px}.exam-shell-body .exam-palette-grid{grid-template-columns:repeat(11,minmax(32px,1fr))}
.cbse-landing{max-width:1240px!important;min-height:560px!important;padding:0!important;background:#0c1d31!important}.cbse-landing-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:560px;gap:14px;padding:30px}.cbse-hero{border:1px solid #2f577c;border-radius:22px;padding:42px 28px;background:linear-gradient(145deg,#142e4a,#0c1728 70%,#332713)}.cbse-kicker{display:inline-block;border:1px solid #b28720;border-radius:18px;padding:6px 12px;color:#ffd369;font-size:.78rem;font-weight:800;letter-spacing:.04em}.cbse-hero h2{font-size:2.4rem;line-height:1.2;margin:22px 0}.cbse-hero p{font-size:1.05rem;line-height:1.6}.cbse-setup{align-self:center;padding:28px}.cbse-setup h3{font-size:1.4rem}.cbse-setup label{display:inline-flex;flex-direction:column;gap:6px;width:48%;margin:5px 1%;font-weight:700}.cbse-setup select{padding:10px;border-radius:7px;background:var(--review-bg);color:var(--review-ink);border:1px solid var(--review-border)}.cbse-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.cbse-info span{border:1px solid var(--review-border);border-radius:10px;padding:12px}.cbse-info small{display:block;margin-top:6px;font-weight:400}.cbse-start{width:100%;padding:14px;margin:8px 0;background:#2675b5;color:#fff;border:0;border-radius:8px;font-weight:800;font-size:1rem}.cbse-cancel{padding:8px 14px}.cbse-setup>small{display:block;margin-top:10px;line-height:1.4}
.exam-palette{margin-top:14px;padding:12px;border:1px solid var(--review-border);border-radius:10px;background:var(--review-panel)}.exam-palette-grid{display:grid;grid-template-columns:repeat(8,minmax(30px,1fr));gap:6px;margin:10px 0}.exam-palette-grid button{min-height:30px;border:1px solid var(--review-border);border-radius:6px;background:var(--review-bg);color:var(--review-ink);cursor:pointer}.exam-palette-grid button.answered{background:#b9f3d0;color:#073b22;border-color:#2caa68}.exam-clock,.exam-result{display:block;margin:10px 0;font-weight:700}.exam-submit,.open-exam-mode,.exam-review-toggle{margin:6px 4px 0 0;padding:8px 12px;border-radius:7px;border:1px solid var(--review-border);cursor:pointer}
.v31-canvas[data-lesson-scene]::after{content:'Step ' attr(data-lesson-scene) ' — ' attr(data-lesson-scene-title);display:block;padding:5px 9px;color:var(--review-ink);background:var(--review-panel);border-top:1px solid var(--review-border);font-size:.86em}
:root[data-app-theme] .mock-test-dialog{max-width:760px;margin:auto;background:var(--review-bg);border:1px solid var(--review-border);border-radius:14px;padding:18px}.mock-test-dialog h2{display:flex;justify-content:space-between}.mock-submit{padding:9px 14px}.mock-result{font-weight:700;margin-left:12px}

/* assets/board-exam.css */
/* Modern exam workspace; timing, response and self-review behavior is unchanged. */
#boardExam{--paper:#fff;--ink:#142550;--edge:#dfe7f3;--surface:#f5f8ff;--rule:#e3eaf5;font:15px/1.7 system-ui,sans-serif;background:#f7f9fd;color:var(--ink);min-height:calc(100vh - var(--workspace-top,0px));padding:30px!important;box-sizing:border-box;margin-left:var(--workspace-left,0px);color-scheme:light}body:has(#boardExam)>[hidden]{display:none!important}#boardExam *{box-sizing:border-box}#boardExam :not(.katex):not(.katex *){font-family:system-ui,sans-serif!important}#boardExam>header,#boardExam>.ex-layout,#boardExam>.ex-landing,#boardExam>.ex-history,#boardExam>.ex-save-state{max-width:1320px;margin-left:auto;margin-right:auto}
#boardExam header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 21px;background:#fff;color:#395783;border:1px solid var(--edge);border-radius:13px;font-size:12px}#boardExam header>b{font-weight:700}#boardExam header button{font-size:11px;white-space:nowrap}
#boardExam button,#boardExam select,#boardExam input{font:inherit;padding:11px 14px;border:1px solid #d8e3f3;border-radius:9px;color:#3d5e8c;background:white;min-height:44px;max-width:100%}#boardExam button{cursor:pointer;font-size:12px}#boardExam button:hover:enabled{border-color:#96ade8;background:#f3f7ff}#boardExam button:disabled{opacity:.45;cursor:default}#boardExam [data-ex=theme]{display:none!important}
#boardExam .ex-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;margin-top:23px;align-items:start}#boardExam .ex-main,#boardExam aside,#boardExam .ex-landing section{background:#fff;border:1px solid var(--edge);border-radius:16px;padding:28px;min-width:0;box-shadow:0 5px 20px #14255004}#boardExam .ex-main>h2{font-size:15px;color:#58719c;font-weight:650;margin:0 0 9px}#boardExam .ex-main>p{font-size:11px;color:#8c9bb2;margin:0 0 23px}#boardExam h3{font-size:15px;line-height:1.6;color:#26446c}#boardExam .ex-question{font-size:17px;line-height:1.8;color:#263f65;margin:23px 0}#boardExam .ex-question>p{white-space:pre-line;margin:13px 0}
#boardExam aside{position:sticky;top:calc(var(--workspace-top,0px) + 15px);padding:21px}#boardExam aside h3{margin:0 0 18px;font-size:15px}#boardExam aside p{font-size:11px;color:#8090a8;line-height:1.7}#boardExam aside .ex-count{font-size:13px;color:#456393;border-top:1px solid #edf1f7;padding-top:17px;margin-top:19px}#boardExam .ex-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}#boardExam .ex-palette button{padding:7px;min-height:38px;font-size:11px;background:#f9fbff;border-color:#e1e8f4;border-radius:8px}#boardExam .ex-palette .answered{background:#e6f7ee;color:#207c59;border-color:#a7d7bf}#boardExam .ex-palette .review{border:2px solid #ab80de;background:#f8f2ff}#boardExam .ex-palette .current{outline:2px solid #7194eb;outline-offset:1px;color:#3159e9;background:#eaf0ff}
#boardExam .ex-option{display:flex;align-items:center;gap:14px;width:100%;text-align:left;margin:13px 0;padding:16px;background:#fafcff;border-color:#dce6f5;font-size:15px;line-height:1.65}#boardExam .ex-option>b{display:inline-grid;place-items:center;width:27px;height:27px;min-width:27px;border:1px solid #d1def2;border-radius:50%;background:#fff;color:#5f7ba8;font-size:11px}#boardExam .ex-option.selected{background:#edf3ff;border:1px solid #7699f3;box-shadow:inset 0 0 0 1px #7699f3;color:#294c8d}#boardExam .ex-option.selected>b{background:#3159e9;color:#fff;border-color:#3159e9}
#boardExam textarea{box-sizing:border-box;width:100%;min-height:420px;resize:vertical;border:1px solid var(--edge);border-radius:10px;color:var(--ink);background:repeating-linear-gradient(to bottom,var(--paper) 0,var(--paper) 31px,var(--rule) 31px,var(--rule) 32px);font:17px/32px system-ui,sans-serif;padding:0 18px;background-attachment:local;tab-size:4}#boardExam footer{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px;border-top:1px solid #edf1f7;padding-top:21px}#boardExam footer button{flex:1;white-space:normal;min-width:100px;font-size:11px}#boardExam [data-ex=next],#boardExam [data-ex=start],#boardExam [data-ex=submit]{background:#3159e9;color:white;border-color:#3159e9;box-shadow:0 4px 12px #3159e919}#boardExam [data-ex=next]:hover:enabled,#boardExam [data-ex=start]:hover:enabled,#boardExam [data-ex=submit]:hover:enabled{background:#254bcf;color:#fff}#boardExam [data-ex=submit]{width:100%;margin-top:10px}#boardExam [data-ex=resume]{border-color:#b1d9c8;background:#f0faf6;color:#267f62}#boardExam [data-ex=route]{border-color:#d9d4f1;background:#f6f3ff;color:#7e5ab4;font-size:11px}
#boardExam .ex-landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;margin:28px auto}#boardExam .ex-landing section:first-child{background:linear-gradient(155deg,#eef3ff,#fbfdff);padding:34px;position:relative;overflow:hidden}#boardExam .ex-landing section:first-child:after{content:'';display:block;width:190px;height:190px;border:25px solid #dce6fc;border-radius:50%;box-shadow:0 0 0 25px #edf2fe;margin:50px auto 20px;opacity:.7}#boardExam .ex-landing small{font-size:9px;font-weight:750;letter-spacing:1.7px;color:#6989cb}#boardExam h1{font-size:38px;letter-spacing:-1.2px;line-height:1.2;margin:20px 0;color:#142550}#boardExam .ex-landing h2{font-size:20px;margin:0 0 20px;letter-spacing:-.4px}#boardExam .ex-landing p{color:#7486a3;font-size:13px;line-height:1.75}#boardExam label{display:block;margin:18px 0;font-size:11px;color:#627b9d;font-weight:600}#boardExam select,#boardExam input[type=number]{display:block;width:100%;margin-top:6px;font-size:13px;font-weight:400;background:#f9fbff}#boardExam .ex-landing [data-ex=start]{width:100%;font-size:13px;margin:12px 0}#boardExam .ex-landing button:not([data-ex=start]){margin:5px 5px 5px 0}#boardExam .ex-diagram{max-width:100%;max-height:400px;object-fit:contain;height:auto}#boardExam .ex-clock{font-variant-numeric:tabular-nums;font-weight:700;border:1px solid #d9e5f8;background:#f4f8ff;padding:7px 12px;border-radius:8px;font-size:14px;color:#3159b7}#boardExam .ex-main{overflow-wrap:anywhere}#boardExam .katex-display{overflow-x:auto}#boardExam :focus-visible{outline:3px solid #88a6f8;outline-offset:3px}
#boardExam .ex-history{margin:28px auto}#boardExam .ex-history h2{font-size:20px}#boardExam .ex-history article{background:#fff;border:1px solid var(--edge);padding:22px;margin:14px 0;border-radius:13px}#boardExam .ex-history h3{margin:0 0 9px}#boardExam .ex-history p{font-size:12px;color:#7485a0}#boardExam button,#boardExam textarea,#boardExam input,#boardExam select{scroll-margin-top:calc(var(--workspace-top,0px) + 20px)}#boardExam .ex-save-state{padding:15px 18px;margin-top:16px;background:#fff8ec;color:#8c6328;border:1px solid #e6c593;border-radius:11px;font-size:13px}#boardExam .ex-save-state[hidden]{display:none!important}#boardExam details{border:1px solid #dde7f5;background:#f6f9ff;border-radius:10px;padding:15px;margin:20px 0;font-size:13px}#boardExam summary{cursor:pointer;font-weight:650;color:#4d6c9e}#boardExam .ex-status{font-size:12px;color:#8f6029}
#boardExam .ex-writing-pad canvas{display:block;width:100%;height:auto;touch-action:none;background:repeating-linear-gradient(to bottom,#fff 0,#fff 31px,#dbe6ee 31px,#dbe6ee 32px);border:1px solid var(--edge);border-radius:8px;margin-top:12px;cursor:crosshair}#boardExam .ink-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#boardExam .ink-tools [aria-pressed=true]{outline:2px solid #efa822}
#boardExam .ex-unified-sheet{position:relative;aspect-ratio:900/1100;background:repeating-linear-gradient(to bottom,var(--paper) 0,var(--paper) 31px,var(--rule) 31px,var(--rule) 32px);margin-top:12px;border:1px solid var(--edge);border-radius:8px;overflow:hidden}#boardExam .ex-unified-sheet canvas,#boardExam .ex-unified-sheet textarea{position:absolute;inset:0;width:100%;height:100%;margin:0;border:0;background:transparent;min-height:0;resize:none}#boardExam .ex-writing-pad[data-pen=false] canvas{pointer-events:none}#boardExam .ex-writing-pad[data-pen=true] textarea{pointer-events:none}#boardExam .ex-unified-sheet textarea{color:var(--ink)}

@media(max-width:1190px){#boardExam{padding:24px!important}#boardExam .ex-layout{grid-template-columns:minmax(0,1fr) 235px;gap:16px}#boardExam .ex-main{padding:23px}#boardExam aside{padding:17px}#boardExam .ex-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:760px){#boardExam{padding:19px 14px 35px!important}#boardExam header{padding:15px;font-size:10px;gap:9px;flex-wrap:wrap}#boardExam header>b{flex:1 1 100%;line-height:1.6}#boardExam .ex-layout,#boardExam .ex-landing{grid-template-columns:1fr;gap:17px;margin-top:19px}#boardExam .ex-landing section:first-child{padding:26px 22px}#boardExam .ex-landing section:first-child:after{display:none}#boardExam h1{font-size:32px}#boardExam .ex-main,#boardExam aside,#boardExam .ex-landing section{padding:20px 17px;border-radius:14px}#boardExam aside{position:static}#boardExam .ex-question{font-size:16px}#boardExam .ex-option{font-size:14px;padding:14px;gap:11px}#boardExam .ex-main>h2{font-size:13px}#boardExam .ex-palette{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}#boardExam .ex-palette button{min-height:42px}#boardExam footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}#boardExam footer button{min-width:0;font-size:11px;padding:10px}#boardExam .ex-clock{font-size:13px}#boardExam .ex-history article{padding:18px}#boardExam .ink-tools{gap:6px}#boardExam .ink-tools button{font-size:10px;padding:8px}#boardExam .ink-tools label{margin:5px 0}}
@media print{#boardExam{margin:0!important;padding:0!important;background:#fff}#boardExam aside,#boardExam header,#boardExam footer{display:none!important}#boardExam .ex-layout{display:block}#boardExam .ex-main{border:0;box-shadow:none}}

/* Official self-review uses the approved reading size, independent of compact exam controls. */
#boardExam .shared-official-answer :is(.ms-point-text,.ms-prose,.ms-source-note,.ms-table-wrap td,.ms-table-wrap th){font-size:var(--mep-text-size,17px)!important;line-height:var(--mep-reading-line,1.7)!important}

/* assets/study-navigation.css */
#questionPanel #bookmarkBtn,#questionPanel #qAudioBtn{font-size:17px!important;line-height:1!important}#questionPanel #bookmarkBtn::after,#questionPanel #qAudioBtn::after{content:none!important;display:none!important}
:root[data-app-theme=dark] #questionPanel #bookmarkBtn{color:#fff!important;-webkit-text-fill-color:#fff!important}
:root[data-app-theme=light] #questionPanel #bookmarkBtn{color:#173245!important;-webkit-text-fill-color:#173245!important}
#studyHub>div{max-width:none!important;width:100%;margin:0!important;box-sizing:border-box}
#studyHub{box-sizing:border-box;padding:16px!important}
#studyHub [data-q]{box-sizing:border-box;margin:8px 0}
#chapterPerformance th,#chapterPerformance td{padding:10px 12px;border-bottom:1px solid var(--review-border,#50768e)}
#localSaveNotice{position:fixed;bottom:12px;left:12px;right:12px;z-index:1800;padding:14px;border:2px solid #d98829;border-radius:8px;background:var(--review-bg,#fff);color:var(--review-ink,#173245);font:14px/1.5 system-ui,sans-serif;box-shadow:0 2px 12px #0004}
#localSaveNotice[hidden]{display:none!important}
#studyHub{position:fixed;inset:0;z-index:1200;overflow:auto;background:var(--review-bg,#fff);color:var(--review-ink,#173245);padding:24px}#studyHub>div{max-width:960px;margin:auto}#studyHub button{padding:12px;margin:5px;border:1px solid var(--review-border,#acc);border-radius:8px;background:var(--review-panel,#edf4fa);color:inherit;font:inherit}#studyHub [data-q]{display:block;width:100%;text-align:left}
:root[data-app-theme=dark] #studyHub button{background:#173b50!important;color:#eef7ff!important;border-color:#50768e!important}:root[data-app-theme=light] #studyHub button{background:#edf4fa!important;color:#173245!important;border-color:#93b0c5!important}

/* During an exam, save warnings take their own space instead of covering controls. */
body:has(#boardExam) #localSaveNotice{position:relative;inset:auto;z-index:auto;margin:12px}

/* ui/compatibility/mobile-portrait-filterbar-final.css */

@media (max-width:680px){
  .mobile-question-nav{display:none!important}
  body .filterbar{top:58px!important;height:auto!important;max-height:none!important;overflow:hidden!important}
  .filterinner{height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;padding:5px 8px!important;align-items:center!important}
  .filterinner select,.filterinner input{width:100%!important;min-width:0!important;max-width:none!important;height:32px!important;padding:6px 7px!important;font-size:11px!important}
  #yearFilter{grid-column:1!important;grid-row:1!important}
  #subjectFilter{grid-column:2!important;grid-row:1!important}
  #setFilter{grid-column:3!important;grid-row:1!important}
  #jumpQuestion{grid-column:4!important;grid-row:1!important}
  #sectionFilter{grid-column:1!important;grid-row:2!important}
  #chapterFilter{grid-column:2!important;grid-row:2!important}
  #typeFilter{grid-column:3!important;grid-row:2!important}
  #difficultyFilter{grid-column:4!important;grid-row:2!important}
  #filterSearch{grid-column:1 / -1!important;grid-row:3!important}
  .filterinner > div:last-child{display:none!important}
  #singleThemeToggle{display:inline-grid!important;place-items:center!important}
  .v42-theme-toggle>button[data-theme]{display:none!important}
  .v42-theme-toggle{display:flex!important}
  #questionPanel .studyhead,#answerPanel .studyhead{height:auto!important;min-height:58px!important;padding:7px 8px!important;align-items:flex-start!important;overflow:visible!important}
  #questionPanel .metaleft,#answerPanel .metaleft{min-width:0!important;flex:1 1 100%!important}
  #questionPanel .verified{display:none!important}
  #questionPanel .topactions{flex:1 1 100%!important;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;flex-wrap:nowrap!important;gap:6px!important;min-height:32px!important}
  #questionPanel .topactions .head-source{display:none!important}
  #questionPanel .topactions .fontctl .areset{display:none!important}
  #questionPanel .topactions .fontctl{margin-left:0!important;margin-right:0!important;display:flex!important;align-items:center!important;gap:6px!important}
  #questionPanel .topactions > *{margin-left:0!important}
  #questionPanel .qtags{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}
  #questionPanel .qtags .qmark,#questionPanel .qtags .qtag[style*="margin-left:auto"],#questionPanel .qtags .qtag:last-child.qmark{margin-left:auto!important;flex-shrink:0!important}
  #questionPanel .qtext > p > .marks{display:none!important}
  .chem-lesson-controls [data-che-font],.chem-lesson-controls [data-che-full],.chem-lesson-controls [data-physics-font],.chem-lesson-controls [data-physics-full],.chem-lesson-controls .v31-fontctl,#visualAnchor .v31-fontctl{display:none!important}
  #qAudioSpeedBtn,.mep-speed-btn{font-size:11px!important;font-weight:800!important;padding:0 5px!important;height:28px!important;min-width:32px!important;line-height:26px!important;border-radius:6px!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  #answerPanel .answer-tools{flex:1 1 100%!important;width:100%!important;justify-content:flex-end!important;flex-wrap:wrap!important;gap:4px!important;min-height:32px!important}
  #answerPanel .v46-answer-icons{display:none!important}
  #questionPanel .head-report{font-size:0!important}
  #questionPanel .head-report::after{content:"⚠️"!important;font-size:16px!important}
  .chem-lesson-controls{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:5px!important;overflow-x:auto!important;padding:4px 0!important;scrollbar-width:none}
  .chem-lesson-controls::-webkit-scrollbar{display:none}
  .chem-lesson-controls button{min-width:34px!important;height:32px!important;padding:0 8px!important;font-size:13px!important;font-weight:700!important;border-radius:8px!important;flex-shrink:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .mark-studied{display:block!important;margin:14px 0 0 auto!important}
  #answerPanel .studyhead{display:grid!important;grid-template-columns:1fr!important;gap:6px!important;align-items:center!important}
  #answerPanel .answer-tools{grid-row:2!important;justify-content:flex-start!important}
  #visualAnchor .v31-canvas{height:300px!important;min-height:300px!important;max-height:300px!important;flex:0 0 300px!important}
  #visualAnchor .v31-pane{min-height:0!important}
  #visualAnchor .v34-themebar{display:none!important}
  #visualAnchor .v31-fontctl{display:none!important}
  body .main-app{position:relative!important;top:0!important;margin-top:0!important;bottom:auto!important;height:auto!important;min-height:0!important;overflow:visible!important}
  .studygrid{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important}
  #questionPanel,#answerPanel,#visualAnchor{position:relative!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;margin:0 0 14px!important}
  #questionPanel .studybody,#answerPanel .answer-main,#answerPanel .studybody{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
  #visualAnchor .v31-scenes{height:auto!important;max-height:none!important;overflow:visible!important}
  #visualAnchor .v31-pane{min-height:360px!important;height:auto!important;overflow:visible!important}
  .mobile-question-nav{position:fixed!important;left:8px!important;right:8px!important;bottom:8px!important;z-index:260!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:7px!important;border:1px solid #2d6b91!important;border-radius:12px!important;background:rgba(7,25,42,.97)!important;box-shadow:0 8px 22px rgba(0,0,0,.35)!important}
  .mobile-question-nav button{flex:1!important;height:34px!important;border:1px solid #3c83ad!important;border-radius:8px!important;background:#0d3153!important;color:#fff!important;font-weight:900!important}
  .mobile-question-nav span{min-width:70px!important;text-align:center!important;color:#d8f5ff!important;font-size:11px!important;font-weight:900!important}
  .main-app{padding-bottom:70px!important}
  .v58-page-bottom{padding:10px 4px 18px!important}
  .teacher-question-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important;padding:7px!important;border:1px solid #2d6b91!important;border-radius:12px!important;background:rgba(7,25,42,.97)!important}
  .teacher-question-nav button{flex:1!important;height:34px!important;border:1px solid #3c83ad!important;border-radius:8px!important;background:#0d3153!important;color:#fff!important;font-weight:900!important}
  .teacher-question-nav span{min-width:70px!important;text-align:center!important;color:#d8f5ff!important;font-size:11px!important;font-weight:900!important}
  :root[data-app-theme="light"] .teacher-question-nav,:root[data-app-theme="light"] .mobile-question-nav{background:#eef6fa!important;border-color:#9ebdce!important}
  :root[data-app-theme="light"] .teacher-question-nav button,:root[data-app-theme="light"] .mobile-question-nav button{background:#fff!important;color:#173245!important;border-color:#86adc4!important}
  :root[data-app-theme="light"] .teacher-question-nav span,:root[data-app-theme="light"] .mobile-question-nav span{color:#173245!important}
}

#questionPanel .topactions .fontctl{margin-left:0!important;margin-right:0!important;display:flex!important;align-items:center!important;gap:6px!important}
#questionPanel .topactions{justify-content:flex-start!important;gap:6px!important}
#questionPanel .topactions > *{margin-left:0!important}
#questionPanel .qtags{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px!important}
#questionPanel .qtags .qmark,#questionPanel .qtags .qtag[style*="margin-left:auto"],#questionPanel .qtags .qtag:last-child.qmark{margin-left:auto!important;flex-shrink:0!important}
#questionPanel .qtext > p > .marks{display:none!important}
:root[data-app-theme] #questionPanel .qtext .marks,#questionPanel .qtext .marks{display:none!important}
.chem-lesson-controls [data-che-font],.chem-lesson-controls [data-che-full],.chem-lesson-controls [data-physics-font],.chem-lesson-controls [data-physics-full],.chem-lesson-controls .v31-fontctl,#visualAnchor .v31-fontctl{display:none!important}
[data-physics-shared-tools],.chem-lesson-controls{display:flex!important;width:100%!important;gap:6px!important}
[data-physics-shared-tools] button,.chem-lesson-controls button{flex:1 1 0!important;width:100%!important;min-width:0!important}
[data-physics-audio-status],[data-che-audio-status],#lessonStepStatus{display:none!important}


/* assets/login-faq.css */
#studentPortal[data-screen=auth]{background:radial-gradient(ellipse at 5% 0%,#e2edff,transparent 55%),radial-gradient(ellipse at 100% 70%,#e5f5f2,transparent 45%),#f8faff!important}
#studentPortal[data-screen=auth] .portal-shell{background:#ffffffeb!important;border:1px solid #e0e8f3!important;border-radius:24px!important;box-shadow:0 16px 60px #223e7210!important;padding:28px!important;max-width:760px!important;margin:24px auto!important;color:#1d3455!important}
#studentPortal[data-auth-mode=intro] .portal-shell>h1{font:750 clamp(28px,5vw,42px)/1.15 system-ui!important;letter-spacing:-1.2px;color:#163056!important;text-align:center}
#studentPortal[data-auth-mode=intro] .portal-shell>p{text-align:center;max-width:540px;margin:16px auto;color:#58708f;line-height:1.7}
#loginFAQ,#loginFAQ *{box-sizing:border-box;font-family:system-ui,sans-serif}
#loginFAQ{color:#223b5b;text-align:left;margin-top:24px;font-size:15px;line-height:1.7}
#loginFAQ h2{font-size:24px;line-height:1.3;letter-spacing:-.5px;margin:10px 0 14px;color:#183351}
#loginFAQ h3{font-size:18px;line-height:1.4;margin:10px 0}
#loginFAQ p{margin:10px 0;color:#526984}
#loginFAQ .intro-eyebrow,#loginFAQ article>span{font-size:11px;font-weight:750;letter-spacing:1.5px;color:#3462a9}
#loginFAQ .intro-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:center;margin:24px 0 40px}
#loginFAQ button{min-height:46px;cursor:pointer;font:650 14px/1.5 system-ui;border-radius:12px;padding:12px 16px}
#loginFAQ .intro-login{border:0;background:transparent;color:#315ca0}
#loginFAQ .intro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 30px}
#loginFAQ article{padding:20px 16px;border:1px solid #e0e8f3;border-radius:16px;background:#f6f9fe}
#loginFAQ article p{font-size:14px}
#loginFAQ .intro-example{background:#edf5ff;border:1px solid #d4e4f6;border-radius:18px;padding:24px;margin:24px 0}
#loginFAQ .intro-path{padding:20px 0;margin:20px 0;border-bottom:1px solid #e0e8f3}
#loginFAQ details{border:1px solid #e0e8f3;background:white;border-radius:12px;margin:9px 0;overflow:hidden}
#loginFAQ summary{padding:16px;font-weight:650;cursor:pointer;line-height:1.5}
#loginFAQ details>p,#loginFAQ .intro-choices{margin:0;padding:0 16px 16px}
#loginFAQ .faq-category{margin-top:26px;color:#42648a;font-size:13px;text-transform:uppercase;letter-spacing:1px}
#loginFAQ .intro-choices{display:flex;gap:8px}
#loginFAQ .intro-choices button{flex:1;border:1px solid #bed1eb;background:#f5f8fd;color:#254c7c}
#loginFAQ .intro-choices button[aria-pressed=true]{border-color:#3675c6;background:#e5efff}
#loginFAQ small{color:#627b97;font-size:12px}
#loginFAQ :is(button,summary):focus-visible{outline:3px solid #6093e9;outline-offset:3px}
@media(max-width:600px){#studentPortal[data-screen=auth] .portal-shell{padding:22px 17px!important;margin:12px auto!important;border-radius:18px!important;width:calc(100% - 20px)!important}#loginFAQ .intro-grid{grid-template-columns:1fr}#loginFAQ article{padding:18px}#loginFAQ .intro-example{padding:18px}#loginFAQ h2{font-size:22px}}

html body #studentPortal[data-screen="auth"] .portal-brand .portal-logo{width:clamp(230px,68vw,300px)!important;height:clamp(230px,68vw,300px)!important;max-width:100%!important;aspect-ratio:1;border-radius:50%!important}
html body #studentPortal[data-screen="auth"] .portal-brand .portal-logo img{width:100%!important;height:100%!important;object-fit:contain!important;border-radius:50%!important}

/* assets/concept-practice.css */
/* Practice workspace: filters and question are peers on desktop, stacked on phones. */
#conceptPractice{position:fixed;inset:var(--workspace-top,0px) 0 var(--workspace-bottom,0px) var(--workspace-left,0px);z-index:100001;overflow:auto;background:#f7f9fd;color:#142550;font:15px/1.65 system-ui,sans-serif;--cp-card:#fff;--cp-line:#dfe7f3;--cp-muted:#697b98;--cp-soft:#edf3ff;color-scheme:light;scroll-padding:24px}
#conceptPractice *{box-sizing:border-box}#conceptPractice :not(.katex):not(.katex *){font-family:system-ui,sans-serif!important}body.concept-open{overflow:hidden!important}
#conceptPractice .cp-shell{max-width:1360px;margin:auto;padding:30px;display:grid;grid-template-columns:280px minmax(0,1fr);column-gap:26px;align-items:start}
#conceptPractice header{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;letter-spacing:1.1px;color:#7384a0}
#conceptPractice header b{text-transform:uppercase}#conceptPractice header button{font-size:11px;min-height:36px;padding:7px 12px}
#conceptPractice button,#conceptPractice select{font:inherit;max-width:100%;border:1px solid var(--cp-line);border-radius:10px;padding:11px 14px;background:white;color:#294773;cursor:pointer;min-height:44px}
#conceptPractice button:disabled{opacity:.5;cursor:default}#conceptPractice button:hover:enabled{border-color:#9bb2f1}#conceptPractice .cp-intro{grid-column:1/-1;padding:10px 0 22px}#conceptPractice h1{font-size:30px;font-weight:750;letter-spacing:-.8px;line-height:1.25;margin:7px 0 9px;color:#142550}#conceptPractice .cp-intro small{font-size:12px;color:#687b99}
#conceptPractice .cp-stats{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap;margin-bottom:25px;font-size:12px}#conceptPractice .cp-stats span{flex:1;padding:16px 19px;background:white;border:1px solid #dfe7f3;border-radius:12px;font-weight:650;color:#416697}#conceptPractice .cp-stats span:nth-child(2){color:#16805d;background:#f3fbf7}#conceptPractice .cp-stats span:nth-child(3){color:#a37832;background:#fffaf0}#conceptPractice .cp-stats small{flex-basis:100%;font-size:11px;color:#74839a;margin:0 2px}
#conceptPractice .cp-filter-panel{grid-column:1;grid-row:4 / span 5;margin:0;padding:17px;background:white;border:1px solid #dfe7f3;border-radius:14px;position:sticky;top:0;max-height:calc(100dvh - var(--workspace-top) - 28px);overflow:auto}
#conceptPractice .cp-filter-panel>summary{cursor:pointer;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:700;color:#3159ac;list-style:none;min-height:38px;position:relative;padding-right:18px}#conceptPractice .cp-filter-panel>summary svg{width:17px;height:17px}#conceptPractice .cp-filter-panel>summary:after{content:'⌄';position:absolute;right:0;top:3px}#conceptPractice .cp-filter-panel>summary small{width:100%;font-size:10px;color:#8a97ac;font-weight:400;margin-left:25px}#conceptPractice .cp-filter-panel:not([open]) .cp-filters{display:none}
#conceptPractice .cp-filters{display:grid;grid-template-columns:1fr;gap:13px;margin:18px 0 0}#conceptPractice .cp-filters label{font-size:11px;font-weight:600;color:#667997;min-width:0}#conceptPractice select{width:100%;display:block;margin-top:5px;font-size:12px;min-width:0;background:#f9fbff;font-weight:400;min-height:43px}
#conceptPractice .cp-retry{display:flex;align-items:center;gap:9px;padding:9px 0}#conceptPractice .cp-retry input{width:18px;height:18px;accent-color:#3159e9}
#conceptPractice .cp-position{grid-column:2;display:flex;justify-content:space-between;gap:12px;color:#6e81a0;font-size:11px;margin:0 0 12px}#conceptPractice .cp-position>span:last-child{background:#eaf0ff;border-radius:6px;color:#436bb7;padding:4px 9px;font-weight:650}
#conceptPractice .cp-card{grid-column:2;padding:30px;background:white;border:1px solid #dfe7f3;border-radius:17px;box-shadow:0 6px 22px #14255004;min-width:0}#conceptPractice .cp-card:only-child{grid-column:1/-1;max-width:740px;width:100%;margin:30px auto}
#conceptPractice .cp-source{font-size:10px;font-weight:700;letter-spacing:.6px;color:#6580ab}#conceptPractice .cp-chapter{font-size:11px;color:#6e82a3;margin:9px 0 17px}#conceptPractice h2{font-size:20px;line-height:1.6;font-weight:650;letter-spacing:-.25px;margin:20px 0;color:#20385e}#conceptPractice .cp-inputs{display:grid;gap:13px;counter-reset:choice}#conceptPractice .cp-choice{display:flex;align-items:center;gap:13px;text-align:left;overflow-wrap:anywhere;padding:15px 18px;background:#fafcff;color:#31496f;border-color:#dce5f5;font-size:15px;line-height:1.6;min-height:58px}#conceptPractice .cp-choice[data-choice]:before{counter-increment:choice;content:counter(choice,upper-alpha);font-size:11px;color:#6380ad;border:1px solid #cbd9ee;background:white;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;flex:none}#conceptPractice .cp-choice[aria-pressed=true]{background:#edf3ff;border-color:#7599f1;outline:1px solid #7599f1}#conceptPractice .cp-choice[aria-pressed=true]:before{color:white;background:#3159e9;border-color:#3159e9}
#conceptPractice .cp-check{background:#3159e9;color:white;width:100%;margin-top:23px;font-weight:650;border-color:#3159e9;padding:13px;box-shadow:0 4px 12px #3159e916}#conceptPractice .cp-check:disabled{background:#e8edf7;color:#8d9bb3;border-color:#e8edf7;opacity:1;box-shadow:none}#conceptPractice blockquote{margin:17px 0;padding:17px;border-left:3px solid #8ba6e7;background:#f4f7ff;border-radius:0 10px 10px 0}#conceptPractice .cp-pair{font-size:14px;padding:14px;border:1px solid #e2e9f4;border-radius:10px;background:#f9fbff;line-height:1.6}
#conceptPractice .cp-original{font-size:12px;width:100%;margin-top:20px;background:#f5f8ff;color:#4d72b2;border-color:#e1e9f8}#conceptPractice footer{grid-column:2;display:flex;justify-content:space-between;gap:12px;margin-top:19px}#conceptPractice footer button{min-width:120px;background:white;font-size:13px;padding:12px 18px}#conceptPractice footer [data-next]{background:#3159e9;color:white;border-color:#3159e9}#conceptPractice .cp-feedback{font-size:14px;overflow-wrap:anywhere;line-height:1.75}#conceptPractice .cp-feedback>h3{font-size:20px;margin:24px 0 12px;color:#234777}#conceptPractice img{width:100%;height:auto;margin-top:12px}#conceptPractice details{font-size:12px;margin:16px 0}#conceptPractice .cp-save{grid-column:2;font-size:12px;color:#af7532;margin:0 0 12px}#conceptPractice .cp-save:empty{display:none}#conceptPractice button:focus-visible,#conceptPractice select:focus-visible{outline:3px solid #88a6f8;outline-offset:3px}
@media(max-width:1120px){#conceptPractice .cp-shell{grid-template-columns:240px minmax(0,1fr);padding:24px;gap:0 20px}#conceptPractice .cp-card{padding:24px}}
@media(max-width:760px){#conceptPractice .cp-shell{display:block;padding:22px 15px 30px}#conceptPractice header{margin-bottom:7px}#conceptPractice .cp-intro{padding:9px 0 20px}#conceptPractice h1{font-size:27px}#conceptPractice .cp-stats{gap:8px;margin-bottom:19px}#conceptPractice .cp-stats span{padding:12px 10px;font-size:11px}#conceptPractice .cp-filter-panel{position:static;max-height:none;overflow:visible;margin-bottom:22px;padding:16px}#conceptPractice .cp-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 9px}#conceptPractice .cp-card{padding:21px 17px;border-radius:14px}#conceptPractice h2{font-size:18px;line-height:1.65}#conceptPractice .cp-choice{font-size:14px;padding:14px;gap:11px}#conceptPractice footer button{min-width:0;flex:1}#conceptPractice .cp-position{margin-bottom:13px}#conceptPractice .cp-stats small{font-size:10px}}
#conceptPractice .cp-inputs .cp-wrong{outline:2px solid #efb576!important;outline-offset:2px;border-color:#efb576!important;opacity:1!important}
#conceptPractice .cp-inputs .cp-correct{outline:2px solid #45a874!important;outline-offset:2px;border-color:#45a874!important;opacity:1!important}
#conceptPractice .cp-search{grid-column:1 / -1}#conceptPractice #cpSearch{display:block;width:100%;min-width:0;margin-top:4px;padding:12px;border:1px solid var(--cp-line);border-radius:10px;background:var(--cp-card);color:inherit;font:13px system-ui}#conceptPractice #cpSearch:focus-visible{outline:2px solid #749bff;outline-offset:2px}
#conceptPractice .cp-chapter-trigger{display:block;width:100%;margin-top:4px;text-align:left;font-size:13px;min-height:44px}
.cp-chapter-dialog{box-sizing:border-box;width:calc(100% - 24px);max-width:520px;max-height:90dvh;padding:20px;border:1px solid #c6d9e8;border-radius:22px;background:#f7fbff;color:#173245;font:14px/1.5 system-ui;box-shadow:0 24px 80px #122b4b44}.cp-chapter-dialog::backdrop{background:#142d4c80;backdrop-filter:blur(3px)}.cp-chapter-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.cp-chapter-dialog h2{font-size:21px;margin:0}.cp-chapter-dialog p{margin:5px 0 16px;color:#536b82}.cp-chapter-dialog button{font:inherit;border:1px solid #bdd1e2;border-radius:10px;padding:10px 13px;color:#173245;background:white;cursor:pointer}.cp-chapter-tools{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.cp-chapter-tools span{margin-left:auto;font-size:12px;color:#536b82}.cp-chapter-list{max-height:45dvh;overflow:auto;background:white;border:1px solid #d4e1ec;border-radius:12px;padding:4px 12px}.cp-chapter-list label{display:flex;gap:12px;align-items:center;min-height:48px;padding:9px 0;border-bottom:1px solid #edf2f7;cursor:pointer}.cp-chapter-list input{width:19px;height:19px;flex-shrink:0;accent-color:#2865b4}.cp-chapter-dialog footer{display:flex;gap:10px;margin-top:16px}.cp-chapter-dialog footer button{flex:1}.cp-chapter-dialog [data-apply]{background:#2865b4;color:white;border-color:#2865b4;font-weight:650}.cp-chapter-dialog button:disabled{opacity:.45;cursor:default}.cp-chapter-dialog button:focus-visible{outline:3px solid #83b2f1;outline-offset:2px}

#conceptPractice .cp-feedback .chem-math{display:inline-block;max-width:100%;overflow-x:auto;vertical-align:middle;overflow-wrap:normal}

#conceptPractice .cp-teacher-feedback,#conceptPractice .cp-official-feedback{border:1px solid #bdd5e3;border-radius:12px;padding:12px;background:#f4f9fc;font-size:14px;line-height:1.6;min-width:0}#conceptPractice .cp-teacher-feedback>summary,#conceptPractice .cp-official-feedback>summary{cursor:pointer;font-weight:700;min-height:28px;color:#173e56}#conceptPractice .cp-teacher-route h3{font-size:17px}#conceptPractice .cp-teacher-step{padding:10px 0;border-bottom:1px solid #d5e5ed}#conceptPractice .cp-teacher-step h4{font-size:15px;margin:0 0 8px}#conceptPractice .cp-teacher-step p{margin:0;overflow-wrap:anywhere}#conceptPractice .cp-choice-reasons{margin:18px 0}#conceptPractice .cp-choice-reasons>h4{font-size:16px}#conceptPractice .cp-choice-reason{border:1px solid #e1bf98;border-left:4px solid #d4a267;border-radius:10px;padding:12px;margin:10px 0;background:#fff}#conceptPractice .cp-choice-reason.is-correct{border-color:#78ae90;border-left-color:#2d8959;background:#f5fcf7}#conceptPractice .cp-choice-reason h5{font-size:14px;margin:0 0 8px}#conceptPractice .cp-choice-reason p{margin:0;line-height:1.6}#conceptPractice .cp-teacher-feedback .teacher-option-review{padding:9px}#conceptPractice .cp-feedback .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}

/* Practice studio: one focused activity with a compact setup drawer. */
#conceptPractice{background:linear-gradient(155deg,#edf1ff 0,#f8fafc 45%,#eef9f5 100%)}
#conceptPractice .cp-shell{display:flex;flex-direction:column;max-width:920px;padding:30px 28px;gap:0}
#conceptPractice .cp-shell>*{width:100%}
#conceptPractice .cp-intro{background:#182f62;color:white;border-radius:24px;padding:27px 30px;margin:8px 0 18px;position:relative;overflow:hidden}
#conceptPractice .cp-intro h1{color:white;font-size:30px;max-width:500px;line-height:1.25}#conceptPractice .cp-intro small{color:#c2d3f8}
#conceptPractice .cp-stats{background:transparent;gap:8px;margin-bottom:16px}#conceptPractice .cp-stats span{border:0;border-radius:13px;padding:12px 16px}#conceptPractice .cp-stats small{color:#586b8a}
#conceptPractice .cp-filter-panel{position:static;max-height:none;border:1px solid #dce5f4;background:#ffffffb8;padding:12px 18px;margin-bottom:22px;border-radius:15px;overflow:visible}
#conceptPractice .cp-filter-panel>summary small{width:auto;margin:0 20px 0 auto}#conceptPractice .cp-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
#conceptPractice .cp-position{margin-bottom:12px;font-weight:650}#conceptPractice .cp-card{border:0;border-radius:25px;padding:30px;box-shadow:0 12px 40px #21395d0a;background:white}
#conceptPractice .cp-card h2{font-size:22px;line-height:1.65}#conceptPractice .cp-source{display:inline-block;color:#526dac;background:#eef3ff;border-radius:7px;padding:5px 9px}#conceptPractice .cp-chapter{font-size:12px;color:#647996}
#conceptPractice .cp-choice{border-radius:15px;padding:19px;background:#fff;border:1px solid #dce5f4;font-size:16px;min-height:62px}#conceptPractice .cp-choice[aria-pressed=true]{background:#eef2ff;border-color:#5571e8;box-shadow:0 0 0 1px #5571e8}
#conceptPractice .cp-check{border-radius:14px;min-height:52px}#conceptPractice footer{gap:12px}#conceptPractice footer button{flex:1;border-radius:14px}
@media(max-width:760px){#conceptPractice .cp-shell{padding:14px 14px 28px}#conceptPractice .cp-intro{padding:23px;border-radius:20px}#conceptPractice .cp-intro h1{font-size:26px}#conceptPractice .cp-stats span{padding:10px 8px;text-align:center;font-size:11px}#conceptPractice .cp-filter-panel>summary small{display:none}#conceptPractice .cp-filters{grid-template-columns:repeat(2,minmax(0,1fr))}#conceptPractice .cp-card{padding:22px 17px;border-radius:21px}#conceptPractice .cp-card h2{font-size:19px}#conceptPractice .cp-choice{font-size:15px;padding:16px}}
#conceptPractice [data-return-concept]{width:auto;align-self:flex-start;border:0;background:transparent;color:#206b55;padding:8px 0;margin:0 0 12px;font-weight:700}

/* assets/light-layout.css */
/* Navigation starts from the student home, with a single light appearance. */
html body .appbar,
html body .v42-theme-toggle,
html body #singleThemeToggle,
html body #studentPortal .portal-theme,
html body .v34-themebar{display:none!important}
html body .filterbar{position:relative!important;top:0!important;margin-top:0!important}
html body{padding-top:0!important}
html body .main-app{top:0!important;margin-top:0!important;padding-top:10px!important}
html body #answerPanel .v58-mode-tabs{background:#edf5fb!important}
html body .teacher-question-nav{background:#eef6fa!important;border-color:#9ebdce!important}
html body .teacher-question-nav button{background:#fff!important;color:#173245!important;border-color:#86adc4!important}
html body .teacher-question-nav span{color:#173245!important}

/* assets/home-circles.css */
/* Circular feature launchers retain full labels and useful descriptions. */
#studentPortal .toolkit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 16px;margin-top:28px}
#studentPortal .toolkit-card{--circle:#edf0ff;--circle-edge:#c4cef5;--circle-ink:#375ad1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 6px 14px;border:0;border-radius:24px;background:transparent;box-shadow:none;gap:14px}
#studentPortal .toolkit-card .toolkit-icon{width:88px;height:88px;border-radius:50%;font-size:33px;background:radial-gradient(circle at 32% 25%,white,var(--circle));border:1px solid var(--circle-edge);color:var(--circle-ink);box-shadow:0 8px 20px #213f6810,inset 0 0 0 6px #ffffff70;transition:transform .15s ease,box-shadow .15s ease}
#studentPortal .toolkit-card:hover .toolkit-icon{transform:translateY(-3px);box-shadow:0 12px 24px #213f6820,inset 0 0 0 6px #ffffff70}
#studentPortal .toolkit-card:active .toolkit-icon{transform:scale(.96)}
#studentPortal .toolkit-card h3{font-size:15px;line-height:1.35;margin:0 0 7px;color:#173245}
#studentPortal .toolkit-card strong,#studentPortal .toolkit-link{display:none}
#studentPortal .toolkit-card p{font-size:12px;line-height:1.55;color:#536980;margin:0}
#studentPortal .toolkit-card.tone-0{--circle:#e8e0ff;--circle-edge:#cfbff4;--circle-ink:#7654bf}
#studentPortal .toolkit-card.tone-2,#studentPortal .toolkit-card.tone-6{--circle:#dff5ed;--circle-edge:#b6dfcf;--circle-ink:#208568}
#studentPortal .toolkit-card.tone-3,#studentPortal .toolkit-card.tone-7{--circle:#def2ff;--circle-edge:#b2d9f0;--circle-ink:#287da8}
#studentPortal .toolkit-card.tone-4,#studentPortal .toolkit-card.tone-8{--circle:#fff0d8;--circle-edge:#ebd1a5;--circle-ink:#ac7528}
#studentPortal .toolkit-card.tone-5{--circle:#ffe5eb;--circle-edge:#efbdc9;--circle-ink:#bf5472}
#studentPortal .home-section-title{text-align:center}
#studentPortal .subject-card{border-radius:25px}
#studentPortal .subject-formula{display:flex;align-items:center;justify-content:center;border-radius:50%;width:82px;height:82px;font-size:17px;background:#ffffff90;border:1px solid var(--p-line);margin-bottom:16px;letter-spacing:0}
@media(max-width:560px){#studentPortal .toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}#studentPortal .toolkit-card{padding:5px 3px 12px}}
@media(max-width:320px){#studentPortal .toolkit-card .toolkit-icon{width:76px;height:76px;font-size:29px}#studentPortal .toolkit-card h3{font-size:14px}#studentPortal .toolkit-card p{font-size:11px}}
@media(prefers-reduced-motion:reduce){#studentPortal .toolkit-card .toolkit-icon{transition:none;transform:none}}

/* assets/task1-layout.css */
html body .filterinner #filterSearch{grid-column:1 / -1!important;grid-row:auto!important;order:20!important;width:100%!important}
html body .filterinner #jumpQuestion{grid-column:auto!important;grid-row:auto!important;order:0!important;min-width:0}
html body .filterinner select{grid-column:auto!important;grid-row:auto!important}
html body .filterinner{grid-template-columns:repeat(4,minmax(0,1fr))!important}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas{background:#000!important;--review-bg:#000;--review-ink:#f1f7fc;--review-surface:#182c3b;color:#f1f7fc!important}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg{background:#000!important;--review-bg:#000;--review-ink:#f1f7fc}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg text,:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg tspan{fill:#f1f7fc!important}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg rect[fill^="var(--review-bg"]{fill:#000!important}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg .v51-bg{fill:#000!important}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg rect[fill="#071923"]{fill:#000!important}
html body #boardExam [data-ex="theme"]{display:none!important}
:root[data-app-theme="light"] body #visualAnchor #v31VisualFormula,:root[data-app-theme="light"] body #visualAnchor #v31VisualFormula *{color:#173245!important}
.mep-exit{max-width:360px;width:calc(100% - 40px);border:1px solid #b6cede;border-radius:18px;padding:22px;background:#f5faff;color:#173245;font:16px/1.5 system-ui}
.mep-exit::backdrop{background:#132d4966}.mep-exit div{display:flex;gap:8px;flex-wrap:wrap}.mep-exit button{padding:10px 18px;border:1px solid #a8c2d3;background:white;border-radius:8px;color:#173245}
.study-no-results .main-app{display:none!important}#studyNoResults{padding:24px;background:#edf5fa;color:#173245;margin:10px;border-radius:12px}.portal-open #studyNoResults,.concept-open #studyNoResults{display:none}
.mep-exit{box-sizing:border-box;width:calc(100% - 28px);max-width:410px;max-height:92dvh;overflow:auto;border:1px solid #d2e0ed;border-radius:24px;padding:24px;background:linear-gradient(155deg,#fff,#edf5fc);box-shadow:0 24px 80px #102b4a55;font-family:system-ui}.mep-exit::backdrop{background:#122b4a88;backdrop-filter:blur(4px)}.mep-exit .exit-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:#dfeefe;color:#2865b4;font-size:27px}.mep-exit h2{font-size:23px;line-height:1.25;margin:16px 0 10px;color:#173245}.mep-exit p{font-size:13px;line-height:1.6;color:#536b82;margin:0 0 20px}.mep-exit .exit-actions{display:grid;gap:10px}.mep-exit .exit-actions button{display:grid;grid-template-columns:36px 1fr 12px;gap:12px;align-items:center;text-align:left;width:100%;padding:13px 14px;border-radius:14px;min-height:68px;font-family:system-ui}.mep-exit b{display:block;font-size:15px}.mep-exit small{display:block;font-size:11px;line-height:1.5;margin-top:3px;opacity:.8}.mep-exit .exit-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#eaf2fa;font-size:23px}.mep-exit button[data-stay]{background:#2865b4;border-color:#2865b4;color:white}.mep-exit button[data-stay] .exit-icon{background:#ffffff22}.mep-exit button[data-leave]{background:#fff7f2;border-color:#edd2c0;color:#904b30}.mep-exit button[data-leave] .exit-icon{background:#fce9db}.mep-exit button:disabled{opacity:.45;cursor:wait}.mep-exit button:focus-visible{outline:3px solid #89b8f2;outline-offset:3px}
:root body #visualAnchor .v54-visual-pane{display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;grid-template-rows:none!important}
:root body #visualAnchor #v31Canvas{height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;aspect-ratio:760/410!important;flex:none!important;width:100%!important;--svg-main:#58c9ef;--svg-warm:#ffcc72}
:root body #visualAnchor #v31Canvas>svg{height:100%!important;min-height:0!important;width:100%!important}
:root body #visualAnchor .v54-iconbar,:root body #visualAnchor .v54-formula-bottom{flex:none!important;height:auto!important;min-height:42px}

/* assets/learning-progress.css */
/* Progress workspace: account data, completion and accuracy remain separate. */
#learningProgress{position:fixed;inset:var(--workspace-top,0px) 0 var(--workspace-bottom,0px) var(--workspace-left,0px);z-index:100010;overflow:auto;background:#f7f9fd;color:#142550;font:15px/1.65 system-ui,sans-serif}body.learning-progress-open{overflow:hidden!important}#learningProgress *{box-sizing:border-box}#learningProgress :not(.katex):not(.katex *){font-family:system-ui,sans-serif!important}#learningProgress .lp-shell{max-width:1230px;margin:auto;padding:32px}#learningProgress header{display:flex;align-items:center;justify-content:space-between;flex-direction:row-reverse;gap:20px;margin-bottom:12px}#learningProgress header button{font-size:11px}#learningProgress h1{font-size:30px;letter-spacing:-.8px;font-weight:750;margin:0}#learningProgress .lp-shell>p{font-size:13px;color:#72819b}#learningProgress button,#learningProgress select{padding:11px 14px;border:1px solid #dce5f3;border-radius:10px;background:white;color:#43628f;font:inherit;max-width:100%;min-width:0;min-height:44px;cursor:pointer}#learningProgress :focus-visible{outline:3px solid #91adf8;outline-offset:3px}#learningProgress .lp-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:26px 0;background:white;border:1px solid #dfe7f3;border-radius:14px;padding:20px}#learningProgress label{font-size:11px;color:#6a7e9f;font-weight:650}#learningProgress select{display:block;width:100%;margin-top:7px;font-size:12px;background:#fafcff}#learningProgress .lp-summary{display:grid;grid-template-columns:1fr 1fr;gap:20px}#learningProgress .lp-mode,#learningProgress article{background:#fff;border:1px solid #dfe7f3;padding:26px;border-radius:16px;box-shadow:0 4px 15px #14255003}#learningProgress .lp-mode:first-child{background:linear-gradient(130deg,#f1f4ff,#fff 70%)}#learningProgress .lp-mode:nth-child(2){background:linear-gradient(130deg,#eefaf5,#fff 70%)}#learningProgress h2{font-size:17px;letter-spacing:-.2px;margin:0 0 17px}#learningProgress .lp-mode>strong{display:block;font-size:32px;line-height:1.3;letter-spacing:-1px;color:#3159c1}#learningProgress .lp-mode:nth-child(2)>strong{color:#228365}#learningProgress .lp-mode p{font-size:13px;color:#6c7e9b;margin:13px 0 18px}#learningProgress progress{width:100%;height:8px;border:0;border-radius:8px;accent-color:#537ee5;background:#eaf0f8}#learningProgress small{display:block;color:#8090a9;font-size:11px;margin-top:8px}#learningProgress .lp-note{font-size:11px!important;line-height:1.8;color:#8290a6!important;margin:20px 0}#learningProgress nav{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 17px;background:#eaf0fa;border:1px solid #e4eaf5;border-radius:11px;padding:5px;width:fit-content}#learningProgress nav button{border:0;background:transparent;font-size:12px;padding:8px 20px;min-height:40px}#learningProgress nav [aria-pressed=true]{background:white;color:#3159e9;box-shadow:0 2px 7px #14255009}#learningProgress .lp-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}#learningProgress h3{font-size:16px;line-height:1.45;margin:0;letter-spacing:-.2px}#learningProgress .lp-caption{font-size:11px;color:#8896ae;margin:7px 0 19px}#learningProgress article div{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid #edf1f8;padding-top:15px}#learningProgress article p{margin:0;font-size:12px;color:#697e9e}#learningProgress article span,#learningProgress article b{display:block}#learningProgress article b{font-size:11px;color:#3b5784;margin-bottom:8px}#learningProgress article small{font-size:10px}#learningProgress .lp-exam{margin:24px 0;padding:20px;border:1px solid #dfe7f3;border-radius:12px;background:#fff}#learningProgress summary{font-size:13px;font-weight:650;color:#4d6b9a;cursor:pointer}#learningProgress #competencyPanel{background:#fff;border-color:#dfe7f3;border-radius:16px;padding:24px;margin-top:28px}#learningProgress .competency-grid article{background:#f7faff;padding:18px;box-shadow:none}#learningProgress .competency-grid p{font-size:12px}#learningProgress .competency-grid b{color:#3159b5;font-size:16px}
@media(max-width:760px){#learningProgress .lp-shell{padding:23px 15px 30px}#learningProgress h1{font-size:27px}#learningProgress .lp-filters{grid-template-columns:1fr 1fr;padding:15px;gap:12px}#learningProgress .lp-summary,#learningProgress .lp-groups{grid-template-columns:1fr;gap:14px}#learningProgress .lp-mode,#learningProgress article{padding:22px}#learningProgress article div{gap:14px}#learningProgress nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:2px}#learningProgress nav button{padding:8px 7px;font-size:11px}#learningProgress .lp-mode>strong{font-size:30px}#learningProgress #competencyPanel{padding:18px}}
.mark-studied{display:block;margin:0 0 12px auto;border:1px solid #9dbcd0;border-radius:18px;padding:7px 13px;background:#edf5fb;color:#174363;font:12px system-ui;cursor:pointer}.mark-studied[aria-pressed=true]{background:#e3f5e9;border-color:#69ae81;color:#23613c}#learningProgress progress{-webkit-appearance:none;appearance:none;overflow:hidden}#learningProgress progress::-webkit-progress-bar{background:#eaf0f8;border-radius:8px}#learningProgress progress::-webkit-progress-value{background:#537ee5;border-radius:8px}#learningProgress progress::-moz-progress-bar{background:#537ee5;border-radius:8px}

/* assets/interactive-lessons.css */
.tap-lab{margin:16px 10px;border:1px solid #bdd7e5;border-radius:16px;background:#f3f9fd;color:#173245;font-family:system-ui,sans-serif}.tap-lab summary{cursor:pointer;padding:18px;font-weight:700;font-size:15px;line-height:1.6}.tap-lab-body{padding:0 16px 18px}.tap-lab p{font-size:14px;line-height:1.7}.tap-lab output{float:right;font-weight:700}.tap-lab input[type=range]{display:block;width:100%;margin:16px 0;min-height:32px}.tap-diagram svg{width:100%;height:auto;display:block;background:#eaf4fa;border-radius:12px}.tap-lab fieldset{border:0;padding:0;margin:18px 0}.tap-lab legend{font-size:15px;font-weight:600;margin-bottom:10px}.tap-choice{display:flex;align-items:center;gap:10px;padding:12px;margin:8px 0;border:2px solid #cedfe9;border-radius:10px;background:white;min-height:44px;box-sizing:border-box;font-size:14px}.tap-choice[data-result=correct]{border-color:#39986b}.tap-choice[data-result=wrong]{border-color:#edb274}.tap-controls{display:flex;gap:10px;flex-wrap:wrap}.tap-controls button{min-height:44px;border:1px solid #a8c9de;border-radius:10px;padding:10px 16px;background:#fff;color:#173245;cursor:pointer}.tap-controls [data-reveal]{background:#226ca0;color:white}.tap-controls button:disabled{opacity:.5;cursor:default}.tap-lab :focus-visible{outline:3px solid #e3ae50;outline-offset:3px}.tap-result:empty{display:none}.tap-result{padding:14px;border-radius:12px;background:white}
.lc-reveal,.lc-explanation button{min-height:44px;padding:10px 14px;border:1px solid #a8c9de;border-radius:10px;background:#226ca0;color:#fff;margin-bottom:12px;cursor:pointer}.lc-reveal:disabled{opacity:.5}.lc-explanation{padding:14px;margin:10px 0;border:1px solid #c9dfeb;border-radius:12px;background:#fff;font-size:14px}.lc-explanation .katex{font-size:1em}.lc-explanation p{overflow-wrap:anywhere}.lc-count{color:#536c7c}
.tap-lab select{display:block;box-sizing:border-box;max-width:100%;width:100%;padding:12px;margin:8px 0;border:1px solid #a8c9de;border-radius:10px;background:white;color:#173245}.tap-model-note{padding:10px;border-left:3px solid #79abc5;background:#eaf4fa}.tap-lab .tap-diagram{overflow:hidden}.tap-lab .tap-diagram svg text{font-family:system-ui,sans-serif}
.tap-lab .apparatus-play{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:150px;margin:12px 0 0;padding:10px 16px;border:1px solid #91b8cf;border-radius:12px;background:#226ca0;color:#fff;font:600 14px system-ui,sans-serif;cursor:pointer}.tap-lab .apparatus-play[aria-pressed=true]{background:#fff;color:#173245}.tap-lab .apparatus-play:focus-visible{outline:3px solid #e3ae50;outline-offset:3px}

/* Preserve meaningful spaces in changed code/string examples. */
.tap-lab[data-shared-explorer] .tap-lab-body > p,.tap-lab[data-shared-explorer] .tap-choice span{white-space:pre-wrap}
.chem-sample-data{width:100%;border-collapse:collapse;font:inherit;margin:12px 0}.chem-sample-data caption{text-align:left;font-weight:600;padding-block:8px}.chem-sample-data :is(th,td){text-align:left;padding:6px;border-bottom:1px solid #bad4e2}

/* assets/competency-progress.css */
#competencyPanel{margin:20px 0;padding:18px;border:1px solid #c6dce9;border-radius:18px;background:#f2f8fc;color:#173245}#competencyPanel p{line-height:1.6;font-size:14px}.competency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.competency-grid article{padding:16px;background:#fff;border:1px solid #d4e4ed;border-radius:14px}.competency-grid h3{margin:0 0 10px}.competency-grid b{color:#23638c}.competency-grid progress{width:100%;accent-color:#31886a}.competency-grid small{display:block;line-height:1.6}#competencyPanel summary{cursor:pointer;margin-top:16px}

/* assets/chemistry-paper.css */
#chemistryPaper{position:fixed;inset:0;z-index:1900;overflow:auto;background:#f2f8fb;color:#183b50;font:16px/1.6 system-ui;padding:14px;box-sizing:border-box}
.chem-shell{max-width:900px;margin:auto;padding-bottom:28px}.chem-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}.chem-head h1{font-size:26px;margin:0}.chem-head p{margin:3px 0}.chem-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0}.chem-filters label{font-size:13px;font-weight:600}.chem-filters select,.chem-filters input{display:block;width:100%;box-sizing:border-box;min-width:0;margin-top:4px}.chem-search{grid-column:span 2}
#chemistryPaper button,#chemistryPaper select,#chemistryPaper input,#chemistryPaper textarea,.home-paper-picker select{font:inherit;border:1px solid #b8d2e0;border-radius:10px;background:white;color:#183b50;padding:10px;min-height:44px;box-sizing:border-box}#chemistryPaper button{cursor:pointer}#chemistryPaper button:disabled{opacity:.5;cursor:default}#chemistryPaper button:focus-visible,#chemistryPaper select:focus-visible{outline:3px solid #087fa0;outline-offset:2px}
.chem-card{background:white;border:1px solid #c6dce7;border-radius:16px;padding:18px;margin:16px 0;overflow-wrap:anywhere}.chem-card h2{font-size:21px;margin:0 0 12px}.chem-meta{font-size:13px;color:#436579;display:flex;gap:8px;flex-wrap:wrap}.chem-meta span:last-child{margin-left:auto}.chem-text{white-space:pre-line;font-size:18px;line-height:1.75}.chem-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chem-options button{text-align:left;background:#edf6fa!important}.chem-options .correct{outline:2px solid #29965d}.chem-options .wrong{outline:2px solid #e5a467}.chem-options [aria-pressed=true]{border:2px solid #197fa6!important}.chem-source img{max-width:100%;height:auto;display:block;background:white;margin:8px 0}.chem-source summary{cursor:pointer;padding:12px 0;min-height:44px}.chem-note{background:#fff5df;border-left:4px solid #c78b28;padding:12px}.chem-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0}.chem-nav button{flex:1}.chem-nav span{white-space:nowrap}.chem-step{background:#edf6fa;border:1px solid #b8d2e0;border-radius:12px;padding:18px;margin:14px 0}.chem-step svg{width:100%;height:auto;display:block}.chem-step h3{font-size:17px;margin:10px 0}.chem-step p{margin:0}.chem-source-link{color:#056e91}.chem-exam textarea{width:100%;min-height:150px}.chem-status{font-size:14px;min-height:22px}.home-paper-picker{display:block;border:1px solid #c6dce7;padding:14px;border-radius:14px;margin:16px 0;background:#f2f8fb;color:#173d53}.home-paper-picker select{width:100%;margin-top:8px}.chem-inline{display:flex;gap:8px;flex-wrap:wrap}.chem-inline label{flex:1}.chem-graph text{font-family:system-ui;font-size:15px;fill:#173d53}.chem-timer{font-variant-numeric:tabular-nums;font-weight:bold}.chem-flag{font-size:13px;padding:8px;color:#526978}
@media(max-width:420px){#chemistryPaper{padding:9px}.chem-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.chem-card{padding:13px}.chem-text{font-size:17px}.chem-head h1{font-size:22px}.chem-options{gap:7px}.chem-options button{padding:9px!important}.chem-search{grid-column:span 2}}

/* assets/chemistry-visuals.css */
.chem-visual{margin:0}.chem-visual h4{font:700 18px/1.4 system-ui;margin:0 0 8px;color:#174d63}.chem-visual svg{width:100%;max-height:420px;display:block}.chem-visual text{fill:#193e50;font-family:system-ui}.chem-visual figcaption{font:15px/1.5 system-ui;color:#365d6e;margin:5px 0 12px}.chem-visual-wrap{border:1px solid #bdd7e1;border-radius:12px;background:#edf6fa;padding:12px;margin-bottom:16px}.chem-schematic,.chem-experiment small{display:block;font:12px/1.5 system-ui;color:#557381;margin-top:10px}.chem-experiment{border-top:1px solid #bdd7e1;margin-top:14px;padding-top:12px}.chem-experiment label{display:block;font:600 14px/1.5 system-ui}.chem-experiment input{width:100%;accent-color:#187e96}.chem-experiment output{display:block;font:15px/1.6 system-ui;background:#fff;border-radius:8px;padding:10px}.cv-particle{animation:cv-drift 3s ease-in-out infinite alternate}.cv-settle{animation:cv-fall 3s ease-in-out infinite}.cv-pulse{animation:cv-glow 2s ease-in-out infinite alternate}.cv-ring,.cv-flow{stroke-dasharray:8 5;animation:cv-dash 3s linear infinite}.cv-trace{stroke-dasharray:600;animation:cv-draw 4s ease-in-out infinite}.cv-electron{animation:cv-electron 3s linear infinite}.cv-bar{animation:cv-glow 3s ease-in-out infinite alternate}.cv-paused *{animation-play-state:paused!important}@keyframes cv-drift{to{transform:translate(7px,8px)}}@keyframes cv-fall{0%{transform:translateY(-15px);opacity:.4}80%,100%{transform:translateY(14px);opacity:1}}@keyframes cv-glow{to{opacity:.55}}@keyframes cv-dash{to{stroke-dashoffset:-52}}@keyframes cv-draw{0%{stroke-dashoffset:600}65%,100%{stroke-dashoffset:0}}@keyframes cv-electron{to{transform:translateX(235px)}}@media(prefers-reduced-motion:reduce){.chem-visual *{animation:none!important}}@media(max-width:420px){.chem-visual-wrap{padding:8px}.chem-visual h4{font-size:16px}}

.cv-bubble{animation:cv-rise 3s ease-in infinite}@keyframes cv-rise{0%{transform:translateY(22px);opacity:0}20%{opacity:1}100%{transform:translateY(-30px);opacity:0}}

.chem-math{display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle;padding:3px 1px}.chem-math .katex{font-size:1.05em}.chem-math .katex-html{white-space:nowrap}

/* assets/shared-official-answer.css */
.shared-official-answer{color:#183b50;min-width:0}.shared-official-answer .ms-prose{white-space:pre-line;overflow-wrap:anywhere;line-height:1.7;margin:6px 0}.shared-official-answer .markrow{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin:8px 0!important;line-height:1.7}.shared-official-answer .markrow .ms-point-text{min-width:0!important;flex:1 1 auto;overflow-wrap:anywhere}.shared-official-answer .ms-table-wrap{max-width:100%;overflow-x:auto}.shared-official-answer table{border-collapse:collapse;table-layout:fixed;width:100%;background:#edf6fa;margin:12px 0}.shared-official-answer caption{text-align:left;font-weight:600;padding:8px}.shared-official-answer th,.shared-official-answer td{border:1px solid #bad4e2;padding:10px;text-align:left;vertical-align:top;overflow-wrap:anywhere}.shared-official-answer figure{margin:12px 0}.shared-official-answer img{display:block;max-width:100%;height:auto}.shared-official-answer figcaption,.shared-official-answer small{display:block;font-size:12px;line-height:1.5}.shared-official-answer details{margin:14px 0;padding:10px;border:1px solid #bad4e2;border-radius:12px;background:#edf6fa}

/* assets/board-text.css */
.board-paragraph{margin:0 0 .75em;white-space:pre-line;text-align:justify;text-justify:inter-word;hyphens:auto}.board-subpart{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;margin:.65em 0;align-items:start}.board-marker{white-space:nowrap}.board-options{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px}.board-options .chem-choice{display:grid;grid-template-columns:auto minmax(0,1fr);text-align:left;align-items:start;gap:6px}.board-options .chem-choice p{margin:0!important}.board-options-title{margin:1em 0 .5em;font-weight:700}
.physics-show-step{padding:10px 14px;min-height:44px;border:1px solid #8db9cf;border-radius:10px;background:#edf6fa;color:#173245;font:inherit;cursor:pointer}.v30-options.board-options .v30-option{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px;text-align:left}.v30-options.board-options .option-content{min-width:0}

/* MCQ Options 2x2 and 1x4 layout across all subjects */
#questionPanel .chem-options.options-grid-2x2,
#questionPanel .board-options.options-grid-2x2,
#questionPanel .v30-options.options-grid-2x2 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
#questionPanel .chem-options.options-grid-1x4,
#questionPanel .board-options.options-grid-1x4,
#questionPanel .v30-options.options-grid-1x4 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 9px !important;
}

/* Base button card styling across all MCQ options */
#questionPanel .chem-choice,
#questionPanel .v30-option {
  border: 1px solid #bfd7e8 !important;
  border-radius: 8px !important;
  background: #edf6fa !important;
  color: #10263a !important;
  cursor: pointer;
  box-sizing: border-box !important;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* Bold option letter across all layouts (2x2 and 1x4) */
#questionPanel .chem-choice > span,
#questionPanel .board-options .chem-choice > span,
#questionPanel .v30-option .option-letter,
#questionPanel .v30-option b {
  font-weight: 700 !important;
  color: #034870 !important;
}

/* 2x2 Grid option cards: Spacious box with Bold ABCD on top (Physics card style) */
#questionPanel .options-grid-2x2 .chem-choice,
#questionPanel .options-grid-2x2 .v30-option {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  text-align: left !important;
  padding: 12px 14px 14px 14px !important;
  min-height: 82px !important;
}

#questionPanel .options-grid-2x2 .chem-choice > span,
#questionPanel .options-grid-2x2 .v30-option .option-letter,
#questionPanel .options-grid-2x2 .v30-option b {
  display: inline-block !important;
  position: static !important;
  font-weight: 700 !important;
  font-size: calc(15px * var(--qscale, 1)) !important;
  color: #034870 !important;
  margin-bottom: 6px !important;
  line-height: 1.2 !important;
}

#questionPanel .options-grid-2x2 .chem-choice p,
#questionPanel .options-grid-2x2 .v30-option .option-content {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  font-size: calc(16.5px * var(--qscale, 1)) !important;
  line-height: 1.55 !important;
  color: inherit !important;
  word-break: break-word !important;
}

/* Clear, sharp mathematical formulas and fractions in 2x2 option cards */
#questionPanel .options-grid-2x2 .chem-choice .katex,
#questionPanel .options-grid-2x2 .v30-option .katex {
  font-size: 1.18em !important;
}
#questionPanel .katex,
#questionPanel .katex * {
  line-height: normal !important;
}

/* 1x4 layout: clean row with bold letter marker */
#questionPanel .options-grid-1x4 .chem-choice,
#questionPanel .board-options:not(.options-grid-2x2) .chem-choice {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  text-align: left !important;
  align-items: start !important;
  gap: 8px !important;
  padding: 12px 14px !important;
  min-height: 52px !important;
}
#questionPanel .options-grid-1x4 .chem-choice > span,
#questionPanel .board-options:not(.options-grid-2x2) .chem-choice > span {
  font-size: calc(15px * var(--qscale, 1)) !important;
  line-height: 1.5 !important;
}
#questionPanel .options-grid-1x4 .chem-choice p,
#questionPanel .board-options:not(.options-grid-2x2) .chem-choice p {
  margin: 0 !important;
  font-size: calc(15.5px * var(--qscale, 1)) !important;
  line-height: 1.55 !important;
}

/* Dark mode theme support */
:root[data-app-theme="dark"] #questionPanel .chem-choice,
:root[data-app-theme="dark"] #questionPanel .v30-option {
  background: var(--review-surface, #1e293b) !important;
  border-color: var(--review-border, #334155) !important;
  color: var(--review-ink, #f1f5f9) !important;
}
:root[data-app-theme="dark"] #questionPanel .chem-choice > span,
:root[data-app-theme="dark"] #questionPanel .board-options .chem-choice > span,
:root[data-app-theme="dark"] #questionPanel .v30-option .option-letter,
:root[data-app-theme="dark"] #questionPanel .v30-option b {
  color: #7dd3fc !important;
}
:root[data-app-theme="dark"] #questionPanel .chem-choice:hover,
:root[data-app-theme="dark"] #questionPanel .v30-option:hover {
  border-color: #38bdf8 !important;
  background: #24354a !important;
}

@media (max-width: 330px) {
  #questionPanel .chem-options.options-grid-2x2,
  #questionPanel .board-options.options-grid-2x2,
  #questionPanel .v30-options.options-grid-2x2 {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Question Panel Font Scaling via --qscale across all subjects */
#questionPanel .question-surface {
  font-size: calc(16.5px * var(--qscale, 1)) !important;
}
#questionPanel .qtext,
#questionPanel .qtext p,
#questionPanel .qtext div,
#questionPanel .board-paragraph,
#questionPanel .board-subpart,
#questionPanel .board-marker,
#questionPanel .board-sequence,
#questionPanel .board-options-title,
#questionPanel .chem-options,
#questionPanel .chem-choice,
#questionPanel .chem-choice p,
#questionPanel .chem-choice span:not(.katex):not(.katex *),
#questionPanel .v30-options,
#questionPanel .v30-option,
#questionPanel .option-content,
#questionPanel .option-letter,
#questionPanel .orline {
  font-size: calc(16.5px * var(--qscale, 1)) !important;
  line-height: 1.55 !important;
}
#questionPanel .qtext b {
  font-size: calc(17px * var(--qscale, 1)) !important;
}
#questionPanel .katex {
  font-size: 1.05em !important;
}

/* Answer Panel Font Scaling via --ascale across all subjects */
#answerPanel .answer-main,
#answerPanel .answer-main p,
#answerPanel .answer-main li,
#answerPanel .answer-main div:not(.markbadge):not(.pill):not(.katex *):not(.v58-route-controls *):not(.answer-number),
#answerPanel .answer-main span:not(.markbadge):not(.pill):not(.katex):not(.katex *):not(.navicon):not(.v58-route-controls *):not(.answer-number),
#answerPanel .math-official-answer,
#answerPanel .math-ms-steps-body,
#answerPanel .math-ms-steps-body p,
#answerPanel .math-ms-steps-body div,
#answerPanel .chem-official,
#answerPanel .chem-official .step,
#answerPanel .chem-teacher,
#answerPanel .verbatimbox,
#answerPanel .teachbox,
#answerPanel .step p {
  font-size: calc(15px * var(--ascale, 1)) !important;
  line-height: 1.6 !important;
}
#answerPanel .math-ms-steps-title,
#answerPanel .sectionlabel {
  font-size: calc(14px * var(--ascale, 1)) !important;
}
#answerPanel .answer-number {
  font-size: calc(16px * var(--ascale, 1)) !important;
}
#answerPanel .katex {
  font-size: 1.05em !important;
}
body:not(.chem-shared) .v54-visual-controls{display:flex!important;flex-wrap:wrap!important;gap:6px!important;overflow:visible!important}body:not(.chem-shared) .v54-visual-controls button{width:auto!important;min-width:44px;min-height:44px;padding:8px 10px!important;font-size:13px!important;white-space:normal!important}body:not(.chem-shared) .v54-iconbar{height:auto!important;overflow:visible!important}[data-physics-step-count]{margin:8px 12px;font-weight:600;color:#173245}

body:not(.chem-shared) .v54-visual-controls button[hidden]{display:none!important}

/* Authored Physics scenes share the light Study palette. */
:root[data-app-theme="light"] body #visualAnchor #v31Canvas:has(svg[data-authored-question]),
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg[data-authored-question]{background:#edf6fa!important;--review-bg:#edf6fa;--review-ink:#173245;--review-surface:#e4f0f8}
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg[data-authored-question] text,
:root[data-app-theme="light"] body #visualAnchor #v31Canvas svg[data-authored-question] tspan{fill:#173245!important}

.board-sequence{display:flex;flex-wrap:wrap;gap:.35em .55em;align-items:baseline;padding:12px;border:1px solid #bad4e2;border-radius:10px;background:#edf6fa;color:#173245;font:600 16px/1.65 ui-monospace,Consolas,monospace;margin:12px 0;max-width:100%;box-sizing:border-box}.board-sequence span{white-space:nowrap}

.diagram-enlarge,.diagram-toolbar button{min-height:44px;padding:8px 14px;border:1px solid #8db9cf;border-radius:9px;background:#edf6fa;color:#173245;font:inherit;cursor:pointer}.diagram-enlarge{margin-top:8px}.diagram-dialog{width:calc(100vw - 24px);max-width:1000px;max-height:90dvh;padding:12px;border:1px solid #8db9cf;border-radius:14px;background:#edf6fa;color:#173245;box-sizing:border-box}.diagram-dialog::backdrop{background:#102d46aa}.diagram-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.diagram-scroll{overflow:auto;max-height:72dvh;touch-action:pan-x pan-y}.diagram-sheet svg{display:block;width:100%;height:auto;max-height:none}.diagram-sheet text{fill:#193e50;font-family:system-ui,sans-serif}

.diagram-sheet img{display:block;width:100%;height:auto;max-width:none;max-height:none}

/* Board instruction banners, bullets, and subpart/option layout */
.board-instruction-banner {
  margin: 18px 0 14px;
  padding: 12px 16px;
  background: #eff6ff;
  border-left: 5px solid #2563eb;
  border-radius: 8px;
  font-weight: 800;
  color: #1e40af;
  font-size: 14.5px;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(37, 99, 235, 0.12);
  display: flex;
  align-items: center;
  gap: 10px;
}
.board-instruction-banner::before {
  content: "📌";
  font-size: 16px;
  flex-shrink: 0;
}
.board-instruction-banner strong {
  font-weight: 800;
  letter-spacing: 0.2px;
}
:root[data-app-theme=dark] .board-instruction-banner {
  background: #172554;
  border-left-color: #60a5fa;
  color: #bfdbfe;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.board-source-note {
  margin: 8px 0 16px;
  padding: 6px 12px;
  background: #f8fafc;
  border-left: 3px solid #94a3b8;
  border-radius: 4px;
  color: #64748b;
  font-size: 13px;
}
:root[data-app-theme=dark] .board-source-note {
  background: #1e293b;
  border-left-color: #64748b;
  color: #94a3b8;
}
.board-subpart-marks {
  display: inline-block;
  background: #f1f5f9;
  color: #0f172a;
  font-weight: 800;
  font-size: 13.5px;
  padding: 1px 6px;
  border-radius: 4px;
  border: 1px solid #cbd5e1;
  margin-left: auto;
  align-self: flex-start;
  flex-shrink: 0;
}
:root[data-app-theme=dark] .board-subpart-marks {
  background: #1e293b;
  color: #f8fafc;
  border-color: #334155;
}
.board-bullet-line {
  display: flex;
  gap: 10px;
  margin: 6px 0 6px 20px;
  line-height: 1.55;
  align-items: baseline;
}
.board-bullet {
  color: #0284c7;
  font-weight: 700;
  font-size: 16px;
  line-height: 1;
}
.board-bullet-content {
  flex: 1;
  min-width: 0;
  text-align: justify;
  text-justify: inter-word;
}
.board-subpart.board-subpart-question {
  margin: 10px 0 6px 0;
  gap: 6px;
}
.board-subpart.board-subpart-question > .board-marker {
  color: #0284c7;
  font-weight: 800;
  font-size: 14px;
}
:root[data-app-theme=dark] .board-subpart.board-subpart-question > .board-marker {
  color: #38bdf8;
}
.board-subpart.board-subpart-option {
  margin: 4px 0 4px 4px;
  gap: 6px;
}
.board-subpart.board-subpart-option > .board-marker {
  color: #64748b;
  font-weight: 700;
}
:root[data-app-theme=dark] .board-subpart.board-subpart-option > .board-marker {
  color: #94a3b8;
}
.board-subpart .board-subpart-content {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  min-width: 0;
  width: 100%;
}
.board-subpart > .board-subpart-content:only-child,
.board-subpart:not(:has(.board-marker)) > .board-subpart-content {
  grid-column: 1 / -1;
}
.board-subpart.board-subpart-standalone {
  display: block;
}
.board-subpart.board-subpart-standalone > .board-subpart-content {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  min-width: 0;
  width: 100%;
}
.board-subpart-text {
  flex: 1;
  min-width: 0;
  text-align: justify;
  text-justify: inter-word;
}

/* CBSE Board Table Styling */
.board-table-wrap {
  margin: 18px auto;
  overflow-x: auto;
  display: flex;
  justify-content: center;
  width: 100%;
}
.board-table {
  border-collapse: collapse;
  margin: 0 auto;
  width: 94%;
  max-width: 520px;
  font-size: 13.5px;
  line-height: 1.45;
  border: 1.5px solid #1e293b;
  background: #ffffff;
}
.board-table caption {
  font-weight: 800;
  font-size: 13.5px;
  color: #0f172a;
  padding: 8px 12px;
  border: 1.5px solid #1e293b;
  border-bottom: none;
  background: #f8fafc;
  text-align: center;
}
.board-table th,
.board-table td {
  border: 1px solid #334155;
  padding: 6px 12px;
}
.board-table th {
  background: #f1f5f9;
  font-weight: 700;
  color: #0f172a;
}
.board-table th.text-center,
.board-table td.text-center {
  text-align: center;
}
.board-table th.text-left,
.board-table td.text-left {
  text-align: left;
}
:root[data-app-theme=dark] .board-table {
  background: #0f172a;
  border-color: #64748b;
}
:root[data-app-theme=dark] .board-table caption {
  background: #1e293b;
  border-color: #64748b;
  color: #f8fafc;
}
:root[data-app-theme=dark] .board-table th {
  background: #1e293b;
  color: #f8fafc;
  border-color: #475569;
}
:root[data-app-theme=dark] .board-table td {
  border-color: #334155;
  color: #cbd5e1;
}

/* English Core Compact Typography */
body.subject-english #questionPanel .question-surface,
body.subject-english #questionPanel .qtext,
body.subject-english #questionPanel .qtext p,
body.subject-english #questionPanel .qtext div,
body.subject-english #questionPanel .board-paragraph,
body.subject-english #questionPanel .board-subpart,
body.subject-english #questionPanel .board-marker,
body.subject-english #questionPanel .board-subpart-text,
body.subject-english #questionPanel .board-bullet-content,
body.subject-english #questionPanel .board-bullet-line,
body.subject-english #questionPanel .chem-choice p,
body.subject-english #questionPanel .options-grid-1x4 .chem-choice p,
.english-question-surface,
.english-question-surface .qtext,
.english-question-surface .qtext p,
.english-question-surface .qtext div,
.english-question-surface .board-paragraph,
.english-question-surface .board-subpart,
.english-question-surface .board-marker,
.english-question-surface .board-subpart-text,
.english-question-surface .board-bullet-content,
.english-question-surface .board-bullet-line,
.english-question-surface .chem-choice p,
.english-question-surface .options-grid-1x4 .chem-choice p {
  font-size: calc(13.5px * var(--qscale, 1)) !important;
  line-height: 1.6 !important;
}

body.subject-english #answerPanel .answer-main,
body.subject-english #answerPanel .answer-main p,
body.subject-english #answerPanel .answer-main div,
body.subject-english #answerPanel .english-ms-card,
body.subject-english #answerPanel .english-ms-subpart-row,
body.subject-english #answerPanel .english-ms-subpart-text,
body.subject-english #answerPanel .english-ms-rubric-card,
body.subject-english #answerPanel .rubric-body {
  font-size: calc(13px * var(--ascale, 1)) !important;
  line-height: 1.55 !important;
}



/* CBSE Board Extract & Poetry Stanza */
.board-extract-stanza {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  margin: 12px 0 16px;
  align-items: start;
}
.board-extract-stanza > .board-marker {
  font-weight: 700;
  font-size: calc(14px * var(--qscale, 1)) !important;
  color: #0284c7;
  padding-top: 1px;
}
:root[data-app-theme=dark] .board-extract-stanza > .board-marker {
  color: #38bdf8;
}
.board-poem-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
  line-height: 1.5;
  text-align: left;
}
.board-poem-line {
  text-align: left !important;
  text-justify: auto !important;
  white-space: pre-wrap;
  margin: 0;
  padding: 0;
  line-height: 1.55;
  font-size: calc(13.5px * var(--qscale, 1)) !important;
}
.board-poem-source {
  margin-top: 8px;
  text-align: right;
  font-style: italic;
  color: #64748b;
  font-size: calc(12.5px * var(--qscale, 1)) !important;
}
:root[data-app-theme=dark] .board-poem-source {
  color: #94a3b8;
}

/* MCQ Options Left-Alignment & Spacing */
.board-subpart.board-subpart-option {
  margin-left: 10px;
}
.board-subpart.board-subpart-option .board-subpart-text,
.board-options .chem-choice p,
body.subject-english #questionPanel .board-subpart.board-subpart-option .board-subpart-text,
.english-question-surface .board-subpart.board-subpart-option .board-subpart-text {
  text-align: left !important;
  text-justify: auto !important;
}

/* Unified Answer Panel Typography: Ensure Teacher Explanation, Steps, Notes,
   and Official MS Rubric Cards all share identical academic typography matching Question Panel & Filter Bar */
#answerPanel :is(
  .answer-main,
  .chem-official,
  .chem-teacher,
  .teachbox,
  .step,
  .teacher-method,
  .teacher-step-text,
  .teacher-authored-note,
  .teacher-note,
  .verbatimbox,
  .ip-ms-card,
  .official-header,
  .shared-official-answer,
  .step-text,
  p, h3, h4, h5, button, span, small
):not(.katex):not(.katex *):not(pre):not(pre *):not(code):not(code *) {
  font-family: var(--mep-font, Garamond, "Palatino Linotype", "Book Antiqua", Georgia, serif) !important;
}

/* Question Panel Unified Single-Line Header (Question Number + Chapter + Type + Marks) */
#questionPanel .qtags {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  font-family: var(--mep-font, Garamond, "Palatino Linotype", "Book Antiqua", Georgia, serif) !important;
  font-size: calc(16.5px * var(--qscale, 1)) !important;
  line-height: 1.5 !important;
}

#questionPanel .qtags .qnum,
#questionPanel .qtags .qnum b {
  font-weight: 800 !important;
  color: var(--review-ink, #0f172a) !important;
  font-size: inherit !important;
}

#questionPanel .qtags .qtag {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  color: var(--mep-light-muted, #475569) !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  letter-spacing: normal !important;
}

#questionPanel .qtags .qtag.easy {
  color: #166534 !important;
  background: none !important;
  border: none !important;
}

#questionPanel .qtags .qtag-sep {
  color: #94a3b8 !important;
  font-weight: 400 !important;
  user-select: none !important;
  padding: 0 1px !important;
}

#questionPanel .qtags .qmark,
#questionPanel .qtags .qtag[style*="margin-left:auto"],
#questionPanel .qtags .qtag:last-child.qmark {
  margin-left: auto !important;
  font-weight: 400 !important;
  color: var(--mep-light-muted, #475569) !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  font-size: inherit !important;
}

:root[data-app-theme="dark"] #questionPanel .qtags .qnum,
:root[data-app-theme="dark"] #questionPanel .qtags .qnum b {
  color: #f8fafc !important;
}
:root[data-app-theme="dark"] #questionPanel .qtags .qtag,
:root[data-app-theme="dark"] #questionPanel .qtags .qmark {
  color: #94a3b8 !important;
}
:root[data-app-theme="dark"] #questionPanel .qtags .qtag.easy {
  color: #4ade80 !important;
}

/* Answer Panel Marks Badging Across All Subjects (Matches Attachment 2) */
#answerPanel :is(.markbadge, .submark, .board-subpart-marks, .ip-ms-rubric-badge, .english-ms-step-badge, .math-ms-marks, .rubric-score) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #e0f2fe !important;
  color: #0369a1 !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  padding: 2px 10px !important;
  border-radius: 9999px !important;
  border: 1px solid #bae6fd !important;
  margin-left: auto !important;
  align-self: flex-start !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05) !important;
  white-space: nowrap !important;
  letter-spacing: 0.5px !important;
  font-family: var(--mep-font, Inter, Arial, sans-serif) !important;
}

:root[data-app-theme=dark] #answerPanel :is(.markbadge, .submark, .board-subpart-marks, .ip-ms-rubric-badge, .english-ms-step-badge, .math-ms-marks, .rubric-score) {
  background: #0c4a6e !important;
  color: #e0f2fe !important;
  border-color: #0284c7 !important;
}

/* Ensure step headers and markrows push markbadge to the right */
#answerPanel .step h4 {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}
#answerPanel .markrow {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}



/* assets/shared-teacher-depth.css */
.teacher-authored-note{font:14px/1.5 system-ui,sans-serif;color:#456375;margin:8px 0 14px}.teacher-option-review{margin:18px 0;padding:12px;border:1px solid #b9d4e2;border-radius:12px;background:#edf6fa;color:#173245}.teacher-option-review h3{font-size:18px;margin:0 0 8px}.teacher-option-list{display:grid;gap:12px}.teacher-option-reason{min-width:0;border:1px solid #d9b994;border-left:4px solid #d4a267;border-radius:10px;padding:12px;background:#fff}.teacher-option-reason.is-correct{border-color:#78ae90;border-left-color:#2d8959;background:#f5fcf7}.teacher-option-reason h4{display:flex;align-items:center;gap:8px;font-size:16px;margin:0 0 8px}.teacher-option-reason h4>span{display:inline-grid;place-items:center;border:1px solid currentColor;border-radius:50%;width:28px;height:28px;flex-shrink:0}.teacher-option-text{font-weight:600}.teacher-option-reason p{line-height:1.6;overflow-wrap:anywhere}.teacher-option-reason button,.teacher-method button{min-height:44px;padding:9px 12px;border:1px solid #8db9cf;border-radius:9px;background:#edf6fa;color:#173245;font:inherit;cursor:pointer;white-space:normal}.teacher-source-note{padding:10px 12px;border-left:3px solid #b78a44;background:#fff8e9;font-size:14px;line-height:1.6}.teacher-option-reason[data-focused=true]{outline:2px solid #277ca7;outline-offset:3px} .teacher-method .step{scroll-margin-top:15px}

.teacher-method .step[aria-current=step],.teacher-method [data-physics-teacher-step][aria-current=step]{border-left-color:#267ea6;box-shadow:inset 0 0 0 1px #8fbdcf}

/* ui/shared/options.css */
.chem-shared .chem-options button{font:inherit;color:inherit;border:1px solid #bad4e2;border-radius:10px;padding:14px;cursor:pointer}.chem-shared .chem-options .correct{outline:2px solid #29965d}.chem-shared .chem-options .wrong{outline:2px solid #e5a467}.chem-shared .chem-nav button{font:inherit;padding:10px;border:1px solid #bad4e2;border-radius:8px;background:#edf6fa}.chem-shared .visualcard .head{display:flex;justify-content:space-between;padding:12px}.chem-shared .visualcard .body{padding:12px}
/* ui/shared/biology-scenes.css */
/* Teaching-scene controls must fit portrait readers, including long choices. */
[data-sample-scene] { min-width: 0; overflow-wrap: anywhere; }
[data-sample-scene] .bio-sample-scene-controls label { display: block; }
[data-sample-scene] .bio-sample-scene-controls select,
[data-sample-scene] .bio-sample-scene-controls input[type="range"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 6px 0 0;
}
[data-sample-scene] .bio-sample-scene-controls select { min-height: 44px; }
[data-sample-scene] [data-scene-mode] { color: #475569; font-size: .88em; }
[data-sample-diagram] { min-width: 0; }

/* ui/shared/answer-panels.css */
.chem-shared #answerPanel .verbatimbox,.chem-shared #answerPanel .teachbox,.chem-shared #answerPanel .step{background:#edf6fa!important;color:#183b50!important;border-color:#bad4e2!important}.chem-shared .chem-choice{background:#edf6fa!important;color:#183b50!important}.chem-shared .ans-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.chem-shared .ans-controls select{font:inherit;color:#183b50;background:#edf6fa;border:1px solid #bad4e2;border-radius:8px;padding:8px;max-width:100%}.chem-shared .mark-studied{font-size:14px!important;width:auto!important;min-width:110px!important;color:#183b50!important}
/* ui/shared/term-cards.css */
.chem-shared .chem-official>.step,.chem-shared .termcard{background:#edf6fa;border:1px solid #bad4e2;border-radius:12px;padding:16px;margin:12px 0}.chem-shared .chem-official>.step{border-left:4px solid #61bad5}.chem-shared .chem-official h4{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px}.chem-shared .termcard h3{margin:0 0 10px}.chem-shared .chem-source{border:1px solid #bad4e2;border-radius:12px;background:#edf6fa;padding:8px 12px;margin:12px 0}.chem-shared .chem-source img{width:100%;height:auto}.chem-lesson-controls{display:flex;flex-wrap:nowrap;align-items:center;gap:5px;overflow-x:auto;padding:3px 0}.chem-lesson-controls button{font:inherit;padding:0 8px;min-width:34px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #bad4e2;border-radius:8px;background:#edf6fa;color:#183b50;font-size:13px;font-weight:700;flex-shrink:0;cursor:pointer}.chem-shared #visualAnchor:fullscreen{overflow:auto;background:#f4f9fc;padding:12px}.chem-shared [hidden]{display:none!important}
/* ui/shared/term-pills.css */
.chem-shared .termcard .pill{display:inline-flex;border:1px solid #bad4e2;background:#edf6fa;border-radius:18px;padding:5px 9px;margin:3px;font-size:12px;line-height:1.4;white-space:normal}
/* assets/practicals-guide.css */
/* My Exams Pro — Practicals, Lab Journal & Viva Viewer Styles */
.practicals-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100003;
  background: rgba(7, 17, 31, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  overflow-y: auto;
}

.prac-modal-sheet {
  background: var(--p-bg, #f3f6fc);
  color: var(--p-text, #142640);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 24px;
  max-width: 680px;
  width: 100%;
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.28);
}

.prac-header {
  padding: 18px 20px 14px;
  background: var(--p-card, #ffffff);
  border-bottom: 1px solid var(--p-line, #d3dff0);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.prac-header-title {
  display: flex;
  align-items: center;
  gap: 12px;
}

.prac-header-icon {
  font-size: 28px;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(52, 91, 227, 0.1);
  color: var(--p-accent, #345be3);
}

.prac-header-title h2 {
  font-size: 18px;
  margin: 0;
  font-weight: 850;
  color: var(--p-text, #142640);
}

.prac-header-title p {
  font-size: 11.5px;
  color: var(--p-muted, #576b87);
  margin: 2px 0 0;
}

.prac-close-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid var(--p-line, #d3dff0);
  background: var(--p-input, #f7f9fd);
  color: var(--p-muted, #576b87);
  cursor: pointer;
  display: grid;
  place-items: center;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}

/* Subject & Category Tabs */
.prac-subject-tabs {
  display: flex;
  gap: 8px;
  padding: 10px 18px;
  background: var(--p-soft, #e8eefb);
  border-bottom: 1px solid var(--p-line, #d3dff0);
  overflow-x: auto;
}

.prac-sub-tab {
  padding: 7px 14px;
  font-size: 12px;
  font-weight: 750;
  border-radius: 10px;
  border: 1px solid transparent;
  background: none;
  color: var(--p-muted, #576b87);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.prac-sub-tab.active {
  background: var(--p-card, #ffffff);
  color: var(--p-accent, #345be3);
  border-color: var(--p-line, #d3dff0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.prac-category-tabs {
  display: flex;
  gap: 6px;
  padding: 8px 18px;
  background: var(--p-card, #ffffff);
  border-bottom: 1px solid var(--p-line, #d3dff0);
  overflow-x: auto;
}

.prac-cat-tab {
  padding: 7px 12px;
  font-size: 11.5px;
  font-weight: 700;
  border-radius: 8px;
  border: 1px solid transparent;
  background: var(--p-soft, #e8eefb);
  color: var(--p-muted, #576b87);
  cursor: pointer;
  white-space: nowrap;
}

.prac-cat-tab.active {
  background: var(--p-accent, #345be3);
  color: #ffffff;
}

/* Main Body Scrollable Area */
.prac-body {
  padding: 16px 18px 24px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Experiment Cards */
.prac-experiments-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prac-exp-card {
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 4px 16px rgba(10, 33, 71, 0.05);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.exp-header {
  border-bottom: 1px solid var(--p-line, #d3dff0);
  padding-bottom: 10px;
}

.exp-sec-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.8px;
  color: var(--p-accent, #345be3);
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}

.exp-header h3 {
  font-size: 16px;
  margin: 0;
  color: var(--p-text, #142640);
  font-weight: 800;
}

.exp-section {
  font-size: 13px;
  line-height: 1.5;
}

.exp-section strong {
  display: block;
  color: var(--p-text, #142640);
  margin-bottom: 4px;
  font-size: 12.5px;
}

.exp-section p {
  margin: 0;
  color: var(--p-muted, #576b87);
}

.exp-formula-box {
  background: rgba(52, 91, 227, 0.06);
  border-left: 3px solid var(--p-accent, #345be3);
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
  color: var(--p-text, #142640) !important;
  font-weight: 600;
}

.exp-tip-box {
  background: rgba(46, 216, 255, 0.08);
  border-left: 3px solid #00bcd4;
  padding: 8px 12px;
  border-radius: 0 8px 8px 0;
  color: var(--p-text, #142640) !important;
}

/* Observation Tables */
.prac-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 10px;
  margin-top: 6px;
}

.prac-obs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: center;
}

.prac-obs-table th {
  background: var(--p-soft, #e8eefb);
  padding: 8px 10px;
  font-weight: 750;
  color: var(--p-text, #142640);
  border: 1px solid var(--p-line, #d3dff0);
}

.prac-obs-table td {
  padding: 7px 10px;
  border: 1px solid var(--p-line, #d3dff0);
  color: var(--p-text, #142640);
}

.exp-section ul, .prac-journal-rules ul {
  margin: 4px 0 0 16px;
  padding: 0;
  color: var(--p-muted, #576b87);
  font-size: 12px;
  line-height: 1.5;
}

/* Blueprint Tab */
.prac-blueprint-card {
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 18px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.prac-card-head .prac-badge {
  font-size: 10px;
  font-weight: 800;
  color: var(--p-accent, #345be3);
  letter-spacing: 1px;
}

.prac-card-head h3 {
  margin: 4px 0 0;
  font-size: 16px;
}

.prac-rubric-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.prac-rubric-item {
  padding: 12px 14px;
  background: var(--p-input, #f7f9fd);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 12px;
}

.rubric-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.rubric-header strong {
  font-size: 13px;
  color: var(--p-text, #142640);
}

.rubric-marks {
  font-size: 12px;
  font-weight: 800;
  color: var(--p-accent, #345be3);
  background: var(--p-soft, #e8eefb);
  padding: 3px 8px;
  border-radius: 6px;
}

.prac-rubric-item p {
  margin: 0;
  font-size: 11.5px;
  color: var(--p-muted, #576b87);
}

.prac-journal-rules {
  background: rgba(255, 152, 0, 0.08);
  border-left: 3px solid #ff9800;
  padding: 12px 14px;
  border-radius: 0 12px 12px 0;
}

.prac-journal-rules h4 {
  margin: 0 0 6px;
  font-size: 13px;
  color: #d97706;
}

/* Viva Voce Cards */
.viva-cards-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}

.viva-card {
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 16px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.viva-num {
  font-size: 10px;
  font-weight: 800;
  color: var(--p-accent, #345be3);
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.viva-card h4 {
  font-size: 14.5px;
  margin: 0;
  line-height: 1.4;
  color: var(--p-text, #142640);
}

.viva-reveal-btn {
  align-self: flex-start;
  padding: 6px 12px;
  background: var(--p-soft, #e8eefb);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 8px;
  font-size: 11.5px;
  font-weight: 750;
  color: var(--p-accent, #345be3);
  cursor: pointer;
}

.viva-answer {
  background: rgba(52, 91, 227, 0.06);
  border-radius: 10px;
  padding: 10px 12px;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--p-text, #142640);
}

.viva-answer strong {
  color: var(--p-accent, #345be3);
  display: block;
  margin-bottom: 2px;
}

.viva-answer p {
  margin: 0;
}

/* Projects & Journals */
.proj-cards-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 12px 0 16px;
}

.proj-card {
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 16px;
  padding: 16px;
}

.proj-chap {
  font-size: 10px;
  font-weight: 800;
  color: var(--p-accent, #345be3);
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}

.proj-head h4 {
  font-size: 15px;
  margin: 0 0 8px;
  color: var(--p-text, #142640);
}

.proj-body p {
  font-size: 12.5px;
  margin: 4px 0;
  color: var(--p-muted, #576b87);
}

.proj-format-guide {
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 16px;
  padding: 16px;
}

.proj-format-guide h4 {
  margin: 0 0 8px;
  font-size: 13.5px;
  color: var(--p-accent, #345be3);
}

.proj-format-guide ol {
  margin: 0 0 0 18px;
  padding: 0;
  font-size: 12px;
  color: var(--p-muted, #576b87);
  line-height: 1.6;
}

/* assets/access-engine.css */
/* My Exams Pro — Access Engine & Freemium Styling */
.mep-tier-banner {
  padding: 16px 20px;
  border-radius: 18px;
  margin: 16px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  box-shadow: 0 4px 16px rgba(10, 33, 71, 0.06);
}

.mep-tier-banner.is-free {
  border-left: 5px solid #ff9800;
  background: linear-gradient(135deg, rgba(255, 152, 0, 0.05), transparent), var(--p-card, #ffffff);
}

.mep-tier-banner.is-pro {
  border-left: 5px solid #345be3;
  background: linear-gradient(135deg, rgba(52, 91, 227, 0.08), rgba(46, 216, 255, 0.05)), var(--p-card, #ffffff);
}

.mep-tier-banner .tier-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.tier-pill {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
}

.free-pill {
  background: rgba(255, 152, 0, 0.15);
  color: #d97706;
}

.pro-pill {
  background: linear-gradient(135deg, #345be3, #2ed8ff);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(52, 91, 227, 0.3);
}

.token-count {
  font-size: 13px;
  color: var(--p-text, #142640);
}

.token-count strong {
  color: var(--p-accent, #345be3);
  font-size: 15px;
}

.tier-subtext {
  font-size: 12px;
  line-height: 1.5;
  color: var(--p-muted, #576b87);
  margin: 0;
}

.tier-desc {
  font-size: 13px;
  font-weight: 600;
  color: var(--p-text, #142640);
}

.mep-upgrade-cta {
  align-self: flex-start;
  padding: 9px 16px;
  font-size: 12.5px;
  font-weight: 750;
  color: #ffffff;
  background: linear-gradient(115deg, #e65100, #ff8f00);
  border: none;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(255, 143, 0, 0.25);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mep-upgrade-cta:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(255, 143, 0, 0.35);
}

/* Upgrade Modal Backdrop & Sheet */
.mep-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 100002;
  background: rgba(7, 17, 31, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow-y: auto;
}

.mep-modal-sheet {
  background: var(--p-card, #ffffff);
  color: var(--p-text, #142640);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 24px;
  max-width: 540px;
  width: 100%;
  padding: 24px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.25);
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-height: 90vh;
  overflow-y: auto;
}

.mep-modal-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--p-line, #d3dff0);
  background: var(--p-input, #f7f9fd);
  color: var(--p-muted, #576b87);
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

.mep-modal-header {
  text-align: center;
  padding: 8px 16px 0;
}

.mep-modal-icon {
  font-size: 32px;
  display: block;
  margin-bottom: 6px;
}

.mep-modal-header h2 {
  font-size: 22px;
  margin: 0 0 6px;
  font-weight: 850;
  color: var(--p-text, #142640);
}

.mep-modal-sub {
  font-size: 13px;
  color: var(--p-muted, #576b87);
  margin: 0;
  line-height: 1.45;
}

.mep-question-unlock-box {
  background: rgba(52, 91, 227, 0.08);
  border: 1px dashed rgba(52, 91, 227, 0.4);
  border-radius: 14px;
  padding: 14px;
  text-align: center;
}

.mep-btn-unlock {
  background: #345be3;
  color: #fff;
  border: none;
  padding: 10px 18px;
  border-radius: 10px;
  font-weight: 750;
  cursor: pointer;
  font-size: 13px;
  box-shadow: 0 4px 12px rgba(52, 91, 227, 0.25);
}

.mep-divider-or {
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 11px;
  color: var(--p-muted, #576b87);
  font-weight: 700;
  letter-spacing: 1px;
  margin: 8px 0;
}

.mep-divider-or::before, .mep-divider-or::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid var(--p-line, #d3dff0);
}

.mep-divider-or span {
  padding: 0 10px;
}

.mep-comparison-table {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 12px;
  margin-top: 6px;
}

.plan-col {
  padding: 16px;
  border-radius: 18px;
  border: 1px solid var(--p-line, #d3dff0);
  background: var(--p-card, #ffffff);
  display: flex;
  flex-direction: column;
}

.plan-col.is-featured {
  border: 2px solid #345be3;
  background: linear-gradient(160deg, rgba(52, 91, 227, 0.06), transparent), var(--p-card, #ffffff);
  position: relative;
  box-shadow: 0 8px 24px rgba(52, 91, 227, 0.15);
}

.featured-badge {
  position: absolute;
  top: -11px;
  right: 14px;
  background: #345be3;
  color: #ffffff;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: 1px;
  padding: 3px 8px;
  border-radius: 8px;
}

.plan-col h3 {
  font-size: 15px;
  margin: 0 0 6px;
}

.plan-price {
  font-size: 20px;
  font-weight: 850;
  color: var(--p-accent, #345be3);
  margin-bottom: 12px;
}

.plan-price small {
  font-size: 11px;
  color: var(--p-muted, #576b87);
  font-weight: 500;
}

.plan-col ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 11.5px;
  line-height: 1.4;
  flex: 1;
}

.plan-col li {
  color: var(--p-text, #142640);
}

.plan-col li:has(b) {
  font-weight: 600;
}

.mep-btn-pro {
  background: linear-gradient(115deg, #345be3, #1e40af);
  color: #fff;
  border: none;
  border-radius: 11px;
  padding: 12px 10px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(52, 91, 227, 0.3);
  transition: transform 0.2s ease;
}

.mep-btn-pro:hover {
  transform: translateY(-1px);
}

.mep-modal-footer {
  text-align: center;
  color: var(--p-muted, #576b87);
  font-size: 11px;
}

/* Official Free Resources List */
.free-resources-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 14px;
}

.free-resource-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: var(--p-card, #ffffff);
  border: 1px solid var(--p-line, #d3dff0);
  border-radius: 14px;
  text-decoration: none;
  color: var(--p-text, #142640);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.free-resource-card:hover {
  border-color: var(--p-accent, #345be3);
  transform: translateX(3px);
}

.resource-info h4 {
  font-size: 14px;
  margin: 0 0 3px;
  font-weight: 750;
  color: var(--p-text, #142640);
}

.resource-info p {
  font-size: 11.5px;
  margin: 0;
  color: var(--p-muted, #576b87);
}

.resource-tag {
  font-size: 10px;
  font-weight: 750;
  background: var(--p-soft, #e8eefb);
  color: var(--p-accent, #345be3);
  padding: 4px 8px;
  border-radius: 8px;
  white-space: nowrap;
}

@media (max-width: 520px) {
  .mep-comparison-table {
    grid-template-columns: 1fr;
  }
}

/* ui/shared/learning-dashboard.css */
/* Shared dashboard design system. Scoped to Home; learning and account engines retain their own styles. */
#studentPortal[data-screen=home].mep-dashboard{--dash-ink:#142550;--dash-muted:#65738d;--dash-blue:#3159e9;--dash-line:#e2e9f3;--dash-subject:#3159e9;--dash-soft:#edf2ff;background:#f7f9fd;color:var(--dash-ink);font:14px/1.5 system-ui,sans-serif;scroll-padding-top:84px}
#studentPortal[data-screen=home].mep-dashboard:before{display:none}
#studentPortal.mep-dashboard .dash-shell{min-height:100%;max-width:1720px;margin:auto}
#studentPortal.mep-dashboard button{touch-action:manipulation;transition:background .15s,border-color .15s,box-shadow .15s;color:inherit}
#studentPortal.mep-dashboard button:focus-visible{outline:3px solid #7192ff;outline-offset:3px}
#studentPortal.mep-dashboard button:disabled{cursor:wait;opacity:.65}
#studentPortal.mep-dashboard h1,#studentPortal.mep-dashboard h2,#studentPortal.mep-dashboard h3,#studentPortal.mep-dashboard p{margin:0}
#studentPortal.mep-dashboard h1{font-size:32px;line-height:1.2;letter-spacing:-1px;font-weight:760}
#studentPortal.mep-dashboard h2{font-size:20px;line-height:1.35;letter-spacing:-.4px}
#studentPortal.mep-dashboard h3{font-size:15px;line-height:1.35;letter-spacing:-.1px}
#studentPortal.mep-dashboard p{color:var(--dash-muted);line-height:1.6;font-size:13px}
#studentPortal.mep-dashboard svg{width:22px;height:22px;flex:none}
#studentPortal.mep-dashboard .dash-sidebar{width:216px;position:fixed;inset:0 auto 0 max(0px,calc((100vw - 1720px)/2));padding:27px 17px;display:flex;flex-direction:column;gap:24px;background:#fff;border-right:1px solid var(--dash-line);z-index:3;overflow-y:auto}
#studentPortal.mep-dashboard .dash-brand{display:flex;align-items:center;gap:9px;padding:0;border:0;background:none;text-align:left;min-height:44px;white-space:nowrap}
#studentPortal.mep-dashboard .dash-brand>span{display:grid;place-items:center;background:linear-gradient(145deg,#527afa,#234cd4);width:36px;height:40px;border-radius:11px;color:white;box-shadow:0 5px 12px #3159e923}
#studentPortal.mep-dashboard .dash-brand strong{font-size:12px;letter-spacing:-.2px;color:#162550;font-weight:850}
#studentPortal.mep-dashboard .dash-brand em{font-style:normal;color:#3159e9}
#studentPortal.mep-dashboard .dash-brand small{display:block;font-size:7px;letter-spacing:1.4px;color:#6b7994;margin-top:2px}
#studentPortal.mep-dashboard .dash-nav,#studentPortal.mep-dashboard .dash-subject-links{display:grid;gap:7px}
#studentPortal.mep-dashboard .dash-nav button,#studentPortal.mep-dashboard .dash-subject-links button{display:flex;align-items:center;gap:13px;min-height:45px;padding:11px 14px;border:1px solid transparent;border-radius:10px;background:none;color:#536280;font-size:12px;font-weight:650;text-align:left}
#studentPortal.mep-dashboard .dash-nav [aria-current=page],#studentPortal.mep-dashboard .dash-subject-links [aria-current=page]{color:#2954dc;background:#edf2ff}
#studentPortal.mep-dashboard .dash-nav button:hover,#studentPortal.mep-dashboard .dash-subject-links button:hover{background:#f1f5fb}
#studentPortal.mep-dashboard .dash-sidebar-label{font-size:9px;font-weight:750;letter-spacing:1.8px;margin:5px 14px -11px;color:#8792a7}
#studentPortal.mep-dashboard .dash-subject-links svg{width:20px;color:#6281c1}
#studentPortal.mep-dashboard .dash-sidebar-note{margin-top:auto;border-radius:15px;background:linear-gradient(145deg,#f1f5ff,#eaf1fb);padding:21px 16px;min-height:170px;position:relative;overflow:hidden}
#studentPortal.mep-dashboard .dash-sidebar-note>svg{color:#486aca;margin-bottom:12px}
#studentPortal.mep-dashboard .dash-sidebar-note strong{display:block;font-size:16px;line-height:1.35;letter-spacing:-.3px}
#studentPortal.mep-dashboard .dash-sidebar-note p{font-size:11px;margin-top:10px}
#studentPortal.mep-dashboard .dash-workspace{margin-left:216px;min-width:0}
#studentPortal.mep-dashboard .dash-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 34px;min-height:76px;border-bottom:1px solid var(--dash-line);background:#ffffffec;position:sticky;top:0;z-index:2;backdrop-filter:blur(14px)}
#studentPortal.mep-dashboard .dash-breadcrumb{font-size:11px;color:#6e7d97}
#studentPortal.mep-dashboard .dash-breadcrumb span{color:#b9c3d6;margin:0 12px}
#studentPortal.mep-dashboard .dash-top-actions{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:650}
#studentPortal.mep-dashboard .dash-avatar{width:32px;height:32px;border-radius:50%;background:#dde8ff;color:#234cb5;display:grid;place-items:center}
#studentPortal.mep-dashboard .dash-logout{min-height:40px;border:1px solid var(--dash-line);border-radius:10px;padding:7px 10px;background:white;display:flex;align-items:center;gap:7px;font-size:11px}
#studentPortal.mep-dashboard .dash-logout svg{width:17px}
#studentPortal.mep-dashboard .dash-mobile-brand,#studentPortal.mep-dashboard .dash-bottom-nav{display:none}
#studentPortal.mep-dashboard .dash-main{max-width:1300px;margin:auto;padding:33px 34px 40px;outline:none}
#studentPortal.mep-dashboard .dash-page-heading{margin-bottom:25px}
#studentPortal.mep-dashboard .dash-eyebrow{display:block;font-size:9px;font-weight:800;letter-spacing:1.7px;color:var(--dash-subject);margin-bottom:9px}
#studentPortal.mep-dashboard .dash-page-heading p{margin-top:10px;font-size:13px}
#studentPortal.mep-dashboard .dash-continue-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:18px;align-items:stretch}
#studentPortal.mep-dashboard .dash-hero{min-height:290px;border:1px solid #dce5f6;border-radius:19px;position:relative;overflow:hidden;background:linear-gradient(115deg,#edf3ff 0%,#eff5ff 55%,#dfeafa);padding:28px;display:flex;align-items:center}
#studentPortal.mep-dashboard .dash-hero[data-subject=Chemistry]{background:linear-gradient(110deg,#eaf8f7,#effbf9 50%,#d6efed)}
#studentPortal.mep-dashboard .dash-hero[data-subject=Biology]{background:linear-gradient(110deg,#eff9f2,#f3fbf5 50%,#d8eddf)}
#studentPortal.mep-dashboard .dash-hero-copy{position:relative;z-index:1;width:65%;max-width:360px}
#studentPortal.mep-dashboard .dash-hero h2{font-size:27px;line-height:1.18;letter-spacing:-.85px;margin:10px 0 12px;text-wrap:balance}
#studentPortal.mep-dashboard .dash-hero p{font-size:12px;color:#5b6c88;line-height:1.6}
#studentPortal.mep-dashboard .dash-meta{display:block;font-size:10px;color:#5e7193;margin:16px 0 14px}
#studentPortal.mep-dashboard .dash-hero-art{position:absolute;width:60%;right:-13%;bottom:0;top:20px;opacity:.85;display:flex;align-items:center;pointer-events:none}
#studentPortal.mep-dashboard .dash-hero-art svg{width:100%;height:auto;min-width:0}
#studentPortal.mep-dashboard .dash-primary,#studentPortal.mep-dashboard .dash-secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #3159e9;border-radius:9px;background:#3159e9;color:#fff;padding:11px 14px;font-size:12px;font-weight:700;min-height:44px;box-shadow:0 4px 10px #3159e919}
#studentPortal.mep-dashboard .dash-primary:hover{background:#2449cd;box-shadow:0 5px 14px #3159e934}
#studentPortal.mep-dashboard .dash-primary svg{width:17px;height:17px}
#studentPortal.mep-dashboard .dash-secondary{background:#f0f4ff;color:#3159e9;border-color:#d8e2fa;box-shadow:none;margin-top:16px}
#studentPortal.mep-dashboard .dash-panel{border:1px solid var(--dash-line);border-radius:16px;background:white;padding:22px;box-shadow:0 3px 12px #18355d03;min-width:0}
#studentPortal.mep-dashboard .dash-panel h2{font-size:16px}
#studentPortal.mep-dashboard .dash-panel p{margin-top:8px;font-size:12px}
#studentPortal.mep-dashboard .dash-section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:30px 0 15px}
#studentPortal.mep-dashboard .dash-section-heading p{font-size:12px;margin-top:5px}
#studentPortal.mep-dashboard .dash-panel .dash-section-heading{margin:0 0 14px;align-items:flex-start}
#studentPortal.mep-dashboard .dash-text-link{border:0;background:none;display:inline-flex;align-items:center;gap:5px;color:#3159e9;font-size:11px;white-space:nowrap;padding:8px 0;min-height:35px}
#studentPortal.mep-dashboard .dash-ring-row{display:flex;gap:17px;align-items:center;margin:15px 0 22px}
#studentPortal.mep-dashboard .dash-ring{width:86px;height:86px;border-radius:50%;background:conic-gradient(var(--dash-subject) calc(var(--value)*1%),#eaf0f8 0);display:grid;place-items:center;flex:none}
#studentPortal.mep-dashboard .dash-ring>div{background:#fff;width:70px;height:70px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center}
#studentPortal.mep-dashboard .dash-ring strong{font-size:22px;line-height:1.1;letter-spacing:-.6px}
#studentPortal.mep-dashboard .dash-ring small{font-size:9px;margin-top:4px;color:#72819b}
#studentPortal.mep-dashboard .dash-ring-row h3{font-size:18px}
#studentPortal.mep-dashboard .dash-ring-row p{font-size:12px;margin-top:5px}
#studentPortal.mep-dashboard .dash-progress-line{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:10px;margin-top:13px;color:#66748c}
#studentPortal.mep-dashboard .dash-progress-line strong{color:#203258;font-size:10px}
#studentPortal.mep-dashboard progress{appearance:none;display:block;flex:0 0 100%;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:#edf1f7;accent-color:var(--dash-subject)}
#studentPortal.mep-dashboard progress::-webkit-progress-bar{background:#edf1f7;border-radius:6px}
#studentPortal.mep-dashboard progress::-webkit-progress-value{background:var(--dash-subject);border-radius:6px}
#studentPortal.mep-dashboard progress::-moz-progress-bar{background:var(--dash-subject);border-radius:6px}
#studentPortal.mep-dashboard .dash-progress-line small{flex:0 0 100%;font-size:10px}
#studentPortal.mep-dashboard .dash-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:18px 0 2px}
#studentPortal.mep-dashboard .dash-stat{display:flex;align-items:center;gap:14px;border:1px solid var(--dash-line);border-radius:12px;background:white;padding:17px 20px}
#studentPortal.mep-dashboard .dash-stat>svg{color:#6480c4}
#studentPortal.mep-dashboard .dash-stat b{font-size:20px;letter-spacing:-.4px;display:block}
#studentPortal.mep-dashboard .dash-stat span{display:block;font-size:10px;color:#697990;margin-top:2px}
#studentPortal.mep-dashboard .dash-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
#studentPortal.mep-dashboard .dash-subject-card{position:relative;background:white;border:1px solid var(--dash-line);padding:21px;border-radius:16px;text-align:left;min-width:0}
#studentPortal.mep-dashboard .dash-subject-card:hover{border-color:#9aafe6;box-shadow:0 7px 24px #2040710a}
#studentPortal.mep-dashboard .dash-subject-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:var(--dash-subject);background:var(--dash-soft)}
#studentPortal.mep-dashboard .dash-subject-icon svg{width:29px;height:29px}
#studentPortal.mep-dashboard .dash-subject-card .dash-chip{position:absolute;right:17px;top:24px;font-size:8px;letter-spacing:.5px;color:#65748f;background:#f5f7fc;padding:4px 8px;border-radius:20px}
#studentPortal.mep-dashboard .dash-subject-card h3{font-size:19px;margin:15px 0 5px}
#studentPortal.mep-dashboard .dash-subject-card p{font-size:10px}
#studentPortal.mep-dashboard .dash-small-progress{margin-top:22px}
#studentPortal.mep-dashboard .dash-small-progress label{display:flex;justify-content:space-between;font-size:10px;color:#68778f;font-weight:400;margin:0 0 7px}
#studentPortal.mep-dashboard .dash-small-progress b{color:var(--dash-subject);font-weight:700}
#studentPortal.mep-dashboard .dash-card-link{border-top:1px solid #edf1f7;padding-top:14px;margin-top:18px;display:flex;justify-content:space-between;align-items:center;color:var(--dash-subject);font-size:11px;font-weight:650}
#studentPortal.mep-dashboard .dash-card-link svg{width:17px}
#studentPortal.mep-dashboard .dash-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#studentPortal.mep-dashboard .dash-feature{display:flex;align-items:center;gap:12px;min-height:92px;padding:17px 15px;border:1px solid var(--dash-line);border-radius:12px;background:#fff;text-align:left;min-width:0}
#studentPortal.mep-dashboard .dash-feature:hover{border-color:#a8bce7;background:#fcfdff}
#studentPortal.mep-dashboard .dash-feature>div{flex:1;min-width:0}
#studentPortal.mep-dashboard .dash-feature h3{font-size:14px}
#studentPortal.mep-dashboard .dash-feature p{font-size:12px;line-height:1.5;margin-top:4px}
#studentPortal.mep-dashboard .dash-feature>svg{width:14px;color:#92a1bb}
#studentPortal.mep-dashboard .dash-feature-icon{width:39px;height:42px;border-radius:10px;background:#edf3ff;color:#3b66e9;display:grid;place-items:center;flex:none}
#studentPortal.mep-dashboard .dash-feature-icon[data-tone=purple]{background:#f4edff;color:#9261d1}
#studentPortal.mep-dashboard .dash-feature-icon[data-tone=teal]{background:#eaf8f5;color:#1b9983}
#studentPortal.mep-dashboard .dash-feature-icon[data-tone=orange]{background:#fff5e7;color:#c48322}
#studentPortal.mep-dashboard .dash-feature-icon[data-tone=pink]{background:#ffeff3;color:#d75c7d}
#studentPortal.mep-dashboard .dash-tip{display:flex;align-items:flex-start;gap:15px;margin-top:24px;border:1px solid #dfe9f9;border-radius:14px;background:linear-gradient(125deg,#eef4ff,#f7f9fe);padding:22px}
#studentPortal.mep-dashboard .dash-tip>svg{color:#5c79bc}
#studentPortal.mep-dashboard .dash-tip h3{font-size:14px}
#studentPortal.mep-dashboard .dash-tip p{font-size:12px;margin-top:6px}
#studentPortal.mep-dashboard .dash-footnote{text-align:center;font-size:10px;line-height:1.6;color:#76829a;margin-top:26px}
#studentPortal.mep-dashboard .dash-status{color:#b0393e;font-size:13px;margin-top:12px}
#studentPortal.mep-dashboard .dash-subject-heading{display:flex;align-items:center;gap:16px;margin-bottom:26px}
#studentPortal.mep-dashboard .dash-subject-heading .dash-subject-icon{width:64px;height:68px;border-radius:16px;background:var(--dash-subject);color:white}
#studentPortal.mep-dashboard .dash-subject-heading .dash-subject-icon svg{width:37px;height:37px}
#studentPortal.mep-dashboard .dash-subject-heading .dash-eyebrow{margin-bottom:4px;font-size:8px}
#studentPortal.mep-dashboard .dash-subject-heading p{font-size:11px;margin-top:6px}
#studentPortal.mep-dashboard .dash-scope{margin-left:auto;font-size:10px;border:1px solid var(--dash-line);background:#fff;padding:7px 10px;border-radius:20px;color:#6e7b91}
#studentPortal.mep-dashboard .dash-pathways{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}
#studentPortal.mep-dashboard .dash-pathways>.dash-feature{background:linear-gradient(120deg,var(--dash-soft),white);border-color:#dae4f4;min-height:100px}
#studentPortal.mep-dashboard .dash-pathways>.dash-feature:nth-child(2){background:linear-gradient(120deg,#f3edff,white)}
#studentPortal.mep-dashboard .dash-pathways h3{font-size:15px}
#studentPortal.mep-dashboard .dash-pathways p{font-size:11px}
#studentPortal.mep-dashboard .dash-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(235px,1fr);gap:22px;margin-top:5px}
#studentPortal.mep-dashboard .dash-columns>aside{padding-top:82px}
#studentPortal.mep-dashboard .dash-chapter-list{border:1px solid var(--dash-line);border-radius:15px;overflow:hidden;background:white}
#studentPortal.mep-dashboard .dash-chapter{width:100%;display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid #edf1f7;text-align:left;background:white;padding:17px;min-height:74px}
#studentPortal.mep-dashboard .dash-chapter:last-child{border-bottom:0}
#studentPortal.mep-dashboard .dash-chapter:hover{background:#f5f8ff}
#studentPortal.mep-dashboard .dash-chapter-number{font-size:10px;color:#7c8daf;width:24px}
#studentPortal.mep-dashboard .dash-chapter>div{flex:1}
#studentPortal.mep-dashboard .dash-chapter strong{font-size:12px;display:block}
#studentPortal.mep-dashboard .dash-chapter small{font-size:10px;color:#7b889d;display:block;margin-top:4px}
#studentPortal.mep-dashboard .dash-chapter>svg{width:16px;color:#90a1bf}
#studentPortal.mep-dashboard .dash-library-note{margin-top:25px;padding:28px}
#studentPortal.mep-dashboard .dash-library-note>.dash-pathways{grid-template-columns:repeat(3,1fr);gap:25px;margin-bottom:0}
#studentPortal.mep-dashboard .dash-library-note svg{color:#5275cd;margin:0 0 10px}
#studentPortal.mep-dashboard .dash-loading{padding:20vh 30px;text-align:center;color:#53688b}
@media(min-width:1400px){#studentPortal.mep-dashboard .dash-hero-art{right:-5%;width:53%}#studentPortal.mep-dashboard .dash-hero-copy{width:62%}}
@media(max-width:1190px){#studentPortal.mep-dashboard .dash-main{padding:28px 23px}#studentPortal.mep-dashboard .dash-hero{padding:23px}#studentPortal.mep-dashboard .dash-hero h2{font-size:24px}#studentPortal.mep-dashboard .dash-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:999px){#studentPortal.mep-dashboard .dash-sidebar{display:none}#studentPortal.mep-dashboard .dash-workspace{margin:0}#studentPortal.mep-dashboard .dash-mobile-brand{display:block}#studentPortal.mep-dashboard .dash-breadcrumb{display:none}#studentPortal.mep-dashboard .dash-topbar{padding:12px 23px}#studentPortal.mep-dashboard .dash-main{padding-bottom:calc(var(--mep-mobile-nav-height) + var(--mep-mobile-safe-bottom) + 20px)}#studentPortal.mep-dashboard .dash-bottom-nav{position:fixed;display:grid;grid-template-columns:repeat(5,1fr);bottom:0;left:0;right:0;box-sizing:border-box;height:calc(var(--mep-mobile-nav-height) + var(--mep-mobile-safe-bottom));padding:4px 6px calc(4px + var(--mep-mobile-safe-bottom));background:#fffffff5;border-top:1px solid var(--dash-line);z-index:5;backdrop-filter:blur(14px);box-shadow:0 -3px 16px #18284d05}#studentPortal.mep-dashboard .dash-bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:0;background:none;color:#7a87a0;min-height:44px;font-size:11px;font-weight:600;padding:2px}#studentPortal.mep-dashboard .dash-bottom-nav [aria-current=page]{color:#3159e9}#studentPortal.mep-dashboard .dash-bottom-nav svg{width:var(--mep-mobile-nav-icon-size);height:var(--mep-mobile-nav-icon-size)}}
@media(max-width:680px){#studentPortal.mep-dashboard .dash-topbar{min-height:67px;padding:10px 17px;gap:8px}#studentPortal.mep-dashboard .dash-brand strong{font-size:12px}#studentPortal.mep-dashboard .dash-brand>span{width:31px;height:35px}#studentPortal.mep-dashboard .dash-brand small{font-size:6px;letter-spacing:1.4px}#studentPortal.mep-dashboard .dash-account-name{display:none}#studentPortal.mep-dashboard .dash-top-actions{gap:7px}#studentPortal.mep-dashboard .dash-logout{border:0;padding:7px;min-width:34px}#studentPortal.mep-dashboard .dash-logout span{display:none}#studentPortal.mep-dashboard .dash-avatar{width:29px;height:29px;font-size:11px}#studentPortal.mep-dashboard .dash-main{padding:23px 17px calc(var(--mep-mobile-nav-height) + var(--mep-mobile-safe-bottom) + 20px)}#studentPortal.mep-dashboard h1{font-size:27px}#studentPortal.mep-dashboard .dash-page-heading{margin-bottom:22px}#studentPortal.mep-dashboard .dash-page-heading p{font-size:12px;margin-top:8px}#studentPortal.mep-dashboard .dash-eyebrow{font-size:8px;letter-spacing:1.45px}#studentPortal.mep-dashboard .dash-continue-grid{grid-template-columns:1fr;gap:15px}#studentPortal.mep-dashboard .dash-hero{min-height:268px;padding:23px 20px;border-radius:16px}#studentPortal.mep-dashboard .dash-hero-copy{width:70%;max-width:300px}#studentPortal.mep-dashboard .dash-hero h2{font-size:25px;max-width:260px}#studentPortal.mep-dashboard .dash-hero-art{right:-20%;width:74%;top:45px;opacity:.62}#studentPortal.mep-dashboard .dash-hero p{font-size:11px}#studentPortal.mep-dashboard .dash-meta{font-size:9px}#studentPortal.mep-dashboard .dash-panel{padding:20px}#studentPortal.mep-dashboard .dash-ring-row{margin:12px 0 17px}#studentPortal.mep-dashboard .dash-stat-grid{gap:8px;margin-top:15px}#studentPortal.mep-dashboard .dash-stat{flex-direction:column;align-items:flex-start;gap:8px;padding:13px 11px;border-radius:11px}#studentPortal.mep-dashboard .dash-stat b{font-size:18px}#studentPortal.mep-dashboard .dash-stat span{font-size:9px;line-height:1.4}#studentPortal.mep-dashboard .dash-stat>svg{width:18px;height:18px}#studentPortal.mep-dashboard .dash-section-heading{margin-top:26px}#studentPortal.mep-dashboard .dash-section-heading h2{font-size:19px}#studentPortal.mep-dashboard .dash-section-heading p{font-size:11px}#studentPortal.mep-dashboard .dash-subject-grid{grid-template-columns:1fr;gap:12px}#studentPortal.mep-dashboard .dash-subject-card{padding:18px 18px 16px;display:grid;grid-template-columns:44px 1fr;column-gap:14px;align-items:center}#studentPortal.mep-dashboard .dash-subject-card .dash-subject-icon{grid-row:1/3;width:44px;height:47px;border-radius:12px}#studentPortal.mep-dashboard .dash-subject-card .dash-chip{position:static;grid-column:2;grid-row:3;justify-self:start;margin-top:7px;font-size:7px;padding:3px 7px}#studentPortal.mep-dashboard .dash-subject-card h3{font-size:18px;margin:0 0 3px}#studentPortal.mep-dashboard .dash-subject-card p{font-size:10px}#studentPortal.mep-dashboard .dash-small-progress{grid-column:1/-1;margin-top:15px}#studentPortal.mep-dashboard .dash-card-link{grid-column:1/-1;padding-top:12px;margin-top:14px}#studentPortal.mep-dashboard .dash-feature-grid{gap:10px}#studentPortal.mep-dashboard .dash-feature{flex-direction:column;align-items:flex-start;padding:15px 13px;gap:10px;min-height:140px}#studentPortal.mep-dashboard .dash-feature>svg{display:none}#studentPortal.mep-dashboard .dash-feature h3{font-size:14px}#studentPortal.mep-dashboard .dash-feature p{font-size:12px}#studentPortal.mep-dashboard .dash-feature-icon{width:35px;height:37px}#studentPortal.mep-dashboard .dash-feature-icon svg{width:21px;height:21px}#studentPortal.mep-dashboard .dash-subject-heading{gap:13px;flex-wrap:wrap;margin-bottom:18px}#studentPortal.mep-dashboard .dash-subject-heading .dash-subject-icon{width:53px;height:57px}#studentPortal.mep-dashboard .dash-subject-heading h1{font-size:26px}#studentPortal.mep-dashboard .dash-subject-heading p{font-size:10px}#studentPortal.mep-dashboard .dash-scope{display:none}#studentPortal.mep-dashboard .dash-pathways{gap:10px;margin:17px 0}#studentPortal.mep-dashboard .dash-pathways>.dash-feature{min-height:157px;padding:16px 13px}#studentPortal.mep-dashboard .dash-pathways h3{font-size:14px}#studentPortal.mep-dashboard .dash-pathways p{font-size:12px}#studentPortal.mep-dashboard .dash-columns{grid-template-columns:1fr;gap:18px}#studentPortal.mep-dashboard .dash-columns>aside{padding:0}#studentPortal.mep-dashboard .dash-tip{padding:19px;margin-top:20px}#studentPortal.mep-dashboard .dash-tip h3{font-size:13px}#studentPortal.mep-dashboard .dash-tip p{font-size:11px}#studentPortal.mep-dashboard .dash-chapter{padding:15px 13px;gap:10px}#studentPortal.mep-dashboard .dash-chapter strong{font-size:12px}#studentPortal.mep-dashboard .dash-library-note{padding:20px}#studentPortal.mep-dashboard .dash-library-note>.dash-pathways{grid-template-columns:1fr;gap:22px}}
@media(prefers-reduced-motion:reduce){#studentPortal.mep-dashboard button{transition:none}}

/* Round subject selectors retain descriptions beneath the circular icon. */
#studentPortal.mep-dashboard .dash-subject-grid,#studentPortal .enrol-subjects{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:24px 16px!important}
#studentPortal.mep-dashboard .dash-subject-card,#studentPortal .enrol-subjects>[data-enrol-subject]{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:12px 4px!important;border:0!important;box-shadow:none!important;background:transparent!important;min-width:0!important;position:relative}
#studentPortal.mep-dashboard .dash-subject-card .dash-subject-icon,#studentPortal .enrol-subjects .enrol-icon{display:grid!important;place-items:center;width:100px!important;height:100px!important;border-radius:50%!important;background:var(--subject-tint)!important;border:2px solid var(--subject-line)!important;margin:0 auto 10px!important}
#studentPortal.mep-dashboard .dash-subject-card .dash-subject-icon svg,#studentPortal .enrol-icon svg{width:40px!important;height:40px!important}
#studentPortal.mep-dashboard .dash-subject-card .dash-chip{position:static!important;order:2;margin-top:6px}
#studentPortal.mep-dashboard .dash-subject-card h3{font-size:16px!important;margin:5px 0!important}
#studentPortal.mep-dashboard .dash-subject-card .dash-small-progress{width:100%;margin-top:12px}
#studentPortal.mep-dashboard .dash-subject-card .dash-card-link{border:0;margin:8px 0;padding:0;font-size:11px}
#studentPortal .enrol-subjects [aria-pressed=true] .enrol-icon{border-color:var(--subject-ink)!important;background:var(--subject-tint)!important;box-shadow:0 0 0 4px var(--subject-tint)}
#studentPortal.mep-dashboard .dash-profile{max-width:850px;margin:auto}
#studentPortal.mep-dashboard .profile-identity{display:flex;align-items:center;gap:18px;padding:24px 0}
#studentPortal.mep-dashboard .profile-avatar{display:grid;place-items:center;width:80px;height:80px;flex:none;border-radius:50%;background:#e9efff;color:#335bb6;font-size:30px;font-weight:700}
#studentPortal.mep-dashboard .profile-details{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 30px}
#studentPortal.mep-dashboard .profile-details>div{padding:16px;background:#fff;border:1px solid #e0e8f2;border-radius:12px;min-width:0}
#studentPortal.mep-dashboard .profile-details dt{font-size:12px;color:#627894;margin:0 0 7px}
#studentPortal.mep-dashboard .profile-details dd{margin:0;font-size:15px;overflow-wrap:anywhere;color:#25405f}
#studentPortal.mep-dashboard .profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin:25px 0}
#studentPortal.mep-dashboard .profile-actions button{min-height:46px;border:1px solid #d8e4f5;border-radius:12px;background:white;padding:12px 16px;color:#315384;cursor:pointer}
#studentPortal.mep-dashboard .profile-storage{font-size:12px;color:#647b94}
@media(max-width:680px){#studentPortal.mep-dashboard .dash-subject-grid,#studentPortal .enrol-subjects{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 12px!important}#studentPortal.mep-dashboard .profile-details{grid-template-columns:1fr}}

#studentPortal.mep-dashboard .dash-footnote[data-sync-state=error],#studentPortal.mep-dashboard .dash-footnote[data-sync-state=conflict]{padding:12px;border:1px solid #e5c59a;border-radius:10px;background:#fff7eb;color:#795020}

/* Owner third.docx: every bottom navigation icon and label is black. */
@layer mep-typography{#studentPortal .dash-bottom-nav :is(button,span,svg){color:#000!important}}

/* Owner ffth.docx: readable secondary text on Today and throughout Learn. */
@layer mep-typography{
 #studentPortal.mep-dashboard .dash-main :is(p,small,label,.dash-meta,.dash-chip,.dash-stat span,.dash-footnote,.path-note,.path-source-label,.path-search-count):not(.path-hero *,.dash-primary *,.path-primary *){color:#000!important}
 #studentPortal.mep-dashboard .dash-main p:not(.path-hero p,.concept-copy p){font-size:17px!important;line-height:1.6!important}
 #studentPortal.mep-dashboard .dash-main :is(small,label,.dash-meta,.dash-chip,.dash-stat span,.dash-footnote,.path-note,.path-source-label,.path-search-count,.dash-card-link){font-size:15px!important;line-height:1.5!important}
 #studentPortal.mep-dashboard .dash-main .dash-eyebrow{font-size:13px!important;line-height:1.5!important}
 #studentPortal.mep-dashboard .dash-main .dash-small-progress label{gap:6px;flex-wrap:wrap}
}

@layer mep-typography{
 #studentPortal.mep-dashboard :is(.dash-progress-line>span,.dash-progress-line>strong,.dash-breadcrumb,.dash-breadcrumb span,.dash-sidebar-label,.dash-sidebar-note p){color:#000!important;font-size:15px!important;line-height:1.5!important;letter-spacing:normal}
 #studentPortal.mep-dashboard .dash-brand small{color:#000!important;font-size:12px!important;letter-spacing:normal}
 #studentPortal.mep-dashboard .dash-main .dash-text-link{font-size:15px!important}
}

@layer mep-typography{
 #studentPortal.mep-dashboard .dash-brand small{max-width:130px;white-space:normal!important;overflow-wrap:normal}
 #studentPortal.mep-dashboard :is(.path-location-name,.path-location-separator){color:#000!important;font-size:15px!important}
 #studentPortal.mep-dashboard .path-discovery input::placeholder{color:#000!important;opacity:1;font-size:15px!important}
}


/* Owner Current Electricity pilot: shared entry controls, existing visual tokens. */
#studentPortal .assess-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
#studentPortal .assess-scope label{display:grid;gap:6px;min-width:0;font-size:var(--mep-text-size,17px)}
#studentPortal .assess-scope select{width:100%;min-width:0;min-height:44px;box-sizing:border-box;font:inherit;color:inherit;background:#fff;border:1px solid var(--dash-line,#dce5ef);border-radius:10px;padding:8px}
#studentPortal .assess-paper{margin:14px 0}
#studentPortal .assess-paths [aria-pressed=false]{color:#3159c7;background:#fff}
#studentPortal .assess-paths [aria-pressed=true]{box-shadow:inset 0 2px 4px #17284d30}
@media(max-width:600px){#studentPortal .assess-fields{grid-template-columns:1fr}}

/* Keep the three pilot chapter shortcuts separate when they wrap. */
.concept-next > [data-chapter-practice],
.concept-next > [data-chapter-competency],
.concept-next > [data-chapter-assess] { margin: .3rem .4rem .3rem 0; }

/* Owner: make the current main section unmistakable without moving controls. */
#studentPortal.mep-dashboard :is(.dash-bottom-nav,.dash-nav) button[aria-current="page"]{box-shadow:inset 0 0 0 2px #263b50;border-radius:8px;background:#e9eff5!important;font-weight:800}
#studentPortal.mep-dashboard :is(.dash-bottom-nav,.dash-nav) button[aria-current="page"] svg{stroke-width:2.5}
#studentPortal.mep-dashboard :is(.dash-bottom-nav,.dash-nav) button[aria-busy="true"]{cursor:progress}

/* Preserve 11px labels and six controls on narrow phones; give the longer
   Competency label enough room so it does not meet the selected outline. */
@media(max-width:360px){#studentPortal.mep-dashboard .dash-bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr) repeat(2,minmax(0,1fr))!important}}

/* Owner asdd.docx: compact Today/Learn selectors, with complete readable counts. */
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact]{gap:14px 12px!important}
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact] .dash-subject-card{padding:8px 4px!important}
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact] .dash-subject-icon{width:56px!important;height:56px!important;margin:0 auto 6px!important;border-width:1.5px!important}
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact] .dash-subject-icon svg{width:28px!important;height:28px!important}
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact] .dash-subject-facts{margin:2px 0 0}
#studentPortal.mep-dashboard .dash-subject-grid[data-subject-layout=compact] .dash-subject-facts>span:not(.dash-subject-years){display:inline-block}
#studentPortal.mep-dashboard .dash-subject-years{display:block;margin-top:3px}
#studentPortal.mep-dashboard .dash-footnote[hidden]{display:none!important}
@layer mep-typography{
 #studentPortal.mep-dashboard .dash-main .dash-subject-grid[data-subject-layout=compact] .dash-subject-card h3{font-size:18px!important;line-height:1.3!important;margin:3px 0!important}
 #studentPortal.mep-dashboard .dash-main .dash-subject-grid[data-subject-layout=compact] .dash-subject-facts{font-size:15px!important;line-height:1.4!important}
}

/* ui/shared/learning-workspace.css */
/* Shared application frame. Content engines keep their existing data and identities. */
:root{--workspace-top:76px;--workspace-left:216px;--workspace-bottom:0px;--work-ink:#142550;--work-muted:#64738c;--work-line:#dfe7f3;--work-blue:#3159e9;--work-bg:#f7f9fd}
html body.mep-modern{background:var(--work-bg)!important;color:var(--work-ink)!important;padding-top:var(--workspace-top)!important;padding-bottom:40px!important;--mep-font:system-ui,sans-serif}
#mepWorkspaceChrome{font:14px/1.5 system-ui,sans-serif;color:var(--work-ink);position:relative;z-index:100100}
#mepWorkspaceChrome[hidden]{display:none!important}
/* Keep the underlying paper out of the active full-screen learning surface. */
body.portal-open>:not(#biologyPreviewStatus):not(#studentPortal):not(#questionBookmarks):not(#pyqReaderOpening):not(#appStartup):not(#practicalsViewer):not(#previewUpdate):not(.mep-exit):not(script):not(style):not(link){display:none!important}
/* Native dialogs must remain visible: hidden modal dialogs still block the page. */
body.concept-open>:not(#biologyPreviewStatus):not(#conceptPractice):not(#mepWorkspaceChrome):not(#previewUpdate):not(dialog):not(script):not(style):not(link){display:none!important}
#mepWorkspaceChrome *,#mepWorkspaceChrome *:before{box-sizing:border-box;font-family:system-ui,sans-serif!important}
#mepWorkspaceChrome button{font:inherit;color:inherit;cursor:pointer;min-height:44px;transition:background .15s;border-radius:10px}
#mepWorkspaceChrome button:disabled{opacity:.5;cursor:wait}
#mepWorkspaceChrome button:focus-visible{outline:3px solid #8ca7ff;outline-offset:2px}
#mepWorkspaceChrome svg{width:22px;height:22px;flex:none}
#mepWorkspaceChrome .ws-back{width:44px;min-width:44px;border:1px solid var(--work-line);background:#fff;font-size:23px;flex:none}
@media(max-width:999px){#mepWorkspaceChrome .ws-topbar:has(.ws-back) .ws-mobile-home{display:none}}
#mepWorkspaceChrome .ws-sidebar{position:fixed;inset:0 auto 0 0;width:var(--workspace-left);background:#fff;border-right:1px solid var(--work-line);padding:24px 17px;display:flex;flex-direction:column;gap:25px;overflow:auto}
#mepWorkspaceChrome .ws-brand{display:flex;gap:9px;align-items:center;border:0;background:transparent;text-align:left;padding:0;white-space:nowrap}
#mepWorkspaceChrome .ws-brand>span,#mepWorkspaceChrome .ws-mobile-home{width:36px;height:40px;background:linear-gradient(135deg,#6284ff,#3159e9);border:0;border-radius:11px;display:grid;place-items:center;color:#fff;box-shadow:0 5px 13px #3159e920}
#mepWorkspaceChrome .ws-brand b{font-size:12px;font-weight:850;letter-spacing:-.2px}#mepWorkspaceChrome .ws-brand em{font-style:normal;color:#3159e9}
#mepWorkspaceChrome .ws-brand small{display:block;font-size:7px;letter-spacing:1.4px;color:#7183a0;margin-top:3px}
#mepWorkspaceChrome .ws-navigation,#mepWorkspaceChrome .ws-subjects{display:grid;gap:6px}
#mepWorkspaceChrome .ws-navigation button,#mepWorkspaceChrome .ws-subjects button{display:flex;align-items:center;gap:13px;border:0;background:transparent;text-align:left;padding:12px 13px;font-size:12px;font-weight:650;color:#586b8a}
#mepWorkspaceChrome .ws-navigation button:hover,#mepWorkspaceChrome .ws-subjects button:hover{background:#f4f7fc}
#mepWorkspaceChrome [aria-current=page]{background:#edf2ff!important;color:#3159e9!important}
#mepWorkspaceChrome .ws-label{font-size:9px;font-weight:750;letter-spacing:1.8px;margin:3px 13px -13px;color:#8190a9}
#mepWorkspaceChrome .ws-subjects svg{width:20px;color:#6281c1}
#mepWorkspaceChrome .ws-note{margin-top:auto;background:linear-gradient(145deg,#f1f5ff,#eaf1fb);border-radius:15px;padding:22px 16px}
#mepWorkspaceChrome .ws-note svg{color:#6480c4;margin-bottom:12px}#mepWorkspaceChrome .ws-note b{display:block;font-size:16px;line-height:1.4;letter-spacing:-.3px}#mepWorkspaceChrome .ws-note p{font-size:11px;line-height:1.6;color:var(--work-muted);margin:10px 0 0}
#mepWorkspaceChrome .ws-topbar{position:fixed;top:0;left:var(--workspace-left);right:0;height:var(--workspace-top);background:#fffffff5;backdrop-filter:blur(16px);border-bottom:1px solid var(--work-line);display:flex;justify-content:space-between;align-items:center;gap:15px;padding:12px 30px}
#mepWorkspaceChrome .ws-location small{font-size:10px;color:#798aa5}#mepWorkspaceChrome .ws-location small span{padding:0 10px;color:#bac5d5}#mepWorkspaceChrome .ws-location strong{display:block;font-size:18px;font-weight:750;letter-spacing:-.4px}
#mepWorkspaceChrome .ws-top-actions{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:650}
#mepWorkspaceChrome .ws-avatar{width:32px;height:32px;background:#e2ebff;color:#3159b4;border-radius:50%;display:grid;place-items:center}
#mepWorkspaceChrome .ws-home{display:flex;align-items:center;gap:7px;background:white;border:1px solid var(--work-line);padding:8px 12px;font-size:11px}
#mepWorkspaceChrome .ws-home svg{width:17px}#mepWorkspaceChrome .ws-mobile-home,#mepWorkspaceChrome .ws-bottom-nav{display:none}
#mepWorkspaceChrome .ws-notice{position:fixed;bottom:calc(var(--workspace-bottom) + 14px);left:calc(var(--workspace-left) + 14px);right:14px;background:#fff5e5;border:1px solid #e5bd7b;padding:15px;border-radius:12px;box-shadow:0 5px 20px #14255015}
html body.mep-modern #portalHomeShortcut{display:none!important}
html body.mep-modern .feature-strip,html body.mep-modern .app-goal,html body.mep-modern .appbar{display:none!important}
body.mep-modern[data-workspace=practice] .filterbar,body.mep-modern[data-workspace=progress] .filterbar,body.mep-modern[data-workspace=tests] .filterbar,body.mep-modern[data-workspace=review] .filterbar{display:none!important}
body.mep-modern[data-workspace=practice] .main-app,body.mep-modern[data-workspace=progress] .main-app,body.mep-modern[data-workspace=review] .main-app{visibility:hidden}
html body.mep-modern #localSaveNotice{bottom:calc(var(--workspace-bottom) + 12px);left:calc(var(--workspace-left) + 12px);z-index:100200;font:14px/1.5 system-ui}
html body.mep-modern #modalBack{z-index:100300!important;background:#14255080;backdrop-filter:blur(5px);padding:18px}
html body.mep-modern #modalBack .modal{background:#fff!important;color:#142550!important;border:1px solid #dfe7f3!important;border-radius:17px!important;padding:20px!important;max-height:90dvh;font-family:system-ui,sans-serif!important}
html body.mep-modern #modalBack .modalhead{position:sticky;top:-20px;background:white;padding:12px 0;z-index:2;font:650 15px system-ui}
html body.mep-modern #modalBack .xbtn{background:#f2f6ff!important;border-color:#d8e3f5!important;color:#3159a8!important;font:600 12px system-ui;min-height:44px}
body.mep-modern #studyHub{inset:var(--workspace-top) 0 var(--workspace-bottom) var(--workspace-left)!important;background:var(--work-bg)!important;padding:32px!important;font:15px/1.65 system-ui!important}
body.mep-modern #studyHub :not(.katex):not(.katex *){font-family:system-ui,sans-serif!important}
body.mep-modern #studyHub>div{max-width:1040px!important;margin:auto!important}
body.mep-modern #studyHub h2{font-size:28px;letter-spacing:-.7px;color:var(--work-ink);margin:0 0 12px}
body.mep-modern #studyHub h3{font-size:18px;color:var(--work-ink)}
body.mep-modern #studyHub p{color:var(--work-muted);line-height:1.65}
html[data-app-theme] body.mep-modern #studyHub button{background:#fff!important;color:#23416f!important;border:1px solid var(--work-line)!important;border-radius:12px;padding:14px 18px;min-height:46px;font-size:14px;margin:6px 0}
body.mep-modern #studyHub [data-q]{box-shadow:0 3px 14px #14255004;margin:12px 0;padding:23px!important;line-height:1.65}
body.mep-modern #studyHub [data-q]:hover{border-color:#87a3f6!important;background:#f3f7ff!important}
body.mep-modern #studyHub select{font:14px system-ui;padding:12px;border:1px solid var(--work-line);border-radius:10px;background:white;color:var(--work-ink);min-height:44px;max-width:100%}
/* Account and recall screens use the same typography and visual language. */
#studentPortal[data-screen=auth]{background:radial-gradient(ellipse at 20% 15%,#e5edff,transparent 60%),#f7f9fd}
#studentPortal[data-screen=auth] .portal-shell{max-width:510px;padding-top:40px}
#studentPortal[data-screen=auth] form{background:#ffffffde;border-color:#e1e8f4;box-shadow:0 15px 45px #1e3d7710;border-radius:20px;padding:25px}
#studentPortal[data-screen=auth] .portal-tabs{background:#edf2fd;border-color:#dfe7f6}
#studentPortal[data-screen=auth] .portal-tabs .active{color:#3159e9}
#studentPortal[data-screen=auth] h1{color:#142550;font-size:36px;font-weight:750;letter-spacing:-1.3px}
#studentPortal[data-screen=auth] input{background:#fafcff;border-color:#dce5f2;border-radius:10px}
#studentPortal[data-screen=auth] .portal-primary,#studentPortal[data-screen=cards] .portal-primary{background:#3159e9;box-shadow:0 5px 12px #3159e923;border-color:#3159e9}
#studentPortal[data-screen=cards]{background:#f7f9fd}#studentPortal[data-screen=cards] .portal-shell{max-width:760px}#studentPortal[data-screen=cards] .recall-card{border-color:#dfe7f3;padding:32px;box-shadow:0 8px 30px #14255008}
@media(max-width:999px){:root{--workspace-left:0px;--workspace-top:67px;--workspace-bottom:calc(var(--mep-mobile-nav-height) + var(--mep-mobile-safe-bottom))}html body.mep-modern{padding-bottom:calc(var(--workspace-bottom) + 20px)!important}#mepWorkspaceChrome .ws-sidebar{display:none}#mepWorkspaceChrome .ws-topbar{padding:10px 17px;gap:12px}#mepWorkspaceChrome .ws-mobile-home{display:grid;flex:none;min-height:36px;width:34px}#mepWorkspaceChrome .ws-location{flex:1;min-width:0}#mepWorkspaceChrome .ws-location small{font-size:9px}#mepWorkspaceChrome .ws-location strong{font-size:16px}#mepWorkspaceChrome .ws-name,#mepWorkspaceChrome .ws-home{display:none}#mepWorkspaceChrome .ws-top-actions{gap:0}#mepWorkspaceChrome .ws-bottom-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(5,1fr);box-sizing:border-box;height:calc(var(--mep-mobile-nav-height) + var(--mep-mobile-safe-bottom));padding:4px 6px calc(4px + var(--mep-mobile-safe-bottom));border-top:1px solid var(--work-line);background:#fffffff7;backdrop-filter:blur(16px);min-height:var(--mep-mobile-nav-height);box-shadow:0 -4px 18px #14255005}#mepWorkspaceChrome .ws-bottom-nav button{border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;background:transparent;font-size:11px;color:#7888a2;padding:2px 0;border-radius:8px}#mepWorkspaceChrome .ws-bottom-nav [aria-current=page]{background:none!important}#mepWorkspaceChrome .ws-bottom-nav svg{width:var(--mep-mobile-nav-icon-size);height:var(--mep-mobile-nav-icon-size)}body.mep-modern #studyHub{padding:22px 16px!important}}
@media print{#mepWorkspaceChrome,#portalHomeShortcut{display:none!important}html body.mep-modern{padding:0!important}}
@media(prefers-reduced-motion:reduce){#mepWorkspaceChrome button{transition:none}}

/* Linked practice uses the workspace return action, not a second Back/Home row. */
body.mep-modern #conceptPractice.cp-from-concept .cp-shell>header{display:none}
#mepWorkspaceChrome .ws-back.ws-concept-back{
 width:64px;min-width:64px;min-height:46px;display:flex;flex-direction:column;
 align-items:center;justify-content:center;gap:2px;padding:5px;color:#29476d;
}
#mepWorkspaceChrome .ws-back-caption{font:650 10px/1.2 system-ui}
#mepWorkspaceChrome .ws-location{min-width:0}
#mepWorkspaceChrome .ws-location small{display:block;margin-bottom:3px}
#mepWorkspaceChrome .ws-location .learning-subject{font-size:10px;padding:2px 8px}
@media(max-width:390px){
 #mepWorkspaceChrome .ws-topbar{gap:9px;padding-left:12px;padding-right:12px}
 #mepWorkspaceChrome .ws-location strong{font-size:15px}
 #mepWorkspaceChrome .ws-location .learning-subject{font-size:9px;padding:2px 6px}
}

/* Owner third.docx: every bottom navigation icon and label is black. */
@layer mep-typography{#mepWorkspaceChrome .ws-bottom-nav :is(button,span,svg){color:#000!important}}

/* Student instructions use existing disclosure controls; no changes to study/scoring. */
.mep-usage-guide{margin:0 0 16px;padding:0 12px;border:1px solid #dbe4f2;border-radius:10px;background:#fff;color:#183454;text-align:left}
.mep-usage-guide summary{min-height:44px;align-content:center;cursor:pointer;font-weight:500}
.mep-usage-guide p{margin:10px 0;line-height:1.6}
.mep-usage-guide ol{padding-left:23px;margin:10px 0 16px}
.mep-usage-guide li{margin:9px 0;line-height:1.6}
@layer mep-typography{.mep-usage-guide :is(p,li,strong){font-size:var(--mep-text-size)!important;line-height:1.6!important}}
/* Non-Today workspace keeps its contextual title/back control, without account chrome. */
#mepWorkspaceChrome .ws-topbar{justify-content:flex-start}

/* Owner: make the current main section unmistakable without moving controls. */
#mepWorkspaceChrome :is(.ws-bottom-nav,.ws-navigation) button[aria-current="page"]{box-shadow:inset 0 0 0 2px #263b50;border-radius:8px;background:#e9eff5!important;font-weight:800}
#mepWorkspaceChrome :is(.ws-bottom-nav,.ws-navigation) button[aria-current="page"] svg{stroke-width:2.5}
#mepWorkspaceChrome :is(.ws-bottom-nav,.ws-navigation) button[aria-busy="true"]{cursor:progress}

/* Preserve 11px labels and six controls on narrow phones; give the longer
   Competency label enough room so it does not meet the selected outline. */
@media(max-width:360px){body #mepWorkspaceChrome .ws-bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr) repeat(2,minmax(0,1fr))!important}}

/* ui/shared/concept-assessment.css */
/* Assessment reuses the approved shared type/spacing tokens. It does not
   override a subject's reader, practice score or existing navigation. */
body.assessment-open>:not(#conceptAssessment):not(#mepWorkspaceChrome):not(#biologyPreviewStatus):not(#previewUpdate):not(#localSaveNotice):not(dialog):not(script):not(style):not(link){display:none!important}
#studentPortal .assess-hub{display:grid;gap:var(--mep-section-gap,12px)}
#studentPortal .assess-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--mep-section-gap,12px)}
#studentPortal .assess-paths>article{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:10px;min-width:0;padding:var(--mep-card-padding,18px);border:1px solid #dce5ef;border-radius:16px;background:#fff;color:#263b4a;line-height:1.5}
#studentPortal .assess-paths>article :is(h2,p,ul){margin:0}
#studentPortal .assess-paths>article ul{padding-left:22px}
#studentPortal .assess-paths button{margin-top:auto;min-height:44px;background:#3159c7;color:#fff;border:1px solid #3159c7;border-radius:10px;padding:9px 14px}
#studentPortal .assess-paths button:hover{background:#294dad}
#studentPortal .assess-paths svg{width:24px;height:24px;flex:none;color:#405570}
#studentPortal .assess-paths strong{font-size:var(--mep-heading-size);font-weight:600}
#studentPortal .assess-paths small{font-size:14px;color:#64738c}
#conceptAssessment{position:fixed;inset:var(--workspace-top,67px) 0 var(--workspace-bottom,56px) var(--workspace-left,0px);z-index:9990;overflow:auto;overscroll-behavior:contain;background:var(--work-bg,#f7f9fd);color:#263b4a;font-size:var(--mep-text-size);line-height:var(--mep-reading-line);}
#conceptAssessment *{box-sizing:border-box;min-width:0}
#conceptAssessment [hidden]{display:none!important}
#conceptAssessment .ca-shell{max-width:960px;margin:auto;padding:24px 24px 32px;display:grid;gap:var(--mep-section-gap,12px)}
#conceptAssessment h1{font-size:26px;line-height:1.2;margin:5px 0 10px;color:#263b4a}
#conceptAssessment :is(h2,h3){margin:0 0 12px;color:#263b4a;font-size:var(--mep-heading-size)}
#conceptAssessment :is(p,blockquote,ol,ul){margin:10px 0;overflow-wrap:anywhere}
#conceptAssessment .ca-eyebrow{font-size:12px;letter-spacing:.08em;font-weight:600;color:#64738c}
#conceptAssessment .ca-intro p{max-width:650px;color:#64738c}
#conceptAssessment .ca-card{border:1px solid #dce5ef;border-radius:16px;padding:var(--mep-card-padding,18px);background:#fff}
#conceptAssessment :is(button,select,input){min-height:44px;max-width:100%;border:1px solid #ced9e8;border-radius:10px;padding:9px 12px;background:#fff;color:#263b4a;font-size:var(--mep-control-size);line-height:1.35}
#conceptAssessment button{cursor:pointer}
#conceptAssessment button:disabled{opacity:.5;cursor:default}
#conceptAssessment :is(button,select,input,summary):focus-visible{outline:3px solid #8ba8e5;outline-offset:2px}
#conceptAssessment .ca-primary{color:#fff;background:#3159c7;border-color:#3159c7;font-weight:600}
#conceptAssessment .ca-muted,#conceptAssessment small{color:#64738c;font-size:14px}
#conceptAssessment small{display:block;line-height:1.4}
#conceptAssessment .ca-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
#conceptAssessment .ca-fields label{display:flex;flex-direction:column;gap:6px;font-weight:600}
#conceptAssessment .ca-fields small{font-weight:400}
#conceptAssessment .ca-sources{border-top:1px solid #dce5ef;border-bottom:1px solid #dce5ef;margin:16px 0;padding:6px 0}
#conceptAssessment summary{cursor:pointer;min-height:44px;padding:10px 0;color:#405570;font-weight:600}
#conceptAssessment .ca-resume{background:#edf3fc}
#conceptAssessment .ca-history-row{display:flex;width:100%;justify-content:space-between;align-items:center;gap:16px;text-align:left;border:0;border-top:1px solid #dce5ef;border-radius:0;padding:12px 0}
#conceptAssessment .ca-history-row>span:last-child{text-align:right;flex:none}
#conceptAssessment .ca-save:empty{display:none}
#conceptAssessment .ca-save{font-size:14px;color:#64738c}
#conceptAssessment .ca-save-error{background:#fff4e8;border:1px solid #ebc18c;border-radius:10px;color:#81440b;padding:12px}
#conceptAssessment .ca-save-error button{margin-top:7px}
#conceptAssessment .ca-attempt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
#conceptAssessment .ca-attempt-head p{margin:0;color:#64738c}
#conceptAssessment .ca-timer{flex:none;font-variant-numeric:tabular-nums;background:#edf2f8;border:1px solid #d4deea;border-radius:10px;padding:8px 12px;font-weight:600;color:#405570}
#conceptAssessment .ca-time-low{background:#fff4e8;color:#8b4710;border-color:#e9ba84}
#conceptAssessment progress{display:block;width:100%;height:6px;border:0;border-radius:3px;accent-color:#5274bd}
#conceptAssessment .ca-progress details{margin-top:7px}
#conceptAssessment .ca-jump{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:7px;padding:8px 0}
#conceptAssessment .ca-jump button{padding:6px;min-width:44px}
#conceptAssessment .ca-jump .is-answered{background:#e8eef7;border-color:#9caec7}
#conceptAssessment .ca-jump [aria-current=step]{box-shadow:inset 0 0 0 2px #3159c7}
#conceptAssessment .ca-question-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#405570;font-size:14px;font-weight:600}
#conceptAssessment .ca-question h2{font-size:var(--mep-heading-size);line-height:1.5;margin:16px 0}
#conceptAssessment .ca-question blockquote{border-left:3px solid #b4c7df;padding:10px 12px;background:#f4f7fb;margin-left:0;margin-right:0}
#conceptAssessment .activity-study-figure{margin:12px 0;max-width:100%;overflow:auto;background:#f7faff;border-radius:10px;padding:6px}
#conceptAssessment .activity-study-figure :is(svg,img){display:block;max-width:100%;height:auto;margin:auto}
#conceptAssessment .ca-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#conceptAssessment .ca-options[data-columns="1"],#conceptAssessment .ca-options-single{grid-template-columns:1fr}
#conceptAssessment .ca-options[data-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
#conceptAssessment .ca-options button{display:flex;align-items:flex-start;gap:8px;text-align:left;font-size:var(--mep-choice-size)!important;line-height:1.45;padding:10px;overflow-wrap:anywhere}
#conceptAssessment .ca-options [aria-pressed=true]{background:#eaf0ff;border-color:#5d7bcc;box-shadow:inset 0 0 0 1px #5d7bcc}
#conceptAssessment .ca-choice-letter{font-weight:600;flex:none;color:#476295}
#conceptAssessment .ca-instruction{color:#64738c;font-size:15px}
#conceptAssessment .ca-match{display:grid;gap:10px}
#conceptAssessment .ca-match label{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:center;border-top:1px solid #e2e8f1;padding-top:10px}
#conceptAssessment .ca-match select{width:100%}
#conceptAssessment .ca-order-answer{border:1px solid #d2ddec;background:#eff4fc;border-radius:10px;padding:12px 12px 12px 32px}
#conceptAssessment .ca-order-answer li+li{margin-top:8px}
#conceptAssessment .ca-order-tools{display:flex;gap:8px;margin:10px 0}
#conceptAssessment .ca-answer-state{font-size:14px;color:#64738c;margin-top:12px}
#conceptAssessment .ca-clear{border:0;background:transparent;padding-left:0;color:#536c94}
#conceptAssessment .ca-question-nav,#conceptAssessment .ca-actions{display:flex;gap:8px;flex-wrap:wrap}
#conceptAssessment .ca-question-nav{justify-content:space-between}
#conceptAssessment .ca-submit-link{border:0;background:transparent;justify-self:end;color:#456295}
#conceptAssessment .ca-confirm{padding:14px;border:1px solid #b4c8e6;border-radius:12px;background:#eef4ff}
#conceptAssessment .ca-score{display:flex;flex-direction:column;align-items:center;padding:6px 0}
#conceptAssessment .ca-score strong{font-size:44px;line-height:1.2;color:#3159a5}
#conceptAssessment .ca-score small{display:inline;font-size:24px}
#conceptAssessment .ca-result>p{text-align:center}
#conceptAssessment .ca-result>.ca-primary{display:block;margin:16px auto 0}
#conceptAssessment .ca-result-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-top:1px solid #dce5ef;border-bottom:1px solid #dce5ef;padding:12px 0;margin:12px 0;text-align:center;font-size:14px}
#conceptAssessment .ca-result-stats b{display:block;font-size:23px;color:#405570}
#conceptAssessment .ca-breakdown>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #dce5ef;padding:12px 0}
#conceptAssessment .ca-breakdown>div>span:last-child{flex:none;text-align:right}
#conceptAssessment .ca-review-filters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
#conceptAssessment .ca-review-filters button{padding:8px 12px}
#conceptAssessment .ca-review-filters [aria-pressed=true]{background:#eaf0ff;color:#3159a5;border-color:#6e8acb}
#conceptAssessment .ca-review{border-top:1px solid #cbd7e8}
#conceptAssessment .ca-review summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0}
#conceptAssessment .ca-review[data-status=correct] summary>b,#conceptAssessment .ca-review[data-status=correct] summary>span:last-child{color:#1d785d}
#conceptAssessment .ca-review-body{padding-bottom:16px}
#conceptAssessment .ca-review-answers{display:grid;gap:10px;margin:12px 0}
#conceptAssessment .ca-review-answers>div{padding:12px;border:1px solid #dce5ef;border-radius:10px;background:#f5f8fd}
#conceptAssessment .ca-review-answers>div:last-child{background:#f0f8f4;border-color:#cbded6}
#conceptAssessment .ca-review-answers ul,#conceptAssessment .ca-review-answers ol{padding-left:22px}
#conceptAssessment .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:760px){
 #studentPortal .assess-paths{grid-template-columns:1fr}
 #conceptAssessment .ca-shell{padding:var(--mep-section-gap,12px) var(--mep-page-gutter,8px) 24px}
 #conceptAssessment .ca-card{padding:var(--mep-card-padding,12px)}
 #conceptAssessment .ca-intro h1,#conceptAssessment .ca-attempt-head h1{font-size:24px}
 #conceptAssessment .ca-fields{grid-template-columns:1fr}
 #conceptAssessment .ca-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 #conceptAssessment .ca-match label{grid-template-columns:1fr;gap:6px}
}
@media(prefers-reduced-motion:reduce){#conceptAssessment{scroll-behavior:auto}}

/* Owner-approved subject-first Assess setup; reuses the existing form and cards. */
#conceptAssessment .ca-methods{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0}
#conceptAssessment .ca-methods>span{font-weight:700;color:#244777}
#conceptAssessment .ca-methods>button{min-height:44px;padding:8px 12px;border:1px solid #b5c7e0;border-radius:10px;background:#fff;color:#244777;font:inherit}

/* ui/shared/study-workspace.css */
/* Current Study presentation, shared across all subjects; historical sheets remain provenance. */
html[data-app-theme] body.mep-modern .filterbar{position:relative!important;top:auto!important;margin:0 0 0 var(--workspace-left)!important;width:calc(100% - var(--workspace-left))!important;height:auto!important;min-height:0!important;max-height:none!important;background:var(--work-bg)!important;border:0!important;padding:28px 28px 0!important;box-sizing:border-box;z-index:1}
html[data-app-theme] body.mep-modern .filterinner{width:100%!important;max-width:1400px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;height:auto!important;gap:11px!important;margin:0 auto!important;padding:18px!important;background:white!important;border:1px solid var(--work-line)!important;border-radius:15px!important;box-sizing:border-box}
html[data-app-theme] body.mep-modern .filterinner select,html[data-app-theme] body.mep-modern .filterinner input{font:13px/1.4 system-ui,sans-serif!important;width:100%!important;max-width:none!important;min-width:0!important;height:44px!important;padding:10px 12px!important;background:#f8faff!important;border:1px solid #dfe7f3!important;border-radius:9px!important;color:#31496f!important;box-sizing:border-box}
html[data-app-theme] body.mep-modern .filterinner :is(#jumpQuestion,#yearFilter,#subjectFilter,#setFilter,#sectionFilter,#chapterFilter,#typeFilter,#difficultyFilter){grid-column:auto!important;grid-row:auto!important;order:0!important}
html[data-app-theme] body.mep-modern .filterinner #filterSearch{grid-column:1/-1!important;grid-row:auto!important;order:0!important;width:100%!important;height:44px!important;background:#fff!important;font-size:13px!important}
html[data-app-theme] body.mep-modern .filterinner>div:last-child{display:none!important}
html[data-app-theme] body.mep-modern .filterbar.ws-filters-collapsed .filterinner{display:none!important}
body.mep-modern .ws-filter-heading{max-width:1400px;margin:0 auto 20px;display:flex;justify-content:space-between;gap:18px;align-items:center;font-family:system-ui,sans-serif}
body.mep-modern .ws-filter-heading h1{font:750 26px/1.25 system-ui,sans-serif!important;letter-spacing:-.7px;margin:6px 0 0!important;color:#142550!important}
body.mep-modern .ws-filter-heading>div>span{font:750 9px/1.5 system-ui;letter-spacing:1.7px;color:#3159e9}
body.mep-modern .ws-filter-heading button{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dfe7f3;border-radius:10px;min-height:44px;padding:10px 14px;color:#3159e9;font:600 12px system-ui;white-space:nowrap;cursor:pointer}
body.mep-modern .ws-filter-heading svg{width:18px;height:18px}
html[data-app-theme] body.mep-modern .main-app{margin:0 0 0 var(--workspace-left)!important;max-width:none!important;width:calc(100% - var(--workspace-left))!important;padding:22px 28px 35px!important;background:var(--work-bg)!important;position:relative!important;top:0!important;height:auto!important;overflow:visible!important;box-sizing:border-box}
html[data-app-theme] body.mep-modern .studygrid{display:grid!important;grid-template-columns:minmax(0,var(--leftPane,46%)) 12px minmax(0,1fr)!important;gap:10px!important;align-items:start!important;width:100%!important;max-width:1400px!important;margin:0 auto!important;padding:0!important;height:auto!important;min-height:0!important}
html[data-app-theme] body.mep-modern #splitDivider{display:block!important;align-self:stretch!important;width:12px!important;min-height:100px!important;background:transparent!important;border:0!important;cursor:col-resize;position:relative!important}
html[data-app-theme] body.mep-modern #splitDivider:after{content:'';position:absolute;top:80px;left:5px;width:3px;height:70px;background:#ccd8ed;border-radius:4px}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel){height:auto!important;min-height:0!important;max-height:none!important;min-width:0!important;width:auto!important;margin:0!important;border:1px solid #dfe7f3!important;border-radius:17px!important;background:white!important;box-shadow:0 5px 20px #172e5b04!important;overflow:hidden!important;position:relative!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel,#visualAnchor) :not(.katex):not(.katex *):not(math):not(math *):not(svg):not(svg *){font-family:system-ui,sans-serif!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) .studyhead{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;position:relative!important;height:auto!important;min-height:80px!important;padding:18px!important;background:#fff!important;border-bottom:1px solid #e7edf5!important;overflow:visible!important;color:#142550!important}
html[data-app-theme] body.mep-modern #questionPanel .meta{font:650 11px/1.6 system-ui,sans-serif!important;letter-spacing:.1px;color:#677999!important;flex:1 1 100%!important;min-width:0!important;white-space:normal!important}
html[data-app-theme] body.mep-modern #answerPanel .studyhead h2{font:750 18px/1.4 system-ui!important;letter-spacing:-.4px;color:#142550!important;margin:0!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) :is(.topactions,.v46-answer-actions){display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:7px!important;flex-wrap:wrap!important;margin:0!important;width:auto!important;position:static!important;float:none!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) .studyhead button{position:static!important;min-height:40px!important;height:40px!important;min-width:40px!important;width:auto!important;font:600 13px/1 system-ui!important;padding:9px 11px!important;border:1px solid #dfe7f3!important;border-radius:9px!important;background:#f8faff!important;color:#45618b!important;box-shadow:none!important;flex:none!important;margin:0!important}
html[data-app-theme] body.mep-modern #questionPanel .topactions .fontctl{margin:0!important;gap:7px!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.head-source,.head-report):after{content:none!important;display:none!important}
html[data-app-theme] body.mep-modern #questionPanel .option-letter{position:static!important;flex:none!important;display:grid!important;place-items:center!important;min-width:29px;width:29px;height:29px;border:1px solid #d0ddf3;border-radius:50%;background:white;font:600 12px/1 system-ui!important}
html[data-app-theme] body.mep-modern #questionPanel .option-content{min-width:0!important;line-height:1.65!important}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav{display:flex!important;flex-wrap:wrap!important;position:static!important;gap:6px!important;flex:1 1 100%!important;order:3!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav button{min-height:35px!important;height:auto!important;padding:8px 10px!important;min-width:0!important;font-size:10px!important}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav .navicon{display:none!important}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav button:after{display:inline!important;font:600 10px/1.4 system-ui!important;content:attr(aria-label)}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav [aria-label="Step-by-step explanation"]:after{content:'Teacher Steps'}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav [aria-label="Key scoring terms"]:after{content:'Key Terms'}
html[data-app-theme] body.mep-modern #answerPanel .answer-nav [aria-label="Marking scheme evidence"]:after{content:'MS Evidence'}
html[data-app-theme] body.mep-modern #questionPanel .studybody,html[data-app-theme] body.mep-modern #answerPanel .answer-main{height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;padding:22px!important;background:#fff!important}
html[data-app-theme] body.mep-modern .answerlayout{display:block!important;min-height:0!important;height:auto!important;background:transparent!important}
html[data-app-theme] body.mep-modern .question-surface{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;color:#203456!important}
html[data-app-theme] body.mep-modern .qtags{gap:6px!important;margin:0 0 20px!important;display:flex!important;flex-wrap:wrap!important}
html[data-app-theme] body.mep-modern .qtag{background:#edf3ff!important;border:0!important;color:#5272a5!important;padding:6px 10px!important;font:650 10px/1.5 system-ui!important;border-radius:7px!important;white-space:normal!important;box-shadow:none!important}
html[data-app-theme] body.mep-modern #questionPanel .qtext{font-size:calc(17px * var(--qscale,1))!important;line-height:1.75!important;color:#203456!important}
html[data-app-theme] body.mep-modern #questionPanel .qtext p{font-size:inherit!important;line-height:inherit!important;margin:12px 0!important}
html[data-app-theme] body.mep-modern #questionPanel .qtext :is(b,strong){color:#142550!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.options,.chem-options){display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin:22px 0!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice){display:flex!important;align-items:flex-start!important;gap:13px!important;background:#f8faff!important;color:#243b61!important;border:1px solid #dce5f4!important;border-radius:12px!important;padding:15px!important;min-height:59px!important;text-align:left!important;min-width:0!important;width:100%!important;box-shadow:none!important;font-size:calc(16px * var(--qscale,1))!important;line-height:1.65!important;margin:0!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice) p{margin:0!important;font-size:inherit!important;line-height:inherit!important}
html[data-app-theme] body.mep-modern #questionPanel .option .letter{display:grid!important;place-items:center!important;border:1px solid #d0ddf3!important;border-radius:50%!important;width:29px!important;min-width:29px!important;height:29px!important;font-size:12px!important;background:#fff!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice).correct{border-color:#70b294!important;background:#effaf5!important;outline-color:#70b294!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice).wrong{border-color:#efb576!important;background:#fff8ee!important;outline-color:#efb576!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) :is(.marks,.markbadge,.submark){font:650 11px/1.45 system-ui!important;color:#476489!important;background:#edf3ff!important;border:1px solid #dce6f7!important;border-radius:7px!important;padding:5px 8px!important;white-space:nowrap!important}
html[data-app-theme] body.mep-modern #answerPanel .v58-route-controls{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin:0 0 23px!important;padding:0!important;background:transparent!important;border:0!important}
html[data-app-theme] body.mep-modern #answerPanel .v58-route-controls label{flex:1 1 100%;font-size:11px!important;line-height:1.6!important;color:#657793!important;display:block!important;min-width:0}
html[data-app-theme] body.mep-modern #answerPanel .v58-route-controls select{display:block!important;width:100%!important;min-height:46px!important;margin:5px 0 0!important;border:1px solid #d5e0f5!important;border-radius:10px!important;background:#f3f6ff!important;color:#3159ac!important;font:600 12px/1.4 system-ui!important;padding:11px!important;max-width:100%!important}
html[data-app-theme] body.mep-modern #answerPanel :is(.step,.verbatimbox,.teacher-method,.termcard,.teacher-option-review){background:#f8faff!important;border:1px solid #e0e8f5!important;border-radius:12px!important;box-shadow:none!important;padding:18px!important;margin:14px 0!important;color:#233b61!important}
html[data-app-theme] body.mep-modern #answerPanel .teacher-method{padding:0!important;background:transparent!important;border:0!important}
html[data-app-theme] body.mep-modern #answerPanel .teacher-method>.step:not(.physics-teacher-overview){border-left:3px solid #cbd9f2!important}
html[data-app-theme] body.mep-modern #answerPanel .teacher-method .step[aria-current=step]{border-left-color:#3159e9!important;background:#f1f5ff!important}
html[data-app-theme] body.mep-modern #answerPanel :is(.step,.verbatimbox,.teacher-method,.termcard) h3{font-size:16px!important;margin:0 0 12px!important;color:#142550!important}
html[data-app-theme] body.mep-modern #answerPanel :is(.step,.teacher-option-reason) h4{font-size:calc(15px * var(--ascale,1))!important;line-height:1.5!important;margin:0 0 12px!important;color:#263e62!important}
html[data-app-theme] body.mep-modern #answerPanel :is(.step,.verbatimbox,.teacher-option-reason) p{font-size:calc(16px * var(--ascale,1))!important;line-height:1.75!important;color:#30476a!important;margin:10px 0!important}
html[data-app-theme] body.mep-modern #answerPanel .teacher-authored-note{font-size:12px!important;line-height:1.6!important;color:#647695!important}
html[data-app-theme] body.mep-modern #answerPanel .pill{font:550 11px/1.45 system-ui!important;border:1px solid #dfe7f3!important;border-radius:7px!important;background:white!important;padding:7px 9px!important;margin:4px!important;color:#587399!important;white-space:normal!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) :is(details.chem-source,details.physics-source,details.source-crop,details:has(>summary)){font-size:12px!important;border:1px solid #dfe7f3!important;background:#f7f9fe!important;padding:13px 15px!important;border-radius:10px!important;margin:17px 0!important;color:#42618d!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) details>summary{font-weight:650!important;line-height:1.6!important;cursor:pointer;min-height:25px!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) :is(.physics-source-note,.teacher-source-note,small){font-size:11px!important;line-height:1.65!important;color:#677b99!important}
html[data-app-theme] body.mep-modern .mark-studied{font:650 11px system-ui!important;border:1px solid #c3dbd2!important;border-radius:9px!important;background:#f0faf6!important;color:#278362!important;min-height:40px!important;padding:10px 13px!important;margin:0 0 18px auto!important}
html[data-app-theme] body.mep-modern #visualAnchor{max-width:1400px!important;margin:24px auto 0!important;min-width:0!important;scroll-margin-top:calc(var(--workspace-top) + 16px)}
html[data-app-theme] body.mep-modern #visualAnchor .visualcard{border:1px solid #dfe7f3!important;border-radius:17px!important;background:white!important;overflow:hidden!important;box-shadow:0 5px 20px #172e5b04!important;padding:0!important;height:auto!important;min-height:0!important}
html[data-app-theme] body.mep-modern #visualAnchor .head{background:#fff!important;border-bottom:1px solid #e5ecf6!important;padding:21px 24px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;gap:12px!important;color:#142550!important}
html[data-app-theme] body.mep-modern #visualAnchor .head :is(h2,b){font:750 18px/1.35 system-ui!important;margin:0!important}
html[data-app-theme] body.mep-modern #visualAnchor .head>span{font:600 11px system-ui!important;color:#5d7498!important;background:#eff4ff!important;border:0!important;border-radius:7px;padding:7px 9px}
html[data-app-theme] body.mep-modern #visualAnchor .body{padding:24px!important;background:white!important;min-height:0!important;overflow:visible!important}
html[data-app-theme] body.mep-modern #visualAnchor :is(.chem-lesson-controls,[data-physics-shared-tools],.v54-iconbar){display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px!important;padding:0 0 17px!important;background:transparent!important;border:0!important;height:auto!important;min-height:0!important}
html[data-app-theme] body.mep-modern #visualAnchor button,html[data-app-theme] body.mep-modern #answerPanel .teacher-method button{font:600 12px/1.4 system-ui!important;min-height:44px!important;height:auto!important;min-width:40px!important;width:auto!important;background:#f3f6ff!important;color:#3b5f99!important;border:1px solid #d6e1f5!important;border-radius:9px!important;padding:10px 13px!important;box-shadow:none!important;white-space:normal!important;cursor:pointer}
html[data-app-theme] body.mep-modern #visualAnchor :is([data-che-play],[data-physics-play]){background:#3159e9!important;color:#fff!important;border-color:#3159e9!important}
html[data-app-theme] body.mep-modern #visualAnchor :is(.chem-visual,.v31-pane,.v31-canvas,#v31Canvas){height:auto!important;min-height:0!important;max-height:none!important;background:#f2f6fe!important;border:1px solid #e2eaf7!important;border-radius:12px!important;overflow:hidden!important;padding:16px!important;box-sizing:border-box}
html[data-app-theme] body.mep-modern #visualAnchor :is(#v31Canvas,.v31-canvas)>svg{display:block!important;width:100%!important;height:auto!important;max-height:520px!important;margin:0 auto!important;aspect-ratio:auto!important}
html[data-app-theme] body.mep-modern #visualAnchor :is(.teachbox,.physics-current-step,.chem-visual-wrap,.physics-all-steps){background:#f5f8ff!important;border:1px solid #dfe8f7!important;border-radius:12px!important;padding:20px!important;color:#31496e!important;margin:17px 0!important;min-height:0!important}
html[data-app-theme] body.mep-modern #visualAnchor .teachbox p,html[data-app-theme] body.mep-modern #visualAnchor .physics-current-step p{font-size:calc(16px * var(--v45-step-scale,1))!important;line-height:1.8!important}
html[data-app-theme] body.mep-modern #visualAnchor .v54-formula-bottom{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;height:auto!important;min-height:0!important;padding:15px!important;background:#f3f7ff!important;border:1px solid #dfe7f3!important;border-radius:10px!important}
html[data-app-theme] body.mep-modern #visualAnchor #v31VisualFormula{display:block!important;flex:1 1 100%!important;max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;padding:5px 0!important;white-space:normal!important}
html[data-app-theme] body.mep-modern .teacher-question-nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;background:#fff!important;border:1px solid #dfe7f3!important;border-radius:12px!important;padding:14px!important;margin:22px 0 0!important;position:static!important;max-width:none!important}
html[data-app-theme] body.mep-modern .teacher-question-nav button{min-height:44px!important;background:#3159e9!important;border:1px solid #3159e9!important;border-radius:9px!important;color:white!important;font:650 13px system-ui!important;padding:10px 18px!important;cursor:pointer}
html[data-app-theme] body.mep-modern .teacher-question-nav span{font:600 11px system-ui!important;color:#7385a3!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel){scroll-margin-top:calc(var(--workspace-top) + 16px)}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel,#visualAnchor) button:disabled{opacity:.45!important;cursor:default!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel,#visualAnchor) :focus-visible{outline:3px solid #93adff!important;outline-offset:2px}
@media(max-width:1190px){html[data-app-theme] body.mep-modern #splitDivider{display:none!important}html[data-app-theme] body.mep-modern .studygrid{grid-template-columns:minmax(0,1fr)!important}html[data-app-theme] body.mep-modern .main-app{padding:20px 22px 30px!important}html[data-app-theme] body.mep-modern .filterbar{padding:24px 22px 0!important}}
@media(max-width:680px){html[data-app-theme] body.mep-modern .filterbar{padding:20px 14px 0!important}html[data-app-theme] body.mep-modern .filterinner{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:13px!important;gap:9px!important;border-radius:12px!important}html[data-app-theme] body.mep-modern .filterinner :is(select,input){font-size:12px!important;height:43px!important;padding:9px!important}body.mep-modern .ws-filter-heading{display:block;margin-bottom:16px}body.mep-modern .ws-filter-heading h1{font-size:24px!important;margin-bottom:14px!important}body.mep-modern .ws-filter-heading button{font-size:11px;min-height:40px}html[data-app-theme] body.mep-modern .main-app{padding:16px 14px 24px!important}html[data-app-theme] body.mep-modern .studygrid{gap:18px!important}html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) .studyhead{padding:16px!important;gap:11px!important}html[data-app-theme] body.mep-modern #questionPanel .meta{font-size:10px!important}html[data-app-theme] body.mep-modern #questionPanel .studybody,html[data-app-theme] body.mep-modern #answerPanel .answer-main{padding:17px!important}html[data-app-theme] body.mep-modern #questionPanel .qtext{font-size:calc(16px * var(--qscale,1))!important}html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice){font-size:calc(15px * var(--qscale,1))!important;padding:14px!important}html[data-app-theme] body.mep-modern #answerPanel :is(.step,.verbatimbox,.termcard,.teacher-option-review){padding:15px!important}html[data-app-theme] body.mep-modern #visualAnchor .body{padding:16px!important}html[data-app-theme] body.mep-modern #visualAnchor .head{padding:18px!important}html[data-app-theme] body.mep-modern #visualAnchor .head :is(h2,b){font-size:16px!important}html[data-app-theme] body.mep-modern #visualAnchor :is(.chem-visual,.v31-pane,.v31-canvas,#v31Canvas){padding:10px!important}html[data-app-theme] body.mep-modern #visualAnchor :is(.teachbox,.physics-current-step,.chem-visual-wrap,.physics-all-steps){padding:15px!important}html[data-app-theme] body.mep-modern .teacher-question-nav{padding:10px!important;gap:7px!important}html[data-app-theme] body.mep-modern .teacher-question-nav button{padding:10px 12px!important;font-size:12px!important}}
@media print{html[data-app-theme] body.mep-modern .main-app{margin:0!important;width:100%!important}.filterbar{display:none!important}}

/* Focus lesson redesign: a sequential lesson rather than a split document viewer. */
html[data-app-theme] body.mep-modern .studygrid{display:flex!important;flex-direction:column!important;gap:26px!important;max-width:940px!important}
html[data-app-theme] body.mep-modern #splitDivider{display:none!important}
html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel){width:100%!important;border-radius:24px!important;border:0!important;box-shadow:0 8px 35px #2038580a!important;scroll-margin-top:90px}
html[data-app-theme] body.mep-modern #visualAnchor{max-width:940px!important;margin:26px auto!important;border-radius:24px!important;scroll-margin-top:90px}
html[data-app-theme] body.mep-modern #questionPanel .studyhead{background:#eaf0ff!important;border:0!important;padding:22px 28px!important}
html[data-app-theme] body.mep-modern #answerPanel .studyhead{background:#e9f7f2!important;border:0!important;padding:22px 28px!important}
html[data-app-theme] body.mep-modern #questionPanel .studybody,html[data-app-theme] body.mep-modern #answerPanel .answer-main{padding:30px!important}
html[data-app-theme] body.mep-modern #questionPanel .qtext{font-size:calc(20px * var(--qscale,1))!important;line-height:1.8!important}
html[data-app-theme] body.mep-modern #questionPanel :is(.option,.chem-choice){background:white!important;border:1px solid #dbe3f0!important;padding:20px!important;border-radius:16px!important}
body.mep-modern .ws-journey{max-width:940px;margin:22px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.mep-modern .ws-journey button{display:flex;align-items:center;gap:12px;text-align:left;padding:18px;border:1px solid #dce5f4;border-radius:17px;background:white;color:#192e55;cursor:pointer;font-family:system-ui;min-width:0}
body.mep-modern .ws-journey button>span{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;flex:none;background:#eaf0ff;color:#365ceb;font-weight:750}
body.mep-modern .ws-journey b{display:block;font-size:14px}body.mep-modern .ws-journey small{display:block;font-size:11px;color:#71809c;margin-top:5px}body.mep-modern .ws-journey svg{width:16px;margin-left:auto;flex:none}
@media(max-width:760px){body.mep-modern .ws-journey{gap:7px}body.mep-modern .ws-journey button{padding:13px 7px;flex-direction:column;text-align:center;gap:7px}body.mep-modern .ws-journey small,body.mep-modern .ws-journey svg{display:none}body.mep-modern .ws-journey b{font-size:12px}html[data-app-theme] body.mep-modern #questionPanel .studybody,html[data-app-theme] body.mep-modern #answerPanel .answer-main{padding:22px 17px!important}html[data-app-theme] body.mep-modern #questionPanel .qtext{font-size:calc(18px * var(--qscale,1))!important}html[data-app-theme] body.mep-modern :is(#questionPanel,#answerPanel) .studyhead{padding:17px!important}}

/* ui/shared/subject-onboarding.css */
#studentPortal .enrol-shell{position:relative;max-width:960px;margin:auto;padding:28px 28px 60px;color:#172b50}#studentPortal .enrol-shell header{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px}#studentPortal .enrol-shell .dash-brand{display:flex;gap:12px;align-items:center;background:none;border:0;text-align:left;color:#17315c}#studentPortal .enrol-shell .dash-brand svg{width:36px;height:36px;color:#4264e8}#studentPortal .enrol-shell .dash-brand small{display:block;letter-spacing:2px;font-size:8px;margin-top:4px}#studentPortal .enrol-kicker{color:#526de0;font-size:11px;letter-spacing:2px;font-weight:750}#studentPortal .enrol-shell h1{font-size:42px;letter-spacing:-1.5px;margin:14px 0}#studentPortal .enrol-shell>p{color:#657693;max-width:620px;line-height:1.8}#studentPortal .enrol-course{display:flex;align-items:center;gap:18px;padding:24px;background:linear-gradient(115deg,#edf2ff,#f3fcfb);border:1px solid #dae4f7;border-radius:20px;margin:30px 0}#studentPortal .enrol-course svg{width:32px;height:32px;color:#4264e8}#studentPortal .enrol-course h2{font-size:20px;margin:5px 0}#studentPortal .enrol-course p{margin:0;font-size:12px;color:#687b98}#studentPortal .enrol-course small{font-size:9px;letter-spacing:1px;color:#6280a6}#studentPortal .enrol-course>b{margin-left:auto;color:#267d64;background:#e1f4eb;padding:7px 10px;border-radius:8px;font-size:10px}#studentPortal .enrol-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}#studentPortal .enrol-heading h2{margin:0;font-size:21px}#studentPortal .enrol-heading>span{font-size:12px;color:#6c7f9e}#studentPortal .enrol-subjects{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}#studentPortal .enrol-subjects button{position:relative;background:white;border:2px solid #e2e9f5;border-radius:20px;text-align:left;padding:24px;color:#20385d;cursor:pointer}#studentPortal .enrol-subjects button[aria-pressed=true]{border-color:#4e70ea;background:#f3f6ff;box-shadow:0 5px 18px #3159e910}#studentPortal .enrol-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#eaf0ff;color:#496ce3;margin-bottom:19px}#studentPortal .enrol-icon svg{width:30px;height:30px}#studentPortal .enrol-subjects strong{display:block;font-size:19px;margin-bottom:7px}#studentPortal .enrol-subjects small{font-size:11px;color:#57749e}#studentPortal .enrol-subjects p{font-size:12px;line-height:1.8;margin:18px 0 0;color:#7586a0}#studentPortal .enrol-check{position:absolute;right:17px;top:17px;width:25px;height:25px;border:1px solid #d0dbef;display:grid;place-items:center;border-radius:50%;color:#6a83b3}#studentPortal [aria-pressed=true] .enrol-check{color:white;background:#4264e8;border-color:#4264e8}#studentPortal .enrol-future{padding:20px 23px;border-radius:15px;background:#edf3fa;margin:25px 0}#studentPortal .enrol-future h3{font-size:14px;margin:0 0 8px}#studentPortal .enrol-future p{font-size:12px;color:#70809a;line-height:1.8;margin:0}#studentPortal .enrol-shell footer{display:grid;gap:14px}#studentPortal .enrol-shell footer small{font-size:11px;color:#7889a2;line-height:1.7}#studentPortal [data-enrol-save]{display:flex;align-items:center;justify-content:center;gap:12px;background:#385eea;color:white;border:0;border-radius:12px;min-height:54px;font-weight:650;font-size:14px;cursor:pointer}#studentPortal [data-enrol-save] svg{width:20px}#studentPortal [data-enrol-save]:disabled{background:#dce3f0;color:#8c9bb3;cursor:default}#studentPortal [data-enrol-cancel],#studentPortal .dash-manage{border:1px solid #d9e3f4;background:white;color:#4166bf;border-radius:10px;padding:12px 15px;min-height:44px;cursor:pointer;font-size:12px}#studentPortal .dash-manage{margin-top:17px}#studentPortal .enrol-error{color:#ad403a}#studentPortal .enrol-shell button:focus-visible{outline:3px solid #98b0fb;outline-offset:3px}
@media(max-width:600px){#studentPortal .enrol-shell{padding:22px 18px 35px}#studentPortal .enrol-shell header{margin-bottom:35px}#studentPortal .enrol-shell h1{font-size:32px;line-height:1.2}#studentPortal .enrol-shell>p{font-size:14px}#studentPortal .enrol-course{padding:18px;gap:12px}#studentPortal .enrol-course h2{font-size:17px}#studentPortal .enrol-course>b{display:none}#studentPortal .enrol-subjects{grid-template-columns:1fr;gap:12px}#studentPortal .enrol-subjects button{display:grid;grid-template-columns:52px 1fr;column-gap:16px;padding:19px;padding-right:43px}#studentPortal .enrol-icon{grid-row:1/4;margin:0}#studentPortal .enrol-subjects strong{font-size:18px}#studentPortal .enrol-subjects p{margin:9px 0 0;grid-column:2;font-size:11px}#studentPortal .enrol-check{right:12px;top:20px}#studentPortal .enrol-heading h2{font-size:19px}}
#studentPortal .dash-sync-note{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border:1px solid #ebd3a7;border-radius:14px;background:#fff9ee;padding:15px 18px;margin-bottom:22px}#studentPortal .dash-sync-note p{flex:1;font-size:13px;line-height:1.7;margin:0;color:#87612b}#studentPortal .dash-sync-note button{min-height:44px;border:1px solid #d7b577;background:white;color:#805719;border-radius:9px;padding:10px 14px;cursor:pointer}
.mep-dashboard .dash-paper-context{display:flex;align-items:center;gap:20px;flex-wrap:wrap;background:#fff;border:1px solid #dde6f3;border-radius:18px;padding:20px;margin:0 0 24px}.dash-paper-context>div{flex:1;min-width:180px}.dash-paper-context small{display:block;letter-spacing:1.3px;font-size:10px;color:#60779d;margin-bottom:6px}.dash-paper-context strong{font-size:15px}.dash-paper-context p{font-size:12px;color:#677a96;line-height:1.6;margin-bottom:0}.dash-paper-context label{font-size:12px;display:grid;gap:8px}.dash-paper-context select{min-height:46px;max-width:100%;padding:8px 12px;border:1px solid #c7d5ed;border-radius:10px;background:#f6f8ff;color:#223759}.mep-dashboard .dash-subject-art{display:grid;place-items:center;width:190px;height:190px;margin:auto;border-radius:50%;background:radial-gradient(circle,#fff,#e6edff)}.mep-dashboard .dash-subject-art svg{width:95px;height:95px;color:#526fcd}
@media(max-width:600px){.mep-dashboard .dash-paper-context{padding:16px;gap:14px}.dash-paper-context label{width:100%}}

/* ui/shared/concept-path.css */
.concept-path{font-family:system-ui;color:#193130;max-width:1100px;margin:auto}.path-hero{padding:38px;background:#173e3c;border-radius:26px;color:#fff;position:relative;overflow:hidden}.path-hero:after{content:'';position:absolute;width:220px;height:220px;border:35px solid #ffffff0d;border-radius:50%;right:-85px;top:-70px;pointer-events:none}.path-hero>span,.path-eyebrow{font-size:10px;letter-spacing:2px;font-weight:750}.path-hero h1{font-size:36px;line-height:1.2;max-width:740px;margin:15px 0}.path-hero p{color:#c4dfd8;font-size:16px}.path-hero small{color:#a8c9c3}.path-crumbs{display:flex;align-items:center;gap:10px;margin:24px 0;flex-wrap:wrap}.concept-path button{cursor:pointer;font:inherit}.path-crumbs button{border:0;background:transparent;color:#24716a;padding:8px 0;text-align:left}.path-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.path-chapters>button{text-align:left;border:1px solid #dae5df;background:#fff;border-radius:20px;padding:25px;color:#193130}.path-chapters>button>span{font-size:32px;color:#95b9aa;font-weight:300}.path-chapters h2{font-size:21px;line-height:1.4;margin:17px 0 10px}.path-chapters p{font-size:13px;color:#71867c}.path-chapters b{font-size:13px;color:#167363;display:block;margin-top:22px}.path-concepts{display:grid;gap:14px}.path-concepts>button{display:flex;align-items:center;gap:22px;text-align:left;background:white;border:1px solid #d9e6df;border-radius:20px;padding:24px;color:#193130}.path-orbit{border-radius:50%;background:#e7f4eb;width:48px;height:48px;display:grid;place-items:center;flex:none}.path-concepts h2{font-size:21px;margin:7px 0}.path-concepts small{font-size:9px;letter-spacing:1.5px;color:#648678}.path-concepts p{font-size:12px;color:#6c8176}.path-concepts b{margin-left:auto}.path-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:20px}.path-detail article{padding:28px;background:white;border:1px solid #dce7e1;border-radius:22px;min-width:0}.path-detail h2{font-size:23px;line-height:1.35}.path-detail ol{padding-left:22px}.path-detail li{padding:12px 0 12px 8px;line-height:1.6;border-bottom:1px solid #eef2ee}.path-detail button{padding:15px 20px;border:1px solid #b8d2c6;border-radius:12px;background:#edf7f1;color:#185a47;font-weight:650}.path-detail .path-primary{background:#1b6c57;color:white;margin-top:15px}.path-detail .path-practice{grid-column:1/-1;background:#f5eedf}.path-question{font-size:14px;line-height:1.8;max-height:170px;overflow:auto;overflow-wrap:anywhere}.path-note{color:#7a877f;font-size:12px;line-height:1.7;margin:24px 0}.concept-path button:focus-visible{outline:3px solid #63a98e;outline-offset:4px}@media(max-width:760px){.path-hero{padding:27px 23px}.path-hero h1{font-size:28px}.path-chapters,.path-detail{grid-template-columns:1fr}.path-chapters>button{padding:22px}.path-concepts>button{padding:20px 16px;gap:13px}.path-concepts h2{font-size:18px}.path-orbit{width:34px;height:34px}.path-detail article{padding:23px}}
#studentPortal .concept-path .path-hero h2{font-size:28px;line-height:1.2;margin:15px 0;color:#fff!important;overflow-wrap:anywhere}
#studentPortal.mep-dashboard .concept-source-text :is(svg,img),#studentPortal.mep-dashboard .concept-figure svg{width:100%;height:auto}
/* Portal defaults must not reduce contrast on the concept hero or primary action. */
#studentPortal .concept-path .path-hero h1{color:#fff!important}#studentPortal .concept-path .path-hero p{color:#d3e7e1!important}#studentPortal .concept-path .path-hero small,#studentPortal .concept-path .path-hero>span{color:#bdded3!important}#studentPortal .concept-path .path-primary{background:#1b6c57!important;color:#fff!important}
#studentPortal .concept-reader{max-width:760px}#studentPortal .concept-back{background:transparent;border:0;color:#216b57;padding:14px 0;font-weight:700;margin-bottom:12px}#studentPortal .concept-explanation,#studentPortal .concept-next,#studentPortal .concept-source,#studentPortal .concept-figure{margin:22px 0;padding:26px;background:white;border:1px solid #dde8e1;border-radius:20px}#studentPortal .concept-copy{font-size:19px;line-height:1.9;margin-top:18px;color:#213d35;overflow-wrap:anywhere}#studentPortal .concept-next{background:#edf6ed}#studentPortal .concept-next button{padding:15px;background:#1b6c57;color:white;border:0;border-radius:12px}#studentPortal .concept-source{font-size:13px;line-height:1.7;color:#60736b}#studentPortal .concept-reader summary{cursor:pointer;font-weight:650}#studentPortal .concept-figure svg{max-width:100%;height:auto}#studentPortal .concept-copy .katex-display{overflow-x:auto;max-width:100%}
#studentPortal .concept-copy,#studentPortal .concept-copy p{font:18px/1.85 system-ui!important;color:#29463b!important}#studentPortal .concept-copy .katex{font-size:1.05em}#studentPortal .concept-reader .path-hero>span{letter-spacing:1px}
#studentPortal .concept-reader .concept-source{scroll-margin-top:90px}#studentPortal .concept-source details{padding:13px 0;border-top:1px solid #e3ece6}#studentPortal .concept-source img{display:block;max-width:100%;height:auto;margin:12px auto}#studentPortal .concept-source-text{font:15px/1.8 system-ui;color:#29463b;margin:20px 0}#studentPortal .concept-source-text li{padding:8px 0}#studentPortal .concept-source-text :is(svg,img){max-width:100%;height:auto}#studentPortal .concept-source-text .katex-display{overflow-x:auto}#studentPortal .concept-reader button:focus-visible,#studentPortal .concept-reader input:focus-visible,#studentPortal .concept-reader select:focus-visible{outline:3px solid #64aa8d;outline-offset:3px}#studentPortal .concept-reader label{display:block;font:600 14px/1.6 system-ui;color:#284e40}#studentPortal .concept-source .step{max-width:100%;overflow-wrap:anywhere}
#studentPortal .concept-reader .concept-copy,#studentPortal .concept-reader .concept-copy p{text-align:left!important;word-spacing:normal!important;letter-spacing:normal!important}
#studentPortal .path-discovery{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;margin:24px 0;padding:20px;background:#fff;border:1px solid #dce7e1;border-radius:20px}
#studentPortal .path-discovery label{display:flex;flex-direction:column;gap:8px;min-width:0;font:650 13px/1.5 system-ui;color:#305a4c}
#studentPortal .path-discovery :is(input,select){box-sizing:border-box;width:100%;min-width:0;min-height:48px;border:1px solid #bed5c9;border-radius:11px;background:#f8fcf9;padding:12px;color:#234d3e;font:16px/1.4 system-ui}
#studentPortal .path-discovery :is(input,select):focus-visible{outline:3px solid #64aa8d;outline-offset:2px}
#studentPortal .path-search-count{grid-column:1/-1;margin:0;color:#536f63;font:13px/1.6 system-ui}
#studentPortal .path-discovery button,#studentPortal .path-empty button{min-height:44px;padding:10px 16px;border:1px solid #bdd8c9;border-radius:10px;background:#edf7f1;color:#1b644a;font:600 14px system-ui}
#studentPortal .path-empty{padding:28px;border:1px dashed #b4d1c0;border-radius:18px;background:#f7fbf8;line-height:1.7}
#studentPortal .path-empty button{margin:8px 8px 0 0}#studentPortal .path-concepts>button>div{min-width:0;overflow-wrap:anywhere}
#studentPortal .path-source-label{font:600 12px/1.65 system-ui;color:#377460!important}
@media(max-width:760px){#studentPortal .path-discovery{grid-template-columns:minmax(0,1fr);padding:17px;gap:14px}#studentPortal .path-discovery input{font-size:16px}}
#studentPortal .path-related{max-width:760px;margin:30px auto;padding:24px;border:1px solid #dce7e1;background:#f5faf7;border-radius:20px;color:#305a4c}#studentPortal .path-related summary{min-height:44px;cursor:pointer;font-weight:650;margin:12px 0}#studentPortal .path-related .path-concepts{margin-top:18px}#studentPortal .path-related p{font:14px/1.7 system-ui}

/* A single return action with readable subject/chapter context. */
#studentPortal .learning-subject,#mepWorkspaceChrome .ws-location .learning-subject{
 display:inline-flex;align-items:center;width:auto;max-width:100%;box-sizing:border-box;
 padding:5px 10px;margin:0;border:1px solid var(--subject-line);border-radius:999px;
 color:var(--subject-ink)!important;background:var(--subject-tint);
 font:700 12px/1.4 system-ui;letter-spacing:0;overflow-wrap:anywhere;
}
#studentPortal.mep-dashboard .path-navigation{
 display:flex;align-items:center;justify-content:space-between;gap:12px 20px;
 padding:0 0 18px;margin:0;min-width:0;
}
#studentPortal.mep-dashboard .path-navigation .path-back{
 display:inline-flex;align-items:center;justify-content:center;gap:9px;flex:none;
 width:auto;min-height:44px;margin:0;padding:10px 14px;border:1px solid #d4deed;
 border-radius:12px;background:#fff;color:#29476d;font:650 13px/1.4 system-ui;
 box-shadow:0 2px 5px #14255004;white-space:nowrap;
}
#studentPortal.mep-dashboard .path-back>span{font-size:19px;line-height:1}
#studentPortal.mep-dashboard .path-back:hover{background:#edf3fc;border-color:#aabddc}
#studentPortal.mep-dashboard .path-back:focus-visible{outline:3px solid #537ecc;outline-offset:3px}
#studentPortal.mep-dashboard .path-location{display:flex;align-items:center;gap:9px;min-width:0;justify-content:flex-end}
#studentPortal.mep-dashboard .path-location .learning-subject{flex:none;max-width:180px}
#studentPortal.mep-dashboard .path-location-separator{color:#a4b0c1;font-size:14px}
#studentPortal.mep-dashboard .path-location-name{min-width:0;color:#617087;font:500 12px/1.5 system-ui;overflow-wrap:anywhere}
#studentPortal.mep-dashboard .path-hero{margin-bottom:22px}
#studentPortal.mep-dashboard .path-evidence>.learning-subject{margin:14px 0 2px}
@media(max-width:600px){
 #studentPortal.mep-dashboard .path-navigation{align-items:flex-start;flex-direction:column;gap:12px;padding-bottom:16px}
 #studentPortal.mep-dashboard .path-location{width:100%;justify-content:flex-start;align-items:flex-start;gap:8px}
 #studentPortal.mep-dashboard .path-location .learning-subject{max-width:145px;font-size:11px;padding:4px 8px}
 #studentPortal.mep-dashboard .path-location-name{padding-top:4px;font-size:12px}
 #studentPortal.mep-dashboard .path-location-separator{padding-top:4px}
}

/* Mobile Learn uses the available reading width like the PYQ reader. */
@media(max-width:760px){
 #studentPortal.mep-dashboard .dash-main:has(>.concept-path){padding-left:8px;padding-right:8px}
 #studentPortal.mep-dashboard :is(.concept-explanation,.concept-next,.concept-source,.concept-figure,.path-related){padding:18px 12px;margin-top:18px;margin-bottom:18px;border-radius:16px}
 #studentPortal.mep-dashboard .concept-reader .path-hero{padding-left:14px;padding-right:14px}
 #studentPortal.mep-dashboard .concept-copy{margin-top:12px}
 #studentPortal.mep-dashboard .path-related .path-concepts>button{padding:14px 10px;gap:10px}
}

/* ui/shared/interactive-models.css */
/* One model inside Visual lesson; no independent Lab page or quiz stages. */
.visual-models{margin:18px 0}
.inline-model{box-sizing:border-box;min-width:0;margin:16px 0;padding:20px;border:1px solid #cbdedb;border-radius:16px;background:#f7fbfa;color:#173d36;font:15px/1.65 system-ui,sans-serif}
.inline-model header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.inline-model h3{font:750 21px/1.35 system-ui;margin:5px 0 12px;color:#173d36}
.inline-model-kicker{font:750 10px/1.5 system-ui;letter-spacing:1.3px;color:#317767}
.inline-model [data-model-reset]{flex:none;min-height:44px;padding:8px 12px;background:#fff;color:#235749;border:1px solid #bcd5cc;border-radius:10px;font:600 12px system-ui;cursor:pointer}
.inline-model p{color:#355a4e!important;text-align:left!important;overflow-wrap:anywhere}
.inline-model-workbench{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(210px,1fr);gap:20px;align-items:center;margin:18px 0}
.inline-model-figure{min-width:0;max-width:100%;overflow-x:auto;background:#eff6f2;border-radius:12px;padding:10px}
.inline-model-figure svg{display:block;width:100%;min-width:0;max-width:100%;height:auto;margin:auto}
.inline-model-controls{display:grid;gap:16px;min-width:0}
.inline-model .model-control{display:grid;gap:8px;font:600 14px/1.5 system-ui;color:#294f40}
.inline-model-controls :is(input,select){box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:44px;font:16px system-ui;accent-color:#22715c}
.inline-model-controls select{border:1px solid #bed3c8;border-radius:9px;padding:10px;background:#fff;color:#234c3d}
.inline-model-observation{background:#e5f3ec;border-radius:12px;padding:14px;margin:14px 0}
.inline-model-observation output{display:block;margin-top:6px;font-weight:600;overflow-wrap:anywhere}
.inline-model-note,.inline-model .model-mini-note{font:12px/1.6 system-ui!important;color:#61776b!important}
.inline-model .model-table-wrap{overflow-x:auto;max-width:100%}
.inline-model .model-table{width:100%;border-collapse:collapse;font:13px/1.5 system-ui;background:#fff;color:#244538}
.inline-model .model-table :is(td,th){border:1px solid #c5d8ce;padding:7px;text-align:left;white-space:normal}
.inline-model .model-evidence-line{display:block;padding:9px;margin:6px 0;border-left:3px solid transparent}
.inline-model .model-evidence-line.is-selected{background:#fff0c5;border-color:#a67716;color:#4a3911}
.inline-model .model-result,.inline-model .model-formula{padding:10px;background:#fff;border:1px solid #d5e4da;border-radius:10px;white-space:pre-wrap;overflow-wrap:anywhere}
.inline-model :is(button,input,select):focus-visible{outline:3px solid #266eba;outline-offset:3px}
@media(max-width:760px){.inline-model{padding:13px}.inline-model-workbench{grid-template-columns:minmax(0,1fr);gap:15px}.inline-model header{flex-wrap:wrap}.inline-model h3{font-size:19px}.inline-model-figure{padding:4px}}
@media(prefers-reduced-motion:reduce){.inline-model *{animation:none!important;transition:none!important}}

/* ui/shared/pyq-library.css */
#studentPortal .pyq-library{max-width:1160px;margin:auto;min-width:0}
#studentPortal .pyq-library *{box-sizing:border-box}
#studentPortal .pyq-library button{font-family:inherit;cursor:pointer}
#studentPortal .pyq-library button:focus-visible{outline:3px solid #426dd9;outline-offset:4px}
#studentPortal .pyq-hero{background:linear-gradient(125deg,#eaf0ff,#f1f0ff 66%,#f6f8ff);border:1px solid #dce4f5;color:#233d6b;border-radius:24px;padding:32px}
#studentPortal .pyq-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.7px;color:#63789d}
#studentPortal .pyq-hero h1{color:#233d6b;margin:12px 0;font-size:clamp(25px,3.4vw,34px);line-height:1.18}
#studentPortal .pyq-hero p{color:#5d6f8e;max-width:650px;font-size:15px;line-height:1.65;margin:0}
#studentPortal .pyq-path{display:flex;flex-wrap:wrap;gap:12px 22px;list-style:none;padding:0;margin:23px 0 0}
#studentPortal .pyq-path li{display:flex;align-items:center;gap:8px;color:#52678d;font-size:12px}
#studentPortal .pyq-path b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#4262af;font-size:11px}
#studentPortal .pyq-path li:first-child b{background:#385bca;color:white}
#studentPortal .pyq-library-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:29px 0 18px}
#studentPortal .pyq-library-heading h2{margin:0;font-size:21px;line-height:1.3;color:#263d61}
#studentPortal .pyq-library-heading p{margin:6px 0 0;font-size:13px;color:#657795;line-height:1.6}
#studentPortal .pyq-library-heading>span{font-size:11px;color:#667997;background:white;border:1px solid #e1e7f1;border-radius:24px;padding:8px 12px;white-space:nowrap}
#studentPortal .pyq-subject-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}
#studentPortal .pyq-subject-card{--pyq-color:var(--subject-ink);--pyq-soft:var(--subject-tint);display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;border:0;border-radius:12px;background:transparent;padding:12px 4px;color:#293e60;box-shadow:none}
#studentPortal .pyq-subject-card:is(:hover,:focus-visible) .pyq-subject-icon{border-color:var(--pyq-color);box-shadow:0 0 0 4px var(--pyq-soft)}
#studentPortal .pyq-subject-card-top{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:10px}
#studentPortal .pyq-subject-icon{display:grid;place-items:center;width:49px;height:49px;flex:0 0 49px;background:var(--pyq-soft,#edf3ff);color:var(--pyq-color,#466ec1);border-radius:50%}
#studentPortal .pyq-subject-icon svg{width:26px;height:26px}
#studentPortal .pyq-subject-card .pyq-subject-icon{width:100px;height:100px;flex:0 0 100px;border:2px solid #d3e1f5;border-radius:50%;transition:border-color .18s,box-shadow .18s}
#studentPortal .pyq-subject-card .pyq-subject-icon svg{width:40px;height:40px}
#studentPortal .pyq-count{color:#637896;background:#f5f7fc;font-size:11px;font-weight:600;padding:6px 9px;border-radius:20px}
#studentPortal .pyq-subject-card>strong{font-size:17px;line-height:1.4;overflow-wrap:normal;max-width:100%}
#studentPortal .pyq-subject-years{font-size:12px;color:#7a8ca7;margin-top:6px}
#studentPortal .pyq-subject-types{font-size:12px;color:#5e7494;line-height:1.6;margin-top:8px;margin-bottom:12px}
#studentPortal .pyq-card-link{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;border-top:0;padding-top:6px;margin-top:auto;color:var(--pyq-color);font-size:12px;font-weight:650}
#studentPortal .pyq-card-link svg{width:18px;height:18px;vertical-align:middle}
#studentPortal .pyq-back{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:9px;background:#edf2fb;color:#46618c;padding:10px 13px;min-height:44px;font-size:12px;margin:0 0 24px}
#studentPortal .pyq-subject-heading{display:flex;align-items:center;gap:17px;margin-bottom:23px;min-width:0}
#studentPortal .pyq-subject-heading>div{min-width:0}
#studentPortal .pyq-subject-heading h1{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:6px 0 9px;color:#273f66;overflow-wrap:anywhere}
#studentPortal .pyq-subject-heading p{font-size:12px;line-height:1.7;color:#657a97;margin:0}
#studentPortal .pyq-mode-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:#eef3fc;border-radius:16px;padding:19px 22px;margin-bottom:22px}
#studentPortal .pyq-mode-guide>div{display:flex;align-items:flex-start;gap:11px}
#studentPortal .pyq-mode-guide svg{width:20px;height:20px;margin-top:1px;color:#627cad}
#studentPortal .pyq-mode-guide p{font-size:12px;line-height:1.65;color:#637895;margin:0}
#studentPortal .pyq-mode-guide strong{display:block;color:#355379;font-size:13px;margin-bottom:3px}
#studentPortal .pyq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#studentPortal .pyq-paper{min-width:0;display:flex;flex-direction:column;border:1px solid #dbe4f2;padding:25px;background:white;border-radius:20px}
#studentPortal .pyq-paper-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#617b9f}
#studentPortal .pyq-paper-top>b{font-size:15px}
#studentPortal .pyq-paper-kind{font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:650;border-radius:6px;padding:6px 8px;background:#edf3fc;color:#426592}
#studentPortal .pyq-paper[data-paper-type="sample"] .pyq-paper-kind{background:#f1edfa;color:#7a59a8}
#studentPortal .pyq-paper h3{font-size:23px;line-height:1.3;margin:20px 0 7px;color:#2b446a;overflow-wrap:anywhere}
#studentPortal .pyq-paper-course{margin:0;color:#7184a0;font-size:12px}
#studentPortal .pyq-paper-facts{display:flex;flex-wrap:wrap;gap:10px 18px;margin:22px 0 25px;padding:15px 0;border-top:1px solid #edf1f7;border-bottom:1px solid #edf1f7;font-size:11px;line-height:1.7;color:#71829c}
#studentPortal .pyq-paper-facts b{color:#405d85;font-size:14px;font-weight:650}
#studentPortal .pyq-paper-actions{margin-top:auto}
#studentPortal .pyq-paper button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;width:100%;padding:12px;border:0;border-radius:11px;background:#3159c9;color:white;font-weight:650;font-size:13px}
#studentPortal .pyq-paper button svg{width:17px;height:17px;vertical-align:middle}
#studentPortal .pyq-paper .pyq-test{background:#f0f4fb;color:#3e6090;margin-top:9px}
#studentPortal .pyq-note{margin:24px 0 0;font-size:12px;line-height:1.8;color:#7688a1}
#studentPortal .pyq-empty{background:white;border:1px dashed #cbd7e9;border-radius:18px;padding:25px;color:#607797}
#studentPortal .pyq-empty button{min-height:44px;padding:10px 16px;background:#3159c9;border:0;border-radius:10px;color:white}
.ws-paper-return{border:0;background:#edf3ff;color:#2c5288;padding:12px 16px;border-radius:10px;min-height:44px}
@media(max-width:1000px){#studentPortal .pyq-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){#studentPortal .pyq-hero{padding:25px 22px;border-radius:20px}#studentPortal .pyq-hero p{font-size:13px}#studentPortal .pyq-path{gap:10px 14px}#studentPortal .pyq-path li{font-size:11px;gap:6px}#studentPortal .pyq-grid{grid-template-columns:1fr;gap:13px}#studentPortal .pyq-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}#studentPortal .pyq-subject-card>strong{font-size:16px}#studentPortal .pyq-library-heading{margin-top:26px}#studentPortal .pyq-mode-guide{grid-template-columns:1fr;gap:15px;padding:19px}#studentPortal .pyq-paper{padding:22px}#studentPortal .pyq-subject-heading{gap:12px;align-items:flex-start}#studentPortal .pyq-subject-heading>.pyq-subject-icon{width:43px;height:43px;flex-basis:43px;border-radius:50%;margin-top:4px}}
@media(prefers-reduced-motion:reduce){#studentPortal .pyq-subject-card .pyq-subject-icon{transition:none}}

/* Subject-selected discovery only. Existing subject cards and set cards stay intact. */
#studentPortal .pyq-browse-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 22px;padding:5px;border:1px solid #dbe4f2;border-radius:13px;background:#eef3fc}
#studentPortal .pyq-browse-modes button{min-width:0;min-height:44px;padding:9px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:#46618c;font-weight:600;line-height:1.3;white-space:normal;overflow-wrap:anywhere}
#studentPortal .pyq-browse-modes button[aria-pressed=true]{border-color:#c6d4f2;background:#fff;color:#254fba;box-shadow:0 1px 4px #203d6610}
#studentPortal .pyq-browse-modes button:is(:hover,:focus-visible){background:#fff}
#studentPortal .pyq-selection-heading{margin:0 0 18px;min-width:0}
#studentPortal .pyq-selection-heading h2{margin:0 0 7px;color:#2b446a;overflow-wrap:anywhere}
#studentPortal .pyq-selection-heading p{margin:0;color:#657a97;font-size:13px;line-height:1.6}
#studentPortal .pyq-question-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#studentPortal .pyq-question-card{display:grid;grid-template-columns:44px minmax(0,1fr) 20px;align-items:center;gap:12px;min-width:0;min-height:72px;width:100%;padding:16px;border:1px solid #dbe4f2;border-radius:14px;background:#fff;color:#2b446a;text-align:left}
#studentPortal .pyq-question-card:is(:hover,:focus-visible){border-color:#8fa9dc;background:#f8faff}
#studentPortal .pyq-question-number{display:grid;place-items:center;min-height:44px;border-radius:10px;background:#edf2ff;color:#254fba;font-weight:600}
#studentPortal .pyq-question-copy{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}
#studentPortal .pyq-question-copy strong{font-size:17px;font-weight:600;line-height:1.4}
#studentPortal .pyq-question-copy>span{font-size:13px;color:#657a97;line-height:1.5}
#studentPortal .pyq-question-copy small{font-size:12px;color:#657a97;line-height:1.5}
#studentPortal .pyq-question-arrow{color:#46618c}
#studentPortal .pyq-question-arrow svg{width:20px;height:20px;vertical-align:middle}
@media(max-width:760px){#studentPortal .pyq-browse-modes,#studentPortal .pyq-selection-heading{margin-bottom:var(--mep-section-gap,12px)}#studentPortal .pyq-question-card{padding:var(--mep-card-padding,12px)}}
@media(max-width:650px){#studentPortal .pyq-question-list{grid-template-columns:1fr}#studentPortal .pyq-browse-modes{gap:4px;padding:4px}#studentPortal .pyq-browse-modes button{padding:9px 4px}}

/* Owner-requested larger black secondary text; set titles and Test Mode keep their size. */
@layer mep-typography{
 #studentPortal :is(.pyq-library-heading p,.pyq-total,.pyq-count,.pyq-subject-years,.pyq-subject-types,.pyq-card-link,.pyq-subject-heading p,.pyq-paper-course,.pyq-paper-facts,.pyq-note,.pyq-selection-heading p,.pyq-question-copy>span,.pyq-question-copy small,.pyq-mode-guide p){color:#000!important;font-size:15px!important;line-height:1.6!important}
 #studentPortal :is(.pyq-paper-kind,.pyq-mode-guide strong){color:#000!important;font-size:14px!important}
 #studentPortal .pyq-test{color:#000!important}
}

/* Owner-approved competency discovery for reviewed Physics 55/1/1 only. */
#studentPortal .pyq-browse-modes[data-mode-count="4"]{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr)}
#studentPortal .pyq-competency-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:0 0 18px}
#studentPortal .pyq-competency-controls button{min-height:44px;padding:10px 14px;border:1px solid #c6d4f2;border-radius:10px;background:#fff;color:#254fba;font:inherit}
#studentPortal .pyq-competency-controls button[aria-pressed=true]{background:#e7efff;box-shadow:inset 0 -3px 0 #3159c9}
#studentPortal .pyq-competency-controls p{margin:0;flex:1 1 260px;font-size:15px;line-height:1.5;color:#172b4d}
#studentPortal .pyq-question-copy .pyq-competency-task{font-size:17px!important;line-height:1.5!important;color:#172b4d!important}
#studentPortal .pyq-question-copy .katex{font-size:1em}
.pyq-competency-focus{margin:0 0 12px;padding:12px;background:var(--card,#fff);color:var(--ink,#183454);border-left:3px solid #3159c9;border-radius:8px;font:inherit;overflow-wrap:anywhere}
.pyq-competency-focus summary{min-height:44px;display:list-item;align-content:center;font-weight:500;cursor:pointer}
.pyq-competency-focus p{margin:8px 0;line-height:1.55}
.pyq-competency-unit{padding:10px 0;border-top:1px solid #b8c8dd}
.pyq-competency-unit strong{font-weight:600}
.pyq-competency-context{font-size:15px}
.pyq-competency-focus .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden}
@media(max-width:380px){#studentPortal .pyq-browse-modes[data-mode-count="4"] button{font-size:14px;padding-inline:2px;overflow-wrap:normal}}

@layer mep-typography{#questionPanel .pyq-competency-focus :is(p,.pyq-competency-unit>strong){font-size:calc(var(--mep-text-size) * var(--qscale,1))!important;line-height:var(--mep-reading-line)!important;color:#183454!important}}

/* Student guidance for the owner-approved Competency collection only. */
#studentPortal .pyq-competency-controls button{max-width:100%;white-space:normal;text-align:left;line-height:1.5}
#studentPortal .pyq-competency-help{margin:0 0 18px;padding:0 14px;border:1px solid #dbe4f2;border-radius:10px;background:#fff;color:#183454}
#studentPortal .pyq-competency-help summary{min-height:44px;align-content:center;cursor:pointer}
#studentPortal .pyq-competency-help ol{padding-left:22px;margin:8px 0 14px}
#studentPortal .pyq-competency-help li{margin:10px 0;line-height:1.6}
#studentPortal .pyq-competency-help p{margin:12px 0;line-height:1.6}
@layer mep-typography{#studentPortal .pyq-competency-help :is(li,p,strong){font-size:var(--mep-text-size)!important}}

/* Owner asdd.docx: compact subject return and single-line browse labels. */
#studentPortal .pyq-subject-title{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}
#studentPortal .pyq-subject-switch{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#254fba;min-height:44px;padding:4px 6px;white-space:nowrap}
#studentPortal .pyq-browse-modes,#studentPortal .pyq-browse-modes[data-mode-count="4"]{display:flex;gap:2px;padding:2px}
#studentPortal .pyq-browse-modes button{flex:1 1 auto;min-width:max-content;padding:7px 3px;white-space:nowrap;overflow-wrap:normal}

@media(max-width:380px){#studentPortal .pyq-browse-modes{gap:0;padding:1px}#studentPortal .pyq-browse-modes[data-mode-count="4"] button{padding-inline:0}}

/* Reviewed collection chapter filter; original cards and reader are reused. */
.pyq-competency-controls .competency-chapter{display:grid;gap:6px;margin-bottom:12px;font-size:17px}
.pyq-competency-controls select{width:100%;min-width:0;max-width:100%;min-height:44px;box-sizing:border-box;font:inherit;border:1px solid #dce5ef;border-radius:10px;padding:8px;background:#fff;color:inherit}

/* ui/shared/brand.css */
/* Use the supplied brand consistently on loading, login and learning surfaces. */
#studentPortal .portal-logo{width:56px;height:56px;border:0;background:transparent;box-shadow:none;border-radius:14px}#studentPortal .portal-logo-img{width:56px;height:56px;object-fit:contain;border-radius:14px}#studentPortal .portal-wordmark small{font-size:9px;letter-spacing:.7px;line-height:1.6}#studentPortal .portal-tabs button{min-height:46px}#studentPortal .portal-text-link{border:0;background:none;color:#3159d6;font-size:12px;padding:12px}#studentPortal .portal-theme{display:none!important}
#studentPortal.mep-dashboard .dash-brand>span,#mepWorkspaceChrome .ws-brand>span,#mepWorkspaceChrome .ws-mobile-home{background:transparent;box-shadow:none;border:0;border-radius:10px}#studentPortal .mep-brand-logo,#mepWorkspaceChrome .mep-brand-logo{width:40px;height:40px;object-fit:contain;border-radius:10px}#studentPortal.mep-dashboard .dash-brand small,#mepWorkspaceChrome .ws-brand small{font-size:6px;letter-spacing:.6px}
#practicalsViewer[hidden]{display:none!important}
/* The supplied emblem is displayed intact inside a circular presentation. */
#studentPortal:not(.mep-dashboard) .portal-brand{flex-direction:column;justify-content:center;text-align:center;gap:16px;margin:0 auto 28px}
#studentPortal:not(.mep-dashboard) .portal-logo,#studentPortal:not(.mep-dashboard) .portal-logo-img{width:clamp(168px,52vw,224px);height:clamp(168px,52vw,224px);border-radius:50%;background:#fff;object-fit:contain}
#studentPortal:not(.mep-dashboard) .portal-logo{overflow:hidden;box-shadow:0 12px 34px #2355a014}
#studentPortal:not(.mep-dashboard) .portal-wordmark{font-size:24px}
#studentPortal .mep-brand-logo,#mepWorkspaceChrome .mep-brand-logo,#studentPortal.mep-dashboard .dash-brand>span,#mepWorkspaceChrome .ws-brand>span,#mepWorkspaceChrome .ws-mobile-home{border-radius:50%}
@media(max-width:999px){#studentPortal .dash-bottom-nav,#mepWorkspaceChrome .ws-bottom-nav{grid-template-columns:repeat(6,minmax(0,1fr))!important}#studentPortal .dash-bottom-nav button,#mepWorkspaceChrome .ws-bottom-nav button{padding-left:2px;padding-right:2px;font-size:9px}}

/* ui/shared/pyq-reader.css */
/* Continuous paper workspace. Native controllers own questions, routes and lessons. */
#pyqReader,#pyqReaderFooter{display:none}
#pyqReader[hidden],#pyqReaderFooter[hidden]{display:none!important}
#pyqReader .reader-tabs button[hidden],html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-action[hidden]{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open .filterbar{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open .main-app{padding:26px 30px 36px!important}
body.pyq-reader-open :is(#pyqReader,#pyqReaderFooter){display:block;max-width:1480px;margin:0 auto;font:14px/1.5 system-ui,sans-serif;color:#243b59}
#pyqReader{scroll-margin-top:calc(var(--workspace-top) + 16px)}
#pyqReader *,#pyqReaderFooter *,#pyqReaderWorkspace .reader-actionbar *{box-sizing:border-box}
#pyqReader button,#pyqReaderFooter button{font:600 13px/1.4 system-ui,sans-serif;min-height:44px;border:1px solid #d9e3ef;border-radius:10px;background:#fff;color:#334d70;cursor:pointer;padding:10px 15px;box-shadow:none}
#pyqReader button:hover,#pyqReaderFooter button:hover{background:#edf3fc;border-color:#b1c5e6}
#pyqReader button:focus-visible,#pyqReaderFooter button:focus-visible{outline:3px solid #739cff;outline-offset:3px}
#pyqReader button:disabled,#pyqReaderFooter button:disabled{opacity:.4;cursor:default}
#pyqReader .reader-paper{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 0 22px}
#pyqReader .reader-back{border:0;background:transparent;min-height:44px;padding:8px 0;font-size:12px;color:#647893;border-radius:4px;margin:0 0 11px}
#pyqReader .reader-back:hover{color:#3159e9}
#pyqReader .reader-kicker{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#647fa4;margin:0 0 7px}
#pyqReader h1{font:750 29px/1.2 system-ui,sans-serif;color:#172d4e;letter-spacing:-.85px;margin:0 0 9px}
#pyqReader .reader-paper-meta{font-size:12px;color:#657b95;margin:0}
#pyqReader .reader-progress{min-width:144px;padding-top:30px;color:#317158;font-size:19px;font-weight:700;text-align:right}
#pyqReader .reader-progress small{display:block;color:#708678;font-weight:500;font-size:11px;margin-top:6px}
#pyqReader progress{display:block;width:144px;height:5px;margin:9px 0 0;appearance:none;border:0;border-radius:10px;background:#e2ebe7;overflow:hidden}
#pyqReader progress::-webkit-progress-bar{background:#e2ebe7;border-radius:10px}
#pyqReader progress::-webkit-progress-value{background:#59a789;border-radius:10px}
#pyqReader progress::-moz-progress-bar{background:#59a789}
#pyqReader .reader-question-nav{display:grid;grid-template-columns:1fr minmax(180px,2fr) 1fr;align-items:center;gap:12px;background:white;padding:10px;border:1px solid #e0e7f1;border-radius:14px}
#pyqReader .reader-question-nav>[data-reader-move]{border:0;background:transparent;padding:10px;font-size:12px}
#pyqReader .reader-question-nav>[data-reader-move="-1"]{text-align:left}
#pyqReader .reader-question-nav>[data-reader-move="1"]{text-align:right}
#pyqReader .reader-picker-toggle{border:0;background:#f0f4fc;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;color:#213d68}
#pyqReader .reader-picker-toggle small{font-size:11px;font-weight:500;color:#647d9f;white-space:nowrap}
#pyqReader .reader-picker-toggle small span{margin-left:6px}
#pyqReader .reader-picker{padding:21px;background:#fff;border:1px solid #dfe8f4;border-radius:13px;margin:10px 0}
#pyqReader .reader-picker[hidden],#pyqReader .reader-route[hidden]{display:none!important}
#pyqReader .reader-picker-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;margin-bottom:16px}
#pyqReader .reader-picker-heading strong{font-size:13px}
#pyqReader .reader-picker-heading>span{font-size:11px;color:#52846c}
#pyqReader .reader-question-list{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:8px}
#pyqReader .reader-question-list button{min-width:0;padding:10px 4px;position:relative;background:#f8fafd;font-size:13px;border-radius:8px}
#pyqReader .reader-question-list button small{position:absolute;font-size:9px;right:4px;top:3px}
#pyqReader .reader-question-list [data-studied=true]{color:#267758;border-color:#bde0ce;background:#f1faf5}
#pyqReader .reader-question-list [aria-current=true]{color:#fff;background:#3159e9;border-color:#3159e9}
#pyqReader .reader-route{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 3px 0;color:#667c96;font-size:12px}
#pyqReader .reader-route>div{display:flex;gap:5px}
#pyqReader .reader-route button{font-size:12px;padding:8px 14px}
#pyqReader .reader-route [aria-pressed=true]{background:#e6edff;border-color:#adc2fa;color:#3159b4}
/* These controls are document jumps; every learning section stays in the flow. */
#pyqReader .reader-tabs{display:flex;align-items:center;gap:7px;margin:19px 0 0;padding:0 0 4px;overflow-x:auto;scrollbar-width:thin;scroll-margin-top:calc(var(--workspace-top) + 10px)}
#pyqReader .reader-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 0 auto;min-height:44px;border:1px solid #dfe7f1;border-radius:9px;background:#fff;padding:10px 13px;color:#5b708c;font-size:12px;white-space:nowrap}
#pyqReader .reader-tabs button:hover{background:#edf3fc;border-color:#bdcdeb}
#pyqReader .reader-tabs :is([aria-current=true],[aria-current=location],[aria-selected=true]){color:#274fa5;border-color:#aebff1;background:#edf2ff;font-weight:700}
#pyqReader .reader-tab-number{font-size:10px;letter-spacing:.3px;color:#8093ae}
#pyqReader .reader-instruction{font-size:12px;color:#647b98;padding:13px 2px 19px;margin:0;line-height:1.6}
#pyqReader .reader-notice{background:#fff5e8;color:#815b28;border:1px solid #ebd4b6;padding:14px;border-radius:10px}
/* The study column and lesson column hold distinct reading/activity sections. */
body.pyq-reader-open #pyqReaderWorkspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:22px;align-items:start;max-width:1480px;margin:0 auto;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .studygrid{display:flex!important;flex-direction:column!important;gap:20px!important;max-width:none!important;width:100%!important;min-width:0!important;margin:0!important;align-items:stretch!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #splitDivider{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel){display:block!important;width:100%!important;border:1px solid #dde6f1!important;box-shadow:0 4px 20px #243a5504!important;border-radius:16px!important;scroll-margin-top:calc(var(--workspace-top) + 14px)}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel) .studyhead{background:#f9fbfe!important;border-bottom:1px solid #e5ecf5!important;padding:17px 20px!important;min-height:0!important;gap:12px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .studyhead>.metaleft{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-native-tools{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.answer-nav,.v58-route-controls){display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.v46-answer-title,.metaleft){font-size:13px!important;color:#5b6f8b!important;font-weight:650!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .studybody,html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .answer-main{padding:25px 24px!important;min-width:0!important;overflow:visible!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtags{margin-bottom:20px!important;gap:6px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtag{background:#f0f5fc!important;color:#627c9e!important;font-size:10px!important;padding:5px 8px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtext{font-size:calc(18px * var(--qscale,1))!important;line-height:1.8!important;color:#253b58!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel :is(.option,.chem-choice){border:1px solid #dce5ef!important;border-radius:11px!important;padding:15px 16px!important;background:#fff!important;font-size:calc(16px * var(--qscale,1))!important;min-height:56px!important}
/* Proxy controls retain the original handlers while giving all actions labels. */
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:8px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;color:#4b6484!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar-title{flex:1 1 100%;font-size:10px!important;font-weight:750!important;letter-spacing:1px;text-transform:uppercase;color:#6b809b!important;margin:0 0 3px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) :is(.reader-action-group,.reader-font-controls){display:inline-flex!important;align-items:center!important;flex-wrap:wrap!important;gap:5px!important;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-font-controls{border-left:1px solid #dce5f0;padding-left:8px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar button,html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-action{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;position:static!important;min-height:44px!important;height:auto!important;min-width:44px!important;width:auto!important;padding:10px 11px!important;border:1px solid #d9e3ee!important;border-radius:8px!important;background:#fff!important;color:#405a7e!important;font:600 12px/1.4 system-ui,sans-serif!important;box-shadow:0 1px 2px #23405f03!important;white-space:normal!important;cursor:pointer;flex:none!important;margin:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar button:hover{background:#edf3fc!important;border-color:#aec3e3!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar :is([aria-pressed=true],[data-active=true]){background:#e8efff!important;border-color:#adc2fa!important;color:#2856b2!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) :is(.reader-actionbar button,.reader-action):focus-visible{outline:3px solid #93adff!important;outline-offset:3px}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-icon{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 17px;width:17px;height:17px;font-size:16px;line-height:1}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) :is(.reader-icon svg,.reader-action>svg,.reader-actionbar button>svg){display:block!important;width:17px!important;height:17px!important;flex:none!important;stroke-width:1.8;overflow:visible}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-action-label{font:inherit!important;line-height:1.4!important;white-space:nowrap}
html[data-app-theme] body.mep-modern.pyq-reader-open #readerReference{flex:1 1 100%;margin:4px 0 0!important;padding:13px 15px!important;border:1px solid #dce5f0;border-radius:9px;background:#fff;color:#526b89;font:12px/1.7 system-ui;overflow-wrap:anywhere}
html[data-app-theme] body.mep-modern.pyq-reader-open #readerReference[hidden]{display:none!important}
/* Answer modes are distinct stacked sections. Route visibility stays native. */
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .v58-choice-pane.active>.v58-mode-pane{display:block!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.reader-answer-section,[data-reader-section]){scroll-margin-top:calc(var(--workspace-top) + 16px)}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.reader-section-heading,.reader-section-head){display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:0 0 14px;margin:0 0 17px;border-bottom:1px solid #e3ebf4;color:#233c5f;font:750 18px/1.4 system-ui,sans-serif;letter-spacing:-.25px;scroll-margin-top:calc(var(--workspace-top) + 16px)}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.reader-section-heading,.reader-section-head) :is(h2,h3){font:inherit!important;margin:0!important;color:inherit!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .reader-section-heading>div:first-child{flex:1 1 100%;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .reader-section-heading p{font:12px/1.6 system-ui!important;letter-spacing:0;color:#6b8099!important;margin:6px 0 0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .reader-section-heading :is(.reader-action-group,.reader-font-controls){font-size:12px;letter-spacing:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.chem-teacher,.v58-teacher-mode,.reader-teacher-section){margin-top:30px!important;padding-top:26px!important;border-top:1px solid #dfe8f2!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .verbatimbox{border:0!important;padding:0!important;background:#fff!important;margin:0 0 20px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.step,.teacher-option-review){background:#f7f9fd!important;border-color:#e0e8f3!important;border-radius:11px!important;padding:17px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.termcard,.relatedcard){padding:16px!important;border:1px solid #e3eaf3!important;background:#fafcfe!important;border-radius:10px!important;margin:20px 0 0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .teacher-method{background:transparent!important;border:0!important;padding:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .teacher-method>.step[aria-current=step]{background:#f1f5ff!important;border-left-color:#557ce4!important}
/* Visual, exploration and understanding are independent sibling cards. */
body.pyq-reader-open #readerLessonColumn{display:flex;flex-direction:column;gap:22px;min-width:0;width:100%}
html[data-app-theme] body.mep-modern.pyq-reader-open .reader-activity-section{border:1px solid #dde6f1;border-radius:16px;background:#fff;min-width:0;overflow:hidden;box-shadow:0 4px 20px #243a5504;scroll-margin-top:calc(var(--workspace-top) + 14px)}
body.pyq-reader-open .reader-activity-section[hidden]{display:none!important}
body.pyq-reader-open .reader-activity-heading{padding:20px 22px;border-bottom:1px solid #e5ecf5;background:#f5f9fe}
body.pyq-reader-open #readerCheckSection .reader-activity-heading{background:#f3f9f5}
body.pyq-reader-open .reader-activity-heading p{margin:0 0 6px;font:650 10px/1.5 system-ui,sans-serif;letter-spacing:1.2px;color:#657e98}
body.pyq-reader-open .reader-activity-heading h2{margin:0;font:750 19px/1.4 system-ui,sans-serif;color:#213b5d}
body.pyq-reader-open .reader-activity-body{min-width:0;padding:0 0 2px}

html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor{display:block!important;margin:0!important;padding:0!important;width:100%!important;max-width:none!important;min-width:0!important;scroll-margin-top:calc(var(--workspace-top) + 14px)}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .visualcard{border:1px solid #dde6f1!important;border-radius:16px!important;box-shadow:0 4px 20px #243a5504!important;overflow:hidden!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .head{padding:20px 22px!important;background:#f9fbfe!important;gap:9px!important;flex-wrap:wrap!important;border-bottom:1px solid #e5ecf5!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .head :is(h2,b){font-size:17px!important;line-height:1.4!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .head>span{font-size:11px!important;line-height:1.5!important;white-space:normal!important;max-width:100%}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .body{padding:20px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.back-to-study,.v58-page-bottom,.teacher-question-nav){display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .reader-actionbar{margin:0 0 17px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.chem-visual,.v31-pane,.v31-canvas,#v31Canvas){padding:10px!important;border-radius:11px!important;min-width:0!important;max-width:100%!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.teachbox,.physics-current-step,.chem-visual-wrap,.physics-all-steps){padding:17px!important;background:#f5f8fd!important;border-color:#e0e8f3!important;border-radius:11px!important;margin:17px 0!important;min-width:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.teachbox,.physics-current-step) p{font-size:calc(16px * var(--v45-step-scale,1))!important;line-height:1.75!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.physics-step-nav,.chem-nav){display:flex!important;flex-wrap:wrap!important;justify-content:space-between;gap:9px!important;margin:16px 0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab{border:1px solid #d9e5ed!important;border-radius:12px!important;background:#f8fbfd!important;margin:18px 20px!important;min-width:0;max-width:100%;color:#294660!important;scroll-margin-top:calc(var(--workspace-top) + 16px)}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab>summary{padding:18px!important;min-height:56px;font:700 15px/1.6 system-ui!important;color:#2d5871!important;background:#f1f7fa;border-radius:11px;cursor:pointer;overflow-wrap:anywhere}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab[open]>summary{border-bottom:1px solid #e0eaf0;border-radius:11px 11px 0 0;margin-bottom:0}
html[data-app-theme] body.mep-modern.pyq-reader-open  :is(#visualAnchor,.reader-activity-section) :is(#lessonChecks,[data-shared-lesson-checks]){border-color:#d8e6df!important;background:#fbfdfb!important}
html[data-app-theme] body.mep-modern.pyq-reader-open  :is(#visualAnchor,.reader-activity-section) :is(#lessonChecks,[data-shared-lesson-checks])>summary{color:#3d6652!important;background:#f2f8f4;border-color:#e0ece4}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab-body{padding:4px 17px 18px!important;min-width:0;max-width:100%;font-size:14px;line-height:1.75}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab :is(p,legend){font-size:15px;line-height:1.75}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-choice{border:1px solid #d7e2eb;background:#fff;gap:10px;padding:13px;min-height:48px;border-radius:9px;align-items:flex-start;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-choice input{flex:none;min-width:17px;min-height:17px;margin-top:3px;accent-color:#3159e9}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-choice:has(input:checked){border-color:#8eabe7;background:#f2f6ff}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-choice[data-result=correct]{border-color:#76b495;background:#f1faf5}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-choice[data-result=wrong]{border-color:#d8a16c;background:#fff8f0}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab select{font:14px/1.5 system-ui!important;min-height:46px;border-color:#cad9e8;border-radius:9px;color:#34516f;background:#fff}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-controls{gap:9px}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab :is(.tap-diagram,[data-visual]){max-width:100%;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) :is(.tap-lab,.reader-actionbar) button{touch-action:manipulation}
body.pyq-reader-open #pyqReaderFooter{padding:24px 0 4px}
#pyqReaderFooter>[data-reader-continue]{display:block;margin:0 0 18px auto;background:#3159e9;border-color:#3159e9;color:#fff;font-size:12px;padding:13px 19px}
#pyqReaderFooter>[data-reader-continue][hidden]{display:none!important}
#pyqReaderFooter>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #e2e8f1;padding-top:18px}
#pyqReaderFooter>div>button{font-size:12px;background:transparent;border:0;padding:8px 0;color:#617b9b}
@media(min-width:1000px){body.pyq-reader-open #mepWorkspaceChrome .ws-location strong{font-size:16px}body.pyq-reader-open #mepWorkspaceChrome .ws-location small{display:none}}
@media(max-width:1179px){
  body.pyq-reader-open #pyqReaderWorkspace{grid-template-columns:minmax(0,1fr);max-width:900px;gap:22px}
  body.pyq-reader-open :is(#pyqReader,#pyqReaderFooter){max-width:900px}
}
@media(max-width:680px){
  html[data-app-theme] body.mep-modern.pyq-reader-open .main-app{padding:16px 12px 28px!important}
  #pyqReader .reader-paper{align-items:flex-end;gap:12px;padding-bottom:19px}
  #pyqReader .reader-back{margin-bottom:8px;font-size:11px}
  #pyqReader h1{font-size:25px;letter-spacing:-.7px}
  #pyqReader .reader-paper-meta{font-size:11px}
  #pyqReader .reader-kicker{font-size:9px;letter-spacing:1.3px}
  #pyqReader .reader-progress{min-width:70px;font-size:15px;padding-bottom:3px}
  #pyqReader progress{width:70px;height:4px;margin-top:7px}
  #pyqReader .reader-progress small{font-size:9px}
  #pyqReader .reader-question-nav{padding:7px;gap:3px;grid-template-columns:44px minmax(0,1fr) 44px;border-radius:12px}
  #pyqReader .reader-question-nav>[data-reader-move]{font-size:20px;padding:8px;text-align:center}
  #pyqReader .reader-question-nav>[data-reader-move] span{display:none}
  #pyqReader .reader-picker-toggle{padding:10px;font-size:12px;gap:6px}
  #pyqReader .reader-picker-toggle small{font-size:10px}
  #pyqReader .reader-picker{padding:15px}
  #pyqReader .reader-question-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
  #pyqReader .reader-tabs{margin-top:15px;padding-bottom:7px;gap:6px;scroll-padding-inline:3px}
  #pyqReader .reader-tabs button{padding:10px 12px;font-size:12px;gap:6px;flex:0 0 auto}
  #pyqReader .reader-tab-number{display:none}
  #pyqReader .reader-instruction{font-size:12px;padding:9px 1px 17px}
  #pyqReader .reader-route{font-size:11px;gap:8px;padding:12px 0 0}
  #pyqReader .reader-route button{padding:8px 10px;font-size:11px}
  body.pyq-reader-open #pyqReaderWorkspace{gap:18px}
  body.pyq-reader-open #readerLessonColumn{gap:18px}
  body.pyq-reader-open .reader-activity-heading{padding:18px 17px}
  html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .studygrid{gap:18px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel) .studyhead{padding:14px!important;gap:10px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .studybody,html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .answer-main{padding:22px 17px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtext{font-size:calc(17px * var(--qscale,1))!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel :is(.option,.chem-choice){padding:14px!important;font-size:calc(15px * var(--qscale,1))!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar{gap:7px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-actionbar button{font-size:11px!important;padding:10px!important;gap:6px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-font-controls{padding-left:6px!important;gap:4px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.reader-section-heading,.reader-section-head){font-size:17px;gap:8px}
  html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.chem-teacher,.v58-teacher-mode,.reader-teacher-section){margin-top:26px!important;padding-top:23px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel :is(.step,.teacher-option-review){padding:15px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .head{padding:18px 17px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .body{padding:16px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.teachbox,.physics-current-step,.chem-visual-wrap,.physics-all-steps){padding:15px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab{margin:16px 12px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab>summary{padding:15px!important;font-size:15px!important}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#visualAnchor,.reader-activity-section) .tap-lab-body{padding:3px 13px 16px!important}
  #pyqReaderFooter>[data-reader-continue]{width:100%;margin-bottom:14px;font-size:12px}
}
@media(max-width:350px){
  #pyqReader h1{font-size:22px}
  #pyqReader .reader-progress{min-width:54px}
  #pyqReader progress{width:54px}
  #pyqReader .reader-picker-toggle small{font-size:0}
  #pyqReader .reader-picker-toggle small span{font-size:13px}
  #pyqReader .reader-route{align-items:flex-start;flex-direction:column}
  #pyqReader .reader-question-list{grid-template-columns:repeat(5,minmax(0,1fr))}
  html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor) .reader-font-controls{border-left:0;padding-left:0!important}
}
@media(prefers-reduced-motion:reduce){#pyqReaderWorkspace{scroll-behavior:auto}}
@media print{
  #pyqReader,#pyqReaderFooter,.reader-actionbar{display:none!important}
  body.pyq-reader-open #pyqReaderWorkspace{display:block;max-width:none}
  html[data-app-theme] body.mep-modern.pyq-reader-open .studygrid,html[data-app-theme] body.mep-modern.pyq-reader-open :is(#questionPanel,#answerPanel,#visualAnchor){display:block!important;margin:0 0 20px!important;border:0!important;box-shadow:none!important}
}


/* Each learning section opens independently; native nodes remain mounted. */
html[data-app-theme] body.mep-modern.pyq-reader-open [data-reader-fold][data-reader-expanded="false"] > :not(.reader-section-heading):not(.reader-activity-heading):not(.head){display:none!important}
body.pyq-reader-open .reader-section-toggle{display:flex;align-items:center;width:100%;min-height:48px;padding:12px 14px;border:1px solid #dce6f3;border-radius:10px;background:#f3f7fd;color:#25476e;font:700 15px/1.5 system-ui;text-align:left;cursor:pointer}
body.pyq-reader-open .reader-section-toggle:focus-visible{outline:3px solid #739cff;outline-offset:3px}
body.pyq-reader-open [data-reader-fold][data-reader-expanded="false"] > :is(.reader-section-heading,.reader-activity-heading,.head) > :not(.reader-section-toggle){display:none!important}
body.pyq-reader-open [data-reader-fold][data-reader-expanded="false"] > :is(.reader-section-heading,.reader-activity-heading,.head){margin:0!important;border-bottom:0!important}

/* Consistent revision cues; original source text and math remain unchanged. */
body.pyq-reader-open [data-reader-extra]{background:#fff;border:1px solid #dde6f1;border-radius:14px;padding:16px;margin:16px 0;min-width:0;scroll-margin-top:calc(var(--workspace-top) + 14px)}
body.pyq-reader-open [data-reader-extra] > .reader-section-heading{margin-bottom:12px}
body.pyq-reader-open [data-reader-extra="scoring"] .pill{background:#fff3bf!important;color:#59480d!important;border-color:#ead58d!important}
body.pyq-reader-open #answerPanel .katex{background:transparent;border-radius:0;color:inherit}
body.pyq-reader-open .teacher-option-reason.is-correct{background:#eff9f1!important;border-left:4px solid #328252!important;color:#234c34!important}
body.pyq-reader-open .teacher-option-reason.is-distractor{background:#fff5eb!important;border-left:4px solid #cc8848!important;color:#644324!important}
body.pyq-reader-open [data-reader-extra="related"] .pill{background:#f0edfc!important;color:#554477!important}

/* One continuous outer surface, with flat accordion rows for every subject. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{display:block;max-width:1000px;background:#fff;border:1px solid #dce5f1;border-radius:18px;overflow:hidden;box-shadow:0 3px 18px #20365005}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .studygrid{gap:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #readerLessonColumn{gap:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#questionPanel,#answerPanel,.visualcard,.reader-activity-section,[data-reader-extra]){border:0!important;border-radius:0!important;box-shadow:none!important;margin:0!important;background:transparent!important;width:100%!important;max-width:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #answerPanel .answer-main{padding:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-fold]{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-fold] > :is(.reader-section-heading,.reader-activity-heading,.head){display:block!important;padding:0!important;margin:0!important;border:0!important;background:transparent!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-section-toggle{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:54px!important;padding:13px 16px!important;margin:0!important;border:0!important;border-top:1px solid var(--reader-separator,#cbd7e8)!important;border-radius:0!important;background:#edf3ff!important;color:#234b8c!important;font:600 var(--mep-section-size,18px)/1.4 var(--mep-font-text,Georgia,serif)!important;box-shadow:none!important;text-align:center!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-section-toggle:hover{background:#e4edfc!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-section-toggle[aria-expanded=true]{background:#dfeafd!important;color:#183c74!important;box-shadow:inset 0 -2px #a9c0e7!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-expanded=false] > :is(.reader-section-heading,.reader-activity-heading,.head) > :not(.reader-section-toggle){display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-expanded=true] > :is(.reader-section-heading,.reader-activity-heading) > :not(.reader-section-toggle){margin:12px 20px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-expanded=true] > :not(.reader-section-heading):not(.reader-activity-heading):not(.head){margin-left:20px!important;margin-right:20px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-expanded=true] > :last-child{margin-bottom:20px!important}
@media(max-width:680px){html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-section-toggle{padding:12px!important}}

html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-fold][data-reader-expanded="false"] > :not(.reader-section-heading):not(.reader-activity-heading):not(.head){display:none!important}

/* Reading width belongs to the content, not nested decorative frames. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{--reader-inset:16px}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-expanded=true] > :not(.reader-section-heading):not(.reader-activity-heading):not(.head){margin-left:var(--reader-inset)!important;margin-right:var(--reader-inset)!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #answerPanel :is(.teacher-method,.v25-parity-teach.teacher-method){padding:0!important;border:0!important;background:transparent!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #answerPanel .teacher-method>.step{padding:12px!important;margin:10px 0!important;min-width:0;box-sizing:border-box}
/* Visual explanations share one inset, instead of stacking pane + details +
   list + scene padding around the same formula. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor :is(.body,.v31-pane,.chem-visual-wrap){padding:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .v31-pane{border:0!important;background:transparent!important;overflow:visible!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .physics-all-steps{padding:0!important;border:0!important;background:transparent!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor #v31Scenes{padding:0!important;margin:0!important;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor :is(.physics-current-step,.teachbox,#v31Scenes .v31-scene,#v31Scenes .scene){padding:12px!important;margin-inline:0!important;box-sizing:border-box;min-width:0;max-width:100%}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #v31Canvas{padding:0!important;box-sizing:border-box}
/* The SVG already has its own aspect ratio. The same step title is displayed
   in the current-step card; a second ::after caption overflows that ratio. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #v31Canvas[data-lesson-scene]::after{content:none!important;display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .v54-formula-bottom{margin-top:10px!important;position:relative}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .reader-native-tools{display:none!important}
/* Four lesson actions stay on one line at 320px. Zoom/text controls use the
   settings disclosure, with full-size tap targets and accessible names. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .reader-visual-tools{position:relative;flex-wrap:nowrap!important;justify-content:center;gap:6px!important;padding-block:10px!important;margin-bottom:12px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .reader-visual-tools .reader-action{width:44px!important;height:44px!important;padding:9px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .reader-visual-tools .reader-action-label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
body.pyq-reader-open .reader-visual-more{position:relative;flex:none;border:0;margin:0;padding:0}
body.pyq-reader-open .reader-visual-more[hidden]{display:none!important}
body.pyq-reader-open .reader-visual-more>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;padding:9px;border:1px solid #d9e3ee;border-radius:8px;background:#fff;color:#405a7e;cursor:pointer;list-style:none}
body.pyq-reader-open .reader-visual-more>summary::-webkit-details-marker{display:none}
body.pyq-reader-open .reader-visual-more>summary:focus-visible{outline:3px solid #93adff;outline-offset:3px}
body.pyq-reader-open .reader-visual-more[open]>summary{background:#e8efff;border-color:#adc2fa}
body.pyq-reader-open .reader-visual-settings{position:absolute;z-index:10;right:0;top:50px;display:grid;grid-template-columns:repeat(3,44px);gap:6px;padding:8px;background:#fff;border:1px solid #cad8ed;border-radius:12px;box-shadow:0 6px 24px #203c6a25}
body.pyq-reader-open .reader-visual-more:not([open])>.reader-visual-settings{display:none}
body.pyq-reader-open .reader-text-icon{font:700 15px/1 system-ui}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.katex-display,.reader-equation-scroll){max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding-block:7px;box-sizing:border-box}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-equation-scroll{display:block;white-space:nowrap;margin-block:5px}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-equation-scroll>.katex{display:inline-block;max-width:none}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.reader-equation-scroll,.katex-display):focus-visible{outline:2px solid #557ce4;outline-offset:2px}
body.pyq-reader-open .reader-role-note{font:13px/1.65 system-ui!important;color:#546c83;margin:8px 0}
body.pyq-reader-open .tap-lab textarea{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:100px;margin:9px 0;padding:10px;border:1px solid #b9cfdf;border-radius:8px;font:15px/1.65 system-ui;resize:vertical}
/* One choice controls the whole answer stack. It stays next to learning, not
   above the question or repeated in each disclosure. */
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel > .reader-route{padding:18px var(--reader-inset);border-block:1px solid #dce6f5;background:#f4f7fe;text-align:center;font:14px/1.5 system-ui;color:#304a70;scroll-margin-top:calc(var(--workspace-top) + 12px)}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel > .reader-route[hidden]{display:none!important}
body.pyq-reader-open .reader-route-label{margin:0 0 10px;font-weight:750;color:#223f67}
body.pyq-reader-open #answerPanel .reader-route > [role=group]{display:grid;grid-template-columns:1fr 1fr;gap:5px;max-width:420px;margin:auto;padding:5px;border:1px solid #ccd9ef;border-radius:14px;background:#e9eff9}
body.pyq-reader-open #answerPanel .reader-route button{min-height:46px;min-width:0;padding:10px 8px;border:1px solid transparent;border-radius:10px;background:transparent;color:#4b617f;font:650 15px/1.4 system-ui;cursor:pointer;box-shadow:none}
body.pyq-reader-open #answerPanel .reader-route button[aria-pressed=true]{background:#3159bd;color:#fff;border-color:#3159bd;box-shadow:0 2px 5px #24478820}
body.pyq-reader-open #answerPanel .reader-route button:focus-visible{outline:3px solid #759afa;outline-offset:2px}
body.pyq-reader-open .reader-route-note{max-width:440px;margin:9px auto 0;font:12px/1.6 system-ui;color:#506987}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel [data-reader-expanded=true] > .reader-section-heading > .reader-heading-copy{margin:10px var(--reader-inset) 14px!important;padding:14px 10px;border:1px solid #d5e5f8;border-radius:10px;background:#edf5ff;text-align:center;color:#214778}
html[data-app-theme] body.mep-modern.pyq-reader-open #answerPanel .reader-heading-copy p{font-size:10px!important;font-weight:700!important;letter-spacing:1.4px;margin:0 0 5px!important;color:#456d9b!important}
/* Option reasoning already has its own disclosure. Old visual engines may
   still supply the same review on a final step; keep that legacy UI out of PYQ. */
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor :is(.teacher-option-review,[data-physics-visual-reasons]){display:none!important}
body.pyq-reader-open .try-task-figure{margin:14px 0;min-width:0}
body.pyq-reader-open .try-task-figure svg{display:block;width:100%;height:auto;max-width:560px;margin:auto}
@media(max-width:680px){
 html[data-app-theme] body.mep-modern.pyq-reader-open .main-app{padding-inline:8px!important}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{--reader-inset:6px;border-radius:13px}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #questionPanel .studybody{padding-inline:11px!important}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.tap-lab,.reader-activity-body>.tap-lab){margin-inline:0!important}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .tap-lab-body{padding-inline:10px!important}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #visualAnchor .body{padding:10px!important}
}
/* Approved PYQ feature panels, 2026-10-13. Native lesson steps remain continuous. */
html[data-app-theme] body.mep-modern.pyq-reader-open{overflow:hidden!important;--workspace-top:env(safe-area-inset-top,0px);padding-top:0!important}
body.pyq-reader-open #mepWorkspaceChrome .ws-topbar{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open .main-app{position:fixed!important;inset:var(--workspace-top) 0 var(--workspace-bottom) var(--workspace-left)!important;display:flex!important;flex-direction:column!important;min-height:0!important;height:auto!important;width:auto!important;max-width:none!important;margin:0!important;padding:12px 20px 0!important;overflow:hidden!important}
body.pyq-reader-open #pyqReader{flex:none;width:100%;max-width:none;min-width:0;position:relative;z-index:3;margin:0;padding:0 0 8px;background:var(--app-bg,#f5f8fc)}
body.pyq-reader-open #pyqReaderFooter{display:none!important}
#pyqReader .reader-paper{gap:12px;padding:0 0 8px;min-width:0;align-items:center}
#pyqReader .reader-paper-identity{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
#pyqReader .reader-paper-identity>div{min-width:0}
#pyqReader .reader-back{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin:0;padding:8px;border:1px solid #d9e3ef;border-radius:10px;background:#fff}
#pyqReader h1{font-size:19px;line-height:1.25;letter-spacing:0;margin:0 0 2px;overflow-wrap:anywhere}
#pyqReader .reader-paper-meta{font-size:13px;line-height:1.25;overflow-wrap:anywhere}
#pyqReader .reader-question-nav{display:flex;gap:4px;background:transparent;border:0;padding:0;flex:none}
#pyqReader .reader-question-nav>[data-reader-move]{width:32px;height:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;padding:5px}
#pyqReader .reader-picker-toggle{min-width:58px;gap:5px;padding:8px;font-size:15px;white-space:nowrap}
#pyqReader .reader-tabs{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:0;overflow:visible;margin:0;padding:0;max-width:100%;width:100%;touch-action:auto}
#pyqReader .reader-tabs button{padding:6px 2px;min-width:0;min-height:44px;max-width:100%;width:100%;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;box-shadow:none}
#pyqReader .reader-tabs button:hover{background:transparent;border-color:transparent;color:#3159e9}
#pyqReader .reader-tabs svg{width:22px;height:22px;flex:none;pointer-events:none}
#pyqReader .reader-tabs [aria-selected=true],#pyqReader .reader-tabs [aria-selected=true]:hover{background:transparent;border-color:#3159e9;box-shadow:none;color:#234fab}
#pyqReader .reader-picker{position:absolute;top:52px;right:0;left:0;z-index:5;max-height:min(55vh,440px);overflow:auto;box-shadow:0 10px 28px #12294924;margin:0;padding:14px}
#pyqReader .reader-picker progress{margin:0 0 12px;width:100%}
#pyqReader .reader-question-list{grid-template-columns:repeat(auto-fill,minmax(52px,1fr))}
#pyqReader .reader-question-list[data-multiple-papers=true]{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}
#pyqReader .reader-entry-source{display:block;font-size:12px;line-height:1.3;margin-top:4px}
#pyqReader .reader-route{display:flex;justify-content:flex-start;gap:8px;padding:0 0 8px}
#pyqReader .reader-route button{min-height:36px;padding:5px 12px}
#pyqReader .reader-route-label{display:none}
#pyqReader .reader-route-note{font-size:13px;line-height:1.2;margin:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{display:block!important;flex:1 1 auto!important;min-height:0!important;height:auto!important;min-width:0!important;max-width:none!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;overflow-anchor:none;touch-action:pan-y pinch-zoom;scrollbar-gutter:stable;margin:0!important;padding:0 0 20px!important;border:0!important;border-radius:0!important;scroll-behavior:auto!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .studygrid,html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #readerLessonColumn{display:contents!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#questionPanel,#answerPanel,#visualAnchor,.reader-activity-section,[data-reader-extra]){margin:0!important;min-height:0!important;max-width:100%!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-slide][inert],html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace #answerPanel [data-reader-slide][inert],html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace [data-reader-slide][aria-hidden=true]{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open:not([data-reader-pane=question]) #pyqReaderWorkspace #questionPanel{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open:not([data-reader-pane=official]):not([data-reader-pane=teacher]):not([data-reader-pane=reason]) #pyqReaderWorkspace #answerPanel{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open:not([data-reader-pane=visual]) #pyqReaderWorkspace #visualAnchor{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .v58-choice-pane:not(.active){display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-section-toggle{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.chem-teacher,.v58-teacher-mode,.reader-teacher-section){margin-top:0!important;padding-top:0!important;border-top:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.answer-main,.studybody){overflow:visible!important;max-height:none!important;height:auto!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-empty{padding:24px;background:#fff;border:1px solid #dce5ef;border-radius:12px}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-empty[hidden]{display:none!important}
@media(max-width:650px){
 html[data-app-theme] body.mep-modern.pyq-reader-open .main-app{padding:8px 8px 0!important}
 #pyqReader .reader-paper{gap:4px}
 #pyqReader .reader-paper-identity{gap:5px}
 #pyqReader h1{font-size:16px}
 #pyqReader .reader-paper-meta{font-size:12px}
 #pyqReader .reader-question-nav{gap:3px}
 #pyqReader .reader-picker-toggle{min-width:44px;padding:6px}
 #pyqReader .reader-tabs{grid-template-columns:repeat(9,minmax(0,1fr));gap:0}
 #pyqReader .reader-route{flex-wrap:wrap;gap:4px}
 #pyqReader .reader-route-note{font-size:12px}
 #pyqReader .reader-route button{min-height:36px}
 html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#questionPanel .studybody,#answerPanel .answer-main){padding:12px!important}
}
/* Owner-requested end-of-reading dock. Space is constant so revealing it cannot move content. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{touch-action:auto;padding-bottom:76px!important}
body.pyq-reader-open .main-app>#pyqReaderFooter{display:flex!important;position:absolute;bottom:0;left:20px;right:20px;align-items:center;justify-content:space-between;gap:12px;max-width:none;width:auto;box-sizing:border-box;margin:0;padding:8px;border-top:1px solid #dfe7f1;background:#fff;z-index:4;transform:translateY(100%);opacity:0;visibility:hidden;pointer-events:none;transition:transform .16s ease-out,opacity .16s ease-out,visibility .16s}
body.pyq-reader-open .main-app>#pyqReaderFooter[data-end-visible=true]{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
body.pyq-reader-open .main-app>#pyqReaderFooter>div{display:flex;border:0;padding:0;gap:18px}
body.pyq-reader-open .main-app>#pyqReaderFooter button{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:8px;border:0;border-radius:0;box-shadow:none;background:transparent;color:#365779}
body.pyq-reader-open .main-app>#pyqReaderFooter button:disabled{opacity:.35}
body.pyq-reader-open .main-app>#pyqReaderFooter svg{width:21px;height:21px}
@media(max-width:650px){body.pyq-reader-open .main-app>#pyqReaderFooter{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){body.pyq-reader-open .main-app>#pyqReaderFooter{transition:none}}
.reader-swiping,.reader-swiping *{user-select:none!important;-webkit-user-select:none!important;cursor:grabbing!important}
@media print{body.pyq-reader-open .main-app>#pyqReaderFooter{display:none!important}}

/* Owner-requested compact metadata and recognizable feature symbols, 16 October 2026. */
body.pyq-reader-open #questionPanel .reader-question-metadata{margin:0 0 12px;min-width:0}
body.pyq-reader-open #questionPanel .reader-meta-line{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content max-content;align-items:center;gap:7px;min-width:0;white-space:nowrap;color:#365779;font-size:15px;line-height:1.4}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .reader-topic{display:block;width:100%;min-width:0;min-height:44px;padding:0 3px;border:0;border-radius:4px;box-shadow:none;background:transparent;font:inherit;text-align:left;color:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
body.pyq-reader-open #questionPanel .reader-topic:focus-visible{outline:2px solid #3159e9;outline-offset:-2px}
body.pyq-reader-open #questionPanel .reader-full-topic{margin:0 0 8px;padding:8px;background:#f0f5fc;color:#365779;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
body.pyq-reader-open #questionPanel .reader-full-topic[hidden]{display:none!important}
body.pyq-reader-open #questionPanel [data-reader-qnumber]{color:#173245}
body.pyq-reader-open #pyqReader .reader-tabs .reader-icon{width:23px;height:23px;flex:none}
@media(max-width:350px){body.pyq-reader-open #questionPanel .reader-meta-line{gap:4px}}

/* Owner document readability and revision panels, 16 October 2026. */
@layer mep-typography{
 body.pyq-reader-open #pyqReaderWorkspace :is(.reader-revision,.reader-related-questions,.reader-empty,.teacher-authored-note,.teacher-source-note,.physics-source-note,small,figcaption,.ms-source-note,.reader-related-list span){color:#000!important;font-size:17px!important;line-height:1.6!important}
 body.pyq-reader-open #pyqReaderWorkspace :is(.pill,.reader-question-type,.reader-question-marks){color:#000!important;font-size:15px!important}
 body.pyq-reader-open #pyqReader :is(.reader-paper-meta,.reader-route-note){color:#000!important}
}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.qtext,.qtext p,.board-paragraph,.board-subpart-content,.chem-teacher p,.teacher-method p,.teachbox p,.teacher-authored-note,.ms-point-text,.ms-prose,.teacher-option-reason p,.reader-empty,small,figcaption){color:#000!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#questionPanel .studybody,#answerPanel .answer-main){padding:12px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.chem-teacher,.teacher-method,.v58-teacher-mode){padding:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.teacher-method .step,.teacher-option-reason){padding:12px!important;margin:12px 0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.qtext p.board-paragraph,.board-extract-prose p,.teacher-method .step>p,.chem-teacher .step>p,.teacher-option-reason>p,.ms-prose,.ms-point-text){text-align:justify;text-align-last:start;word-break:normal;overflow-wrap:normal;hyphens:none;white-space:normal}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(pre,code,.board-poem-line,.board-sequence,.katex-display){text-align:start;word-break:normal;hyphens:none}
#pyqReader .reader-tabs button:nth-child(1){--feature-ink:#234fab;--feature-tint:#e8efff}
#pyqReader .reader-tabs button:nth-child(2){--feature-ink:#176b45;--feature-tint:#e5f5ec}
#pyqReader .reader-tabs button:nth-child(3){--feature-ink:#8b4a12;--feature-tint:#fff0df}
#pyqReader .reader-tabs button:nth-child(4){--feature-ink:#6636a8;--feature-tint:#f1eaff}
#pyqReader .reader-tabs button:nth-child(5){--feature-ink:#087080;--feature-tint:#e0f6f8}
#pyqReader .reader-tabs button:nth-child(6){--feature-ink:#a02f60;--feature-tint:#ffe8f1}
#pyqReader .reader-tabs button:nth-child(7){--feature-ink:#435e11;--feature-tint:#eff5dc}
#pyqReader .reader-tabs button:nth-child(8){--feature-ink:#9b3c1b;--feature-tint:#ffede4}
#pyqReader .reader-tabs button:nth-child(9){--feature-ink:#3652a3;--feature-tint:#eaf0ff}
body.pyq-reader-open #pyqReader .reader-tabs button{color:var(--feature-ink);border-radius:7px 7px 0 0}
body.pyq-reader-open #pyqReader .reader-tabs button[aria-selected=true]{background:var(--feature-tint);color:var(--feature-ink);border-bottom-color:var(--feature-ink);box-shadow:inset 0 0 0 1px var(--feature-ink)}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.reader-revision,.reader-related-questions){padding:12px;margin:0;background:white;color:#000;min-width:0}
.reader-revision [data-revision-cards]{display:grid;gap:12px}
.reader-revision .termcard,.reader-revision .relatedcard{padding:12px;border:1px solid #dce5f1;border-radius:12px;min-width:0;margin:0}
.reader-revision .pill{display:inline-block;margin:4px;padding:5px 9px;border:1px solid #d7dfeb;border-radius:16px;white-space:normal;max-width:100%}
.reader-related-list{display:grid;gap:12px}
html[data-app-theme] body.mep-modern .reader-related-list button{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-width:0;min-height:44px;gap:5px;padding:12px;text-align:left;background:#f6f8ff;color:#000;border:1px solid #cfdbef;border-radius:10px}
.reader-related-list :is(strong,span){max-width:100%;overflow-wrap:anywhere}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace mark.reader-scoring-cue{background:transparent;color:#a31621!important;font-weight:700!important;font-size:inherit!important;padding:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .markrow{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:start;gap:12px;margin:12px 0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .markrow>.markbadge{justify-self:end;float:none;position:static;margin:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .markbadge[hidden]{display:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-mark-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-mark-heading>.markbadge{margin-left:auto;flex:none;float:none;position:static}
@media(min-width:760px){.reader-revision [data-revision-cards]{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Question picker must sit above the English sticky passage dock. */
body.pyq-reader-open #pyqReader{position:relative;z-index:40;isolation:isolate}
body.pyq-reader-open #pyqReader .reader-picker{z-index:50}
body.pyq-reader-open #pyqReaderWorkspace{position:relative;z-index:0}

/* Owner second.docx: a consistent frame, connected to the selected feature. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{
 border:2px solid var(--reader-feature-ink,#234fab)!important;border-radius:12px!important;
 background:#fff!important;box-sizing:border-box!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#questionPanel,#answerPanel,#visualAnchor,.visualcard,.reader-activity-section){
 border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.teacher-method>.step,.chem-teacher>.step,.teacher-option-reason,.reader-activity-body>details.tap-lab){
 border:1px solid #d9e2ed!important;border-radius:8px!important;background:#fff!important;box-shadow:none!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.reader-activity-section,.reader-revision,.reader-related-questions){padding:12px!important;box-sizing:border-box}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .visualcard>.body{padding:12px!important}
/* All nine panels use justified prose; navigation, options and authored figures do not. */
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(
 .qtext p,.board-subpart-text,.board-subpart-content,.chem-official p,.ms-point-text,.ms-prose,
 .teacher-method p,.teacher-option-reason p,.physics-option-reasons p,
 #visualAnchor .body p,#visualAnchor [data-scene-explanation],.physics-current-step p,.teachbox p,
 .tap-lab-body>p,.tap-result,.lc-feedback p,.reader-revision>p,.reader-related-questions>p,.reader-empty
){text-align:justify!important;text-align-last:start;word-break:normal!important;overflow-wrap:normal;hyphens:none!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(
 button,label,legend,summary,.reader-section-heading,.reader-activity-heading,.board-poem-line,
 .board-sequence,pre,code,.katex-display,svg,svg *,th,.reader-related-list span
){text-align:start;hyphens:none}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.board-poem-line,.board-sequence){white-space:pre-wrap}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .reader-related-list :is(strong,span){overflow-wrap:anywhere}

/* Keep the complete coloured frame visible behind the end-only navigation dock. */
body.pyq-reader-open .main-app>#pyqReaderFooter{left:22px;right:22px;bottom:2px}
@media(max-width:650px){body.pyq-reader-open .main-app>#pyqReaderFooter{left:10px;right:10px}}
html[data-app-theme] body.mep-modern.pyq-reader-open #visualAnchor .visualcard>.head{padding:12px!important;margin:0!important;box-sizing:border-box}

/* Owner third.docx: an open-bottom tab continues directly into its window. */
body.pyq-reader-open #pyqReader{padding-bottom:0!important;margin-bottom:0!important}
body.pyq-reader-open #pyqReader .reader-tabs{padding-bottom:0!important;margin-bottom:0!important;overflow:visible;isolation:isolate}
body.pyq-reader-open #pyqReader .reader-tabs button{position:relative;border:2px solid transparent;border-radius:8px 8px 0 0;box-shadow:none!important;background:transparent}
body.pyq-reader-open #pyqReader .reader-tabs button[aria-selected=true]{border-color:var(--feature-ink);border-bottom-color:#fff;background:#fff;box-shadow:none!important;z-index:2}
body.pyq-reader-open #pyqReader .reader-tabs button[aria-selected=true]::after{content:'';position:absolute;left:0;right:0;bottom:-4px;height:6px;background:#fff;pointer-events:none}
body.pyq-reader-open #pyqReader .reader-tabs button:focus:not(:focus-visible){outline:none!important}
body.pyq-reader-open #pyqReader .reader-tabs button:focus-visible{outline:2px dashed currentColor;outline-offset:-6px}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace{margin-top:-2px!important}
html[data-app-theme] body.mep-modern.pyq-reader-open[data-reader-pane=question] #pyqReaderWorkspace{border-top-left-radius:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open[data-reader-pane=related] #pyqReaderWorkspace{border-top-right-radius:0!important}
/* Plain colour-coded revision terms. No filled chips, extra bold or decorative boxes. */
@layer mep-typography{
 body.pyq-reader-open #pyqReaderWorkspace .reader-revision [data-revision-kind]{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
 body.pyq-reader-open #pyqReaderWorkspace .reader-revision [data-revision-kind] :is(.pill,b,strong,h3){font-weight:400!important;background:transparent!important;border:0!important;box-shadow:none!important}
 body.pyq-reader-open #pyqReaderWorkspace .reader-revision [data-revision-kind=scoring] :is(.pill,b,strong,h3){color:#a31621!important}
 body.pyq-reader-open #pyqReaderWorkspace .reader-revision [data-revision-kind=concept] :is(.pill,b,strong,h3){color:#13683b!important}
 body.pyq-reader-open #pyqReaderWorkspace .reader-revision .pill{display:inline!important;padding:0!important;margin:0!important;border-radius:0!important}
}
.reader-revision .pill+.pill::before{content:' · ';color:#000}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace mark.reader-scoring-cue{background:transparent!important;color:#a31621!important;font-weight:400!important;padding:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace mark.reader-concept-cue{background:transparent!important;color:#13683b!important;font-weight:400!important;padding:0}

/* Owner Q33 OR document: continuous expressions and one consistent card inset. */
body.pyq-reader-open #pyqReaderWorkspace :is(.reader-math-unit,.katex){display:inline-block;white-space:nowrap!important;text-align:start!important;text-align-last:start;word-spacing:normal;letter-spacing:normal;vertical-align:baseline}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.physics-option-reasons,.teacher-option-review){padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(.teacher-method>.step,.chem-teacher>.step,.teacher-option-reason){padding:12px!important;margin:12px 0!important;box-sizing:border-box;min-width:0}
html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace .teacher-method .step .step{padding:0!important;border:0!important;background:transparent!important}

html[data-app-theme] body.mep-modern.pyq-reader-open #pyqReaderWorkspace :is(#answerPanel,#questionPanel,#visualAnchor) p[data-reader-relaxed=true]{text-align:start!important;text-align-last:start!important}

/* Owner ffth.docx: compact source labels, not a fixed empty gutter. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtext .board-subpart{grid-template-columns:max-content minmax(0,1fr)!important;gap:8px!important;margin-left:0!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtext .board-subpart>.board-marker{min-width:0!important;width:auto!important;max-width:none!important;padding:0!important;margin:0!important;justify-self:start}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .qtext .board-subpart>.board-subpart-content{min-width:0;gap:8px!important}
@layer mep-typography{
 body.pyq-reader-open #questionPanel .qtext :is(.board-subpart-text,.board-subpart-content,.board-marker,.board-bullet-content,.board-bullet-line){font-size:inherit!important;line-height:inherit!important}
}

/* Owner: raised selected icon, no outlined tab; retain the open pane connection. */
body.pyq-reader-open #pyqReader .reader-tabs button[aria-selected=true]{
 border-color:transparent!important;border-bottom-color:#fff!important;
 background:linear-gradient(180deg,#fff 0%,var(--feature-tint) 58%,#fff 100%)!important;
 box-shadow:inset 0 2px 3px #ffffffed,0 -2px 7px #233c5f14!important;
 border-radius:9px 9px 0 0;z-index:2;
}
body.pyq-reader-open #pyqReader .reader-tabs button[aria-selected=true] .reader-icon{
 filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 1px #233c5f18);
}

/* Keep native filter chrome hidden while the approved PYQ reader is prepared. */
body.pyq-reader-loading .filterbar{display:none!important}

/* First entry awaits the workspace owner. Do not expose its native intermediate
   screen; subsequent questions keep the existing reader mounted. */
body.pyq-reader-loading:not(.pyq-reader-open) :is(.main-app,.ws-topbar){visibility:hidden!important}

/* Owner: fixed nine-icon bar; show names only on hover, focus or tap. */
body.pyq-reader-open #pyqReader .reader-tabs{touch-action:manipulation;user-select:none;-webkit-user-select:none}
#pyqReader .reader-feature-name{position:absolute;z-index:100;max-width:min(260px,calc(100vw - 32px));padding:7px 11px;border:1px solid var(--reader-name-ink,#234fab);border-radius:7px;background:#fff;color:#173245;box-shadow:0 3px 12px #1732451a;font:500 15px/1.35 'EB Garamond',Georgia,serif;text-align:center;white-space:normal;overflow-wrap:anywhere;pointer-events:auto}
#pyqReader .reader-feature-name[hidden]{display:none!important}

/* ui/shared/pyq-options.css */
/* Measured PYQ option layouts. Native answer buttons and their order remain intact. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout]{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:16px 0!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout="2x2"]{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] > :is(.v30-option,.chem-choice,.option){
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:start!important;
  align-content:center!important;
  gap:8px!important;
  position:relative!important;
  box-sizing:border-box!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  min-height:68px!important;
  height:auto!important;
  padding:16px 12px!important;
  margin:0!important;
  text-align:left!important;
  line-height:1.55!important;
  white-space:normal!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] [data-pyq-option-label]{
  display:block!important;
  position:static!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  font-size:inherit!important;
  font-weight:700!important;
  line-height:1.55!important;
  white-space:nowrap!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] [data-pyq-option-content]{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  margin:0!important;
  font-size:inherit!important;
  font-weight:inherit!important;
  line-height:1.55!important;
  text-align:left!important;
  white-space:pre-line!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  /* Exceptional full-width equations remain readable via local scrolling. */
  overflow-x:auto;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] [data-pyq-option-content] :is(img,svg,canvas,video){
  max-width:100%;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] [data-pyq-option-content] .katex svg{
  max-width:none;
}
/* Display-mode units/fractions should not impose a separate paragraph inside
   every answer. Keep the rendered mathematical size and measure its real width. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-option-content] :is(.katex-display,.reader-equation-scroll){
  display:inline!important;
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:normal!important;
  text-align:left!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-option-content] .katex-display > .katex{
  display:inline-block!important;
  text-align:left!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout="2x2"] [data-pyq-option-direction="true"]{white-space:nowrap!important}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout="2x2"] [data-pyq-option-direction="true"]>.mep-math{display:block!important;width:max-content;max-width:100%}

/* Owner request, 24 October 2026: readable choices and a clear correct-answer
   outline. Reuse the native checked state; never infer answers or change scores.
   Inset emphasis keeps the box size stable and leaves focus-visible independent. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel [data-pyq-options-layout] > :is(.v30-option,.chem-choice,.option).correct{
  border-color:#15803d!important;
  box-shadow:inset 0 0 0 1px #15803d!important;
}

/* ui/shared/source-verification.css */
/* Original QP/MS evidence is available only in the guided PYQ reader.
   Target verification UI, never question figures, marking points, teacher
   explanations, source identity labels or navigation to an in-app lesson. */
body:not(.pyq-reader-open) :is(
  details.chem-source,
  details.physics-source,
  details.source-crop,
  details.v25-inline-evidence,
  .concept-source,
  [data-concept-source],
  .cp-source-verification,
  [data-path-source],
  [data-reader-action="source"],
  [data-reader-action="ms-source"],
  [data-reader-action="reference"],
  #readerReference,
  .physics-source-note
){display:none!important}

/* These controls also exist in the legacy Study header and answer panes. */
html body:not(.pyq-reader-open) :is(#questionPanel,#answerPanel) :is(
  .head-source,
  .v32-cropbtn,
  [data-map="ms"],
  [onclick="MEP.v40Jump('ms',this)"],
  [onclick="MEP.openSource()"],
  [onclick="MEP.openMS()"],
  [onclick="openModal('question')"],
  [onclick="openModal('ms')"],
  [aria-label="Marking scheme evidence"]
){display:none!important}

/* A source modal must not remain visible after navigating away from PYQ. */
body:not(.pyq-reader-open) #modalBack:has(.v32-evidence-frame){display:none!important}

/* When no native redraw exists, a flagged required diagram remains readable
   as question material; it is not an optional verification disclosure. */
.required-question-figure{margin:16px 0;max-width:100%}
.required-question-figure img{display:block;width:auto;max-width:100%;height:auto;margin:0 auto}
.required-question-figure figcaption{margin-top:6px;font-size:12px;line-height:1.5;color:#526b89}

/* PYQ is a page, not permission to repeat evidence in every section on it.
   Activity renderers omit crops; this boundary also protects imported feedback. */
body :is(#conceptPractice,.tap-lab,[data-reader-activity="check"],[data-reader-activity="try"],#visualAnchor) :is(
 details.chem-source,details.physics-source,details.source-crop,
 details.v25-inline-evidence,.cp-source-verification,
 iframe,object,embed,a[href$=".pdf"]
){display:none!important}
.activity-study-figure{margin:12px 0;max-width:100%;min-width:0}
.activity-study-figure :is(svg,img){display:block;width:100%;max-width:100%;height:auto;margin:auto}
.activity-figure-unavailable{padding:12px;border:1px solid #d4dfeb;border-radius:10px;color:#42566e;background:#f6f8fb}

/* QP disclosures share Physics' compact summary geometry; evidence is intact. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel
 :is(details.chem-source,details.v25-inline-evidence)>summary{
 padding:0!important;margin:0!important;min-height:25px!important;
 font-weight:650!important;line-height:1.6!important;
}

/* ui/shared/subject-identity.css */
/* One subject identity across signed-in discovery, learning and practice.
   Add new subjects here using their registry name. Unmapped subjects receive the
   same readable slate fallback on every surface until an explicit palette is set.
   Identity belongs to subject names/icons only; answer/status colours stay separate. */
[data-subject]{--subject-ink:#405570;--subject-tint:#eef2f7;--subject-line:#d4deea}
[data-subject="Physics"]{--subject-ink:#254fba;--subject-tint:#edf2ff;--subject-line:#d9e3ff}
[data-subject="Chemistry"]{--subject-ink:#086967;--subject-tint:#e7f7f4;--subject-line:#c5e9e2}
[data-subject="Biology"]{--subject-ink:#23613c;--subject-tint:#edf7ea;--subject-line:#d7e9cd}
[data-subject="Mathematics"]{--subject-ink:#6340a6;--subject-tint:#f4edff;--subject-line:#e5d8f9}
[data-subject="English Core"]{--subject-ink:#9a365a;--subject-tint:#fff0f4;--subject-line:#f3d6e0}
[data-subject="Informatics Practices"]{--subject-ink:#89511a;--subject-tint:#fff5e5;--subject-line:#f0dfc4}

/* Keep existing component variables as aliases, not independent palettes. */
#studentPortal [data-subject]{--dash-subject:var(--subject-ink);--dash-soft:var(--subject-tint);--pyq-color:var(--subject-ink);--pyq-soft:var(--subject-tint)}
#studentPortal .dash-subject-card h3,
#studentPortal .enrol-subjects [data-subject]>strong,
#studentPortal .pyq-subject-card>strong,
#studentPortal .pyq-subject-heading h1,
#studentPortal.mep-dashboard .dash-subject-links [data-subject],
#studentPortal.mep-dashboard .dash-subject-links [data-subject]>svg,
#mepWorkspaceChrome .ws-subjects [data-subject],
#mepWorkspaceChrome .ws-subjects [data-subject]>svg,
.mep-subject-name[data-subject],
#studentPortal .mep-subject-name[data-subject],
#learningProgress .mep-subject-name[data-subject],
#boardExam .mep-subject-name[data-subject]{color:var(--subject-ink)}

#studentPortal .dash-subject-card .dash-subject-icon,
#studentPortal .enrol-subjects .enrol-icon,
#studentPortal .pyq-subject-icon{
 color:var(--subject-ink);background:var(--subject-tint);border-color:var(--subject-line);
}
#studentPortal .dash-subject-card:is(:hover,:focus-visible) .dash-subject-icon,
#studentPortal .enrol-subjects [aria-pressed=true] .enrol-icon{
 border-color:var(--subject-ink)!important;box-shadow:0 0 0 4px var(--subject-tint);
}
#studentPortal .enrol-subjects [aria-pressed=true] .enrol-check{
 color:#fff;background:var(--subject-ink);border-color:var(--subject-ink);
}
#studentPortal.mep-dashboard .dash-subject-links [data-subject]:is([aria-current=page],:hover,:focus-visible),
#mepWorkspaceChrome .ws-subjects [data-subject]:is([aria-current=page],:hover,:focus-visible){
 color:var(--subject-ink);background:var(--subject-tint);
}
#studentPortal.mep-dashboard .dash-subject-links [data-subject]:focus-visible,
#mepWorkspaceChrome .ws-subjects [data-subject]:focus-visible{
 outline:3px solid var(--subject-ink);outline-offset:2px;
}

/* A concept heading is a subject label only at the subject's chapter index. */
#studentPortal .concept-path .path-hero:has(>h1.mep-subject-name){background:var(--subject-tint);border:1px solid var(--subject-line)}
#studentPortal .concept-path .path-hero h1.mep-subject-name{color:var(--subject-ink)!important}
#studentPortal .concept-path .path-hero:has(>h1.mep-subject-name)>:is(span,p,small){color:var(--subject-ink)!important}

/* Native picker menus remain platform-native; the selected subject is readable
   in the same identity and the adjacent workspace badge on every device. */
body.mep-modern #learningProgress select[data-filter=subject][data-subject]{
 color:var(--subject-ink);background-color:var(--subject-tint);border-color:var(--subject-line);
}
/* Owner-requested exception: Concept Practice uses one neutral subject identity.
   Preserve semantic answer feedback and the subject palette on other screens. */
body[data-workspace="practice"] #mepWorkspaceChrome [data-subject],
#conceptPractice [data-subject]{--subject-ink:#405570;--subject-tint:#f2f5f8;--subject-line:#d4deea}
body.mep-modern #conceptPractice select[data-filter=subject]{
 color:#263b4a;background-color:#fff;border-color:#d7e0ea;
}
.prac-subject-tabs [data-subject]{color:var(--subject-ink)}
.prac-subject-tabs [data-subject]>svg{width:21px;height:21px;flex:none;color:var(--subject-ink);vertical-align:middle;margin-right:6px}
.prac-subject-tabs [data-subject].active{color:var(--subject-ink);background:var(--subject-tint);border-color:var(--subject-line)}

/* Owner asdd.docx: one selected-subject heading and adjacent blue return control. */
:is(#studentPortal,#conceptAssessment) .mep-subject-heading{display:flex;align-items:flex-start;gap:12px;margin:0 0 22px;min-width:0}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;margin-top:3px;border-radius:50%;color:var(--subject-ink);background:var(--subject-tint)}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading .mep-subject-heading-icon svg{width:25px;height:25px}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading-copy{flex:1;min-width:0}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading-kicker{display:block;margin:0 0 3px;color:#63789d;font-size:12px;letter-spacing:.08em}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading-row{display:flex;align-items:center;gap:6px 10px;min-width:0}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading .mep-subject-heading-row>h1{flex:0 1 auto;min-width:0;margin:0;font-size:28px;line-height:1.2;overflow-wrap:anywhere;color:var(--subject-ink)}
:is(#studentPortal,#conceptAssessment) .mep-subject-switch{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex:0 0 auto;min-height:44px;max-width:none;margin:0;padding:4px 5px;border:0;border-radius:6px;background:transparent;color:#254fba;box-shadow:none;white-space:nowrap;font-size:15px;line-height:1.4;cursor:pointer}
:is(#studentPortal,#conceptAssessment) .mep-subject-switch span{display:flex;align-items:center}
:is(#studentPortal,#conceptAssessment) .mep-subject-switch svg{width:15px;height:15px;flex:none}
:is(#studentPortal,#conceptAssessment) .mep-subject-switch:hover{text-decoration:underline;text-underline-offset:3px;background:transparent}
:is(#studentPortal,#conceptAssessment) .mep-subject-switch:focus-visible{outline:2px solid #3159c7;outline-offset:2px}
:is(#studentPortal,#conceptAssessment) .mep-subject-heading-description,:is(#studentPortal,#conceptAssessment) .mep-subject-heading-meta{margin:6px 0 0;font-size:15px;line-height:1.5;color:#526b89}
@layer mep-typography{
 :is(#studentPortal,#conceptAssessment) .mep-subject-switch,:is(#studentPortal,#conceptAssessment) .mep-subject-switch :is(span,svg){color:#254fba!important;font-size:15px!important}
}
@media(max-width:650px){:is(#studentPortal,#conceptAssessment) .mep-subject-heading{gap:9px}:is(#studentPortal,#conceptAssessment) .mep-subject-heading .mep-subject-heading-row>h1{font-size:24px}}

/* ui/shared/spacing.css */
/* Shared mobile spacing. Loaded after the feature sheets so future subjects
   inherit the same page gutter and card inset without changing their content.
   Desktop widths, bottom-navigation reserves and reader internals stay owned by
   their existing components. Only named layout surfaces are adjusted here. */
@media screen and (max-width:760px){
  :root{
    --mep-page-gutter:8px;
    --mep-card-padding:12px;
    --mep-section-gap:12px;
  }

  /* One outer gutter: these are alternative page containers, never nested
     card surfaces. Use longhands to preserve each screen's bottom reserve. */
  #studentPortal.mep-dashboard .dash-main,
  #studentPortal:not(.mep-dashboard):not([data-screen=auth]) .portal-shell,
  #studentPortal .enrol-shell,
  #conceptPractice .cp-shell,
  #learningProgress .lp-shell{
    padding-left:var(--mep-page-gutter);
    padding-right:var(--mep-page-gutter);
    padding-top:var(--mep-section-gap);
  }
  html[data-app-theme] body.mep-modern.pyq-reader-open .main-app,
  body.mep-modern #studyHub,
  #boardExam{
    padding-left:var(--mep-page-gutter)!important;
    padding-right:var(--mep-page-gutter)!important;
    padding-top:var(--mep-section-gap)!important;
  }

  /* Home and profile share the dashboard wrapper. Circular subject selectors
     retain their small authored inset and icon size. */
  #studentPortal.mep-dashboard :is(.dash-hero,.dash-panel,.dash-stat,.dash-feature,.dash-tip,.dash-library-note,.dash-paper-context,.dash-sync-note),
  #studentPortal.mep-dashboard .dash-pathways>.dash-feature,
  #studentPortal.mep-dashboard .profile-details>div{
    padding:var(--mep-card-padding);
  }
  #studentPortal.mep-dashboard :is(.dash-continue-grid,.dash-stat-grid,.dash-feature-grid,.dash-pathways,.dash-columns,.profile-details,.profile-actions){
    gap:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard .dash-subject-grid,
  #studentPortal .enrol-subjects{
    gap:var(--mep-section-gap)!important;
  }
  #studentPortal.mep-dashboard :is(.dash-page-heading,.dash-subject-heading,.dash-paper-context,.dash-sync-note){
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard .dash-section-heading{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard :is(.dash-stat-grid,.dash-tip,.dash-library-note){
    margin-top:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard :is(.dash-pathways,.profile-actions,.profile-details){
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard .profile-identity{
    padding-top:var(--mep-section-gap);
    padding-bottom:var(--mep-section-gap);
    gap:var(--mep-section-gap);
  }

  /* Learn's explanation, chapter and concept surfaces use the same inset.
     Formula scroll containers and authored SVG geometry are not targeted. */
  #studentPortal.mep-dashboard :is(.path-hero,.path-discovery,.path-empty,.concept-explanation,.concept-next,.concept-source,.concept-figure,.path-related),
  #studentPortal.mep-dashboard .concept-reader .path-hero,
  #studentPortal.mep-dashboard .path-chapters>button,
  #studentPortal.mep-dashboard .concept-path>.path-concepts>button,
  #studentPortal.mep-dashboard .path-detail>article{
    padding:var(--mep-card-padding);
  }
  #studentPortal.mep-dashboard :is(.path-chapters,.path-concepts,.path-detail,.path-discovery){
    gap:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard :is(.concept-explanation,.concept-next,.concept-source,.concept-figure,.path-related,.path-discovery){
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard .path-hero{
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal.mep-dashboard .path-navigation{
    padding-bottom:var(--mep-section-gap);
  }

  /* PYQ selection: compact the paper metadata as well as its outer card.
     Study/test buttons keep their existing 47px minimum touch targets. */
  #studentPortal :is(.pyq-hero,.pyq-mode-guide,.pyq-paper,.pyq-empty){
    padding:var(--mep-card-padding);
  }
  #studentPortal :is(.pyq-subject-grid,.pyq-grid,.pyq-mode-guide){
    gap:var(--mep-section-gap);
  }
  #studentPortal :is(.pyq-back,.pyq-subject-heading,.pyq-mode-guide){
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal .pyq-library-heading{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal .pyq-path{
    margin-top:var(--mep-section-gap);
  }
  #studentPortal .pyq-paper h3{
    margin-top:var(--mep-section-gap);
    margin-bottom:4px;
  }
  #studentPortal .pyq-paper-facts{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
    padding-top:10px;
    padding-bottom:10px;
    gap:var(--mep-section-gap);
  }
  #studentPortal .pyq-note{
    margin-top:var(--mep-section-gap);
  }

  /* Practice's shell and activity card are the only reading-width insets.
     Choice controls, diagrams and feedback math retain their own geometry. */
  #conceptPractice :is(.cp-intro,.cp-filter-panel,.cp-card){
    padding:var(--mep-card-padding);
  }
  #conceptPractice :is(.cp-intro,.cp-stats,.cp-filter-panel,.cp-position){
    margin-bottom:var(--mep-section-gap);
  }
  #conceptPractice .cp-intro{
    margin-top:var(--mep-section-gap);
  }
  #conceptPractice .cp-stats,
  #conceptPractice .cp-filters{
    gap:var(--mep-section-gap);
  }
  #conceptPractice footer,
  #conceptPractice .cp-filters{
    margin-top:var(--mep-section-gap);
  }
  #conceptPractice .cp-card:only-child{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }

  /* Exams reserve the navigation space on body; do not reserve it again here.
     Named section surfaces avoid altering answer pads and MCQ option insets. */
  #boardExam>header,
  #boardExam .ex-main,
  #boardExam aside,
  #boardExam .ex-landing>section,
  #boardExam .ex-landing>section:first-child,
  #boardExam .ex-history>article{
    padding:var(--mep-card-padding);
  }
  #boardExam :is(.ex-layout,.ex-landing){
    gap:var(--mep-section-gap);
    margin-top:var(--mep-section-gap);
  }
  #boardExam :is(.ex-landing,.ex-history){
    margin-bottom:var(--mep-section-gap);
  }
  #boardExam .ex-history{
    margin-top:var(--mep-section-gap);
  }
  #boardExam .ex-history>article{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }

  /* Progress panels: target their outer surfaces, not the grids inside an
     individual metric. The competency grid shares its panel's content edge. */
  #learningProgress :is(.lp-filters,.lp-mode,.lp-exam),
  #learningProgress .lp-groups>article,
  #learningProgress #competencyPanel,
  #learningProgress #competencyPanel .competency-grid>article{
    padding:var(--mep-card-padding);
  }
  #learningProgress :is(.lp-filters,.lp-summary,.lp-groups),
  #learningProgress #competencyPanel .competency-grid{
    gap:var(--mep-section-gap);
  }
  #learningProgress :is(.lp-filters,.lp-exam,nav),
  #learningProgress #competencyPanel{
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
  #learningProgress #competencyPanel .competency-grid{
    margin-left:calc(-1 * var(--mep-card-padding));
    margin-right:calc(-1 * var(--mep-card-padding));
  }

  /* Authentication already has a visible outer shell. Its width supplies the
     page gutter; a full-width inner form prevents a second reading inset. */
  #studentPortal[data-screen=auth] .portal-shell{
    width:calc(100% - 2 * var(--mep-page-gutter))!important;
    padding-top:var(--mep-card-padding)!important;
    padding-left:var(--mep-card-padding)!important;
    padding-right:var(--mep-card-padding)!important;
    margin-top:var(--mep-section-gap)!important;
  }
  #studentPortal[data-screen=auth] form{
    padding:var(--mep-card-padding);
    margin-left:calc(-1 * var(--mep-card-padding));
    margin-right:calc(-1 * var(--mep-card-padding));
  }
  #studentPortal[data-screen=cards] .recall-card,
  #studentPortal :is(.enrol-course,.enrol-future),
  #loginFAQ :is(article,.intro-example){
    padding:var(--mep-card-padding);
  }
  #studentPortal .enrol-shell header,
  #studentPortal .enrol-heading{
    margin-bottom:var(--mep-section-gap);
  }
  #studentPortal :is(.enrol-course,.enrol-future,.recall-card),
  #loginFAQ :is(.intro-grid,.intro-example,.intro-actions){
    margin-top:var(--mep-section-gap);
    margin-bottom:var(--mep-section-gap);
  }
}

/* ui/shared/question-review.css */
/* Owner2November: answer feedback colours only the outline, never the fill/text.
   Correctness is revealed by the existing controls, not inferred by this CSS. */
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel :is(.v30-option,[data-che-answer]).wrong,
body .tap-lab .tap-choice[data-result="wrong"],
body #conceptPractice .cp-choice.cp-wrong,
body [data-ca-choice-reasons] [data-answer-state="wrong"],
html body .teacher-option-reason.is-distractor,
body #conceptPractice .cp-choice-reason.is-distractor,
body #boardExam .ex-option[data-answer-state="wrong"] {
  background:#fff!important;border-color:#ce8428!important;color:inherit!important;
  box-shadow:inset 0 0 0 1px #ce8428!important;
}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel :is(.v30-option,[data-che-answer]).correct,
body .tap-lab .tap-choice[data-result="correct"],
body #conceptPractice .cp-choice.cp-correct,
body [data-ca-choice-reasons] [data-answer-state="correct"],
html body .teacher-option-reason.is-correct,
body #conceptPractice .cp-choice-reason.is-correct,
body #boardExam .ex-option[data-answer-state="correct"] {
  background:#fff!important;border-color:#328252!important;color:inherit!important;
  box-shadow:inset 0 0 0 1px #328252!important;
}
body [data-ca-choice-reasons] [data-answer-state]{padding:12px;border:1px solid;border-radius:8px}
body #boardExam .ex-option[data-answer-state]{opacity:1!important}
.question-review-bookmark{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;min-width:44px;padding:6px 10px;border:1px solid #afc2d1;border-radius:8px;background:#fff;color:#173245;font:inherit;cursor:pointer;vertical-align:middle}
.question-review-bookmark[aria-pressed="true"]{background:#fff;border-color:#ce8428}
.question-review-bookmark:focus-visible{outline:2px solid #173245;outline-offset:2px}
.question-study-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:16px;width:100%}
html[data-app-theme] body.mep-modern.pyq-reader-open #questionPanel .question-study-actions :is(.mark-studied,.question-review-bookmark){display:inline-flex!important;align-items:center;justify-content:center;align-self:center;float:none!important;margin:0!important;min-height:44px!important;min-width:0!important;width:auto!important;box-sizing:border-box;padding:8px 12px!important;font-family:var(--mep-font-text)!important;font-size:var(--mep-control-size)!important;font-style:normal!important;font-weight:600!important;line-height:1.4!important;border-radius:8px!important;background:#fff!important;color:inherit!important}
.question-study-actions .question-review-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
.question-study-actions [data-bookmark-error]{flex-basis:100%}
.question-bookmark-review{position:fixed;inset:0 0 calc(56px + env(safe-area-inset-bottom));z-index:200000;overflow:auto;background:#f5f8fb;padding:12px;color:#173245}
.question-bookmark-shell{max-width:960px;margin:auto;font-family:var(--font-reading,'EB Garamond',serif);font-size:17px}
.question-bookmark-shell article{padding:12px;border:1px solid #c5d3df;border-radius:12px;background:#fff;margin:12px 0}
.question-bookmark-shell article>button{margin:4px 8px 4px 0;min-height:44px;font:inherit}
.question-bookmark-shell button:not(.question-review-bookmark){min-height:44px;padding:8px 12px;border:1px solid #afc2d1;border-radius:8px;background:#fff;color:#173245;font:inherit;cursor:pointer}
[data-bookmark-error]{display:block;color:#843b14;font-size:16px}

#studentPortal .portal-brand .pyqlens-brand-image{display:block;width:min(100%,360px);height:auto;object-fit:contain;border-radius:0}
#studentPortal .dash-brand .pyqlens-brand-image{display:block;width:205px;max-width:100%;height:auto;object-fit:contain}
#studentPortal .dash-brand{display:block;width:100%;min-height:52px;background:transparent;border:0}
