
/* vendor/katex/katex.min.css */
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;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-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;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-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;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-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;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-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;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-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;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-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;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-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;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-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;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-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;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-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;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")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.47"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.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:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.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:700}.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:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.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;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{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:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.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{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.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;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment: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% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;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>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}


/* os.css */
/* Ranker's Masterbook — editorial theme (warm cream · serif display · orange→gold highlights · dark panels) */
:root{
  --bg:#F7F1E3; --bg2:#F2E9D6; --card:#FFFDF8; --card2:#FBF5E9;
  --dark:#1B1610; --dark2:#241C13;
  --ink:#1A1611; --ink2:#4B4436; --ink3:#7C7462; --ink4:#A79E8A;
  --line:#E7DDC7; --line2:#D9CCB0; --line3:#C6B892;
  --orange:#C2410C; --orange2:#D9770E; --gold:#C79318; --gold2:#E0B33F;
  --sage:#5A6A44; --sage-soft:#E6EAD7;
  --cream:#F0E7D4; --cream2:#CBBF9F; --dark-gold:#E6B24B;
  --shadow:0 1px 2px rgba(60,45,20,.05),0 10px 30px rgba(60,45,20,.07);
  --shadow-lg:0 4px 12px rgba(60,45,20,.08),0 26px 60px rgba(60,45,20,.13);
  --r:16px; --r-lg:22px; --r-sm:11px;
  --serif:'Fraunces',Georgia,serif; --read:'Newsreader',Georgia,serif; --sans:'Inter',system-ui,-apple-system,sans-serif;
  --maxw:1180px;
}
[data-theme="dark"]{
  --bg:#100E08; --bg2:#161209; --card:#221C12; --card2:#2A2216; --ink:#F4ECD9; --ink2:#CCC2AA; --ink3:#948A72; --ink4:#6E6551;
  --line:#332B1B; --line2:#443A25; --line3:#52462C; --cream:#F4ECD9;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 12px 34px rgba(0,0,0,.5); --shadow-lg:0 6px 16px rgba(0,0,0,.6),0 30px 66px rgba(0,0,0,.6);
}
[data-theme="dark"] .btn.pri{background:linear-gradient(120deg,var(--orange),var(--gold2));color:#fff}
[data-theme="dark"] .prow,[data-theme="dark"] .tcard,[data-theme="dark"] .feat,[data-theme="dark"] .gcard{background:linear-gradient(180deg,var(--card),var(--bg2))}
/* ---- alternate palettes: ACCENT tokens only, so light/dark neutrals stay owned by
   the theme (a palette on <body> is closer than [data-theme] on <html>, so if a
   palette set neutrals it would override dark mode — hence accent-only here). ---- */
body[data-palette="saffron"]{--orange:#B23A17;--orange2:#D06A11;--gold:#C08A16;--gold2:#E4B23A;--sage:#4E6146;--sage-soft:#E4EAD8;--cream:#F1E8D6;--cream2:#CDC1A2;--dark-gold:#EBB74C}
body[data-palette="oxblood"]{--orange:#9B2C24;--orange2:#C15421;--gold:#B07E1E;--gold2:#D9A63C;--sage:#4C5F3F;--sage-soft:#E5E9D6;--cream:#F2E7D6;--cream2:#CDBFA0;--dark-gold:#E0AF4C}
body[data-palette="pine"]{--orange:#1F6B4E;--orange2:#3E8C5F;--gold:#B58318;--gold2:#DDA93A;--sage:#3C5A3A;--sage-soft:#E0E9D6;--cream:#EFEAD8;--cream2:#C3C4A2;--dark-gold:#E6B84E}
body[data-palette="indigo"]{--orange:#4338CA;--orange2:#6D5CE0;--gold:#B08512;--gold2:#DDAF3C;--sage:#3F5647;--sage-soft:#E3E9DE;--cream:#EFEBDD;--cream2:#C6C0AF;--dark-gold:#E7BE5C}
/* dark mode: lift accents so the dark-green/indigo hues stay legible on the near-black bg */
html[data-theme="dark"] body[data-palette="pine"]{--orange:#3E9B72;--orange2:#57B487;--sage:#7FA083}
html[data-theme="dark"] body[data-palette="indigo"]{--orange:#7D74F0;--orange2:#948BFF;--sage:#8A86B8}
html[data-theme="dark"] body[data-palette="oxblood"]{--orange:#D4574C;--orange2:#E06B5A}
html[data-theme="dark"] body[data-palette="saffron"]{--orange:#D9613C;--orange2:#E8823F}

*{box-sizing:border-box} html,body{margin:0;padding:0} html{-webkit-text-size-adjust:100%}
body{background:radial-gradient(1200px 760px at 88% -12%,color-mix(in srgb,var(--gold2) 20%,var(--bg)),transparent 58%),var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

/* ---- scroll-reveal motion ---- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.06s}.reveal.d2{transition-delay:.12s}.reveal.d3{transition-delay:.18s}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---- sequences-themed hero animation ---- */
.seqviz{display:flex;align-items:flex-end;gap:8px;height:120px;margin:6px 0 4px}
.seqviz .bar{width:22px;border-radius:8px 8px 3px 3px;background:linear-gradient(var(--gold2),var(--orange));opacity:.9;transform-origin:bottom;animation:seqrise .9s cubic-bezier(.2,.8,.2,1) both}
.seqviz .bar span{display:block;text-align:center;font-family:var(--serif);font-size:12px;font-weight:700;color:var(--ink3);margin-top:6px;transform:translateY(4px)}
@keyframes seqrise{from{transform:scaleY(.05);opacity:0}to{transform:scaleY(1);opacity:.92}}
.seqcap{font-family:var(--read);font-style:italic;color:var(--ink3);font-size:14px}
.seqcap b{font-family:var(--serif);font-style:normal;color:var(--orange);font-weight:800}

/* ---- palette switcher ---- */
.pal-switch{position:fixed;right:16px;bottom:16px;z-index:120;display:flex;gap:8px;align-items:center;background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:8px 12px;box-shadow:var(--shadow-lg)}
.pal-switch .pl{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans);margin-right:2px}
.pal-dot{width:22px;height:22px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .12s}
.pal-dot:hover{transform:scale(1.12)} .pal-dot.on{border-color:var(--ink)}
@media (max-width:560px){.pal-switch{display:none}}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2.5px solid var(--orange);outline-offset:2px;border-radius:5px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 26px}
h1,h2,h3{font-family:var(--serif)}

/* signature highlight */
.hl{font-family:var(--serif);font-style:italic;font-weight:800;
  background:linear-gradient(92deg,var(--orange) 8%,var(--orange2) 45%,var(--gold2) 100%);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--orange);
  text-decoration:underline;text-decoration-color:var(--gold2);text-decoration-thickness:2.5px;text-underline-offset:6px}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--orange);font-family:var(--sans)}
.eyebrow .sep{color:var(--ink4);margin:0 8px}
.eyebrow .muted{color:var(--ink3)}

/* ---------- navbar ---------- */
.nav{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(1.5) blur(12px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--maxw);margin:0 auto;padding:13px 26px;display:flex;align-items:center;gap:22px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:900;font-size:19px;letter-spacing:-.01em;flex-shrink:0}
.brand .mark{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--orange),var(--gold2));display:grid;place-items:center;color:#fff;font-family:var(--serif);font-weight:900;font-size:17px;box-shadow:0 2px 7px rgba(194,65,12,.32)}
.brand .os{color:var(--ink3);font-weight:600;font-family:var(--sans);font-size:13px;letter-spacing:.06em}
.nav-links{display:flex;gap:2px;align-items:center}
.nav-links a{padding:8px 13px;border-radius:9px;font-size:14.5px;font-weight:600;color:var(--ink2);transition:background .15s,color .15s}
.nav-links a:hover{background:var(--card);color:var(--ink)} .nav-links a.on{color:var(--ink);background:var(--card);box-shadow:var(--shadow)}
.nav-sp{flex:1}
.nav-search{position:relative;display:flex;align-items:center}
.nav-search input{width:190px;background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:8px 14px 8px 34px;font:inherit;font-size:13.5px;color:var(--ink);outline:none;transition:width .18s,border-color .15s,box-shadow .15s}
.nav-search input:focus{width:240px;border-color:var(--orange);box-shadow:0 0 0 4px rgba(194,65,12,.12)}
.nav-search .si{position:absolute;left:12px;color:var(--ink3);font-size:15px;pointer-events:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--sans);font-weight:700;font-size:14.5px;border:0;border-radius:11px;padding:11px 18px;cursor:pointer;transition:transform .12s,filter .15s,box-shadow .15s,background .15s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn.pri{background:var(--ink);color:var(--bg);box-shadow:0 2px 9px rgba(26,22,17,.25)}
.btn.pri:hover{filter:brightness(1.12)}
.btn.orange{background:linear-gradient(120deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 2px 9px rgba(194,65,12,.3)}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line2)}
.btn.ghost:hover{border-color:var(--line3)}
.btn.sm{padding:8px 14px;font-size:13.5px;border-radius:9px}
.btn.lg{padding:14px 24px;font-size:16px;border-radius:13px}
.icon-btn{background:var(--card);border:1px solid var(--line2);border-radius:10px;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;font-size:16px;color:var(--ink2)}
.mobo{display:none}
.mobile-menu{display:none;max-width:var(--maxw);margin:0 auto;padding:0 26px 14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.mobile-menu a{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700;color:var(--ink2);text-align:center}
.mobile-menu a.on{border-color:var(--orange);color:var(--orange)}

/* ---------- hero ---------- */
.hero{padding:72px 0 0}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:56px;align-items:center;padding-bottom:44px}
.pill{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line2);color:var(--orange);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;padding:7px 14px;border-radius:999px;margin-bottom:26px;font-family:var(--sans)}
.pill .dot{width:6px;height:6px;border-radius:50%;background:var(--orange)}
h1.hero-h{font-family:var(--serif);font-size:clamp(42px,6vw,74px);line-height:1.0;letter-spacing:-.02em;font-weight:900;margin:0 0 24px;color:var(--ink)}
.hero-sub{font-family:var(--read);font-size:clamp(17px,1.7vw,21px);color:var(--ink2);line-height:1.55;max-width:500px;margin:0 0 32px}
.hero-kicker{font-family:var(--serif);font-size:24px;font-weight:800;line-height:1.25;color:var(--ink);max-width:520px;margin:-10px 0 18px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}

/* one confident hero visual: mastery curve + a real problem */
.hpanel{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.hpanel-viz{padding:22px 24px 16px;background:linear-gradient(180deg,var(--card2),var(--card))}
.hpanel-prob{padding:20px 24px 22px;border-top:1px solid var(--line)}
.hpanel-prob .hp-lbl{font-size:11px;font-weight:800;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans);margin-bottom:8px}
.hpanel-prob .hp-title{font-family:var(--serif);font-weight:800;font-size:21px;line-height:1.18;color:var(--ink);margin-bottom:12px}
.hpanel-prob .hp-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.hpanel-prob .hp-meta .tm{font-family:var(--sans);font-size:13px;color:var(--ink3);font-weight:600}

/* designed proof strip */
.proof{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.proof .pcell{padding:22px 8px;text-align:center;border-right:1px solid var(--line)}
.proof .pcell:last-child{border-right:0}
.proof .pcell b{display:block;font-family:var(--serif);font-size:clamp(26px,3vw,36px);font-weight:900;letter-spacing:-.01em;color:var(--ink);line-height:1}
.proof .pcell span{display:block;margin-top:8px;font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
/* editorial stat row */
.statrow{display:flex;gap:44px;flex-wrap:wrap;border-top:1px solid var(--line2);padding-top:22px;margin-top:30px}
.statrow .st .l{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans)}
.statrow .st b{display:block;font-family:var(--serif);font-size:38px;font-weight:900;line-height:1.05;letter-spacing:-.01em;margin-top:6px}
.statrow .st .s{font-size:13px;color:var(--ink3);margin-top:2px}

/* product preview card */
.pcard{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}
.pcard-top{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.pcard-top .lbl{font-size:11px;font-weight:800;color:var(--ink3);letter-spacing:.12em;text-transform:uppercase;font-family:var(--sans)}
.pcard-top .badge{background:var(--bg2);color:var(--orange);font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:999px}
.pcard-body{padding:20px}
.pcard-body .ptitle{font-family:var(--serif);font-weight:800;font-size:20px;margin:0 0 8px;line-height:1.2}
.pcard-body .pmath{font-family:var(--read);color:var(--ink);font-size:15.5px;background:var(--card2);border:1px solid var(--line);border-left:3px solid var(--orange);border-radius:11px;padding:13px 15px;margin:8px 0 16px;line-height:1.5}
.pfeat{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.pfeat .pf{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--ink)}
.pfeat .pf i{color:var(--sage);font-style:normal;font-weight:900}
.pcard-foot{display:flex;gap:8px;padding:0 20px 20px}

/* ---------- section ---------- */
.sec{padding:46px 0}
.sec-h{font-family:var(--serif);font-size:clamp(26px,3vw,38px);font-weight:900;letter-spacing:-.02em;line-height:1.08;margin:12px 0 8px;color:var(--ink)}
.sec-lead{font-family:var(--read);color:var(--ink2);font-size:18px;max-width:640px;margin:0 0 28px}

/* stats strip (editorial) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);padding:28px 4px}
.stats .st{text-align:left}
.stats .st .l{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans)}
.stats .st b{display:block;font-family:var(--serif);font-size:40px;font-weight:900;letter-spacing:-.01em;margin-top:6px;color:var(--ink)}
.stats .st .s{font-size:13px;color:var(--ink3);margin-top:2px}

/* feature cards */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;box-shadow:var(--shadow)}
.feat .fi{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:21px;margin-bottom:14px;background:var(--bg2);border:1px solid var(--line)}
.feat h3{font-family:var(--serif);font-size:19px;font-weight:800;margin:0 0 7px}
.feat p{color:var(--ink2);font-size:14.5px;margin:0;line-height:1.55}

/* topic cards */
.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:20px}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden}
.tcard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--orange),var(--gold2));opacity:.85}
.tcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--line2)}
.tcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tcard h3{font-family:var(--serif);font-size:20px;font-weight:800;margin:0;line-height:1.2}
.tbadge{flex-shrink:0;font-family:var(--serif);font-size:15px;font-weight:800;color:var(--orange);background:var(--bg2);border-radius:9px;padding:5px 10px;min-width:36px;text-align:center}
.tcard p{font-family:var(--read);color:var(--ink2);font-size:15px;margin:10px 0 16px;line-height:1.5;flex:1}
.tmeta{display:flex;gap:14px;font-size:12.5px;color:var(--ink3);font-weight:600;margin-bottom:14px;flex-wrap:wrap;font-family:var(--sans);letter-spacing:.02em}
.pips{display:inline-flex;gap:3px;align-items:center}
.pip{width:6px;height:6px;border-radius:50%;background:var(--line2)}
.pip.on{background:var(--orange)}
.prog{height:7px;border-radius:99px;background:var(--line);overflow:hidden;margin-bottom:7px}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--gold2));border-radius:99px;transition:width .5s}
.prog-l{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink3);font-weight:600;margin-bottom:16px;font-family:var(--sans)}
.prog-l b{color:var(--orange)}
.tcard .btn{width:100%}

/* dark editorial panel (DPP + insight) */
.panel{background:linear-gradient(160deg,var(--dark),var(--dark2));border-radius:var(--r-lg);padding:40px;color:var(--cream);position:relative;overflow:hidden}
.panel::after{content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(224,179,63,.16),transparent 70%)}
.panel .eyebrow{color:var(--dark-gold)} .panel .eyebrow .muted{color:var(--cream2)}
.panel h2{font-family:var(--serif);font-size:clamp(26px,3vw,34px);font-weight:900;margin:12px 0 12px;letter-spacing:-.02em;color:var(--cream)}
.panel h2 .hl{-webkit-text-fill-color:transparent;text-decoration-color:var(--dark-gold)}
.panel p{font-family:var(--read);color:var(--cream2);font-size:16px;margin:0 0 22px;max-width:440px}
.panel .chip-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(224,179,63,.14);border:1px solid rgba(224,179,63,.22);color:var(--dark-gold);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;font-family:var(--sans);letter-spacing:.04em}
.dpp-in{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:38px;align-items:center}
.dpp-opts{display:flex;flex-direction:column;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(240,231,212,.1);border-radius:var(--r);padding:22px}
.dpp-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dpp-row .rl{font-size:13px;font-weight:600;color:var(--cream);font-family:var(--sans)}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{background:rgba(240,231,212,.07);border:1px solid rgba(240,231,212,.14);color:var(--cream);font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;cursor:pointer;transition:.15s;font-family:var(--sans)}
.chip.on{background:linear-gradient(120deg,var(--orange),var(--gold2));border-color:transparent;color:#fff}
.toggle{display:inline-flex;align-items:center;gap:9px;font-size:13px;color:var(--cream2);cursor:pointer;font-family:var(--sans)}
.sw{width:38px;height:22px;border-radius:99px;background:rgba(240,231,212,.16);position:relative;transition:.15s;flex-shrink:0}
.sw::after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.toggle.on .sw{background:var(--gold2)} .toggle.on .sw::after{transform:translateX(16px)}

/* ---------- DPP / Worksheet builder ---------- */
.dppgrid{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:22px;align-items:start;margin-top:24px}
.dpp-panel{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px 24px 26px}
.dpp-h{font-family:var(--serif);font-size:21px;font-weight:800;margin:0 0 18px;color:var(--ink)}
.dfield{margin-bottom:18px}
.dlabel{font-family:var(--sans);font-size:11.5px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:var(--ink3);margin-bottom:9px}
.dlabel .dhint{text-transform:none;letter-spacing:0;font-weight:600;color:var(--ink4);margin-left:6px}
/* light-mode chips (base .chip is styled for the dark teacher panel) */
.dpp-panel .chip{background:var(--card2);border:1px solid var(--line2);color:var(--ink2)}
.dpp-panel .chip:hover{border-color:var(--line3);color:var(--ink)}
.dpp-panel .chip.on{background:linear-gradient(120deg,var(--orange),var(--orange2));border-color:transparent;color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.12)}
/* difficulty-balance segmented control — one clear slider so teachers don't have to think about the mix */
.dbal{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--card2);border:1px solid var(--line2);border-radius:12px;padding:4px}
.dbal-opt{text-align:center;font-family:var(--sans);font-size:12.5px;font-weight:700;color:var(--ink2);padding:9px 6px;border-radius:9px;cursor:pointer;transition:.15s;user-select:none;border:1px solid transparent}
.dbal-opt:hover{background:var(--card)}
.dbal-opt.on{background:linear-gradient(120deg,var(--orange),var(--orange2));color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.14)}
.dbal-desc{margin-top:8px;font-family:var(--read);font-style:italic;font-size:13px;color:var(--ink3);line-height:1.45}
.dpp-panel .toggle{display:flex;color:var(--ink2);margin-bottom:12px}
.dpp-panel .sw{background:var(--line2)}
.dpp-panel .toggle.on .sw{background:var(--orange)}
.dpp-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dpp-note{margin-top:14px;font-size:13px;color:var(--ink3);font-family:var(--sans);line-height:1.5}
.dpp-preview{background:var(--card2);border:1px solid var(--line2);border-radius:var(--r-lg);min-height:440px;overflow:hidden}
.dpp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:74px 30px;color:var(--ink3);min-height:440px}
.dpp-empty-ico{font-size:40px;margin-bottom:14px;opacity:.75}
.dpp-empty h3{font-family:var(--serif);font-size:20px;color:var(--ink);margin:0 0 8px;font-weight:800}
.dpp-empty p{max-width:330px;font-size:14.5px;line-height:1.55;margin:0}
.dpp-preview-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;background:var(--card);border-bottom:1px solid var(--line2);font-family:var(--sans);font-size:13.5px;color:var(--ink2)}

/* the printable sheet — official JEE (Advanced) paper register: paper-white, Times-family
   serif, dense sectioned layout with marking-scheme blocks. Clean in any app theme. */
.worksheet{--exam:'STIX Two Text',Cambria,Georgia,'Times New Roman',serif;background:#fff;color:#111;padding:40px 48px;margin:16px;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.06);font-family:var(--exam)}
.ws-head{text-align:center;border-bottom:2.5px solid #111;padding-bottom:12px;margin-bottom:6px}
.ws-brand{font-size:11px;font-weight:700;letter-spacing:.22em;color:#111}
.ws-title{font-family:var(--exam);font-size:21px;font-weight:800;margin:6px 0 4px;color:#111;line-height:1.2}
.ws-sub{font-size:13px;color:#222}
.ws-fields{display:flex;justify-content:center;flex-wrap:wrap;gap:28px;margin-top:10px;font-size:12.5px;color:#222}
.ws-fields u{display:inline-block;min-width:92px;border-bottom:1px solid #888;text-decoration:none}
/* sections: official header bar + rules block */
.ws-sec{margin-top:18px}
.ws-sec-h{text-align:center;font-weight:800;font-size:14.5px;letter-spacing:.04em;border:1.5px solid #111;padding:5px 8px;background:#f2f2f2;color:#111}
.ws-sec-rules{margin:8px 0 4px;padding-left:18px;font-size:12px;line-height:1.5;color:#222}
.ws-sec-rules li{margin:2px 0}
/* questions: hanging Q.n, statement, (A)–(D) option rows */
.wq{padding:10px 0 12px;border-bottom:1px solid #eee}
.wq:last-child{border-bottom:0}
.wq-row{display:flex;gap:10px;align-items:baseline}
.wq-n{font-weight:800;font-size:14.5px;color:#111;min-width:38px;flex-shrink:0}
.wq-main{flex:1;min-width:0}
.wq-body{font-family:var(--exam);font-size:14.5px;line-height:1.55;color:#111}
.wq-body .katex{color:#111}
.wq-opts{margin-top:8px;display:grid;grid-template-columns:1fr;gap:5px}
.wq-opt{display:flex;gap:8px;align-items:baseline;font-size:14px;line-height:1.5;color:#111}
.wq-ol{font-weight:700;min-width:30px;flex-shrink:0}
.wq-ot{min-width:0;overflow-wrap:anywhere;overflow-x:auto}
.wq-ot .katex{color:#111;white-space:normal}
.wq-body{overflow-wrap:anywhere}
.ws-sign{margin-top:22px;text-align:right;font-style:italic;font-size:13px;color:#333}
/* answer key — official compact grid */
.wkey{margin-top:26px;padding-top:12px;border-top:2.5px solid #111}
.wkey-h{text-align:center;font-weight:800;font-size:15px;letter-spacing:.06em;margin-bottom:10px;color:#111}
.wkey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 18px}
.wkey-cell{display:flex;gap:8px;align-items:baseline;font-size:13.5px;border-bottom:1px dotted #bbb;padding:3px 0;break-inside:avoid;color:#111}
.wkey-n{font-weight:700;min-width:34px;flex-shrink:0}
.wkey-a{overflow-x:auto}
.wkey-a .katex{color:#111}
/* solutions — same register as the paper */
.wsol{margin-top:26px;padding-top:12px;border-top:2.5px solid #111}
.wsol-q{padding:10px 0;border-bottom:1px solid #eee}
.wsol-q:last-child{border-bottom:0}
.wsol-qn{font-weight:800;font-size:14.5px;color:#111;margin-bottom:6px}
.wsol-ans{font-weight:700;font-size:13.5px;color:#111;margin-left:8px}
.wsol-m{margin:6px 0 8px}
.wsol-mn{font-weight:700;font-size:13px;color:#111;margin:6px 0 2px}
.wsol-steps{margin:4px 0 0;padding-left:20px}
.wsol-steps li{font-family:var(--exam);font-size:13.5px;line-height:1.55;color:#111;margin:3px 0}
.wsol-steps li .katex{color:#111}
@media (max-width:640px){.worksheet{padding:22px 16px}.wkey-grid{grid-template-columns:repeat(2,1fr)}}

/* print: only the worksheet; questions / answer key / solutions each on fresh pages */
@media print{
  body *{visibility:hidden !important}
  #worksheet, #worksheet *{visibility:visible !important}
  #worksheet{position:absolute;left:0;top:0;width:100%;margin:0;border:0;box-shadow:none;padding:0}
  .wkey{page-break-before:always}
  .wsol{page-break-before:always}
  .wq, .wsol-q{page-break-inside:avoid}
  .ws-sec-h{background:#eee !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:15mm}
}

/* ---------- timed test mode ---------- */
.testgrid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:22px;align-items:start;margin-top:24px}
.test-preview{background:linear-gradient(155deg,var(--dark),var(--dark2));border-radius:var(--r-lg);padding:24px;color:var(--cream);min-height:420px;display:flex;align-items:stretch}
.test-card{width:100%;border:1px solid rgba(240,231,212,.12);border-radius:18px;padding:28px;background:rgba(255,255,255,.045);display:flex;flex-direction:column;justify-content:center}
.test-kicker{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dark-gold)}
.test-big{font-family:var(--serif);font-size:62px;font-weight:900;line-height:1;color:var(--cream);margin:12px 0 6px}
.test-muted{font-size:14px;color:var(--cream2);font-family:var(--sans)}
.test-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:26px}
.test-metrics div{background:rgba(255,255,255,.06);border:1px solid rgba(240,231,212,.1);border-radius:13px;padding:14px 12px}
.test-metrics b{display:block;font-family:var(--serif);font-size:28px;line-height:1;color:var(--cream)}
.test-metrics span{display:block;font-family:var(--sans);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--cream2);margin-top:6px}
.test-run-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.test-timer{min-width:122px;text-align:center;font-family:var(--serif);font-size:25px;font-weight:900;color:#fff;background:linear-gradient(120deg,var(--orange),var(--orange2));border-radius:15px;padding:12px 18px;box-shadow:0 8px 22px -13px var(--orange)}
.test-timer.urgent{background:linear-gradient(120deg,#b42318,#e85d04);animation:tpulse 1s ease-in-out infinite}
.test-progress{height:8px;background:var(--line);border-radius:999px;overflow:hidden;margin:10px 0 24px}
.test-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--gold2));border-radius:999px;transition:width .25s}
.test-ws .tm{font-family:var(--sans);font-size:12.5px;color:var(--ink3);font-weight:700}
.test-answrap{margin-top:18px}
.test-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.test-result-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:28px 30px;margin-bottom:26px}
.ring.big{width:96px;height:96px}
.ring.big::before{width:72px;height:72px;font-size:22px}
.test-result-grid{display:grid;grid-template-columns:1fr 320px;gap:22px;align-items:start}
.test-review-list{display:flex;flex-direction:column;gap:12px}
.test-review{background:var(--card);border:1px solid var(--line2);border-left:4px solid var(--line3);border-radius:var(--r);box-shadow:var(--shadow);padding:16px 18px}
.test-review.ok{border-left-color:#2e7d55}
.test-review.no{border-left-color:#c0392b}
.test-review-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.test-review-top b{font-family:var(--serif);font-size:16.5px;line-height:1.25;color:var(--ink)}
.test-review-top span{display:block;font-family:var(--sans);font-size:12px;color:var(--ink3);margin-top:4px}
.test-review-top strong{font-family:var(--sans);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);white-space:nowrap}
.test-review.ok .test-review-top strong{color:#2e7d55}
.test-review.no .test-review-top strong{color:#c0392b}
.test-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}
.test-review-grid div{background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:11px 13px;min-width:0}
.test-review-grid em{display:block;font-family:var(--sans);font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);margin-bottom:5px}
.test-review-grid p{margin:0;font-family:var(--read);font-size:14.5px;color:var(--ink);overflow-x:auto}
.test-opt-key{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--bg2);border:1px solid var(--line2);font-family:var(--serif);font-weight:800;font-size:12px;margin-right:4px}
.test-weak{position:sticky;top:78px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:20px}
.test-weak h3{font-family:var(--serif);font-size:20px;margin:0 0 14px}
.test-weak-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:12px 0}
.test-weak-row:first-of-type{border-top:0}
.test-weak-row b{display:block;font-family:var(--serif);font-size:15px;color:var(--ink)}
.test-weak-row span{display:block;font-family:var(--sans);font-size:12px;color:var(--ink3)}
.test-weak-row strong{font-family:var(--sans);font-size:12px;color:var(--orange);white-space:nowrap}
.test-weak .btn{width:100%;margin-top:16px}
@media (max-width:920px){.testgrid,.test-result-grid{grid-template-columns:1fr}.test-weak{position:static}.test-metrics{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:560px){.test-result-hero{align-items:flex-start;flex-direction:column}.test-review-grid,.test-metrics{grid-template-columns:1fr}.test-timer{width:100%}}

/* ---------- access gate ---------- */
.gate{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(120% 90% at 50% -10%, var(--bg2), var(--bg))}
.gate-card{width:100%;max-width:440px;background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:40px 38px 30px;text-align:center}
.gate-mark{width:52px;height:52px;margin:0 auto 18px;border-radius:14px;display:grid;place-items:center;font-family:var(--serif);font-weight:900;font-size:24px;color:#fff;background:linear-gradient(135deg,var(--orange),var(--gold2));box-shadow:0 6px 18px rgba(0,0,0,.18)}
.gate-eyebrow{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.gate-h{font-family:var(--serif);font-size:30px;font-weight:900;letter-spacing:-.01em;margin:8px 0 10px;color:var(--ink)}
.gate-sub{font-family:var(--read);font-size:15.5px;line-height:1.55;color:var(--ink2);margin:0 0 22px}
.gate-form{display:flex;gap:10px;flex-wrap:wrap}
#gateCode{flex:1;min-width:180px;padding:13px 16px;border:1px solid var(--line2);border-radius:12px;font:inherit;font-size:16px;background:var(--card2);color:var(--ink);text-align:center;letter-spacing:.02em}
#gateCode:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
#gateCode.shake{animation:ansShake .4s;border-color:#c0392b}
.gate-err{min-height:20px;margin-top:12px;font-family:var(--sans);font-size:13.5px;color:#c0392b;font-weight:600}
.gate-foot{margin-top:16px;font-family:var(--sans);font-size:12.5px;color:var(--ink3)}

/* ---------- unified library (all books) ---------- */
.home-tools{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 8px}
.subject-chips{display:flex;gap:8px;flex-wrap:wrap}

/* founding-beta starting path */
.beta-sprint{background:color-mix(in srgb,var(--card) 62%,transparent);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sprint-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;align-items:end;margin-bottom:22px}
.sprint-head .sec-lead{margin-bottom:0;max-width:760px}
.sprint-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.sprint-step{display:grid;grid-template-columns:42px minmax(0,1fr) 24px;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line2);border-radius:8px;padding:14px 16px;transition:border-color .16s,transform .16s,box-shadow .16s}
.sprint-step:hover{border-color:var(--orange);transform:translateY(-1px);box-shadow:var(--shadow)}
.sprint-num{font-family:var(--serif);font-size:18px;font-weight:900;color:var(--orange)}
.sprint-copy{display:flex;flex-direction:column;min-width:0}
.sprint-copy b{font-family:var(--serif);font-size:16px;line-height:1.22;color:var(--ink)}
.sprint-copy small{font-family:var(--sans);font-size:12px;color:var(--ink3);margin-top:3px}
.sprint-go{font-size:18px;font-weight:800;color:var(--orange);text-align:right}
.subject-chip{font:inherit;font-family:var(--sans);font-size:13.5px;font-weight:800;color:var(--ink2);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:9px 15px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .12s}
.subject-chip:hover{transform:translateY(-1px);border-color:var(--line3);color:var(--ink)}
.subject-chip.on{color:#fff;background:linear-gradient(120deg,var(--orange),var(--orange2));border-color:transparent;box-shadow:0 2px 9px rgba(194,65,12,.24)}
.empty-state{background:var(--card);border:1px dashed var(--line2);border-radius:var(--r);padding:28px;color:var(--ink3);font-family:var(--sans);font-weight:700;text-align:center}
.area-block{margin-top:30px}
.area-h{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.area-h span{font-weight:600;color:var(--ink4);letter-spacing:0;text-transform:none;font-size:12.5px}
.area-h::after{content:"";flex:1;height:1px;background:var(--line2)}
.book-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;perspective:1200px}
/* premium 3-D card: pointer tilt + cursor spotlight + per-subject accent */
.bcard{position:relative;display:block;text-decoration:none;background:var(--card);border:1px solid var(--line2);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;isolation:isolate;transform-style:preserve-3d;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .16s ease,box-shadow .3s ease,border-color .3s ease;will-change:transform}
.bcard:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line2));box-shadow:0 22px 48px -16px color-mix(in srgb, var(--accent) 42%, transparent), 0 8px 20px rgba(20,16,10,.10)}
.bcard-spot{position:absolute;inset:0;border-radius:inherit;z-index:0;opacity:0;transition:opacity .3s ease;pointer-events:none;background:radial-gradient(340px circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--accent) 24%, transparent), transparent 62%)}
.bcard:hover .bcard-spot{opacity:1}
.bcard-edge{position:absolute;inset:0;border-radius:inherit;z-index:2;pointer-events:none;opacity:0;transition:opacity .3s ease;background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 55%, transparent), transparent 42%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:1px}
.bcard:hover .bcard-edge{opacity:1}
.bcard-in{position:relative;z-index:1;padding:20px;transform:translateZ(34px)}
.bcard-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.bcard-labels{display:flex;flex-direction:column;align-items:flex-end;gap:5px;min-width:0}
.depth-tag{display:inline-flex;align-items:center;width:max-content;max-width:100%;border:1px solid var(--line2);border-radius:999px;padding:3px 7px;font-family:var(--sans);font-size:9.5px;font-weight:800;line-height:1.1;color:var(--ink3);background:var(--card2);white-space:nowrap}
.depth-tag.deep{color:#1f6b4e;border-color:color-mix(in srgb,#1f6b4e 28%,var(--line2));background:color-mix(in srgb,#1f6b4e 8%,var(--card))}
.depth-tag.growing{color:#865b08;border-color:color-mix(in srgb,#b7831e 30%,var(--line2));background:color-mix(in srgb,#d8a432 9%,var(--card))}
.depth-tag.early,.depth-tag.preview{color:#9b3e24;border-color:color-mix(in srgb,#b95435 28%,var(--line2));background:color-mix(in srgb,#b95435 8%,var(--card))}
.book-depth{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:11px;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--ink3)}
.bglyph{font-family:var(--serif);font-weight:800;font-size:21px;color:var(--accent,#6366F1);min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb, var(--accent) 13%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 32%, var(--line2));border-radius:12px;padding:0 9px;box-shadow:0 4px 12px -4px color-mix(in srgb, var(--accent) 40%, transparent)}
.barea{font-family:var(--sans);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 65%, var(--ink4))}
.bname{font-family:var(--serif);font-size:19px;font-weight:800;color:var(--ink);margin:0 0 4px;line-height:1.2}
.btag{font-family:var(--read);font-size:13.5px;color:var(--ink2);margin:0 0 14px;line-height:1.45}
.bcard .prog i{background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--gold2)))}
.bcard-go{display:inline-block;margin-top:12px;font-family:var(--sans);font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--accent);opacity:0;transform:translateX(-6px);transition:opacity .25s ease,transform .25s ease}
.bcard:hover .bcard-go{opacity:1;transform:translateX(0)}

/* ---------- learning path (gamified, mastery-gated) ---------- */
.lpath{display:flex;flex-direction:column;max-width:640px;margin-top:10px}
.tnode{display:flex;gap:16px;padding:0 0 20px;position:relative;cursor:pointer}
.tnode:last-child{padding-bottom:0}
.tnode-rail{position:relative;flex-shrink:0;width:52px;display:flex;justify-content:center}
.tnode::after{content:"";position:absolute;left:24px;top:54px;bottom:-2px;width:3px;background:var(--line2);border-radius:2px}
.tnode:last-child::after{display:none}
.tnode.done::after{background:color-mix(in srgb, var(--accent) 55%, var(--line2))}
.tnode-dot{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:18px;background:var(--card);border:2px solid var(--line2);color:var(--ink3);z-index:1;transition:.2s}
.tnode.done .tnode-dot{background:linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, var(--gold2)));border-color:transparent;color:#fff;box-shadow:0 5px 16px -5px color-mix(in srgb, var(--accent) 60%, transparent)}
.tnode.current .tnode-dot{border-color:var(--accent);color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 14%, transparent);animation:pulseNode 2.2s infinite}
@keyframes pulseNode{0%,100%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 14%, transparent)}50%{box-shadow:0 0 0 9px color-mix(in srgb, var(--accent) 7%, transparent)}}
.tnode.locked{cursor:default}
.tnode.locked .tnode-dot{background:var(--bg2);color:var(--ink4);font-size:16px}
.tnode-card{flex:1;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:14px 17px;box-shadow:var(--shadow);transition:transform .18s,border-color .2s,box-shadow .2s}
.tnode:not(.locked) .tnode-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb, var(--accent) 42%, var(--line2));box-shadow:var(--shadow-lg)}
.tnode.locked .tnode-card{opacity:.62;box-shadow:none}
.tnode-t{font-family:var(--serif);font-weight:800;font-size:18px;color:var(--ink);line-height:1.2}
.tnode-meta{font-family:var(--sans);font-size:12.5px;color:var(--ink3);margin-top:3px}
.tnode-cta{font-family:var(--sans);font-size:12.5px;font-weight:800;letter-spacing:.02em;color:var(--accent);margin-top:9px}
.tnode.locked .tnode-cta{color:var(--ink4)}

/* problem path within a topic — numbered nodes, no titles revealed */
.qpath{display:flex;flex-direction:column;gap:10px;max-width:620px;margin-top:6px}
.pnode{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line2);border-radius:13px;padding:12px 15px;box-shadow:var(--shadow);cursor:pointer;transition:transform .16s,border-color .2s,box-shadow .2s}
.pnode.current{border-color:color-mix(in srgb, var(--accent) 45%, var(--line2));box-shadow:0 8px 20px -10px color-mix(in srgb, var(--accent) 45%, transparent)}
.pnode:not(.locked):hover{transform:translateX(3px);border-color:color-mix(in srgb, var(--accent) 45%, var(--line2))}
.pnode.locked{opacity:.55;cursor:default}
.pnode-dot{width:36px;height:36px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:15px;background:var(--bg2);border:1px solid var(--line2);color:var(--ink3)}
.pnode.done .pnode-dot{background:var(--accent);border-color:transparent;color:#fff}
.pnode.current .pnode-dot{border:2px solid var(--accent);color:var(--accent);background:var(--card)}
.pnode-body{flex:1}
.pnode-t{font-family:var(--serif);font-weight:800;font-size:15.5px;color:var(--ink)}
.pnode-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px}
.pnode-cta{font-family:var(--sans);font-size:12.5px;font-weight:800;color:var(--accent);white-space:nowrap}

/* clean problem-workspace title */
.p-eyebrow{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
h2.sec-h.p-title{font-size:clamp(24px,3.2vw,34px);line-height:1.16}

/* match-the-following: Column I / Column II side by side */
.mt-intro{margin-bottom:14px;line-height:1.6}
.match2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.match2 .mcol{border:1px solid var(--line2);border-radius:12px;background:var(--card2);overflow:hidden}
.match2 .mch{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);background:var(--bg2);padding:9px 14px;border-bottom:1px solid var(--line2)}
.match2 .mitem{padding:11px 14px;font-size:14.5px;line-height:1.5;border-bottom:1px solid var(--line)}
.match2 .mitem:last-child{border-bottom:0}
.match2 .mitem .katex{font-size:1em}
@media (max-width:640px){ .match2{grid-template-columns:1fr} }
/* print: keep the two columns side by side, avoid breaking a row */
@media print{ .match2{grid-template-columns:1fr 1fr!important} .match2 .mitem{page-break-inside:avoid} }

/* ---------- question-formats live demo ---------- */
.qw-list{display:flex;flex-direction:column;gap:18px;margin-top:20px}
.qw{background:var(--card);border:1px solid var(--line2);border-radius:16px;box-shadow:var(--shadow);padding:22px 24px}
.qw-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qw-badge{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(120deg,var(--orange),var(--orange2));padding:4px 11px;border-radius:999px}
.qw-marks{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink3)}
.qw-hint{font-family:var(--sans);font-size:12.5px;color:var(--ink3);margin:8px 0 2px}
.qw-stmt{font-family:var(--read);font-size:16.5px;line-height:1.55;color:var(--ink);margin:10px 0 16px}
.qw-opts{display:grid;gap:9px}
.qw-opt{display:flex;align-items:center;gap:12px;text-align:left;background:var(--card2);border:1.5px solid var(--line2);border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink);transition:.15s}
.qw-opt:hover{border-color:var(--line3)}
.qw-opt .qw-ol{width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border-radius:8px;background:var(--bg2);border:1px solid var(--line2);font-family:var(--serif);font-weight:800;font-size:13px}
.qw-opt.sel{border-color:var(--orange);background:var(--orange-wash,rgba(99,102,241,.06))}
.qw-opt.sel .qw-ol{background:var(--orange);border-color:transparent;color:#fff}
.qw-opt.right{border-color:#2e7d55;background:rgba(46,125,85,.08)}
.qw-opt.right .qw-ol{background:#2e7d55;border-color:transparent;color:#fff}
.qw-opt.wrong{border-color:#c0392b;background:rgba(192,57,43,.07)}
.qw-opt.wrong .qw-ol{background:#c0392b;border-color:transparent;color:#fff}
.qw-num{margin-top:2px}
.qw-input{width:100%;max-width:320px;padding:12px 15px;border:1.5px solid var(--line2);border-radius:11px;font:inherit;font-size:16px;background:var(--card2);color:var(--ink)}
.qw-input:focus{outline:none;border-color:var(--orange)}
.qw-match{margin-top:4px}
.qw-mrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.qw-sel{font:inherit;font-size:14px;padding:5px 8px;border:1px solid var(--line2);border-radius:8px;background:var(--card);color:var(--ink)}
.qw-foot{display:flex;align-items:center;gap:14px;margin-top:16px}
.qw-res{font-family:var(--sans);font-size:14px;font-weight:700}
.qw-res.ok{color:#2e7d55}.qw-res.no{color:#c0392b}.qw-res.hint{color:var(--ink3);font-weight:600}
.qw-sol{margin-top:14px;padding:14px 16px;background:var(--sage-soft);border:1px solid var(--line2);border-radius:12px;font-family:var(--read);font-size:14.5px;line-height:1.6;color:var(--ink)}
.qw-sol-h{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);margin-bottom:6px}
.book-hero{display:flex;gap:22px;align-items:flex-start;margin:8px 0 26px}
.bh-glyph{font-family:var(--serif);font-weight:900;font-size:38px;color:#fff;min-width:76px;height:76px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--orange),var(--gold2));border-radius:18px;box-shadow:var(--shadow-lg);padding:0 10px;flex-shrink:0}
.sec-sub-h{font-family:var(--sans);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:8px 0 14px}
.hp-stats{display:flex;gap:22px;margin:6px 0 16px}
.hp-stats div{display:flex;flex-direction:column}
.hp-stats b{font-family:var(--serif);font-size:25px;font-weight:900;line-height:1;color:var(--ink)}
.hp-stats span{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--ink3);margin-top:4px}
.chips-scroll{max-height:172px;overflow-y:auto;padding:2px 4px 2px 0}
.wq-src{font-family:var(--sans);font-size:10px;font-weight:700;color:#93824f;background:#f6efdd;border-radius:6px;padding:1px 6px;margin-right:5px}
.spin{width:34px;height:34px;border:3px solid var(--line2);border-top-color:var(--orange);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (max-width:560px){ .book-hero{flex-direction:column;gap:14px} .bh-glyph{width:60px;height:60px;font-size:30px} }

/* recommendation / insight card (like the reference) */
.rec{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:18px 20px;display:flex;gap:16px;align-items:flex-start;box-shadow:var(--shadow)}
.rec .num{font-family:var(--serif);font-weight:800;font-size:16px;color:var(--ink2);background:var(--bg2);border-radius:9px;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0}
.rec .rc{flex:1}
.rec .rtags{display:flex;gap:10px;align-items:center;margin-bottom:5px;flex-wrap:wrap}
.rchip{background:var(--sage-soft);color:var(--sage);font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:8px;font-family:var(--sans)}
.rmeta{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans)}
.rec h4{font-family:var(--serif);font-size:18px;font-weight:800;margin:0 0 5px}
.rec p{color:var(--ink2);font-size:14.5px;margin:0 0 12px;line-height:1.5}
.rec .arrow{color:var(--ink4);font-size:18px;cursor:pointer;align-self:flex-start}

/* growth (editorial stat cards) */
.growth{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow)}
.gcard .gl{font-size:11px;color:var(--ink3);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px;font-family:var(--sans)}
.gcard .gv{font-family:var(--serif);font-size:34px;font-weight:900;letter-spacing:-.01em;line-height:1}
.gcard .gs{font-size:12.5px;color:var(--ink3);margin-top:5px}
.gcard.wide{grid-column:span 2;display:flex;align-items:center;justify-content:space-between}
.ring{--p:72;width:66px;height:66px;border-radius:50%;background:conic-gradient(var(--orange) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center;flex-shrink:0}
.ring::before{content:attr(data-p);width:50px;height:50px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-family:var(--serif);font-size:15px;font-weight:800}

/* growth analytics: pure SVG, local-only */
.analytics-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:22px}
.analytics-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:22px;min-width:0}
.analytics-card .gl{font-size:11px;color:var(--ink3);font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-family:var(--sans)}
.analytics-card h3{font-family:var(--serif);font-size:20px;line-height:1.18;margin:0;color:var(--ink)}
.an-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.guide-pill{font-family:var(--sans);font-size:11px;font-weight:800;color:var(--orange);background:color-mix(in srgb,var(--orange) 10%,var(--card));border:1px solid color-mix(in srgb,var(--orange) 24%,var(--line2));border-radius:999px;padding:5px 10px;white-space:nowrap}
.an-note,.an-copy{font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink3);margin:10px 0 0}
.an-copy{font-family:var(--read);font-size:15px;color:var(--ink2)}
.spark-svg,.subject-svg,.peer-svg{width:100%;height:auto;display:block;overflow:visible}
.spark-svg line,.subject-svg line{stroke:var(--line2);stroke-width:1}
.spark-svg polyline{fill:none;stroke:var(--orange);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.spark-svg circle{fill:var(--card);stroke:var(--orange);stroke-width:3}
.spark-svg text,.subject-svg text,.peer-svg text{font-family:var(--sans);font-size:12px;font-weight:700;fill:var(--ink3)}
.subject-svg .bar-bg{fill:var(--bg2)}
.subject-svg .bar-fill{fill:var(--bar);filter:drop-shadow(0 5px 10px color-mix(in srgb,var(--bar) 25%,transparent))}
.subject-svg .acc-dot{fill:var(--card);stroke:var(--ink);stroke-width:2.5}
.subject-legend{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.subject-legend span{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink3);background:var(--card2);border:1px solid var(--line);border-radius:999px;padding:5px 9px}
.subject-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.peer-card,.weak-card{grid-column:span 1}
.peer-svg .guide,.peer-svg .you{fill:none;stroke-width:4;stroke-linecap:round}
.peer-svg .guide{stroke:var(--line3);stroke-dasharray:7 8}
.peer-svg .you{stroke:var(--orange)}
.peer-svg .guide-dot{fill:var(--line3)}
.peer-svg .you-dot{fill:var(--orange);stroke:var(--card);stroke-width:3}
.next-step{margin-top:14px;background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--sage) 28%,var(--line2));border-radius:13px;padding:12px 14px;color:var(--ink2);font-family:var(--sans);font-size:14px;line-height:1.45}
.next-step b{color:var(--sage)}.next-step span{font-weight:800;color:var(--ink)}
.weak-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.weak-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:13px 14px}
.weak-item b{display:block;font-family:var(--serif);font-size:15.5px;color:var(--ink);line-height:1.2}
.weak-item span{display:block;font-family:var(--sans);font-size:12px;color:var(--ink3);margin-top:3px}
.weak-item strong{font-family:var(--serif);font-size:17px;color:var(--orange);white-space:nowrap}

/* credibility */
.cred{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:40px;box-shadow:var(--shadow);text-align:center}
.cred .founder{display:inline-flex;align-items:center;gap:13px;margin-top:20px;text-align:left}
.cred .av{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--orange),var(--gold2));color:#fff;display:grid;place-items:center;font-family:var(--serif);font-weight:800;font-size:19px}
.cred .fn{font-family:var(--serif);font-weight:800;font-size:16px} .cred .fr{font-size:13.5px;color:var(--ink3)}
.tnote{margin-top:20px;font-size:13px;color:var(--ink4);border-top:1px dashed var(--line2);padding-top:16px}

/* founder, standards and beta limits */
.about-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:56px;align-items:end;padding:24px 0 54px}
.about-title{font-family:var(--serif);font-size:clamp(40px,5.5vw,68px);line-height:1.02;margin:8px 0 18px;color:var(--ink)}
.about-lead{font-family:var(--read);font-size:21px;line-height:1.55;color:var(--ink2);max-width:720px;margin:0}
.founder-note{display:flex;gap:16px;align-items:flex-start;border-left:3px solid var(--orange);padding:8px 0 8px 20px}
.founder-note .av{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--orange),var(--gold2));color:#fff;font-family:var(--serif);font-weight:900}
.founder-note b{font-family:var(--serif);font-size:19px;color:var(--ink)}
.founder-note p{font-family:var(--read);font-size:15.5px;line-height:1.5;color:var(--ink2);margin:4px 0 0}
.about-band{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:54px;border-top:1px solid var(--line2);padding:42px 0}
.about-band h2{font-family:var(--serif);font-size:28px;line-height:1.15;color:var(--ink);margin:8px 0 0}
.about-band p{font-family:var(--read);font-size:17px;line-height:1.62;color:var(--ink2);margin:10px 0 0}
.standard-list{display:flex;flex-direction:column}
.standard-row{display:grid;grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr);gap:24px;padding:18px 0;border-bottom:1px solid var(--line)}
.standard-row:first-child{padding-top:0}.standard-row:last-child{border-bottom:0;padding-bottom:0}
.standard-row b{font-family:var(--serif);font-size:18px;line-height:1.3;color:var(--ink)}
.standard-row span{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--ink2)}
.about-band.two-col{grid-template-columns:1fr 1fr}
.correction-band{align-items:end}.about-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.tool-list{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.tool-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--line)}
.tool-row:nth-child(odd){border-right:1px solid var(--line);padding-right:20px}.tool-row:nth-child(even){padding-left:20px}
.tool-row span{font-family:var(--serif);font-size:13px;font-weight:900;color:var(--orange)}
.tool-row b{font-family:var(--sans);font-size:13.5px;line-height:1.35;color:var(--ink)}

/* ---------- daily mission ---------- */
.today-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:44px;align-items:center;padding:18px 0 30px;border-bottom:1px solid var(--line2)}
.today-title{font-family:var(--serif);font-size:clamp(36px,5vw,60px);line-height:1.04;margin:8px 0 14px;color:var(--ink)}
.today-hero p{max-width:720px;margin:0;font-family:var(--read);font-size:19px;line-height:1.58;color:var(--ink2)}
.today-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.share-status{font-size:12px;font-weight:700;color:var(--sage);min-height:18px;margin-top:7px}
.today-score{min-width:174px;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--card);border:1px solid var(--line2);border-radius:8px;padding:22px;box-shadow:var(--shadow)}
.today-score b{font-family:var(--serif);font-size:18px;margin-top:12px}.today-score span{font-size:11.5px;font-weight:700;color:var(--ink3);margin-top:2px}
.today-metrics{display:grid;grid-template-columns:repeat(5,1fr);border-bottom:1px solid var(--line2);margin-bottom:32px}
.today-metrics div{padding:20px 12px;border-right:1px solid var(--line);text-align:center}.today-metrics div:last-child{border-right:0}
.today-metrics span{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}
.today-metrics b{display:block;font-family:var(--serif);font-size:24px;line-height:1.15;margin-top:5px;color:var(--ink)}
.today-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px;align-items:start}
.daily-list{display:flex;flex-direction:column;gap:9px}
.daily-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto 112px 20px;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line2);border-left:4px solid var(--line2);border-radius:8px;padding:13px 14px;transition:transform .14s,border-color .14s,box-shadow .14s}
.daily-row:hover{transform:translateY(-1px);border-color:var(--orange);box-shadow:var(--shadow)}
.daily-row.right{border-left-color:var(--sage)}.daily-row.tried{border-left-color:var(--orange)}.daily-row.known{border-left-color:var(--gold)}
.daily-num{font-family:var(--serif);font-weight:900;color:var(--ink3)}
.daily-main{min-width:0}.daily-main b{display:block;font-family:var(--serif);font-size:16px;line-height:1.25;color:var(--ink)}
.daily-main small{display:block;font-family:var(--sans);font-size:11.5px;color:var(--ink3);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.daily-status{font-size:11.5px;font-weight:800;color:var(--ink3);text-align:right}.daily-row.right .daily-status{color:var(--sage)}.daily-row.tried .daily-status{color:var(--orange)}
.daily-go{font-size:17px;font-weight:900;color:var(--orange)}
.today-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:82px}
.week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin:18px 0 8px}
.week-day{min-width:0;height:66px;display:grid;place-items:center;align-content:center;background:var(--card2);border:1px solid var(--line);border-radius:8px;color:var(--ink3)}
.week-day span{font-size:9px;font-weight:800}.week-day b{font-family:var(--serif);font-size:16px;line-height:1.1}.week-day i{font-size:9px;font-style:normal;height:12px;color:var(--sage)}
.week-day.active{background:var(--sage-soft);border-color:color-mix(in srgb,var(--sage) 35%,var(--line))}.week-day.today{box-shadow:inset 0 0 0 2px var(--orange)}

/* ---------- data, privacy and terms ---------- */
.narrow{max-width:900px}
.policy-title{font-family:var(--serif);font-size:clamp(38px,5vw,60px);line-height:1.04;margin:8px 0 16px;color:var(--ink)}
.policy-lead{font-family:var(--read);font-size:20px;line-height:1.58;color:var(--ink2);max-width:760px;margin:0 0 34px}
.data-summary{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line2);border-radius:8px;overflow:hidden;background:var(--card);margin-bottom:28px}
.data-summary div{padding:19px 16px;border-right:1px solid var(--line);text-align:center}.data-summary div:last-child{border-right:0}
.data-summary span{display:block;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.data-summary b{display:block;font-family:var(--serif);font-size:25px;margin-top:4px;color:var(--ink)}
.policy-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;border-top:1px solid var(--line2);padding:30px 0}
.policy-band h2,.policy-copy h2{font-family:var(--serif);font-size:22px;line-height:1.2;margin:0 0 7px;color:var(--ink)}
.policy-band p,.policy-copy p{font-family:var(--read);font-size:16.5px;line-height:1.6;margin:0;color:var(--ink2)}
.policy-meta{font-family:var(--sans)!important;font-size:12px!important;color:var(--ink3)!important;margin-top:8px!important}
.data-actions{display:flex;min-width:190px;flex-direction:column;gap:9px}.data-actions .btn{width:100%}
.data-status{font-size:12px;font-weight:700;color:var(--sage);line-height:1.4;max-width:240px;min-height:16px}
.btn.danger{background:#a52a22;color:#fff}.danger-band{border-top-color:color-mix(in srgb,#a52a22 35%,var(--line2))}
.policy-links{display:flex;gap:9px;flex-wrap:wrap}.policy-links a{font-size:13px;font-weight:800;color:var(--orange);border-bottom:1px solid currentColor}
.policy-copy{border-top:1px solid var(--line2)}
.policy-copy h2{margin-top:30px}.policy-copy p a{color:var(--orange);font-weight:700}
.progress-head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;flex-wrap:wrap}.progress-head .sec-lead{margin-bottom:0}.progress-actions{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:4px}

/* optional account + server-authorized administration */
.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,430px);gap:48px;align-items:start}
.account-panel{background:var(--card);border:1px solid var(--line2);border-radius:8px;padding:24px;box-shadow:var(--shadow)}
.account-panel form{display:flex;flex-direction:column;gap:12px}.account-panel form>label:first-child{font-size:12px;font-weight:800;color:var(--ink2)}
.account-input{width:100%;min-height:46px;border:1.5px solid var(--line2);border-radius:8px;background:var(--card2);color:var(--ink);padding:10px 13px;font:inherit;font-size:16px}
.account-input:focus{outline:0;border-color:var(--orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--orange) 14%,transparent)}
.code-input{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:23px;letter-spacing:.18em;text-align:center}
.consent-row{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:12.5px;line-height:1.45;color:var(--ink2);margin:3px 0}
.consent-row input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--orange)}.consent-row a{color:var(--orange);font-weight:800;text-decoration:underline}
.text-button{border:0;background:none;color:var(--orange);font:inherit;font-size:13px;font-weight:800;cursor:pointer;padding:5px}
.account-fine,.dev-note{font-size:12px;line-height:1.5;color:var(--ink3);margin:14px 0 0}.dev-note{color:var(--sage);font-weight:700}
.cloud-status{min-height:19px;margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--sage);font-weight:700}.cloud-status.error{color:#a52a22}
.account-summary{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);margin:26px 0 32px}
.account-summary div{padding:18px 12px;border-right:1px solid var(--line);min-width:0}.account-summary div:last-child{border-right:0}
.account-summary span{display:block;font-size:10.5px;text-transform:uppercase;font-weight:800;color:var(--ink3)}.account-summary b{display:block;font-family:var(--serif);font-size:20px;margin-top:5px;overflow-wrap:anywhere}.account-summary .small-value{font-family:var(--sans);font-size:12px;line-height:1.35}
.admin-entry{border-top-color:color-mix(in srgb,var(--sage) 35%,var(--line2))}.admin-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.admin-head .policy-lead{margin-bottom:0}
.loading-line{padding:44px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);color:var(--ink3);font-weight:700}
.admin-summary{margin:28px 0}.admin-table-wrap{width:100%;overflow:auto;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.admin-summary-six{grid-template-columns:repeat(6,minmax(0,1fr))}
.admin-table{width:100%;min-width:900px;border-collapse:collapse;text-align:left;font-size:13px}.admin-table th{padding:12px 10px;color:var(--ink3);font-size:10.5px;text-transform:uppercase;border-bottom:1px solid var(--line2)}
.admin-table td{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:middle}.admin-table tbody tr:last-child td{border-bottom:0}.admin-table td b{display:block}.admin-table td small{display:block;color:var(--ink3);margin-top:2px}
.admin-plan{min-height:36px;border:1px solid var(--line2);border-radius:7px;background:var(--card);color:var(--ink);padding:6px 9px;font:inherit}.admin-actions{display:flex;align-items:center;gap:7px;min-width:230px}
.admin-more{display:flex;justify-content:center;padding:18px 0;border-bottom:1px solid var(--line2)}
.admin-actions .icon-btn{width:34px;height:34px;border-radius:7px}.status-dot{display:inline-flex;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}.status-dot.active{background:var(--sage-soft);color:var(--sage)}.status-dot.suspended{background:rgba(165,42,34,.1);color:#a52a22}.protected-label{color:var(--ink3);font-size:11px;font-weight:800;text-transform:uppercase}

/* visible provenance and correction loop */
.source-chip{display:inline-flex;align-items:center;border:1px solid var(--line2);border-radius:999px;padding:3px 9px;font-family:var(--sans);font-size:11px;font-weight:800;line-height:1.35}
.source-chip.traced{color:var(--sage);background:var(--sage-soft)}
.source-chip.review{color:var(--orange);background:color-mix(in srgb,var(--orange) 9%,var(--card))}
.source-chip.original{color:var(--ink3);background:var(--card2)}
.source-chip.challenge{color:#7a3d00;background:#fff1c9;border-color:#e7bd63}
.source-detail b{display:block;font-family:var(--serif);font-size:15px;line-height:1.35;color:var(--ink)}
.source-detail span{display:block;font-family:var(--sans);font-size:12px;line-height:1.45;color:var(--ink3);margin-top:5px}
.report-copy{font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--ink3);margin:0 0 12px}
.report-status{font-family:var(--sans);font-size:12px;line-height:1.4;color:var(--sage);font-weight:700;margin-top:9px;min-height:17px}

/* final CTA */
.finalcta{background:linear-gradient(150deg,var(--dark),var(--dark2));border-radius:var(--r-lg);padding:52px;text-align:center;color:var(--cream);position:relative;overflow:hidden}
.finalcta::after{content:"";position:absolute;left:-60px;bottom:-80px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(224,179,63,.14),transparent 70%)}
.finalcta h2{font-family:var(--serif);font-size:clamp(28px,3.4vw,42px);font-weight:900;margin:0 0 12px;letter-spacing:-.02em;position:relative;color:var(--cream)}
.finalcta p{font-family:var(--read);color:var(--cream2);font-size:17px;margin:0 0 24px;position:relative}
.finalcta .btn{position:relative}
.finalcta .btn.orange{background:linear-gradient(120deg,var(--orange),var(--gold2))}

footer{border-top:1px solid var(--line);margin-top:20px;padding:30px 0;color:var(--ink3);font-size:13.5px}
.foot-in{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot-links{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.foot-links a{color:var(--orange);font-weight:700}

/* ---------- problems list + workspace ---------- */
.page{padding:36px 0 96px}
.crumbs{font-size:13.5px;color:var(--ink3);margin-bottom:18px;font-family:var(--sans)}
.crumbs a{color:var(--orange);font-weight:600}
.plist{display:flex;flex-direction:column;gap:12px}
.prow{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:16px 18px 16px 20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:15px;cursor:pointer;position:relative;overflow:hidden;transition:border-color .18s,transform .14s,box-shadow .18s}
.prow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(var(--orange),var(--gold2));transition:width .18s}
.prow:hover{border-color:var(--line3);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.prow:hover::before{width:4px}
.prow:hover .go{opacity:1;transform:none}
.prow .pn{font-family:var(--serif);font-weight:800;color:var(--ink4);min-width:40px;font-size:15px}
.prow .pt{flex:1;min-width:0}
.prow .pt .ptt{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink)}
.prow .meta2{display:flex;gap:12px;align-items:center;margin-top:5px;flex-wrap:wrap}
.prow .dchip{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.03em;padding:2px 9px;border-radius:999px}
.dchip.easy{background:var(--sage-soft);color:var(--sage)} .dchip.mod{background:var(--bg2);color:var(--orange)} .dchip.hard{background:color-mix(in srgb,var(--orange) 15%,transparent);color:var(--orange)}
.prow .tm{font-family:var(--sans);font-size:12px;color:var(--ink3);font-weight:600;display:inline-flex;align-items:center;gap:4px}
.prow .st-lbl{font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--sage)}
.prow .go{color:var(--orange);font-size:20px;font-weight:700;opacity:0;transform:translateX(-4px);transition:.18s;flex-shrink:0}
.prow.locked{opacity:.55;cursor:not-allowed}
.prow.locked:hover{transform:none;box-shadow:var(--shadow);border-color:var(--line2)}
.prow.locked:hover::before{width:0}
.prow.locked .go{display:none}
.chk{width:24px;height:24px;border-radius:50%;border:2px solid var(--line3);flex-shrink:0;display:grid;place-items:center;font-size:11px}
.chk.done{background:var(--sage);border-color:var(--sage);color:#fff;font-weight:900}
.chk.lock{border-style:solid;border-color:var(--line2);color:var(--ink4)}

/* two-column workspace + right rail */
.ws-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.ws-grid>*{min-width:0}
.rail{position:sticky;top:78px;display:flex;flex-direction:column;gap:14px}
.rail .rcard{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:16px 18px;box-shadow:var(--shadow)}
.rail .rt{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans);margin-bottom:10px}
.rail .rrow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:14px}
.rail .rrow+.rrow{border-top:1px solid var(--line)}
.rail .rrow .k{color:var(--ink2);font-weight:500} .rail .rrow .v{font-family:var(--serif);font-weight:800;color:var(--ink)}
.rail .warn{background:color-mix(in srgb,var(--orange) 9%,var(--card));border:1px solid color-mix(in srgb,var(--orange) 25%,var(--line2));color:var(--orange);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600;line-height:1.4}
.rail .good{background:var(--sage-soft);border:1px solid color-mix(in srgb,var(--sage) 30%,transparent);color:var(--sage);border-radius:12px;padding:12px 14px;font-size:13.5px;font-weight:600}
.timer{display:inline-flex;align-items:center;gap:6px;font-family:var(--sans);font-size:13px;font-weight:700;color:var(--ink2);background:var(--card2);border:1px solid var(--line2);border-radius:999px;padding:6px 13px}
.timer .dot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:tpulse 1.6s ease-in-out infinite}
@keyframes tpulse{0%,100%{opacity:.4}50%{opacity:1}}
.gatebar{background:color-mix(in srgb,var(--orange) 8%,var(--card));border:1px solid color-mix(in srgb,var(--orange) 22%,var(--line2));border-radius:var(--r);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;color:var(--ink2)}
.gatebar b{color:var(--orange);font-family:var(--serif)}
@media (max-width:900px){.ws-grid{grid-template-columns:1fr}.rail{position:static;flex-direction:row;flex-wrap:wrap}.rail .rcard{flex:1;min-width:220px}}

/* the question is the stage: elevated 3-D card, subject accent, quiet elegance */
.stmt{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(168deg, var(--card) 0%, var(--card2) 100%);border:1px solid var(--line2);border-radius:20px;padding:26px 30px 28px;font-family:var(--read);font-size:19.5px;line-height:1.66;color:var(--ink);box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 2px 5px rgba(20,16,10,.05), 0 26px 50px -24px color-mix(in srgb, var(--accent,#6366F1) 32%, transparent)}
.stmt::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg, var(--accent,#6366F1), color-mix(in srgb, var(--accent,#6366F1) 45%, var(--gold2)));z-index:2}
.stmt::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--accent,#6366F1) 13%, transparent), transparent 70%);pointer-events:none;z-index:0}
.stmt .qtag{position:relative;z-index:1;font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:color-mix(in srgb, var(--accent,#6366F1) 78%, var(--ink3));display:flex;align-items:center;gap:8px;margin-bottom:14px}
.stmt .qtag-dot{width:7px;height:7px;border-radius:50%;background:var(--accent,#6366F1);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent,#6366F1) 16%, transparent)}
.stmt .qbody{position:relative;z-index:1}
.stmt .qbody,.ws-panel,.answrap,.wq-body,.wsol-m{min-width:0}
.stmt .qbody .katex-display,.ws-panel .katex-display,.answrap .katex-display,.wq-body .katex-display,.wsol-m .katex-display{max-width:100%;overflow-x:auto;overflow-y:hidden;padding-bottom:4px}
.stmt .parbreak{display:block;height:11px}
.problem-figure{position:relative;z-index:1;margin:22px auto 4px;padding:14px;border:1px solid var(--line2);border-radius:8px;background:var(--card);overflow:hidden}
.problem-figure svg{display:block;width:100%;height:auto;max-height:440px;margin:auto;color:var(--ink)}
[data-theme="dark"] .stmt{box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 26px 50px -24px color-mix(in srgb, var(--accent,#6366F1) 40%, transparent)}
.ws-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:22px 0 0;border-bottom:1px solid var(--line2)}
.ws-tab{padding:11px 16px;border:0;background:none;font-family:var(--sans);font-weight:700;font-size:14px;color:var(--ink3);cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.ws-tab.on{color:var(--orange);border-color:var(--orange)}
.ws-panel{padding:22px 2px 6px;font-size:16.5px;line-height:1.64}
/* premium solution walkthrough */
.soln{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:6px 26px 22px;margin-bottom:14px;box-shadow:var(--shadow)}
.soln .sname{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-weight:800;font-size:18.5px;color:var(--ink);padding:18px 0 6px;border-bottom:1px solid var(--line);margin-bottom:6px}
.soln .sname .sn-badge{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--orange),var(--gold2));display:grid;place-items:center;color:#fff;font-size:14px;flex-shrink:0;box-shadow:0 2px 7px rgba(194,65,12,.3)}
.steps{list-style:none;margin:0;padding:0;counter-reset:st;position:relative}
.steps::before{content:"";position:absolute;left:15px;top:24px;bottom:24px;width:2px;background:linear-gradient(var(--gold2),var(--line2));opacity:.5}
.steps li{counter-increment:st;position:relative;padding:14px 0 14px 46px;font-family:var(--read);font-size:17px;line-height:1.6;color:var(--ink)}
.steps li+li{border-top:1px dashed var(--line)}
.steps li::before{content:counter(st);position:absolute;left:0;top:12px;width:32px;height:32px;border-radius:50%;background:var(--card);border:2px solid var(--gold2);color:var(--orange);font-family:var(--serif);font-weight:800;font-size:14px;display:grid;place-items:center;z-index:1}
/* callouts (trap / insight) */
.callout{border-radius:var(--r-lg);padding:22px 26px;margin-bottom:14px;position:relative;overflow:hidden}
.callout .co-h{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-weight:800;font-size:19px;margin-bottom:10px}
.callout .co-b{font-family:var(--read);font-size:17px;line-height:1.62}
.callout.trap{background:linear-gradient(135deg,color-mix(in srgb,var(--orange) 10%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--orange) 28%,var(--line2))}
.callout.trap .co-h{color:var(--orange)}
.callout.insight{background:linear-gradient(135deg,color-mix(in srgb,var(--gold2) 16%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--gold2) 34%,var(--line2))}
.callout.insight .co-h{color:var(--gold)} .callout.insight .co-b{font-style:italic}
/* hints */
.hintbox{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-lg);padding:26px;box-shadow:var(--shadow);text-align:center}
.hintbox .hprog{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);font-family:var(--sans);margin-bottom:14px}
.hintbox .hlead{font-family:var(--read);font-style:italic;color:var(--ink2);font-size:16px;margin-bottom:18px}
.hint-card{text-align:left;background:var(--card2);border:1px solid var(--line2);border-left:4px solid var(--gold2);border-radius:var(--r);padding:16px 20px;margin-bottom:12px;animation:hslide .4s cubic-bezier(.2,.8,.2,1) both}
@keyframes hslide{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hint-card .hh{font-family:var(--serif);font-weight:800;font-size:15px;color:var(--orange);margin-bottom:5px}
.hint-card .hb{font-family:var(--read);font-size:16.5px;line-height:1.55}
.reveal{text-align:center;padding:8px}
.tagrow{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.tg{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--ink3);background:var(--card);border:1px solid var(--line2);border-radius:999px;padding:4px 11px}
a.tgl{text-decoration:none;cursor:pointer;transition:all .15s ease;text-transform:capitalize}
a.tgl:hover{color:var(--orange);border-color:var(--orange);background:var(--orange-wash,rgba(214,122,42,.08));transform:translateY(-1px)}
a.tgl.on{color:#fff;background:linear-gradient(120deg,var(--orange),var(--gold2));border-color:transparent}

/* concept-jump hero */
.tag-hero{padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,var(--card2),var(--card));border:1px solid var(--line2);margin-bottom:4px}

/* answer check */
.answrap{margin-top:18px;padding:16px 18px;border-radius:15px;background:var(--card2);border:1px solid var(--line2)}
.self-check-copy{max-width:720px;margin:0 0 13px;color:var(--ink2);font-family:var(--read);line-height:1.55}
.ans-lbl{font-family:var(--sans);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:9px}
#ans.ok{border-color:var(--good,#2e7d55)!important;box-shadow:0 0 0 3px rgba(46,125,85,.14)}
#ans.no{border-color:#c0392b!important;box-shadow:0 0 0 3px rgba(192,57,43,.14);animation:ansShake .3s}
@keyframes ansShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.ansres{margin-top:12px;padding:11px 14px;border-radius:11px;font-family:var(--sans);font-size:14px;line-height:1.5}
.ansres.ok{background:rgba(46,125,85,.1);border:1px solid rgba(46,125,85,.35);color:var(--ink)}
.ansres.no{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.32);color:var(--ink)}
.ansres.hint{background:var(--card);border:1px dashed var(--line3);color:var(--ink2)}
.ansres b{font-family:var(--serif)}

.katex{font-size:1.04em}
.katex-display{margin:.4em 0!important;overflow-x:auto;overflow-y:hidden}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .dpp-in{grid-template-columns:1fr;gap:26px}
  .growth{grid-template-columns:1fr 1fr} .feats{grid-template-columns:1fr}
  .analytics-grid{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:24px}
  .proof{grid-template-columns:1fr 1fr}
  .dppgrid{grid-template-columns:1fr}
  .proof .pcell:nth-child(2){border-right:0} .proof .pcell:nth-child(1),.proof .pcell:nth-child(2){border-bottom:1px solid var(--line)}
  .nav-links,.nav-search{display:none} .mobo{display:grid}.mobile-menu.open{display:grid}
  .about-hero,.about-band{grid-template-columns:1fr;gap:26px}.about-band.two-col{grid-template-columns:1fr 1fr}.about-actions{justify-content:flex-start}
  .today-grid{grid-template-columns:1fr}.today-aside{position:static;display:grid;grid-template-columns:1fr 1fr}.today-metrics{grid-template-columns:repeat(3,1fr)}.today-metrics div:nth-child(3){border-right:0}.today-metrics div:nth-child(-n+3){border-bottom:1px solid var(--line)}
  .account-layout{grid-template-columns:1fr;gap:26px}.account-summary{grid-template-columns:1fr 1fr}.account-summary div:nth-child(2){border-right:0}.account-summary div:nth-child(-n+2){border-bottom:1px solid var(--line)}.admin-summary-six{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-summary-six div:nth-child(3n){border-right:0}.admin-summary-six div:nth-child(-n+3){border-bottom:1px solid var(--line)}
}
@media (max-width:560px){
  .wrap,.nav-in{padding-left:18px;padding-right:18px}
  .growth{grid-template-columns:1fr} .gcard.wide{grid-column:span 1}
  .analytics-card{padding:18px}.weak-item{grid-template-columns:1fr}.weak-item .btn{width:100%}
  .statrow{gap:26px} .hero{padding:38px 0 20px}
  .hero-kicker{font-size:20px}.sprint-head{grid-template-columns:1fr;gap:18px}.sprint-head .btn{width:100%}.sprint-grid{grid-template-columns:1fr}.about-band.two-col,.standard-row{grid-template-columns:1fr}.about-hero{padding-top:8px}.about-lead{font-size:18px}
  .mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line2);padding:10px 16px;display:flex;gap:10px}
  .mobile-cta .btn{flex:1} body{padding-bottom:66px}
  .data-link{display:none}.mobile-menu{padding-left:18px;padding-right:18px;grid-template-columns:1fr 1fr}.mobile-menu a{padding:9px 8px}
  .today-hero{grid-template-columns:1fr;gap:22px}.today-score{width:100%;min-width:0;flex-direction:row;justify-content:center;gap:18px;text-align:left}.today-score b{margin:0}.today-score span{margin:0}.today-metrics{grid-template-columns:1fr 1fr}.today-metrics div,.today-metrics div:nth-child(3){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.today-metrics div:nth-child(even){border-right:0}.today-metrics div:last-child{grid-column:1/-1;border-right:0}
  .daily-row{grid-template-columns:34px minmax(0,1fr) 18px}.daily-row .dchip,.daily-status{grid-row:2}.daily-row .dchip{grid-column:2}.daily-status{grid-column:2;text-align:left;margin-left:78px}.daily-go{grid-column:3;grid-row:1/3}.today-aside{grid-template-columns:1fr}
  .data-summary{grid-template-columns:1fr 1fr}.data-summary div{border-bottom:1px solid var(--line)}.data-summary div:nth-child(even){border-right:0}.data-summary div:nth-last-child(-n+2){border-bottom:0}.admin-summary-six{grid-template-columns:1fr 1fr}.admin-summary-six div:nth-child(3n){border-right:1px solid var(--line)}.admin-summary-six div:nth-child(even){border-right:0}.admin-summary-six div:nth-last-child(-n+2){border-bottom:0}.policy-band{grid-template-columns:1fr;gap:18px;align-items:start}.data-actions{width:100%}.tool-list{grid-template-columns:1fr}.tool-row:nth-child(odd){border-right:0;padding-right:8px}.tool-row:nth-child(even){padding-left:8px}
  .account-panel{padding:18px}.account-summary{grid-template-columns:1fr}.account-summary div,.account-summary div:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.account-summary div:last-child{border-bottom:0}.admin-head{flex-direction:column}.admin-head .btn{width:100%}
}
@media (max-width:720px){
  .admin-table-wrap{overflow:visible;border:0}.admin-table{display:block;min-width:0}.admin-table thead{display:none}.admin-table tbody{display:grid;gap:12px}.admin-table tr{display:block;background:var(--card);border:1px solid var(--line2);border-radius:8px;padding:8px 14px;box-shadow:none}
  .admin-table td{display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;align-items:center;min-width:0;padding:9px 0;border-bottom:1px solid var(--line)}.admin-table td>*{min-width:0}.admin-table td b{overflow-wrap:anywhere}.admin-table td:last-child{border-bottom:0}.admin-table td::before{content:attr(data-label);font-size:10px;text-transform:uppercase;color:var(--ink3);font-weight:800}
  .admin-actions{min-width:0;flex-wrap:wrap}.admin-plan{width:100%;max-width:210px}
}
@media (max-width:380px){.account-link{display:none}}
@media (min-width:561px){.mobile-cta{display:none}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}


/* teacher/teacher.css */
.teacher-app {
  --teacher-accent: #1f6b4e;
  --bg: #f6f8f7;
  --card: #ffffff;
  --card2: #f5f7f6;
  min-height: 100vh;
}

.teacher-app *, .teacher-app .eyebrow { letter-spacing: 0; }
html[data-theme="dark"] .teacher-app { --bg: #151b19; --card: #1e2823; --card2: #24312b; }
.teacher-app .sec-h { font-size: 30px; line-height: 1.2; }
.teacher-app .sec-lead { font: 15px/1.65 var(--sans); margin-bottom: 12px; }
.teacher-app .btn.ghost { background: var(--card); color: var(--ink); }
.teacher-app .paper-vault summary { cursor: pointer; font-size: 14px; font-weight: 700; }
.teacher-app .paper-vault[open] summary { margin-bottom: 14px; }
.teacher-app .saved-paper-actions { display: flex; align-items: center; }
.teacher-app .teacher-quality-note { margin-top: 16px; padding: 12px 0; border-block: 1px solid var(--line2); color: var(--ink3); font-size: 12px; line-height: 1.6; }
.teacher-app .dpp-panel { border: 0; border-radius: 0; box-shadow: none; background: none; padding-left: 0; }
.teacher-app .dppgrid { align-items: start; grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
.teacher-app .worksheet { border-radius: 4px; }
.teacher-app .paper-details select { width: 100%; min-width: 0; min-height: 40px; color: var(--ink); background: var(--card); border: 1px solid var(--line2); border-radius: 6px; margin-top: 5px; padding: 6px; font: 12px var(--sans); }
.teacher-app .paper-check { display: flex; align-items: center; gap: 10px; margin: 12px 0; font-size: 13px; }
.teacher-app .paper-check input { accent-color: var(--teacher-accent); width: 18px; height: 18px; }
.teacher-app .wq-review { display: flex; align-items: start; gap: 12px; margin-bottom: 10px; font: 11px/1.5 var(--sans); color: var(--ink3); }
.teacher-app .wq-review span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.teacher-app .worksheet .wq-review, .teacher-app .ws-disclaimer { color: #52635a; }
.teacher-app .wq-review button { flex: 0 0 auto; font: inherit; }
.teacher-app .paper-warning { color: #884b08; background: #fff5dc; padding: 12px; font-size: 13px; line-height: 1.6; }
.teacher-app .ws-disclaimer { margin-top: 8px; font: 10px var(--sans); color: var(--ink3); }
.teacher-app .dpp-preview { min-width: 0; }
.teacher-app .preview-actions { flex-wrap: wrap; }
.teacher-app :focus-visible { outline: 2px solid var(--teacher-accent); outline-offset: 3px; }
.teacher-app .dpp-preview-bar { flex-wrap: wrap; }
@media (max-width: 850px) {
  .teacher-app .dppgrid { grid-template-columns: minmax(0, 1fr); }
  .teacher-app .paper-vault-head { flex-wrap: wrap; }
  .teacher-app .paper-details { grid-template-columns: minmax(0, 1fr) minmax(100px, 0.7fr); }
  .teacher-app .sec-h { font-size: 25px; }
}
@media print {
  body.teacher-app { background: #fff !important; }
  .teacher-app .wq-review, .teacher-app .paper-warning { display: none !important; }
  .teacher-app .wq { break-inside: avoid; }
  .teacher-app .ws-sec-h, .teacher-app .ws-sec-rules { break-after: avoid; }
  .teacher-app .wq-opts, .teacher-app .wsol-mn { break-inside: avoid; }
  .teacher-app .wsol-mn { break-after: avoid; }
}

.teacher-app .teacher-nav .brand > span:last-child {
  display: flex;
  align-items: baseline;
  gap: 5px;
}

.teacher-app .teacher-nav .brand small {
  color: var(--ink3);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.teacher-app .teacher-workspace {
  min-height: calc(100vh - 150px);
}

.teacher-app .teacher-workspace .sec-lead {
  max-width: 900px;
}

.teacher-app .teacher-title-row,
.teacher-app .paper-vault-head,
.teacher-app .saved-paper,
.teacher-app .dpp-preview-bar,
.teacher-app .preview-actions,
.teacher-app .chapter-tools {
  display: flex;
  align-items: center;
}

.teacher-app .teacher-title-row {
  justify-content: space-between;
  gap: 28px;
}

.teacher-app .teacher-title-row > div {
  min-width: 0;
}

.teacher-app .paper-vault {
  margin: 28px 0 4px;
  padding: 18px 0;
  border-top: 1px solid var(--line2);
  border-bottom: 1px solid var(--line2);
}

.teacher-app .paper-vault-head {
  justify-content: space-between;
  gap: 18px;
}

.teacher-app .paper-vault-head .dlabel {
  margin-bottom: 3px;
}

.teacher-app .paper-vault-head p,
.teacher-app .paper-vault-empty {
  margin: 0;
  color: var(--ink3);
  font-size: 13px;
  line-height: 1.45;
}

.teacher-app .count-pill {
  flex: 0 0 auto;
  border: 1px solid var(--line2);
  border-radius: 999px;
  padding: 5px 10px;
  color: var(--teacher-accent);
  background: var(--card);
  font-size: 11px;
  font-weight: 800;
}

.teacher-app .paper-vault-empty {
  padding-top: 14px;
}

.teacher-app .paper-vault-list {
  margin-top: 12px;
  max-height: 208px;
  overflow-y: auto;
  border-top: 1px solid var(--line);
}

.teacher-app .saved-paper {
  justify-content: space-between;
  gap: 16px;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.teacher-app .saved-paper > div:first-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.teacher-app .saved-paper b {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.teacher-app .saved-paper span {
  margin-top: 2px;
  color: var(--ink3);
  font-size: 11px;
}

.teacher-app .saved-paper-actions,
.teacher-app .preview-actions,
.teacher-app .chapter-tools {
  gap: 8px;
}

.teacher-app .paper-delete {
  width: 30px;
  height: 30px;
  color: var(--ink3);
  font-size: 20px;
}

.teacher-app .paper-delete:hover {
  color: #a52a22;
}

.teacher-app .paper-details {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px;
  gap: 9px;
}

.teacher-app .paper-details label {
  color: var(--ink3);
  font-size: 11px;
  font-weight: 700;
}

.teacher-app .paper-details input,
.teacher-app .chapter-tools input {
  width: 100%;
  min-height: 39px;
  margin-top: 5px;
  border: 1px solid var(--line2);
  border-radius: 7px;
  outline: 0;
  background: var(--card2);
  color: var(--ink);
  padding: 8px 10px;
  font: inherit;
  font-size: 13px;
}

.teacher-app .paper-details input:focus,
.teacher-app .chapter-tools input:focus {
  border-color: var(--teacher-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--teacher-accent) 12%, transparent);
}

.teacher-app .subject-chips.compact {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
}

.teacher-app .subject-chips.compact .subject-chip {
  min-width: 0;
  padding: 8px 5px;
  border-radius: 7px;
  font-size: 12px;
}

.teacher-app .subject-chips.compact .subject-chip.on {
  background: var(--teacher-accent);
  box-shadow: none;
}

.teacher-app .chapter-tools {
  align-items: flex-end;
  margin-bottom: 8px;
}

.teacher-app .chapter-tools input {
  flex: 1 1 150px;
  margin-top: 0;
}

.teacher-app .chapter-tools .text-button {
  flex: 0 0 auto;
  color: var(--teacher-accent);
  white-space: nowrap;
}

.teacher-app .chips-scroll {
  max-height: 220px;
  scrollbar-width: thin;
}

.teacher-app .filtered-out {
  display: none !important;
}

.teacher-app .selection-note {
  margin-top: 7px;
  color: var(--ink3);
  font-size: 11px;
  font-weight: 700;
}

.teacher-app .eligible-count {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  margin: 18px 0 2px;
  padding: 12px 0;
  border-top: 1px solid var(--line2);
  border-bottom: 1px solid var(--line2);
}

.teacher-app .eligible-count b {
  color: var(--teacher-accent);
  font-family: var(--serif);
  font-size: 25px;
  line-height: 1;
}

.teacher-app .eligible-count span {
  color: var(--ink3);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.3;
}

.teacher-app .dpp-preview-bar > div:first-child {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.teacher-app .dpp-preview-bar > div:first-child b,
.teacher-app .dpp-preview-bar > div:first-child span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.teacher-app .dpp-preview-bar > div:first-child span {
  margin-top: 2px;
  color: var(--ink3);
  font-size: 11px;
}

.teacher-app .mobile-cta,
.teacher-app .pal-switch {
  display: none;
}

@media (max-width: 560px) {
  .teacher-app {
    padding-bottom: 0;
  }

  .teacher-app .teacher-nav .brand small {
    display: none;
  }

  .teacher-app .teacher-nav .btn {
    display: none;
  }

  .teacher-app .teacher-title-row,
  .teacher-app .paper-vault-head,
  .teacher-app .saved-paper,
  .teacher-app .dpp-preview-bar {
    align-items: flex-start;
    flex-direction: column;
  }

  .teacher-app .teacher-title-row .btn,
  .teacher-app .preview-actions,
  .teacher-app .preview-actions .btn {
    width: 100%;
  }

  .teacher-app .paper-details {
    grid-template-columns: 1fr;
  }

  .teacher-app .subject-chips.compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .teacher-app .chapter-tools {
    align-items: stretch;
    flex-wrap: wrap;
  }

  .teacher-app .chapter-tools input {
    flex-basis: 100%;
  }
}


/* teacher/workspace.css */
body.classroom-open{overflow:hidden}
.faculty-references{border-top:1px solid var(--line);padding:24px 0;margin-top:24px}
.faculty-references h2{font-size:16px;margin:0 0 14px}.faculty-references>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.faculty-references a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:13px;overflow-wrap:anywhere}
.faculty-references small{display:block;color:var(--ink3);font-size:12px;margin-top:5px}
@media(max-width:650px){.faculty-references>div{grid-template-columns:1fr}}
.classroom-dialog{box-sizing:border-box;inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;background:var(--card);color:var(--ink);letter-spacing:0}
.classroom-dialog[open]{display:flex;flex-direction:column}
.classroom-dialog::backdrop{background:#101215}
.classroom-head{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 28px;border-bottom:1px solid var(--line);flex-shrink:0}
.classroom-head>div:first-child{min-width:0}.classroom-head h2{font-size:19px;margin:0;overflow-wrap:anywhere;line-height:1.4}
.classroom-head p{font-size:12px;font-weight:600;color:var(--teacher-accent);margin:0 0 3px;overflow-wrap:anywhere}.classroom-head p:empty{display:none}
.classroom-tools,.classroom-navigation,.classroom-reveals,.classroom-timing{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.classroom-tools{flex-shrink:0}.classroom-dialog .icon-btn{height:40px;width:40px}
.classroom-timing{padding:10px 28px;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}
.classroom-timing label{display:flex;align-items:center;gap:8px}.classroom-timing input{width:65px;height:36px;padding:5px;font:inherit;background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:4px;box-sizing:border-box}
.classroom-timing output{font:600 19px ui-monospace,monospace;min-width:65px;font-variant-numeric:tabular-nums}
#classStatus{color:var(--ink3);overflow-wrap:anywhere}
.classroom-stage{overflow:auto;flex:1;min-height:0;padding:28px max(24px,calc((100% - 1120px)/2));font-size:22px;line-height:1.7;overflow-wrap:anywhere}
.classroom-context{font:500 12px/1.5 var(--sans);color:var(--ink3);margin:0 0 18px}
.classroom-dialog.large-text .classroom-stage{font-size:28px}
.classroom-stage .katex-display{max-width:100%;overflow:auto;margin:16px 0}.classroom-stage .wq-opts{font-size:inherit}
.teacher-app .classroom-stage .wq-opt{font-size:inherit;line-height:1.7;color:var(--ink)}
.teacher-app .classroom-stage .wq-ol{font-size:16px;min-width:32px}.teacher-app .classroom-stage .wq-ot .katex{color:inherit}
.classroom-stage .wq-body,.classroom-stage .stmt{font-size:inherit}.classroom-stage img,.classroom-stage svg:not(.lucide):not(.katex svg){max-width:100%;height:auto}
/* R1a: KaTeX draws square roots, arrows and over-lines as absolutely placed SVGs sized by its own CSS; the fit rule above must never reach them. */
.classroom-stage h3{font:600 13px/1.5 var(--sans);color:var(--teacher-accent);margin:0 0 12px}
.classroom-answer,.classroom-solution,.classroom-trap{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.classroom-trap{border-left:3px solid #c38b32;padding-left:18px}.classroom-solution ol{padding-left:28px;margin:0}.classroom-solution li{padding:0 0 15px 5px}
.classroom-blank{background:#101215;flex:1;min-height:100px}
.teacher-app footer.classroom-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 28px;border-top:1px solid var(--line);flex-shrink:0;background:var(--card);margin:0;width:100%;box-sizing:border-box}
.classroom-footer label{display:flex;gap:8px;align-items:center;font-size:12px}.classroom-footer select{height:36px;max-width:120px;background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:4px;padding:5px;font:inherit}
.classroom-dialog [hidden]{display:none!important}
.classroom-dialog button:disabled{opacity:.4;cursor:default}
.classroom-dialog :focus-visible{outline:2px solid var(--teacher-accent);outline-offset:3px}
@media(max-width:850px){.classroom-head{padding:14px;align-items:flex-start;gap:10px}.classroom-tools{max-width:90px;gap:5px}.teacher-app footer.classroom-footer{padding:12px;flex-wrap:wrap}.classroom-reveals{gap:8px}.classroom-stage{padding:20px;font-size:19px}.classroom-dialog.large-text .classroom-stage{font-size:24px}.classroom-timing{padding:8px 14px}.classroom-head h2{font-size:16px}}
@media print{body.classroom-open>#app{display:none!important}.classroom-dialog[open]{position:static!important;height:auto!important;overflow:visible!important;display:block!important;color:#111;background:#fff}.classroom-tools,.classroom-timing,.classroom-footer{display:none!important}.classroom-stage{overflow:visible!important;height:auto!important;font-size:14px!important;padding:20px}.classroom-head{padding:10px 20px}}
.content-actions,.content-summary,.content-editor-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.content-storage{font-size:12px;color:var(--ink3);line-height:1.65;max-width:850px}
.content-toolbar{display:flex;gap:14px;align-items:end;padding:20px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.content-toolbar .mat-field:nth-child(2){flex:1;min-width:160px}
.content-summary{justify-content:space-between;padding:12px 0;font-size:12px;color:var(--ink3)}
.content-summary>div{display:flex;gap:8px;flex-wrap:wrap}
.content-notice{min-height:20px;font-size:12px;color:var(--teacher-accent);overflow-wrap:anywhere}
.content-notice.is-error{color:#b33c35}
.content-row{display:grid;grid-template-columns:22px minmax(0,1fr) 36px;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
.content-row>input{margin-top:8px}.content-row small{font-size:11px;color:var(--ink3)}
.content-excerpt{font-size:13px;line-height:1.6;color:var(--ink2);margin:7px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.content-badge{font-size:10px;font-weight:600;color:var(--ink3)}.content-badge.reviewed{color:var(--teacher-accent)}
.content-empty{padding:65px 20px;text-align:center;color:var(--ink3)}.content-empty h2{font-size:18px;color:var(--ink)}
.content-dialog{width:min(1100px,94vw);max-height:90dvh;padding:26px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);overflow:auto}
.content-dialog::backdrop{background:#10141999}
.content-dialog header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
.content-dialog header h2{font-size:19px;margin:5px 0}.content-dialog header small{font-size:10px;color:var(--ink3)}
.content-editor-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}
.content-fields{display:flex;flex-direction:column;gap:15px;min-width:0}
.content-fields>.mat-field{flex:0 0 auto}
.content-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.content-dialog textarea{resize:vertical;min-height:64px;font:14px/1.6 var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:4px;padding:10px;width:100%;box-sizing:border-box}
.content-fields summary{font-size:13px;cursor:pointer;padding:10px 0}.content-fields details>.mat-field{margin-top:8px}
.content-option{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:10px;align-items:end;margin-bottom:10px}
.content-option>label:last-child{font-size:11px;padding-bottom:10px}
.content-preview{min-width:0;padding-left:24px;border-left:1px solid var(--line);font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.content-preview h3{font-size:14px;margin:0 0 15px}.content-preview h4{font-size:12px;margin:22px 0 6px;color:var(--ink3)}
.content-preview .katex-display{overflow:auto;max-width:100%}.content-preview ol{padding-left:22px}
.content-preview pre{font-size:11px;line-height:1.5;white-space:pre-wrap;max-height:260px;overflow:auto}
.content-preview details{border-top:1px solid var(--line);margin-top:25px;padding-top:12px;font-size:12px}
.content-editor-actions{margin-top:16px;justify-content:flex-end;padding-top:15px;border-top:1px solid var(--line)}
.source-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}
.source-canvas{max-height:550px;overflow:auto;background:var(--bg2)}.source-canvas canvas{display:block;max-width:100%;height:auto;margin:auto}
.source-page{display:flex;gap:18px;align-items:center;margin:16px 0;font-size:12px;overflow-wrap:anywhere}
.source-page>.mat-field{flex:0 0 150px}
.content-source #sourceStatus{font-size:12px;min-height:20px}
.content-source input[type="file"]{max-width:100%;font:13px var(--sans);color:var(--ink3)}
.content-source input[type="file"]::file-selector-button{font:500 13px var(--sans);padding:10px 14px;margin-right:12px;border:1px solid var(--line2);border-radius:5px;background:var(--card);color:var(--ink);cursor:pointer}
@media(max-width:750px){.content-editor-grid,.source-columns{grid-template-columns:1fr}.content-preview{border-left:0;border-top:1px solid var(--line);padding:18px 0 0}.content-dialog{padding:18px}.content-actions{width:100%}.content-toolbar .mat-field{flex:1}.content-pair{grid-template-columns:1fr}.content-row{gap:8px}.content-toolbar{gap:10px}}
body.teacher-app[data-palette], body.teacher-app {
  --bg:#f5f6f8; --bg2:#edf0f3; --card:#fff; --card2:#f6f7f9;
  --ink:#20262c; --ink2:#48515c; --ink3:#65717c; --ink4:#82909c;
  --line:#e3e7eb; --line2:#ced5dc; --line3:#a8b5be;
  --teacher-accent:#176852; --orange:#176852; --orange2:#287e66;
  --shadow:0 1px 3px #1423330a; --shadow-lg:0 8px 30px #14233312;
  --maxw:1380px; --r:8px; --r-sm:6px; --r-lg:8px;
  background:var(--bg); font-size:14px; padding-bottom:0;
}
html[data-theme="dark"] body.teacher-app {
  --bg:#17191c; --bg2:#22252a; --card:#21252a; --card2:#282d33;
  --ink:#edf1f5; --ink2:#ccd4dc; --ink3:#abb7c2; --ink4:#8393a0;
  --line:#343c44; --line2:#45525d; --line3:#687988;
  --teacher-accent:#69c7a7; --orange:#69c7a7; --orange2:#80dabb;
}
.teacher-app h1,.teacher-app h2,.teacher-app h3,.teacher-app .dpp-h {font-family:var(--sans);letter-spacing:0}
.teacher-app h1{font-size:28px;line-height:1.25;margin:5px 0 8px;font-weight:700}
.teacher-app .page{padding:32px 0 50px}
.teacher-app .wrap{padding-inline:32px}
.teacher-app .btn,.teacher-app .btn.sm,.teacher-app .btn.lg{border-radius:6px;font-size:13px;padding:10px 15px;white-space:normal;box-shadow:none;min-height:40px;line-height:1.4}
.teacher-app .btn.sm{padding:7px 11px;min-height:34px;font-size:12px}
.teacher-app .btn.pri,.teacher-app .btn.orange{background:#176852;color:white;border:1px solid #176852;box-shadow:0 1px 2px #102a201a}
.teacher-app .btn:hover{transform:none;filter:brightness(.97)}
.teacher-app .icon-btn{border-radius:6px;width:36px;height:36px}
.teacher-app svg.lucide{width:18px;height:18px;flex:0 0 auto;stroke-width:1.7;vertical-align:middle}
.teacher-app .nav{background:var(--card);backdrop-filter:none}
.teacher-app .nav-in{padding:14px 32px;gap:26px}
.teacher-app .brand{font:700 18px var(--sans);gap:10px}
.teacher-app .brand strong{font-weight:500;color:var(--ink3)}
.teacher-app .brand .mark{background:#176852;border-radius:6px;box-shadow:none;width:32px;height:32px;font-family:Georgia,serif;font-size:23px}
.teacher-app .brand img.faculty-logo{display:block;width:38px;height:38px;object-fit:contain;flex-shrink:0}
html[data-theme="dark"] .teacher-app .brand img.faculty-logo{filter:brightness(0) invert(1)}
.teacher-app .nav-links{gap:4px}
.teacher-app .nav-links a{font-size:13px;display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:5px;white-space:nowrap}
.teacher-app .nav-links a.on{background:var(--bg2);color:var(--teacher-accent);box-shadow:none}
.teacher-beta{font-size:10px;font-weight:700;color:var(--ink3);white-space:nowrap}
.teacher-app .mobile-menu a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px}
.faculty-main{max-width:var(--maxw);padding:32px;margin:auto;min-height:calc(100vh - 150px)}
.faculty-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.faculty-heading>div{min-width:0}
.faculty-heading p{margin:0;color:var(--ink3);font-size:13px}
.faculty-heading .faculty-kicker,.faculty-kicker{font-size:10px;font-weight:700;color:var(--teacher-accent);margin:0 0 6px}
.faculty-status{display:flex;align-items:center;gap:7px;color:var(--ink3);font-size:12px;white-space:nowrap}
.teacher-app .teacher-quality-note{margin:0;border-color:var(--line);padding:10px 0;font-size:12px}
.teacher-quality-note summary{cursor:pointer;color:var(--ink3)}
.teacher-quality-note p{margin:8px 0;max-width:850px}
.teacher-app .paper-vault{margin:0;padding:15px 0;border-top:0}
.teacher-app .dppgrid{margin-top:24px;grid-template-columns:minmax(290px,340px) minmax(0,1fr);gap:32px}
.teacher-app .dpp-panel{padding-top:0;padding-right:0}
.teacher-app .dpp-h{font-size:16px;margin:0 0 18px}
.teacher-app .dlabel{font-size:12px}
.teacher-app .dhint{font-size:10px;font-weight:400}
.teacher-app .chip,.teacher-app .dbal-opt{border-radius:4px;font-size:11px;padding:6px 9px;line-height:1.4;min-height:30px}
.teacher-app .chips-scroll{max-height:175px}
.teacher-app .chip.on,.teacher-app .dbal-opt.on{background:#176852;color:white;border-color:#176852}
.teacher-app .dpp-preview{background:var(--card);border:1px solid var(--line);border-radius:8px;min-height:580px}
.teacher-app .dpp-empty{min-height:580px;padding:40px 22px}
.teacher-app .dpp-empty>svg{width:62px;height:76px;color:#849fb1;stroke-width:1.1;margin-bottom:20px}
.teacher-app .dpp-empty h3{font:600 18px var(--sans)}
.teacher-app .dpp-empty p{font-size:12px;margin-bottom:15px}
.teacher-app .dpp-empty a{font-size:12px;color:var(--teacher-accent);text-decoration:underline;text-underline-offset:4px}
.teacher-app .eligible-count b{font-family:var(--sans);font-size:23px}
.teacher-app .worksheet{border:0;box-shadow:none}
.teacher-app .worksheet h1,.teacher-app .worksheet h2,.teacher-app .worksheet h3{font-family:Georgia,serif}
.teacher-app .dpp-preview-bar{padding:16px;border-bottom:1px solid var(--line);gap:12px}
.teacher-app .dpp-preview-bar>div:first-child b,.teacher-app .dpp-preview-bar>div:first-child span{white-space:normal}
.teacher-app .dpp-note{font-size:11px;color:var(--ink3)}
.faculty-templates{padding:18px 0 22px;border-block:1px solid var(--line);margin-bottom:12px}
.template-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.template-heading h2{font-size:14px;margin:0}.template-heading>span{color:var(--ink3);font-size:11px}
.template-presets{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.template-preset{display:flex;gap:10px;align-items:start;text-align:left;padding:13px 10px;border:1px solid var(--line2);border-radius:6px;background:var(--card);color:var(--ink);cursor:pointer;min-height:72px;min-width:0}
.template-preset:hover,.template-preset:focus-visible{border-color:var(--teacher-accent);background:var(--bg2)}
.template-preset>svg{margin-top:2px;color:var(--teacher-accent)}
.template-preset span{min-width:0}.template-preset b{font:600 12px/1.5 var(--sans);display:block;overflow-wrap:anywhere}
.template-preset small{display:block;font:400 10px/1.5 var(--sans);color:var(--ink3);margin-top:4px}
.template-personal{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.template-personal>label{font-size:12px;font-weight:600;margin-right:4px}
.template-personal select{width:230px;max-width:100%;min-width:0}
.template-suggestion{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px;font-size:12px;color:var(--ink2)}
.library-tools{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:14px 0}
.library-tools>label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--ink3);flex:1 1 180px;min-width:0}
.library-tools input,.library-tools select,.template-personal select,.library-tags-label input,.library-tags-label select{font:400 13px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line2);border-radius:5px;height:38px;padding:8px 10px;max-width:100%;min-width:0}
.library-tags-label{display:flex;flex-direction:column;gap:7px;font-size:11px;color:var(--ink3);font-weight:600}
.library-tags-label input,.library-tags-label select{width:100%}.solution-choice{margin:6px 0 16px 24px}
.teacher-app .saved-paper{gap:12px;align-items:center}.saved-paper-info{flex:1;min-width:0}
.teacher-app .saved-paper-info b{display:block;white-space:normal;overflow-wrap:anywhere}.saved-paper-info>span{display:block}.saved-paper-info small{display:block;color:var(--ink3);font-size:11px;margin-top:5px;overflow-wrap:anywhere}
.library-select{display:flex;align-items:center;justify-content:center;min-width:28px;min-height:36px}
.library-select input{width:17px;height:17px;accent-color:var(--teacher-accent)}
.library-message{font-size:12px;color:var(--teacher-accent);margin:10px 0;line-height:1.6}.library-message:empty{display:none}
.library-guard{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between;margin:12px 0;padding:12px 14px;border:1px solid var(--line2);border-left:3px solid var(--teacher-accent);border-radius:var(--r-sm);background:var(--card2);font-size:12px;line-height:1.6;color:var(--ink2)}
.library-guard p{margin:0;flex:1 1 280px;overflow-wrap:anywhere}.library-guard b{color:var(--ink)}
.library-guard.is-locked{--guard:#8a5300;border-color:#e6c78e;border-left-color:var(--guard);background:#fff8ea}
html[data-theme="dark"] .library-guard.is-locked{--guard:#f0c36a;border-color:#6b5427;background:#2a2417}
.teacher-app .saved-paper-actions{flex-shrink:0;align-items:center}
.teacher-app .paper-vault-list{max-height:330px}
.teacher-app .paper-vault-head p{max-width:560px;line-height:1.65}
.teacher-app .ws-brand{overflow-wrap:anywhere}
.teacher-app footer{background:var(--card);padding:22px 0;border-top:1px solid var(--line);font-size:11px}
.teacher-app .foot-in{gap:20px}
.teacher-app .foot-links{gap:20px}
.faculty-policy{max-width:850px;line-height:1.85}
.faculty-policy h2{font-size:18px;margin-top:32px}
.faculty-policy p{color:var(--ink2)}
/* Authored diagrams use SVG geometry and measured, typeset mathematical labels. */
.teacher-app .problem-figure{max-width:620px;margin:20px auto;padding:12px;border:0;background:transparent;overflow:visible;break-inside:avoid}
.teacher-app .problem-figure svg{display:block;width:100%;height:auto;max-height:none}
.diagram-math{display:inline-block;white-space:nowrap;line-height:1.2;font-family:Georgia,serif;margin:0;padding:0}
.diagram-math .katex{font-size:1em!important}.diagram-math .katex-display{display:inline!important;margin:0!important;overflow:visible!important}
.content-heading{display:inline-block;margin:8px 0 4px}
.teacher-app .parbreak{display:block;height:10px}
.command-builder{padding:20px 0;border-block:1px solid var(--line);margin:16px 0 24px}
.command-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}
.command-heading label{font:600 16px var(--sans)}.command-heading span{font:12px var(--sans);color:var(--ink3)}
.command-builder form{display:flex;gap:12px;align-items:center}
.command-builder textarea{resize:vertical;min-height:70px;max-height:200px;flex:1;min-width:0;border:1px solid var(--line2);border-radius:6px;background:var(--card);color:var(--ink);padding:12px;font:14px/1.6 var(--sans)}
.command-builder [role="status"]{font:14px/1.7 var(--sans);color:var(--ink2);margin-top:12px}
.command-plan ul{display:flex;flex-wrap:wrap;gap:8px 24px;list-style:none;padding:0}.command-plan li b{color:var(--teacher-accent)}
.paper-export-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--card);border-bottom:1px solid var(--line);padding:12px 16px}
.paper-export-tools [role="status"]{font:12px/1.6 var(--sans);color:var(--ink2);flex-basis:100%}.paper-export-tools [role="status"]:empty{display:none}
.share-file{position:relative;overflow:hidden;cursor:pointer}.share-file input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.share-file:focus-within{outline:2px solid var(--teacher-accent)}
@media(max-width:560px){.command-builder form{align-items:stretch;flex-direction:column}.command-heading{align-items:start;flex-direction:column;gap:5px}}
.teacher-app .worksheet{--ink:#111;--ink2:#222;--ink3:#444;--gold:#222;--card:#fff;--line2:#ccc;--paper-accent:#222;--paper-tint:#f4f4f4;color:#111;color-scheme:light}
.teacher-app .worksheet.ink-color{--paper-accent:#126653;--paper-tint:#edf6f3;--gold:#215e91}
.teacher-app .worksheet.ink-mono .problem-figure{filter:grayscale(1)}
.teacher-app .worksheet.ink-color .ws-brand,.teacher-app .worksheet.ink-color .wsol-mn{color:var(--paper-accent)}
.teacher-app .worksheet.ink-color .ws-sec-h{border-color:var(--paper-accent);background:var(--paper-tint);color:var(--paper-accent)}
.teacher-app .method-picker{font:12px/1.6 var(--sans);color:#48545c;padding:10px 0 0;border-top:1px dashed #d8dde0;margin-top:12px}
.method-picker summary{cursor:pointer}.method-picker>div{display:grid;gap:8px;padding:12px 0}
.method-picker label{display:flex;gap:8px;align-items:start}.method-picker input{flex-shrink:0;margin-top:3px;accent-color:#126653}
.figure-warning{font:13px/1.6 var(--sans);color:#9a3b1c;background:#fff4e9;padding:12px;border:1px solid #dba888}
.teacher-app .paper-seminar .ws-head{text-align:left;border-top:5px solid var(--paper-accent);padding-top:18px}
.teacher-app .paper-seminar .ws-logo{margin-left:0}
.teacher-app .paper-seminar .wsol-m{border-left:2px solid var(--paper-accent);padding-left:18px;margin-block:20px}
.teacher-app .paper-practice .ws-head{border-bottom:3px double var(--paper-accent)}
.teacher-app .paper-practice .wq-main:after{content:"";display:block;height:64px;margin-top:18px;border-block:1px solid #d0d3d6;background:repeating-linear-gradient(transparent 0 21px,#d0d3d6 21px 22px)}
.style-seminar{border-top:4px solid #176852!important}.style-seminar b{margin-left:0}
.style-practice i{height:9px!important;background:repeating-linear-gradient(#fff 0 3px,#c3cad0 3px 4px)!important}
@media print{
  .method-picker,.figure-warning,.paper-export-tools,.command-builder{display:none!important}
  .teacher-app .worksheet{color:#111!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .teacher-app .problem-figure{max-width:110mm;margin-block:10px;break-inside:avoid}
  /* R1a (PB-10): a question's stem and options print on one page. Worked solutions may still flow across pages. */
  .teacher-app .wq{break-inside:avoid;page-break-inside:avoid}
  .teacher-app .wsol-q{break-inside:auto;page-break-inside:auto}
  .teacher-app .wq-opts,.teacher-app .wsol-steps li{break-inside:avoid}
  .teacher-app .ws-head,.teacher-app .wsol-qn,.teacher-app .wsol-mn{break-after:avoid}
  .teacher-app .wq-body .katex-display,.teacher-app .wsol-m .katex-display{overflow:visible}
}
/* Tool rail and document work surface. */
.mat-layout{display:grid;grid-template-columns:215px minmax(0,1fr);gap:40px}
.mat-nav{border-right:1px solid var(--line);padding-right:22px}
.mat-nav h2{font-size:13px;margin:4px 0 20px;color:var(--ink3)}
.mat-nav nav{display:flex;flex-direction:column;gap:5px}
.mat-nav button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 10px;border:0;border-radius:5px;background:transparent;font:500 13px var(--sans);color:var(--ink2);cursor:pointer}
.mat-nav button:hover{background:var(--bg2)}
.mat-nav button.active{background:var(--card);color:var(--teacher-accent);box-shadow:inset 3px 0 0 var(--teacher-accent)}
.mat-nav>p{font-size:11px;line-height:1.9;color:var(--ink2);margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.mat-nav>p svg{margin-right:5px;color:var(--teacher-accent)}
.mat-nav>p span{color:var(--ink3)}
.mat-work{min-width:0}
.mat-drop{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px dashed var(--line3);border-radius:6px;padding:26px;background:var(--card)}
.mat-drop.drag{outline:2px solid var(--teacher-accent);background:var(--bg2)}
.mat-drop>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:4px 12px;align-items:center}
.mat-drop>div svg{grid-row:span 2;width:26px;height:26px;color:var(--teacher-accent)}
.mat-drop strong{font-size:14px;font-weight:600}
.mat-drop span{font-size:11px;color:var(--ink3)}
.mat-upload{position:relative;overflow:hidden;flex-shrink:0}
.mat-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.mat-upload:focus-within{outline:2px solid var(--teacher-accent);outline-offset:3px}
.mat-toolbar{display:flex;align-items:center;justify-content:space-between;padding:20px 0 12px;font-size:12px;color:var(--ink3)}
.mat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;color:var(--ink3);font-size:13px}
.mat-empty>svg{width:36px;height:42px;color:#829cac}
.mat-files{border-top:1px solid var(--line)}
.mat-file{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);min-width:0}
.mat-thumb{width:62px;height:76px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:5px}
.mat-thumb canvas{max-width:100%;max-height:100%;object-fit:contain;background:white;box-shadow:0 1px 4px #0002}
.mat-file-info{min-width:0;flex:1;font-size:12px}
.mat-file-info b{display:block;overflow-wrap:anywhere;font-weight:600;line-height:1.5}
.mat-file-info small{display:block;color:var(--ink3);margin-top:3px;font-size:10px}
.mat-file-actions{display:flex;gap:4px;flex-shrink:0}
.mat-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--card);border:1px solid var(--line2);border-radius:5px;color:var(--ink2);cursor:pointer;flex-shrink:0}
.mat-icon:hover{border-color:var(--teacher-accent);color:var(--teacher-accent)}
.teacher-app button:disabled,.teacher-app input:disabled,.teacher-app select:disabled{opacity:.45;cursor:not-allowed}
.mat-settings{display:flex;flex-wrap:wrap;align-items:end;gap:18px;margin:24px 0;padding-top:20px;border-top:1px solid var(--line)}
.mat-field{display:flex;flex:1 1 170px;flex-direction:column;min-width:0;gap:7px;font-size:11px;color:var(--ink3);font-weight:600}
.mat-field input,.mat-field select{width:100%;height:40px;min-width:0;border:1px solid var(--line2);border-radius:5px;background:var(--card);font:400 13px var(--sans);padding:9px 10px;color:var(--ink)}
.mat-field input[type="range"]{padding:0;accent-color:var(--teacher-accent);background:none;border:0}
.mat-field input:focus,.mat-field select:focus{outline-color:var(--teacher-accent)}
.mat-check{display:flex;align-items:center;gap:8px;font-size:12px;min-height:40px}
.mat-check input,.mat-file-info input,.bank-select input{accent-color:var(--teacher-accent);width:17px;height:17px}
.mat-hint{font-size:11px;line-height:1.65;color:var(--ink3);margin:0;flex-basis:100%}
.mat-footnote{margin-top:24px;max-width:650px}
.mat-export,.mat-export #matOutput{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.mat-download{background:#215e91;color:#fff}
.mat-error{color:#b63429;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme="dark"] .mat-error{color:#ffa99d}
.mat-progress{color:var(--teacher-accent);font-size:12px}
.mat-error:empty,.mat-progress:empty{display:none}
.mat-pages{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;max-height:600px;overflow:auto;padding:2px}
.mat-page{display:flex;flex-direction:column;align-items:stretch;background:var(--card);border:1px solid var(--line);padding:12px;border-radius:6px;gap:10px}
.mat-page .mat-thumb{width:100%;height:145px}
.mat-page .mat-file-info label{display:flex;gap:6px;align-items:center}
.mat-page .mat-file-actions{justify-content:flex-end}
.mat-page-actions{display:flex;align-items:center;gap:18px;margin-bottom:12px;font-size:12px}
.mat-page-actions button{border:0;background:none;color:var(--teacher-accent);cursor:pointer;padding:5px 0;font:inherit}
.mat-page-actions span{margin-left:auto;color:var(--ink3)}
/* Question bank is a scanning table, with the full derivation in a modal. */
.bank-filters{display:grid;grid-template-columns:1.7fr .8fr 1.2fr 1fr 1fr;gap:14px;padding:20px 0;border-block:1px solid var(--line)}
.bank-summary,.bank-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.bank-summary{margin:18px 0 10px;font-size:13px;font-weight:600}
.bank-row{display:flex;gap:20px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.bank-select{padding-top:26px}
.bank-content{min-width:0;flex:1}
.bank-title{background:none;border:0;text-align:left;padding:0;font:600 16px/1.5 var(--sans);color:var(--ink);cursor:pointer;margin:5px 0}
.bank-title:hover{color:var(--teacher-accent)}
.bank-meta{font-size:10px;color:var(--ink3)}
.bank-meta span{padding:0 6px;color:var(--line3)}
.bank-excerpt{max-height:56px;overflow:hidden;font-size:13px;color:var(--ink2);line-height:1.8}
.bank-excerpt .problem-figure{display:none}
.bank-excerpt .katex-display{display:inline;margin:0}
.bank-content>small{display:block;font-size:10px;color:#477da1;margin-top:8px}
html[data-theme="dark"] .bank-content>small{color:#95c9ed}
.bank-pagination{display:flex;gap:18px;align-items:center;justify-content:center;padding:24px 0;font-size:12px}
.bank-dialog{width:min(820px,calc(100% - 28px));max-height:85vh;padding:30px;background:var(--card);color:var(--ink);border:1px solid var(--line2);border-radius:8px;box-shadow:0 20px 80px #0004}
.bank-dialog::backdrop{background:#111a2266;backdrop-filter:blur(3px)}
.bank-dialog header{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:24px}
.bank-dialog h2{font-size:20px;margin:5px 0}
.bank-dialog small,.bank-source{color:var(--ink3);font-size:11px}
.bank-full-statement{font-size:15px;line-height:1.8;overflow-x:auto}
.bank-options{padding-left:25px;line-height:1.9}
.bank-answer{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}
.bank-answer summary{cursor:pointer;font-weight:600}
.bank-answer-key{padding:20px 0}
.bank-answer h3{font-size:15px}
.bank-answer ol{padding-left:22px;font-size:14px}
.bank-answer li{margin:12px 0;overflow-wrap:anywhere}
.teacher-app [hidden]{display:none!important}
@media(max-width:1050px){
  .template-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .teacher-app .nav-in{gap:15px}.teacher-beta{display:none}
  .mat-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}
  .mat-nav{padding-right:14px}.mat-nav button{font-size:12px;padding:11px 8px}
  .teacher-app .nav-links a{font-size:12px;padding:9px}
  .bank-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.bank-search{grid-column:span 2}
}
@media(max-width:850px){
  .teacher-app .dppgrid{grid-template-columns:minmax(0,1fr)}
  .teacher-app .nav-links{display:none}.teacher-app .mobo{display:grid}
  .teacher-app .mobile-menu.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .mat-layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .mat-nav{border:0;padding:0}.mat-nav>h2,.mat-nav>p{display:none}
  .mat-nav nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
  .mat-nav button{flex-direction:column;gap:6px;text-align:center;padding:10px 5px;font-size:10px}
  .mat-nav button.active{box-shadow:inset 0 -2px var(--teacher-accent)}
  .faculty-status{font-size:10px}.mat-drop{padding:20px}
}
@media(max-width:560px){
  .template-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .template-personal{gap:8px}.template-personal>label{flex-basis:100%}.template-personal select{width:100%}
  .teacher-app .saved-paper{flex-wrap:wrap}.teacher-app .saved-paper-actions{width:100%;justify-content:flex-end}
  .library-tools .btn{flex:1 1 180px}.library-tools>label{flex-basis:100%}
  .teacher-app .wrap,.faculty-main{padding-inline:18px}.faculty-main{padding-top:22px}
  .teacher-app .nav-in{padding:12px 18px;gap:10px}.teacher-app .brand{font-size:16px}
  .teacher-app .nav-sp{min-width:0}.teacher-app .brand .mark{width:28px;height:28px}
  .teacher-app .mobile-menu{padding-inline:18px}.teacher-app .mobile-menu a{flex-direction:column;padding:10px 4px;font-size:11px}
  .teacher-app h1{font-size:23px}.faculty-heading{align-items:start;flex-wrap:wrap;gap:12px}
  .faculty-heading .btn{font-size:11px;padding:8px 11px}.faculty-status{margin-left:0}
  .mat-drop{flex-direction:column;align-items:stretch;gap:18px;padding:20px}
  .mat-drop>div{grid-template-columns:26px minmax(0,1fr);gap:4px 10px}.mat-drop span{font-size:10px}
  .mat-upload{align-self:start}.mat-file{gap:10px;flex-wrap:wrap}.mat-file-info{min-width:140px}
  .mat-file-actions{margin-left:auto}.mat-settings{gap:14px}.mat-field{flex-basis:140px}
  .mat-file .mat-thumb{width:50px;height:62px}.mat-page .mat-thumb{width:100%;height:125px}
  .mat-pages{grid-template-columns:repeat(2,minmax(0,1fr))}.mat-page .mat-file-info{min-width:0}
  .mat-export{gap:12px}.mat-export #matOutput{width:100%}
  .bank-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .bank-row{gap:12px;padding-block:20px}.bank-title{font-size:14px}.bank-dialog{padding:20px}
  .bank-summary>div{width:100%;justify-content:space-between}.bank-summary .btn{font-size:11px}
  .teacher-app .foot-in{align-items:start;flex-direction:column;gap:12px}
}
@media print{
  .faculty-templates,.library-message{display:none!important}
  .faculty-main,.teacher-quality-note,.paper-vault,.teacher-app footer,.teacher-nav,.faculty-heading{display:none!important}
  .teacher-app .dpp-preview{border:0;border-radius:0;min-height:0}
}

/* Faculty workbench: navigation stays outside the paper and its editing controls. */
.teacher-app{font-size:16px}
.teacher-app .nav-in{height:72px;max-width:none;padding:12px 24px;gap:18px}
.teacher-app .teacher-beta{font-size:12px}
.faculty-menu{position:fixed;left:0;top:72px;bottom:0;width:216px;padding:24px 14px;display:flex;flex-direction:column;gap:6px;background:var(--card);border-right:1px solid var(--line);overflow:auto}
.faculty-menu>a{display:flex;align-items:center;gap:11px;padding:12px 10px;border-radius:5px;font:500 14px var(--sans);color:var(--ink2);text-decoration:none}
.faculty-menu>a:hover{background:var(--bg2)}
.faculty-menu>a.on{background:#e8f2ee;color:#145640;box-shadow:inset 3px 0 #176852}
html[data-theme="dark"] .faculty-menu>a.on{background:#243d34;color:#b0ead4}
.menu-group{font-size:12px;font-weight:600;color:var(--ink3);margin:20px 10px 7px}
.menu-group:first-child{margin-top:0}
.menu-bottom{margin-top:auto;padding:32px 10px 8px;display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ink3)}
.menu-bottom a{flex-basis:100%;margin-top:5px;color:var(--ink2)}
.teacher-app .page,.teacher-app .faculty-main,.teacher-app footer{margin-left:216px;width:calc(100% - 216px);max-width:none}
.teacher-app .wrap{max-width:1500px;padding-inline:32px}
.teacher-app .faculty-heading p{font-size:14px;line-height:1.6}
.teacher-app .faculty-kicker{font-size:12px}
.teacher-app .faculty-heading{margin-bottom:24px}
.heading-actions{display:flex;flex-wrap:wrap;gap:10px}
.teacher-app .source-details{grid-template-columns:minmax(0,1fr);gap:14px}
.teacher-app .dpp-preview{scroll-margin-top:90px}
.teacher-app .teacher-quality-note{font-size:13px;margin:0 0 20px;padding:10px 0}
.teacher-workspace:not([data-workspace-view="templates"]) .faculty-templates,
.teacher-workspace:not([data-workspace-view="papers"]) .paper-vault,
.teacher-workspace:not([data-workspace-view="builder"]) .dppgrid{display:none}
.teacher-app .dppgrid{margin-top:0;gap:28px;grid-template-columns:minmax(320px,370px) minmax(0,1fr)}
.builder-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line2);margin-bottom:24px}
.builder-tabs button{font:600 14px var(--sans);color:var(--ink3);background:none;border:0;border-bottom:3px solid transparent;padding:14px 6px;cursor:pointer}
.builder-tabs button[aria-selected="true"]{color:var(--teacher-accent);border-bottom-color:var(--teacher-accent)}
.dpp-panel:not([data-builder-step="design"]) #panel-design,
.dpp-panel:not([data-builder-step="questions"]) #panel-questions,
.dpp-panel:not([data-builder-step="output"]) #panel-output{display:none}
.teacher-app .dfield{margin-bottom:22px}
.teacher-app .dlabel,.teacher-app .library-tags-label,.teacher-app .paper-details label,.teacher-app .mat-field,.library-tools>label{font-size:14px;color:var(--ink2);line-height:1.5;font-weight:500}
.teacher-app .dlabel .dhint{display:none}
.teacher-app input,.teacher-app select{font-family:var(--sans)}
.teacher-app .paper-details input,.teacher-app .paper-details select,.teacher-app .library-tags-label input,.teacher-app .library-tags-label select,.teacher-app .chapter-tools input,.teacher-app .mat-field input,.teacher-app .mat-field select,.teacher-app .library-tools input,.teacher-app .library-tools select{font-size:14px;min-height:42px;background:var(--card);border-radius:5px}
.teacher-app .paper-check{font-size:14px;align-items:start;line-height:1.6}
.teacher-app .paper-check input{flex-shrink:0;margin-top:3px}
.teacher-app .btn,.teacher-app .btn.sm,.teacher-app .btn.lg{font-size:14px;min-height:40px}
.teacher-app .text-button{font-size:13px;line-height:1.5}
.teacher-app .chip,.teacher-app .dbal-opt{font-size:13px;min-height:34px}
.teacher-app .subject-chips.compact{display:flex;flex-wrap:wrap}
.teacher-app .subject-chips.compact .subject-chip{font-size:13px;min-height:40px;flex:1 1 60px}
.teacher-app #dBook{display:block;max-height:280px;padding-right:6px;border-block:1px solid var(--line);background:transparent}
.chapter-group h4{font:600 12px var(--sans);color:var(--ink3);margin:18px 8px 6px;text-transform:uppercase}
.teacher-app #dBook .chip{display:flex;align-items:center;gap:10px;width:100%;text-align:left;margin:0 0 3px;padding:9px 8px;border:0;background:none;color:var(--ink2);font-size:14px;white-space:normal}
.teacher-app #dBook .chip.on{background:var(--card);color:var(--teacher-accent);font-weight:600}
.chapter-check{width:16px;height:16px;flex-shrink:0;border:1px solid var(--line3);border-radius:3px;background:var(--card)}
.on>.chapter-check{background:#176852;border-color:#176852;box-shadow:inset 0 0 0 3px #fff}
.teacher-app #dBook .all-chapters{font-size:13px;margin-top:5px}
.teacher-app .selection-note,.teacher-app .dbal-desc,.teacher-app .dpp-note{font-size:13px;line-height:1.6}
.teacher-app .eligible-count span{font-size:13px;font-weight:400}
.teacher-app .dpp-preview{border-radius:4px;min-height:660px;background:#e9ecef}
.teacher-app .dpp-empty{min-height:660px;background:var(--card)}
.teacher-app .dpp-empty p,.teacher-app .dpp-empty a{font-size:14px}
.teacher-app .dpp-review-hold{padding:28px;max-width:760px;margin:auto;color:var(--ink)}
.teacher-app .dpp-review-hold h3{font:600 20px/1.3 var(--sans);margin:0 0 8px}
.teacher-app .dpp-review-hold p{font:400 14px/1.5 var(--sans);color:var(--ink3);margin:0 0 20px}
.teacher-app .dpp-review-hold ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.teacher-app .dpp-review-hold li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
.teacher-app .dpp-review-hold li span{flex:1 1 220px;font:500 14px/1.4 var(--sans);overflow-wrap:anywhere}
.teacher-app .dpp-preview-bar{background:var(--card);border-radius:4px 4px 0 0}
.teacher-app .dpp-preview-bar>div:first-child b{font-size:14px}
.teacher-app .dpp-preview-bar>div:first-child span{font-size:12px;line-height:1.6}
.teacher-app .worksheet{padding:36px 30px;margin:20px;background:#fff;box-shadow:0 2px 7px #0000000e;border-radius:0}
.teacher-app .worksheet h2{font-family:var(--exam)}
.teacher-app .worksheet.font-serif{--exam:Cambria,Georgia,'Times New Roman',serif}
.teacher-app .worksheet.font-sans{--exam:Arial,Helvetica,sans-serif}
.teacher-app .ws-logo{display:block;width:auto;height:auto;max-width:160px;max-height:60px;margin:0 auto 14px;object-fit:contain}
.teacher-app .ws-brand{font:700 21px/1.3 var(--exam);letter-spacing:0;text-transform:none;color:#111}
.teacher-app .ws-teacher{font:500 14px/1.5 var(--exam);margin-top:5px;color:#111;overflow-wrap:anywhere}
.teacher-app .ws-subtitle{font:400 13px/1.5 var(--exam);margin-top:5px;color:#333;overflow-wrap:anywhere}
.teacher-app .ws-title{font-size:22px;margin:18px 0 10px}
.teacher-app .ws-sub{font:400 12px/1.6 var(--exam);overflow-wrap:anywhere}
.teacher-app .ws-fields{font-family:var(--exam);font-size:12px;gap:14px;flex-wrap:wrap}
.teacher-app .wq{padding-block:18px}
.teacher-app .wq-body,.teacher-app .wq-opt{font-size:15px;line-height:1.65}
.teacher-app .wsol-steps li{font-size:14px;line-height:1.65;margin-block:8px}
.teacher-app .paper-modern .ws-head{text-align:left;border-bottom:1px solid #222;padding-bottom:20px}
.teacher-app .paper-modern .ws-logo{margin-left:0}
.teacher-app .paper-modern .ws-sec-h{background:#f3f4f5;border:0;padding:10px}
.teacher-app .paper-compact .ws-head{padding-bottom:10px}
.teacher-app .paper-compact .ws-title{margin:10px 0;font-size:20px}
.teacher-app .paper-compact .wq{padding-block:10px}
.teacher-app .paper-compact .wq-body,.teacher-app .paper-compact .wq-opt{font-size:14px;line-height:1.5}
.teacher-app .paper-compact .wsol-steps li{font-size:13.5px;line-height:1.5;margin-block:4px}
.paper-style-choice{margin:0 0 22px;padding:0;border:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.paper-style-choice legend{font-size:14px;color:var(--ink2);margin-bottom:10px}
.paper-style-choice label{position:relative;font-size:12px;line-height:1.5;cursor:pointer}
.paper-style-choice input{position:absolute;top:10px;left:9px;accent-color:var(--teacher-accent)}
.style-swatch{display:block;border:1px solid var(--line2);border-radius:4px;background:#fff;height:100px;padding:20px 14px 12px 32px;margin-bottom:7px}
.paper-style-choice input:checked+.style-swatch{outline:2px solid var(--teacher-accent);outline-offset:0}
.style-swatch b,.style-swatch i{display:block;height:3px;background:#c3cad0;margin-bottom:9px;width:100%}
.style-swatch b{background:#53616a;height:6px;width:65%;margin:0 auto 16px}
.style-modern b{margin-left:0;width:85%}.style-modern i:nth-child(2){height:9px;background:#eef0f2}
.style-compact b{margin-bottom:12px}.style-compact i{margin-bottom:5px}
.logo-control input{max-width:100%;font-size:12px}
.logo-sample{display:flex;align-items:center;gap:15px;margin-top:10px}
.logo-sample img{max-width:100px;max-height:45px;object-fit:contain;background:#fff}
.logo-control p{font-size:12px;line-height:1.6;color:var(--ink3);margin:8px 0 0}
.teacher-app .faculty-templates{border:0;margin:20px 0}
.template-presets{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.template-preset{padding:24px;min-height:110px}.template-preset b{font-size:16px}.template-preset small{font-size:13px}
.template-heading h2{font-size:18px}.template-heading>span,.template-personal>label{font-size:14px}
.template-personal{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.teacher-app .paper-vault-list{max-height:none}
.teacher-app .saved-paper{padding-block:20px}
.teacher-app .saved-paper b{font-size:16px}.teacher-app .saved-paper span,.teacher-app .saved-paper-info small{font-size:13px}
.teacher-app .library-message{font-size:14px}
.teacher-app .bank-meta{font-size:12px;line-height:1.8}.teacher-app .bank-excerpt{font-size:15px;max-height:62px}
.teacher-app .bank-title{font-size:17px}.teacher-app .bank-content>small{font-size:12px}
.teacher-app .mat-nav button{font-size:14px}.teacher-app .mat-hint,.teacher-app .mat-file-info small{font-size:12px}
.teacher-app .mat-file-info{font-size:14px}.teacher-app .mat-nav>p{font-size:13px}
@media(max-width:1250px){
  .teacher-app .wrap,.teacher-app .faculty-main{padding-inline:24px}
  .teacher-app .dppgrid{grid-template-columns:minmax(290px,330px) minmax(0,1fr);gap:20px}
  .teacher-app .worksheet{margin:12px;padding:28px 20px}
}
@media(max-width:1100px){
  .teacher-app .page,.teacher-app .faculty-main,.teacher-app footer{margin-left:0;width:100%}
  .teacher-app .mobo{display:grid}
  .faculty-menu{display:none;top:72px;width:260px;box-shadow:12px 0 30px #0002}
  .faculty-menu.open{display:flex}
  .teacher-app .teacher-beta{display:none}
}
@media(max-width:850px){
  .teacher-app .dppgrid{grid-template-columns:minmax(0,1fr)}
  .teacher-app .dpp-empty{min-height:340px}.teacher-app .dpp-preview{min-height:340px}
  .template-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-app .worksheet{margin:16px;padding:32px}
}
@media(max-width:560px){
  .teacher-app .wrap,.teacher-app .faculty-main{padding-inline:16px}
  .teacher-app .nav-in{padding-inline:16px;height:64px}.faculty-menu{top:64px}
  .teacher-app .faculty-heading .btn{font-size:14px}
  .teacher-app .worksheet{padding:22px 14px;margin:8px}
  .teacher-app .ws-brand{font-size:18px}.teacher-app .ws-title{font-size:20px}
  .teacher-app .paper-details{grid-template-columns:minmax(0,1fr) 90px}
  .teacher-app .subject-chips.compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-app .saved-paper{flex-direction:row;align-items:center}
  .teacher-app .preview-actions{width:auto}.teacher-app .preview-actions .btn{width:auto}
  .template-presets{grid-template-columns:minmax(0,1fr)}
  .template-preset{min-height:80px;padding:18px}
}
@media print{
  .faculty-menu,.builder-tabs,.library-message{display:none!important}
  .teacher-app .page,.teacher-app footer{margin-left:0;width:100%;padding:0}
  .teacher-app #worksheet{margin:0;padding:0;box-shadow:none;border:0}
  .teacher-app .dpp-preview{background:white}
  .teacher-app .ws-logo{print-color-adjust:exact}
  .teacher-app .ws-section-intro{break-inside:avoid;break-after:avoid}
  .teacher-app .ws-sec-rules{break-inside:avoid}
}


/* teacher/workbench.css */
/* Screen-only faculty chrome. Printed papers retain their existing document styles. */
@media screen and (min-width:1200px) and (min-height:800px) {
  .teacher-workspace[data-workspace-view="builder"]>.wrap { height:calc(100dvh - 112px); display:flex; flex-direction:column; }
  .teacher-workspace[data-workspace-view="builder"]>.wrap>.dppgrid { flex:1; height:auto; min-height:380px; }
  .teacher-workspace[data-workspace-view="builder"]>.wrap>:not(.dppgrid) { flex-shrink:0; }
}
@media screen {
  body.teacher-app { --bg:#f3f5f6; --bg2:#ecf0f2; --line:#e1e6e8; --ink:#242c32; --ink3:#65727b; --nav-width:204px; background:var(--bg); transition:none; }
  html[data-theme="dark"] body.teacher-app { --bg:#191d20; --bg2:#292f33; --card:#22282b; --card2:#292f33; --line:#384146; --line2:#505d64; --ink:#f0f4f5; --ink2:#d0dadf; --ink3:#a8bac3; }
  .teacher-app *, .teacher-app *::before, .teacher-app *::after { box-sizing:border-box; }
  .teacher-app :focus-visible { outline:2px solid #3159a8; outline-offset:3px; }
  .teacher-app .btn, .teacher-app .icon-btn, .teacher-app input, .teacher-app select, .teacher-app textarea { transition:border-color .15s,box-shadow .15s; }
  .teacher-app button:disabled { opacity:.4; cursor:not-allowed; }
  .teacher-app .btn:active:not(:disabled), .teacher-app .icon-btn:active:not(:disabled) { transform:translateY(1px); }
  .teacher-app .btn, .teacher-app .btn.sm, .teacher-app .btn.lg { min-height:36px; padding:8px 12px; font-size:12px; font-weight:600; }
  .teacher-app .btn.pri, .teacher-app .btn.orange { background:#176852; border-color:#176852; box-shadow:0 1px 2px #0c281b1a; }
  .teacher-app .btn.ghost { background:var(--card); border-color:var(--line2); color:var(--ink2); }
  .teacher-app .icon-btn { border-color:var(--line); width:32px; height:32px; flex-shrink:0; background:transparent; }
  .teacher-app .icon-btn:hover:not(:disabled) { background:var(--bg2); }
  .teacher-app svg.lucide { width:17px; height:17px; stroke-width:1.8; }
  .teacher-app .nav { z-index:40; box-shadow:none; border-bottom:1px solid var(--line); }
  .teacher-app .nav-in { height:64px; padding:0 20px; gap:18px; }
  .teacher-app .brand { flex:0 0 190px; font-size:15px; gap:9px; }
  .teacher-app .brand img.faculty-logo { width:31px; height:31px; }
  .workspace-breadcrumb { display:flex; align-items:center; gap:12px; font:12px var(--sans); color:var(--ink3); white-space:nowrap; }
  .workspace-breadcrumb b { font-weight:500; color:var(--ink2); }
  .workspace-search { display:flex; gap:10px; align-items:center; width:220px; min-height:34px; padding:7px 10px; color:var(--ink3); font:12px var(--sans); border:1px solid var(--line); border-radius:6px; background:var(--bg); cursor:pointer; }
  .workspace-search:hover { border-color:var(--line3); }
  .teacher-app .teacher-beta { font-size:11px; color:var(--teacher-accent); padding:5px 8px; background:var(--bg2); border-radius:4px; }
  .faculty-menu { top:64px; width:var(--nav-width); padding:22px 12px 12px; gap:4px; z-index:39; }
  .faculty-menu>a { font-size:12px; min-height:39px; padding:10px; border-radius:5px; gap:10px; }
  .faculty-menu>a.on { background:#e7f1ed; box-shadow:none; color:#145640; font-weight:600; }
  .faculty-menu>a.on::after { content:""; width:5px; height:5px; background:#176852; border-radius:50%; margin-left:auto; }
  .faculty-menu .menu-group { font:500 11px var(--sans); margin:24px 10px 6px; color:var(--ink3); }
  .faculty-menu .menu-group:first-child { margin-top:0; }
  .menu-bottom { border-top:1px solid var(--line); padding:16px 8px 4px; font-size:10px; gap:6px; }
  .menu-bottom a { font-size:11px; }
  .teacher-app .page,.teacher-app .faculty-main,.teacher-app footer { margin-left:var(--nav-width); width:calc(100% - var(--nav-width)); }
  .teacher-app .page { padding:22px 0 32px; }
  .teacher-app .wrap,.teacher-app .faculty-main { padding-inline:26px; max-width:none; }
  .teacher-app .faculty-main { padding-top:22px; }
  .teacher-app h1 { font-size:24px; font-weight:650; line-height:1.25; margin:0 0 6px; }
  .teacher-app .faculty-heading { margin-bottom:18px; gap:16px; }
  .teacher-app .faculty-heading p { font-size:12px; }
  .teacher-app .faculty-kicker { font-size:10px; margin-bottom:6px; font-weight:600; }
  .teacher-workspace[data-workspace-view="builder"]~footer { display:none; }
  .teacher-workspace[data-workspace-view="builder"] .teacher-quality-note { position:relative; padding:0; margin:0 0 14px; border:0; font-size:10px; color:var(--ink3); }
  .teacher-quality-note summary { font-size:10px; }
  .teacher-quality-note[open] { max-width:850px; }
  .teacher-quality-note p { font-size:12px; }
  .command-builder { border:1px solid var(--line2); border-radius:6px; background:var(--card); padding:5px 6px 5px 14px; margin:0 0 10px; }
  .command-builder:focus-within { border-color:#3159a8; box-shadow:0 0 0 2px #3159a810; }
  .command-builder form { gap:10px; align-items:center; }
  .command-builder form>label { color:var(--teacher-accent); display:flex; }
  .command-builder textarea { min-height:34px; height:34px; padding:6px 0; font-size:12px; line-height:22px; border:0; border-radius:0; resize:vertical; max-height:100px; }
  .command-builder textarea:focus-visible { outline:0; box-shadow:none; }
  .command-builder .btn { flex-shrink:0; border:0; border-left:1px solid var(--line); border-radius:0; }
  .command-builder [role="status"] { margin:0; font-size:12px; }
  .command-builder [role="status"]:not(:empty) { border-top:1px solid var(--line); margin-top:6px; padding:12px 4px; }
  .command-plan p { margin:8px 0 12px; }
  .teacher-app .dppgrid { display:grid; grid-template-columns:min(var(--setup-width,360px),44%) minmax(0,1fr); grid-template-rows:minmax(0,1fr); align-items:stretch; gap:0; height:calc(100dvh - 272px); min-height:500px; border:1px solid var(--line2); border-radius:8px; overflow:hidden; background:var(--card); }
  .teacher-app .dpp-panel { display:flex; flex-direction:column; min-width:0; min-height:0; padding:0; border-right:1px solid var(--line2); background:var(--card); overflow:hidden; }
  .builder-tabs { flex-shrink:0; margin:0; padding:0 14px; gap:6px; background:var(--card); border-bottom:1px solid var(--line); }
  .builder-head { display:flex; align-items:center; border-bottom:1px solid var(--line); flex-shrink:0; padding-right:6px; }
  .builder-head .builder-tabs { flex:1; min-width:0; border:0; padding:0 10px; gap:4px; }
  .builder-layout-tools { display:flex; gap:2px; }
  .setup-layout-controls { display:grid; grid-template-columns:minmax(0,1fr) 34px; gap:8px; padding:12px 18px; border-bottom:1px solid var(--line); flex-shrink:0; background:var(--bg); }
  .setup-layout-controls[hidden],.builder-scroll-next[hidden] { display:none; }
  .setup-layout-controls label { grid-column:1/-1; display:flex; justify-content:space-between; font:12px var(--sans); }
  .setup-layout-controls input { width:100%; accent-color:#176852; }
  .builder-scroll-next { display:flex; justify-content:center; align-items:center; gap:8px; min-height:36px; flex-shrink:0; border:0; border-top:1px solid var(--line); background:var(--bg2); color:var(--ink2); font:600 12px var(--sans); cursor:pointer; }
  .teacher-app.workspace-expanded { overflow:hidden; }
  .teacher-app.workspace-expanded .dppgrid { position:fixed; inset:12px; height:auto!important; min-height:0!important; z-index:44; box-shadow:0 0 0 100vmax var(--bg); }
  .builder-tabs button { font-size:12px; padding:16px 4px 12px; border-bottom-width:2px; }
  .builder-section { padding:20px 18px; overflow:auto; flex:1; min-height:0; scrollbar-width:auto; scrollbar-color:#82968e var(--bg2); scrollbar-gutter:stable; overscroll-behavior:contain; }
  .builder-section::-webkit-scrollbar,.teacher-app #dBook::-webkit-scrollbar { width:12px; }
  .builder-section::-webkit-scrollbar-track,.teacher-app #dBook::-webkit-scrollbar-track { background:var(--bg2); }
  .builder-section::-webkit-scrollbar-thumb,.teacher-app #dBook::-webkit-scrollbar-thumb { background:#82968e; border:2px solid var(--bg2); border-radius:6px; }
  .teacher-app .dfield { margin-bottom:20px; }
  .teacher-app .dlabel,.teacher-app .library-tags-label,.teacher-app .paper-details label,.teacher-app .mat-field,.library-tools>label { font-size:12px; font-weight:500; line-height:1.5; }
  .teacher-app .dlabel { text-transform:none; letter-spacing:0; margin-bottom:8px; }
  .teacher-app .paper-details input,.teacher-app .paper-details select,.teacher-app .library-tags-label input,.teacher-app .library-tags-label select,.teacher-app .chapter-tools input,.teacher-app .mat-field input,.teacher-app .mat-field select,.teacher-app .library-tools input,.teacher-app .library-tools select { font-size:12px; min-height:36px; height:36px; border-color:var(--line2); padding:7px 9px; }
  .teacher-app .source-details { gap:12px; }
  .teacher-app .subject-chips.compact { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; padding:3px; background:var(--bg2); border-radius:5px; }
  .teacher-app .subject-chips.compact .subject-chip { font:500 11px var(--sans); padding:7px 2px; min-height:30px; border:0; background:transparent; border-radius:3px; color:var(--ink2); box-shadow:none; }
  .teacher-app .subject-chips.compact .subject-chip.on { background:var(--card); color:var(--teacher-accent); box-shadow:0 1px 3px #15292515; }
  .teacher-app .chapter-tools { flex-wrap:wrap; gap:8px 12px; margin-bottom:8px; }
  .teacher-app .chapter-tools input { flex-basis:100%; width:100%; }
  .teacher-app .text-button { font-size:11px; }
  .teacher-app #dBook { max-height:300px; border:1px solid var(--line); border-radius:5px; padding:3px; scrollbar-width:auto; scrollbar-color:#82968e var(--bg2); scrollbar-gutter:stable; }
  .chapter-group h4 { font-size:10px; margin:14px 7px 6px; text-transform:none; }
  .teacher-app #dBook .chip { font:400 11px/1.5 var(--sans); padding:6px; margin:0; min-height:30px; gap:8px; border-radius:3px; }
  .teacher-app #dBook .chip.on { background:var(--bg2); font-weight:500; }
  .teacher-app #dBook .all-chapters { font-size:10px; }
  .teacher-app .dpp-panel .dlabel,.teacher-app .dpp-panel .library-tags-label { font-size:13px; }
  .teacher-app .dpp-panel select,.teacher-app .dpp-panel input:not([type="range"]):not([type="checkbox"]):not([type="radio"]) { font-size:13px; min-height:40px; }
  .teacher-app #dBook .chip { font-size:13px; min-height:40px; padding:8px; }
  .teacher-app .dpp-panel .chip { min-height:36px; font-size:12px; }
  .teacher-app .dpp-panel .source-details { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .chapter-check { width:13px; height:13px; border-radius:3px; }
  .on>.chapter-check { box-shadow:inset 0 0 0 2px #fff; }
  .teacher-app .selection-note,.teacher-app .dbal-desc { font-size:10px; line-height:1.6; }
  .selected-chapters { display:flex; flex-wrap:wrap; gap:5px; margin-top:8px; }
  .selected-chapters:empty { display:none; }
  .selected-chapters button { display:flex; align-items:center; gap:6px; border:1px solid var(--line); background:var(--bg); color:var(--ink2); font:10px/1.5 var(--sans); padding:4px 6px; border-radius:4px; text-align:left; max-width:100%; cursor:pointer; }
  .selected-chapters svg { width:12px!important; height:12px!important; }
  .teacher-app .chip,.teacher-app .dbal-opt { font:500 11px/1.4 var(--sans); min-height:30px; padding:6px 8px; }
  .teacher-app .chip.on,.teacher-app .dbal-opt.on,.teacher-app #dBook .chip.on,.teacher-app #dSubject .subject-chip.on { background:#17624e; color:#fff; border-color:#17624e; box-shadow:inset 0 0 0 1px #fff3; }
  html[data-theme="dark"] .teacher-app .chip.on,html[data-theme="dark"] .teacher-app .dbal-opt.on,html[data-theme="dark"] .teacher-app #dBook .chip.on,html[data-theme="dark"] .teacher-app #dSubject .subject-chip.on { background:#a9e4cc; color:#12382c; border-color:#a9e4cc; }
  .selection-summary { display:grid; gap:3px; border-left:3px solid var(--teacher-accent); padding:0 0 0 8px; margin-bottom:10px; font:12px/1.45 var(--sans); overflow-wrap:anywhere; }
  .selection-summary strong { font-weight:650; color:var(--ink); }
  .selection-summary span { color:var(--ink2); font-size:11px; }
  .teacher-app .selection-check { width:12px!important; height:12px!important; flex-shrink:0; vertical-align:middle; margin-right:4px; visibility:hidden; }
  .teacher-app [aria-pressed="true"]>.selection-check { visibility:visible; }
  .teacher-app #dBook .chapter-check { display:none; }
  .teacher-app .dbal { gap:4px; }.teacher-app .dbal-opt { font-size:10px; flex:1; padding-inline:4px; }
  .teacher-app .paper-check { font-size:12px; gap:8px; }
  .paper-style-choice { gap:8px; }.paper-style-choice legend { font-size:12px; }.paper-style-choice label { font-size:10px; }
  .style-swatch { height:88px; padding:22px 10px 8px 24px; }
  .builder-bottom { margin-top:auto; flex-shrink:0; border-top:1px solid var(--line); background:var(--card); padding:12px 18px; }
  .teacher-app .eligible-count { display:flex; align-items:baseline; gap:6px; border:0; margin:0 0 10px; padding:0; }
  .teacher-app .eligible-count b { font:600 15px var(--sans); color:var(--teacher-accent); }
  .teacher-app .eligible-count span { font-size:11px; color:var(--ink3); }
  .teacher-app .dpp-actions { display:flex; margin:0; }.teacher-app #genDpp { width:100%; }
  .teacher-app #printDpp { display:none!important; }
  .teacher-app .dpp-preview { display:flex; flex-direction:column; border:0; border-radius:0; min-height:0; min-width:0; overflow:hidden; background:#edf0f2; }
  html[data-theme="dark"] .teacher-app .dpp-preview { background:#151a1d; }
  .preview-placeholder-head { display:flex; justify-content:space-between; gap:15px; background:var(--card); border-bottom:1px solid var(--line); padding:15px 20px; font:11px var(--sans); color:var(--ink3); }
  .preview-placeholder-head>span:first-child { display:flex; align-items:center; gap:8px; font-weight:500; color:var(--ink2); }
  .teacher-app .dpp-empty { flex:1; min-height:0; padding:32px 20px; background:transparent; }
  .teacher-app .dpp-empty h3 { font:600 18px/1.4 var(--sans); color:var(--ink); margin:22px 0 8px; }
  .teacher-app .dpp-empty p { font-size:12px; margin:0 0 20px; }
  .teacher-app .dpp-empty>a { display:flex; justify-content:center; align-items:center; gap:6px; font-size:11px; margin-top:16px; text-decoration:none; }
  .blank-paper { width:134px; height:168px; background:var(--card); border:1px solid var(--line2); box-shadow:6px 6px 0 -1px var(--bg),6px 6px 0 0 var(--line2); padding:24px 19px; margin:0 auto; }
  .blank-paper img { display:block; width:27px; height:27px; margin:0 auto 23px; opacity:.7; }
  .blank-paper span { display:block; height:3px; background:var(--line); margin:9px 0; }.blank-paper span:last-child { width:65%; }
  .teacher-app .dpp-preview-bar { padding:12px 16px; border-radius:0; gap:10px; flex-shrink:0; flex-wrap:wrap; }
  .teacher-app .dpp-preview-bar>div:first-child { flex:1 1 180px; min-width:0; }
  .teacher-app .dpp-preview-bar>div:first-child b { font-size:12px; }
  .teacher-app .dpp-preview-bar>div:first-child span { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:10px; margin-top:4px; }
  .teacher-app .preview-actions { gap:6px; flex-wrap:wrap; }
  .teacher-app .dpp-preview-bar .btn { font-size:10px; min-height:30px; padding:6px 9px; }
  .paper-export-tools { padding:7px 16px; gap:8px; flex-shrink:0; }.paper-export-tools .btn { font-size:10px!important; min-height:28px!important; padding:4px 8px!important; }
  .paper-view-tools { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 16px; border-bottom:1px solid var(--line); background:var(--card); flex-shrink:0; flex-wrap:wrap; }
  .preview-segments { display:flex; align-items:center; gap:3px; }.preview-segments button { border:0; background:transparent; color:var(--ink3); font:500 11px var(--sans); padding:7px 8px; border-radius:4px; cursor:pointer; min-height:30px; }
  .preview-segments button[aria-pressed="true"] { background:#eaf0fb; color:#3159a8; }
  html[data-theme="dark"] .preview-segments button[aria-pressed="true"] { background:#303d58; color:#d1dfff; }
  .paper-history { display:flex; gap:4px; }.paper-history .icon-btn { border:0; width:28px; height:28px; }
  .paper-canvas { flex:1; min-height:0; overflow:auto; padding:24px; scrollbar-width:thin; overscroll-behavior:contain; }
  .teacher-app .paper-canvas .worksheet { width:100%; max-width:820px; margin:0 auto; padding:34px 30px; box-shadow:0 1px 2px #1d28201a,0 8px 24px #1d282008; }
  .teacher-app .paper-warning { flex-shrink:0; font-size:11px; margin:0; padding:10px 16px; }
  .teacher-app .wq-review { display:flex; align-items:center; gap:10px; padding:6px 0; margin:0 0 12px; color:#576873; }
  .teacher-app .wq-review>span { flex:1; font-size:10px; line-height:1.5; }
  .question-edit-tools { display:flex; gap:3px; flex-shrink:0; }.question-edit-tools .icon-btn { width:27px; height:27px; color:#53636e; border-color:#e0e6e9; }
  .question-edit-tools .icon-btn svg { width:14px; height:14px; }.question-edit-tools [data-remove-question]:hover { color:#b33c35; background:#fcefed; }
  .teacher-app .wq { transition:background .15s; scroll-margin:12px; }.teacher-app .wq:focus-within { background:#f8fafb; }
  /* Keep every method in the document, but avoid painting distant math-heavy rows.
     Diagrams stay eager because SVG label fitting requires their actual layout. */
  @supports (content-visibility:auto) {
    .teacher-app .paper-canvas .wq:not(:has(.problem-figure)),
    .teacher-app .paper-canvas .wsol-q:not(:has(.problem-figure)) {
      content-visibility:auto;
      contain-intrinsic-size:auto 500px;
    }
  }
  .teacher-app .method-picker { font-size:10px; padding-top:8px; color:#576873; }.method-picker summary { list-style-position:outside; margin-left:14px; }
  #dppOut[data-preview-part="questions"] .wkey,#dppOut[data-preview-part="questions"] .wsol,
  #dppOut[data-preview-part="key"] .ws-sec,#dppOut[data-preview-part="key"] .wsol,
  #dppOut[data-preview-part="solutions"] .ws-sec,#dppOut[data-preview-part="solutions"] .wkey { display:none; }
  #dppOut[data-preview-part="key"] .wkey,#dppOut[data-preview-part="solutions"] .wsol { margin-top:22px; }
  .teacher-app.paper-focus { overflow:hidden; }
  .paper-focus #dppOut { position:fixed; inset:64px 0 0; z-index:45; border-radius:0; }
  .paper-focus .paper-canvas { padding:32px; }
  .paper-focus .paper-canvas .worksheet { max-width:900px; }
  .workspace-pane-switch { display:none; }
  .workspace-command { width:min(580px,calc(100% - 32px)); padding:0; margin:14vh auto auto; border:1px solid var(--line2); border-radius:8px; background:var(--card); color:var(--ink); box-shadow:0 20px 80px #12223025; max-height:70dvh; }
  .workspace-command::backdrop { background:#17212e5c; backdrop-filter:blur(3px); }
  .workspace-command form { display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--line); padding:14px 16px; }
  .workspace-command label { display:flex; align-items:center; gap:12px; flex:1; min-width:0; color:var(--ink3); }
  .workspace-command input { flex:1; min-width:0; border:0; background:transparent; color:var(--ink); font:14px var(--sans); height:32px; }
  .workspace-command input:focus-visible { outline:0; }
  .workspace-command nav { display:flex; flex-direction:column; padding:8px; max-height:50dvh; overflow:auto; }
  .workspace-command nav a { display:flex; gap:12px; align-items:center; padding:12px; color:var(--ink2); border-radius:5px; text-decoration:none; font-size:13px; }
  .workspace-command nav a>span { flex:1; min-width:0; overflow-wrap:anywhere; }.workspace-command small { display:block; color:var(--ink3); font-size:10px; margin-top:4px; }
  .workspace-command nav a:hover,.workspace-command nav a.active { background:var(--bg2); color:var(--teacher-accent); }
  .command-no-results { padding:28px 16px; font-size:13px; color:var(--ink3); text-align:center; }
  .teacher-app .bank-filters { gap:12px; padding:18px 0; border-block:1px solid var(--line); }
  .teacher-app .bank-summary { padding:12px 0; font-size:12px; }
  .teacher-app .bank-row { padding:20px 14px; border-bottom:1px solid var(--line); transition:background .15s; }
  .teacher-app .bank-row:hover { background:var(--card); }.teacher-app .bank-row.is-selected { background:#edf6f2; box-shadow:inset 2px 0 #176852; }
  html[data-theme="dark"] .teacher-app .bank-row.is-selected { background:#22392f; }
  .teacher-app .bank-title { font-size:15px; font-weight:600; margin-top:7px; }
  .teacher-app .bank-meta { font-size:10px; }.teacher-app .bank-excerpt { font-size:13px; line-height:1.7; max-height:48px; }.teacher-app .bank-content>small { font-size:10px; }
  .bank-subject[data-subject="Maths"] { color:#3159a8; }.bank-subject[data-subject="Physics"] { color:#91621f; }.bank-subject[data-subject="Chemistry"] { color:#176852; }
  .bank-result-tools { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }.bank-result-tools>span { margin-right:auto; }
  .bank-density { display:flex; gap:3px; }.bank-density .icon-btn[aria-pressed="true"] { background:var(--bg2); color:var(--teacher-accent); }
  #facultyBank[data-density="compact"] .bank-excerpt { display:none; }#facultyBank[data-density="compact"] .bank-row { padding-block:12px; }
  .bank-selection-tray { position:sticky; bottom:14px; display:flex; align-items:center; gap:12px; padding:12px 16px; background:var(--card); border:1px solid var(--line2); border-radius:8px; box-shadow:0 6px 24px #1b282414; z-index:5; margin-top:16px; }
  .bank-selection-tray>span { font-size:12px; font-weight:600; margin-right:auto; }
  .bank-selected-list { list-style:none; padding:0; }.bank-selected-list li { display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); }
  .bank-selected-list li>span { flex:1; min-width:0; overflow-wrap:anywhere; font-size:13px; }.bank-selected-list small { display:block; font-size:11px; color:var(--ink3); margin-top:5px; }
  .bank-dialog { border-radius:8px; padding:28px; box-shadow:0 16px 80px #16242425; }
  .template-presets { gap:18px; }.template-preset { position:relative; padding:22px; min-height:124px; transition:border-color .15s,box-shadow .15s; }
  .template-preset:hover { box-shadow:0 4px 12px #11231b0a; background:var(--card); }
  .template-preset b { font-size:14px; }.template-preset small { font-size:11px; line-height:1.7; }
  .teacher-app .saved-paper b { font-size:14px; }.teacher-app .saved-paper span,.teacher-app .saved-paper-info small { font-size:11px; }
  .teacher-app .mat-nav button { font-size:12px; min-height:42px; }.mat-nav button.active { box-shadow:none; background:var(--card); border:1px solid var(--line); }
  .teacher-app .mat-drop { min-height:150px; background:var(--card); border-color:var(--line3); }.teacher-app .content-toolbar { padding-top:4px; }
  @media (max-width:1250px) {
    .teacher-app { --nav-width:188px; }.teacher-app .brand { flex-basis:172px; }
    .teacher-app .wrap,.teacher-app .faculty-main { padding-inline:20px; }
    .workspace-breadcrumb { display:none; }.teacher-app .paper-canvas { padding:16px; }.teacher-app .paper-canvas .worksheet { padding:28px 22px; }
  }
  @media (max-width:1100px) {
    .teacher-app .page,.teacher-app .faculty-main,.teacher-app footer { margin-left:0; width:100%; }
    .faculty-menu { width:236px; }.teacher-app .brand { flex:0 0 auto; }.teacher-app .dppgrid { grid-template-columns:min(var(--setup-width,360px),44%) minmax(0,1fr); }
  }
  @media (max-width:850px) {
    .teacher-app .dppgrid { height:auto; min-height:0; grid-template-columns:minmax(0,1fr); }
    #setupLayoutToggle,.setup-layout-controls:not([hidden]) { display:none; }
    .teacher-app.workspace-expanded .dppgrid { inset:8px; }
    .teacher-app.workspace-expanded .dpp-panel,.teacher-app.workspace-expanded .dpp-preview { height:100%; min-height:0; }
    .teacher-app .dpp-panel { height:min(700px,75dvh); border-right:0; }.teacher-app .dpp-preview { height:75dvh; min-height:450px; }
    .workspace-pane-switch { display:flex; gap:5px; margin:0 0 12px; padding:3px; background:var(--bg2); border-radius:5px; }
    .workspace-pane-switch button { display:flex; align-items:center; justify-content:center; gap:8px; flex:1; padding:9px; background:transparent; color:var(--ink3); border:0; font:500 12px var(--sans); border-radius:3px; }
    .workspace-pane-switch button[aria-pressed="true"] { background:var(--card); color:var(--teacher-accent); box-shadow:0 1px 3px #15292515; }
    [data-mobile-pane="setup"] .dpp-preview,[data-mobile-pane="preview"] .dpp-panel { display:none; }
    .paper-focus [data-mobile-pane] .dpp-preview { display:flex; height:auto; }
    .teacher-app #dBook { max-height:280px; }.teacher-app .subject-chips.compact .subject-chip { font-size:12px; }
    .teacher-app .faculty-heading .heading-actions .btn { font-size:11px; }
  }
  @media (max-width:560px) {
    .teacher-app .nav-in { height:60px; padding:0 14px; gap:9px; }.teacher-app .brand { font-size:14px; gap:7px; }.teacher-app .brand img.faculty-logo { width:28px; height:28px; }
    .workspace-search { width:32px; height:32px; padding:7px; flex-shrink:0; border-color:var(--line); background:transparent; }.workspace-search span { display:none; }
    .teacher-app .nav-sp { min-width:0; }.faculty-menu { top:60px; }
    .teacher-app .wrap,.teacher-app .faculty-main { padding-inline:14px; }.teacher-app .page { padding-top:20px; }
    .teacher-app h1 { font-size:22px; }.teacher-app .faculty-heading { align-items:center; gap:14px; margin-bottom:16px; }
    .teacher-app .faculty-heading>div { width:100%; }.teacher-app .faculty-heading p { font-size:12px; }
    .heading-actions { width:100%; }.heading-actions .btn { flex:1; }
    .command-builder { padding-left:10px; }.command-builder form { flex-direction:row; gap:8px; }.command-builder textarea { font-size:12px; height:56px; min-height:56px; line-height:20px; }
    .command-builder form>.btn { width:32px; padding:6px; }.command-builder form>.btn span { position:absolute; width:1px; height:1px; clip:rect(0,0,0,0); overflow:hidden; }
    .teacher-app .dpp-panel { height:70dvh; min-height:410px; }.teacher-app .dpp-preview { height:78dvh; }.teacher-app .dpp-empty { padding:30px 16px; }
    .teacher-app .dpp-empty h3 { font-size:17px; }.blank-paper { width:114px; height:146px; padding:18px; }
    .paper-view-tools { padding:8px; gap:5px; }.preview-segments { gap:0; }.preview-segments button { padding:7px 5px; font-size:10px; }.paper-history { gap:0; }.paper-history .icon-btn { width:26px; }
    .teacher-app .dpp-preview-bar { padding:12px; }.teacher-app .preview-actions { width:100%; }.teacher-app .preview-actions .btn { flex:1; }
    .teacher-app .dpp-preview-bar>div:first-child { flex:0 1 auto; width:100%; }
    .teacher-app .dpp-preview-bar .btn { white-space:nowrap; font-size:10px; padding:7px 6px; }
    .paper-export-tools { padding:7px 10px; }.teacher-app .paper-canvas { padding:10px; }.teacher-app .paper-canvas .worksheet { padding:22px 14px; }
    .teacher-app .wq-review { align-items:start; flex-wrap:wrap; }.teacher-app .wq-review>span { flex-basis:100%; }.question-edit-tools { margin-left:auto; }
    .paper-focus #dppOut { inset:60px 0 0; }.paper-focus .paper-canvas { padding:12px; }
    .teacher-app .bank-row { padding:18px 4px; gap:10px; }.teacher-app .bank-title { font-size:14px; }.teacher-app .bank-excerpt { font-size:12px; }
    .bank-selection-tray { padding:10px; gap:6px; bottom:8px; flex-wrap:wrap; }.bank-selection-tray>span { flex-basis:100%; font-size:11px; }.bank-selection-tray .btn { flex:1; font-size:11px!important; }
    .bank-result-tools { gap:6px; }.bank-result-tools>span { flex-basis:100%; }.bank-dialog { padding:18px; }
    .template-presets { grid-template-columns:1fr; }.template-preset { min-height:95px; padding:18px; }
  }
  @media (prefers-reduced-motion:reduce) { .teacher-app *, .teacher-app *::before, .teacher-app *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
}
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media print {
  .teacher-app .paper-canvas .wq,.teacher-app .paper-canvas .wsol-q { content-visibility:visible!important; contain:none!important; contain-intrinsic-size:none!important; }
  .paper-view-tools,.workspace-command,.workspace-pane-switch,.bank-selection-tray,.preview-placeholder-head,.builder-layout-tools,.setup-layout-controls,.builder-scroll-next { display:none!important; }
  .teacher-app .dppgrid,.teacher-app .dpp-preview,.teacher-app .paper-canvas { display:block!important; height:auto!important; overflow:visible!important; min-height:0!important; max-height:none!important; position:static!important; padding:0!important; border:0!important; }
  .teacher-app.paper-focus,.teacher-app.workspace-expanded { overflow:visible!important; }
}


/* teacher/paper-edition.css */
@font-face{font-family:RankerBook;src:url(/teacher/fonts/stix-regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:RankerBook;src:url(/teacher/fonts/stix-bold.ttf) format('truetype');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:RankerSans;src:url(/teacher/fonts/inter-regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:RankerSans;src:url(/teacher/fonts/inter-bold.ttf) format('truetype');font-style:normal;font-weight:700;font-display:swap}

/* The paper is a separate, portable document system, independent of the application theme. */
.teacher-app .worksheet{--exam:RankerBook,Georgia,serif;--paper-sans:RankerSans,Arial,sans-serif;--paper-rule:#d4d7da;letter-spacing:0;padding:40px 42px;background:#fff;color:#151719;line-height:1.62;border-radius:0;box-shadow:0 3px 18px #17222b0d}
.teacher-app .worksheet.font-serif{--exam:RankerBook,Georgia,serif}
.teacher-app .worksheet.font-sans{--exam:RankerSans,Arial,sans-serif}
.teacher-app .worksheet :is(h2,.ws-sec-h,.wkey-h,.ws-brand,.wsol-mn){letter-spacing:0}
.teacher-app .worksheet h2{font-family:var(--exam)}
.teacher-app .ws-head{border:0;border-top:3px solid var(--paper-accent);padding:22px 0 18px;margin-bottom:24px;text-align:left}
.teacher-app .ws-logo{margin:0 0 14px;max-height:48px;max-width:150px}
.teacher-app .ws-brand{font:700 16px/1.4 var(--paper-sans);overflow-wrap:anywhere}
.teacher-app .ws-teacher,.teacher-app .ws-subtitle{font:400 11px/1.5 var(--paper-sans);color:#50565b;margin-top:4px}
.teacher-app .ws-title{font:700 28px/1.2 var(--exam);margin:18px 0 10px;overflow-wrap:anywhere}
.teacher-app .ws-sub{font:400 11px/1.7 var(--paper-sans);color:#444c52}
.teacher-app .ws-disclaimer{font:400 9px/1.5 var(--paper-sans);margin-top:8px;color:#59616a}
.teacher-app .ws-fields{justify-content:flex-start;border-block:1px solid var(--paper-rule);padding:13px 0;margin-top:20px;gap:12px 22px;font:400 11px/1.5 var(--paper-sans)}
.teacher-app .ws-sec{margin-top:26px}
.teacher-app .ws-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;text-align:left;padding:10px 0;border:0;border-bottom:1px solid var(--paper-accent);background:transparent!important;font:700 12px/1.5 var(--paper-sans);color:#20262a}
.teacher-app .ws-section-number{font-weight:400;color:#626a70;font-size:10px;margin-right:8px}
.teacher-app .ws-section-marks{font-size:10px;font-weight:400;white-space:nowrap}
.teacher-app .ws-sec-rules{padding-left:16px;margin:10px 0 18px;font:400 10px/1.55 var(--paper-sans);color:#4b5258}
.teacher-app .wq{padding:22px 0;border-bottom:1px solid #e5e7e9}
.teacher-app .wq-row{gap:14px;align-items:baseline}
.teacher-app .wq-n{font:700 12px/1.6 var(--paper-sans);min-width:34px;padding-top:2px;color:var(--paper-accent)}
.teacher-app .wq-body,.teacher-app .wq-opt{font:400 16px/1.7 var(--exam);color:#16191c}
.teacher-app .worksheet .katex{font-size:1.02em}
.teacher-app .worksheet .katex-display{margin:16px 0;text-align:center;overflow-x:auto;overflow-y:hidden;padding:3px 0}
.teacher-app .wq-opts{margin-top:16px;gap:10px 24px;grid-template-columns:1fr}
.teacher-app .wq-opts.options-short{grid-template-columns:repeat(2,minmax(0,1fr))}
.teacher-app .wq-ol{font:700 11px/1.6 var(--paper-sans);min-width:24px;color:#525960}
.teacher-app .wq-ot .katex{white-space:nowrap}
.teacher-app .wq-ot{flex:1;overflow-x:auto;overflow-y:hidden;padding:.3em .15em}
.teacher-app .problem-figure{width:min(100%,var(--figure-width,480px));max-width:560px;box-sizing:border-box;padding:8px;margin:24px auto}
.teacher-app .problem-figure svg{width:100%;height:auto;overflow:hidden}
.teacher-app .problem-figure text{font-family:RankerSans,Arial,sans-serif}
.teacher-app .wq-review{font:400 10px/1.6 var(--paper-sans);gap:10px;margin-bottom:14px;color:#68747c}
.teacher-app .method-picker{font-family:var(--paper-sans);margin-left:48px;font-size:11px;color:#5a6872}
.teacher-app .wkey,.teacher-app .wsol{border-top:2px solid var(--paper-accent);padding-top:20px;margin-top:40px}
.teacher-app .wkey-h{text-align:left;font:700 22px/1.25 var(--exam);margin-bottom:22px}
.teacher-app .wkey-grid{gap:0 24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.teacher-app .wkey-cell{font:400 14px/1.6 var(--exam);padding:10px 0;border-bottom:1px solid var(--paper-rule)}
.teacher-app .wkey-n{font:700 10px/1.6 var(--paper-sans);color:#5d656c}
.teacher-app .wsol-q{padding:20px 0;border-bottom:1px solid var(--paper-rule)}
.teacher-app .wsol-qn{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font:700 13px/1.7 var(--paper-sans);margin-bottom:20px}
.teacher-app .wsol-ans{font:400 14px/1.6 var(--exam);margin-left:0}
.teacher-app .wsol-m{margin:24px 0}
.teacher-app .wsol-mn{display:flex;align-items:baseline;gap:12px;font:700 12px/1.6 var(--paper-sans);margin-bottom:14px;color:var(--paper-accent)}
.teacher-app .method-number{font:400 10px/1.6 var(--paper-sans);color:#68717a;white-space:nowrap}
.teacher-app .wsol-steps{padding-left:22px}
.teacher-app .wsol-steps li{font:400 15px/1.75 var(--exam);padding-left:8px;margin:10px 0}
.teacher-app .wsol-steps li::marker{font:400 10px var(--paper-sans);color:#767c83}
.teacher-app .paper-classic .ws-head{text-align:center;border-top:0;border-bottom:2px solid #20262a}
.teacher-app .paper-classic .ws-logo{margin-inline:auto}.teacher-app .paper-classic .ws-fields{justify-content:center;border-bottom:0;padding-bottom:0}
.teacher-app .paper-modern .ws-head{border-bottom:0;border-top:5px solid var(--paper-accent)}
.teacher-app .paper-modern .ws-title{font-family:var(--paper-sans);font-size:25px}
.teacher-app .paper-modern .ws-fields{background:#f4f7f5;padding-inline:12px;border:0}
.teacher-app .paper-modern .ws-sec-h{border-left:3px solid var(--paper-accent);padding-left:12px;background:#f4f7f5!important;border-bottom:0}
.teacher-app .paper-modern .wq-n{border:1px solid var(--paper-rule);padding:3px 5px;text-align:center;min-width:34px}
.teacher-app .paper-classic .ws-title{font-variant:small-caps;font-size:29px}
.teacher-app .paper-classic .ws-sec-h{border-block:1px solid #20262a;padding-block:8px}
.teacher-app .paper-compact{padding:28px 32px}.teacher-app .paper-compact .ws-head{padding-top:12px;margin-bottom:12px}
.teacher-app .paper-compact .ws-title{font-size:23px}.teacher-app .paper-compact .wq{padding:14px 0}
.teacher-app .paper-compact .wq-body,.teacher-app .paper-compact .wq-opt{font-size:14.5px;line-height:1.55}
.teacher-app .paper-compact .wsol-steps li{font-size:14px;line-height:1.55;margin-block:7px}
.teacher-app .paper-seminar .ws-head{border-top:0;border-left:4px solid var(--paper-accent);padding:4px 0 4px 20px}
.teacher-app .paper-seminar .wsol-m{border-left:1px solid var(--paper-rule);padding-left:20px}
.teacher-app .paper-seminar .wq{border-left:2px solid var(--paper-rule);padding-left:16px;margin-block:18px;border-bottom:0}
.teacher-app .paper-seminar .ws-title{font-size:30px;font-weight:400}
.teacher-app .paper-seminar .ws-sec-rules{border-left:2px solid var(--paper-rule);padding-left:24px}
.teacher-app .paper-practice .ws-head{border-top:1px solid #222;border-bottom:3px double #222}
.teacher-app .paper-practice .wq-main:after{height:100px;border:0;background:repeating-linear-gradient(transparent 0 24px,#dfe2e5 24px 25px)}
.teacher-app .paper-practice .ws-fields{justify-content:space-between;padding-block:18px}
.teacher-app .paper-practice .wq-n{font-size:16px;font-family:var(--exam)}
.template-preset{overflow:hidden}.template-preset .template-art{display:block;width:100%;aspect-ratio:1.3;object-fit:contain;object-position:center;border:1px solid #dce0e3;border-radius:2px;background:#f5f6f8}
.template-preset{display:grid!important;grid-template-columns:1fr;gap:14px!important;align-items:start!important}
.template-preset>span{display:block}.template-preset>svg{display:none}
.paper-style-choice .style-swatch{padding:0;height:auto;aspect-ratio:.78;overflow:hidden}.style-swatch img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.paper-style-choice input{z-index:1;background:#fff}
.paper-preflight{margin:0;padding:9px 16px;background:var(--card);border-bottom:1px solid var(--line);color:var(--ink2);font:400 11px/1.6 var(--sans)}
.paper-preflight[data-status="blocked"]{color:#923d2b;background:#fff5f1}
@media(max-width:650px){.teacher-app .worksheet{padding:24px 18px}.teacher-app .ws-title{font-size:24px}.teacher-app .wq-row{gap:8px}.teacher-app .wq-n{min-width:28px}.teacher-app .wq-body,.teacher-app .wq-opt{font-size:15px}.teacher-app .wq-opts.options-short{grid-template-columns:1fr}.teacher-app .method-picker{margin-left:36px}.teacher-app .wkey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-app .wsol-qn{flex-wrap:wrap;gap:6px}.teacher-app .wsol-steps li{padding-left:2px}.teacher-app .ws-section-marks{white-space:normal;text-align:right}}
@media print{
  .teacher-app .worksheet{padding:0!important;box-shadow:none!important;border:0!important;margin:0!important;font-family:var(--exam)}
  .teacher-app .wq-body,.teacher-app .wq-opt{font-size:11.5pt;line-height:1.6}
  .teacher-app .ws-head{padding-block:12px;margin-bottom:16px}
  .teacher-app .ws-title{margin-block:12px 8px}
  .teacher-app .ws-fields{margin-top:12px;padding-block:10px}
  .teacher-app .ws-sec{margin-top:18px}.teacher-app .wq{padding-block:16px}
  .teacher-app .wsol-steps li{font-size:11pt;line-height:1.6}
  .teacher-app .paper-compact .wq-body,.teacher-app .paper-compact .wq-opt{font-size:10.5pt}
  .teacher-app .problem-figure{max-width:115mm;padding:3mm;margin:5mm auto}
  .teacher-app .worksheet .katex-display{overflow:visible}
  .teacher-app .wq-ot{overflow:visible;padding:.3em .15em}
  .teacher-app .wq-opts.options-short{grid-template-columns:repeat(2,minmax(0,1fr))}
  .teacher-app .wq-review,.teacher-app .method-picker,.paper-preflight{display:none!important}
  .teacher-app .figure-warning{display:block!important;color:#111!important;background:white!important;border:2px solid #111!important}
  .teacher-app .wsol-qn,.teacher-app .wsol-mn,.teacher-app .ws-section-intro{break-inside:avoid;break-after:avoid}
  .teacher-app .wsol-steps li,.teacher-app .wq-opt,.teacher-app .problem-figure{break-inside:avoid}
}


/* teacher/resources.css */
.resource-actions,.resource-tabs,.resource-list-heading,.resource-safety>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.resource-tabs{gap:0;border-bottom:1px solid var(--line);margin:20px 0}
.resource-tabs button{display:flex;align-items:center;gap:8px;min-height:48px;border:0;border-bottom:3px solid transparent;background:none;color:var(--ink3);padding:10px 15px;font:600 13px var(--sans);border-radius:0;cursor:pointer}
.resource-tabs button[aria-pressed="true"]{color:var(--teacher-accent);border-color:var(--teacher-accent)}
.resource-tabs small{font-size:11px;font-variant-numeric:tabular-nums;color:var(--ink3)}
.resource-tabs svg,.resource-actions svg,.resource-meta svg,.resource-row small svg,.resource-safety svg,.resource-list-heading svg,.resource-links svg{width:16px;height:16px;vertical-align:middle;flex-shrink:0}
.resource-filters{display:grid;grid-template-columns:minmax(160px,1fr) 155px 240px;gap:14px;align-items:end;margin-bottom:18px}
.resource-filters label,.resource-note label{display:flex;flex-direction:column;gap:6px;font:600 12px var(--sans);min-width:0}
.resource-filters input,.resource-filters select,.resource-note input,.resource-note textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);padding:10px 12px;font:400 14px/1.5 var(--sans)}
.resource-filters .resource-search{position:relative;display:block}
.resource-search svg{position:absolute;left:12px;top:13px;width:18px;height:18px;color:var(--ink3)}
.resource-search input{padding-left:38px}
.resource-list-heading{justify-content:space-between;font-size:12px;color:var(--ink3);padding-bottom:10px}
.resource-results{border-top:1px solid var(--line)}
.resource-row{display:grid;grid-template-columns:38px minmax(0,1fr) 36px;gap:16px;border-bottom:1px solid var(--line);padding:19px 6px;align-items:start}
.resource-row:hover{background:var(--paper)}
.resource-symbol{width:36px;height:36px;display:grid;place-items:center;color:var(--teacher-accent);background:color-mix(in srgb,var(--teacher-accent) 9%,transparent);border-radius:6px}
.resource-symbol svg{width:19px;height:19px}
.resource-meta{color:var(--ink3);font:500 11px/1.6 var(--sans);display:flex;flex-wrap:wrap;gap:12px}
.resource-meta span{color:var(--teacher-accent)}
.resource-open{font:650 16px/1.5 var(--sans);letter-spacing:0;text-align:left;border:0;background:none;padding:3px 0;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.resource-open:hover{text-decoration:underline;text-underline-offset:4px}
.resource-row p{font:400 13px/1.6 var(--sans);color:var(--ink3);margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.resource-row small{display:block;font-size:11px;color:var(--teacher-accent);margin-top:8px;overflow-wrap:anywhere}
.resource-more{display:block;margin:24px auto}.resource-more[hidden]{display:none}
.resource-notice{font-size:13px;color:var(--teacher-accent);white-space:pre-wrap}.resource-notice.is-error{color:#bd344b}
.resource-empty{text-align:center;padding:48px 20px;color:var(--ink3)}.resource-empty>svg{width:28px;height:28px}.resource-empty h2{font:600 19px var(--sans);color:var(--ink)}
.resource-safety{border-top:1px solid var(--line);padding:24px 0;margin-top:32px;font:400 13px/1.7 var(--sans);color:var(--ink3)}
.resource-safety b{color:var(--ink)}.resource-safety p{max-width:800px}.resource-safety a{color:var(--teacher-accent)}
.resource-rights{font:400 11px/1.7 var(--sans);color:var(--ink3);max-width:850px}
.resource-dialog{width:min(780px,calc(100% - 32px));max-height:88dvh;box-sizing:border-box;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);padding:26px;font:400 14px/1.75 var(--sans)}
.resource-dialog::backdrop{background:rgba(15,22,28,.48)}
.resource-dialog>header{display:flex;justify-content:space-between;gap:20px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:18px}
.resource-dialog h2{font:650 23px/1.35 var(--sans);letter-spacing:0;margin:6px 0;overflow-wrap:anywhere}.resource-dialog h3{font:650 16px/1.5 var(--sans);margin:24px 0 8px}.resource-dialog small{color:var(--ink3)}
.resource-dialog p,.resource-dialog li{overflow-wrap:anywhere}.resource-dialog ul{padding-left:22px}.resource-dialog li{margin:8px 0}
.resource-dialog summary{cursor:pointer;font-weight:600;padding:10px 0}.resource-dialog details{border-bottom:1px solid var(--line);margin:12px 0}
.resource-links{display:flex;flex-direction:column;align-items:start;gap:10px;margin:14px 0}.resource-links a{display:inline-flex;align-items:center;gap:8px;color:var(--teacher-accent);font-size:13px;overflow-wrap:anywhere}
.resource-related{display:flex;flex-direction:column;align-items:start;gap:10px}.resource-related button{text-align:left}
.resource-note{margin-top:28px;border-top:1px solid var(--line);padding-top:8px}.resource-note label{margin:12px 0}.resource-note>div{display:flex;gap:10px;flex-wrap:wrap}.resource-note [role="status"]{color:#bd344b}
.faculty-free-shelf{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 20px;font:500 12px var(--sans)}
.faculty-free-shelf span{color:var(--ink3)}.faculty-free-shelf a{display:flex;align-items:center;gap:6px;color:var(--teacher-accent)}.faculty-free-shelf svg{width:16px;height:16px}
@media(min-width:1500px){.resource-results{display:grid;grid-template-columns:1fr 1fr;column-gap:28px}}
@media(max-width:780px){.resource-filters{grid-template-columns:1fr 1fr}.resource-search{grid-column:1/-1}.resource-tabs button{padding:10px;font-size:12px}.resource-tabs small{display:none}.resource-row{grid-template-columns:28px minmax(0,1fr) 34px;gap:10px}.resource-symbol{width:28px;height:32px}.resource-dialog{padding:18px}.resource-dialog h2{font-size:19px}.resource-actions{gap:8px}}
@media print{.resource-safety,.resource-actions,.resource-filters,.resource-tabs{display:none!important}}


/* teacher/studio.css */
@font-face{font-family:'Faculty Jakarta';font-style:normal;font-weight:400;font-display:swap;src:url(/teacher/fonts/plusjakartasans-400.woff2) format('woff2')}
@font-face{font-family:'Faculty Jakarta';font-style:normal;font-weight:500;font-display:swap;src:url(/teacher/fonts/plusjakartasans-500.woff2) format('woff2')}
@font-face{font-family:'Faculty Jakarta';font-style:normal;font-weight:600;font-display:swap;src:url(/teacher/fonts/plusjakartasans-600.woff2) format('woff2')}
@font-face{font-family:'Faculty Jakarta';font-style:normal;font-weight:700;font-display:swap;src:url(/teacher/fonts/plusjakartasans-700.woff2) format('woff2')}
/* The accepted Studio palette is screen-only; paper typography and print output
   retain the faculty's selected template and embedded document fonts. */
@media screen {
  body.teacher-app,body.teacher-app[data-palette]{--sans:'Faculty Jakarta',Arial,sans-serif;--nav-width:214px;--bg:#f5f6f8;--bg2:#eceef2;--card:#fff;--card2:#f8f9fb;--ink:#24262d;--ink2:#464954;--ink3:#6b6e79;--line:#e4e5ea;--line2:#d3d5df;--teacher-accent:#28634f;--orange:#28634f;--orange2:#1b4e3c;background:var(--bg);font-family:var(--sans)}
  html[data-theme="dark"] body.teacher-app{--bg:#202024;--bg2:#2d2d33;--card:#27272d;--card2:#2c2c33;--ink:#f4f4f7;--ink2:#d1d1dc;--ink3:#b4b4c2;--line:#3a3a43;--line2:#50505e;--teacher-accent:#8fd9b3;--orange:#28634f;--orange2:#347b61}
  .teacher-app *, .teacher-app *::before,.teacher-app *::after{letter-spacing:0}
  .teacher-app .nav-in{height:64px}.teacher-app .brand{flex-basis:194px}
  .teacher-app .faculty-menu{background:var(--card);padding:22px 12px 14px}
  .teacher-app .faculty-menu>a{font-size:12px;min-height:42px;gap:11px}
  .teacher-app .faculty-menu>a.on{background:#e7f1eb;color:#24523f}
  .teacher-app .faculty-menu>a.on::after{background:#28634f}
  .teacher-app .faculty-menu .menu-group{margin-top:21px;font-size:10px}
  .teacher-app .faculty-menu .menu-group:first-child{margin-top:0}
  .teacher-app .btn.pri,.teacher-app .btn.orange{background:#28634f;border-color:#28634f;color:white;box-shadow:none}
  .teacher-app .btn.pri:hover,.teacher-app .btn.orange:hover{background:#1b4e3c;border-color:#1b4e3c}
  .teacher-app .btn,.teacher-app .btn.sm,.teacher-app .btn.lg{font-family:var(--sans);min-height:38px;border-radius:6px}
  .teacher-app .icon-btn{border-radius:6px;min-width:32px}
  .teacher-app .chip.on,.teacher-app .dbal-opt.on,.teacher-app #dBook .chip.on,.teacher-app #dSubject .subject-chip.on{background:#28634f;border-color:#28634f;color:white}
  .teacher-app .selection-summary{border-color:#28634f}
  .teacher-app input[type="range"],.teacher-app input[type="checkbox"],.teacher-app input[type="radio"]{accent-color:#28634f}
  .teacher-app .faculty-heading{margin-bottom:20px}.teacher-app .faculty-heading h1{font-size:25px;font-weight:700;line-height:1.3}
  .teacher-app .faculty-heading p{font-size:12px;line-height:1.6;color:var(--ink3)}
  .teacher-app .faculty-free-shelf{display:none}
  .teacher-app .command-builder{padding:8px 10px 8px 14px;border-radius:8px;box-shadow:0 2px 8px #29223605}
  .teacher-app .command-builder textarea{font-family:var(--sans);font-size:13px}
  .teacher-app .teacher-quality-note{font-size:11px}
  .teacher-app .builder-tabs button{font-family:var(--sans);font-size:12px;font-weight:600}
  .teacher-app .dppgrid{box-shadow:0 2px 8px #29223605}
  .teacher-app .builder-section{padding:22px 20px}.teacher-app .dfield{margin-bottom:24px}
  .teacher-app .subject-chips.compact .subject-chip{font-size:11px}
  .teacher-app .paper-canvas{background:var(--bg2)}
  .teacher-app .paper-view-tools{padding-block:10px}
  .teacher-app .preview-segments button[aria-pressed="true"]{background:#e7f1eb;color:#24523f}
  .teacher-app .bank-row.is-selected{background:#edf5ef;box-shadow:inset 2px 0 #28634f}
  .teacher-app .bank-subject[data-subject="Maths"]{color:#82462e}.teacher-app .bank-subject[data-subject="Physics"]{color:#2364ae}.teacher-app .bank-subject[data-subject="Chemistry"]{color:#25744f}
  html[data-theme="dark"] .teacher-app .faculty-menu>a.on,html[data-theme="dark"] .teacher-app .preview-segments button[aria-pressed="true"],html[data-theme="dark"] .teacher-app .bank-row.is-selected{background:#293e34;color:#9bd9bb}
  .planner-toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap;border-block:1px solid var(--line);padding:16px 0}
  .planner-toolbar>label:first-child{width:280px;margin-right:auto}
  .planner-toolbar label,.planner-fields label,.plan-session label{display:flex;flex-direction:column;gap:7px;color:var(--ink2);font:500 12px/1.5 var(--sans);min-width:0}
  .planner-toolbar select,.planner-fields input,.planner-fields select,.plan-session input{width:100%;min-width:0;height:40px;padding:8px 10px;font:400 13px var(--sans);border:1px solid var(--line2);border-radius:5px;color:var(--ink);background:var(--card)}
  .planner-toolbar label.btn{display:flex;flex-direction:row;align-items:center;cursor:pointer}
  .planner-storage{display:flex;align-items:start;gap:8px;font:11px/1.7 var(--sans);color:var(--ink3);margin:14px 0}
  .planner-storage svg{flex-shrink:0;margin-top:2px}
  #planStatus{font:13px/1.6 var(--sans);color:var(--teacher-accent);overflow-wrap:anywhere}
  #planStatus:empty{display:none}#planStatus[data-error="true"]{padding:12px;border-left:3px solid #bc3d27;background:#fff3ef;color:#922c1c}
  .planner-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(330px,1.2fr);gap:32px;margin-top:28px;padding-bottom:40px;align-items:start}
  .planner-layout>section{min-width:0}.plan-blueprint{border-right:1px solid var(--line);padding-right:30px}
  .planner-section-title{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:20px}.planner-section-title h2{font-size:17px;margin:0;line-height:1.4}.planner-section-title>span{font:11px var(--sans);color:var(--ink3)}
  .planner-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.planner-fields>label:first-child{grid-column:1/-1}
  .plan-section{padding:20px 0 24px;margin:26px 0 0;border:0;border-top:1px solid var(--line);min-width:0}
  .plan-section legend{padding:0 12px 0 0;font:600 12px var(--sans);color:var(--ink3)}
  .plan-section .planner-fields>label:nth-child(2){grid-column:1/-1}.plan-section .icon-btn{align-self:end;justify-self:end;margin-bottom:4px}
  .plan-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.plan-presets .btn{font-size:11px}
  .plan-session{display:grid;grid-template-columns:28px minmax(0,1fr) 36px;align-items:center;gap:10px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
  .plan-session>label:nth-of-type(1){grid-column:2}.plan-session>label:nth-of-type(2){grid-column:2}.plan-session input[type="date"]{max-width:180px}
  .session-number{font-size:12px;font-weight:600;color:var(--ink3);grid-row:1}.session-state{grid-column:2;font-size:11px;color:var(--ink3)}
  .plan-session>.btn{grid-column:2;justify-self:start;grid-row:4}.plan-session>.icon-btn{grid-column:3;grid-row:1}
  .plan-batch-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
  .plan-batch-actions>div{flex-basis:100%;display:flex;flex-direction:column;gap:6px}.plan-batch-actions strong{font-size:15px}.plan-batch-actions span{font-size:11px;color:var(--ink3)}
  .studio-segments{display:flex;gap:24px;flex-wrap:wrap;padding:6px 0 18px;border-bottom:1px solid var(--line);margin-bottom:24px;font:500 12px var(--sans)}
  .studio-segments>span[aria-current]{color:var(--teacher-accent);font-weight:700}.studio-segments small{font-size:10px;color:var(--ink3);margin-left:5px}
  .studio-starters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:34px}
  .studio-starters>a{color:var(--ink);text-decoration:none;min-width:0}.studio-starters img{display:block;width:100%;height:180px;object-fit:contain;object-position:top;background:var(--bg2);padding:16px;border:1px solid var(--line);border-radius:6px}
  .studio-starters a>span{display:flex;justify-content:space-between;align-items:center;font:600 13px var(--sans);padding:12px 0}.studio-starters a:hover img{border-color:var(--teacher-accent)}
  .studio-tool-group{margin:28px 0}.studio-tool-group>h2{font-size:16px;margin:0 0 16px}.studio-tool-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
  .studio-tool{display:flex;align-items:center;gap:12px;min-width:0;min-height:66px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;font:500 13px/1.5 var(--sans);padding:14px 0}
  .studio-tool>svg{color:var(--ink3);flex-shrink:0}.studio-tool strong{font-weight:500;flex:1;min-width:0}.studio-tool .tool-state{font-size:10px;color:var(--ink3);white-space:nowrap}.studio-tool .tool-state[data-ready="true"]{color:#237149}
  a.studio-tool:hover{color:var(--teacher-accent)}.studio-tool:last-child>svg{width:16px}
  .teacher-app :focus-visible{outline-color:#28634f}
  .blueprint-start{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.blueprint-start h2{font:700 16px var(--sans);margin:0}.blueprint-start button{display:flex;align-items:center;gap:6px;font:600 11px var(--sans)}.blueprint-start svg{width:15px;height:15px}
  .teacher-app .dpp-panel .source-details{grid-template-columns:minmax(0,1fr)}
  .paper-blueprint{margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--line)}.blueprint-heading{display:flex;flex-direction:column;gap:7px}.blueprint-heading strong{font:600 12px var(--sans);color:var(--teacher-accent)}.blueprint-heading>span{font:700 17px/1.6 var(--sans)}.paper-blueprint p{font:11px/1.7 var(--sans);color:var(--ink3);margin:9px 0 0}
  .blueprint-quota{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;margin-top:14px}.blueprint-quota>span{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--line2);padding-left:8px;font:10px var(--sans);color:var(--ink3)}.blueprint-quota b{font-size:11px;color:var(--ink)}.blueprint-quota small{font-size:10px}.blueprint-quota .quota-short{border-color:#ba5734;color:#a03d20}
  .count-control>div{display:flex;align-items:center;gap:8px;margin-top:9px}.count-control input{width:72px!important;min-width:0;height:40px;text-align:center;font:600 15px var(--sans);border:1px solid var(--line2);border-radius:5px;color:var(--ink);background:var(--card)}.count-control .text-button{margin-left:auto;font-size:11px}.count-control .icon-btn{width:36px;height:40px}.count-control .icon-btn svg{width:16px}
  .difficulty-recipe{margin:-8px 0 20px}.mix-strip{display:flex;gap:3px;height:26px}.mix-strip span{display:grid;place-content:center;min-width:24px;background:#e1ece4;color:#234832;font:600 10px var(--sans)}.mix-strip [data-level="4"]{background:#e5eaf2;color:#284466}.mix-strip [data-level="5"]{background:#f4e8df;color:#6e4025}.difficulty-recipe p{font:500 11px/1.6 var(--sans);margin:9px 0 4px}.difficulty-recipe small{font:10px/1.6 var(--sans);color:var(--ink3);display:block}
  @media(min-width:1400px){.plan-session{grid-template-columns:24px minmax(0,1fr) 145px 36px}.plan-session>label:nth-of-type(2){grid-column:3;grid-row:1}.plan-session>.icon-btn{grid-column:4}.plan-session>.btn{grid-row:2;grid-column:3;justify-self:end}.session-state{grid-row:2}}
  @media(max-width:1100px){.teacher-app .page,.teacher-app .faculty-main,.teacher-app footer{margin-left:0;width:100%}.teacher-app .brand{flex-basis:auto}}
  @media(max-width:850px){.planner-layout{grid-template-columns:1fr;gap:30px}.plan-blueprint{padding-right:0;border-right:0;border-bottom:1px solid var(--line);padding-bottom:24px}.studio-tool-group>div{grid-template-columns:1fr}.studio-starters{gap:12px}.studio-starters img{height:145px}.teacher-app .builder-section{padding:22px 18px}}
  @media(max-width:560px){.teacher-app .nav-in{height:60px}.teacher-app .faculty-heading h1{font-size:22px}.planner-toolbar>label:first-child{width:100%}.planner-layout{margin-top:20px}.planner-fields{gap:14px}.studio-starters{grid-template-columns:1fr}.studio-starters>a{display:flex;gap:18px;align-items:center}.studio-starters img{width:95px;height:118px;flex-shrink:0;padding:8px}.studio-starters a>span{flex:1;gap:8px}.studio-segments{gap:12px}.teacher-app .command-builder textarea{font-size:12px}.plan-presets .btn{flex:1}.planner-storage{line-height:1.6}.teacher-app .faculty-menu{top:60px}}
  @media(prefers-reduced-motion:no-preference){.studio-tool svg:last-child,.studio-starters img{transition:transform .18s,border-color .18s}.studio-tool:hover>svg:last-child{transform:translate(2px,-2px)}.plan-session{animation:plan-in .18s ease-out}@keyframes plan-in{from{opacity:.5;transform:translateY(3px)}to{opacity:1;transform:none}}}
}
@media print{#facultyPlanner,#facultyTools{display:none!important}}


/* teacher/explore.css */
/* Faculty navigation and working surfaces. Document styles remain independent. */
@media screen {
  body.teacher-app,body.teacher-app[data-palette] {
    --bg:#f4f7f8;--bg2:#e7eef1;--card:#fff;--card2:#edf4f5;
    --ink:#172b34;--ink2:#364e59;--ink3:#586d75;--line:#d5e1e5;--line2:#a7bec7;--line3:#739ca9;
    --teacher-accent:#08785c;--action:#1765c1;--action-ink:#fff;--orange:#1765c1;--orange2:#104f9c;
    --soft-accent:#ddf2e9;--surface-blue:#e2edff;--surface-rose:#f6e6ee;--surface-amber:#f6efd7;
    --nav-width:0px;background:var(--bg);color:var(--ink);
  }
  html[data-theme="dark"] body.teacher-app {
    color-scheme:dark;--bg:#101617;--bg2:#263234;--card:#1a2427;--card2:#213237;
    --ink:#eff6f7;--ink2:#c6d8dc;--ink3:#9ab3ba;--line:#33494e;--line2:#58777e;--line3:#7aa5ad;
    --teacher-accent:#67dbb3;--action:#8ac3ff;--action-ink:#102d48;--orange:#8ac3ff;--orange2:#afdcff;--soft-accent:#143c33;
    --surface-blue:#213d57;--surface-rose:#45303d;--surface-amber:#3d3926;
  }
  .teacher-app .page,.teacher-app .faculty-main,.teacher-app footer {margin-left:0;width:100%;max-width:none}
  .teacher-app .wrap {max-width:1600px;margin-inline:auto;padding-inline:32px}
  .teacher-app .faculty-main {max-width:1600px;margin-inline:auto;padding:32px}
  .teacher-app .nav {background:var(--bg);border-bottom:1px solid var(--line);box-shadow:none}
  .teacher-app .nav-in {height:76px;gap:24px;padding:12px 32px}
  .teacher-app .brand {flex-basis:auto;gap:10px;min-width:0;font-size:16px}
  .teacher-app .brand strong {color:var(--ink);font-weight:600}
  .teacher-app .brand img.faculty-logo {width:40px;height:40px;filter:none;background:#fff;border-radius:7px;padding:5px;box-shadow:-2px 2px 0 #2189cc,2px -2px 0 #30a887}
  html[data-theme="dark"] .teacher-app .brand img.faculty-logo {filter:none}
  .teacher-app .workspace-breadcrumb {display:none}
  .teacher-app .workspace-search {width:auto;min-width:0;padding:10px 12px;gap:8px;background:var(--card);border:1px solid var(--line);font-size:12px}
  .teacher-app .teacher-beta {font-size:10px;color:var(--ink3)}
  .teacher-app .icon-btn {background:var(--card);border:1px solid var(--line);color:var(--ink2)}
  .teacher-app .btn.pri,.teacher-app .btn.orange {background:var(--action);border-color:var(--action);color:var(--action-ink);box-shadow:none;font-weight:700}
  .teacher-app .btn.pri:hover,.teacher-app .btn.orange:hover {background:#15559e;border-color:#15559e;color:#fff}
  .teacher-app .chip.on,.teacher-app .dbal-opt.on,.teacher-app #dBook .chip.on,.teacher-app #dSubject .subject-chip.on {background:var(--soft-accent);border-color:var(--teacher-accent);color:var(--teacher-accent)}
  .teacher-app .preview-segments button[aria-pressed="true"],html[data-theme="dark"] .teacher-app .preview-segments button[aria-pressed="true"] {background:var(--soft-accent);color:var(--teacher-accent)}
  .teacher-app .selection-summary {border-color:var(--teacher-accent)}
  .teacher-app input[type="range"],.teacher-app input[type="checkbox"],.teacher-app input[type="radio"] {accent-color:var(--teacher-accent)}
  .teacher-app :focus-visible {outline:2px solid var(--teacher-accent);outline-offset:3px}
  .teacher-app .faculty-heading h1 {font-size:26px;line-height:1.4}
  .teacher-app .faculty-heading {margin-bottom:26px}
  .teacher-app [hidden] {display:none!important}
  .teacher-app .faculty-menu {display:none}
  .teacher-app .mobo {display:none}
  .studio-topnav {display:flex;align-items:center;gap:8px;font:600 13px var(--sans)}
  .studio-topnav>a,.studio-menu>summary {padding:12px 10px;border-radius:6px;color:var(--ink2);text-decoration:none;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:7px;list-style:none}
  .studio-menu>summary::-webkit-details-marker {display:none}
  .studio-menu>summary svg {width:13px;height:13px}
  .studio-topnav>a[aria-current],.studio-menu[data-current]>summary {color:var(--teacher-accent)}
  .studio-menu[open]>summary,.studio-menu>summary:hover,.studio-topnav>a:hover {background:var(--card2)}
  .studio-mega {position:absolute;top:calc(100% - 1px);left:24px;right:24px;max-width:930px;padding:24px;background:var(--card);border:1px solid var(--line);border-radius:0 0 8px 8px;box-shadow:0 20px 30px #0003;max-height:calc(100dvh - 96px);overflow:auto;z-index:60}
  .studio-mega>p {margin:0 0 16px;font:600 12px var(--sans);color:var(--ink3)}
  .studio-mega>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}
  .studio-mega a {display:flex;align-items:center;gap:16px;min-width:0;padding:12px;border-radius:6px;color:var(--ink);text-decoration:none}
  .studio-mega a:hover,.studio-mega a[aria-current] {background:var(--card2)}
  .menu-icon {display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--bg2);flex-shrink:0;color:var(--teacher-accent)}
  .studio-mega a>span:nth-child(2) {min-width:0;flex:1}
  .studio-mega b {display:block;font:600 14px/1.6 var(--sans)}
  .studio-mega small {display:block;font:400 11px/1.7 var(--sans);color:var(--ink3)}
  .studio-mega a>svg {color:var(--ink3);width:15px}
  .teacher-app .explore-heading {margin-bottom:24px;align-items:end}
  .teacher-app .explore-context {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px;font:500 11px var(--sans);color:var(--ink3)}
  .explore-context span {color:var(--teacher-accent);border-left:1px solid var(--line2);padding-left:12px}
  .explore-showcase {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:38px}
  .explore-feature {min-width:0;text-decoration:none;color:var(--ink)}
  .feature-visual {height:240px;position:relative;overflow:hidden;border-radius:8px;background:var(--card2);border:1px solid var(--line);display:flex;align-items:flex-start;justify-content:center;padding:20px 24px 0}
  .feature-visual>img {width:195px;max-width:74%;height:auto;box-shadow:0 5px 28px #0004;display:block}
  .feature-paper .feature-visual {background:#d5e8f6}
  .feature-plan .feature-visual {background:#cfece2}
  .feature-material .feature-visual {background:#e5e2ec;justify-content:flex-start;padding-left:42px}
  html[data-theme="dark"] .feature-paper .feature-visual {background:#213f55}
  html[data-theme="dark"] .feature-plan .feature-visual {background:#24463e}
  html[data-theme="dark"] .feature-material .feature-visual {background:#403a49}
  .feature-tag {position:absolute;bottom:12px;left:12px;padding:6px 9px;border-radius:4px;background:#141714;color:#eff3eb;font:500 10px var(--sans)}
  .feature-caption {display:flex;align-items:center;gap:12px;padding:15px 0 0}
  .feature-caption>span {flex:1;min-width:0}
  .feature-caption b {display:block;font:600 15px/1.5 var(--sans)}
  .feature-caption small {display:block;font:400 11px/1.8 var(--sans);color:var(--ink3)}
  .feature-caption>svg {width:20px;height:20px;color:var(--teacher-accent)}
  .week-art {width:100%;max-width:280px;padding:16px 18px;background:#f1f3ef;color:#26312b;border-radius:6px;box-shadow:0 5px 28px #0003}
  .week-art>b {display:flex;align-items:center;gap:10px;font:600 12px var(--sans);margin-bottom:12px}
  .week-art>span {display:flex;align-items:center;gap:8px;height:32px;border-top:1px solid #d5ded4;font:400 10px var(--sans)}
  .week-art em {font-style:normal;color:#536350;width:30px}.week-art i {font-style:normal;flex:1}.week-art>span>svg {width:13px;height:13px;color:#487546}
  .material-art-icons {position:absolute;right:20px;top:48px;display:flex;flex-direction:column;align-items:center;gap:20px;padding:16px;background:#211c23;border:1px solid #5b4c61;border-radius:8px;color:#ebc9e9}
  .material-art-icons>svg {width:24px!important;height:24px!important}
  .explore-directory {border-top:1px solid var(--line);padding-top:26px}
  .explore-directory-head {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
  .explore-directory h2 {font:600 19px/1.4 var(--sans);margin:0}
  .explore-search,.mat-search {display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--card);color:var(--ink3)}
  .explore-search input,.mat-search input {background:none;border:0;min-width:0;width:100%;font:400 12px var(--sans);color:var(--ink);outline:none}
  .explore-search:focus-within,.mat-search:focus-within {outline:2px solid var(--teacher-accent);outline-offset:2px}
  .explore-search {width:250px}.explore-search input::placeholder,.mat-search input::placeholder {color:var(--ink3)}
  .explore-filters {display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
  .explore-filters button {padding:9px 16px;border:1px solid var(--line);border-radius:5px;background:transparent;color:var(--ink2);font:500 12px var(--sans);cursor:pointer}
  .explore-filters button[aria-pressed="true"] {background:var(--soft-accent);border-color:var(--teacher-accent);color:var(--teacher-accent)}
  .explore-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .explore-grid .studio-tool {display:grid;grid-template-columns:minmax(0,1fr) 18px;gap:17px;align-content:start;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--card);min-height:156px;color:var(--ink)}
  .explore-grid .studio-tool:hover {background:var(--card2);border-color:var(--line2)}
  .tool-icon {width:40px;height:40px;display:grid;place-items:center;background:var(--soft-accent);color:var(--teacher-accent);border-radius:8px}
  [data-tone="blue"] .tool-icon {background:var(--surface-blue);color:#608fce}
  [data-tone="rose"] .tool-icon {background:var(--surface-rose);color:#d886b0}
  [data-tone="amber"] .tool-icon {background:var(--surface-amber);color:#b28c34}
  .tool-label {grid-row:2;grid-column:1/-1;min-width:0}
  .tool-label strong {display:block;font:600 13px/1.6 var(--sans)}
  .tool-label small {display:block;font:400 10px/1.8 var(--sans);color:var(--ink3)}
  .explore-grid .studio-tool>svg {grid-row:1;grid-column:2;width:15px;height:15px;align-self:start;color:var(--ink3)}
  .explore-roadmap {margin-top:30px;border-top:1px solid var(--line);padding-top:20px}
  .explore-roadmap>summary {display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none;font:500 12px var(--sans);color:var(--ink3)}
  .explore-roadmap>div {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
  .explore-roadmap p {font-size:11px;color:var(--ink3)}
  .mat-layout {grid-template-columns:230px minmax(0,1fr);gap:30px}
  .mat-nav {padding-right:24px}.mat-nav h2 {display:flex;justify-content:space-between;color:var(--ink);font-size:14px;margin-bottom:18px}
  .mat-nav h2 span {font-size:10px;color:var(--teacher-accent);background:var(--soft-accent);padding:3px 6px;border-radius:4px}
  .mat-search {padding:10px;margin-bottom:20px}.mat-search svg {width:15px!important}
  .mat-nav-group h3 {font:500 10px var(--sans);color:var(--ink3);margin:18px 0 10px}
  .mat-nav-group button {width:100%;font-size:11px;min-height:40px;gap:10px;margin-bottom:3px}
  .mat-nav-group button.active {color:var(--teacher-accent);background:var(--soft-accent);box-shadow:inset 2px 0 var(--teacher-accent)}
  .mat-editor {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(245px,1fr);gap:28px;align-items:start}
  .mat-input-col,.mat-output-col {min-width:0}
  .mat-output-col {border-left:1px solid var(--line);padding-left:26px}
  .mat-section-title {display:flex;align-items:center;gap:9px;font:600 12px var(--sans);margin:0 0 18px;color:var(--ink2)}
  .mat-drop {flex-direction:column;padding:32px 20px;gap:22px;border-color:var(--line3);min-height:200px;justify-content:center}
  .mat-drop>div {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;text-align:center;min-width:0;width:100%;justify-items:center}
  .mat-upload-icon {display:grid;place-items:center;width:44px;height:44px;background:var(--soft-accent);color:var(--teacher-accent);border-radius:8px}
  .mat-drop>div .mat-upload-icon svg {grid-row:auto;width:22px;height:22px;margin:0;color:var(--teacher-accent)}
  .mat-drop .mat-upload-meta {display:block;grid-column:1;width:100%;font:400 11px/1.7 var(--sans);color:var(--ink3)}
  .mat-drop strong {font-size:15px;line-height:1.6}
  .mat-empty {min-height:85px;flex-direction:row;gap:12px;font-size:12px;justify-content:flex-start;padding:18px;border-bottom:1px solid var(--line)}
  .mat-empty>svg {width:23px;height:23px;color:var(--ink3)}
  .mat-settings {display:flex;flex-direction:column;align-items:stretch;border:0;padding:0;margin:0 0 20px;gap:18px}
  .mat-settings .mat-field {flex:0 0 auto;font-size:12px}
  .mat-settings .mat-hint {flex-basis:auto}
  .mat-export {align-items:stretch}.mat-export>#matRun {width:100%}.mat-export #matOutput {width:100%;flex-direction:column;align-items:stretch}
  .mat-export .mat-download {background:var(--action);color:var(--action-ink);border:1px solid var(--action)}
  .teacher-app .mat-hint {font-size:10px;line-height:1.8}.mat-footnote {margin-top:20px}
  .mat-nav>p {margin-top:24px;padding-top:16px}
  .mat-nav>.text-button {display:flex;gap:8px;align-items:center}
  .mat-tool-picker>summary {display:none}
  @media(max-width:650px){.mat-tool-picker>summary{display:flex;align-items:center;gap:10px;list-style:none;border:1px solid var(--line2);border-radius:6px;background:var(--card);font:600 12px var(--sans);padding:12px;cursor:pointer}.mat-tool-picker>summary::-webkit-details-marker{display:none}.mat-tool-picker>summary>svg:last-child{margin-left:auto}.mat-tool-picker[open]>summary{margin-bottom:16px}}
  html[data-theme="dark"] .teacher-app .bank-row.is-selected {background:var(--soft-accent);color:var(--ink);box-shadow:inset 2px 0 var(--teacher-accent)}
  html[data-theme="dark"] .teacher-app .bank-subject[data-subject="Maths"] {color:#e8b78b}
  html[data-theme="dark"] .teacher-app .bank-subject[data-subject="Physics"] {color:#9ac6ff}
  html[data-theme="dark"] .teacher-app .bank-subject[data-subject="Chemistry"] {color:#b9d99c}
  @media(min-width:1500px){.feature-visual {height:270px}.feature-visual>img {width:215px}.week-art {margin-top:12px}}
  @media(max-width:1190px){.teacher-app .nav-in {gap:14px;padding-inline:24px}.teacher-app .teacher-beta {display:none}.explore-grid {grid-template-columns:repeat(3,minmax(0,1fr))}.mat-editor {grid-template-columns:minmax(0,1fr)}.mat-output-col {padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.mat-settings {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.mat-settings .mat-hint {grid-column:1/-1}.mat-export>#matRun {width:auto}.mat-export #matOutput {width:auto}.mat-export {align-items:center}}
  @media(max-width:900px){.teacher-app .studio-topnav {display:none}.teacher-app .mobo {display:inline-flex}.teacher-app .faculty-menu.open {display:flex;top:76px;width:280px;background:var(--card);z-index:60}.teacher-app .faculty-menu>a.on,html[data-theme="dark"] .teacher-app .faculty-menu>a.on {background:var(--soft-accent);color:var(--teacher-accent);box-shadow:inset 2px 0 var(--teacher-accent)}.teacher-app .faculty-menu>a.on::after {background:var(--teacher-accent)}.explore-showcase {gap:16px}.feature-visual {height:205px;padding-inline:16px}.feature-material .feature-visual {padding-left:18px}.feature-caption b {font-size:13px}.feature-caption small {font-size:10px}.week-art {padding:12px}.week-art>span {font-size:9px}.material-art-icons {right:10px;padding:10px;gap:12px}.explore-grid {grid-template-columns:repeat(2,minmax(0,1fr))}.mat-layout {grid-template-columns:200px minmax(0,1fr);gap:24px}.mat-nav {padding-right:20px}}
  @media(max-width:650px){.teacher-app .nav-in {height:64px;padding-inline:16px;gap:10px}.teacher-app .brand {font-size:13px;gap:8px}.teacher-app .brand img.faculty-logo {width:30px;height:30px}.teacher-app .workspace-search {padding:8px;min-height:36px}.teacher-app .workspace-search span {display:none}.teacher-app .nav-sp {min-width:0}.teacher-app .faculty-menu.open {top:64px;width:min(300px,90vw)}.teacher-app .faculty-main,.teacher-app .wrap {padding-inline:18px}.teacher-app .faculty-heading h1 {font-size:22px}.teacher-app .explore-heading {align-items:start;flex-direction:column;gap:18px}.explore-showcase {grid-template-columns:1fr;margin-bottom:26px}.explore-feature {display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;align-items:center}.feature-visual {height:150px;padding:14px 12px 0}.feature-visual>img {width:115px;max-width:100%}.feature-tag {display:none}.feature-caption {padding:0;align-items:start}.feature-caption b {font-size:14px}.feature-caption small {font-size:11px}.feature-caption>svg {width:16px;flex-shrink:0}.feature-material .feature-visual {padding-left:10px}.material-art-icons {top:32px;padding:7px;gap:8px}.material-art-icons>svg {width:17px!important;height:17px!important}.week-art {padding:10px 8px}.week-art>b {font-size:9px;gap:5px;margin-bottom:8px}.week-art>b>svg {width:13px}.week-art>span {height:22px;font-size:7px;gap:3px}.week-art em {width:21px}.week-art>span>svg {width:9px;height:9px}.explore-directory-head {align-items:start;gap:16px}.explore-search {width:100%}.explore-directory h2 {font-size:18px}.explore-filters {gap:6px}.explore-filters button {font-size:11px;padding:8px 11px}.explore-grid {gap:10px}.explore-grid .studio-tool {padding:14px;min-height:148px;gap:14px}.tool-label strong {font-size:12px}.tool-label small {font-size:10px}.explore-roadmap>div {grid-template-columns:1fr}.mat-layout {grid-template-columns:minmax(0,1fr);gap:24px}.mat-nav {border:0;border-bottom:1px solid var(--line);padding:0 0 18px}.mat-nav nav {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:230px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line3) var(--card)}.mat-nav-group h3 {font-size:9px;margin-top:0}.mat-nav-group button {font-size:10px;line-height:1.6;padding:8px 6px;align-items:start;gap:5px}.mat-nav-group button>svg {width:13px;height:13px;margin-top:2px}.mat-nav>p,.mat-nav>.text-button {display:none}.mat-search {margin-bottom:16px}.mat-editor {gap:20px}.mat-drop {padding:24px 16px}.mat-settings {grid-template-columns:minmax(0,1fr)}.mat-work .faculty-heading {align-items:start;flex-direction:column;gap:12px}.mat-work .faculty-heading h1 {font-size:21px}}
  @media(max-width:360px){.teacher-app .brand>span {max-width:65px;white-space:normal;line-height:1.3}.teacher-app .nav-in {gap:8px}.explore-feature {grid-template-columns:115px minmax(0,1fr);gap:12px}.mat-nav nav {grid-template-columns:repeat(2,minmax(0,1fr))}}
  @media(max-width:650px){.mat-nav nav{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}.mat-nav-group button{flex-direction:row;min-height:44px}.mat-drop{align-items:center}}
  @media(prefers-reduced-motion:no-preference){.feature-visual>img,.week-art {transition:transform .2s ease}.explore-feature:hover .feature-visual>img,.explore-feature:hover .week-art {transform:translateY(-4px)}.studio-mega {animation:menu-reveal .14s ease-out}@keyframes menu-reveal {from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}}
}
@media print {.studio-topnav {display:none!important}}


/* teacher/milestone.css */
@media screen {
  .teacher-app .paper-flow-grid { grid-template-rows:auto minmax(0,1fr); }
  .paper-stage-bar { grid-column:1/-1; gap:14px; padding:8px 16px; background:var(--card); }
  .paper-stage-bar .builder-tabs { flex:1; justify-content:flex-start; gap:14px; }
  .paper-stage-bar .builder-tabs button { display:flex; gap:9px; align-items:center; min-height:42px; padding:8px 14px; font-size:13px; }
  .stage-number { width:24px; height:24px; display:grid; place-items:center; border:1px solid var(--line2); border-radius:50%; font-size:11px; }
  .paper-stage-bar [aria-selected="true"] .stage-number { background:var(--teacher-accent); color:#10130c; border-color:transparent; }
  .paper-flow-grid:not([data-stage="questions"]) .builder-bottom .eligible-count,
  .paper-flow-grid:not([data-stage="questions"]) .builder-bottom .dpp-actions,
  .paper-flow-grid:not([data-stage="questions"]) .builder-bottom .selection-summary { display:none; }
  .paper-flow-grid:not([data-stage="questions"]) .builder-bottom { display:none; }
  .paper-preview-layout { display:flex; flex:1; min-height:0; position:relative; overflow:hidden; }
  .paper-preview-layout .paper-canvas { min-width:0; }
  .paper-outline { display:flex; flex-direction:column; flex:0 0 215px; width:215px; min-height:0; border-right:1px solid var(--line); background:var(--card); color:var(--ink); font:12px/1.5 var(--sans); }
  .paper-outline[hidden] { display:none; }
  .outline-heading { display:flex; justify-content:space-between; gap:8px; padding:14px; border-bottom:1px solid var(--line); }
  .outline-list { list-style:none; margin:0; padding:6px; flex:1; min-height:110px; overflow:auto; scrollbar-gutter:stable; }
  .outline-list li { margin:0; }
  .outline-list button { display:flex; gap:10px; width:100%; padding:11px 8px; border:1px solid transparent; border-radius:4px; background:none; color:var(--ink2); text-align:left; font:12px/1.5 var(--sans); cursor:pointer; }
  .outline-list b { flex:0 0 22px; }
  .outline-list span { overflow-wrap:anywhere; }
  .outline-list small { display:block; color:var(--ink3); font-size:11px; line-height:1.5; margin-top:4px; }
  .outline-list button[aria-current="true"] { background:var(--bg2); border-color:var(--teacher-accent); color:var(--teacher-accent); }
  .question-inspector { padding:14px; border-top:1px solid var(--line); max-height:45%; overflow:auto; }
  .question-inspector h3,.paper-review-summary h3 { font:600 14px var(--sans); margin:0 0 12px; }
  .inspector-actions { display:flex; gap:8px; }
  .question-inspector label { display:flex; align-items:flex-start; gap:7px; font-size:11px; line-height:1.6; margin:10px 0; }
  .question-inspector input { margin-top:3px; flex:0 0 auto; }
  .teacher-app .paper-canvas .question-selected { outline:2px solid #537246; outline-offset:4px; }
  .paper-review-summary { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--line); font:13px/1.6 var(--sans); }
  .paper-review-summary .review-note { color:var(--ink3); font-size:12px; }
  .review-actions { display:grid; gap:8px; }
  .review-actions .btn { justify-content:flex-start; }
  .lesson-pack-fields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:20px 0; padding:20px 0; border-block:1px solid var(--line); }
  .lesson-pack-fields label { display:grid; gap:8px; font-size:13px; }
  .lesson-pack-fields textarea { width:100%; min-height:94px; padding:12px; font:13px/1.6 var(--sans); border:1px solid var(--line2); border-radius:6px; background:var(--card); color:var(--ink); resize:vertical; }
  .lesson-pack-bar { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:18px 0; }
  .lesson-pack-bar small { color:var(--ink3); flex-basis:100%; font-size:12px; }
  .topic-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:28px; }
  .topic-main { min-width:0; }
  .topic-controls { border-right:1px solid var(--line); padding-right:24px; }
  .topic-controls label { display:grid; gap:10px; margin:20px 0; font-size:13px; }
  .topic-controls select { width:100%; min-height:42px; padding:8px; }
  .topic-controls input[type="range"] { width:100%; }
  .topic-controls output { color:var(--teacher-accent); font-variant-numeric:tabular-nums; }
  .topic-formula { font-size:20px; line-height:1.7; min-height:70px; padding:12px 0; }
  .topic-models { display:grid; gap:8px; }
  .topic-models button { text-align:left; display:flex; gap:10px; padding:12px; min-height:44px; background:var(--card); border:1px solid var(--line2); color:var(--ink); border-radius:6px; font:13px var(--sans); cursor:pointer; }
  .topic-models button[aria-pressed="true"] { border-color:var(--teacher-accent); color:var(--teacher-accent); background:var(--bg2); }
  .topic-plot { min-width:0; background:#fff; color:#202a2e; border-radius:6px; overflow:hidden; padding:10px; }
  #topicGraph { min-height:300px; }
  .topic-chart-head { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:0 0 12px; }
  .topic-chart-head h2 { font-size:18px; margin:0; }
  .topic-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:18px 0; border-bottom:1px solid var(--line); }
  .topic-results div { padding:12px 10px; border-right:1px solid var(--line); }
  .topic-results small,.topic-results strong { display:block; overflow-wrap:anywhere; }.topic-results strong { font-size:20px; margin-top:8px; }
  .topic-evidence { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:24px; }
  .topic-evidence h3 { font-size:15px; }
  .topic-evidence p { font-size:13px; line-height:1.8; color:var(--ink2); }
  .topic-evidence table { width:100%; border-collapse:collapse; font:12px/1.6 var(--sans); font-variant-numeric:tabular-nums; }
  .topic-evidence th,.topic-evidence td { padding:9px 5px; text-align:right; border-bottom:1px solid var(--line); }
  .topic-evidence th:first-child,.topic-evidence td:first-child { text-align:left; }
  .topic-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
  .topic-footnote { color:var(--ink3); font-size:12px; line-height:1.7; }
  @media (max-width:1499px) { .paper-outline { position:absolute; z-index:4; inset:0 auto 0 0; width:260px; box-shadow:8px 0 24px #0004; } }
  @media (max-width:850px) {
    .teacher-app .paper-flow-grid { grid-template-columns:minmax(0,1fr); }
    .paper-stage-bar { flex-wrap:wrap; gap:6px; padding:6px; }
    .paper-stage-bar .builder-tabs { flex-basis:100%; justify-content:space-between; gap:0; padding:0; }
    .paper-stage-bar .builder-tabs button { padding:8px; font-size:12px; }
    .paper-stage-bar .builder-layout-tools { margin-left:auto; }
    .topic-layout { grid-template-columns:1fr; gap:20px; }
    .topic-controls { border:0; padding:0; }.topic-controls label { margin:12px 0; }
    .topic-models { grid-template-columns:repeat(3,minmax(0,1fr)); }.topic-models button { padding:10px 8px; font-size:11px; }
    .topic-models svg { display:none; }
    .topic-evidence,.lesson-pack-fields { grid-template-columns:1fr; }
    .topic-chart-head { flex-wrap:wrap; }
  }
}
@media print { .paper-stage-bar,.paper-outline,.paper-review-summary { display:none!important; } .paper-preview-layout { display:block; } }


/* teacher/usability.css */
@media screen {
  .teacher-app .paper-export-tools {padding:8px 16px;gap:12px;overflow:visible}
  .paper-export-menu {position:relative}
  .paper-export-menu>summary {display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border:1px solid var(--line2);border-radius:6px;font:600 12px var(--sans);list-style:none}
  .paper-export-menu>summary::-webkit-details-marker {display:none}
  .paper-export-menu>summary svg {width:16px;height:16px}
  .paper-export-menu>div {position:absolute;inset:calc(100% + 4px) auto auto 0;min-width:220px;padding:8px;display:grid;gap:6px;background:var(--card);border:1px solid var(--line2);border-radius:6px;box-shadow:0 12px 28px #0005;z-index:12}
  .paper-export-menu .btn {justify-content:flex-start}
  .logo-drop-zone {display:grid;grid-template-columns:74px minmax(0,1fr);gap:14px;align-items:center;border:1px dashed var(--line2);border-radius:6px;padding:16px;min-height:126px}
  .logo-drop-zone:focus-visible,.logo-drop-zone.drag-over {outline:2px solid var(--teacher-accent);outline-offset:3px;border-color:var(--teacher-accent)}
  .logo-drop-zone>div:last-child {display:grid;justify-items:start;gap:12px;font-size:12px}
  .logo-drop-zone .logo-sample {width:74px;height:64px;display:grid;place-items:center;background:#fff;border-radius:4px;overflow:hidden;margin:0}
  .logo-drop-zone .logo-sample img {max-width:68px;max-height:58px;object-fit:contain}
  .logo-drop-zone .logo-sample img:not([hidden])+svg {display:none}
  .logo-drop-zone .logo-sample svg {width:28px;height:28px;color:#466353}
  .logo-control>button {margin-top:10px}
  .teacher-app .nav-auth {display:flex;align-items:center;gap:8px;flex-shrink:0}
  .teacher-app .nav-auth .btn {display:inline-flex;white-space:nowrap;padding:9px 12px;font-size:12px}
  .teacher-app .nav-in {gap:16px}
  .navigation-language {display:flex;align-items:center;gap:4px;position:relative;flex-shrink:0}
  .navigation-language>svg {width:19px;height:19px;pointer-events:none;position:absolute;left:8px}
  .navigation-language select {width:43px;min-height:36px;padding:6px 0 6px 32px;border:1px solid var(--line2);border-radius:6px;background:var(--card);color:var(--ink);font:12px var(--sans);cursor:pointer}
  .navigation-language select option {color:var(--ink);background:var(--card)}
  .faculty-footer {border-top:1px solid var(--line);padding:36px 0}
  .faculty-footer .foot-in {align-items:start;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px}
  .faculty-footer b {display:block;margin-bottom:14px;font-size:14px}
  .faculty-footer p {font:12px/1.8 var(--sans);color:var(--ink3);max-width:35ch;margin:8px 0}
  .faculty-footer .faculty-social {display:inline-flex;align-items:center;gap:8px;margin-top:10px;color:var(--ink);font:600 12px/1.5 var(--sans);text-decoration:none}
  .faculty-footer .faculty-social svg {width:17px;height:17px;color:var(--teacher-accent)}
  .faculty-footer .faculty-social:is(:hover,:focus-visible) {color:var(--teacher-accent);text-decoration:underline}
  .faculty-footer .foot-links {display:grid;align-items:start;justify-content:start;gap:12px;font:12px/1.5 var(--sans)}
  .support-page {max-width:1200px;margin:auto;padding-block:36px 64px}
  .support-crumb {font:12px/1.6 var(--sans);color:var(--ink3);margin-bottom:24px}
  .support-crumb a {color:inherit}
  .support-heading h1 {font:700 32px/1.3 var(--sans);margin:0 0 32px}
  .help-topics {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;border-top:1px solid var(--line);margin-bottom:44px}
  .help-topics>a {display:flex;align-items:center;gap:16px;min-width:0;padding:22px 8px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
  .help-topics>a>svg {width:22px;height:22px;flex-shrink:0;color:var(--teacher-accent)}
  .help-topics>a>span {flex:1;min-width:0}
  .help-topics b,.help-topics small {display:block}
  .help-topics b {font:600 15px/1.6 var(--sans)}
  .help-topics small {font:12px/1.6 var(--sans);color:var(--ink3);margin-top:4px}
  .support-prose {max-width:76ch;font:14px/1.85 var(--sans);color:var(--ink2)}
  .support-prose h2 {font:600 20px/1.5 var(--sans);color:var(--ink);margin:30px 0 12px}
  .support-prose details {padding:16px 0;border-bottom:1px solid var(--line)}
  .support-prose summary {font-weight:600;color:var(--ink);cursor:pointer}
  .support-prose li {margin-block:8px}
  .support-prose p a,.faculty-footer .faculty-operator a {color:var(--orange);font-weight:700;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
  .support-meta {color:var(--ink3);font:12px/1.6 var(--sans)}
  .support-status {border-left:3px solid var(--teacher-accent);padding:8px 16px;color:var(--ink);background:var(--card)}
  .support-articles {display:grid;gap:0}
  .support-articles article {padding:20px 0;border-top:1px solid var(--line)}
  .support-articles h2 {font:600 20px/1.6 var(--sans)}
  .support-articles h2 a {text-decoration:none;color:var(--ink)}
  .faculty-account-dialog {width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 32px);overflow:auto;padding:40px 32px;background:var(--bg);color:var(--ink);border:1px solid var(--line2);border-radius:8px;text-align:center}
  .faculty-account-dialog::backdrop {background:#000b}
  .faculty-account-dialog>form {display:flex;justify-content:flex-end;margin:-20px -12px 8px}
  .faculty-account-dialog h2 {font:700 25px/1.4 var(--sans);margin:20px 0 10px}
  .faculty-account-dialog p {font:14px/1.8 var(--sans);color:var(--ink3)}
  .account-beta-note {display:flex;align-items:start;gap:14px;text-align:left;margin:26px 0 18px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:6px;font:13px/1.8 var(--sans)}
  .account-beta-note>svg {flex-shrink:0;width:24px;color:var(--teacher-accent)}
  .faculty-account-dialog .btn {width:100%;margin:12px 0 18px}
  .faculty-account-dialog>a {font:13px/1.6 var(--sans)}
  .faculty-account-dialog .account-terms {font-size:11px;margin:24px 0 0}
  .teacher-app :is(.btn.ghost,.icon-btn,.studio-menu>summary,.studio-topnav>a,.studio-mega a,.mat-nav-group button,.help-topics>a):is(:hover,:focus-visible) {background:#185f75;border-color:#5db4bd;color:#fff;filter:none}
  .teacher-app :is(.studio-mega a,.help-topics>a):is(:hover,:focus-visible) :is(b,small,svg) {color:#fff}
  .teacher-app :is(button,a,summary,input,select):focus-visible {outline:2px solid var(--teacher-accent);outline-offset:3px}
  .teacher-app .paper-path .dlabel {font-weight:700;color:var(--ink)}
  .teacher-app .paper-targets {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .teacher-app .paper-target {display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0;min-height:86px;padding:10px 11px;border:1px solid var(--line2);border-radius:6px;background:var(--card);color:var(--ink);text-align:left;cursor:pointer}
  .teacher-app .paper-target strong,.teacher-app .paper-target small {display:block;overflow-wrap:anywhere}
  .teacher-app .paper-target strong {font:650 13px/1.35 var(--sans)}
  .teacher-app .paper-target small {margin-top:3px;color:var(--ink3);font:11px/1.35 var(--sans)}
  .teacher-app .paper-target em {color:var(--ink3);font:600 10px/1.3 var(--sans);font-style:normal}
  .teacher-app .paper-target.on {border-color:var(--teacher-accent);background:#e9f4ee;box-shadow:inset 0 3px var(--teacher-accent)}
  .teacher-app .paper-target.on em {color:#245d45}
  html[data-theme="dark"] .teacher-app .paper-target.on {background:#283f34}
  html[data-theme="dark"] .teacher-app .paper-target.on em {color:#b8e9cc}
  .teacher-app .paper-target:hover:not(.on) {border-color:#3f8b96;background:var(--bg2)}
  .teacher-app .dpp-panel:not([data-bank="true"]) .jee-only {display:none}
  .teacher-app .curriculum-navigator {margin:3px 0 22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .teacher-app .curriculum-navigator>label {display:grid;gap:7px}
  .teacher-app .curriculum-navigator select {width:100%;margin-bottom:15px}
  .teacher-app .curriculum-navigator small {display:block;color:var(--ink3);font:11px/1.5 var(--sans)}
  .teacher-app .curriculum-tracks {display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
  .teacher-app .curriculum-tracks button {min-height:34px;padding:6px 9px;border:1px solid var(--line2);border-radius:4px;background:transparent;color:var(--ink2);font:600 11px var(--sans);cursor:pointer}
  .teacher-app .curriculum-tracks button.on {background:var(--teacher-accent);border-color:var(--teacher-accent);color:#fff}
  .teacher-app .curriculum-head {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0 8px;font:600 11px var(--sans)}
  .teacher-app .curriculum-head a {display:inline-flex;align-items:center;gap:4px;color:var(--teacher-accent);text-decoration:none;font-weight:500}
  .teacher-app .curriculum-head svg {width:12px;height:12px}
  .teacher-app .curriculum-list {max-height:260px;overflow:auto;border-block:1px solid var(--line);scrollbar-width:auto;scrollbar-color:#82968e var(--bg2)}
  .teacher-app .curriculum-unit {display:grid;gap:2px;padding:10px 0;border-bottom:1px solid var(--line);font:12px/1.5 var(--sans)}
  .teacher-app .curriculum-unit:last-child {border-bottom:0}
  .teacher-app .curriculum-unit b {color:var(--ink);font-weight:650}
  .teacher-app .curriculum-availability {margin:0 0 10px;color:var(--ink2);font:600 11px/1.5 var(--sans)}
  .teacher-app .curriculum-all {min-height:34px;margin:0 10px 10px 0;padding:6px 10px;border:1px solid var(--line2);border-radius:4px;background:transparent;color:var(--ink2);font:600 11px var(--sans);cursor:pointer}
  .teacher-app .curriculum-all.on {border-color:var(--teacher-accent);background:#e9f4ee;color:#245d45}
  html[data-theme="dark"] .teacher-app .curriculum-all.on {background:#283f34;color:#d3f3dc}
  .teacher-app .curriculum-all:hover {border-color:#3f8b96;color:var(--ink)}
  .teacher-app .curriculum-all:focus-visible {outline:2px solid var(--teacher-accent);outline-offset:2px}
  .teacher-app .curriculum-choice-note {display:inline-block;margin-bottom:10px}
  .teacher-app .curriculum-chapter {display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:34px;padding:6px 8px;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--ink2);font:500 11px/1.35 var(--sans);text-align:left;cursor:pointer}
  .teacher-app .curriculum-chapter span {min-width:0;overflow-wrap:anywhere}
  .teacher-app .curriculum-chapter small {min-width:22px;padding:2px 5px;border-radius:4px;background:var(--bg2);text-align:center}
  .teacher-app .curriculum-chapter:hover {border-color:#3f8b96;background:var(--bg2);color:var(--ink)}
  .teacher-app .curriculum-chapter.on {border-color:var(--teacher-accent);background:#e9f4ee;color:#245d45}
  html[data-theme="dark"] .teacher-app .curriculum-chapter.on {background:#283f34;color:#d3f3dc}
  .teacher-app .curriculum-chapter:focus-visible {outline:2px solid var(--teacher-accent);outline-offset:1px}
  .teacher-app .content-course-note {align-self:end;min-height:38px;padding:9px 0;color:var(--ink2);font:600 12px/1.5 var(--sans)}
  .teacher-app .wq-n small {display:block;color:#62696e;font:500 9px/1.3 var(--paper-sans)}
  .teacher-app .curriculum-hold {margin:12px 0;color:var(--ink3);font:11px/1.6 var(--sans)}
  .teacher-app .curriculum-own-link {display:inline-flex;align-items:center;gap:6px;color:var(--teacher-accent);font:600 12px/1.5 var(--sans)}
  .teacher-app .curriculum-own-link svg {width:15px;height:15px}
  .teacher-app .dpp-panel:not([data-bank="true"]) .selection-summary {border-color:#3f8b96}
  /* Exam catalogue: four main cards, then every other exam grouped by family under a disclosure. */
  .teacher-app .more-exams {margin-top:10px;border-top:1px solid var(--line);padding-top:8px}
  .teacher-app .more-exams>summary {cursor:pointer;min-height:36px;display:flex;align-items:center;gap:8px;color:var(--ink2);font:600 12px/1.4 var(--sans)}
  .teacher-app .more-exams>summary small {padding:1px 7px;border-radius:99px;background:var(--bg2);color:var(--ink3);font-weight:600}
  .teacher-app .exam-family {margin:12px 0 4px}
  .teacher-app .exam-family>b {display:block;margin-bottom:6px;color:var(--ink);font:650 12px/1.4 var(--sans)}
  .teacher-app .paper-targets.compact {grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .teacher-app .paper-target.compact {min-height:0;padding:8px 9px;gap:6px}
  .teacher-app .paper-target.compact strong {font-size:12px}
  .teacher-app .paper-target.compact small {font-size:10.5px}
  .teacher-app .more-exams-note {margin:10px 0 2px;color:var(--ink3);font:11px/1.5 var(--sans)}
  /* Setup steps are numbered by what is visible for the chosen exam, so hidden steps never leave gaps. */
  .teacher-app .setup-flow {counter-reset:setup-step}
  .teacher-app .setup-step {counter-increment:setup-step}
  .teacher-app .setup-step .step-title {color:var(--ink);font-weight:700}
  .teacher-app .setup-step .step-title::before {content:counter(setup-step) ". "}
  .teacher-app .setup-step>label>.step-title {display:block;margin-bottom:6px}
  .teacher-app .paper-target[disabled] {cursor:not-allowed;opacity:.62}
  .teacher-app .paper-target[disabled]:hover {border-color:var(--line2);background:var(--card)}
  .teacher-app .refine-selection {margin:18px 0 6px;padding-top:14px;border-top:1px solid var(--line)}
  .teacher-app .refine-heading {display:flex;align-items:baseline;gap:8px;margin:0 0 12px;font:700 13px/1.4 var(--sans);color:var(--ink)}
  .teacher-app .refine-heading small {color:var(--ink3);font-weight:500;font-size:11px}
  /* R1a: short notes beside the header fields and the print choice. */
  .teacher-app .paper-note {margin:2px 0 14px;color:var(--ink2);font:12px/1.55 var(--sans)}
  .teacher-app #panel-output .paper-note {margin-top:0}
  /* R1a review: which copy prints, said beside Print / PDF; the phone Design step's own Preview / Print actions. */
  .teacher-app .dpp-preview-bar>div:first-child span.paper-copy-state {display:inline;margin:0;overflow:visible;color:var(--ink);font-size:inherit;font-weight:650}
  .teacher-app .paper-copy-toggle[aria-pressed="true"] {border-color:var(--teacher-accent);color:var(--teacher-accent)}
  .teacher-app .phone-step-actions {display:none}
  @media(max-width:850px) {
    /* R1a (MOB-2): on phones the setup flows with the page for every exam, including the loaded JEE bank. */
    .teacher-app:not(.workspace-expanded) .dpp-panel {height:auto;min-height:0;overflow:visible}
    .teacher-app:not(.workspace-expanded) .dpp-panel .builder-section {flex:0 0 auto;overflow:visible;overscroll-behavior:auto}
    .teacher-app:not(.workspace-expanded) .dpp-panel .builder-scroll-next {display:none!important}
    .teacher-app .curriculum-list {max-height:none;overflow:visible}
    .teacher-app .phone-step-actions {display:flex;gap:8px;margin:18px 0 6px}
    .teacher-app .phone-step-actions .btn {flex:1;min-height:44px;justify-content:center}
    .teacher-app .dpp-panel .builder-section {scroll-margin-top:72px}
    /* R1a (MOB-4): iPhone Safari zooms into any field whose text is under 16 px, so phone fields use 16 px text. */
    .teacher-app :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="color"]),select,textarea) {font-size:16px}
  }
  @media(max-width:560px) {
    .teacher-app .paper-target {min-height:60px;padding:8px;gap:3px}
    .teacher-app .paper-target small {display:none}
  }
  @media(max-width:1250px) {.teacher-app .teacher-beta {display:none}.teacher-app .nav-in {gap:10px}.teacher-app .nav-auth .signup-entry {display:none}}
  @media(max-width:900px) {.teacher-app .nav-auth .signup-entry {display:none}}
  @media(max-width:650px) {.help-topics {grid-template-columns:1fr}.support-heading h1 {font-size:26px}.faculty-footer .foot-in {grid-template-columns:1fr 1fr}.faculty-footer .foot-in>div:first-child {grid-column:1/-1}.teacher-app .nav-auth .btn {font-size:11px;padding:8px}.teacher-app .nav-in {gap:8px}.faculty-account-dialog {padding:32px 20px}.teacher-app .paper-export-tools {gap:6px}.paper-export-menu>div {left:auto;right:0}}
  @media(max-width:390px) {.teacher-app .teacher-nav .brand>span:last-child {display:none}.teacher-app .nav-in {gap:6px}.teacher-app .nav-auth .btn {max-width:96px;white-space:normal;line-height:1.4}.navigation-language select {width:37px}}
  @media(prefers-reduced-motion:no-preference) {.logo-drop-zone {transition:border-color .15s ease,background .15s ease}}
  .teacher-app .nav.scrolled {box-shadow:0 5px 18px #102e3b18}
  .teacher-app .brand:focus-visible {outline-offset:6px}
  .teacher-app :is(button,.btn,.studio-tool,.explore-feature) {touch-action:manipulation}
  @media(prefers-reduced-motion:no-preference) {
    .teacher-app :is(button,.btn,.studio-tool,.explore-feature,.brand img) {transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
    .teacher-app :is(button,.btn):active:not(:disabled) {transform:scale(.97)}
    .teacher-app .studio-tool:hover {box-shadow:inset 0 3px var(--teacher-accent);transform:translateY(-2px)}
    .teacher-app .explore-feature:hover .feature-visual>img {transform:translateY(-4px)}
    .teacher-app .feature-visual>img {transition:transform .24s ease}
    .teacher-app .brand:hover img {transform:rotate(-4deg)}
    .teacher-app.theme-change {animation:faculty-theme-change .24s ease}
    .studio-menu[open] .studio-mega {animation:faculty-menu-open .16s ease}
    @keyframes faculty-theme-change {from {opacity:.88}to {opacity:1}}
    @keyframes faculty-menu-open {from {opacity:0;transform:translateY(-4px)}to {opacity:1;transform:translateY(0)}}
  }
  /* R1b (Workspace 2.0 audit, 27 Sep 2026) */
  /* Audience line: the exams that are coming are named beside their cards. */
  .teacher-app .paper-note.exam-coming {margin:8px 0 0}
  .teacher-app .exam-own-link {display:inline-flex;align-items:center;gap:6px;color:var(--teacher-accent);font:600 12px/1.5 var(--sans)}
  .teacher-app .exam-own-link svg {width:15px;height:15px}
  /* LIB-1: the in-page question asked before a paper would be replaced. */
  .teacher-app dialog.paper-choice {width:min(460px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;padding:22px;border:1px solid var(--line2);border-radius:10px;background:var(--card);color:var(--ink);box-shadow:0 18px 50px #0003}
  .teacher-app dialog.paper-choice::backdrop {background:#0f1d2466}
  .teacher-app .paper-choice h2 {margin:0 0 12px;font:650 19px/1.35 var(--sans)}
  .teacher-app .paper-choice-counts {display:grid;gap:6px;margin:0 0 12px}
  .teacher-app .paper-choice-counts>div {display:flex;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:6px}
  .teacher-app .paper-choice-counts dt.paper-note {margin:0}
  .teacher-app .paper-choice-counts dd {margin:0;font:650 15px/1.4 var(--sans)}
  .teacher-app .paper-choice-actions {display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
  .teacher-app .paper-choice-actions .btn {flex:1 1 150px;min-height:44px;justify-content:center;white-space:normal}
  .teacher-app .paper-choice-actions .btn:disabled {opacity:.55;cursor:not-allowed}
  /* R1b review: the dialog names the open paper; a chapter link's setup is confirmed at the top of the builder. */
  .teacher-app .paper-choice-paper {margin:0 0 10px;font:600 14px/1.4 var(--sans);overflow-wrap:anywhere}
  .teacher-app .handoff-note {display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0 0 12px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card)}
  .teacher-app .handoff-note svg {width:15px;height:15px;flex:none}
  .teacher-app .handoff-note b {font-weight:650;color:var(--ink)}
  .teacher-app .content-io .content-io-label {display:none}
  /* VIS-3: on phones the My Content filters stack at full width (search first), icons in a trailing row. */
  @media(max-width:600px) {
    .teacher-app .content-toolbar {display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:end}
    .teacher-app .content-toolbar .mat-field {grid-column:1/-1;width:100%;min-width:0}
    .teacher-app .content-toolbar .mat-field:has(#contentSearch) {order:-1}
    .teacher-app .content-toolbar .icon-btn {width:44px;height:44px;justify-self:start}
    /* R1b review: a phone has no hover tooltip, so the backup and restore arrows carry their words. */
    .teacher-app .content-toolbar .icon-btn.content-io {width:auto;min-width:44px;padding:0 14px;gap:8px}
    .teacher-app .content-toolbar .content-io .content-io-label {display:inline;font:600 14px/1.2 var(--sans, inherit);white-space:nowrap}
  }
}
