@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./fonts/ibm-plex-sans-cyrillic-400-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-cyrillic-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/ibm-plex-sans-cyrillic-500-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-cyrillic-500-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./fonts/ibm-plex-sans-cyrillic-600-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-cyrillic-600-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./fonts/ibm-plex-sans-latin-400-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-latin-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/ibm-plex-sans-latin-500-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-latin-500-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./fonts/ibm-plex-sans-latin-600-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-latin-600-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./fonts/ibm-plex-sans-greek-400-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-greek-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/ibm-plex-sans-greek-500-normal.woff2") format("woff2"),url(./files/ibm-plex-sans-greek-500-normal.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./fonts/ibm-plex-mono-cyrillic-400-normal.woff2") format("woff2"),url(./files/ibm-plex-mono-cyrillic-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/ibm-plex-mono-cyrillic-500-normal.woff2") format("woff2"),url(./files/ibm-plex-mono-cyrillic-500-normal.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./fonts/ibm-plex-mono-latin-400-normal.woff2") format("woff2"),url(./files/ibm-plex-mono-latin-400-normal.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/ibm-plex-mono-latin-500-normal.woff2") format("woff2"),url(./files/ibm-plex-mono-latin-500-normal.woff) format("woff")}@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,math,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.19.0"}.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}:root{color-scheme:light;--paper: #edf0f3;--surface: #fbfcfd;--surface-2: #f1f4f6;--ink: #0f151c;--ink-2: #46515d;--muted: #76818c;--grid: #e1e6eb;--axis: #aeb8c2;--line: rgba(15, 21, 28, .13);--line-strong: rgba(15, 21, 28, .3);--c-maxStress: #2a78d6;--c-vasiliev: #3bb9ed;--c-tsaiWu: #eb6834;--c-hashin: #1baf7a;--c-maxStrain: #4a3aa7;--c-tsaiHill: #c8478f;--c-hoffman: #9a5a22;--series-1: #2a78d6;--series-2: #1baf7a;--series-3: #4a3aa7;--ok: #0a7a0a;--matrix: #eda100;--fiber: #d03b3b;--on-matrix: #0f151c;--on-fiber: #ffffff;--mode-ft: #d03b3b;--mode-fc: #7d2638;--mode-mt: #f0b429;--mode-mc: #a8770a;--mode-ms: #5f8fb0;--m-glass: #3f9d95;--m-aramid: #c9990a;--m-carbon: #2b323a;--scene-axis: #1b232c;--scene-cage: #c9d1d9;--scene-topo: #0f151c;--font-sans: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--font-cond: "IBM Plex Sans", system-ui, "Segoe UI", sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--radius: 7px}:root[data-theme=dark]{color-scheme:dark;--paper: #0b0e12;--surface: #14181d;--surface-2: #1b2027;--ink: #f1f4f7;--ink-2: #b4bec8;--muted: #818c97;--grid: #242b33;--axis: #46515d;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .3);--c-maxStress: #3987e5;--c-vasiliev: #46aec5;--c-tsaiWu: #d95926;--c-hashin: #199e70;--c-maxStrain: #6250b2;--c-tsaiHill: #e4569e;--c-hoffman: #a53453;--series-1: #3987e5;--series-2: #199e70;--series-3: #6250b2;--ok: #2fb62f;--matrix: #fab219;--fiber: #e25555;--mode-ft: #e25555;--mode-fc: #8f3247;--mode-mt: #f0b429;--mode-mc: #a8770a;--mode-ms: #6f9fc0;--m-glass: #58b6ad;--m-aramid: #e0b21c;--m-carbon: #9aa5b0;--scene-axis: #e6ebf0;--scene-cage: #2c343d;--scene-topo: #0b0e12}*{box-sizing:border-box}[hidden]{display:none!important}html{font-size:calc(clamp(14px,.5vw + 8px,20px) * var(--scale, 1))}body{margin:0;background:var(--paper);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:2rem 2rem;background-position:-1px -1px;color:var(--ink);font-family:var(--font-sans);line-height:1.35;-webkit-font-smoothing:antialiased}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}h1,h2,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.unit{color:var(--muted);font-size:.82em}.note{color:var(--ink-2);font-size:.82rem;line-height:1.4}.tex .katex{font-size:1.08em}.tex-block{display:block;overflow-x:auto;overflow-y:hidden;padding-block:.15rem}.tex-block .katex-display{margin:0;text-align:left}.tex-block .katex-display>.katex{text-align:left}#app{height:100vh;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr)}.app-head{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding:.5rem .9rem;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem}.brand svg{width:2rem;height:2rem;flex:none}.brand-name{font-family:var(--font-cond);font-weight:600;font-size:1.3rem;letter-spacing:.16em;text-transform:uppercase;line-height:1}.brand-sub{color:var(--muted);font-size:.78rem;line-height:1.2}.tabs{display:flex;gap:.3rem;margin-inline:auto}.tab-btn{display:flex;align-items:baseline;gap:.55rem;padding:.42rem 1rem;border:1px solid transparent;border-radius:var(--radius);background:none;font-size:1.02rem;color:var(--ink-2)}.tab-btn b{font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}.tab-btn:hover{background:var(--surface-2)}.tab-btn[aria-selected=true]{background:var(--ink);color:var(--surface)}.tab-btn[aria-selected=true] b{color:var(--surface)}.head-tools{display:flex;align-items:center;gap:.4rem}.tool-btn{min-width:2.3rem;height:2.3rem;padding:0 .6rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);font-family:var(--font-cond);font-weight:600;font-size:.95rem}.tool-btn:hover{background:var(--surface-2)}a.tool-btn{display:inline-grid;place-items:center;color:inherit;text-decoration:none}a.tool-btn svg{width:1.25rem;height:1.25rem}.tool-btn svg{width:1.1rem;height:1.1rem;display:block;margin:auto}main{min-height:0}.tab{display:grid;gap:0;padding:.7rem;height:100%;min-height:0;grid-template-columns:var(--side-left) auto minmax(0,1fr) auto var(--side-right)}.tab-criteria{--side-left: minmax(19rem, 24.5rem);--side-right: minmax(21rem, 29rem)}.tab-laminate{--side-left: minmax(20rem, 24rem);--side-right: minmax(19rem, 24.5rem)}.tab.hide-left{--side-left: 0px}.tab.hide-right{--side-right: 0px}.tab>*{grid-row:1}.tab>.col-left{grid-column:1}.tab>.gutter-left{grid-column:2}.tab>.col-mid{grid-column:3}.tab>.gutter-right{grid-column:4}.tab>.col-end{grid-column:5}.tab.hide-left>.col-left,.tab.hide-right>.col-end{display:none}.gutter{display:grid;place-items:center;width:.95rem;padding:0;border:0;background:none;color:var(--ink-2)}.gutter-grip{display:grid;place-items:center;width:.74rem;height:3.6rem;border:1px solid var(--line-strong);border-radius:999px;background:var(--surface)}.gutter svg{width:.56rem;height:.56rem;display:block}.gutter:hover .gutter-grip,.gutter:focus-visible .gutter-grip{background:var(--ink);border-color:var(--ink);color:var(--surface)}.gutter:focus-visible{outline:none}.col{display:flex;flex-direction:column;gap:.7rem;min-width:0;min-height:0}.col-left,.col-right{overflow-y:auto;scrollbar-width:thin}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem;display:flex;flex-direction:column;gap:.6rem;min-width:0}.panel-grow{flex:1 0 auto}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.panel-head h2,.scene-title,.diagram-head h2{font-family:var(--font-cond);font-weight:600;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}.head-hint{color:var(--muted);font-size:.78rem}.link-btn{border:0;background:none;padding:0;color:var(--ink-2);font-size:.8rem;text-decoration:underline;text-underline-offset:.18em}.ghost-btn{border:1px solid var(--line-strong);background:var(--surface);border-radius:5px;padding:.28rem .65rem;font-size:.84rem}.ghost-btn:hover:not(:disabled){background:var(--surface-2)}.icon-btn{width:2rem;height:2rem;padding:.42rem;border:1px solid transparent;border-radius:5px;background:none;color:var(--ink-2)}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:100%;height:100%;display:block}.num{width:100%;min-width:0;padding:.24rem .38rem;border:1px solid var(--line-strong);border-radius:5px;background:var(--surface);font-family:var(--font-mono);font-size:.9rem;font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--ink);min-width:0;width:100%;height:1.4rem;margin:0}input[type=checkbox]{accent-color:var(--ink);width:1.05rem;height:1.05rem;margin:0;flex:none}.check{display:inline-flex;align-items:center;gap:.4rem;font-size:.84rem;color:var(--ink-2);cursor:pointer;white-space:nowrap}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:6px;overflow:hidden;background:var(--surface)}.seg-btn{border:0;background:none;padding:.3rem .7rem;font-size:.86rem;white-space:nowrap}.seg-btn+.seg-btn{border-left:1px solid var(--line)}.seg-btn:hover{background:var(--surface-2)}.seg-btn[aria-pressed=true]{background:var(--ink);color:var(--surface)}.seg-grid{display:grid;grid-template-columns:1fr 1fr;width:100%}.seg-grid .seg-btn{padding-inline:.35rem;font-size:.84rem}.seg-grid .seg-btn:nth-child(odd){border-left:0}.seg-grid .seg-btn:nth-child(n+3){border-top:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:.2rem .7rem;font-size:.82rem;font-family:var(--font-mono)}.chip:hover{background:var(--surface-2)}.chip[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.field{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.field-label{color:var(--ink-2);font-size:.86rem}.param{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;font-size:.9rem}.param output{min-width:3.2rem;text-align:right;font-size:.86rem}.params{display:flex;flex-direction:column;gap:.35rem}.ico{width:1.05rem;height:1.05rem;flex:none}.ico-ok{color:var(--ok)}.ico-matrix{color:var(--matrix)}.ico-fiber{color:var(--fiber)}.meter{position:relative;display:block;height:.5rem;width:4.2rem;border-radius:3px;background:var(--grid);overflow:hidden;flex:none}.meter-fill{position:absolute;inset:0 auto 0 0;background:var(--ink);border-radius:0 3px 3px 0}.meter-one{position:absolute;top:0;bottom:0;left:66.667%;width:2px;background:var(--surface);box-shadow:0 0 0 1px var(--ink-2)}.meter-wide{width:auto;flex:1}.mat-glass{--m: var(--m-glass)}.mat-aramid{--m: var(--m-aramid)}.mat-carbon{--m: var(--m-carbon)}.mat-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.mat-card{display:flex;flex-direction:column;gap:.35rem;padding:.4rem .45rem .45rem;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);text-align:left}.mat-card:hover{background:var(--surface-2)}.mat-card[aria-pressed=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.mat-swatch{height:1.15rem;border-radius:3px;background:repeating-linear-gradient(180deg,var(--m) 0 2px,color-mix(in srgb,var(--m) 45%,var(--surface)) 2px 4px)}.mat-name{font-size:.8rem;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mat-card[aria-pressed=true] .mat-name{font-weight:600}.props{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .9rem}.probe-bar{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.45rem .85rem}.probe-bar-title{font-weight:600;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-right:auto}.probe-field{display:flex;align-items:center;gap:.4rem}.probe-field .num{width:4.1rem;appearance:textfield;-moz-appearance:textfield}.probe-field .num::-webkit-inner-spin-button,.probe-field .num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.prop{display:grid;grid-template-columns:2.6rem minmax(0,1fr) 2.2rem;align-items:center;gap:.3rem}.mat-chip{border:1px solid var(--line-strong);background:var(--surface);padding:.16rem .4rem;font-size:.78rem;font-family:var(--font-cond);font-weight:600;letter-spacing:.04em;border-radius:4px;box-shadow:inset 0 -3px 0 var(--m)}.mat-chip[aria-pressed=true],.mat-chip.is-static{background:color-mix(in srgb,var(--m) 20%,var(--surface));border-color:color-mix(in srgb,var(--m) 70%,var(--ink))}.mat-seg{display:flex;gap:.2rem}.crit-list{display:flex;flex-direction:column}.crit{border-top:1px solid var(--line)}.crit:first-child{border-top:0}.crit.is-focus{background:var(--surface-2);margin-inline:-.85rem;padding-inline:.85rem}.crit-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem .8rem;padding-block:.38rem}.crit-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer}.crit-key{width:1.8rem;height:.78rem;flex:none}.crit-name{border:0;background:none;padding:0;text-align:left;font-size:.9rem;line-height:1.25}.crit-verdict .meter{width:3.3rem}.crit-name:hover{text-decoration:underline;text-underline-offset:.2em}.is-focus .crit-name{font-weight:600}.is-off .crit-name,.is-off .crit-verdict{color:var(--muted)}.is-off .crit-key{opacity:.35}.crit-verdict{display:flex;align-items:center;gap:.4rem}.crit-f{min-width:2.5rem;text-align:right;font-size:.9rem}.crit-verdict.is-failed .crit-f{font-weight:500}.crit-body{display:flex;flex-direction:column;gap:.45rem;padding-bottom:.7rem}.crit-tex{font-size:.8rem}.crit-tex .tex-block{scrollbar-width:none}.foot-note{margin-top:auto}.scene-wrap{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.scene-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;padding:.75rem .9rem 0}.scene-sub{font-size:1.15rem;font-weight:500}.scene-tools{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.scene{position:relative;min-height:0;touch-action:none}.scene canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab}.scene canvas:active{cursor:grabbing}.scene-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.scene-labels>div{position:absolute;left:0;top:0;white-space:nowrap;will-change:transform}.scene-axis-label{font-size:1.3rem;text-shadow:0 0 4px var(--surface),0 0 4px var(--surface),0 0 6px var(--surface)}.scene-tick-label{font-family:var(--font-mono);font-size:.76rem;color:var(--ink-2);margin-top:-.95rem;text-shadow:0 0 3px var(--surface),0 0 3px var(--surface),0 0 5px var(--surface)}.scene-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.55rem .9rem .7rem;border-top:1px solid var(--line)}.scene-hint{color:var(--muted);font-size:.78rem}.legend{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.84rem;color:var(--ink-2);align-items:center}.legend li{display:flex;align-items:center;gap:.4rem}.swatch{width:.85rem;height:.85rem;border-radius:2px;flex:none}.col-sections{gap:.7rem}.section{flex:1;min-height:9rem;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.55rem .3rem .2rem}.section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-inline:.55rem}.section-title{font-size:1.12rem;white-space:nowrap}.section-fixed{display:grid;grid-template-columns:auto minmax(3rem,7rem) auto;align-items:center;gap:.45rem;font-size:.84rem;color:var(--ink-2)}.section-fixed output{min-width:4.6rem;text-align:right}.plot{position:relative;flex:1;min-height:0}.plot-svg{position:absolute;inset:0;display:block;touch-action:none;user-select:none}.section-svg{cursor:crosshair}.grid{stroke:var(--grid);stroke-width:1}.axis{stroke:var(--axis);stroke-width:1.5}.tick{fill:var(--muted);font-family:var(--font-mono);font-size:.72rem}.cross{stroke:var(--ink-2);stroke-width:1;opacity:.55}.probe{fill:var(--ink);stroke:var(--surface);stroke-width:2.5px;cursor:grab}.axis-title{position:absolute;font-size:.8rem;color:var(--ink-2);background:color-mix(in srgb,var(--surface) 82%,transparent);padding:0 .3rem;border-radius:3px;pointer-events:none;white-space:nowrap}.axis-title-x{right:1.1rem;bottom:2.3rem}.axis-title-y{left:4.3rem;top:.55rem}.layup-code{font-size:.95rem;font-weight:500}.ply-table{display:flex;flex-direction:column}.ply-row{display:grid;grid-template-columns:1.4rem 4.4rem minmax(0,1fr) 4.6rem 2rem;align-items:center;gap:.4rem;padding:.22rem .3rem;margin-inline:-.3rem;border-radius:5px}.ply-row.is-hover{background:var(--surface-2)}.ply-head{color:var(--muted);font-size:.74rem;padding-block:0}.ply-n{color:var(--muted);font-size:.82rem}.row-btns{display:flex;flex-wrap:wrap;gap:.35rem}.load-box{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:.8rem;align-items:center}.load-glyph{width:100%;height:auto;display:block}.plate{fill:var(--surface-2);stroke:var(--ink-2);stroke-width:1.5}.load-arrows line{stroke:var(--ink);stroke-width:2.2}.arrow-head{fill:var(--ink)}.glyph-axis{font-family:var(--font-mono);font-size:9px;fill:var(--muted)}.load-sliders{display:flex;flex-direction:column;gap:.2rem}.param-name{min-width:1.9rem}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.stat{display:flex;flex-direction:column;gap:.1rem;padding:.6rem .85rem .65rem;min-width:0}.stat+.stat{border-left:1px solid var(--line)}.stat-label{font-family:var(--font-cond);font-weight:600;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-value{font-family:var(--font-cond);font-weight:600;font-size:2.1rem;line-height:1.05}.stat-unit{font-size:.95rem;font-weight:500;color:var(--muted);margin-left:.3rem}.stat-sub{color:var(--ink-2);font-size:.78rem;overflow-wrap:anywhere}.diagram-wrap{flex:1;min-height:14rem;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.7rem .4rem .6rem}.diagram-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding-inline:.5rem}.legend-marks{gap:.35rem!important}.diagram-svg{cursor:ew-resize}.curve,.curve-ghost{fill:none;stroke-linejoin:round;stroke-linecap:round}.curve-ghost{stroke-width:1.5px;opacity:.3}.playhead{stroke:var(--surface);stroke-width:2.5px}.rupture{fill:none;stroke:var(--fiber);stroke-width:3px;stroke-linecap:round}.flow-arrow{fill:var(--matrix);stroke:var(--surface);stroke-width:1.5px;stroke-linejoin:round}.event-mark{cursor:pointer}.event-mark circle,.event-mark rect{fill:var(--surface);stroke-width:2.5px}.event-mark text{font-family:var(--font-mono);font-size:.7rem;font-weight:500;fill:var(--ink);pointer-events:none}.event-mark.event-matrix circle{stroke:var(--matrix)}.event-mark.event-fiber rect{stroke:var(--fiber)}.event-mark.event-matrix.is-done circle{fill:var(--matrix);stroke:var(--surface)}.event-mark.event-fiber.is-done rect{fill:var(--fiber);stroke:var(--surface)}.event-mark.event-matrix.is-done text{fill:var(--on-matrix)}.event-mark.event-fiber.is-done text{fill:var(--on-fiber)}.transport{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem 0}.play-btn{display:inline-flex;align-items:center;gap:.45rem;height:2.3rem;padding:0 1rem 0 .8rem;border:0;border-radius:6px;background:var(--ink);color:var(--surface);font-family:var(--font-cond);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.92rem}.play-btn svg{width:1rem;height:1rem}.scrub{flex:1}.log-panel{max-height:32%;min-height:6.5rem}.log{display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;margin-inline:-.35rem}.log-item{display:flex;gap:.6rem;align-items:flex-start;opacity:.45}.log-item.is-done{opacity:1}.log-btn{display:flex;gap:.6rem;align-items:flex-start;width:100%;border:0;background:none;text-align:left;padding:.3rem .35rem;border-radius:5px}.log-btn:hover{background:var(--surface-2)}.log-final{padding:.3rem .35rem}.log-n{display:inline-grid;place-items:center;width:1.45rem;height:1.45rem;flex:none;font-family:var(--font-mono);font-size:.76rem;font-weight:500}.log-n.event-matrix{background:var(--matrix);color:var(--on-matrix);border-radius:50%}.log-n.event-fiber{position:relative;z-index:0;color:var(--on-fiber)}.log-n.event-fiber:before{content:"";position:absolute;inset:11%;z-index:-1;background:var(--fiber);transform:rotate(45deg)}.log-n.event-final{color:var(--fiber);font-size:1.1rem;font-weight:600}.log-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.log-where{font-size:.8rem;color:var(--ink-2)}.log-what{display:flex;align-items:center;gap:.35rem;font-size:.9rem}.empty{flex:1;display:grid;place-items:center;padding:2rem;text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius)}.stack-panel{flex:1 1 16rem;min-height:13rem}.stack{position:relative;flex:1;min-height:0}.stack-svg{position:absolute;inset:0;display:block}.ply-face{fill:color-mix(in srgb,var(--m) 20%,var(--surface));stroke:color-mix(in srgb,var(--m) 75%,var(--ink));stroke-width:1.2px;stroke-linejoin:round}.ply-side{fill:color-mix(in srgb,var(--m) 55%,var(--surface));stroke:color-mix(in srgb,var(--m) 75%,var(--ink));stroke-width:1px;stroke-linejoin:round}.ply-side-2{fill:color-mix(in srgb,var(--m) 75%,var(--surface))}.fiber{stroke:color-mix(in srgb,var(--m) 88%,var(--ink));stroke-width:1.7px;stroke-linecap:round}.crack{stroke:var(--matrix);stroke-width:1.8px;stroke-dasharray:4 4;stroke-linecap:round}.ply-matrix .ply-face{fill:color-mix(in srgb,var(--matrix) 14%,var(--surface))}.ply-failed .ply-face{fill:color-mix(in srgb,var(--fiber) 7%,var(--surface));stroke:var(--fiber);stroke-dasharray:5 4}.ply-failed .ply-side{fill:var(--surface-2);stroke:var(--muted)}.ply-failed .fiber{stroke:var(--muted);opacity:.75}.ply.is-critical .ply-face,.ply.is-hover .ply-face{stroke:var(--ink);stroke-width:2.4px}.ply-burst{fill:var(--matrix);opacity:0;pointer-events:none;animation:burst .8s ease-out}.ply-failed .ply-burst{fill:var(--fiber)}@keyframes burst{0%{opacity:.9}to{opacity:0}}.ply-state .ply-status{position:relative;border-radius:4px}.state-matrix .ply-status:after,.state-failed .ply-status:after{content:"";position:absolute;inset:-1px -3px;border-radius:4px;background:var(--matrix);opacity:0;pointer-events:none;animation:burst .8s ease-out}.state-failed .ply-status:after{background:var(--fiber)}.ply-label{font-family:var(--font-mono);font-size:.82rem;fill:var(--ink-2)}.is-critical .ply-label,.is-hover .ply-label{fill:var(--ink);font-weight:500}.stack-axes line{stroke:var(--ink-2);stroke-width:1.5px}.stack-axes text{font-family:var(--font-mono);font-size:.78rem;fill:var(--ink-2)}.ply-states{display:flex;flex-direction:column}.ply-state{display:grid;grid-template-columns:1.1rem 2.7rem auto minmax(0,1fr) 3.4rem 2.4rem;align-items:center;gap:.4rem;padding:.24rem .3rem;margin-inline:-.3rem;border-radius:5px;font-size:.86rem}.ply-state.is-hover{background:var(--surface-2)}.ply-state.is-critical .ply-angle{font-weight:500}.ply-state .meter{width:auto}.ply-status{display:flex;align-items:center;gap:.3rem;color:var(--ink-2);font-size:.8rem;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state-matrix .meter-fill{background:var(--matrix)}.stiff{display:flex;flex-direction:column;gap:.3rem}.stiff-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 5.2rem 3rem;align-items:center;gap:.5rem;font-size:.86rem}.stiff-val,.stiff-pct{text-align:right}dialog.about{max-width:min(46rem,calc(100vw - 2rem));border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:1.3rem 1.5rem 1.4rem}dialog.about::backdrop{background:#080c108c}.about h2{font-family:var(--font-cond);font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.7rem}.about h3{font-size:.98rem;margin:1rem 0 .35rem}.about p,.about li{font-size:.94rem;line-height:1.5;max-width:65ch}.about p+p,.about ol+p,.about p+ol{margin-top:.55rem}.about ol{list-style:decimal;padding-left:1.3rem;display:flex;flex-direction:column;gap:.25rem}.about .note{margin-top:.9rem;font-size:.82rem}.about .disclaimer{margin-top:.8rem;padding-top:.7rem;border-top:1px solid var(--line);font-size:.86rem;color:var(--ink-2)}.about a{color:inherit;text-underline-offset:.18em}.about-foot{display:flex;justify-content:flex-end;margin-top:1.1rem}@media(max-width:1150px){#app{height:auto}.tab{grid-template-columns:minmax(0,1fr);height:auto}.tab>*{grid-row:auto}.tab>.col-left,.tab>.gutter-left,.tab>.col-mid,.tab>.gutter-right,.tab>.col-end{grid-column:1}.gutter{width:100%;height:1.5rem}.gutter-grip{width:3.6rem;height:.74rem}.gutter svg{transform:rotate(90deg)}.col-left,.col-right{overflow:visible}.scene-wrap{height:34rem;flex:none}.section{flex:none;height:19rem}.diagram-wrap{flex:none;height:28rem}.log-panel{max-height:none}.stack-panel{flex:none;height:20rem}.tabs{order:3;width:100%;margin:0}.tab-btn{flex:1;justify-content:center}.brand{margin-right:auto}}@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.tab-btn span{display:none}.scene-wrap{height:27rem}.transport{flex-wrap:wrap}.scene-hint{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
