@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url("./KaTeX_AMS-Regular-U6PRYMIZ.woff2") format("woff2"),url("./KaTeX_AMS-Regular-CYEKBG2K.woff") format("woff"),url("./KaTeX_AMS-Regular-JKX5W2C4.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url("./KaTeX_Caligraphic-Bold-5QL5CMTE.woff2") format("woff2"),url("./KaTeX_Caligraphic-Bold-WZ3QSGD3.woff") format("woff"),url("./KaTeX_Caligraphic-Bold-ZTS3R3HK.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url("./KaTeX_Caligraphic-Regular-KX5MEWCF.woff2") format("woff2"),url("./KaTeX_Caligraphic-Regular-3LKEU76G.woff") format("woff"),url("./KaTeX_Caligraphic-Regular-A7XRTZ5Q.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url("./KaTeX_Fraktur-Bold-2QVFK6NQ.woff2") format("woff2"),url("./KaTeX_Fraktur-Bold-T4SWXBMT.woff") format("woff"),url("./KaTeX_Fraktur-Bold-WGHVTYOR.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url("./KaTeX_Fraktur-Regular-2PEIFJSJ.woff2") format("woff2"),url("./KaTeX_Fraktur-Regular-PQMHCIK6.woff") format("woff"),url("./KaTeX_Fraktur-Regular-5U4OPH2X.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url("./KaTeX_Main-Bold-YP5VVQRP.woff2") format("woff2"),url("./KaTeX_Main-Bold-2GA4IZIN.woff") format("woff"),url("./KaTeX_Main-Bold-W5FBVCZM.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url("./KaTeX_Main-BoldItalic-N4V3DX7S.woff2") format("woff2"),url("./KaTeX_Main-BoldItalic-4P4C7HJH.woff") format("woff"),url("./KaTeX_Main-BoldItalic-ODMLBJJQ.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url("./KaTeX_Main-Italic-RELBIK7M.woff2") format("woff2"),url("./KaTeX_Main-Italic-SASNQFN2.woff") format("woff"),url("./KaTeX_Main-Italic-I43T2HSR.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url("./KaTeX_Main-Regular-ARRPAO67.woff2") format("woff2"),url("./KaTeX_Main-Regular-P5I74A2A.woff") format("woff"),url("./KaTeX_Main-Regular-W74P5G27.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url("./KaTeX_Math-BoldItalic-K4WTGH3J.woff2") format("woff2"),url("./KaTeX_Math-BoldItalic-6EBV3DK5.woff") format("woff"),url("./KaTeX_Math-BoldItalic-VB447A4D.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url("./KaTeX_Math-Italic-6KGCHLFN.woff2") format("woff2"),url("./KaTeX_Math-Italic-KKK3USB2.woff") format("woff"),url("./KaTeX_Math-Italic-SON4MRCA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url("./KaTeX_SansSerif-Bold-RRNVJFFW.woff2") format("woff2"),url("./KaTeX_SansSerif-Bold-X5M5EMOD.woff") format("woff"),url("./KaTeX_SansSerif-Bold-STQ6RXC7.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url("./KaTeX_SansSerif-Italic-HMPFTM52.woff2") format("woff2"),url("./KaTeX_SansSerif-Italic-PSN4QKYX.woff") format("woff"),url("./KaTeX_SansSerif-Italic-WTBAZBGY.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url("./KaTeX_SansSerif-Regular-XIQ62X4E.woff2") format("woff2"),url("./KaTeX_SansSerif-Regular-OQCII6EP.woff") format("woff"),url("./KaTeX_SansSerif-Regular-2TL3USAE.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url("./KaTeX_Script-Regular-APUWIHLP.woff2") format("woff2"),url("./KaTeX_Script-Regular-A5IFOEBS.woff") format("woff"),url("./KaTeX_Script-Regular-72OLXYNA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url("./KaTeX_Size1-Regular-5LRUTBFT.woff2") format("woff2"),url("./KaTeX_Size1-Regular-4HRHTS65.woff") format("woff"),url("./KaTeX_Size1-Regular-7K6AASVL.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url("./KaTeX_Size2-Regular-LELKET5D.woff2") format("woff2"),url("./KaTeX_Size2-Regular-K5ZHAIS6.woff") format("woff"),url("./KaTeX_Size2-Regular-222HN3GT.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url("./KaTeX_Size3-Regular-WQRQ47UD.woff2") format("woff2"),url("./KaTeX_Size3-Regular-TLFPAHDE.woff") format("woff"),url("./KaTeX_Size3-Regular-UFCO6WCA.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url("./KaTeX_Size4-Regular-CDMV7U5C.woff2") format("woff2"),url("./KaTeX_Size4-Regular-PKMWZHNC.woff") format("woff"),url("./KaTeX_Size4-Regular-7PGNVPQK.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url("./KaTeX_Typewriter-Regular-VBYJ4NRC.woff2") format("woff2"),url("./KaTeX_Typewriter-Regular-MJMFSK64.woff") format("woff"),url("./KaTeX_Typewriter-Regular-3F5K6SQ6.ttf") format("truetype")}.katex{font: 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}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Instrument Sans;src:url(/fonts/InstrumentSans-Italic.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}:root{color-scheme:light;--desk: #eceeea;--paper: #ffffff;--paper-2: #f5f6f3;--rule: #d8dcd5;--rule-strong: #b8beb5;--grid: rgb(35 71 214 / .055);--grid-major: rgb(35 71 214 / .1);--ink: #1a1d21;--ink-2: #4a5159;--ink-3: #6b737b;--on-ink: #ffffff;--pen: #2347d6;--pen-strong: #1a36a8;--pen-tint: #e7ecfd;--hl: #ffe14d;--hl-ink: #1a1d21;--tick: #18804a;--tick-tint: #e2f2e9;--red: #c4302b;--red-tint: #fbeae9;--amber: #a86400;--amber-tint: #fdf1dc;--m-none: #d8dcd5;--m-learning: #b3c1f4;--m-developing: #7189ea;--m-proficient: #2347d6;--m-mastered: #18804a;--font: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--t-xs: .75rem;--t-sm: .875rem;--t-md: 1rem;--t-lg: 1.25rem;--t-xl: 1.5625rem;--t-2xl: 1.953rem;--t-3xl: 2.441rem;--t-4xl: 3.052rem;--s1: .25rem;--s2: .5rem;--s3: .75rem;--s4: 1rem;--s5: 1.5rem;--s6: 2rem;--s7: 3rem;--s8: 4rem;--r-sheet: 12px;--r-ctl: 6px;--r-chip: 4px;--shadow-float: 0 12px 32px rgb(26 29 33 / .16), 0 2px 6px rgb(26 29 33 / .08);--lab-water: #cfe3f6;--lab-oil: #f3dd8a;--lab-sea: #b9dbe6;--lab-glycerine: #e6e2f1;--lab-clear: #eef3f6;--lab-hot: #e2531d;--lab-rod: #b8beb5;--lab-wax: #f3ead2;--lab-plant: #3f8f3a;--lab-plant-tint: #cfe8c9;--lab-o2-rich: #c0392b;--lab-o2-poor: #3b5ea8;--lab-mum: #d9822b;--lab-dad: #2347d6;--lab-sky: #dcebf7;--lab-soil: #8a6a4a;--lab-sun: #f5b82e;--lab-pale: #d9cf6a;--lab-pot: #c4683f;--lab-coin: #d9b44a;--lab-copper: #c46d36;--lab-night: #1f2a44;--lab-moon: #f4efd9;--rail: 232px;--measure: 68ch;--ease: cubic-bezier(.2, .7, .2, 1)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--desk: #121417;--paper: #1a1d21;--paper-2: #212529;--rule: #30353b;--rule-strong: #474e56;--grid: rgb(140 162 255 / .06);--grid-major: rgb(140 162 255 / .11);--ink: #e9ebe7;--ink-2: #b6bcb3;--ink-3: #8d948b;--on-ink: #121417;--pen: #8aa2ff;--pen-strong: #b1c1ff;--pen-tint: #222c52;--hl: #5c4f12;--hl-ink: #fff6c2;--tick: #4fc283;--tick-tint: #16301f;--red: #ff7a72;--red-tint: #3a1a19;--amber: #f2b84b;--amber-tint: #3a2c10;--m-none: #30353b;--m-learning: #34427a;--m-developing: #5468c4;--m-proficient: #8aa2ff;--m-mastered: #4fc283;--shadow-float: 0 12px 32px rgb(0 0 0 / .5);--lab-water: #1f3a55;--lab-oil: #5a4b17;--lab-sea: #1d4450;--lab-glycerine: #3a3550;--lab-clear: #2a3036;--lab-hot: #ff7a3d;--lab-rod: #5b636b;--lab-wax: #6b6350;--lab-plant: #6cc266;--lab-plant-tint: #1f3a1d;--lab-o2-rich: #ff7a6e;--lab-o2-poor: #8aa7f0;--lab-mum: #f2a65a;--lab-dad: #8aa2ff;--lab-sky: #1a2a3a;--lab-soil: #a8865f;--lab-sun: #f5c14e;--lab-pale: #a69c45;--lab-pot: #a5583a;--lab-coin: #c9a443;--lab-copper: #d98450;--lab-night: #0d1220;--lab-moon: #f1ead0}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--desk);color:var(--ink);font-family:var(--font);font-size:var(--t-md);line-height:1.55;font-feature-settings:"tnum" 0;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;line-height:1.2;font-weight:700;letter-spacing:-.012em;text-wrap:balance}h1{font-size:var(--t-2xl)}h2{font-size:var(--t-lg)}h3{font-size:var(--t-md)}p{margin:0 0 var(--s3);text-wrap:pretty}p:last-child{margin-bottom:0}a{color:var(--pen);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--pen-strong)}strong{font-weight:700}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.9em;background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-chip);padding:0 .3em}ul,ol{margin:0 0 var(--s3);padding-left:1.3em}button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--paper)}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0;font-weight:700}img,svg{max-width:100%}table{border-collapse:collapse}details>summary{cursor:pointer}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.muted{color:var(--ink-3)}.lead{font-size:var(--t-lg);line-height:1.45;color:var(--ink-2);max-width:56ch}.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}:focus-visible{outline:3px solid var(--pen);outline-offset:2px;border-radius:3px}h1[tabindex="-1"]:focus{outline:none}.skip-link{position:absolute;left:var(--s3);top:-100px;z-index:100;background:var(--ink);color:var(--on-ink);padding:var(--s2) var(--s3);border-radius:var(--r-ctl)}.skip-link:focus{top:var(--s3);color:var(--on-ink)}.katex{font-size:1.12em}.tex-display{overflow-x:auto;overflow-y:hidden;padding:var(--s1) 0}.katex-display{margin:.5em 0}.graph-paper{background-color:var(--paper);background-image:linear-gradient(var(--grid-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-major) 1px,transparent 1px),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:40px 40px,40px 40px,8px 8px,8px 8px;background-position:-1px -1px}mark.hl{color:var(--hl-ink);background:linear-gradient(100deg,transparent 0 .15em,var(--hl) .25em calc(100% - .2em),transparent 100%);background-size:100% .82em;background-position:0 72%;background-repeat:no-repeat;padding:0 .12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}@media(forced-colors:active){.mastery-fill,.bars-fill{forced-color-adjust:none;background:Highlight!important}}.shell{min-height:100dvh}.rail{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s2) var(--s4);background:color-mix(in srgb,var(--desk) 92%,transparent);-webkit-backdrop-filter:saturate(1.2) blur(8px);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid var(--rule)}.topbar>a{color:var(--ink);text-decoration:none}.topbar-actions{display:flex;gap:var(--s1)}.topbar-link{display:inline-flex;align-items:center;gap:var(--s1);min-height:40px;padding:0 var(--s2);border:0;background:none;color:var(--ink-2);font-size:var(--t-sm);text-decoration:none;border-radius:var(--r-ctl);cursor:pointer}.topbar-link.active{color:var(--ink);font-weight:700}.main{padding:var(--s5) var(--s4) calc(84px + env(safe-area-inset-bottom));max-width:1120px}.main-bare{max-width:none;min-height:100dvh;display:grid;place-items:center}.main-focus{max-width:none;padding:0}.tabbar{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);background:var(--paper);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}.tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;color:var(--ink-3);font-size:var(--t-xs);text-decoration:none}.tab.active{color:var(--ink);font-weight:700}.tab.active .icon{color:var(--pen)}.logo{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink);font-weight:700;letter-spacing:-.01em}.logo-tile{width:32px;height:32px;flex:none}.logo-word{font-size:var(--t-md)}@media(min-width:960px){.shell{display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}.topbar,.tabbar{display:none}.rail{display:flex;flex-direction:column;position:sticky;top:0;height:100dvh;padding:var(--s5) var(--s3);border-right:1px solid var(--rule);background:var(--desk)}.rail-brand{padding:0 var(--s2) var(--s6);color:var(--ink);text-decoration:none}.rail nav ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.nav-item{display:flex;align-items:center;gap:var(--s3);min-height:44px;padding:0 var(--s3);border-radius:var(--r-ctl);color:var(--ink-2);text-decoration:none;font-weight:400}.nav-item:hover{background:var(--paper-2);color:var(--ink)}.nav-item.active{background:var(--paper);color:var(--ink);font-weight:700;box-shadow:inset 3px 0 0 var(--ink)}.nav-item.active .icon{color:var(--pen)}.rail-foot{margin-top:auto;padding:var(--s3);border-top:1px solid var(--rule);display:grid;gap:var(--s2)}.rail-user{display:grid;margin:0;font-size:var(--t-sm)}.rail-name{font-weight:700}.rail-foot .btn{justify-self:start;padding-left:0}.main{padding:var(--s7) var(--s7) var(--s8)}.main-focus{padding:0}}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s6)}.page-header .lead{margin-top:var(--s2)}.crumbs{display:flex;flex-wrap:wrap;gap:var(--s2);font-size:var(--t-sm);color:var(--ink-3);margin-bottom:var(--s4)}.auth{min-height:100dvh;display:grid;grid-template-areas:"brand" "panel" "intro";gap:var(--s5);padding:var(--s4) var(--s4) var(--s7);max-width:1180px;margin:0 auto}.auth-brand{grid-area:brand}.auth-intro{grid-area:intro;display:grid;align-content:start;gap:var(--s4);min-width:0}.auth-title{font-size:clamp(1.9rem,6vw,3.6rem);line-height:1.04;letter-spacing:-.03em;max-width:14ch}.auth-lead{font-size:var(--t-lg);color:var(--ink-2);max-width:46ch}.auth-demo{border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s4) var(--s5);margin-top:var(--s2)}.auth-panel{grid-area:panel;align-self:start;min-width:0;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s5)}.auth-panel h2{font-size:var(--t-xl);margin-bottom:var(--s1)}.auth-switch{margin-top:var(--s4)}.auth-fine{margin-top:var(--s4);font-size:var(--t-xs);color:var(--ink-3)}@media(min-width:960px){.auth{grid-template-columns:1.35fr 1fr;grid-template-areas:"brand brand" "intro panel";column-gap:var(--s8);row-gap:var(--s5);padding:var(--s6) var(--s7);align-items:start}.auth-title{margin-top:var(--s4)}.auth-panel{margin-top:var(--s4);padding:var(--s6)}}.try{display:grid;gap:var(--s3)}.try-kicker{margin:0;font-size:var(--t-sm);font-weight:700;color:var(--ink-2)}.try-ask{margin:0;font-size:var(--t-lg);font-weight:700}.try-work{list-style:none;margin:0;padding:0;display:grid;gap:var(--s1);font-size:1.6rem}.try-work li{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--s1) var(--s4)}.try-work li+li{animation:try-in .25s var(--ease)}.try-margin{font-size:var(--t-sm);color:var(--pen)}.try-answer .katex{background:var(--hl);color:var(--hl-ink);padding:0 6px;border-radius:3px}.try-q{margin:var(--s2) 0 var(--s2);font-weight:600}.try-step{color:var(--ink-3);font-weight:700}.try-choices{display:grid;gap:var(--s2)}.try-choice{min-height:48px;text-align:left;padding:var(--s2) var(--s4);border:2px solid var(--ink);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.try-choice:hover{background:var(--pen-tint)}.try-choice.off{border-color:var(--rule-strong);color:var(--ink-3);text-decoration:line-through;text-decoration-color:var(--ink-3)}.try-hint{margin:var(--s2) 0 0;padding:var(--s2) var(--s3);border-left:4px solid var(--amber);background:var(--amber-tint);border-radius:var(--r-chip)}.try-tip{margin:var(--s2) 0 0;font-size:var(--t-sm);color:var(--ink-3)}.try-done p{margin:0 0 var(--s2)}.try-actions{display:flex;flex-wrap:wrap;gap:var(--s2)}@keyframes try-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.try-work li+li{animation:none}}.onboard{min-height:100dvh;max-width:820px;margin:0 auto;padding:var(--s5) var(--s4) var(--s7)}.onboard-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s4);margin-bottom:var(--s7)}.onboard-steps{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s4);list-style:none;margin:0;padding:0;font-size:var(--t-sm);color:var(--ink-3)}.onboard-steps .num{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;border:1px solid currentColor;font-size:var(--t-xs);margin-right:2px}.onboard-steps .now{color:var(--ink);font-weight:700}.onboard-steps .done{color:var(--tick)}.onboard-body h1{font-size:clamp(1.75rem,4.5vw,2.6rem);letter-spacing:-.025em;max-width:22ch;margin-bottom:var(--s3)}.onboard-body .lead{margin-bottom:var(--s6)}.onboard-actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--rule)}.runner{min-height:100dvh;display:flex;flex-direction:column}.runner-bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:var(--s3);padding:var(--s2) var(--s4);background:var(--desk);border-bottom:1px solid var(--rule)}.runner-logo{color:var(--ink);flex:none}.runner-title{flex:1;min-width:0}.runner-title h1{font-size:var(--t-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runner-sub{margin:0;font-size:var(--t-xs);color:var(--ink-3);display:flex;align-items:center;gap:4px}.runner-body{width:100%;max-width:820px;margin:0 auto;padding:var(--s5) var(--s4) var(--s8)}.runner-progress{display:none;align-items:center;gap:var(--s2);font-size:var(--t-sm)}.dots{display:flex;gap:3px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--rule)}.dots i.on{background:var(--pen)}@media(min-width:720px){.runner-progress{display:flex}.runner-bar{padding:var(--s3) var(--s5)}}.runner-test .runner-bar{background:var(--paper);box-shadow:inset 0 -3px 0 var(--ink)}.test-layout{width:100%;max-width:1040px;margin:0 auto;padding:var(--s4) var(--s4) var(--s8);display:grid;gap:var(--s4)}@media(min-width:900px){.test-layout{grid-template-columns:180px 1fr;gap:var(--s6);padding-top:var(--s6)}}.tutor{display:grid;gap:var(--s4)}.tutor.has-conv .tutor-list{display:none}.tutor-main{min-width:0}@media(min-width:960px){.tutor,.tutor.has-conv{grid-template-columns:260px 1fr;gap:var(--s6);align-items:start}.tutor.has-conv .tutor-list{display:block}.conv-back{display:none!important}}.logo-word,.topbar-link span{white-space:nowrap}@media(max-width:440px){.topbar-link span{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.topbar-link{min-width:44px;justify-content:center}}@media(max-width:560px){.runner-sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.runner-sub .icon{vertical-align:-2px}.runner-bar{gap:var(--s2)}.timer{font-size:var(--t-md);padding:4px var(--s2)}}.rail-links{display:flex;flex-wrap:wrap;gap:var(--s3)}.rail-links .btn{padding-left:0;padding-right:0}.doc{max-width:720px;margin:0 auto;padding:var(--s5) var(--s4) var(--s8)}.doc-logo{display:inline-block;margin-bottom:var(--s6);color:var(--ink);text-decoration:none}.doc h1{font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:var(--s3)}.doc h2{margin:var(--s6) 0 var(--s3)}.doc li+li{margin-top:var(--s2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:44px;padding:0 var(--s4);border-radius:var(--r-ctl);border:1.5px solid transparent;font-weight:700;font-size:var(--t-md);line-height:1.1;text-decoration:none;cursor:pointer;transition:background-color .12s var(--ease),border-color .12s var(--ease),transform .08s var(--ease);white-space:nowrap}.btn>span{display:inline-flex;align-items:center;gap:var(--s2)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.45}.btn-sm{min-height:36px;padding:0 var(--s3);font-size:var(--t-sm)}.btn-lg{min-height:52px;padding:0 var(--s5);font-size:var(--t-md)}.btn-primary{background:var(--ink);color:var(--on-ink)}.btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 86%,var(--pen));color:var(--on-ink)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--ink)}.btn-secondary:hover:not(:disabled){background:var(--paper-2);color:var(--ink)}.btn-quiet{background:transparent;color:var(--ink-2);padding-left:var(--s2);padding-right:var(--s2);font-weight:400;text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.25em}.btn-quiet:hover:not(:disabled){color:var(--ink);text-decoration-color:currentColor}.btn-danger{background:var(--red);color:#fff}.btn-spinner{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.key{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:0 var(--s2);border-radius:var(--r-ctl);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);font-weight:700;font-size:var(--t-lg);cursor:pointer}.key:hover:not(:disabled){border-color:var(--pen);color:var(--pen)}.key.on{background:var(--pen);border-color:var(--pen);color:#fff}.key:disabled{opacity:.4;cursor:not-allowed}.key-sm{min-width:30px;min-height:30px;font-size:var(--t-md)}.icon-btn{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 var(--s2);border:0;background:none;color:var(--ink-3);font-size:var(--t-sm);border-radius:var(--r-ctl);cursor:pointer}.icon-btn:hover:not(:disabled){color:var(--ink);background:var(--paper-2)}.icon{flex:none}.form{display:grid;gap:var(--s4);margin-top:var(--s5)}.form>.btn{justify-self:start}.form-row{display:grid;gap:var(--s4)}@media(min-width:720px){.form-row{grid-template-columns:2fr 1.2fr 1fr}}.field{display:grid;gap:6px}.field label{font-weight:700;font-size:var(--t-sm)}.field input,.field select{min-height:48px;padding:0 var(--s3);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);font-size:var(--t-md)}.field input:focus,.field select:focus{border-color:var(--pen);outline:none;box-shadow:0 0 0 3px var(--pen-tint)}.field-error input{border-color:var(--red)}.field-hint{margin:0;font-size:var(--t-sm);color:var(--ink-3)}.field-msg,.form-error{margin:0;color:var(--red);font-size:var(--t-sm);font-weight:700}.form-error{padding:var(--s2) var(--s3);background:var(--red-tint);border-radius:var(--r-ctl);margin-top:var(--s3)}.sheet{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s5);min-width:0}.sheet-title{font-size:var(--t-md);margin-bottom:var(--s3)}.sheet-feature{margin-bottom:var(--s6)}.sheet-feature .btn{margin-top:var(--s3)}.rows{list-style:none;margin:0;padding:0}.rows>li+li{border-top:1px solid var(--rule)}.row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:52px;padding:var(--s2) 0;color:inherit;text-decoration:none;text-align:left;background:none;border:0}a.row:hover .row-title,.row-button:hover:not(:disabled) .row-title{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.2em}.row-button{cursor:pointer}.rows-tight .row{min-height:44px}.row-main{display:grid;flex:1;min-width:0}.row-title{font-weight:700}.row-sub{font-size:var(--t-sm);color:var(--ink-3)}.row-end{flex:none;font-weight:700}.row-bar{flex:none;width:150px}.row-trend{flex:none;width:3.2em;text-align:right;font-size:var(--t-sm);color:var(--ink-3)}@media(max-width:520px){.row-bar{width:96px}}.tag{flex:none;display:inline-block;min-width:5.4em;padding:2px 6px;border-radius:var(--r-chip);font-size:var(--t-xs);font-weight:700;text-align:center;border:1px solid var(--rule-strong);color:var(--ink-2)}.tag-learn,.tag-review{border-color:var(--pen);color:var(--pen)}.tag-practice{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}.tag-test,.tag-mock{border-color:var(--ink);color:var(--ink)}.tag-strong{border-color:var(--tick);color:var(--tick)}.tag-weak{background:var(--hl);border-color:transparent;color:var(--hl-ink)}.chip{display:inline-flex;align-items:center;gap:var(--s1);min-height:36px;padding:0 var(--s3);border-radius:var(--r-chip);border:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);font-size:var(--t-sm);cursor:pointer}.chip:hover:not(:disabled){border-color:var(--ink)}.chip.on{border-color:var(--pen);background:var(--pen-tint);color:var(--pen-strong);font-weight:700}.chip input{position:absolute;opacity:0;pointer-events:none}.chip-lg{min-height:44px;font-size:var(--t-md);text-align:left}.chip-list{list-style:none;padding:0;margin:0 0 var(--s4);display:flex;flex-wrap:wrap;gap:var(--s2)}.segmented{display:inline-flex;flex-wrap:wrap;gap:2px;padding:3px;border-radius:calc(var(--r-ctl) + 3px);background:var(--paper-2);border:1px solid var(--rule)}.segmented button{min-height:38px;padding:0 var(--s3);border:0;border-radius:var(--r-ctl);background:transparent;color:var(--ink-2);cursor:pointer;font-size:var(--t-sm)}.segmented button.on{background:var(--paper);color:var(--ink);font-weight:700;box-shadow:0 0 0 1px var(--rule-strong),0 1px 2px #0000000f}.mastery{display:grid;gap:4px;min-width:0}.mastery-track{position:relative;height:8px;border-radius:4px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule);overflow:hidden}.mastery-sm .mastery-track{height:6px}.mastery-lg .mastery-track{height:12px;border-radius:6px}.mastery-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;transition:width .5s var(--ease)}.mastery-tick{position:absolute;top:0;bottom:0;width:2px;background:var(--paper);opacity:.9}.mastery-label{display:flex;align-items:baseline;gap:var(--s2);font-size:var(--t-sm)}.mastery-label .num{font-weight:700}.mastery-lg .mastery-label{font-size:var(--t-md)}.mastery-lg .mastery-label .num{font-size:var(--t-lg)}.band-not-started{background:var(--m-none)}.band-learning{background:var(--m-learning)}.band-developing{background:var(--m-developing)}.band-proficient{background:var(--m-proficient)}.band-mastered{background:var(--m-mastered)}.band-name{color:var(--ink-3)}.band-text-mastered{color:var(--tick);font-weight:700}.band-text-proficient{color:var(--pen);font-weight:700}.band-dot{flex:none;width:10px;height:10px;border-radius:50%}.state{display:grid;justify-items:start;gap:var(--s3);padding:var(--s6) 0;max-width:52ch}.state-loading{display:flex;align-items:center;color:var(--ink-3)}.loader{width:18px;height:18px;border-radius:50%;border:2px solid var(--rule-strong);border-top-color:var(--pen);animation:spin .8s linear infinite}.state-error h2,.state-empty h2,.state-empty h1{font-size:var(--t-xl)}.banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) var(--s4);margin-bottom:var(--s5);background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--pen);border-radius:var(--r-ctl)}.banner-test{border-left-color:var(--ink)}.note{padding:var(--s3) var(--s4);background:var(--amber-tint);border-radius:var(--r-ctl);font-size:var(--t-sm);margin-top:var(--s4)}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.plain-list{padding-left:1.2em;max-width:60ch}.plain-list li+li{margin-top:var(--s2)}.table{width:100%;font-size:var(--t-sm)}.table th,.table td{text-align:left;padding:var(--s2) var(--s2) var(--s2) 0;border-bottom:1px solid var(--rule);vertical-align:top}.table thead th{color:var(--ink-3);font-weight:400}.table .num{text-align:right}.table tbody th{font-weight:400}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--s4);background:#12141773}.modal{width:min(480px,100%);background:var(--paper);border-radius:var(--r-sheet);padding:var(--s5);box-shadow:var(--shadow-float)}.modal h2{font-size:var(--t-xl);margin-bottom:var(--s3)}.modal .row-actions{margin-top:var(--s5)}.mistake-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}.mistake-list li{display:grid;gap:2px;font-size:var(--t-sm);padding-left:var(--s3);border-left:2px solid var(--rule-strong)}.mistake-list strong{font-size:var(--t-md)}.kind{display:inline-block;margin-left:var(--s1);padding:0 5px;font-size:var(--t-xs);font-weight:400;border:1px solid var(--rule-strong);border-radius:var(--r-chip);color:var(--ink-3);vertical-align:2px}.kind-conceptual{border-color:var(--ink-2);color:var(--ink-2)}.toggle,.check-row{display:flex;align-items:center;gap:var(--s2);min-height:40px;font-size:var(--t-sm);cursor:pointer}.toggle input,.check-row input,.radio-row input,.subject-row input{width:20px;height:20px;accent-color:var(--pen);flex:none}.age-choice{display:grid;gap:var(--s2)}.age-choice legend{font-size:var(--t-sm);margin-bottom:var(--s2)}.age-choice .radio-row{align-items:center;padding:var(--s2) var(--s3)}.guardian{display:grid;gap:var(--s3);padding:var(--s3) var(--s4);border-left:4px solid var(--hl);background:var(--paper-2);border-radius:var(--r-ctl)}.guardian-note{margin:0;font-size:var(--t-sm)}.consent{align-items:flex-start;line-height:1.45}.consent input{margin-top:2px}.account .sheet+.sheet{margin-top:var(--s4)}.danger-zone{border-color:var(--red)}.danger-zone .btn{margin-top:var(--s2)}.details{margin:var(--s4) 0 0;padding-top:var(--s4);border-top:1px solid var(--rule);display:grid;gap:var(--s3)}.details>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0}.details dt{font-size:var(--t-sm);color:var(--ink-3)}.details dd{margin:0;font-size:var(--t-lg);font-weight:700;min-width:0;overflow-wrap:anywhere}.details-email{font-size:var(--t-md)!important}@media(min-width:640px){.details>div{grid-template-columns:9rem minmax(0,1fr);align-items:baseline;gap:var(--s4)}}.sheet-head+.details{margin-top:var(--s3)}.settings-form{display:grid;gap:var(--s4);margin-top:var(--s4)}.settings-form fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s2)}.settings-form legend{font-weight:700;margin-bottom:var(--s2);padding:0}.grade-grid.compact{display:flex;flex-wrap:wrap;gap:var(--s2);margin:0;max-width:none;min-width:0}.grade-grid.compact .grade-btn{min-width:0;width:52px;min-height:48px;padding:var(--s2) 0}.grade-grid.compact .grade-num{font-size:var(--t-lg)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--s2)}.home-head{margin-bottom:var(--s5)}.home-head h1{font-size:clamp(1.8rem,4vw,2.5rem);letter-spacing:-.025em;margin-bottom:var(--s2)}.priority{position:relative;border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s5) var(--s4);margin-bottom:var(--s3);overflow:hidden}.priority-kicker{font-weight:700;color:var(--ink-2);margin-bottom:var(--s3)}.priority-sig{font-size:clamp(1.6rem,6vw,3.1rem);line-height:1.1;margin-bottom:var(--s4);overflow-x:auto;overflow-y:hidden;padding-bottom:4px}.priority-sig .katex{font-size:1em}.priority-title{font-size:clamp(1.5rem,3.6vw,2.1rem);letter-spacing:-.02em;max-width:26ch}.priority-topic{color:var(--ink-3);margin:var(--s1) 0 var(--s4)}.priority-mastery{max-width:420px;margin-bottom:var(--s4)}.priority-reasons{list-style:none;padding:0;margin:0 0 var(--s5);display:grid;gap:var(--s1);max-width:62ch}.priority-reasons li{padding-left:var(--s4);position:relative}.priority-reasons li:before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--ink)}.priority-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.priority-time{font-size:var(--t-sm)}.priority-next{margin-top:var(--s4);font-size:var(--t-sm);color:var(--ink-2)}@media(min-width:720px){.priority{padding:var(--s6) var(--s6) var(--s5)}}.quick{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);margin:0 0 var(--s6)}.home-grid,.results-grid,.progress-grid,.tests-grid,.readiness-grid{display:grid;gap:var(--s4)}@media(min-width:820px){.home-grid,.results-grid,.progress-grid{grid-template-columns:1fr 1fr}.tests-grid,.readiness-grid{grid-template-columns:repeat(3,1fr)}}.exam-mini{display:grid;gap:2px;color:inherit;text-decoration:none}.exam-mini-title{font-weight:700}.exam-mini-score{display:flex;align-items:baseline;gap:var(--s2);margin:var(--s3) 0 var(--s1)}.exam-mini-score .num{font-size:var(--t-3xl);font-weight:700;letter-spacing:-.03em;line-height:1}.exam-mini-risk{font-size:var(--t-sm);color:var(--pen);text-decoration:underline;text-underline-offset:.2em}.exam-empty .btn{margin-top:var(--s2)}.week{margin-top:var(--s4);font-size:var(--t-sm);color:var(--ink-3)}.learn .segmented,.topic{margin-bottom:var(--s6)}.topic-title{display:flex;align-items:baseline;gap:var(--s3);font-size:var(--t-xl);letter-spacing:-.02em;margin:0 0 var(--s3)}.topic-strand{font-size:var(--t-sm);font-weight:400;color:var(--ink-3)}.skill-list{list-style:none;margin:0;padding:0;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet)}.skill-list li+li{border-top:1px solid var(--rule)}.skill-row{display:grid;grid-template-columns:1fr;gap:var(--s2) var(--s4);padding:var(--s4);color:inherit;text-decoration:none}.skill-row:hover .skill-name{text-decoration:underline;text-decoration-color:var(--rule-strong);text-underline-offset:.2em}.skill-sig{font-size:var(--t-md);color:var(--ink);overflow:hidden;white-space:nowrap}.skill-main{display:grid;gap:2px;min-width:0}.skill-name{font-weight:700;display:flex;align-items:center;gap:var(--s2)}.lesson-done{color:var(--tick);display:inline-flex}.skill-outcome{color:var(--ink-2);font-size:var(--t-sm)}.skill-grade{font-size:var(--t-xs);color:var(--ink-3)}.out-of-scope .skill-sig,.out-of-scope .skill-name{color:var(--ink-2)}@media(min-width:820px){.skill-row{grid-template-columns:270px 1fr 170px;align-items:center}}.lesson-head{display:grid;gap:var(--s5);margin-bottom:var(--s6)}.lesson-sig{order:2;border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s4) var(--s5);font-size:clamp(1.15rem,3.2vw,1.9rem);display:grid;justify-items:start;align-items:center;min-height:110px;overflow-x:auto}.lesson-sig .katex-display{margin:0}.lesson-head h1{font-size:clamp(1.7rem,4vw,2.4rem);letter-spacing:-.025em;margin-bottom:var(--s2)}.lesson-layout{display:grid;gap:var(--s6)}@media(min-width:1180px){.lesson-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start}.lesson-side{position:sticky;top:var(--s6)}}.lesson-body{display:grid;gap:var(--s6);min-width:0}.lesson-text{max-width:var(--measure);font-size:1.0625rem;line-height:1.65}.key-idea{max-width:var(--measure);padding:var(--s4) var(--s5);background:var(--paper);border-radius:var(--r-ctl);border-left:6px solid var(--hl)}.key-idea h3,.trap h3,.predict h3,.example h3,.lesson-check h3,.lab-head h3{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:var(--s2)}.trap{max-width:var(--measure);padding:var(--s4) var(--s5);border:1px dashed var(--rule-strong);border-radius:var(--r-ctl)}.trap-wrong{display:flex;align-items:center;gap:var(--s2);color:var(--red);font-size:var(--t-lg)}.trap-wrong .katex{text-decoration:line-through;text-decoration-color:var(--red)}.lab{display:grid;gap:var(--s3)}.lab-head p{max-width:var(--measure);font-size:var(--t-md)}.lab-stage{border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s4);overflow:hidden}@media(min-width:720px){.lab-stage{padding:var(--s5)}}.predict,.example{max-width:760px;padding:var(--s4) var(--s5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet)}.predict-options{display:grid;gap:var(--s2);margin:var(--s3) 0}.predict-options .choice.right{border-color:var(--tick);box-shadow:inset 0 0 0 1px var(--tick)}.predict-result{padding:var(--s3) var(--s4);border-radius:var(--r-ctl);background:var(--paper-2)}.predict-result.good{background:var(--tick-tint)}.example-prompt{font-size:var(--t-lg)}.example-steps{margin:var(--s3) 0;display:grid;gap:var(--s2)}.example-steps li p{margin:0}.example-answer{font-weight:700;margin:0}.lesson-end{padding-top:var(--s5);border-top:2px solid var(--ink);display:grid;justify-items:start;gap:var(--s3)}.lesson-end h2{font-size:var(--t-xl)}.side-sheet{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s4);margin-bottom:var(--s3)}.side-title{font-size:var(--t-sm);color:var(--ink-2);margin-bottom:var(--s3)}.side-note{font-size:var(--t-sm);margin-top:var(--s2)}.side-actions{display:grid;gap:var(--s2);margin-top:var(--s4)}.side-actions .btn-quiet{justify-self:start}.qcard{border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s5) var(--s4);display:grid;gap:var(--s4)}@media(min-width:720px){.qcard{padding:var(--s6)}}.question{display:grid;gap:var(--s4)}.question-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2);font-size:var(--t-sm);color:var(--ink-3)}.question-number{font-weight:700;color:var(--ink-2)}.level{display:inline-flex;align-items:center;gap:var(--s2)}.level-pips{display:inline-flex;gap:2px}.level-pips i{width:6px;height:12px;border-radius:1px;background:var(--rule)}.level-pips i.on{background:var(--ink-2)}.question-prompt{font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.5;max-width:60ch}.question-prompt .katex{font-size:1.15em}.q-figure{margin:0;max-width:380px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);padding:var(--s2)}.q-figure figcaption{text-align:center;font-size:var(--t-sm);color:var(--ink-3)}.answer-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.answer-prefix{font-size:var(--t-xl)}.answer-box{min-height:56px;width:9rem;padding:0 var(--s3);border:2px solid var(--rule-strong);border-radius:var(--r-ctl);font-size:var(--t-xl);font-weight:700;color:var(--pen);background:var(--paper);font-variant-numeric:tabular-nums}.answer-box::placeholder{color:var(--rule-strong);font-weight:400}.answer-box:focus{border-color:var(--pen);outline:none;box-shadow:0 0 0 4px var(--pen-tint)}.answer-box:disabled{background:var(--paper-2);color:var(--ink-2)}.answer-wide{width:min(100%,22rem)}.answer-narrow{width:6rem}.answer-unit{font-size:var(--t-lg);color:var(--ink-2)}.key-sign{font-size:var(--t-xl)}.frac-input{display:inline-grid;justify-items:center;gap:4px}.frac-input .answer-box{width:6.5rem;min-height:48px;text-align:center}.frac-bar{width:100%;height:3px;border-radius:2px;background:var(--ink)}.expr-input{display:grid;gap:var(--s2)}.expr-keys{display:flex;flex-wrap:wrap;gap:var(--s1)}.expr-keys .key{min-width:44px;font-size:var(--t-md);font-weight:400}.expr-preview{min-height:1.8em;margin:0;font-size:var(--t-lg)}.expr-preview .muted{font-size:var(--t-sm)}.roots{gap:var(--s3)}.root{display:inline-flex;align-items:center;gap:var(--s2)}.root-or{color:var(--ink-3);margin-right:var(--s1)}.coef-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2);font-size:var(--t-lg)}.coef{display:inline-flex;align-items:center;gap:6px}.coef-op{color:var(--ink-2);margin:0 2px}.coef-box{width:3.4rem;min-height:48px;text-align:center;padding:0}.choices{display:grid;gap:var(--s2);max-width:640px}.choice{display:flex;align-items:center;gap:var(--s3);min-height:56px;padding:var(--s2) var(--s3);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--paper);cursor:pointer;text-align:left;font-size:var(--t-md)}.choice:hover{border-color:var(--ink)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:has(input:focus-visible){outline:3px solid var(--pen);outline-offset:2px}.choice.on{border-color:var(--pen);background:var(--pen-tint);box-shadow:inset 0 0 0 1px var(--pen)}.choice-key{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-chip);border:1px solid var(--rule-strong);font-size:var(--t-sm);font-weight:700;color:var(--ink-2)}.choice.on .choice-key{background:var(--pen);border-color:var(--pen);color:#fff}.choices:disabled .choice{cursor:default;opacity:.85}.qcard-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.hints{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.hints li{padding:var(--s3) var(--s4);background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--hl);border-radius:var(--r-ctl)}.hint-n{font-weight:700;font-size:var(--t-sm);margin-right:var(--s1)}.feedback{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);overflow:hidden}.feedback-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--s3);padding:var(--s4)}.feedback-head>div{flex:1;min-width:12rem}.feedback-head h3{font-size:var(--t-xl)}.feedback-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;flex:none}.is-correct .feedback-mark{background:var(--tick)}.is-wrong .feedback-mark{background:var(--red)}.is-correct .feedback-head{background:var(--tick-tint)}.is-wrong .feedback-head{background:var(--red-tint)}.feedback-your{margin:2px 0 0;color:var(--ink-2)}.feedback-mastery{margin:0;display:grid;justify-items:end;font-size:var(--t-sm);line-height:1.3}.feedback-mastery .num{font-size:var(--t-xl);font-weight:700}.delta{font-weight:700}.delta.up{color:var(--tick)}.delta.down{color:var(--ink-3)}.feedback-body{padding:var(--s4) var(--s4) 0;display:grid;gap:var(--s2);max-width:70ch}.feedback-tip{padding:var(--s3);background:var(--paper-2);border-radius:var(--r-ctl);font-size:var(--t-sm)}.solution{padding:var(--s3) var(--s4)}.solution summary{font-weight:700;min-height:36px;display:flex;align-items:center}.solution ol,.solution-steps{margin:var(--s2) 0 0;display:grid;gap:var(--s2)}.solution li p,.solution-steps li p{margin:0}.feedback-actions{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center;padding:var(--s3) var(--s4) var(--s4);border-top:1px solid var(--rule)}.runner-done{padding:var(--s7) 0;display:grid;justify-items:start;gap:var(--s3)}.runner-done h2{font-size:var(--t-2xl)}.difficulty{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s1) var(--s2);margin-top:var(--s5)}.lesson-check{max-width:820px}.timer{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px var(--s3);border-radius:var(--r-ctl);border:1.5px solid var(--ink);font-weight:700;font-size:var(--t-lg)}.timer.low{border-color:var(--amber);background:var(--amber-tint);color:var(--amber)}.qnav ol{list-style:none;margin:0 0 var(--s2);padding:0;display:flex;flex-wrap:wrap;gap:6px}.qnav-btn{width:40px;height:40px;border-radius:var(--r-ctl);border:1.5px solid var(--rule-strong);background:var(--paper);color:var(--ink-2);font-weight:700;cursor:pointer}.qnav-btn.done{background:var(--pen-tint);border-color:var(--pen);color:var(--pen-strong)}.qnav-btn.now{outline:2px solid var(--ink);outline-offset:2px}.confidence{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.confidence legend{font-size:var(--t-sm);font-weight:400;color:var(--ink-3);margin-bottom:var(--s2);width:100%}.topic-tests{margin-bottom:var(--s3)}.subject-mini{font-size:var(--t-sm);color:var(--ink-3);font-weight:700;margin:var(--s4) 0 var(--s2)}.tests-hub .tests-grid{margin-bottom:var(--s7)}.tests-grid .sheet{display:grid;align-content:start;gap:var(--s2)}.tests-grid .sheet .btn{justify-self:start;margin-top:var(--s2)}.past{margin-top:var(--s7)}.results-head{margin-bottom:var(--s6)}.results-head h1{font-size:clamp(1.6rem,4vw,2.3rem);letter-spacing:-.02em}.score{display:flex;align-items:center;gap:var(--s4);margin:var(--s4) 0}.score-num{font-size:clamp(3.5rem,11vw,5.5rem);font-weight:700;line-height:.9;letter-spacing:-.04em}.score-detail{color:var(--ink-2);font-size:var(--t-md)}.opportunity{padding:var(--s5);border-radius:var(--r-sheet);border:2px solid var(--ink);background:var(--paper);margin-bottom:var(--s6);display:grid;gap:var(--s3)}.opportunity h2{font-size:var(--t-xl)}.opportunity.good{border-color:var(--tick)}.bars{list-style:none;margin:0;padding:0;display:grid;gap:var(--s3)}.bars li{display:grid;grid-template-columns:1fr;gap:4px}.bars-label{font-weight:700;font-size:var(--t-sm)}.bars-track{height:10px;border-radius:5px;background:var(--paper-2);box-shadow:inset 0 0 0 1px var(--rule);overflow:hidden;display:block}.bars-fill{display:block;height:100%;border-radius:inherit}.bars-value{font-size:var(--t-sm)}.review{margin-top:var(--s7)}.review-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.review-item{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl)}.review-item summary{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);list-style:none}.review-item summary::-webkit-details-marker{display:none}.review-mark{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff}.is-correct .review-mark{background:var(--tick)}.is-wrong .review-mark{background:var(--red)}.review-n{flex:none;color:var(--ink-3);font-weight:700;min-width:1.4em}.review-prompt{flex:1}.review-body .btn{justify-self:start}.review-body{padding:0 var(--s4) var(--s4) calc(var(--s4) + 26px + var(--s3) + 1.4em + var(--s3));display:grid;gap:var(--s2)}@media(max-width:600px){.review-body{padding-left:var(--s4)}}.results-foot{display:flex;flex-wrap:wrap;gap:var(--s3);margin-top:var(--s7)}.tutor-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s4)}.conv-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.conv{display:grid;padding:var(--s2) var(--s3);border-radius:var(--r-ctl);color:inherit;text-decoration:none}.conv:hover{background:var(--paper-2)}.conv.on{background:var(--paper);box-shadow:inset 3px 0 0 var(--ink)}.conv-title{font-weight:700;font-size:var(--t-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-meta{font-size:var(--t-xs);color:var(--ink-3)}.tutor-welcome{max-width:64ch;padding-top:var(--s4)}.tutor-welcome h2{font-size:clamp(1.6rem,3.6vw,2.2rem);letter-spacing:-.02em;margin-bottom:var(--s3)}.suggest{list-style:none;padding:0;margin:var(--s5) 0;display:flex;flex-wrap:wrap;gap:var(--s2)}.suggest-inline{margin:var(--s2) 0}.conv-view{display:flex;flex-direction:column;height:calc(100dvh - 160px);min-height:420px;background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);overflow:hidden}@media(min-width:960px){.conv-view{height:calc(100dvh - 2 * var(--s7))}}.conv-head{display:flex;align-items:center;gap:var(--s2);padding:var(--s3) var(--s4);border-bottom:1px solid var(--rule)}.conv-head h2{font-size:var(--t-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-back{display:inline-grid;place-items:center;width:36px;height:36px;color:var(--ink)}.conv-context{padding:var(--s2) var(--s4);background:var(--paper-2);border-bottom:1px solid var(--rule);font-size:var(--t-sm)}.conv-context p{margin:0}.messages{flex:1;overflow-y:auto;padding:var(--s4);display:grid;align-content:start;gap:var(--s5);overscroll-behavior:contain}.messages-empty{max-width:50ch}.msg{display:grid;grid-template-columns:1fr;gap:2px;max-width:72ch}.msg-who{font-size:var(--t-xs);font-weight:700;color:var(--ink-3)}.msg-text p,.msg-text ul,.msg-text ol{margin-bottom:var(--s2)}.msg-text :last-child{margin-bottom:0}.msg-user{padding-left:var(--s3);border-left:3px solid var(--pen)}.msg-user .msg-text{color:var(--pen-strong)}.msg-user .msg-who{color:var(--pen)}.msg-assistant .msg-text{font-size:1.0625rem;line-height:1.6}.msg-actions{display:flex;gap:var(--s1);margin-top:var(--s1);margin-left:-8px}.thinking{color:var(--ink-3)}.streaming .msg-text>:last-child:after{content:"";display:inline-block;width:.55em;height:1em;margin-left:2px;vertical-align:-.12em;background:var(--pen);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}@media(min-width:720px){.msg{grid-template-columns:64px 1fr;gap:var(--s3)}.msg-who{padding-top:4px;text-align:right}.msg-user{border-left:0;padding-left:0}.msg-user .msg-text{padding-left:var(--s3);border-left:3px solid var(--pen)}.msg-actions{grid-column:2}}.composer{display:flex;align-items:flex-end;gap:var(--s2);padding:var(--s3);border-top:1px solid var(--rule);background:var(--paper)}.composer textarea{flex:1;resize:none;min-height:48px;max-height:200px;padding:12px var(--s3);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);font-size:var(--t-md);line-height:1.4}.composer textarea:focus{outline:none;border-color:var(--pen);box-shadow:0 0 0 3px var(--pen-tint)}.composer .btn{min-height:48px}.composer-note{margin:0;padding:0 var(--s4) var(--s2);background:var(--paper)}.tutor-list-empty{padding:0 var(--s3)}.subject-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--s4);margin-bottom:var(--s5)}.subject-stat{padding:var(--s4) 0;border-top:2px solid var(--ink)}.subject-stat h2{font-size:var(--t-sm)}.subject-num{margin:var(--s2) 0 0;font-size:var(--t-3xl);font-weight:700;letter-spacing:-.03em;line-height:1}.progress-grid{margin:var(--s4) 0}.totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--s3);margin:var(--s5) 0 0;padding-top:var(--s4);border-top:1px solid var(--rule)}.totals div{display:grid}.totals dt{font-size:var(--t-xs);color:var(--ink-3)}.totals dd{margin:0;min-width:0;overflow-wrap:anywhere;font-size:var(--t-lg);font-weight:700}.map-subject{margin-bottom:var(--s5)}.map-topic{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s3) var(--s4);margin-bottom:var(--s3)}.map-topic h4{display:flex;align-items:baseline;gap:var(--s2);font-size:var(--t-md);padding:var(--s1) 0 var(--s2)}.map-topic-num{margin-left:auto}.trend{margin:0}.trend-plot{position:relative}.trend svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--rule);stroke-width:1}.chart-axis{stroke:var(--rule-strong);stroke-width:1}.chart-tick{fill:var(--ink-3);font-size:11px;font-family:var(--font)}.chart-label{fill:var(--ink);font-size:12px;font-weight:700;font-family:var(--font)}.chart-line{stroke:var(--pen);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chart-dot{fill:var(--pen);stroke:var(--paper);stroke-width:2}.chart-bar{fill:var(--ink-3);opacity:.55}.chart-crosshair{stroke:var(--ink-3);stroke-dasharray:3 3}.chart-tip{position:absolute;top:0;transform:translate(-50%);display:grid;gap:2px;padding:var(--s2) var(--s3);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl);box-shadow:var(--shadow-float);font-size:var(--t-sm);pointer-events:none;white-space:nowrap}.trend-legend{display:flex;flex-wrap:wrap;gap:var(--s4);margin-top:var(--s2);font-size:var(--t-sm);color:var(--ink-2)}.trend-legend span{display:inline-flex;align-items:center;gap:var(--s2)}.lg-line{width:18px;height:2px;background:var(--pen)}.lg-bar{width:8px;height:12px;border-radius:2px;background:var(--ink-3);opacity:.55}.table-view{margin-top:var(--s3);font-size:var(--t-sm)}.table-view .table{margin-top:var(--s2)}.exam-rows{background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:0 var(--s4);margin-bottom:var(--s5)}.skill-pick ul{list-style:none;padding:0;margin:var(--s2) 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:0 var(--s4)}.readiness-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:var(--s4)}.readiness-head h1{font-size:clamp(1.6rem,4vw,2.3rem)}.readiness-score{display:grid;justify-items:end}.readiness-confidence{margin:var(--s3) 0 var(--s5);padding:var(--s3) var(--s4);background:var(--paper);border-left:4px solid var(--ink);border-radius:var(--r-ctl);max-width:80ch}.plan{margin-top:var(--s7)}.plan-head{margin-bottom:var(--s4)}.plan-days{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.plan-day{display:grid;gap:var(--s2);padding:var(--s3) var(--s4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-ctl)}.plan-day.today{border:2px solid var(--ink)}.plan-day h3{font-size:var(--t-sm)}.plan-day ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}.plan-item{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3)}.plan-label{flex:1;min-width:10rem}.plan-item.done .plan-label{text-decoration:line-through;color:var(--ink-3)}.plan-done{display:inline-flex;align-items:center;gap:4px;color:var(--tick);font-weight:700;font-size:var(--t-sm)}@media(min-width:900px){.plan-day{grid-template-columns:200px 1fr;align-items:start}}.grade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:var(--s2);max-width:640px;margin-bottom:var(--s5)}.minutes-row{display:flex;flex-wrap:wrap;gap:var(--s2)}.grade-btn{display:grid;justify-items:center;padding:var(--s3) var(--s2);min-width:84px;border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--paper);cursor:pointer}.grade-btn:hover{border-color:var(--ink)}.grade-btn.on{border-color:var(--pen);background:var(--pen-tint);box-shadow:inset 0 0 0 1px var(--pen)}.grade-num{font-size:var(--t-2xl);font-weight:700;line-height:1.1}.grade-btn.on .grade-num{color:var(--pen-strong)}.grade-word{font-size:var(--t-xs);color:var(--ink-3)}.curric,.subject-list{display:grid;gap:var(--s2);max-width:640px}.curric legend{margin-bottom:var(--s2)}.radio-row,.subject-row{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--paper);cursor:pointer}.radio-row>span,.subject-row>span{display:grid}.radio-row input,.subject-row input{margin-top:3px}.radio-row.on,.subject-row.on{border-color:var(--pen);box-shadow:inset 0 0 0 1px var(--pen)}.mistake-list .small{font-size:var(--t-xs)}.learn-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s2) var(--s4)}.widget-readout{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s1) var(--s3);font-size:var(--t-lg);margin:0 0 var(--s3);min-height:2em}.widget-readout .muted{font-size:var(--t-sm)}.widget-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3) var(--s5);margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--rule)}.widget-buttons{display:flex;gap:var(--s2)}.slider{display:grid;gap:4px;min-width:170px;flex:1 1 170px;max-width:280px}.slider-label{display:flex;justify-content:space-between;gap:var(--s2);font-size:var(--t-sm);font-weight:700}.slider output{color:var(--pen)}.slider input[type=range]{width:100%;height:32px;accent-color:var(--pen);cursor:pointer}.stepper{display:inline-flex;align-items:center;gap:var(--s2)}.stepper-label{font-size:var(--t-sm);font-weight:700;margin-right:2px}.stepper output{min-width:2ch;text-align:center;font-size:var(--t-lg);font-weight:700;color:var(--pen)}.stepper .key{min-width:40px;min-height:40px}.plot{display:block;width:100%;height:auto;max-width:460px;touch-action:none;font-family:var(--font)}.plot-grid{stroke:var(--rule);stroke-width:1}.plot-axis{stroke:var(--ink-2);stroke-width:1.5}.plot-tick{fill:var(--ink-3);font-size:11px}.plot-axis-label{fill:var(--ink-2);font-size:13px;font-style:italic}.plot-line{stroke:var(--ink);stroke-width:2.5;stroke-linecap:round}.plot-line-soft{stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:5 4}.plot-point{fill:var(--ink);stroke:var(--paper);stroke-width:2}.root-point{fill:var(--pen)}.plot-point-label{fill:var(--ink);font-size:12px;font-weight:700;paint-order:stroke;stroke:var(--paper);stroke-width:3px}.drag-point{cursor:grab;outline:none}.drag-point:active{cursor:grabbing}.drag-hit{fill:transparent}.drag-dot{fill:var(--pen);stroke:var(--paper);stroke-width:3}.drag-point:focus-visible .drag-hit{fill:var(--pen-tint);stroke:var(--pen);stroke-width:2}.tri-run,.tri-rise{stroke:var(--pen);stroke-width:2;stroke-dasharray:4 3}.tri-label{fill:var(--pen-strong);font-size:12px;font-weight:700}.eqb{display:grid;gap:var(--s3)}.eqb-working{list-style:none;margin:0;padding:0;display:grid;gap:2px}.eqb-line{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--s3);min-height:44px;padding:2px var(--s2);font-size:var(--t-xl);border-bottom:1px solid var(--rule)}.eqb-line:last-child{background:color-mix(in srgb,var(--paper) 80%,transparent)}.eqb-line.messier .katex{color:var(--ink-3)}.eqb-margin{min-width:4.5rem;padding-left:var(--s3);border-left:2px solid var(--red);font-size:var(--t-md);color:var(--pen)}.eqb-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2)}.eqb-label{font-weight:700;font-size:var(--t-sm);margin-right:var(--s1)}.eqb-ops{display:inline-flex;gap:4px}.eqb-xtoggle{display:inline-flex;align-items:center;gap:4px;font-size:var(--t-sm)}.eqb-xtoggle input{width:18px;height:18px;accent-color:var(--pen)}.eqb-solved{padding:var(--s3) var(--s4);background:var(--tick-tint);border-radius:var(--r-ctl);font-size:var(--t-lg)}.eqb-solved .muted{font-size:var(--t-sm)}.eqb-note{padding:var(--s2) var(--s3);background:var(--amber-tint);border-radius:var(--r-ctl);font-size:var(--t-sm);margin:0}.eqb-foot{display:flex;gap:var(--s2)}.nl-svg{width:100%;height:auto;display:block;font-family:var(--font)}.nl-jump{fill:none;stroke:var(--pen);stroke-width:2.5}.nl-arrowhead{fill:var(--pen)}.nl-start{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.nl-end{fill:var(--pen)}.fbars{display:grid;gap:var(--s3)}.fbars-row{display:grid;grid-template-columns:7.5rem 1fr;align-items:center;gap:var(--s3)}.fbars-label{font-size:var(--t-lg)}.fbar{display:flex;height:44px;border:2px solid var(--ink);border-radius:3px;overflow:hidden;background:var(--paper)}.fbar-piece{height:100%;border-right:1px solid var(--ink-3);transition:background-color .2s}.fbar-piece:last-child{border-right:0}.fbar-piece.on{background:var(--pen)}.area-svg{width:100%;max-width:420px;height:auto;display:block;font-family:var(--font)}.area-x2{fill:var(--pen-tint);stroke:var(--ink);stroke-width:2}.area-x{fill:color-mix(in srgb,var(--pen) 22%,var(--paper));stroke:var(--ink);stroke-width:2}.area-c{fill:color-mix(in srgb,var(--pen) 45%,var(--paper));stroke:var(--ink);stroke-width:2}.area-text{fill:var(--ink);font-size:24px;font-weight:700}.area-text-sm{fill:var(--ink);font-size:14px;font-weight:700}.area-dim{fill:var(--ink-2);font-size:14px;font-style:italic}.area-target{padding:var(--s2) var(--s3);border-radius:var(--r-ctl);background:var(--paper-2);font-size:var(--t-md)}.area-target.hit{background:var(--tick-tint);font-weight:700}.cart-svg,.proj-svg{width:100%;height:auto;display:block;font-family:var(--font)}.cart-body{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.cart-wheel{fill:var(--ink)}.cart-label{fill:var(--ink);font-size:13px;font-weight:700}.force{stroke-width:4}.force-push{stroke:var(--pen)}.force-head-push{fill:var(--pen)}.force-friction{stroke:var(--ink-3)}.force-head-friction{fill:var(--ink-3)}.force-label{fill:var(--ink-2);font-size:12px;font-weight:700}.traj{stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:4 4}.traj-current{stroke:var(--pen);stroke-width:2.5;stroke-dasharray:none}.circuit{width:100%;max-width:420px;height:auto;display:block;font-family:var(--font)}.wire{fill:none;stroke:var(--ink);stroke-width:2}.resistor{fill:var(--paper);stroke:var(--ink);stroke-width:2}.cell-long{stroke:var(--ink);stroke-width:2.5}.cell-short{stroke:var(--ink);stroke-width:5}.meter{fill:var(--paper);stroke:var(--ink);stroke-width:2}.circuit-label{fill:var(--ink);font-size:13px;font-weight:700}.circuit-meter{fill:var(--ink);font-size:14px;font-weight:700}.circ .q-figure{border:0;background:transparent;padding:0}.atom-grid{display:grid;gap:var(--s4);align-items:center}@media(min-width:640px){.atom-grid{grid-template-columns:minmax(200px,300px) 1fr}}.atom-svg{width:100%;height:auto}.e-shell{fill:none;stroke:var(--rule-strong);stroke-width:1.5;stroke-dasharray:3 4}.electron,.atom-legend .electron{fill:var(--pen);background:var(--pen)}.proton,.atom-legend .proton{fill:var(--ink);background:var(--ink)}.neutron,.atom-legend .neutron{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5;background:var(--paper);border:1.5px solid var(--ink-2)}.atom-facts{display:grid;gap:var(--s2);margin:0}.atom-facts div{display:grid;grid-template-columns:11rem 1fr;gap:var(--s2);border-bottom:1px solid var(--rule);padding-bottom:var(--s2)}.atom-facts dt{color:var(--ink-3);font-size:var(--t-sm)}.atom-facts dd{margin:0;font-weight:700}.atom-legend{display:flex;gap:var(--s4);font-size:var(--t-sm);color:var(--ink-2);margin:var(--s3) 0 0}.atom-legend span{display:inline-flex;align-items:center;gap:6px}.atom-legend i{display:inline-block;width:11px;height:11px;border-radius:50%}.chemb{display:grid;gap:var(--s3)}.chemb-name{font-weight:700;margin:0}.chemb-eq{font-size:var(--t-xl);gap:var(--s3)}.chemb-step{display:inline-grid;justify-items:center;gap:2px}.chemb-c{font-size:var(--t-lg);font-weight:700;color:var(--pen)}.tally{font-size:var(--t-sm);max-width:420px;width:100%}.tally th,.tally td{text-align:left;padding:4px var(--s3) 4px 0;border-bottom:1px solid var(--rule)}.tally thead th{color:var(--ink-3);font-weight:400}.tally tr.ok td:last-child{color:var(--tick);font-weight:700}.tally tr.off td:last-child{color:var(--ink-2)}.cell{display:grid;gap:var(--s4)}.cell .segmented{justify-self:start}.cell-grid{display:grid;gap:var(--s4)}@media(min-width:760px){.cell-grid{grid-template-columns:1.4fr 1fr;align-items:start}}.cell-svg{width:100%;height:auto;font-family:var(--font)}.cell-membrane{fill:color-mix(in srgb,var(--paper) 85%,var(--desk));stroke:var(--ink);stroke-width:2}.organelle{cursor:pointer;outline:none}.organelle>*{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2;transition:fill .15s}.org-golgi>*,.org-er>*{fill:none}.org-wall>*{fill:none;stroke:var(--ink);stroke-width:6}.org-vacuole>*{fill:color-mix(in srgb,var(--pen) 8%,var(--paper))}.org-chloroplast>*{fill:#3f8f4f;stroke:#2a6b38}.org-nucleus>*{fill:color-mix(in srgb,var(--ink) 18%,var(--paper))}.org-ribosome>*{fill:var(--ink-2);stroke:none}.organelle:hover>*,.organelle:focus-visible>*{stroke:var(--pen)}.organelle.on>*{stroke:var(--pen);stroke-width:3.5}.org-golgi.on>*,.org-er.on>*{stroke-width:4}.org-wall.on>*{stroke-width:7}.cell-tag{fill:var(--ink-2);font-size:12px;stroke:none!important;text-decoration:underline}.org-membrane-hit.on .cell-tag,.org-cyto-hit.on .cell-tag{fill:var(--pen);font-weight:700}.org-membrane-hit>*,.org-cyto-hit>*{stroke:none;fill:var(--ink-2)}.cell-info h4{font-size:var(--t-lg);margin-bottom:var(--s2)}.cell-list-label{margin-top:var(--s4);font-size:var(--t-sm);font-weight:700}.cell-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--s1)}.punnett{display:grid;gap:var(--s4)}.punnett-controls{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3)}.punnett-x{font-size:var(--t-xl);color:var(--ink-2)}.punnett-table{border-collapse:separate;border-spacing:4px;font-size:var(--t-xl);font-weight:700}.punnett-table th{width:64px;height:44px;color:var(--ink-2);font-size:var(--t-lg)}.punnett-table td{width:72px;height:64px;text-align:center;border:2px solid var(--ink);border-radius:4px;background:var(--paper)}.punnett-live td.rec{background:var(--pen-tint);color:var(--pen-strong)}.punnett-blank{color:var(--rule-strong)}.q-figure .punnett-table{margin:0 auto}.illo{display:block;flex:none}.illo-fill{fill:var(--paper);stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.illo-line{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.illo-ink{fill:var(--ink)}.illo-accent{fill:var(--hl);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.illo-accent-line{fill:none;stroke:var(--pen);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.small{font-size:var(--t-sm)}.plab-grid{display:grid;gap:var(--s3)}.plab-box{width:100%;max-width:420px;height:auto;display:block}.plab-container{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2}.particle{stroke:var(--paper);stroke-width:1.5}.particle-solid{fill:var(--ink-2)}.particle-liquid{fill:var(--pen)}.particle-gas{fill:var(--amber)}.state-word{padding:0 6px;border-radius:3px;background:var(--hl);color:var(--hl-ink)}.thermo{padding:var(--s5) 0 var(--s6);max-width:420px}.thermo-bar{position:relative;height:14px;border-radius:7px;background:var(--rule)}.thermo-zone{position:absolute;top:0;bottom:0}.zone-solid{left:0;background:color-mix(in srgb,var(--ink-2) 35%,transparent);border-radius:7px 0 0 7px}.zone-liquid{background:color-mix(in srgb,var(--pen) 35%,transparent)}.zone-gas{background:color-mix(in srgb,var(--amber) 35%,transparent);border-radius:0 7px 7px 0}.thermo-mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}.thermo-mark span{position:absolute;top:-22px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:var(--t-xs);color:var(--ink-2)}.thermo-mark-b span{top:auto;bottom:-22px}.thermo-now{position:absolute;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--pen);border:3px solid var(--paper);box-shadow:0 0 0 1px var(--pen)}.tank-svg,.phlab-svg,.race-svg,.drop-svg,.pl-svg,.pyr-svg,.pond-svg,.heart-svg,.mito-svg{width:100%;height:auto;display:block;font-family:var(--font)}.tank-svg{max-width:460px}.tank-glass,.tube-glass{stroke:var(--ink-2);stroke-width:3;stroke-linecap:round}.liquid{opacity:.95}.liquid-water{fill:var(--lab-water)}.liquid-cooking-oil{fill:var(--lab-oil)}.liquid-sea-water{fill:var(--lab-sea)}.liquid-glycerine{fill:var(--lab-glycerine)}.tank-block{transition:transform .6s var(--ease)}.block{fill:var(--paper);stroke:var(--pen);stroke-width:3}.block-label{font-size:13px;font-weight:700;fill:var(--pen-strong)}.phlab{display:grid;gap:var(--s3)}.phlab-grid{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:var(--s4);align-items:center}.tube-liquid{transition:fill .4s;stroke:none}.litmus{stroke:var(--ink-2);stroke-width:1}.litmus-red{fill:#e05a5a}.litmus-blue{fill:#4f7fd9}.phlab-result{font-size:var(--t-lg);font-weight:700;margin:0 0 var(--s3)}.ph-scale{position:relative;display:grid;grid-template-columns:repeat(15,1fr);border-radius:4px;overflow:visible;margin:var(--s2) 0 var(--s4)}.ph-scale span{font-size:var(--t-xs);text-align:center;color:#fff;padding:4px 0;font-weight:700;text-shadow:0 1px 1px rgb(0 0 0 / .4)}.ph-pointer{position:absolute;top:-8px;bottom:-8px;width:4px;margin-left:-2px;background:var(--ink);border-radius:2px;box-shadow:0 0 0 2px var(--paper);transition:left .3s var(--ease)}@media(max-width:560px){.phlab-grid{grid-template-columns:1fr}.phlab-svg{max-width:180px}}.race-label{font-size:13px;font-weight:700;fill:var(--ink)}.rod{stroke:var(--ink-2);stroke-width:1}.flame{fill:var(--lab-hot);opacity:.85}.wax{fill:var(--lab-wax);stroke:var(--ink-2);stroke-width:1.5;transition:cy .5s ease-in,opacity .5s}.wax-gone{opacity:0}.race-table{border-collapse:collapse;margin:var(--s3) 0;font-size:var(--t-sm);min-width:min(100%,360px)}.race-table th,.race-table td{text-align:left;padding:6px 12px 6px 0;border-bottom:1px solid var(--rule)}.drop-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4);align-items:end}.drop-svg{max-width:360px}.ball{fill:var(--pen);stroke:var(--paper);stroke-width:2}.ebars{display:flex;gap:var(--s3);align-items:flex-end}.ebar{display:grid;justify-items:center;gap:4px}.ebar-track{display:flex;align-items:flex-end;width:34px;height:184px;border-radius:4px;background:var(--paper-2);border:1px solid var(--rule)}.ebar-fill{width:100%;border-radius:3px}.e-pot{background:var(--pen)}.e-kin{background:var(--amber)}.e-tot{background:var(--ink-3)}.ebar-label{display:grid;justify-items:center;font-size:var(--t-xs)}@media(max-width:560px){.drop-grid{grid-template-columns:1fr}.ebar-track{height:120px}}.pl-svg{max-width:480px}.wire{stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.cell-long{stroke:var(--ink);stroke-width:3}.cell-short{stroke:var(--ink);stroke-width:6}.bulb{cursor:pointer;outline:none}.bulb-glow{fill:var(--hl);transition:opacity .3s}.bulb-glass{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.bulb:focus-visible .bulb-glass{stroke:var(--pen);stroke-width:4}.bulb-out{stroke-dasharray:4 3;fill:var(--paper-2)}.bulb-filament{stroke:var(--ink);stroke-width:1.8}.bulb-x{font-size:18px;fill:var(--ink-3)}.bulb-label{font-size:11px;fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:4px}.keyx{display:grid;gap:var(--s3)}.keyx-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s4)}.keyx-card{border:1px solid var(--rule);border-radius:var(--r-ctl);padding:var(--s3) var(--s4);background:var(--paper-2)}.keyx-card h4{margin:0 0 var(--s2)}.keyx-card ul{margin:0;padding-left:1.1em;display:grid;gap:4px}.keyx-steps{margin:0;padding-left:1.4em;display:grid;gap:var(--s2);align-content:start}.keyx-done{color:var(--ink-2)}.keyx-now{font-weight:700;display:grid;gap:var(--s2);justify-items:start}.keyx-now .widget-buttons{align-items:center}.keyx-result{display:flex;gap:var(--s4);align-items:center;padding:var(--s3) var(--s4);border-radius:var(--r-ctl);border:2px solid}.keyx-result p{margin:0 0 var(--s1)}.keyx-result.ok{border-color:var(--tick);background:var(--tick-tint)}.keyx-result.off{border-color:var(--amber);background:var(--amber-tint)}@media(max-width:560px){.keyx-grid{grid-template-columns:1fr}}.pyr-svg{max-width:460px}.pyr-bar{stroke:var(--ink);stroke-width:1.5}.pyr-0{fill:var(--lab-plant-tint)}.pyr-1{fill:var(--pen-tint)}.pyr-2{fill:var(--amber-tint)}.pyr-3{fill:var(--red-tint)}.pyr-4{fill:var(--paper-2)}.pyr-label{font-size:12px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--paper);stroke-width:3px}.pond-svg{max-width:420px}.weed-stem{stroke:var(--lab-plant);stroke-width:3;stroke-linecap:round}.weed-leaf{fill:var(--lab-plant)}.bubble{fill:var(--paper);stroke:var(--ink-2);stroke-width:1}.lamp{fill:var(--hl);stroke:var(--ink);stroke-width:2}.lamp-base{fill:var(--ink-2)}.lamp-ray{stroke:var(--hl);stroke-width:6;opacity:.5}.heart-svg{max-width:460px}.heart-outline{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2}.septum{stroke:var(--ink-2);stroke-width:2;stroke-dasharray:4 4}.hnode{cursor:pointer;outline:none}.hnode rect{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5}.hnode text{font-size:12px;font-weight:700;fill:var(--ink);pointer-events:none}.hnode:hover rect,.hnode:focus-visible rect{stroke:var(--pen);stroke-width:3}.hnode.visited.poor rect{fill:color-mix(in srgb,var(--lab-o2-poor) 22%,var(--paper));stroke:var(--lab-o2-poor)}.hnode.visited.rich rect{fill:color-mix(in srgb,var(--lab-o2-rich) 22%,var(--paper));stroke:var(--lab-o2-rich)}.hnode.current rect{stroke-width:3.5}.hnode.miss rect{stroke:var(--red);stroke-dasharray:4 3}.flow{stroke-width:3}.flow-rich{stroke:var(--lab-o2-rich)}.flow-poor{stroke:var(--lab-o2-poor)}.flow-head-rich{fill:var(--lab-o2-rich)}.flow-head-poor{fill:var(--lab-o2-poor)}.feedback-miss{font-size:var(--t-sm);color:var(--red)}.heart-legend{display:flex;flex-wrap:wrap;gap:var(--s4);align-items:center;font-size:var(--t-sm);margin:var(--s2) 0 0}.heart-legend i{display:inline-block;width:14px;height:14px;border-radius:3px;vertical-align:-2px;margin-right:4px}.heart-legend i.poor{background:var(--lab-o2-poor)}.heart-legend i.rich{background:var(--lab-o2-rich)}.heart-legend i.chrom-mum{background:var(--lab-mum)}.heart-legend i.chrom-dad{background:var(--lab-dad)}.mito-top{display:flex;flex-wrap:wrap;gap:var(--s3);margin-bottom:var(--s3)}.mito-svg{max-width:520px}.mcell{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2}.mnucleus{fill:none;stroke:var(--ink-3);stroke-width:1.5;stroke-dasharray:5 4}.spindle{fill:none;stroke:var(--ink-3);stroke-width:1;opacity:.7}.chrom{stroke:var(--paper);stroke-width:1}.chrom-mum{fill:var(--lab-mum)}.chrom-dad{fill:var(--lab-dad)}.centromere{fill:var(--ink)}.mito-count{font-weight:700;margin:var(--s2) 0 0}@media(prefers-reduced-motion:reduce){.tank-block,.wax,.tube-liquid,.ph-pointer,.bulb-glow{transition:none}}.heart-chips{margin:var(--s3) 0 0}.heart-chips .chip.miss{border-color:var(--red);color:var(--red)}@media(min-width:720px){.heart-chips{display:none}}.lab-note{display:flex;gap:var(--s3);align-items:flex-start;margin-top:var(--s3);padding:var(--s3) var(--s4);border-radius:var(--r-ctl);background:var(--paper-2);border-left:4px solid var(--rule-strong)}.lab-note p{margin:0}.lab-note.ok{background:var(--tick-tint);border-left-color:var(--tick)}.lab-note.off{background:var(--amber-tint);border-left-color:var(--amber)}.lab-note-mark{font-weight:800;font-size:var(--t-lg);line-height:1.2}.lab-note.ok .lab-note-mark{color:var(--tick)}.lab-note.off .lab-note-mark{color:var(--amber)}.widget-controls.first{margin-top:0;padding-top:0;border-top:0;margin-bottom:var(--s3)}.widget-buttons.wrap{flex-wrap:wrap}.field.compact{display:grid;gap:4px;margin:0;min-width:0}.field.compact>span{font-size:var(--t-sm);color:var(--ink-2);font-weight:600}.field.compact select{min-height:44px}.bench>.field.compact,.sep>.field.compact{max-width:360px}.sep .widget-readout{margin-top:var(--s3)}.lsort-tray{list-style:none;margin:0 0 var(--s4);padding:0;display:flex;flex-wrap:wrap;gap:var(--s2)}.lsort-card{min-height:48px;padding:var(--s2) var(--s4);border-radius:var(--r-ctl);border:2px solid var(--ink);background:var(--paper);font:inherit;font-weight:600;cursor:pointer;box-shadow:0 2px 0 var(--ink);transition:transform .12s var(--ease)}.lsort-card:hover:not(:disabled){transform:translateY(-1px)}.lsort-card.on{background:var(--hl);color:var(--hl-ink);transform:translateY(-2px)}.lsort-card:disabled{opacity:.35;box-shadow:none;cursor:default}.lsort-bins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}.lsort-bin{border:2px dashed var(--rule-strong);border-radius:var(--r-sheet);padding:var(--s2);min-height:150px;background:var(--paper-2)}.lsort-bin.ready{border-color:var(--pen)}.lsort-bin-head{display:flex;align-items:center;gap:var(--s2);width:100%;text-align:left;border:0;background:none;padding:var(--s2);border-radius:var(--r-ctl);font:inherit;color:inherit;cursor:pointer}.lsort-bin-head:disabled{cursor:default}.lsort-bin.ready .lsort-bin-head:hover{background:var(--pen-tint)}.lsort-bin-head strong{display:block}.lsort-bin-head small{display:block;color:var(--ink-2);font-size:var(--t-xs);line-height:1.3}.lsort-bin ul{list-style:none;margin:0;padding:0 var(--s2);display:grid;gap:4px;font-size:var(--t-sm)}.lsort-bin li.ok span[aria-hidden]{color:var(--tick);font-weight:800}.lsort-bin li.off{color:var(--ink-2)}.lsort-bin li.off span[aria-hidden]{color:var(--red);font-weight:800}.bean-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.bean{margin:0}.bean-svg{width:100%;max-width:220px;height:auto;display:block;margin:0 auto;border-radius:var(--r-ctl);background:var(--lab-sky)}.bean figcaption{display:grid;justify-items:center;text-align:center;gap:2px;margin:var(--s2) 0;min-height:4.2em}.bean-dark{fill:var(--lab-night);opacity:.85}.bean-sun circle{fill:var(--lab-sun)}.bean-sun path{stroke:var(--lab-sun);stroke-width:3;stroke-linecap:round}.bean-drop{fill:var(--lab-water);stroke:var(--pen);stroke-width:1.5}.bean-stem{fill:none;stroke:var(--lab-plant);stroke-width:4;stroke-linecap:round}.bean-leaf{fill:var(--lab-plant)}.bean-plant.pale .bean-stem{stroke:var(--lab-pale);stroke-width:2.5}.bean-plant.pale .bean-leaf{fill:var(--lab-pale)}.bean-seed{fill:var(--lab-wax);stroke:var(--ink-2);stroke-width:1.5}.bean-pot{fill:var(--lab-pot);stroke:var(--ink);stroke-width:2;stroke-linejoin:round}.bean-soil{stroke:var(--lab-soil);stroke-width:6;stroke-linecap:round}.bean-soil.sand{stroke:var(--lab-coin)}.bean-toggles{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bean-toggles .chip{min-height:40px}.cyc-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:var(--s4);align-items:center}.cyc-ring{display:grid;grid-template-columns:1fr 1.2fr 1fr;grid-template-rows:auto auto auto;gap:var(--s2);align-items:center;justify-items:center;min-height:260px}.cyc-node{position:relative;display:grid;place-items:center;text-align:center;min-height:64px;width:100%;max-width:150px;padding:var(--s2);border-radius:999px;border:2px dashed var(--rule-strong);background:var(--paper);font-weight:600;font-size:var(--t-sm);line-height:1.25;color:var(--ink-3)}.cyc-node.set{border-style:solid;border-color:var(--pen);color:var(--ink);background:var(--pen-tint)}.cyc-node.ok{border-style:solid;border-color:var(--tick);color:var(--ink);background:var(--tick-tint)}.cyc-node.off{border-style:solid;border-color:var(--red);color:var(--ink);background:var(--red-tint)}.cyc-num{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--on-ink);border-radius:999px;font-size:var(--t-xs);min-width:20px;height:20px;display:grid;place-items:center}.cyc-n{grid-area:1 / 2}.cyc-e{grid-area:2 / 3}.cyc-s{grid-area:3 / 2}.cyc-w{grid-area:2 / 1}.cyc-centre{grid-area:2 / 2;font-family:var(--font-display, var(--font));font-size:var(--t-lg);font-weight:700;text-align:center}.cyc-arrow{font-size:1.6rem;color:var(--pen);line-height:1}.cyc-ne{grid-area:1 / 3}.cyc-se{grid-area:3 / 3}.cyc-sw{grid-area:3 / 1}.cyc-nw{grid-area:1 / 1}.cyc-deck{display:grid;gap:var(--s2);justify-items:stretch}.states-svg{width:100%;max-width:380px;height:auto;display:block;margin:0 auto}.states-glass{fill:none;stroke:var(--ink-2);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.states-liquid{fill:var(--lab-water)}.states-solid{fill:var(--lab-wax);stroke:var(--ink-2);stroke-width:2}.states-plunger rect{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2}.particle.jiggle{animation:jiggle .9s ease-in-out infinite alternate;transform-box:fill-box}@keyframes jiggle{0%{transform:translate(-1.5px,1px)}to{transform:translate(1.5px,-1px)}}.bench{display:grid;gap:var(--s3)}.bench-svg{width:100%;max-width:420px;height:auto;display:block}.bench-wire{fill:none;stroke:var(--ink-2);stroke-width:3;stroke-linejoin:round}.bench-cell{fill:var(--paper-2);stroke:var(--ink);stroke-width:2}.bench-text{font-size:12px;fill:var(--ink-2);font-family:var(--font)}.bench-bulb{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.bench-bulb.lit{fill:var(--lab-sun)}.bench-rays{stroke:var(--lab-sun);stroke-width:3;stroke-linecap:round;fill:none}.bench-obj{fill:var(--lab-rod);stroke:var(--ink);stroke-width:2}.bench-obj.shiny{fill:var(--paper);stroke:var(--pen)}.bench-magnet{fill:none;stroke:var(--red);stroke-width:16}.bench-pole{fill:var(--lab-rod);stroke:var(--ink);stroke-width:1.5}.bench-node{fill:var(--ink)}.bench-gapline{stroke:var(--rule-strong);stroke-dasharray:3 4}.states-nozzle{fill:var(--paper-2);stroke:var(--ink-2);stroke-width:2}.bench-guess{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4);align-items:center;font-weight:600}.bench-table{margin-top:var(--s2)}.sep-tools{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:var(--s2)}.sep-tool{width:100%;min-height:96px;display:grid;justify-items:center;align-content:center;gap:6px;padding:var(--s2);border:2px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--paper);font:inherit;font-size:var(--t-sm);font-weight:600;color:inherit;cursor:pointer}.sep-tool:hover{border-color:var(--pen)}.sep-tool.ok{border-color:var(--tick);background:var(--tick-tint)}.sep-tool.off{border-color:var(--amber);background:var(--amber-tint)}.sound-svg,.cbuild-svg,.moon-svg,.planet-svg,.bridge-svg,.arr-svg,.rect-svg,.trig-svg{width:100%;height:auto;display:block;font-family:var(--font)}.sound-svg{max-width:520px}.sound-board{fill:var(--lab-wax);stroke:var(--ink-2);stroke-width:1.5}.sound-string{fill:none;stroke:var(--ink);stroke-width:2.5}.sound-string.ghost{stroke-opacity:0}.sound-string.buzz.ghost{stroke-opacity:.45}.sound-peg{fill:var(--ink-2)}.sound-text{font-size:12px;fill:var(--ink-2)}.sound-wave{fill:none;stroke:var(--pen);stroke-width:2.5}.sound-wave.none{stroke:var(--rule-strong);stroke-dasharray:4 6}.cbuild-svg{max-width:440px}.cb-wire{fill:none;stroke:var(--ink-2);stroke-width:3;stroke-linejoin:round}.cb-wire.live{stroke:var(--lab-copper)}.cb-node{fill:var(--ink)}.cb-switch{stroke:var(--ink);stroke-width:3.5;stroke-linecap:round}.cb-text{font-size:12px;fill:var(--ink-2)}.cb-cell-long{stroke:var(--ink);stroke-width:3}.cb-cell-short{stroke:var(--ink);stroke-width:6}.cb-glow{fill:var(--lab-sun)}.cb-bulb{fill:var(--paper);stroke:var(--ink);stroke-width:2.5}.cb-bulb.lit{fill:var(--lab-sun)}.cb-x{stroke:var(--ink);stroke-width:1.5}.cb-gap{stroke:var(--ink);stroke-width:1.5;fill:var(--lab-rod)}.cb-gap-wire,.cb-gap-coin{fill:var(--lab-copper)}.cb-gap-straw{fill:var(--pen-tint)}.cb-gap-pencil{fill:var(--ink-2)}.cb-gap-rubber{fill:var(--lab-pot)}.cb-gap-foil,.cb-gap-key{fill:var(--paper-2);stroke:var(--ink-2)}.moon-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--s3);align-items:start}.moon-text{font-size:12px;fill:var(--ink-2)}.moon-ray{stroke:var(--lab-sun);stroke-width:2.5}.moon-ray-head{fill:var(--lab-sun)}.moon-orbit{fill:none;stroke:var(--rule-strong);stroke-dasharray:3 5}.moon-earth{fill:var(--lab-sea);stroke:var(--ink);stroke-width:2}.moon-body{fill:var(--lab-moon);stroke:var(--ink);stroke-width:1.5}.moon-night{fill:var(--lab-night);opacity:.75}.moon-sight{stroke:var(--pen);stroke-width:1.5;stroke-dasharray:2 4}.moon-sky{fill:var(--lab-night)}.moon-dark{fill:#2c3654}.moon-lit{fill:var(--lab-moon)}.planet-svg{min-height:110px}.planet-sun{fill:var(--lab-sun)}.planet-axis{stroke:var(--rule-strong);stroke-width:1.5}.planet-dot,.planet-ball{cursor:pointer}.planet-dot circle{fill:var(--ink-2)}.planet-dot.on circle,.planet-ball.on circle{fill:var(--pen)}.planet-ball circle{fill:var(--lab-rod);stroke:var(--ink);stroke-width:1.5}.planet-dot text,.planet-ball text{font-size:12px;fill:var(--ink-2)}.planet-dot.on text,.planet-ball.on text{fill:var(--pen);font-weight:700}.planet-note{font-size:11px;fill:var(--ink-3)}.planet-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s2) var(--s4);margin:var(--s3) 0 0}.planet-facts dt{font-size:var(--t-xs);color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em}.planet-facts dd{margin:0;font-weight:600}.bridge-svg{max-width:460px}.bridge-book{stroke:var(--ink);stroke-width:1.5}.bridge-book.b0{fill:var(--pen-tint)}.bridge-book.b1{fill:var(--tick-tint)}.bridge-book.b2{fill:var(--amber-tint)}.bridge-beam{fill:none;stroke:var(--ink);stroke-width:3;stroke-linecap:round}.bridge-beam.edges{stroke-width:5}.bridge-beam.zigzag{stroke-width:7;stroke-dasharray:6 3}.bridge-beam.triangle{stroke-width:9}.bridge-coin{fill:var(--lab-coin);stroke:var(--ink);stroke-width:1}.bridge-text{font-size:14px;font-weight:700;fill:var(--ink)}.bridge-trials{margin:var(--s2) 0 0}.pv-big{font-size:var(--t-2xl);letter-spacing:.02em}.pv-chart{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:2px solid var(--ink);border-radius:var(--r-ctl);overflow:hidden}.pv-col{display:grid;justify-items:center;gap:6px;padding:var(--s2) 4px var(--s3);border-left:1px solid var(--rule)}.pv-col:first-child{border-left:0}.pv-col.zero .pv-digit{color:var(--ink-3)}.pv-head{font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--ink-2);text-align:center;min-height:2.6em;display:grid;align-items:center}.pv-col .key{min-width:44px;min-height:40px}.pv-short{display:none;text-decoration:none}.pv-digit{font-size:var(--t-3xl);font-weight:700;line-height:1;color:var(--pen)}.pv-val{font-size:var(--t-sm);color:var(--ink-2)}.pv-expanded{margin:var(--s3) 0 0;font-size:var(--t-lg);overflow-x:auto}.arr-svg{margin:0 auto}.arr-a{fill:var(--pen)}.arr-b{fill:var(--amber)}.arr-split{stroke:var(--ink);stroke-width:2.5;stroke-dasharray:5 4}.fset-groups{display:flex;flex-wrap:wrap;gap:var(--s2);margin:var(--s2) 0}.fset-group{display:flex;flex-wrap:wrap;gap:6px;padding:var(--s2);border:2px solid var(--rule-strong);border-radius:var(--r-ctl);max-width:128px}.fset-group.on{border-color:var(--pen);background:var(--pen-tint)}.fset-sweet{width:20px;height:20px;border-radius:50%;background:var(--paper);border:2px solid var(--ink-2)}.fset-group.on .fset-sweet{background:var(--pen);border-color:var(--pen-strong)}.dgrid-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4)}.dgrid{margin:0;display:grid;justify-items:center;gap:var(--s2)}.dgrid-svg{width:100%;max-width:220px;height:auto}.dgrid-svg rect{stroke:var(--paper);stroke-width:.6}.dgrid-off{fill:var(--paper-2)}.dgrid-a{fill:var(--pen)}.dgrid-b{fill:var(--amber)}.dgrid figcaption{display:grid;justify-items:center}.dgrid figcaption strong{font-size:var(--t-xl)}.rect-svg{max-width:360px;margin:0 auto}.rect-grid{stroke:var(--rule);stroke-width:1}.rect-fill{fill:var(--pen-tint)}.rect-edge{fill:none;stroke:var(--pen);stroke-width:3}.ladder-rungs{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:360px}.ladder-rungs li{display:grid;justify-items:start}.ladder-rungs button{font:inherit;padding:var(--s1) var(--s3);min-height:40px;border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--paper);cursor:pointer;color:inherit}.ladder-rungs li.on button{border-color:var(--pen);background:var(--pen-tint);box-shadow:inset 4px 0 0 var(--pen)}.ladder-step{font-size:var(--t-xs);color:var(--ink-3);padding:2px 0 2px var(--s4)}.plot-point.plot-soft,.plot-line.plot-soft{fill:var(--ink-3);stroke:var(--ink-3)}.legend-swatch{display:inline-block;width:14px;height:4px;vertical-align:middle;background:var(--pen);margin:0 4px 0 var(--s2);border-radius:2px}.legend-swatch.soft{background:var(--ink-3);margin-left:0}.trig-svg{max-width:440px}.trig-adj{stroke:var(--amber);stroke-width:4;stroke-linecap:round}.trig-opp{stroke:var(--tick);stroke-width:4;stroke-linecap:round}.trig-hyp{stroke:var(--pen);stroke-width:4;stroke-linecap:round}.trig-right,.trig-angle{fill:none;stroke:var(--ink);stroke-width:1.5}.trig-label{font-size:13px;fill:var(--ink);font-weight:600}.trig-label.adj{fill:var(--amber)}.trig-label.opp{fill:var(--tick)}.trig-label.hyp{fill:var(--pen)}.tangent-line{stroke:var(--amber);stroke-width:2.5}@media(max-width:640px){.lsort-bins{grid-template-columns:1fr}.lsort-bin{min-height:0}.cyc-layout,.moon-grid{grid-template-columns:1fr}.cyc-node{font-size:var(--t-xs);min-height:56px}.pv-long{display:none}.pv-short{display:inline;font-size:var(--t-sm)}.moon-grid .moon-svg+.moon-svg{max-width:220px;margin:0 auto}.pv-digit{font-size:var(--t-2xl)}.pv-col .key{min-width:36px}.bean-pair,.dgrid-pair{gap:var(--s2)}}@media(prefers-reduced-motion:reduce){.particle.jiggle{animation:none}.lsort-card{transition:none}}.plot-line.pen{stroke:var(--pen)}.plot-point.pen{fill:var(--pen)}.pw-wrap{position:relative;display:flex}.pw-wrap input{flex:1;padding-right:72px!important}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 10px;border:0;background:none;color:var(--pen);font-weight:700;font-size:var(--t-sm);cursor:pointer;border-radius:var(--r-chip)}.pw-toggle:focus-visible{outline:2px solid var(--pen)}.pw-rules{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:2px var(--s3);font-size:var(--t-sm);color:var(--ink-3)}.pw-rules li{display:flex;gap:6px;align-items:baseline}.pw-rules .pw-mark{width:1em;text-align:center;font-weight:700}.pw-rules li.ok{color:var(--tick)}.pw-rules li.todo{color:var(--ink-2)}.form-aside{margin:-6px 0 0;font-size:var(--t-sm)}.linklike{border:0;background:none;padding:0;color:var(--pen);font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.code-input input{font-variant-numeric:tabular-nums;letter-spacing:.25em;font-weight:700;text-transform:uppercase}.note-ok{background:var(--tick-tint);color:var(--ink)}.field textarea{width:100%;padding:var(--s2) var(--s3);border:1.5px solid var(--rule-strong);border-radius:var(--r-ctl);font:inherit;resize:vertical;background:var(--paper);color:var(--ink)}.field textarea:focus{border-color:var(--pen);outline:none;box-shadow:0 0 0 3px var(--pen-tint)}.field-label{font-weight:700;font-size:var(--t-sm)}.verify{min-height:100vh;display:grid;place-items:center;padding:var(--s5) var(--s4);background:var(--desk)}.verify-card{width:min(100%,460px);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);padding:var(--s6) var(--s5)}.verify-card h1{font-size:var(--t-2xl);margin:var(--s5) 0 var(--s2)}.otp-input{width:100%;min-height:64px;text-align:center;font-size:2rem;font-weight:700;letter-spacing:.5em;padding-left:.5em;border:2px solid var(--rule-strong);border-radius:var(--r-ctl);background:var(--paper);color:var(--ink)}.otp-input:focus{border-color:var(--pen);outline:none;box-shadow:0 0 0 4px var(--pen-tint)}.otp-input::placeholder{color:var(--rule-strong)}.verify-help{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--rule);display:grid;gap:var(--s3)}.verify-help p{margin:0}.teach-intro{margin-bottom:var(--s4)}.steps-inline{margin:0;padding-left:1.3em;display:grid;gap:var(--s2);max-width:70ch}.create-class{margin-top:var(--s3);max-width:560px}.assign-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3)}.class-list{list-style:none;margin:var(--s5) 0 0;padding:0;display:grid;gap:var(--s3)}.class-row{display:grid;grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto;align-items:center;gap:var(--s4);padding:var(--s4) var(--s5);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet);color:inherit;text-decoration:none}.class-row:hover{border-color:var(--ink)}.class-row:focus-visible{outline:3px solid var(--pen);outline-offset:2px}.class-main{display:grid;min-width:0}.class-name{font-size:var(--t-lg);font-weight:700}.class-stat{display:grid}.class-stat .num{font-size:var(--t-lg);font-weight:700}.class-stat .muted{font-size:var(--t-xs)}.class-code{display:grid;justify-items:end}.class-code .num{font-weight:700;letter-spacing:.15em;background:var(--hl);color:var(--hl-ink);padding:2px 8px;border-radius:var(--r-chip)}.class-code .muted{font-size:var(--t-xs)}.archived{margin-top:var(--s6)}.archived summary{cursor:pointer;font-weight:700;color:var(--ink-2)}@media(max-width:760px){.class-row{grid-template-columns:1fr 1fr;padding:var(--s4)}.class-main{grid-column:1 / -1}.class-code{justify-items:start}}.class-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:var(--s4);margin-bottom:var(--s5)}.class-head h1{margin:0 0 var(--s1)}.class-head .lead{margin:0}.join-code{display:grid;justify-items:start;gap:2px;padding:var(--s3) var(--s4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet)}.join-label{font-size:var(--t-xs);font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em}.join-value{font-size:var(--t-2xl);font-weight:700;letter-spacing:.2em}.class-page>.segmented{margin-bottom:var(--s5)}.class-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--s4);margin-bottom:var(--s4);align-items:start}.class-grid-work{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}@media(max-width:860px){.class-grid-work{grid-template-columns:1fr}}.stack{display:grid;gap:var(--s4)}.sheet-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--s2) var(--s4)}.flag-tags{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:var(--s2);vertical-align:middle}.tag-inactive{border-color:var(--ink-3);color:var(--ink-2)}.tag-struggling{border-color:var(--amber);color:var(--amber)}.tag-overdue{background:var(--red-tint);border-color:var(--red);color:var(--red)}.tag-new{border-color:var(--pen);color:var(--pen)}.tag-done{border-color:var(--tick);color:var(--tick);background:var(--tick-tint)}.tag-open{border-color:var(--rule-strong)}.tag-lesson{border-color:var(--pen);color:var(--pen)}.heat-legend{display:flex;flex-wrap:wrap;gap:var(--s3);margin:0}.heat-wrap{overflow-x:auto;margin:0 calc(-1 * var(--s5));padding:0 var(--s5) var(--s2);-webkit-overflow-scrolling:touch}.heat-wrap:focus-visible{outline:3px solid var(--pen)}.heat{border-collapse:separate;border-spacing:3px;font-size:var(--t-sm)}.heat th{font-weight:700;text-align:left;vertical-align:bottom}.heat thead th:not(.heat-name){min-width:84px;max-width:110px;font-size:var(--t-xs);line-height:1.25;padding:0 2px 4px}.heat thead th a{color:inherit;text-decoration:none}.heat thead th a:hover{text-decoration:underline}.heat-name{position:sticky;left:0;background:var(--paper);z-index:1;min-width:140px;padding-right:var(--s3);white-space:nowrap}.heat-name a{color:inherit}.heat-avg td{text-align:center;font-weight:700;color:var(--ink-2);padding:4px 0;border-bottom:2px solid var(--rule)}.heat-cell{text-align:center;height:34px;border-radius:4px;font-weight:700}.heat-cell.band-learning{background:var(--m-learning);color:var(--ink)}.heat-cell.band-developing{background:var(--m-developing);color:#fff}.heat-cell.band-proficient{background:var(--m-proficient);color:#fff}.heat-cell.band-mastered{background:var(--m-mastered);color:#fff}.heat-empty{background:var(--paper-2);color:var(--rule-strong)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--t-sm)}.data-table th,.data-table td{text-align:left;padding:var(--s2) var(--s3) var(--s2) 0;border-bottom:1px solid var(--rule);vertical-align:middle}.data-table thead th{font-size:var(--t-xs);color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.data-table tbody th a{color:inherit;font-weight:700}.num-col{text-align:right!important;font-variant-numeric:tabular-nums}.progress-bar{display:block;height:6px;margin-top:6px;border-radius:3px;background:var(--paper-2);overflow:hidden;max-width:320px}.progress-bar span{display:block;height:100%;background:var(--tick);border-radius:3px}.assign-form.compact{margin-top:0}.assign-form select{width:100%}.stat-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--s3);margin-bottom:var(--s4)}.stat-strip>div{display:grid;padding:var(--s3) var(--s4);background:var(--paper);border:1px solid var(--rule);border-radius:var(--r-sheet)}.stat-strip .num{font-size:var(--t-xl);font-weight:700}.stat-strip .muted{font-size:var(--t-xs)}.tl-subject h3{font-size:var(--t-sm);color:var(--ink-2);margin:var(--s3) 0 0}.tl-bar{width:180px;font-weight:400}.assignments{background:var(--paper);border:1px solid var(--rule);border-left:4px solid var(--pen);border-radius:var(--r-sheet);padding:var(--s4) var(--s5);margin-bottom:var(--s5)}.assign-list{list-style:none;margin:0 0 var(--s2);padding:0}.assign-list li{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0}.assign-list li+li{border-top:1px solid var(--rule)}.assign-main{display:grid;flex:1;min-width:0}.assign-title{font-weight:700}.assign-note{font-size:var(--t-sm);color:var(--ink-2);font-style:italic}.overdue-text{color:var(--red)}.join-form{grid-template-columns:minmax(0,220px) auto;align-items:end}.join-form>.btn{align-self:end}@media(max-width:520px){.assign-list li{flex-wrap:wrap}.join-form{grid-template-columns:1fr}}.present{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto;background:var(--desk)}.present-bar{display:flex;align-items:center;gap:var(--s4);padding:var(--s2) var(--s4);background:var(--paper);border-bottom:1px solid var(--rule)}.present-title{flex:1;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.present-count{color:var(--ink-3);font-weight:700}.present-stage{width:min(100%,1120px);margin:0 auto;padding:var(--s6) var(--s5);font-size:1.3rem;display:grid;align-content:center}.present-stage h3{font-size:1.6rem}.present-stage .lesson-text,.present-stage .key-idea,.present-stage .trap,.present-stage .predict,.present-stage .example,.present-stage .lab{font-size:inherit}.present-stage .lab-stage{font-size:1rem}.present-cover{padding:var(--s7) var(--s6);border-radius:var(--r-sheet);background-color:var(--paper);border:1px solid var(--rule)}.present-cover h1{font-size:clamp(2.2rem,5vw,3.6rem);margin:var(--s2) 0 var(--s5)}.present-kicker{font-weight:700;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-size:var(--t-sm);margin:0}.present-sig{font-size:1.8rem;margin-bottom:var(--s5)}.present-outcome{font-size:1.35rem;max-width:42ch;margin:0}.present-block{animation:present-in .25s var(--ease)}@keyframes present-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.present-block{animation:none}}.present-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--s4);padding:var(--s3) var(--s4);background:var(--paper);border-top:1px solid var(--rule)}.present-dots{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0;justify-content:center}.present-dots li{width:10px;height:10px;border-radius:50%;background:var(--rule)}.present-dots li.done{background:var(--ink-3)}.present-dots li.on{background:var(--pen);transform:scale(1.3)}@media(max-width:640px){.present-stage{font-size:1.05rem;padding:var(--s4) var(--s3)}.present-dots{display:none}}.heat-legend .band-dot{display:inline-block;vertical-align:-1px;margin-right:2px}.band-dot.band-learning{background:var(--m-learning)}.band-dot.band-developing{background:var(--m-developing)}.band-dot.band-proficient{background:var(--m-proficient)}.band-dot.band-mastered{background:var(--m-mastered)}.main{min-width:0}.present-stage .lab-stage svg,.present-stage .plot{max-width:min(100%,780px)!important}.present-stage .widget-readout{font-size:1.35rem}.class-row:hover,.class-row:visited{color:inherit}@media(max-width:640px){.class-grid{grid-template-columns:1fr}.class-grid .rows .row{flex-wrap:wrap}.class-grid .rows .row-end.flag-tags{width:100%;margin-left:0}.join-code{width:100%}}
/*# sourceMappingURL=main-IGRTPMPI.css.map */
