@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_AMS-Regular.woff2") format("woff2"),url("./fonts/KaTeX_AMS-Regular.woff") format("woff"),url("./fonts/KaTeX_AMS-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Caligraphic-Bold.woff2") format("woff2"),url("./fonts/KaTeX_Caligraphic-Bold.woff") format("woff"),url("./fonts/KaTeX_Caligraphic-Bold.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Caligraphic-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Caligraphic-Regular.woff") format("woff"),url("./fonts/KaTeX_Caligraphic-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Fraktur-Bold.woff2") format("woff2"),url("./fonts/KaTeX_Fraktur-Bold.woff") format("woff"),url("./fonts/KaTeX_Fraktur-Bold.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Fraktur-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Fraktur-Regular.woff") format("woff"),url("./fonts/KaTeX_Fraktur-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_Main-Bold.woff2") format("woff2"),url("./fonts/KaTeX_Main-Bold.woff") format("woff"),url("./fonts/KaTeX_Main-Bold.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Main-BoldItalic.woff2") format("woff2"),url("./fonts/KaTeX_Main-BoldItalic.woff") format("woff"),url("./fonts/KaTeX_Main-BoldItalic.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Main-Italic.woff2") format("woff2"),url("./fonts/KaTeX_Main-Italic.woff") format("woff"),url("./fonts/KaTeX_Main-Italic.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Main-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Main-Regular.woff") format("woff"),url("./fonts/KaTeX_Main-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url("./fonts/KaTeX_Math-BoldItalic.woff2") format("woff2"),url("./fonts/KaTeX_Math-BoldItalic.woff") format("woff"),url("./fonts/KaTeX_Math-BoldItalic.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_Math-Italic.woff2") format("woff2"),url("./fonts/KaTeX_Math-Italic.woff") format("woff"),url("./fonts/KaTeX_Math-Italic.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url("./fonts/KaTeX_SansSerif-Bold.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Bold.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Bold.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Italic.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Italic.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Italic.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_SansSerif-Regular.woff2") format("woff2"),url("./fonts/KaTeX_SansSerif-Regular.woff") format("woff"),url("./fonts/KaTeX_SansSerif-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Script-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Script-Regular.woff") format("woff"),url("./fonts/KaTeX_Script-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size1-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Size1-Regular.woff") format("woff"),url("./fonts/KaTeX_Size1-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size2-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Size2-Regular.woff") format("woff"),url("./fonts/KaTeX_Size2-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size3-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Size3-Regular.woff") format("woff"),url("./fonts/KaTeX_Size3-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Size4-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Size4-Regular.woff") format("woff"),url("./fonts/KaTeX_Size4-Regular.ttf") format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url("./fonts/KaTeX_Typewriter-Regular.woff2") format("woff2"),url("./fonts/KaTeX_Typewriter-Regular.woff") format("woff"),url("./fonts/KaTeX_Typewriter-Regular.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}:root{color-scheme:light;--bg: #f6f5f1;--bg-sunk: #ecebe5;--surface: #ffffff;--surface-2: #f9f8f5;--border: #dcdad1;--border-strong: #bdbaae;--text: #1c2230;--text-2: #4a5263;--text-3: #626a7a;--text-on-accent: #ffffff;--accent: #3a4fc7;--accent-hover: #2d3fa8;--accent-soft: #e6e9fb;--accent-text: #2f41a6;--success: #1f7a4d;--success-soft: #def2e6;--success-text: #16613c;--warning: #9a5b00;--warning-soft: #fbecce;--warning-text: #7a4800;--danger: #b3261e;--danger-soft: #fbe3e0;--danger-text: #971f18;--fig-grid: #e3e1d8;--fig-axis: #6b7280;--fig-ink: #3a4fc7;--fig-fill: #e6e9fb;--fig-mark: #b3261e;--fig-label: #1c2230;--focus: #3a4fc7;--shadow-1: 0 1px 2px rgb(28 34 48 / .06), 0 1px 1px rgb(28 34 48 / .04);--shadow-2: 0 8px 28px rgb(28 34 48 / .14);--scrim: rgb(20 24 34 / .45);--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.25rem;--fs-xl: 1.5rem;--fs-2xl: 1.875rem;--fs-3xl: 2.375rem;--lh-body: 1.6;--lh-tight: 1.25;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--content-w: 72rem;--reading-w: 44rem;--gutter: clamp(1rem, 4vw, 2rem);--tap: 2.75rem}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #11141b;--bg-sunk: #0c0e13;--surface: #1a1f2a;--surface-2: #161a23;--border: #2c3342;--border-strong: #454e63;--text: #e8eaf1;--text-2: #b6bccb;--text-3: #959db0;--text-on-accent: #0e1220;--accent: #8fa3ff;--accent-hover: #a8b7ff;--accent-soft: #232b52;--accent-text: #b2c0ff;--success: #5fcf94;--success-soft: #16301f;--success-text: #7fe0ae;--warning: #f0b45a;--warning-soft: #33260e;--warning-text: #f5c987;--danger: #ff8c82;--danger-soft: #3a1b19;--danger-text: #ffaba3;--fig-grid: #2a3040;--fig-axis: #8d96aa;--fig-ink: #8fa3ff;--fig-fill: #232b52;--fig-mark: #ff8c82;--fig-label: #e8eaf1;--focus: #a8b7ff;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 8px 28px rgb(0 0 0 / .55);--scrim: rgb(0 0 0 / .6)}}:root[data-theme=dark]{color-scheme:dark;--bg: #11141b;--bg-sunk: #0c0e13;--surface: #1a1f2a;--surface-2: #161a23;--border: #2c3342;--border-strong: #454e63;--text: #e8eaf1;--text-2: #b6bccb;--text-3: #959db0;--text-on-accent: #0e1220;--accent: #8fa3ff;--accent-hover: #a8b7ff;--accent-soft: #232b52;--accent-text: #b2c0ff;--success: #5fcf94;--success-soft: #16301f;--success-text: #7fe0ae;--warning: #f0b45a;--warning-soft: #33260e;--warning-text: #f5c987;--danger: #ff8c82;--danger-soft: #3a1b19;--danger-text: #ffaba3;--fig-grid: #2a3040;--fig-axis: #8d96aa;--fig-ink: #8fa3ff;--fig-fill: #232b52;--fig-mark: #ff8c82;--fig-label: #e8eaf1;--focus: #a8b7ff;--shadow-1: 0 1px 2px rgb(0 0 0 / .4);--shadow-2: 0 8px 28px rgb(0 0 0 / .55);--scrim: rgb(0 0 0 / .6)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}h1,h2,h3,h4{line-height:var(--lh-tight);margin:0 0 var(--sp-3);font-weight:650;letter-spacing:-.01em}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}p{margin:0 0 var(--sp-4)}a{color:var(--accent-text);text-underline-offset:.18em}a:hover{color:var(--accent-hover)}small{font-size:var(--fs-sm)}code,kbd{font-family:var(--font-mono);font-size:.92em}hr{border:0;border-top:1px solid var(--border);margin:var(--sp-5) 0}img,svg{max-width:100%}ul,ol{padding-left:1.25rem}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}::selection{background:var(--accent-soft)}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.eyebrow{font-size:var(--fs-xs);font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:0 0 var(--sp-2)}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.stack-lg{display:flex;flex-direction:column;gap:var(--sp-6)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3)}.grid-auto{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--sp-4)}.spacer{flex:1}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.katex{font-size:1.1em}.katex-display{margin:.9em 0;overflow-x:auto;overflow-y:hidden;padding:.15em 0}.katex-display>.katex{font-size:1.25em}@media(max-width:480px){.katex-display>.katex{font-size:1.12em}}.skip-link{position:absolute;left:var(--sp-3);top:-4rem;z-index:100;background:var(--surface);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);box-shadow:var(--shadow-2)}.skip-link:focus{top:var(--sp-3)}.app-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.app-header-inner{max-width:var(--content-w);margin:0 auto;padding:var(--sp-2) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-4)}.brand{display:inline-flex;align-items:center;gap:var(--sp-2);font-weight:700;font-size:var(--fs-lg);color:var(--text);text-decoration:none;letter-spacing:-.02em}.brand:hover{color:var(--text)}.brand-mark{width:1.7rem;height:1.7rem;border-radius:8px;background:var(--accent);color:var(--text-on-accent);display:grid;place-items:center;font-size:1rem;font-style:italic;font-family:Georgia,Times New Roman,serif}.app-nav{display:flex;gap:var(--sp-1);order:3;width:100%;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter)}.app-nav::-webkit-scrollbar{display:none}.nav-link{display:inline-flex;align-items:center;min-height:var(--tap);padding:0 var(--sp-3);color:var(--text-2);text-decoration:none;font-weight:550;font-size:var(--fs-sm);white-space:nowrap;border-bottom:3px solid transparent}.nav-link:hover{color:var(--text)}.nav-link[aria-current=page]{color:var(--accent-text);border-bottom-color:var(--accent)}.header-tools{margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.user-name{font-size:var(--fs-sm);color:var(--text-2);max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:520px){.user-name{display:none}}@media(min-width:900px){.app-nav{order:0;width:auto;margin:0 0 0 var(--sp-4);padding:0}.app-header-inner{flex-wrap:nowrap}}.app-main{max-width:var(--content-w);margin:0 auto;padding:var(--sp-6) var(--gutter) var(--sp-8);outline:none}.page-head{margin-bottom:var(--sp-5)}.page-head h1{margin-bottom:var(--sp-1)}.page-head p{color:var(--text-2);margin:0;max-width:var(--reading-w)}.boot{min-height:60vh;display:grid;place-items:center}.btn{--b-bg: var(--surface);--b-fg: var(--text);--b-bd: var(--border-strong);--b-hover: var(--bg-sunk);display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border-radius:var(--r-md);border:1px solid var(--b-bd);background:var(--b-bg);color:var(--b-fg);font:inherit;font-size:var(--fs-sm);font-weight:600;line-height:1;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s;white-space:nowrap}.btn:hover{background:var(--b-hover);color:var(--b-fg)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{--b-bg: var(--accent);--b-fg: var(--text-on-accent);--b-bd: var(--accent);--b-hover: var(--accent-hover)}.btn-ghost{--b-bg: transparent;--b-bd: transparent;--b-fg: var(--text-2)}.btn-danger{--b-bg: var(--surface);--b-fg: var(--danger-text);--b-bd: var(--danger);--b-hover: var(--danger-soft)}.btn-sm{min-height:2.25rem;padding:0 var(--sp-3);font-size:var(--fs-xs)}.btn-lg{min-height:3.25rem;padding:0 var(--sp-5);font-size:var(--fs-md)}.btn-block{width:100%}.btn-icon{width:var(--tap);padding:0}.btn-sm.btn-icon{width:2.25rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--sp-5);min-width:0}.card-flat{box-shadow:none}.card-tone-accent{background:var(--accent-soft);border-color:transparent}.card-head{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-3)}.card-head h2,.card-head h3{margin:0;font-size:var(--fs-lg)}.card-sub{color:var(--text-2);font-size:var(--fs-sm);margin:2px 0 0}@media(max-width:480px){.card{padding:var(--sp-4);border-radius:var(--r-md)}}.badge{display:inline-flex;align-items:center;gap:.35em;padding:.1rem .6rem;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:650;line-height:1.5;background:var(--bg-sunk);color:var(--text-2);border:1px solid var(--border);white-space:nowrap}.badge-accent{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.badge-success{background:var(--success-soft);color:var(--success-text);border-color:transparent}.badge-warning{background:var(--warning-soft);color:var(--warning-text);border-color:transparent}.badge-danger{background:var(--danger-soft);color:var(--danger-text);border-color:transparent}.stat{display:flex;flex-direction:column;gap:2px}.stat-label{font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.stat-value{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums}.stat-sub{font-size:var(--fs-sm);color:var(--text-2)}.stat-success .stat-value{color:var(--success-text)}.stat-warning .stat-value{color:var(--warning-text)}.stat-danger .stat-value{color:var(--danger-text)}.stat-accent .stat-value{color:var(--accent-text)}.pbar-head{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:var(--fs-sm);margin-bottom:6px;color:var(--text-2)}.pbar{height:.6rem;border-radius:var(--r-pill);background:var(--bg-sunk);border:1px solid var(--border);overflow:hidden}.pbar>span{display:block;height:100%;width:var(--pct, 0%);border-radius:inherit;background:var(--accent);transition:width .3s}.pbar-success>span{background:var(--success)}.pbar-warning>span{background:var(--warning)}.ring{position:relative;display:inline-grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring-track{stroke:var(--bg-sunk)}.ring-fill{stroke:var(--accent);transition:stroke-dashoffset .4s}.ring-success .ring-fill{stroke:var(--success)}.ring-center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.tabs-list{display:flex;gap:var(--sp-1);border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.tab{min-height:var(--tap);padding:0 var(--sp-4);background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-1px;font:inherit;font-size:var(--fs-sm);font-weight:600;color:var(--text-2);cursor:pointer;white-space:nowrap}.tab:hover{color:var(--text)}.tab[aria-selected=true]{color:var(--accent-text);border-bottom-color:var(--accent)}.tab-panel{padding-top:var(--sp-4)}dialog.modal,dialog.drawer{border:0;padding:0;color:var(--text);background:var(--surface);box-shadow:var(--shadow-2);max-width:100vw}dialog.modal::backdrop,dialog.drawer::backdrop{background:var(--scrim)}dialog.modal{border-radius:var(--r-lg);width:min(34rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem)}dialog.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(28rem,100vw);border-radius:var(--r-lg) 0 0 var(--r-lg)}dialog[open].drawer{animation:drawer-in .18s ease-out}@keyframes drawer-in{0%{transform:translate(2rem);opacity:0}}.dlg-body{display:flex;flex-direction:column;max-height:inherit;height:100%}.dlg-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.dlg-head h2{margin:0;font-size:var(--fs-lg);flex:1}.dlg-content{padding:var(--sp-5);overflow-y:auto;flex:1}.dlg-foot{padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:var(--sp-2)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table caption{text-align:left;padding:var(--sp-3) var(--sp-4);font-weight:650;color:var(--text-2)}.table th,.table td{padding:var(--sp-3) var(--sp-4);text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.table th{font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);background:var(--surface-2);white-space:nowrap}.table tbody tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.empty{text-align:center;padding:var(--sp-7) var(--sp-4);max-width:30rem;margin:0 auto}.empty-icon{width:3.25rem;height:3.25rem;margin:0 auto var(--sp-4);border-radius:50%;background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;font-size:1.5rem;font-family:Georgia,serif;font-style:italic}.empty h2{font-size:var(--fs-lg)}.empty p{color:var(--text-2)}.spinner{display:inline-block;width:1.4rem;height:1.4rem;border-radius:50%;border:3px solid var(--border-strong);border-top-color:var(--accent);animation:spin .8s linear infinite;vertical-align:middle}.spinner-sm{width:1rem;height:1rem;border-width:2px}.spinner-lg{width:2.4rem;height:2.4rem;border-width:4px}@keyframes spin{to{transform:rotate(360deg)}}.toasts{position:fixed;z-index:200;right:var(--sp-4);bottom:var(--sp-4);left:var(--sp-4);display:flex;flex-direction:column;align-items:flex-end;gap:var(--sp-2);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--sp-3);background:var(--text);color:var(--bg);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);box-shadow:var(--shadow-2);max-width:26rem;font-size:var(--fs-sm);animation:drawer-in .18s ease-out}.toast-success{border-left:5px solid var(--success)}.toast-danger{border-left:5px solid var(--danger)}.toast button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;opacity:.75;padding:0 0 0 var(--sp-2)}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field-label{font-weight:600;font-size:var(--fs-sm)}.field-hint{font-size:var(--fs-sm);color:var(--text-2)}.field-error{font-size:var(--fs-sm);color:var(--danger-text);font-weight:550}.input{width:100%;min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit}.input:hover{border-color:var(--text-3)}.input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.input[aria-invalid=true]{border-color:var(--danger)}.alert{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm);background:var(--danger-soft);color:var(--danger-text);border:1px solid var(--danger)}.alert-info{background:var(--accent-soft);color:var(--accent-text);border-color:transparent}.auth{min-height:100dvh;display:grid;place-items:center;padding:var(--sp-5) var(--gutter)}.auth-card{width:min(100%,28rem)}.auth-card.wide{width:min(100%,44rem)}.auth-brand{display:flex;justify-content:center;margin-bottom:var(--sp-5)}.auth h1{font-size:var(--fs-xl)}.auth-two{display:grid;gap:var(--sp-5);grid-template-columns:1fr}@media(min-width:700px){.auth-two{grid-template-columns:1fr 1fr}}.auth fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:var(--sp-4)}.auth legend{font-weight:700;font-size:var(--fs-md);padding:0;margin-bottom:var(--sp-3)}.auth-theme{position:fixed;top:var(--sp-3);right:var(--sp-3)}.tex-fallback{font-family:var(--font-mono);background:var(--warning-soft);color:var(--warning-text);padding:0 .3em;border-radius:4px}.rich p:last-child{margin-bottom:0}.rich p{margin-bottom:var(--sp-3)}.rich-inline{display:inline}.rich .katex-display{margin:var(--sp-3) 0}.mi{display:flex;flex-direction:column;gap:var(--sp-2)}.mi-row{display:flex;gap:var(--sp-2)}.mi-row .input{font-size:var(--fs-lg);min-height:3.25rem;font-family:var(--font-sans);letter-spacing:.01em}.mi-pad{display:flex;flex-wrap:wrap;gap:6px}.mi-key{min-width:2.75rem;min-height:2.75rem;padding:0 .6rem;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--text);font-size:1.1rem;font-family:var(--font-sans);cursor:pointer}.mi-key:hover{background:var(--accent-soft);border-color:var(--accent)}.mi-read{min-height:3.4rem;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px dashed var(--border-strong);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;overflow-x:auto}.mi-read-label{font-size:var(--fs-xs);font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.mi-read .katex{font-size:1.3em}.mi-read-empty,.mi-read-bad{font-size:var(--fs-sm);color:var(--text-3)}.mi-read-bad{color:var(--warning-text)}.choices{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:var(--sp-2)}.choices legend{font-weight:600;font-size:var(--fs-sm);margin-bottom:var(--sp-2);padding:0}.choice{position:relative;display:flex;align-items:center;gap:var(--sp-3);min-height:3.25rem;padding:var(--sp-3) var(--sp-4);border:1.5px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);cursor:pointer}.choice:hover{border-color:var(--accent)}.choice input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.choice-key{flex:none;width:1.8rem;height:1.8rem;border-radius:50%;border:1.5px solid var(--border-strong);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.choice-text{flex:1;min-width:0}.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.choice:has(input:checked) .choice-key{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.choice:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.choice.is-correct{border-color:var(--success);background:var(--success-soft)}.choice.is-correct .choice-key{background:var(--success);border-color:var(--success);color:var(--bg)}.choice.is-wrong{border-color:var(--danger);background:var(--danger-soft)}.choice.is-disabled{cursor:default;opacity:.85}.choice.is-disabled input{cursor:default}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-4);counter-reset:step}.step{position:relative;padding-left:2.6rem;counter-increment:step}.step:before{content:counter(step);position:absolute;left:0;top:.1rem;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:700;display:grid;place-items:center}.step-line{overflow-x:auto;overflow-y:hidden}.step-line .katex{font-size:1.25em}.step-note{margin:2px 0 0;color:var(--text);font-size:var(--fs-md)}.step-why{margin:var(--sp-1) 0 0;padding-left:var(--sp-3);border-left:3px solid var(--border-strong);color:var(--text-2);font-size:var(--fs-sm)}.step-why .why-tag{font-weight:650;color:var(--text-3);margin-right:.4em}.figure{margin:var(--sp-3) 0;max-width:26rem}.figure svg{display:block;width:100%;height:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.fig-grid{stroke:var(--fig-grid);stroke-width:1}.fig-axis{stroke:var(--fig-axis);stroke-width:1.4}.fig-tick{stroke:var(--fig-axis);stroke-width:1.2}.fig-tick-label{fill:var(--text-3);font-size:10px;font-family:var(--font-sans)}.fig-line,.fig-curve{stroke:var(--fig-ink);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.fig-dashed{stroke-dasharray:6 4}.fig-ref{stroke:var(--fig-mark);stroke-width:1.3;stroke-dasharray:4 3;opacity:.85}.fig-point{fill:var(--fig-ink);stroke:var(--surface);stroke-width:1.5}.fig-point-open{fill:var(--surface);stroke:var(--fig-ink);stroke-width:2}.fig-point-label{fill:var(--fig-label);font-size:11px;font-weight:600;font-family:var(--font-sans)}.fig-shade{stroke:var(--fig-ink);stroke-width:5;stroke-linecap:round;opacity:.55}.fig-shape{fill:var(--fig-fill);stroke:var(--fig-ink);stroke-width:2;stroke-linejoin:round}.fig-notch{fill:var(--surface);stroke:var(--fig-mark);stroke-width:1.4;stroke-dasharray:4 3}.fig-mark{fill:none;stroke:var(--fig-mark);stroke-width:1.4}.fig-mark-dash{fill:none;stroke:var(--fig-mark);stroke-width:1.4;stroke-dasharray:4 3}.fig-label{fill:var(--fig-label);font-size:13px;font-weight:600;font-family:var(--font-sans)}@media(max-width:520px){.nav-link{padding:0 var(--sp-2)}}.h-sm{font-size:var(--fs-md);margin:var(--sp-5) 0 var(--sp-2)}.link-btn{background:none;border:0;padding:.35rem 0;font:inherit;font-size:var(--fs-sm);color:var(--accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.link-btn:hover{color:var(--accent-hover)}.pbar-mini{height:.4rem}.callout{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border-left:4px solid var(--border-strong);background:var(--bg-sunk);margin:var(--sp-4) 0;font-size:var(--fs-md)}.callout-info{border-left-color:var(--accent);background:var(--accent-soft)}.callout-warning{border-left-color:var(--warning);background:var(--warning-soft);color:var(--text)}.callout-success{border-left-color:var(--success);background:var(--success-soft)}.callout-sub{font-size:var(--fs-sm);color:var(--text-2);margin-top:var(--sp-1)}.home-grid{display:grid;gap:var(--sp-6);grid-template-columns:1fr;align-items:start}@media(min-width:900px){.home-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}.home-lower{display:grid;gap:var(--sp-5);grid-template-columns:1fr;align-items:start}@media(min-width:900px){.home-lower{grid-template-columns:1fr 1fr}}.task-card .task-reason{margin:0 0 var(--sp-4);color:var(--text)}.task-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.task-meta{display:flex;gap:var(--sp-3);font-size:var(--fs-sm);flex-wrap:wrap}.today-ring{display:flex;align-items:center;gap:var(--sp-5);flex-wrap:wrap}.today-ring-num{display:flex;flex-direction:column;align-items:center}.today-ring-num strong{font-size:var(--fs-2xl);line-height:1}.today-ring-num small{font-size:var(--fs-xs);color:var(--text-2);font-weight:500}.today-line{font-weight:650;margin:0 0 var(--sp-1);font-size:var(--fs-md)}.today-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border)}.unit-bars{list-style:none;padding:0;margin:var(--sp-3) 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:var(--sp-3) var(--sp-4)}.unit-bars li{display:grid;grid-template-columns:1fr auto;gap:2px var(--sp-2);font-size:var(--fs-xs)}.unit-bars li .pbar{grid-column:1 / -1}.unit-bar-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.unit-bar-num{color:var(--text-3);font-variant-numeric:tabular-nums}.recent{list-style:none;padding:0;margin:0}.recent li{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.recent li:last-child{border-bottom:0}.recent-link{display:flex;flex-direction:column;text-decoration:none;color:var(--text);min-width:0}.recent-title{font-weight:600}.recent-sub{font-size:var(--fs-xs)}.recent-right{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm)}.recent-xp{font-weight:650;color:var(--accent-text);font-variant-numeric:tabular-nums}.diag-points{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:var(--sp-2)}body.player-mode .app-nav,body.player-mode .user-name,body.player-mode .header-tools .btn-ghost:not(.btn-icon){display:none}.player{max-width:52rem;margin:0 auto}.player-head{display:grid;grid-template-columns:auto 1fr;gap:var(--sp-2) var(--sp-4);align-items:center;margin-bottom:var(--sp-4)}.player-title{display:flex;flex-direction:column;min-width:0;text-align:right}.player-title .eyebrow{margin:0}.player-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-prog{grid-column:1 / -1}.player-prog-label{display:flex;justify-content:space-between;align-items:baseline;font-size:var(--fs-sm);color:var(--text-2);margin-bottom:4px;min-height:1.6em}.countdown{font-weight:700;font-variant-numeric:tabular-nums;color:var(--text);padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--bg-sunk)}.countdown.is-low{background:var(--warning-soft);color:var(--warning-text)}.problem-prompt{font-size:var(--fs-lg);margin-bottom:var(--sp-3)}.problem-prompt .rich p{margin-bottom:var(--sp-2)}.answer-area{margin-top:var(--sp-4)}.streak{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0;font-size:var(--fs-sm);color:var(--text-2)}.streak-pips{display:inline-flex;gap:6px}.pip{width:.9rem;height:.9rem;border-radius:50%;border:2px solid var(--border-strong);background:transparent}.pip.is-on{background:var(--success);border-color:var(--success)}.hints{margin-top:var(--sp-5);padding:var(--sp-4);border-radius:var(--r-md);background:var(--warning-soft)}.hints .eyebrow{display:flex;align-items:center;gap:var(--sp-2)}.help-row{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-6);margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border)}.help-block{flex:1 1 16rem;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.help-note{margin:0;font-size:var(--fs-sm);color:var(--text-2)}.verdict{display:flex;gap:var(--sp-3);align-items:flex-start;padding:var(--sp-4);border-radius:var(--r-md);margin-top:var(--sp-4);background:var(--bg-sunk);border:1px solid var(--border);outline-offset:3px}.verdict-success{background:var(--success-soft);border-color:transparent}.verdict-warning{background:var(--warning-soft);border-color:transparent}.verdict-icon{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1.1rem;background:var(--surface);color:var(--text-2)}.verdict-success .verdict-icon{color:var(--success-text)}.verdict-warning .verdict-icon{color:var(--warning-text)}.verdict-title{margin:0;font-weight:700;font-size:var(--fs-lg);display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.verdict-note{margin:2px 0 0;color:var(--text-2);font-size:var(--fs-sm)}.your-answer{margin-top:var(--sp-4);display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.your-answer .eyebrow{margin:0}.your-answer-body{font-size:var(--fs-lg);overflow-x:auto;max-width:100%}.result-message{margin:var(--sp-3) 0 0}.kp-status{margin-top:var(--sp-3)}.kp-status-note{margin:0}.continue-row{display:flex;align-items:center;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-5)}.continue-hint{font-size:var(--fs-sm)}.solution-title{font-size:var(--fs-lg)}.solution-answer{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--success-soft)}.solution-answer .eyebrow{margin:0}.solution-check{margin:var(--sp-3) 0 0;color:var(--text-2)}details.alt{margin-top:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}details.alt>summary{cursor:pointer;font-weight:600;min-height:1.75rem}details.alt[open]>summary{margin-bottom:var(--sp-3)}.lesson-card h1{font-size:var(--fs-2xl)}.lesson-card h1:focus{outline:none}.lesson-meta{display:flex;gap:var(--sp-4);font-size:var(--fs-sm);margin-top:calc(var(--sp-2) * -1)}.lesson-text{max-width:var(--reading-w)}.vocab{margin:0;display:grid;gap:var(--sp-3)}.vocab dt{font-weight:650}.vocab dd{margin:0;color:var(--text-2)}.example-box{margin-top:var(--sp-5);padding:var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border)}.example-prompt{font-size:var(--fs-md);margin-bottom:var(--sp-3)}.summary h1:focus{outline:none}.summary-message{font-size:var(--fs-lg);max-width:var(--reading-w)}.summary-stats{display:flex;gap:var(--sp-6);flex-wrap:wrap;margin:var(--sp-4) 0}.xp-table{width:100%;border-collapse:collapse;font-size:var(--fs-md)}.xp-table th,.xp-table td{padding:var(--sp-2) 0;border-bottom:1px solid var(--border);text-align:left;font-weight:400}.xp-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-left:var(--sp-4);font-weight:600}.xp-table tfoot th,.xp-table tfoot td{border-bottom:0;border-top:2px solid var(--border-strong);font-weight:700}.change-list{list-style:none;padding:0;margin:0}.change-list li{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-2) 0;border-bottom:1px solid var(--border);flex-wrap:wrap}.change-list li:last-child{border-bottom:0}.qreview{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-3)}.qreview details{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4)}.qreview summary{display:flex;align-items:center;gap:var(--sp-3);cursor:pointer;min-height:2rem}.qr-num{font-weight:650}.qr-body{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2)}.map-summary{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-3)}.map-tools{display:flex;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap;align-items:center}.map-search{flex:1 1 14rem;max-width:22rem}.seg{display:inline-flex;flex-wrap:wrap;gap:var(--sp-1)}.seg-btn{min-height:2.5rem;padding:0 var(--sp-3);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);border-radius:var(--r-pill);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.seg-btn:hover{border-color:var(--accent)}.seg-btn[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-text)}.seg-count{font-variant-numeric:tabular-nums;opacity:.75;margin-left:2px}.unit{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4) var(--sp-4)}.unit-head{margin:0;font-size:var(--fs-md)}.unit-toggle{width:100%;display:flex;align-items:center;gap:var(--sp-3);min-height:var(--tap);padding:0;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;flex-wrap:wrap}.unit-name{font-weight:650;font-size:var(--fs-lg);flex:1 1 auto}.unit-counts{font-size:var(--fs-sm);font-weight:400}.unit-chevron{color:var(--text-3);width:1rem}.topics{list-style:none;padding:0;margin:var(--sp-3) 0 0}.topic{display:flex;gap:var(--sp-4);justify-content:space-between;padding:var(--sp-3) 0;border-top:1px solid var(--border);flex-wrap:wrap}.topic-main{flex:1 1 18rem;min-width:0}.topic-title-row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.topic-title{font-weight:650}a.topic-title{color:var(--text);text-decoration-color:var(--border-strong)}.topic-locked .topic-title,.topic-coming_soon .topic-title{color:var(--text-2);font-weight:600}.topic-summary{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-2)}.topic-meta{display:flex;gap:var(--sp-1) var(--sp-4);flex-wrap:wrap;font-size:var(--fs-xs);margin:var(--sp-1) 0 0}.topic-gate{margin:var(--sp-1) 0 0;font-size:var(--fs-sm);color:var(--warning-text)}.topic-actions{display:flex;align-items:flex-start;gap:var(--sp-2);flex-wrap:wrap}.prereqs{list-style:none;padding:var(--sp-2) var(--sp-3);margin:var(--sp-1) 0 0;background:var(--surface-2);border-radius:var(--r-md);font-size:var(--fs-sm)}.prereqs li{display:flex;justify-content:space-between;gap:var(--sp-3);padding:3px 0;align-items:center}.totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-4)}.by-type{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin:var(--sp-4) 0 0}.rules{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:var(--sp-4);align-items:start}.rules-list{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:var(--sp-2)}.ledger{list-style:none;padding:0;margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}.ledger-item{border-bottom:1px solid var(--border)}.ledger-item:last-child{border-bottom:0}.ledger-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);cursor:pointer;min-height:var(--tap)}.ledger-main{display:flex;flex-direction:column;min-width:0}.ledger-reason{font-weight:600}.ledger-sub{font-size:var(--fs-xs)}.ledger-amt{font-weight:700;color:var(--accent-text);white-space:nowrap;font-variant-numeric:tabular-nums}.ledger-detail{padding:0 var(--sp-4) var(--sp-4)}.mistakes,.resources{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--sp-4)}.mistakes p{margin:0 0 var(--sp-1)}.tag-bad,.tag-good{display:inline-block;font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-right:.5em;padding:0 .5em;border-radius:var(--r-sm)}.tag-bad{background:var(--danger-soft);color:var(--danger-text)}.tag-good{background:var(--success-soft);color:var(--success-text)}.resources{gap:var(--sp-2)}@media(max-width:520px){.player-title{text-align:right}.totals{grid-template-columns:1fr 1fr 1fr;gap:var(--sp-2)}.totals .stat-value{font-size:var(--fs-xl)}.summary-stats{gap:var(--sp-5)}.problem-prompt{font-size:var(--fs-md)}.mi-row{flex-direction:column}.mi-row .btn{width:100%}}.stack>h2{margin-bottom:0}.verdict:focus{outline:none}.viz{--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #6250d6;--series-8: #e34948;margin:0;position:relative;min-width:0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .viz{--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767}}:root[data-theme=dark] .viz{--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767}.viz-plot{position:relative;width:100%}.viz-plot svg{display:block;max-width:100%;overflow:visible}.viz-grid{stroke:var(--border);stroke-width:1}.viz-axis{stroke:var(--border-strong);stroke-width:1}.viz-tick{fill:var(--text-2);font-size:11px;font-variant-numeric:tabular-nums}.viz-goal{stroke:var(--text);stroke-width:1.5;stroke-dasharray:5 4;opacity:.7}.viz-goal-label{fill:var(--text-2);font-size:11px;font-weight:600}.viz-col{outline:none}.viz-col:focus-visible rect:first-child{stroke:var(--focus);stroke-width:2}.viz-col-hover path,.viz-col-hover rect:not(:first-child){filter:brightness(1.12)}.viz-legend{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);list-style:none;padding:0;margin:0 0 var(--sp-2);font-size:var(--fs-xs);color:var(--text-2)}.viz-legend li{display:inline-flex;align-items:center;gap:6px}.viz-swatch{display:inline-block;width:10px;height:10px;border-radius:3px;flex:none}.viz-tip{position:absolute;top:0;transform:translate(-50%);z-index:5;pointer-events:none;min-width:9rem;max-width:16rem;background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-2);padding:var(--sp-2) var(--sp-3);font-size:var(--fs-xs)}.viz-tip strong{display:block;margin-bottom:2px}.viz-tip-row{display:flex;align-items:center;gap:6px}.viz-tip-row b{margin-left:auto;padding-left:var(--sp-3);font-variant-numeric:tabular-nums}.viz-tip-total{border-top:1px solid var(--border);margin-top:3px;padding-top:3px;font-weight:600}.viz-empty{padding:var(--sp-5) var(--sp-3);text-align:center;color:var(--text-2);background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:var(--r-md);font-size:var(--fs-sm)}.viz-summary{margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.viz-table-toggle{margin-top:var(--sp-2)}.viz-table-toggle .table-wrap{margin-top:var(--sp-2);max-height:22rem;overflow:auto}.viz-area{fill:var(--series-1);opacity:.12}.viz-line{fill:none;stroke:var(--series-1);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.viz-dot{fill:var(--series-1);stroke:var(--surface);stroke-width:2}.viz-cross{stroke:var(--text-3);stroke-width:1}.viz-endlabel{position:absolute;top:0;transform:translate(-100%);font-size:var(--fs-xs);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.viz-cell{fill:color-mix(in srgb,var(--series-1) var(--heat, 0%),var(--surface))}.viz-cell-empty{fill:var(--bg-sunk)}.viz-cell:focus-visible{outline:2px solid var(--focus)}.viz-ramp{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);color:var(--text-2);margin-top:var(--sp-2)}.viz-ramp i{width:8rem;height:8px;border-radius:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--series-1) 14%,var(--surface)),var(--series-1))}.viz-ranked{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.viz-ranked-label{font-size:var(--fs-sm);line-height:1.35;overflow-wrap:anywhere}.viz-ranked-detail{color:var(--text-2);font-size:var(--fs-xs)}.viz-ranked-bar{display:flex;align-items:center;gap:var(--sp-3)}.viz-ranked-bar svg{flex:1;min-width:0}.viz-ranked-value{flex:none;min-width:4.6rem;text-align:right;font-size:var(--fs-sm);font-weight:650;font-variant-numeric:tabular-nums}.meter{display:inline-flex;align-items:center;gap:var(--sp-2);white-space:nowrap}.meter-track{width:3.5rem;height:.4rem;border-radius:var(--r-pill);background:var(--bg-sunk);border:1px solid var(--border);overflow:hidden;display:inline-block}.meter-fill{display:block;height:100%;background:var(--accent);border-radius:var(--r-pill)}.meter-val{font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.meter-low{color:var(--warning-text);font-weight:650;font-size:var(--fs-xs)}.meter-none{color:var(--text-3)}.pd-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-5)}.pd-head .page-head{margin:0}.pd-picker{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.pd-picker select,.pd-select{min-height:2.5rem;padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:inherit;font-size:var(--fs-sm)}.pd-grid{display:grid;gap:var(--sp-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));align-items:start}.pd-stats{display:grid;gap:var(--sp-4) var(--sp-5);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.pd-note{font-size:var(--fs-sm);color:var(--text-2);margin:var(--sp-3) 0 0}.pd-seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--border-strong);border-radius:var(--r-md);overflow:hidden;background:var(--surface)}.pd-seg button{min-height:2.5rem;padding:0 var(--sp-4);border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-2);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.pd-seg button:last-child{border-right:0}.pd-seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-text)}.pd-seg button:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.pd-flags{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.pd-flag{border:1px solid var(--border);border-left-width:4px;border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);background:var(--surface-2)}.pd-flag-alert{border-left-color:var(--danger)}.pd-flag-watch{border-left-color:var(--warning)}.pd-flag-info{border-left-color:var(--accent)}.pd-flag h3{margin:0 0 2px;font-size:var(--fs-md);display:flex;gap:var(--sp-2);align-items:center;flex-wrap:wrap}.pd-flag p{margin:0;font-size:var(--fs-sm);color:var(--text-2)}.pd-evidence{margin-top:var(--sp-2);font-size:var(--fs-xs);color:var(--text-2)}.pd-evidence summary{cursor:pointer}.pd-evidence dl{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-3);margin:var(--sp-2) 0 0}.pd-evidence dt{color:var(--text-3)}.pd-evidence dd{margin:0;overflow-wrap:anywhere}.pd-list{list-style:none;margin:0;padding:0}.pd-list>li{border-bottom:1px solid var(--border)}.pd-list>li:last-child{border-bottom:0}.pd-list-link{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-4);align-items:baseline;padding:var(--sp-3) 0;color:inherit;text-decoration:none}.pd-list-link:hover .pd-list-title{text-decoration:underline}.pd-list-title{font-weight:650}.pd-list-meta{color:var(--text-2);font-size:var(--fs-sm)}.pd-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px var(--sp-3);font-size:var(--fs-sm);margin-bottom:var(--sp-3)}.pd-unit .pbar{grid-column:1 / -1}.pd-legacy{border-style:dashed;background:var(--surface-2)}.pd-th-btn{background:none;border:0;padding:0;font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;cursor:pointer;font-weight:700}.pd-th-btn:hover{color:var(--text)}.pd-th-btn:focus-visible{outline:3px solid var(--focus)}.pd-table td,.pd-table th{vertical-align:middle}.pd-row-btn{background:none;border:0;padding:0;font:inherit;color:var(--accent-text);text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.pd-indent-1 td:first-child{padding-left:calc(var(--sp-4) + 1.2rem)}.pd-indent-2 td:first-child{padding-left:calc(var(--sp-4) + 2.4rem)}.pd-tree-btn{background:none;border:0;padding:0;font:inherit;font-weight:650;color:var(--text);cursor:pointer;text-align:left}.pd-tree-btn:before{content:"\25b8";display:inline-block;width:1.2rem;color:var(--text-3)}.pd-tree-btn[aria-expanded=true]:before{content:"\25be"}.pd-filters{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-bottom:var(--sp-4)}.pd-filters label{display:inline-flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--text-2)}.pd-timeline{display:flex;flex-direction:column;gap:var(--sp-4)}.pd-attempt{border-top:1px solid var(--border);padding:var(--sp-3) 0;display:grid;gap:var(--sp-2)}.pd-attempt:first-of-type{border-top:0}.pd-attempt-head{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;font-size:var(--fs-sm);color:var(--text-2)}.pd-answer{font-family:var(--font-mono);background:var(--bg-sunk);border-radius:var(--r-sm);padding:2px 8px;overflow-wrap:anywhere}.pd-kv{display:grid;grid-template-columns:auto 1fr;gap:2px var(--sp-3);font-size:var(--fs-sm);align-items:baseline}.pd-kv dt{color:var(--text-3)}.pd-kv dd{margin:0;overflow-wrap:anywhere}.pd-prompt{max-width:var(--reading-w)}.pd-prompt .rich p{margin:0 0 var(--sp-2)}.pd-prompt svg:not(.katex svg){max-width:18rem;height:auto}.pd-msg{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);max-width:40rem}.pd-msg-user{background:var(--accent-soft);align-self:flex-start}.pd-msg-assistant{background:var(--bg-sunk);align-self:flex-end}.pd-msg-meta{font-size:var(--fs-xs);color:var(--text-2);margin-bottom:2px}.pd-thread{display:flex;flex-direction:column;gap:var(--sp-2)}@media(max-width:40rem){.pd-msg-user,.pd-msg-assistant{align-self:stretch}.pd-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.tutor-slot{margin-top:var(--sp-4);display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2)}.tutor-slot .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.tutor{display:flex;flex-direction:column;gap:var(--sp-4);min-height:100%}.tutor-log{display:flex;flex-direction:column;gap:var(--sp-3)}.tutor-msg{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);max-width:92%;overflow-wrap:anywhere}.tutor-msg p{margin:0}.tutor-msg .rich p{margin:0 0 var(--sp-2)}.tutor-msg .rich p:last-child{margin-bottom:0}.tutor-msg-user{align-self:flex-end;background:var(--accent-soft);color:var(--text);white-space:pre-wrap}.tutor-msg-tutor{align-self:flex-start;background:var(--bg-sunk)}.tutor-msg .katex-display{overflow-x:auto;overflow-y:hidden}.tutor-note{font-size:var(--fs-xs);margin-top:var(--sp-2)}.tutor-note-bad{color:var(--danger-text)}.tutor-chips{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.tutor-chip{min-height:var(--tap);padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--accent-text);font:inherit;font-size:var(--fs-sm);cursor:pointer}.tutor-chip:hover{background:var(--accent-soft)}.tutor-chip:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.tutor-confirm p{margin:0 0 var(--sp-3)}.tutor-error p{margin:0 0 var(--sp-2)}.tutor-composer{width:100%;display:flex;flex-direction:column;gap:var(--sp-2)}.tutor-input{min-height:3.5rem;padding:var(--sp-2) var(--sp-3);resize:vertical;max-height:10rem;line-height:1.4}.tutor-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.tutor-meta{font-size:var(--fs-xs)}.tutor-meta.is-over{color:var(--danger-text);font-weight:600}@media(max-width:40rem){dialog.drawer{width:100vw;border-radius:0}.tutor-msg{max-width:100%}}.ts-section{display:flex;flex-direction:column;gap:var(--sp-4)}.ts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--sp-4)}.ts-check{display:flex;gap:var(--sp-3);align-items:flex-start}.ts-check input{margin-top:.3rem;width:1.15rem;height:1.15rem;flex:none}.ts-check .field-hint{display:block}.ts-env{font-size:var(--fs-xs);color:var(--warning-text);background:var(--warning-soft);padding:1px 8px;border-radius:var(--r-pill);font-weight:600;width:fit-content}.ts-models{border:1px solid var(--border);border-radius:var(--r-md);max-height:15rem;overflow-y:auto;background:var(--surface)}.ts-model{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;padding:var(--sp-2) var(--sp-3);border:0;border-bottom:1px solid var(--border);background:none;color:var(--text);font:inherit;cursor:pointer;min-height:var(--tap)}.ts-model:last-child{border-bottom:0}.ts-model:hover{background:var(--surface-2)}.ts-model:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}.ts-model[aria-pressed=true]{background:var(--accent-soft)}.ts-model-name{font-weight:600}.ts-model-meta{font-size:var(--fs-xs);color:var(--text-2);overflow-wrap:anywhere}.ts-result{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);font-size:var(--fs-sm)}.ts-result-ok{background:var(--success-soft);color:var(--text);border-left:4px solid var(--success)}.ts-result-bad{background:var(--danger-soft);color:var(--text);border-left:4px solid var(--danger)}.ts-privacy ul{margin:var(--sp-2) 0;padding-left:1.2rem}.ts-actions{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center}.pd-stats .stat-value{font-size:var(--fs-xl)}.badge.pd-wrap{white-space:normal;text-align:left;border-radius:var(--r-md)}.viz-goal-label{paint-order:stroke;stroke:var(--surface);stroke-width:3px}.pd-table td:first-child{min-width:14rem}.pd-head~* .card-head,.stack-lg .card-head{flex-wrap:wrap}.stack-lg .card-head>div:first-child{flex:1 1 14rem!important}.cu-search{gap:var(--sp-4)}.cu-search .pd-select{min-width:min(100%,22rem)}.cu-totals{font-size:var(--fs-sm);font-weight:400;margin-left:var(--sp-2)}.cu-topics{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cu-topics li{padding:var(--sp-3) 0;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-1) var(--sp-3)}.cu-topics li:first-child{border-top:0}.cu-topic-link{font-weight:650}.cu-topic-meta{font-size:var(--fs-sm);color:var(--text-3)}.cu-topic-sum{flex-basis:100%;margin:0;font-size:var(--fs-sm);color:var(--text-2)}.cu-links{margin:var(--sp-2) 0 0;font-size:var(--fs-sm)}.cu-toggle{gap:var(--sp-4)}.cu-practice-h{margin-top:var(--sp-6);border-top:1px solid var(--border);padding-top:var(--sp-4)}.cu-tier{margin-top:var(--sp-4)}.cu-tier-h{margin:0 0 var(--sp-3);font-size:var(--fs-sm)}.cu-problem{border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-4);margin-bottom:var(--sp-4);background:var(--surface);min-width:0}.cu-problem-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2)}.cu-problem-n{width:1.6rem;height:1.6rem;border-radius:50%;background:var(--bg-sunk);display:grid;place-items:center;font-size:var(--fs-xs);font-weight:700;color:var(--text-2)}.cu-id{font-size:var(--fs-xs);color:var(--text-3);overflow-wrap:anywhere}.cu-hint{margin:var(--sp-2) 0;font-size:var(--fs-sm)}.cu-answer{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sp-2) var(--sp-3);margin:var(--sp-3) 0;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--success-soft);color:var(--success-text);min-width:0;max-width:100%;overflow-x:auto}.cu-answer .eyebrow{margin:0;color:inherit}.cu-answer-plain,.cu-kind{font-size:var(--fs-xs)}.cu-kind{margin-left:auto;font-family:var(--font-mono)}.cu-details{margin-top:var(--sp-2)}.cu-details>summary{cursor:pointer;font-weight:600;font-size:var(--fs-sm);padding:var(--sp-1) 0;color:var(--accent-text)}.cu-details[open]>summary{margin-bottom:var(--sp-3)}.cu-options{margin:var(--sp-2) 0;padding-left:1.6rem;display:flex;flex-direction:column;gap:var(--sp-2)}.cu-options li{padding:var(--sp-1) var(--sp-2);border-radius:var(--r-sm)}.cu-options li.is-correct{background:var(--success-soft)}.cu-trap-fb{font-size:var(--fs-sm);color:var(--text-2);margin-top:2px}.cu-traps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sp-3)}.cu-traps p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--text-2)}.cu-wrong{overflow-wrap:anywhere}.cu-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.cu-pn{display:flex;flex-direction:column;gap:2px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-md);text-decoration:none;background:var(--surface)}.cu-pn-next{text-align:right;grid-column:2}.cu-pn:hover{border-color:var(--accent)}@media(max-width:520px){.cu-prevnext{grid-template-columns:1fr}.cu-pn-next{grid-column:1;text-align:left}}.katex-display{background:linear-gradient(to right,var(--surface) 30%,transparent) left / 2rem 100% no-repeat local,linear-gradient(to left,var(--surface) 30%,transparent) right / 2rem 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.22),transparent) left / .6rem 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.22),transparent) right / .6rem 100% no-repeat scroll}.step-line,.katex-display{max-width:100%}.rich .katex:has(.mtable),.rich-inline .katex:has(.mtable){display:inline-block;max-width:100%;overflow-x:auto;overflow-y:hidden;vertical-align:middle}.rich,.step-note,.step-why,.cu-problem,.example-prompt,.lesson-text{overflow-wrap:break-word;min-width:0}.katex-display>.katex{max-width:none}.step-line .katex-display{margin:.3em 0}.tex-fallback{white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:520px){.step{padding-left:2.1rem}.figure{max-width:100%}.cu-problem{padding:var(--sp-3)}}.fig-tick-label,.fig-point-label,.fig-label{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
