@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-display:block;font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.28"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}:root{--bg:#f3f6fb;--bg-accent:#e7eef8;--card:#fff;--card-border:#d6e0ee;--text:#0f172a;--muted:#5f6f86;--primary:#2563eb;--primary-strong:#1d4ed8;--danger:#f87171;--paper:#fff;--ink:#0f172a;--ink-muted:#475569}*{box-sizing:border-box}#root,body,html{max-width:100%;overflow-x:hidden;width:100%}body{background:linear-gradient(180deg,#f8fbff,#edf3fb 55%,#f7faff);color:#0f172a;color:var(--text);font-family:Space Grotesk,system-ui,-apple-system,sans-serif;margin:0}.App,body{min-height:100vh}.App{align-items:stretch;display:flex;justify-content:center;max-width:100%;padding:24px;width:100%}.auth-header{align-items:center;display:flex;gap:16px;justify-content:space-between;left:24px;position:absolute;right:24px;top:18px}.auth-header-title{color:#0f172a;color:var(--text);font-size:18px;font-weight:700}.auth-header-links{display:flex;gap:12px}.auth-link{background:#fff;border:1px solid #c8d5e8;border-radius:10px;color:#0f172a;color:var(--text);font-size:13px;font-weight:600;padding:6px 10px;text-decoration:none}.auth-link.active{background:#2563eb1f;border-color:#2563eb73}.admin-tabs{display:flex;gap:12px;margin:12px 0 18px}.admin-panel{grid-gap:14px;display:grid;gap:14px;max-width:100%;min-width:0;overflow-x:clip}.admin-checkbox-group{grid-gap:10px;background:#f8fbff;border:1px solid #d7deea;border-radius:16px;display:grid;gap:10px;padding:12px 14px}.admin-checkbox-row{align-items:flex-start;color:#0f172a;display:flex;gap:10px}.admin-checkbox-row input{margin-top:3px}.admin-toolbar{align-items:center;display:flex;gap:12px;justify-content:space-between}.admin-toolbar input{max-width:420px;width:100%}.admin-page-header{align-items:center;display:flex;gap:12px}.admin-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}.admin-table-wrap{background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:18px;overflow:auto;padding:12px}.admin-table{border-collapse:collapse;color:#0f172a;color:var(--ink);width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e2e8f0;font-size:14px;padding:10px 8px;text-align:left;vertical-align:top}.admin-table th{color:#475569;color:var(--ink-muted);font-weight:700}.admin-table tbody tr{cursor:pointer}.admin-table tbody tr.selected{background:#38bdf826}.admin-editor{grid-gap:8px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:18px;color:#0f172a;color:var(--ink);display:grid;gap:8px;padding:16px}.admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.admin-slate-assist{grid-gap:10px;background:#f8fbff;border:1px solid #d7deea;border-radius:14px;display:grid;gap:10px;padding:12px}.admin-slate-toolbar{display:flex;flex-wrap:wrap;gap:8px}.admin-slate-stage{background:#fff;border:1px dashed #cbd5f5;border-radius:12px;overflow:hidden;padding:8px}.figure-assist-panel{grid-gap:12px;background:#f8fbff;border:1px solid #d7deea;border-radius:16px;box-sizing:border-box;display:grid;gap:12px;overflow:hidden;padding:14px;width:100%}.figure-assist-grid{grid-gap:14px;align-items:start;display:grid;gap:14px;grid-template-columns:minmax(280px,1.05fr) minmax(280px,1fr)}.figure-assist-tab-panel{grid-gap:12px;display:grid;gap:12px}.figure-assist-draw,.figure-assist-editor,.figure-assist-preview-card,.figure-assist-review,.figure-assist-summary-card{grid-gap:10px;display:grid;gap:10px}.figure-assist-draw{align-content:start}.figure-assist-label-toolbar{display:flex;flex-wrap:wrap;gap:8px}.figure-assist-toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.figure-assist-zoom-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.figure-assist-stage-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.figure-assist-icon-toolbar{align-items:center;display:flex;gap:8px}.figure-assist-pen-dropdown{min-width:164px}.figure-assist-pen-dropdown-section{grid-gap:6px;display:grid;gap:6px}.figure-assist-pen-dropdown-section+.figure-assist-pen-dropdown-section{border-top:1px solid #e2e8f0;margin-top:8px;padding-top:8px}.figure-assist-stroke-style-options{display:flex;flex-wrap:wrap;gap:8px}.figure-assist-draw .admin-actions{align-self:start}.figure-assist-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.figure-assist-secondary-actions{margin-top:-2px}.figure-assist-review{align-content:start;max-height:clamp(420px,72vh,780px);min-height:0;overflow-y:auto;padding-right:6px}.figure-assist-editor{align-content:start}.figure-assist-review::-webkit-scrollbar{width:10px}.figure-assist-review::-webkit-scrollbar-thumb{background:#94a3b88c;background-clip:padding-box;border:2px solid #0000;border-radius:999px}.figure-assist-review::-webkit-scrollbar-track{background:#0000}.figure-assist-stage{background:#fff;border:1px dashed #cbd5f5;border-radius:12px;overflow:hidden;padding:8px}.figure-assist-stage,.figure-assist-stage-viewport{overscroll-behavior:contain;position:relative;touch-action:none}.figure-assist-stage-viewport{max-height:100%;max-width:100%;overflow:auto}.figure-assist-stage-content{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.figure-assist-resize-handle,.figure-assist-stage-preview{align-items:center;display:flex;justify-content:center}.figure-assist-resize-handle{background:linear-gradient(180deg,#cbd5f500,#cbd5f52e);border-top:1px dashed #d7deea;cursor:ns-resize;height:24px;margin:6px -8px -8px;touch-action:none}.figure-assist-resize-grip{background:#94a3b8;border-radius:999px;height:5px;width:72px}.figure-assist-inline-editor{position:absolute;z-index:3}.figure-assist-inline-editor input{background:#fffffff5;border:1px solid #93a8d8;border-radius:10px;box-shadow:0 10px 24px #0f172a1f;color:#0f172a;font-size:15px;font-weight:700;padding:6px 10px;width:72px}.figure-label-grid{grid-gap:8px;display:grid;gap:8px}.figure-label-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:64px minmax(0,1fr)}.figure-label-row-wide{grid-template-columns:96px minmax(0,1fr) 110px}.figure-label-row input,.figure-label-row select{width:100%}.figure-assist-fallback-editor{background:#ffffffd1;border:1px solid #d9e3f7;border-radius:12px;padding:10px 12px}.figure-assist-fallback-editor summary{color:#475569;cursor:pointer;font-size:13px;font-weight:700;-webkit-user-select:none;user-select:none}.figure-assist-fallback-editor[open]{gap:10px}.figure-assist-fallback-editor[open] summary{margin-bottom:10px}.figure-summary-list{grid-gap:6px;display:grid;gap:6px}.solution-step-list{grid-gap:8px;display:grid;gap:8px}.solution-step-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:48px minmax(260px,1fr) 220px 90px auto}.solution-step-index{color:#475569;color:var(--ink-muted);font-size:13px;font-weight:700}.solution-step-buttons{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.danger-button{background:#dc262624;border:1px solid #dc262659;border-radius:12px;color:#991b1b;cursor:pointer;font-weight:700;padding:10px 12px}.auth-shell{grid-gap:28px;align-items:stretch;display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));width:min(960px,100%)}.brand-panel{background:linear-gradient(135deg,#2563eb14,#2563eb08);border:1px solid #2563eb33;border-radius:24px;display:flex;flex-direction:column;gap:18px;justify-content:space-between;padding:28px}.brand-title{font-size:28px;font-weight:700;margin:0}.brand-sub{color:#5f6f86;color:var(--muted);line-height:1.6;margin:0}.auth-card{background:#fff;background:var(--card);border:1px solid #d6e0ee;border:1px solid var(--card-border);border-radius:24px;box-shadow:0 20px 35px #0f172a14;display:flex;flex-direction:column;gap:18px;padding:28px}.auth-title{font-size:22px;font-weight:600;margin:0}.toggle-row{display:flex;gap:10px}.toggle-button{background:#f1f5fb;border:1px solid #0000;border-radius:999px;color:#4b5f7c;cursor:pointer;flex:1 1;font-weight:600;padding:10px 12px}.toggle-button.active{background:#2563eb24;border-color:#2563eb59;color:#0f172a}.primary-button:disabled,.secondary-button:disabled,.toggle-button:disabled,.tool-chip:disabled{cursor:not-allowed;opacity:.58}.form-group{display:flex;flex-direction:column;gap:8px}label{color:#5f6f86;color:var(--muted);font-size:13px}input,select,textarea{background:#fff;border:1px solid #c6d3e6;border-radius:12px;color:#0f172a;color:var(--ink);font-size:15px;padding:12px 14px;width:100%}select,textarea{font-family:inherit}textarea{line-height:1.5;resize:vertical}.primary-button{background:#1d4ed8;background:var(--primary-strong);border:none;border-radius:12px;color:#fff;cursor:pointer;font-weight:700;padding:12px 14px}.secondary-button{background:#fff;border:1px solid #c6d3e6;border-radius:12px;color:#0f172a;color:var(--ink);cursor:pointer;font-weight:600;padding:12px 14px}.error-text{color:#f87171;color:var(--danger);font-size:13px}.admin-notice{border:1px solid #d7deea;border-radius:12px;font-size:14px;font-weight:600;padding:10px 12px}.admin-notice.success{background:#22c55e1f;border-color:#22c55e73;color:#14532d}.admin-notice.error{background:#ef44441f;border-color:#ef444480;color:#7f1d1d}.admin-validation-card{grid-gap:10px;background:#f8fbff;border:1px solid #d7deea;border-radius:14px;display:grid;gap:10px;padding:14px 16px}.admin-validation-card.success{background:#22c55e14;border-color:#22c55e59}.admin-validation-card.error{background:#ef444414;border-color:#ef444459}.admin-validation-header{align-items:baseline;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.admin-validation-json{background:#0f172a0a;border-radius:12px;font-size:12px;margin:0;overflow-x:auto;padding:10px 12px}.admin-validation-steps{grid-gap:12px;display:grid;gap:12px}.admin-validation-step{background:#ffffffb3;border:1px solid #94a3b833;border-radius:12px;padding:10px 12px}.user-card{grid-gap:12px;background:#fff;background:var(--card);border:1px solid #d6e0ee;border:1px solid var(--card-border);border-radius:24px;display:grid;gap:12px;padding:24px}.user-meta{color:#5f6f86;color:var(--muted);font-size:14px;word-break:break-all}.app-shell{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:220px 1fr;min-height:88vh;min-width:0;position:relative;width:min(1400px,100%)}.app-shell-busy-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#f3f6fb7a;display:flex;inset:0;justify-content:center;padding:22px;position:absolute;z-index:12}.app-shell-busy-card{align-items:center;background:#fffffff5;border:1px solid #2563eb2e;border-radius:18px;box-shadow:0 14px 30px #0f172a1f;display:flex;gap:14px;padding:14px 16px;width:min(420px,100%)}.app-shell-busy-spinner{animation:app-shell-spin .9s linear infinite;border:2px solid #94a3b847;border-radius:999px;border-top:2px solid var(--primary-strong);flex:0 0 auto;height:18px;width:18px}.app-shell-busy-copy{grid-gap:8px;display:grid;flex:1 1;gap:8px;min-width:0}.app-shell-busy-title{color:#0f172a;color:var(--text);font-size:14px;font-weight:700}.app-shell-busy-line{background:#2563eb1a;border-radius:999px;height:6px;overflow:hidden;position:relative}.app-shell-busy-line span{animation:app-shell-busy-slide 1.1s ease-in-out infinite;background:repeating-linear-gradient(90deg,#2563ebf0 0 10px,#0ea5e9eb 10px 18px);border-radius:inherit;inset:0 auto 0 -38%;position:absolute;width:38%}@keyframes app-shell-spin{to{transform:rotate(1turn)}}@keyframes app-shell-busy-slide{0%{transform:translateX(0)}to{transform:translateX(360%)}}.sidebar{align-self:start;background:#fff;background:var(--card);border:1px solid #d6e0ee;border:1px solid var(--card-border);border-radius:24px;display:flex;flex-direction:column;gap:20px;padding:18px 16px}.sidebar-brand{font-size:20px;font-weight:700}.sidebar-nav{grid-gap:8px;display:grid;gap:8px}.nav-link{border-radius:12px;color:#5f6f86;color:var(--muted);font-weight:600;padding:10px 12px;text-decoration:none}.nav-link.active{background:#2563eb1f;border:1px solid #2563eb52;color:#0f172a;color:var(--ink)}.sidebar-footer{grid-gap:12px;display:grid;gap:12px;margin-top:auto}.main-content{background:#ffffffc7;border:1px solid #d8e2f0;border-radius:24px;box-shadow:0 12px 30px #0f172a0f;padding:32px}.page{grid-gap:20px;display:grid;gap:20px;min-width:0}.practice-header{grid-gap:16px;display:grid;gap:16px}.practice-title{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.practice-left{gap:16px}.practice-left,.practice-right{align-items:center;display:flex;flex-wrap:wrap}.practice-right{gap:12px}.back-link{background:#2563eb1f;border:1px solid #2563eb4d;border-radius:12px;color:#0f172a;color:var(--ink);font-weight:600;padding:8px 12px;text-decoration:none}.practice-heading{grid-gap:8px;display:grid;gap:8px}.level-inline{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.page-title{font-size:26px;margin:0}.page-sub{color:#5f6f86;color:var(--muted);margin:0}.card-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.concept-card,.question-block,.slate-card,.stat-card{grid-gap:12px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:18px;color:#0f172a;color:var(--ink);display:grid;gap:12px;padding:20px}.main-content,.question-block,.sidebar,.slate-card,.slate-shell,.slate-stage{min-width:0}.concept-card{box-shadow:0 10px 24px #0f172a14;color:#0f172a;color:var(--ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.concept-card:hover{box-shadow:0 14px 28px #0f172a24;transform:translateY(-2px)}.stat-label{color:#475569;color:var(--ink-muted);font-size:13px}.stat-value{font-size:20px;font-weight:700}.concept-sub,.question-meta,.stat-foot{color:#64748b;font-size:13px}.concept-title{font-size:16px;font-weight:600}.concept-home-header{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:16px}.breadcrumb{color:#5f6f86;color:var(--muted);font-size:13px}.filters-panel{grid-gap:16px;display:grid;gap:16px;margin-bottom:20px}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-row{display:flex;flex-wrap:wrap;gap:8px}.filter-label{color:#475569;color:var(--ink-muted);font-size:13px;font-weight:600}.filter-pill{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px}.filter-pill.active{background:#0ea5e933;border-color:#0ea5e999}.filter-group.align-end{align-items:flex-end}.attempt-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.frame-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.frame-card{grid-gap:12px;background:#fff;border:1px solid #dbe4f2;border-radius:16px;box-shadow:0 10px 24px #0f172a0f;color:inherit;display:grid;gap:12px;padding:16px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.frame-card:hover{box-shadow:0 16px 28px #0f172a1f;transform:translateY(-2px)}.frame-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.frame-header-right{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.frame-status-badge{background:#f8fafc;border:1px solid #d1d5db;border-radius:999px;color:#334155;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.frame-status-badge.not-started{background:#94a3b82e;border-color:#64748b73;color:#334155}.frame-status-badge.mastered{background:#22c55e26;border-color:#22c55e66;color:#166534}.frame-status-badge.developing{background:#0ea5e926;border-color:#0ea5e973;color:#0c4a6e}.frame-status-badge.needs-focus{background:#f59e0b2e;border-color:#f59e0b80;color:#92400e}.frame-difficulty{background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.frame-metrics,.frame-tags{color:#475569;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.frame-metrics span,.frame-tags span{background:#f8fafc;border:1px solid #e2e8f0;border-radius:999px;padding:4px 10px}.frame-detail-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.frame-fixed-tag{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;color:#1d4ed8;display:inline-flex;font-size:12px;font-weight:700;margin-top:6px;padding:4px 10px;text-transform:uppercase}.attempt-card{grid-gap:10px;background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 10px 24px #0f172a0f;color:inherit;display:grid;gap:10px;min-width:0;padding:14px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.attempt-card:hover{box-shadow:0 16px 28px #0f172a1f;transform:translateY(-2px)}.attempt-card-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.attempt-title{font-size:14px;font-weight:600}.attempt-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:11px;font-weight:700;justify-content:center;max-width:100%;padding:4px 10px;text-transform:uppercase;white-space:nowrap;width:-webkit-fit-content;width:fit-content}.attempt-badge.status-correct{background:#22c55e26;border:1px solid #22c55e66;color:#166534}.attempt-badge.status-incomplete{background:#f9731626;border:1px solid #f9731673;color:#9a3412}.attempt-badge.status-incorrect{background:#ef444426;border:1px solid #ef444466;color:#991b1b}.attempt-badge.status-missing{background:#eab3082e;border:1px solid #eab30866;color:#92400e}.attempt-card-footer{color:#475569;color:var(--ink-muted);display:flex;font-size:12px;justify-content:space-between}.attempt-latex{min-width:0;overflow:hidden;width:100%}.attempt-latex .katex-display{margin:0;max-width:100%;overflow-x:auto;overflow-y:hidden}.review-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.attempt-figure-review{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr)}.attempt-figure-review .figure-assist-preview-card,.attempt-figure-review .figure-assist-summary-card{min-height:0}.attempt-figure-review .figure-assist-summary-card{align-content:start;max-height:clamp(280px,52vh,520px);overflow-y:auto}.attempt-figure-review .figure-assist-preview-card{align-content:start}.review-card{grid-gap:12px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:18px;display:grid;gap:12px;padding:16px}.slate-preview{border-radius:12px;width:100%}.slate-preview,.slate-preview-shell{background:#f8fafc;border:1px solid #e2e8f0}.slate-preview-shell{border-radius:12px;max-height:clamp(320px,58vh,640px);overflow:auto}.attempt-recovered-slate,.attempt-recovered-slate-list{grid-gap:10px;display:grid;gap:10px}.attempt-recovered-slate-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-height:clamp(320px,58vh,640px);overflow:auto;padding:12px}.attempt-recovered-slate-step .katex-display{margin:0}@media (max-width:960px){.attempt-figure-review{grid-template-columns:1fr}}.question-title{color:#0f172a;font-size:18px;font-weight:600}.question-title-row{align-items:center;display:grid;grid-template-columns:1fr auto 1fr}.question-title-row .question-meta{justify-self:start}.question-title-row .question-title{justify-self:center}.review-question-title-row{justify-content:space-between}.review-question-title-left,.review-question-title-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.review-question-title-left{min-width:0}.review-question-title-row .question-title{justify-self:auto}.review-question-title-row .attempt-badge{flex:0 0 auto;margin-left:auto}.question-actions{display:flex;flex-wrap:wrap;gap:12px}.question-block{overflow:hidden}.practice-fold-body,.practice-fold-section{grid-gap:12px;display:grid;gap:12px}.practice-fold-body[hidden]{display:none}.practice-fold-trigger{align-items:center;background:#f8fafc;border:1px solid #d7deea;border-radius:14px;color:#0f172a;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:12px 14px;text-align:left;width:100%}.practice-fold-trigger:hover{background:#eef2f7}.practice-fold-copy{grid-gap:4px;display:grid;gap:4px;min-width:0}.practice-fold-title{color:#0f172a;font-size:14px;font-weight:600}.practice-fold-chevron{align-items:center;color:#475569;display:inline-flex;flex:0 0 auto;font-size:24px;font-weight:700;justify-content:center;line-height:1;width:28px}.question-block .katex-display{-webkit-overflow-scrolling:touch;margin:0;max-width:100%;overflow-x:auto;overflow-y:hidden}.question-actions-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.frame-order-list{display:flex;flex-wrap:wrap;gap:8px}.figure-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;justify-content:center;padding:12px}.attempt-figure-image{border-radius:8px;display:block;height:auto;max-width:100%;width:auto}.attempt-review-editor{align-content:start;max-height:clamp(280px,52vh,520px);overflow-y:auto;padding-right:6px}.figure-svg{height:auto;width:min(560px,100%)}.question-actions .secondary-button,.slate-actions .secondary-button{background:#f8fafc;border-color:#94a3b8;color:#0f172a}.question-actions .secondary-button:hover,.slate-actions .secondary-button:hover{background:#eef2f7}.slate-actions .primary-button{background:#1d4ed8;color:#f8fafc}.slate-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.slate-card>.practice-fold-section{margin-bottom:4px}.slate-shell{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;max-width:100%;overflow:hidden;padding:12px;width:100%}.slate-shell-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.slate-shell.full-screen{background:#f8fafc;border-radius:0;inset:0;max-width:100vw;padding:16px;position:fixed;width:100vw;z-index:2000}.slate-shell.full-screen .slate-stage{height:calc(100vh - 220px);max-height:none}.slate-shell.slate-mode,.slate-shell.slate-mode *{-webkit-touch-callout:none;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}body.slate-pointer-active,html.slate-pointer-active{overscroll-behavior:none;touch-action:none}body.slate-interaction-mode,html.slate-interaction-mode{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body.slate-interaction-mode [contenteditable=true],body.slate-interaction-mode input,body.slate-interaction-mode textarea{-webkit-touch-callout:default;-webkit-user-select:text;user-select:text}.slate-stage,body.slate-pointer-active{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.slate-stage{-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:transparent;background:#fff;background:var(--paper);border:1px dashed #cbd5f5;border-radius:16px;box-sizing:border-box;max-height:520px;max-width:100%;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;overscroll-behavior-x:contain;padding:12px;position:relative;scroll-behavior:smooth;width:100%}.slate-stage-content{align-items:stretch;display:flex;min-width:100%;position:relative;width:-webkit-max-content;width:max-content}.slate-stage-content.with-diagnostics{gap:0}.slate-canvas-pane{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex:0 0 auto;position:relative;touch-action:none;-webkit-user-select:none;user-select:none}.slate-canvas-pane.scroll-mode{touch-action:pan-x pan-y}.slate-active-stroke-canvas{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;display:block;inset:0;pointer-events:none;position:absolute;touch-action:none;transform:translateZ(0);-webkit-user-select:none;user-select:none}.slate-active-stroke-canvas.scroll-mode{display:none}.slate-canvas-pane canvas{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none;-webkit-user-select:none;user-select:none}.slate-canvas-pane.scroll-mode canvas{touch-action:pan-x pan-y}.slate-diagnostic-overlay{bottom:12px;overflow:visible;pointer-events:none;position:absolute;right:0;top:12px;z-index:5}.slate-diagnostic-rail{background:#0000;border-left:1px dotted #bfdbfe99;flex:0 0 auto;position:relative}.slate-diagnostic-rail-inner{position:relative;width:100%}.slate-diagnostic-rule{border-top:1px dotted #dbeafe;left:0;opacity:.95;pointer-events:none;position:absolute;right:0}.slate-stage.draw-mode,.slate-stage.ink-mode{overflow:hidden;touch-action:none}.slate-stage.scroll-mode{overflow:auto;overscroll-behavior:contain;overscroll-behavior-x:contain;touch-action:pan-x pan-y}.slate-shell.profile-android-touch .slate-active-stroke-canvas,.slate-shell.profile-android-touch .slate-canvas-pane,.slate-shell.profile-android-touch .slate-stage{transform:translateZ(0);will-change:transform}.slate-shell.profile-android-touch .slate-active-stroke-canvas{will-change:contents}.slate-shell.profile-android-touch .slate-stage,.slate-shell.profile-ios-touch .slate-stage{overscroll-behavior:none;scroll-behavior:auto;scrollbar-width:none}.slate-shell.profile-android-touch .slate-stage::-webkit-scrollbar,.slate-shell.profile-ios-touch .slate-stage::-webkit-scrollbar{display:none;height:0;width:0}.slate-icon-toolbar{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.slate-icon-button{align-items:center;background:#f8fafc;border:1px solid #bfdbfe;border-radius:8px;color:#0f172a;cursor:pointer;display:inline-flex;font-size:18px;height:34px;justify-content:center;line-height:1;width:34px}.slate-icon-svg{display:block;flex:none;height:18px;width:18px}.slate-icon-fallback{display:none;font-size:17px;line-height:1}.slate-icon-svg circle,.slate-icon-svg line,.slate-icon-svg path,.slate-icon-svg polyline,.slate-icon-svg rect{vector-effect:non-scaling-stroke}.slate-icon-button:hover:not(:disabled){background:#eff6ff}.slate-icon-button.active{background:#3b82f624;border-color:#60a5fa}.slate-icon-button:disabled{cursor:not-allowed;opacity:.45}.slate-pen-menu{position:relative}.slate-pen-dropdown{grid-gap:6px;background:#fff;border:1px solid #dbeafe;border-radius:10px;box-shadow:0 8px 20px #0f172a1a;display:grid;gap:6px;min-width:120px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.slate-pen-swatches{align-items:center;display:flex;gap:8px}.slate-pen-swatch{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:4px;width:28px}.slate-pen-swatch-fill{border-radius:5px;height:100%;width:100%}.slate-pen-swatch.active{background:#3b82f61f;border-color:#60a5fa}.slate-rule-handle-layer{inset:0;pointer-events:none;position:absolute;touch-action:none}.slate-step-tag-layer{inset:12px;pointer-events:none;position:absolute;z-index:3}.slate-step-marker{--marker-bg:#64748b;--marker-border:#475569;-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:none;color:#fff;cursor:pointer;display:inline-flex;font-size:11px;font-weight:700;height:22px;justify-content:center;outline:none;padding:0;pointer-events:auto;position:absolute;right:12px;transform:translateY(-50%);width:22px;z-index:4}.slate-diagnostic-overlay .slate-step-marker,.slate-diagnostic-rail .slate-step-marker{left:50%;right:auto;transform:translate(-50%,-50%)}.slate-step-marker:before{background:var(--marker-bg);border:1px solid var(--marker-border);border-radius:999px;inset:0}.slate-step-marker:after,.slate-step-marker:before{box-sizing:border-box;content:"";position:absolute;z-index:0}.slate-step-marker:after{border:2px solid #0000;border-radius:999px;inset:-2px;pointer-events:none}.slate-step-marker.shape-circle{border-radius:999px}.slate-step-marker.shape-triangle{height:26px;width:30px}.slate-step-marker.shape-rhombus{height:28px;width:28px}.slate-step-marker.shape-triangle:before{inset:0}.slate-step-marker.shape-triangle:after,.slate-step-marker.shape-triangle:before{border-radius:8px;-webkit-clip-path:polygon(50% 4%,97% 84%,84% 98%,16% 98%,3% 84%);clip-path:polygon(50% 4%,97% 84%,84% 98%,16% 98%,3% 84%)}.slate-step-marker.shape-rhombus:after,.slate-step-marker.shape-rhombus:before{border-radius:7px;inset:1px;transform:rotate(45deg)}.slate-step-marker.shape-rhombus:after{inset:-1px}.slate-step-marker-number{line-height:1;position:relative;z-index:1}.slate-step-marker.shape-triangle .slate-step-marker-number{font-size:12px;transform:translateY(3.5px)}.slate-step-marker.shape-rhombus .slate-step-marker-number{font-size:12px}.slate-step-marker.status-correct{--marker-bg:#22c55e;--marker-border:#15803d}.slate-step-marker.status-incomplete{--marker-bg:#f97316;--marker-border:#c2410c}.slate-step-marker.status-incorrect{--marker-bg:#ef4444;--marker-border:#b91c1c}.slate-step-marker.status-missing,.slate-step-marker.status-unclear{--marker-bg:#f59e0b;--marker-border:#b45309}.slate-step-marker.status-review{--marker-bg:#64748b;--marker-border:#475569}.slate-step-marker.is-selected{z-index:6}.slate-step-marker.is-selected:after,.slate-step-marker:focus-visible:after{border-color:#0ea5e9}.slate-step-marker:focus,.slate-step-marker:focus-visible{box-shadow:none;outline:none}.slate-step-popover{background:#fff;border:1px solid #dbeafe;border-radius:10px;box-shadow:0 8px 20px #0f172a1f;color:#0f172a;font-size:12px;line-height:1.45;max-width:min(260px,72vw);opacity:0;padding:8px 10px;pointer-events:none;position:absolute;right:calc(100% + 10px);text-align:left;top:50%;transform:translateY(-50%) translateX(6px);transition:opacity .15s ease,transform .15s ease,visibility .15s ease;visibility:hidden;width:260px;z-index:12}.slate-diagnostic-overlay .slate-step-popover{right:calc(100% + 12px)}.slate-step-popover.tutor-note{box-shadow:0 8px 18px #0f172a1f}.slate-step-popover.tutor-note:before{background:inherit;border-right:1px solid #cbd5e1e6;border-top:1px solid #cbd5e1e6;content:"";height:10px;position:absolute;right:-6px;top:calc(50% - 6px);transform:rotate(45deg);width:10px}.slate-step-popover-title{color:#334155;display:block;font-size:12px;font-weight:700;margin-bottom:4px}.slate-step-marker.is-selected .slate-step-popover,.slate-step-marker:focus-visible .slate-step-popover,.slate-step-marker:hover .slate-step-popover,.slate-step-popover.is-visible{opacity:1;pointer-events:auto;transform:translateY(-50%) translateX(0);visibility:visible}.slate-step-popover.status-incorrect{background:#fef2f2f5;border-color:#ef444473}.slate-step-popover.status-incomplete{background:#fff7edf5;border-color:#f9731673}.slate-step-popover.status-missing,.slate-step-popover.status-unclear{background:#fffbebf5;border-color:#f59e0b80}.slate-step-popover.status-correct{background:#f0fdf4f5;border-color:#22c55e73}.slate-rule-handle{-webkit-tap-highlight-color:transparent;background:#0000;border:none;border-radius:0;cursor:ns-resize;height:24px;left:0;padding:0;pointer-events:auto;position:absolute;right:0;touch-action:none;transform:translateY(-12px);width:auto;z-index:2}.slate-rule-handle:before{border-top:1px dotted #0000;content:"";left:0;position:absolute;right:0;top:11px}.slate-rule-handle.active{background:#93c5fd14}.slate-rule-handle.active:before{border-top-color:#1d4ed8;border-top-width:2px}.level-toggle{display:flex;flex-wrap:wrap;gap:10px}.tool-chip{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;padding:6px 12px}.tool-chip.active{background:#0ea5e933;border-color:#0ea5e999;color:#0f172a}.slate-actions{display:flex;flex-wrap:wrap;gap:12px}.analysis-runner{display:flex;justify-content:flex-end;margin-top:8px;position:relative}.analysis-runner-actions{align-items:center;display:inline-flex;gap:10px}.clear-confirm-popover{background:#fff;border:1px solid #dbeafe;border-radius:12px;bottom:calc(100% + 8px);box-shadow:0 10px 24px #0f172a1f;min-width:250px;padding:10px;position:absolute;right:0;z-index:25}.clear-confirm-title{color:#0f172a;font-size:13px;margin-bottom:10px}.clear-confirm-actions{display:flex;gap:8px;justify-content:flex-end}.slate-shell.full-screen .analysis-runner{background:#f8fafc;bottom:0;padding:8px 0;position:-webkit-sticky;position:sticky}.work-tabs{display:flex;gap:8px;margin-bottom:10px}.math-editor-field{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;min-height:120px;min-width:0;padding:10px;width:100%}.math-editor-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.math-editor-lines{grid-gap:10px;display:grid;gap:10px;min-width:0}.math-editor-row{align-items:flex-start;display:flex;gap:12px;min-width:0}.math-editor-step-block{grid-gap:6px;display:grid;gap:6px;min-width:0}.math-editor-line{-webkit-overflow-scrolling:touch;border-bottom:1px dashed #e2e8f0;border-radius:8px;flex:1 1;min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;transition:background .15s ease,border-color .15s ease}.math-editor-line .mq-editable-field{border:none;box-shadow:none;display:block;font-size:30px;min-height:30px;min-width:100%;padding:2px 0;width:-webkit-max-content;width:max-content}.math-editor-line .mq-root-block{white-space:nowrap}.math-editor-line:last-child{border-bottom:none;padding-bottom:0}.math-step-tag{grid-gap:2px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;color:#64748b;cursor:pointer;display:grid;font-size:12px;font-weight:600;gap:2px;justify-items:end;min-width:72px;padding:6px 8px;text-align:right}.math-step-badge{font-size:11px;text-transform:capitalize}.math-editor-line.status-incorrect{background:#ef44441a}.math-editor-line.status-incomplete{background:#f973161a}.math-editor-line.status-missing,.math-editor-line.status-unclear{background:#f59e0b1a}.math-editor-line.status-correct{background:#22c55e14}.math-editor-line.is-selected,.math-step-tag.is-selected{outline:2px solid #0ea5e9;outline-offset:1px}.math-step-tag.status-incorrect,.slate-step-marker.status-incorrect,.step-diagnostic-item.status-incorrect{border-color:#ef444480}.math-step-tag.status-incomplete,.slate-step-marker.status-incomplete,.step-diagnostic-item.status-incomplete{border-color:#f9731699}.math-step-tag.status-missing,.math-step-tag.status-unclear,.slate-step-marker.status-missing,.slate-step-marker.status-unclear,.step-diagnostic-item.status-missing,.step-diagnostic-item.status-unclear{border-color:#f59e0b99}.math-step-tag.status-correct,.slate-step-marker.status-correct,.step-diagnostic-item.status-correct{border-color:#22c55e99}.inline-step-diagnostic{background:#fff;border:1px solid #d7deea;border-radius:10px;color:#0f172a;font-size:13px;margin-left:0;padding:8px 10px}.inline-step-diagnostic.status-incorrect{background:#ef44440f;border-color:#ef444480}.inline-step-diagnostic.status-incomplete{background:#f9731614;border-color:#f9731699}.inline-step-diagnostic.status-missing,.inline-step-diagnostic.status-unclear{background:#f59e0b14;border-color:#f59e0b99}.inline-step-diagnostic.status-correct{background:#22c55e0f;border-color:#22c55e80}.analysis-box{grid-gap:8px;background:#f8fafc;border:1px solid #d7deea;border-radius:12px;color:#0f172a;display:grid;gap:8px;margin-top:12px;min-width:0;padding:14px}.analysis-summary{color:#0f172a;font-size:14px;font-weight:600}.analysis-grid{grid-gap:12px;display:grid;gap:12px}.analysis-label{color:#64748b;font-size:12px;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.analysis-label-row{align-items:center;display:flex;gap:10px;justify-content:space-between}.math-keyboard-icon{background:#3b82f61a;border:1px solid #93c5fd;border-radius:8px;color:#0f172a;cursor:pointer;height:30px;width:34px}.analysis-text{color:#0f172a;font-size:14px;line-height:1.6}.tutor-box{grid-gap:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;display:grid;gap:12px;margin-top:12px;min-width:0;padding:14px}.tutor-box.mode-entry_nudge,.tutor-box.mode-next_step_hint{background:#eff6ff;border-color:#bfdbfe}.tutor-box.mode-redirect{background:#fff7ed;border-color:#fdba74}.tutor-box.mode-diagnostic_probe{background:#fefce8;border-color:#fde68a}.tutor-box.mode-celebrate{background:#ecfdf5;border-color:#86efac}.tutor-box.mode-info{background:#f8fafc;border-color:#cbd5e1}.tutor-box-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.tutor-box-pill{align-items:center;background:#0f172a14;border-radius:999px;color:#0f172a;display:inline-flex;font-size:12px;font-weight:600;justify-content:center;padding:6px 10px;white-space:nowrap}.tutor-box-meta{color:#64748b;font-size:12px}.feedback-title{color:#0f172a;font-weight:600}.feedback-options{display:flex;flex-wrap:wrap;gap:10px}.feedback-pill{background:#f8fafc;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-weight:600;padding:8px 14px}.feedback-pill.active{background:#0ea5e933;border-color:#0ea5e999}.feedback-reasons{grid-gap:8px;display:grid;gap:8px}.feedback-subtitle{color:#64748b;font-size:13px}.reason-option{align-items:center;color:#0f172a;display:flex;font-size:13px;gap:8px}.feedback-submit{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}.feedback-trigger{background:#0ea5e91f;border-color:#0ea5e999;color:#0f172a}.feedback-trigger:disabled{background:#f1f5f9;border-color:#cbd5e1;color:#94a3b8;cursor:not-allowed}.feedback-modal{background:#0f172a73;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:20}.feedback-card{grid-gap:14px;background:#fff;border:1px solid #d7deea;border-radius:20px;box-shadow:0 18px 30px #0f172a33;display:grid;gap:14px;padding:18px 20px 20px;width:min(520px,100%)}.feedback-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.feedback-close{background:#0000;border:none;color:#64748b;cursor:pointer;font-weight:600}.feedback-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.confirm-dialog-card{width:min(480px,100%)}.confirm-dialog-message{color:#334155;line-height:1.6;margin:0}.session-warning-countdown{background:#eef4ff;border-radius:999px;color:#1d4ed8;font-weight:700;min-width:56px;padding:8px 12px;text-align:center}.session-warning-body{color:#334155;line-height:1.5;margin:0}@media (max-width:900px){.App{padding:14px}.app-shell{gap:14px;grid-template-columns:1fr;width:100%}.sidebar{align-items:stretch;flex-direction:column;gap:12px;justify-content:flex-start;padding:14px}.sidebar-nav{gap:6px;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.sidebar-footer{gap:8px;margin-top:0}.main-content{padding:20px}.admin-grid,.figure-assist-grid,.solution-step-row{grid-template-columns:1fr}.figure-assist-review{max-height:none;overflow:visible;padding-right:0}}@media (max-width:720px){.App{padding:8px}.main-content{border-radius:18px;padding:14px}.slate-card{padding:14px}.slate-shell{padding:10px}.slate-stage{padding:8px}.brand-panel{order:2}.practice-title{align-items:flex-start;flex-direction:column}.slate-icon-toolbar{gap:6px}.slate-icon-button{height:32px;padding:0;width:32px}.slate-icon-svg{display:none}.slate-icon-fallback{display:inline-block}.slate-step-popover{width:min(220px,70vw)}}.solution-graph-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.solution-graph-summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.solution-graph-dashboard{grid-gap:16px;display:grid;gap:16px;max-width:100%;min-width:0}.solution-graph-dashboard-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,1.3fr) minmax(320px,.9fr)}.solution-graph-dashboard-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.solution-graph-field-full{grid-column:1/-1}.solution-graph-dashboard-meta{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.solution-graph-dashboard-meta-card{grid-gap:6px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;display:grid;gap:6px;padding:12px}.solution-graph-summary-card{grid-gap:6px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:16px;display:grid;gap:6px;padding:14px 16px}.solution-graph-summary-label{color:#64748b;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.solution-graph-status-pill{background:#2563eb14;border-radius:999px;color:#1d4ed8;font-size:12px;font-weight:700;padding:6px 12px;text-transform:capitalize}.solution-graph-workspace{grid-gap:14px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:20px;display:grid;gap:14px;max-width:100%;min-width:0;overflow:hidden;padding:16px}.solution-graph-drawer-actions,.solution-graph-toolbar-group,.solution-graph-workspace-actions,.solution-graph-workspace-header,.solution-graph-workspace-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.solution-graph-workspace-header,.solution-graph-workspace-toolbar{justify-content:space-between}.solution-graph-workspace-toolbar{align-items:flex-start}.solution-graph-drawer-title,.solution-graph-workspace-title{grid-gap:6px;display:grid;gap:6px}.solution-graph-drawer-toggle.active{background:#2563eb1f;border-color:#2563eb73;color:#1d4ed8}.solution-graph-workspace-body{isolation:isolate;min-height:720px;min-width:0;overflow:hidden;position:relative}.solution-graph-shell{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:280px minmax(0,1fr) 360px}.solution-graph-inspector,.solution-graph-sidebar{grid-gap:14px;align-content:start;display:grid;gap:14px}.solution-graph-center{grid-gap:12px;display:grid;gap:12px;min-width:0}.solution-graph-panel{grid-gap:12px;background:#fff;background:var(--paper);border:1px solid #d7deea;border-radius:18px;display:grid;gap:12px;padding:14px}.solution-graph-panel-header{align-items:center;display:flex;gap:10px;justify-content:space-between}.solution-graph-panel-header h3,.solution-graph-validator-block h4{font-size:15px;margin:0}.solution-graph-entity-list,.solution-graph-form-stack,.solution-graph-validation-stack{grid-gap:10px;display:grid;gap:10px}.solution-graph-entity-chip{align-items:center;background:#f8fafc;border:1px solid #d7deea;border-radius:12px;color:#0f172a;cursor:pointer;display:flex;gap:10px;padding:10px 12px;text-align:left}.solution-graph-entity-chip.selected{background:#2563eb1a;border-color:#2563eb73}.solution-graph-color-dot{border-radius:999px;flex:0 0 auto;height:10px;width:10px}.solution-graph-empty,.solution-graph-help-text{color:#64748b;font-size:13px;line-height:1.4}.solution-graph-validation-card{grid-gap:6px;border-radius:14px;display:grid;font-size:13px;gap:6px;padding:12px}.solution-graph-validation-card.error{background:#ef444414;border:1px solid #ef444461}.solution-graph-validation-card.warning{background:#f59e0b1a;border:1px solid #f59e0b61}.solution-graph-canvas-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.solution-graph-node-template-select{background:#fff;border:1px solid #cbd5e1;border-radius:10px;color:#0f172a;max-width:320px;min-width:240px;padding:9px 12px}.solution-graph-canvas-note,.solution-graph-field-label{color:#64748b;font-size:13px;font-weight:600}.solution-graph-canvas-note{flex:1 1 260px;text-align:right}.solution-graph-canvas-wrap{background:linear-gradient(180deg,#f8fbff,#f4f7fb);border:1px solid #d7deea;border-radius:20px;box-sizing:border-box;cursor:grab;height:min(74vh,980px);max-width:100%;min-height:720px;min-width:0;overflow-x:auto;overflow-y:auto;overscroll-behavior:contain;padding:16px;scrollbar-gutter:stable both-edges;-webkit-user-select:none;user-select:none;width:100%}.solution-graph-canvas-wrap.is-panning{cursor:grabbing}body.solution-graph-is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.solution-graph-canvas-empty-wrap{cursor:default;display:grid;place-items:center}.solution-graph-canvas-empty{grid-gap:12px;color:#475569;display:grid;gap:12px;max-width:520px;text-align:center}.solution-graph-empty-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.solution-graph-canvas{background-color:#fff;background-image:linear-gradient(90deg,#94a3b81f 1px,#0000 0),linear-gradient(180deg,#94a3b81f 1px,#0000 0);background-size:28px 28px;border-radius:18px;display:block;min-height:100%;min-width:100%;position:relative;touch-action:none}.solution-graph-canvas-pan-surface{cursor:grab;inset:0;position:absolute;z-index:0}.solution-graph-edge-layer{inset:0;pointer-events:none;position:absolute;z-index:1}.solution-graph-edge{stroke:#94a3b8;stroke-width:2}.solution-graph-edge-optional{stroke-dasharray:8 7}.solution-graph-edge-alternate{stroke:#7c3aed;stroke-dasharray:5 6}.solution-graph-edge-label{fill:#475569;text-anchor:middle;font-size:11px;font-weight:700}.solution-graph-node-card{grid-gap:10px;background:#fffffff5;border:2px solid #cbd5e1;border-radius:18px;box-shadow:0 12px 28px #0f172a1a;cursor:grab;display:grid;gap:10px;min-height:156px;padding:14px;position:absolute;text-align:left;width:264px;z-index:2}.solution-graph-node-card.selected{box-shadow:0 0 0 3px #2563eb2e,0 12px 28px #0f172a1f}.solution-graph-node-card:active{cursor:grabbing}.solution-graph-node-chip-row,.solution-graph-node-title-row,.solution-graph-path-membership,.solution-graph-two-column{display:flex;flex-wrap:wrap;gap:8px}.solution-graph-node-title-row{align-items:center;justify-content:space-between}.solution-graph-node-chip,.solution-graph-node-kind{border-radius:999px;font-size:11px;font-weight:700;padding:4px 9px}.solution-graph-node-kind{background:#e2e8f0;color:#334155;text-transform:capitalize}.solution-graph-node-kind.canonical{background:#2563eb24;color:#1d4ed8}.solution-graph-node-kind.deterministic{background:#0e749024;color:#0f766e}.solution-graph-node-chip{background:#eff6ff;color:#1d4ed8}.solution-graph-node-chip.muted{background:#f1f5f9;color:#475569}.solution-graph-node-anchor{-webkit-line-clamp:3;-webkit-box-orient:vertical;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;color:#334155;display:-webkit-box;font-family:inherit;font-size:13px;line-height:1.5;min-height:56px;overflow:hidden;padding:10px;text-overflow:ellipsis;word-break:break-word}.solution-graph-validator-block{grid-gap:10px;border-top:1px solid #e2e8f0;display:grid;gap:10px;padding-top:12px}.solution-graph-drawer{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffffa;border:1px solid #d7deea;border-radius:20px;bottom:12px;box-shadow:0 20px 42px #0f172a29;display:grid;grid-template-rows:auto 1fr;max-width:calc(100% - 24px);overflow:hidden;position:absolute;right:12px;top:12px;width:min(420px,calc(100% - 24px));z-index:4}.solution-graph-drawer-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:12px;justify-content:space-between;padding:16px}.solution-graph-drawer-body{grid-gap:14px;align-content:start;display:grid;gap:14px;overflow:auto;padding:16px}.solution-graph-validator-params{grid-gap:10px;display:grid;gap:10px}.solution-graph-modal{background:#0f172a75;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:24}.solution-graph-modal-card{background:#fff;border:1px solid #d7deea;border-radius:24px;box-shadow:0 24px 56px #0f172a3d;display:grid;grid-template-rows:auto 1fr;max-height:calc(100vh - 40px);overflow:hidden;width:min(1220px,100%)}.solution-graph-modal-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:16px;justify-content:space-between;padding:18px 20px}.solution-graph-modal-title{grid-gap:6px;display:grid;gap:6px}.solution-graph-modal-title h3{margin:0}.solution-graph-modal-body{grid-gap:16px;display:grid;gap:16px;overflow:auto;padding:20px}.solution-graph-modal-grid{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.solution-graph-modal-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.solution-graph-modal-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:12px 14px}.solution-graph-modal-section summary{color:#0f172a;cursor:pointer;font-weight:700}.solution-graph-modal-section[open]{grid-gap:12px;display:grid;gap:12px}.solution-graph-modal-inline-field{max-width:320px}.secondary-button.danger{background:#ef444414;border-color:#ef444473;color:#991b1b}.secondary-button.danger:hover{background:#ef44441f}@media (max-width:1480px){.solution-graph-shell{grid-template-columns:260px minmax(0,1fr) 320px}}@media (max-width:1180px){.solution-graph-dashboard-grid,.solution-graph-shell{grid-template-columns:1fr}}@media (max-width:880px){.solution-graph-dashboard-fields,.solution-graph-dashboard-meta{grid-template-columns:1fr}.solution-graph-workspace{padding:14px}.solution-graph-canvas-wrap,.solution-graph-workspace-body{min-height:620px}.solution-graph-drawer{bottom:8px;max-width:calc(100% - 16px);right:8px;top:8px;width:calc(100% - 16px)}.solution-graph-canvas-note{text-align:left}.solution-graph-modal-grid{grid-template-columns:1fr}}
/*# sourceMappingURL=main.cbc3b5e5.css.map*/