.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.9"}.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>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .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 .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;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 .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .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 .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{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 .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .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 .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 .reflectbox{display:inline-block;transform:scaleX(-1)}.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>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}
@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_AMS-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_Caligraphic-Bold.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Caligraphic-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_Fraktur-Bold.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Fraktur-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_Main-Bold.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_Main-BoldItalic.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Main-Italic.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Main-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_Math-BoldItalic.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Math-Italic.woff2) format("woff2");font-display:block}
@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/fonts/katex/0.18.9/KaTeX_SansSerif-Bold.woff2) format("woff2");font-display:block}
@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_SansSerif-Italic.woff2) format("woff2");font-display:block}
@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_SansSerif-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Script-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Size1-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Size2-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Size3-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Size4-Regular.woff2) format("woff2");font-display:block}
@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/fonts/katex/0.18.9/KaTeX_Typewriter-Regular.woff2) format("woff2");font-display:block}
/* Content class contract (PLAT-016 §3). Screen and print; sizes are font-relative (em, ch, pt) so the sheet scales
   with the page font. Sheet colours are literal black and white (B/W print policy), never tokens. */

.mw-m,
.mw-mb {
  font-size: var(--mw-math-scale, 0.99em);
}

.mw-mb {
  display: block;
  margin: 0.25em 0;
  text-align: left;
}

/* Accessibility note 17: the only permitted selector of a KaTeX class. Inert with `output: 'html'`
   (no MathML copy exists); it keeps hidden MathML from widening narrow screens if the mode ever changes. */
.mw-m .katex-mathml,
.mw-mb .katex-mathml {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.mw-n {
  font-variant-numeric: lining-nums tabular-nums;
  white-space: nowrap;
}

.mw-frac {
  display: inline-flex;
  flex-direction: column;
  vertical-align: middle;
  font-size: 0.8em;
  text-align: center;
}

.mw-frac-n {
  border-bottom: 1pt solid #000;
  padding: 0 0.15em;
}

.mw-blank-line {
  display: inline-block;
  border-bottom: 1pt solid #000;
  height: 1.2em;
  vertical-align: baseline;
}

.mw-blank-box {
  display: inline-block;
  border: 1pt solid #000;
  height: 1.6em;
  vertical-align: middle;
}

.mw-digit-box {
  display: inline-block;
  width: 1.5em;
  height: 1.8em;
  border: 1pt solid #000;
  margin-inline-end: 0.15em;
  vertical-align: middle;
}

.mw-gap-none > * + * {
  margin-top: 0;
}

.mw-gap-small > * + * {
  margin-top: 0.35em;
}

.mw-gap-medium > * + * {
  margin-top: 0.8em;
}

.mw-choices {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  gap: 1.2em;
}

.mw-choices.mw-col {
  flex-direction: column;
  gap: 0.4em;
}

.mw-choice-mark {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 1pt solid #000;
  margin-inline-end: 0.3em;
  vertical-align: middle;
}

.mw-choices[data-mark='circle'] .mw-choice-mark {
  border-radius: 50%;
}

.mw-choice-label {
  margin-inline-end: 0.3em;
  font-weight: 700;
}

.mw-table {
  border-collapse: collapse;
}

.mw-table th,
.mw-table td {
  padding: 0.2em 0.5em;
}

.mw-border-all th,
.mw-border-all td {
  border: 1pt solid #000;
}

.mw-border-header th {
  border-bottom: 1pt solid #000;
}

.mw-al-left {
  text-align: left;
}

.mw-al-center {
  text-align: center;
}

.mw-al-right {
  text-align: right;
}

.mw-mark {
  outline: 2pt solid #000;
  outline-offset: -2pt;
}

.mw-render-error {
  border: 1pt dashed #000;
  font-style: italic;
}

.mw-vis {
  display: block;
  overflow: visible;
}

/* PLAT-038: π tick labels are KaTeX HTML laid over the plane's SVG, never foreignObject. */
.mw-cp-wrap {
  position: relative;
  display: inline-block;
}

.mw-cp-ticks {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.mw-cp-tick {
  position: absolute;
  transform: translateX(-50%);
  line-height: 1;
  white-space: nowrap;
}

/* The document sprite (PLAT-018): one per page, holding the shared patterns and the used icon symbols. */
.mw-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.mw-pat {
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact;
}

/* vertical-arithmetic layout (PLAT-017 §3): one fixed-width grid cell per digit column. --mw-digit-size is the only
   size knob; 1.25em is size M (UX-020 owns changing it). */
:root {
  --mw-digit-size: 1.25em;
}

.mw-va {
  display: inline-grid;
  grid-template-columns: repeat(var(--mw-va-cols), var(--mw-va-cell, 1.2ch));
  font-size: var(--mw-digit-size, 1.25em);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
}

.mw-va-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  height: 1.5em;
  align-items: end;
}

.mw-va-row > span {
  text-align: center;
}

.mw-va-carry,
.mw-va-borrow {
  height: 0.8em;
}

.mw-va .c {
  font-size: 0.55em;
  line-height: 1;
  align-self: end;
}

.mw-va-cbox {
  height: 1.1em;
}

.mw-va .cbx {
  border: 1pt solid #000;
  box-sizing: border-box;
  height: 0.9em;
  margin: 0 0.1ch;
}

.mw-va-rule {
  grid-column: 1 / -1;
  border-top: 1pt solid #000;
  height: 0;
  margin: 0.12em 0;
}

/* The one grey in content.css, allow-listed for print-color-adjust (architecture §5.6). Long division's appended
   zeros (PLAT-034) share it. */
.mw-ld .mw-ph,
.mw-va .mw-ph {
  color: #707070;
  print-color-adjust: exact;
}

/* the decimal separator column (PLAT-034): a narrow column, the point centred */
.mw-va .pt {
  text-align: center;
}

.mw-va .mw-va-struck {
  text-decoration: line-through;
  text-decoration-thickness: 1pt;
}

.mw-va[data-grid] .mw-va-row > span {
  outline: 1pt dotted #000;
  outline-offset: -0.5pt;
}

/* Worked steps (PLAT-019 §3, ADR-14): each row is a subgrid of one shared 3-column grid, so the relation column lines
   up across rows while every row stays a self-contained block that pagination can place on its own. */
.mw-steps {
  display: grid;
  grid-template-columns: auto auto 1fr;
  column-gap: 0.6em;
  row-gap: 0.35em;
}

.mw-step {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: baseline;
  break-inside: avoid;
}

.mw-step-lhs {
  text-align: right;
  white-space: nowrap;
}

.mw-step-rhs,
.mw-step-body {
  text-align: left;
  white-space: nowrap;
}

.mw-step-num {
  text-align: right;
  font-weight: 700;
}

.mw-step-label {
  font-size: 0.85em;
}

.mw-step-label::before {
  content: '\2014\00a0';
}

.mw-step-note {
  grid-column: 1 / -1;
  padding-left: 1.5em;
  font-size: 0.9em;
}

.mw-step.mw-final .mw-step-rhs,
.mw-step.mw-final .mw-step-body {
  outline: 1pt solid #000;
  outline-offset: 2pt;
}

/* box-model layout (PLAT-046 §3): an HTML table, B/W only. Widths and heights are inline `ch` from the core sizing
   model, so the box scales with the digit size; cells grow rather than clip when content is wider. */
.mw-box {
  border-collapse: collapse;
  font-size: var(--mw-digit-size, 1.25em);
  font-variant-numeric: tabular-nums lining-nums;
  break-inside: avoid;
}

.mw-box-caption {
  caption-side: bottom;
  font-size: 0.7em;
  font-style: italic;
  padding-top: 0.3em;
}

.mw-box th,
.mw-box td {
  padding: 0.2em 0.4em;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.mw-box tbody td:not(.mw-box-hblank) {
  border: 1pt solid #000;
}

.mw-box th {
  font-weight: 400;
  background: none;
}

.mw-box-corner {
  border: none;
}

/* an empty problem cell keeps its row height even with no content */
.mw-box-empty {
  height: 1.5em;
}

/* lattice layout (PLAT-046 §3): a grid of square `ch` cells, digits in 2x2 inner grids (tens upper left, ones lower
   right), one non-scaling SVG overlay for the diagonals. */
.mw-lat {
  display: inline-grid;
  font-size: var(--mw-digit-size, 1.25em);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
  break-inside: avoid;
}

.mw-lat-a,
.mw-lat-b,
.mw-lat-sum {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* the block draws the top and left edges, each cell its right and bottom, so every rule is a single 1pt line */
.mw-lat-cells {
  position: relative;
  display: grid;
  border-top: 1pt solid #000;
  border-left: 1pt solid #000;
}

.mw-lat-cell {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  border-right: 1pt solid #000;
  border-bottom: 1pt solid #000;
  min-width: 0;
  min-height: 0;
}

.mw-lat-t,
.mw-lat-o {
  place-self: center;
  font-size: 0.8em;
}

.mw-lat-t {
  grid-row: 1;
  grid-column: 1;
}

.mw-lat-o {
  grid-row: 2;
  grid-column: 2;
}

.mw-lat-diag {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}

.mw-lat-carry {
  align-self: flex-start;
  margin-right: 0.1em;
  font-size: 0.55em;
}

/* long-division layout (PLAT-034 §3): one grid, a column per dividend digit, explicitly placed items. The us-bracket
   and latam bracket is one non-scaling SVG; the european potence and every subtraction rule are 1pt borders. */
.mw-ld {
  display: inline-grid;
  font-size: var(--mw-digit-size, 1.25em);
  font-variant-numeric: tabular-nums lining-nums;
  line-height: 1;
  break-inside: avoid;
}

.mw-ld > span {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 0.15em;
}

.mw-ld > .mw-ld-divisor {
  justify-content: flex-end;
  padding-right: 0.2ch;
}

.mw-ld[data-style='european'] > .mw-ld-divisor,
.mw-ld > .mw-ld-quot {
  justify-content: flex-start;
  padding-left: 0.4ch;
}

.mw-ld[data-style='european'] > .mw-ld-divisor {
  border-bottom: 1pt solid #000;
}

.mw-ld > .mw-ld-r,
.mw-ld > .mw-ld-ell,
.mw-ld > .mw-ld-frac {
  justify-content: flex-start;
  padding-left: 0.4ch;
  white-space: nowrap;
}

.mw-ld > .mw-ld-frac {
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  font-size: 0.6em;
  line-height: 1.1;
}

.mw-ld-frac > span:first-child {
  border-bottom: 1pt solid #000;
}

.mw-ld > .mw-ld-rule {
  padding: 0;
  border-bottom: 1pt solid #000;
}

.mw-ld > .mw-ld-bar {
  padding: 0;
  border-left: 1pt solid #000;
}

.mw-ld > .mw-ld-work {
  padding: 0;
}

.mw-ld-rep {
  text-decoration-line: overline;
  text-decoration-thickness: 1pt;
}

.mw-ld > .mw-ld-bracket {
  padding: 0;
  align-items: stretch;
}

.mw-ld-bracket > svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Sheet typography (UX-005 §3): problem, number, heading, header. Colours are #000/#fff only (B/W print policy).
   Base rules first; profile-scoped `[data-profile=…]` rules (content stories, EL-001/EL-002) go in the block at the
   end so they win on equal specificity. Spacing inside a block uses padding, never an outer margin. */

/* ---- Problem ---------------------------------------------------------- */
.mw-problem {
  display: grid;
  /* The number column grows past 0.32in only when its number does not fit (XL "100."), so it never wraps. */
  grid-template-columns: minmax(0.32in, max-content) 1fr;
  align-items: start;
}

/* Numbers are right-aligned, so "9." and "10." end at the same place; the padding keeps the body off the number
   and sits inside the 0.32in column, so the body is no narrower at the default sizes. */
.mw-pnum {
  font-weight: 700;
  white-space: nowrap;
  text-align: right;
  padding-right: 0.08in;
}

.mw-pbody {
  min-width: 0;
}

/* ---- Review sheets (UX-017): directive line and skill label ------------ */
.mw-directive {
  font-weight: 700;
  padding-bottom: 2pt;
}

.mw-skill {
  font-size: 8pt;
  line-height: 1.2;
  padding-bottom: 1pt;
}

.mw-key-skill {
  font-size: 8pt;
  white-space: nowrap;
  margin-left: 4pt;
}

/* ---- Section heading ("Part A") --------------------------------------- */
/* Spaced bold label followed by a rule to the right margin. No text-transform: the PDF text layer keeps "Part A". */
.mw-section-heading {
  display: flex;
  align-items: center;
  gap: 6pt;
  font-size: 10.5pt;
  font-weight: 700;
  letter-spacing: 0.4pt;
  line-height: 1.3;
  padding: 0.1in 0 0.12in;
}

.mw-section-heading::after {
  content: '';
  flex: 1;
  border-top: 1pt solid #000;
}

/* ---- Header: field lines, title bar, instructions (UX-006) ------------- */
/* `.mw-header .mw-field` beats builder.css `.mw-field` (the builder field wrapper) on specificity. */
.mw-header {
  padding-bottom: 0.18in;
}

.mw-header .mw-fields {
  display: flex;
  gap: 0.25in;
  align-items: flex-end;
  font-size: 10pt;
  margin-bottom: 0.16in;
}

.mw-header .mw-field {
  display: flex;
  align-items: flex-end;
  gap: 4pt;
  white-space: nowrap;
}

.mw-header .mw-line {
  border-bottom: 1pt solid #000;
  height: 14pt;
  min-width: 1in;
  flex: 1;
}

.mw-header .mw-field-name {
  flex: 1 1 2.6in;
}

.mw-header .mw-field-date .mw-line {
  min-width: 1.1in;
}

/* UX-019: a prefilled date sits on the line. */
.mw-header .mw-line-filled {
  height: auto;
  line-height: 14pt;
  padding: 0 2pt;
  white-space: nowrap;
}

.mw-header .mw-field-class .mw-line {
  min-width: 0.8in;
}

.mw-header .mw-line-short {
  min-width: 0.45in;
  flex: 0 0 auto;
}

.mw-titlebar {
  border-bottom: 1.5pt solid #000;
  padding-bottom: 4pt;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.2in;
}

/* UX-016: the boxed "Version B" badge on the title rule. A 1pt box, no fill, so it prints the same on any printer. */
.mw-version-badge {
  flex: 0 0 auto;
  font-size: 10pt;
  font-weight: 700;
  border: 1pt solid #000;
  padding: 1pt 6pt;
  white-space: nowrap;
}

.mw-header .mw-instructions {
  margin: 6pt 0 0;
  font-size: 10.5pt;
}

.mw-title {
  font-size: 16pt;
  font-weight: 700;
  line-height: 1.2;
}

/* ---- Answer key (UX-009) ----------------------------------------------- */
/* Part title: the worksheet title-bar look; UX-010 reuses it. No percentage widths anywhere in the key rules:
   key entries are measured at the content width and must lay out the same inside their column cell. */
.mw-part-title {
  border-bottom: 1.5pt solid #000;
  padding-bottom: 0.12in;
}

.mw-key-entry {
  display: flex;
  gap: 0.12in;
  align-items: baseline;
  font-size: 92%; /* slightly smaller than the problems */
  border-bottom: 1pt dotted #000;
  padding-bottom: 3pt;
  break-inside: avoid;
}

.mw-key-entry .mw-pnum {
  min-width: 0.32in;
}

.mw-key-answer {
  flex: 0 1 auto;
  min-width: 0;
}

.mw-key-answer svg {
  max-width: 100%;
  height: auto;
}

/* ---- Solutions (UX-010) ------------------------------------------------ */
/* `Page` wraps each placed entry in `.mw-steps.mw-sol` (PLAT-019's step grid), so step rows are grid children and
   everything else (head, note, final, the continued marker) spans the full row. The rule between entries uses
   the row-gap variable and lives in print-geometry.css. No percentage widths; percent font sizes only.
   Layout: the problem number hangs in the worksheet's 0.32in number column, the prompt starts at the body column,
   and the worked steps sit one more indent in, on a 1pt rail that runs down to the boxed answer. Large print widens
   the number column (large-print.css). */
.mw-sol {
  position: relative;
  row-gap: 0;
  padding-left: 0.44in;
}

.mw-sol > :not(.mw-step) {
  grid-column: 1 / -1;
}

.mw-sol-head {
  padding-bottom: 3pt;
}

.mw-sol-num {
  position: absolute;
  left: 0;
  width: 0.32in;
  text-align: right;
  font-weight: 700;
}

/* The rail: a 1pt rule on each step row and on the answer row. It reaches up into the space above its row, so
   the rows join into one line; it is absolutely placed and takes no layout space. */
.mw-sol > .mw-step,
.mw-sol > .mw-sol-final {
  position: relative;
  padding-left: 0.17in;
}

.mw-sol > .mw-step {
  padding-top: 2pt;
  padding-bottom: 2pt;
}

.mw-sol > .mw-step::before,
.mw-sol > .mw-sol-final::after {
  content: '';
  position: absolute;
  left: 0.035in;
  top: -1pt; /* overlaps the row above by 1pt so the scaled preview never shows a seam */
  bottom: 0;
  border-left: 1pt solid #000;
}

/* Step numbers are not problem numbers: regular weight and smaller. */
.mw-sol .mw-step-num {
  font-weight: 400;
  font-size: 80%;
}

.mw-sol .mw-step-label {
  font-style: italic;
  font-size: 82%;
  padding-left: 0.17in;
}

.mw-sol .mw-step-label::before {
  content: none;
}

/* A numbered (non-aligned) row holds a text or picture body that can be as wide as the page; its justification goes
   on the line below the body, not into the narrow third column, where it would wrap into a tall strip. */
.mw-sol .mw-step-n .mw-step-label {
  grid-column: 2 / -1;
  padding-left: 0;
  padding-top: 2pt;
}

/* A numbered step with no body: its words are the step, so they take the body's place and read as body text. */
.mw-sol .mw-step-body:empty {
  display: none;
}

.mw-sol .mw-step-n:has(> .mw-step-body:empty) .mw-step-label {
  font-style: normal;
  font-size: 92%;
  padding-top: 0;
}

/* The check line sits under the equations, at the left side's edge. */
.mw-sol .mw-step-note {
  padding: 3pt 0 0;
  font-size: 85%;
}

/* R5: the boxed answer below is the one box. The last row keeps `.mw-final` (frozen payload, UX-040) but loses its
   outline inside the solutions part. */
.mw-sol .mw-step.mw-final .mw-step-rhs,
.mw-sol .mw-step.mw-final .mw-step-body {
  outline: none;
}

/* The head carries the prompt and step 1 together (they never split), and a picture prompt plus a picture step can
   exceed a page. Picture groups in the prompt are drawn at half size, like the key's miniature; the step's own
   picture keeps full size. */
.mw-sol-prompt .mw-vis-object-group {
  zoom: 0.5;
}

/* The answer row: a small "Answer" label, then the box. Padding, not margin: it is measured inside the block. */
.mw-sol-final {
  display: flex;
  align-items: center;
  gap: 6pt;
  padding-top: 5pt;
  padding-bottom: 2pt;
}

.mw-sol-final::before {
  content: 'Answer';
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: 0.6pt;
  text-transform: uppercase;
}

.mw-sol-answer {
  display: inline-block;
  border: 1.5pt solid #000;
  padding: 1pt 8pt;
  font-weight: 700;
}

/* ---- Profile-scoped rules (content stories) --------------------------- */
/* EL-002 (G1) and EL-001 (PK): physical units (pt, in, ch), literal #000, no variables. Each profile's selector
   list is pinned by its own test (sheet-css.test.ts, sheet-pk.test.ts). */

/* Problem numerals are 22 pt. UX-005 sets data-profile on .page and .mw-measure-root, so every block is a descendant. */
[data-profile='G1'] .mw-problem {
  font-size: 22pt;
}

/* A 22 pt "1." already fills the 0.32in number column, so the gap is 3pt: the default 0.08in would widen the column
   and narrow the body, and the G1 page caps are measured at the narrower width. */
[data-profile='G1'] .mw-pnum {
  padding-right: 3pt;
}

/* Answer boxes are 0.7 in tall and wide enough for two digits (print profile G1, C10). */
[data-profile='G1'] .mw-blank-box {
  height: 0.7in;
  min-width: 2.5ch;
  box-sizing: border-box;
}

/* The vertical-arithmetic answer row (PLAT-017 draws unstyled .bx cells): one 0.7 in box per answer column
   (coordinator ruling 3). PLAT-017 and content.css stay unchanged. */
[data-profile='G1'] .mw-va .mw-va-space {
  height: 0.7in;
}

[data-profile='G1'] .mw-va .bx {
  height: 0.7in;
  border: 1pt solid #000;
  box-sizing: border-box;
}

/* The large Pre-K "1." already fills the number column, and any gap after it narrows the body below the Pre-K
   choice-box and page-cap measurements, so Pre-K keeps no gap (as before the gutter). */
[data-profile='PK'] .mw-pnum {
  padding-right: 0;
}

/* Pre-K: circling is done on the numeral, so the choice boxes are big and far apart. */
[data-profile='PK'] .mw-choices.mw-row {
  gap: 0.45in;
  column-gap: 0.45in;
}

[data-profile='PK'] .mw-choice {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1in;
  min-height: 1in;
  box-sizing: border-box;
  border: 1.5pt solid #000;
  font-size: 40pt;
  line-height: 1;
}

[data-profile='PK'] .mw-choice-mark {
  display: none;
}

[data-profile='PK'] .mw-blank-box {
  min-width: 1.2in;
  min-height: 1.2in;
}

/* Pre-K header: compact (about 63 pt, under the 1 in limit), name line at least 12 mm. No max-height: it would hide
   overflow from the measured header height. */
[data-profile='PK'] .mw-header {
  padding-bottom: 0.08in;
}

[data-profile='PK'] .mw-fields {
  font-size: 18pt;
  margin-bottom: 4pt;
}

[data-profile='PK'] .mw-field-name .mw-line {
  height: 12mm;
  border-bottom-width: 1.5pt;
}

[data-profile='PK'] .mw-title {
  font-size: 12pt;
}

/* Kindergarten (EL-005): numerals 30 pt, circled choices are bordered boxes at least 0.9 in square and 0.35 in apart
   (print profile K, C10). The box is what the child circles, so the bubble is hidden. The first K topic. */
[data-profile='K'] .mw-problem {
  font-size: 30pt;
}

[data-profile='K'] .mw-choices.mw-row {
  gap: 0.35in;
  column-gap: 0.35in;
}

[data-profile='K'] .mw-choice {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0.9in;
  min-height: 0.9in;
  box-sizing: border-box;
  border: 1.5pt solid #000;
  font-size: 32pt;
  line-height: 1;
}

[data-profile='K'] .mw-choice-mark {
  display: none;
}

[data-profile='K'] .mw-blank-box {
  min-width: 0.8in;
  min-height: 0.8in;
}

/* EL-019 (Grade 2, C10): numerals 18 pt for every Grade 2 problem (vertical digits 22.5 pt), answer lines and boxes
   0.55 in. The 0.55 in answer line applies only to a line directly in a problem's top-level inline row (the EL-019
   horizontal item), so other Grade 2 sheets keep their line size. Pinned by sheet-g2.test.ts. */
[data-profile='G2'] .mw-problem {
  font-size: 18pt;
}

[data-profile='G2'] .mw-pbody > .mw-seq > .mw-blank-line {
  height: 0.55in;
}

[data-profile='G2'] .mw-va .mw-va-space {
  height: 0.55in;
}

[data-profile='G2'] .mw-va .bx {
  height: 0.55in;
  border: 1pt solid #000;
  box-sizing: border-box;
}

/* Landing-page styles (UX-030). Concatenated after the KaTeX font CSS, content.css and sheet.css by
   tools/prerender-topics.ts into /assets/topic-page.<hash>.css. No @import, no remote font or image, and no
   --mw-font-* variable: body and sample use a system stack (C-UX-030-16); only KaTeX's own fonts load. */

:root {
  --ls-ink: #1b2330;
  --ls-muted: #4a5563;
  --ls-bg: #ffffff;
  --ls-panel: #f5f7f6;
  --ls-line: #cfd6d3;
  --ls-brand: #2c5e4f;
  --ls-brand-ink: #ffffff;
  --ls-link: #1d4f91;
  --ls-focus: #b45309;
  color-scheme: light;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background: var(--ls-bg);
  color: var(--ls-ink);
  font-family:
    system-ui,
    -apple-system,
    'Segoe UI',
    Roboto,
    'Helvetica Neue',
    Arial,
    sans-serif;
  font-size: 1rem;
  line-height: 1.55;
}

nav[aria-label='Breadcrumb'],
main,
footer {
  max-width: 52rem;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}

nav[aria-label='Breadcrumb'] {
  padding-top: 14px;
  font-size: 0.9rem;
}

nav[aria-label='Breadcrumb'] ol {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

nav[aria-label='Breadcrumb'] li + li::before {
  content: '>';
  margin-right: 8px;
  color: var(--ls-muted);
}

a {
  color: var(--ls-link);
}

a:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--ls-focus);
  outline-offset: 2px;
}

h1 {
  font-size: 1.9rem;
  line-height: 1.2;
  margin: 1.1rem 0 0.6rem;
}

h2 {
  font-size: 1.3rem;
  line-height: 1.3;
  margin: 2rem 0 0.6rem;
}

.mw-ls-lede {
  font-size: 1.1rem;
  color: var(--ls-muted);
  margin: 0 0 1rem;
}

.button {
  display: inline-block;
  padding: 12px 22px;
  border-radius: 8px;
  background: var(--ls-brand);
  color: var(--ls-brand-ink);
  font-weight: 700;
  text-decoration: none;
}

.button:hover {
  filter: brightness(1.12);
}

/* The sample: a bordered white card with a CSS grid of problems. The row min-height reserves the space so a late
   KaTeX font swap cannot shift the layout (CLS). The sample matches the builder's size and layout, not its typeface. */
.mw-ls-sheet {
  display: grid;
  grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr));
  gap: 6px 24px;
  padding: 18px 20px;
  border: 1px solid var(--ls-line);
  border-radius: 8px;
  background: #fff;
  color: #000;
  font-family:
    system-ui,
    -apple-system,
    'Segoe UI',
    Roboto,
    'Helvetica Neue',
    Arial,
    sans-serif;
  font-size: 13pt;
  overflow-x: auto;
}

.mw-ls-sheet > .mw-problem {
  min-height: 3.4rem;
}

.mw-ls-answers {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--ls-line);
  font-size: 1rem;
}

.mw-ls-answers summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--ls-link);
}

.mw-ls-key {
  display: grid;
  grid-template-columns: repeat(var(--cols, 1), minmax(0, 1fr));
  gap: 4px 24px;
  margin-top: 8px;
}

@media (max-width: 480px) {
  .mw-ls-sheet,
  .mw-ls-key {
    grid-template-columns: minmax(0, 1fr);
  }
}

dl {
  margin: 0;
}

dt {
  font-weight: 700;
  margin-top: 0.6rem;
}

dd {
  margin: 0 0 0 1rem;
}

ul {
  padding-left: 1.3rem;
}

footer {
  margin-top: 2.5rem;
  padding-top: 16px;
  padding-bottom: 32px;
  border-top: 1px solid var(--ls-line);
  color: var(--ls-muted);
  font-size: 0.9rem;
}

@media print {
  .button,
  nav[aria-label='Breadcrumb'] {
    display: none;
  }

  .mw-ls-sheet {
    border: 0;
    overflow: visible;
  }
}
