@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=Fira+Code:wght@400;600&family=Inter:wght@300;400;500;600;700&family=Poppins:wght@500;600;700&display=swap);@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{background:#faf8f3;background:var(--bg,#faf8f3);color:#3a2820;color:var(--text,#3a2820);counter-reset:katexEqnNo mmlEqnNo;font-family:var(--font-sans,"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}code{font-family:Fira Code,Cascadia Code,Consolas,monospace;font-family:var(--font-mono,"Fira Code","Cascadia Code",Consolas,monospace)}:root{--bg:#f5ede0;--surface:#f0e4d0;--surface-muted:#e8d9c4;--surface-elevated:#fff;--text:#1c1008;--text-muted:#5c3d2e;--text-soft:#9b7060;--border:#5c3d2e33;--border-subtle:#5c3d2e1a;--primary:#c4922a;--primary-strong:#b07e20;--primary-soft:#c4922a1f;--accent:#c05a2a;--accent-strong:#a04820;--accent-soft:#c05a2a1a;--success:#4a7c59;--success-soft:#4a7c591f;--warning:#c4922a;--warning-soft:#c4922a1f;--danger:#c05a2a;--danger-soft:#c05a2a1a;--color-approve:#4a7c59;--color-approve-hover:#3a6347;--chart-1:#c4922a;--chart-2:#4a7c59;--chart-3:#c05a2a;--chart-4:#8b6455;--chart-5:#5c3d2e;--chart-6:#a07040;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Playfair Display",Georgia,"Times New Roman",serif;--font-mono:"Fira Code","Cascadia Code","Consolas",monospace;--font-serif-ui:"Lora",Georgia,serif;--font-logo:"Caveat",cursive;--text-page-title:1.5rem;--text-section-title:1.125rem;--text-body:0.9375rem;--text-caption:0.8125rem;--text-micro:0.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--shadow:0 2px 16px #2c18101a;--shadow-soft:0 1px 4px #2c18100f;--elevation-flush:none;--elevation-raised:0 1px 4px #2c181014,0 2px 8px #2c18100a;--elevation-floating:0 4px 20px #2c18101f,0 2px 6px #2c18100f;--scrollbar-track:#f0e4d0;--scrollbar-thumb:#5c3d2e40;--scrollbar-thumb-hover:#5c3d2e66;--transition-fast:150ms;--transition-normal:200ms;--transition-slow:300ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--ease-spring:cubic-bezier(0.32,0.72,0,1);--divider:color-mix(in srgb,var(--border) 60%,#0000);--divider-subtle:color-mix(in srgb,var(--border) 30%,#0000);--sidebar-width:200px;--chat-list-width:260px;--topbar-height:64px;--z-dropdown:100;--z-modal-backdrop:2000;--z-feedback-overlay:2001;--z-settings-backdrop:9998;--z-settings-panel:9999;--z-confirm-backdrop:10000;--z-confirm-dialog:10001;--z-toast:10002}[data-theme=dark]{--bg:#1a1410;--surface:#241c16;--surface-muted:#2e2520;--surface-elevated:#382e26;--text:#f5ede0;--text-muted:#c8b8a2;--text-soft:#907e6c;--border:#f5ede01f;--border-subtle:#f5ede00f;--primary:#daa040;--primary-strong:#f0c060;--primary-soft:#daa04026;--accent:#e07040;--accent-strong:#f09060;--accent-soft:#e070401f;--success:#5cb87a;--success-soft:#5cb87a1f;--warning:#f0c040;--warning-soft:#f0c0401f;--danger:#e06060;--danger-soft:#e060601f;--color-approve:#5cb87a;--color-approve-hover:#4caa6a;--chart-1:#daa040;--chart-2:#5cb87a;--chart-3:#e07040;--chart-4:#a08070;--chart-5:#c8b8a2;--chart-6:#c09050;--shadow:0 4px 20px #0006;--shadow-soft:0 2px 10px #0000004d;--elevation-raised:0 1px 3px #0003,0 1px 2px #00000026;--elevation-floating:0 4px 16px #00000040,0 2px 4px #00000026;--scrollbar-track:#241c16;--scrollbar-thumb:#f5ede026;--scrollbar-thumb-hover:#f5ede040;--divider:color-mix(in srgb,var(--border) 60%,#0000);--divider-subtle:color-mix(in srgb,var(--border) 30%,#0000)}*{box-sizing:border-box;margin:0;padding:0;scrollbar-color:#5c3d2e40 #f0e4d0;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#f0e4d0;background:var(--scrollbar-track);border-radius:8px}::-webkit-scrollbar-thumb{background:#5c3d2e40;background:var(--scrollbar-thumb);border:2px solid #f0e4d0;border:2px solid var(--scrollbar-track);border-radius:8px}::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:hover{background:#a04820;background:var(--accent-strong)}#root,body,html{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5ede0;background-color:var(--bg);color:#1c1008;color:var(--text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-size:var(--text-body);letter-spacing:-.01em;line-height:1.6;margin:0;overflow-x:hidden}:focus-visible{border-radius:6px;border-radius:var(--radius-sm);outline:2px solid #c4922a;outline:2px solid var(--primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid #c4922a;outline:2px solid var(--primary);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:#c4922a;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,#c4922a 15%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,#0000);outline:none}.App{display:flex;flex-direction:column;height:100vh;overflow:hidden;position:relative}.glass-background{background:#f5ede0;background:var(--bg);height:100%;left:0;position:fixed;top:0;width:100%;z-index:-1}.glass-panel{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;box-shadow:0 1px 4px #2c18100f;box-shadow:var(--shadow-soft)}.loading-screen{align-items:center;color:#c05a2a;color:var(--accent);display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #c05a2a1a;border-top-color:#c05a2a;border:4px solid var(--accent-soft);border-radius:50%;border-top-color:var(--accent);height:50px;width:50px}.logo-icon{border:.5px solid #c05a2a;border:.5px solid var(--accent);border-radius:8px;border-radius:var(--radius);display:block;flex-shrink:0;height:36px;padding:2px;width:36px}.profile-pic{border:2px solid #c05a2a;border:2px solid var(--accent);border-radius:50%;height:32px;object-fit:cover;transition:all .2s ease;width:32px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-backdrop{align-items:center;background:#0009;inset:0;justify-content:center;overscroll-behavior:contain;position:fixed;z-index:2000;z-index:var(--z-modal-backdrop)}.modal-backdrop,.modal-card{display:flex;overflow-y:auto;padding:20px}.modal-card{border-radius:14px;box-shadow:0 2px 16px #2c18101a;box-shadow:var(--shadow);flex-direction:column;gap:12px;max-height:85vh;width:min(720px,95vw)}.modal-card h3{color:#1c1008;color:var(--text);font-size:1.2rem;margin:0}.modal-subtitle{color:#5c3d2e;color:var(--text-muted);font-size:.85rem}.modal-body{max-height:55vh;overflow-y:auto;padding-right:6px}.modal-list{display:flex;flex-direction:column;gap:12px}.modal-row{grid-gap:10px;background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;display:grid;gap:10px;padding:12px}.modal-row.single{grid-template-columns:1fr}.modal-row-title{color:#5c3d2e;color:var(--text-muted);font-size:.85rem}.modal-row-source-files{color:#5c3d2e;color:var(--text-muted);font-size:.75rem;margin-top:2px;opacity:.7;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-input{border-radius:10px;font-size:.9rem;padding:10px 12px}.modal-input::placeholder{color:#9b7060;color:var(--text-soft)}.modal-error{color:#c05a2a;color:var(--danger);font-size:.85rem;margin-top:8px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-btn{border:1px solid #a04820;border:1px solid var(--accent-strong);border-radius:10px;cursor:pointer;font-weight:600;padding:8px 16px}.modal-btn.secondary{background:#f0e4d0;background:var(--surface)}.modal-btn.welcome-upload-option{--accent:#4a7c59;--accent-strong:#3a6347;--accent-soft:#4a7c591a;background:#c05a2a1a;background:var(--accent-soft);border:2px solid #c05a2a;border:2px solid var(--accent);color:#1c1008;color:var(--text)}.modal-btn.welcome-upload-option:hover{background:#c05a2a1a;background:var(--accent-soft);border-color:#a04820;border-color:var(--accent-strong);box-shadow:0 12px 24px #c05a2a1a;box-shadow:0 12px 24px var(--accent-soft);transform:translateY(-2px)}.modal-btn:disabled{cursor:not-allowed;opacity:.5}.modal-hint{color:#9b7060;color:var(--text-soft);font-size:.78rem}.grading-instructions{border-radius:12px;display:flex;flex-direction:column;gap:8px;margin:12px 0 16px;padding:12px}.grading-instructions-header{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.grading-instructions-header button{background:#fff;background:var(--surface-elevated);border-radius:8px;cursor:pointer;padding:4px 10px}.grading-instructions textarea{border-radius:10px;font-family:inherit;font-size:.85rem;padding:8px 10px;resize:vertical}.grading-instructions textarea::placeholder{color:#9b7060;color:var(--text-soft)}.grading-instructions textarea::-webkit-scrollbar{height:10px;width:10px}.grading-instructions textarea::-webkit-scrollbar-track{background:#f0e4d0;background:var(--scrollbar-track);border-radius:8px}.grading-instructions textarea::-webkit-scrollbar-thumb{background:#5c3d2e40;background:var(--scrollbar-thumb);border:2px solid #f0e4d0;border:2px solid var(--scrollbar-track);border-radius:8px}.grading-instructions textarea::-webkit-scrollbar-thumb:hover{background:#5c3d2e66;background:var(--scrollbar-thumb-hover)}.grading-instructions-hint{font-size:.75rem}.main-container{display:flex;flex-grow:1;padding:0}.sidebar{background:#f0e4d0;background:var(--surface);border-right:1px solid #5c3d2e33;border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:28px;overflow-y:auto;padding:32px 24px;width:300px}.upload-section{background:#0000;margin-bottom:18px;padding-bottom:6px}.upload-section h2{color:#1c1008;color:var(--text);font-size:1.25rem;letter-spacing:-.01em;margin-bottom:20px}.custom-file-upload,.upload-section h2{align-items:center;display:flex;font-weight:600;gap:10px}.custom-file-upload{background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;border-radius:10px;box-shadow:0 3px 10px color-mix(in srgb,#c05a2a 30%,#0000);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 30%,#0000);color:#fff;cursor:pointer;font-size:.925rem;justify-content:center;letter-spacing:-.02em;padding:13px 20px;text-align:center;transition:all .2s ease}.custom-file-upload:hover{box-shadow:0 5px 16px color-mix(in srgb,#c05a2a 40%,#0000);box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 40%,#0000);transform:translateY(-2px)}.custom-file-upload:active{transform:translateY(0)}input[type=file]{display:none}.file-preview{align-items:center;background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;display:flex;gap:14px;margin-top:14px;padding:14px;transition:all .2s ease}.file-preview:hover{background:#fff;background:var(--surface-elevated);border-color:#c05a2a;border-color:var(--accent)}.file-icon{font-size:1.75rem}.file-details{flex:1 1;min-width:0}.file-name{color:#1c1008;color:var(--text);font-size:.9rem;font-weight:500;letter-spacing:-.01em;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:#9b7060;color:var(--text-soft);font-size:.8rem}.grade-btn{align-items:center;background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;border-radius:10px;box-shadow:0 2px 8px color-mix(in srgb,#c05a2a 25%,#0000);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,#0000);color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:8px;justify-content:center;margin-top:16px;padding:14px 20px;transition:all .2s ease;width:100%}.grade-btn:hover:not(:disabled){box-shadow:0 4px 12px color-mix(in srgb,#c05a2a 35%,#0000);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 35%,#0000)}.grade-btn:disabled{background:#e8d9c4;background:var(--surface-muted);box-shadow:none;color:#9b7060;color:var(--text-soft);cursor:not-allowed;opacity:.5}.btn-spinner{animation:spin .8s linear infinite;border:2px solid #5c3d2e33;border-top-color:#1c1008;border:2px solid var(--border);border-radius:50%;border-top-color:var(--text);height:16px;width:16px}.btn-spinner.small{height:14px;width:14px}.chat-container{flex:1 1;gap:0;min-width:0}.chat-container,.chat-sidebar{display:flex;flex-direction:column}.chat-sidebar{flex-shrink:0;height:100%;overflow:hidden}.chat-sidebar-header{align-items:center;border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:20px 16px 16px}.chat-sidebar-title{color:#5c3d2e;color:var(--text-muted);font-size:.7rem;font-weight:600;letter-spacing:.05em;margin:0;padding:10px 8px 4px;text-transform:uppercase}.chat-sidebar-group{display:flex;flex-direction:column;gap:2px}.chat-sidebar-group:first-child .chat-sidebar-title{padding-top:4px}.chat-new-btn{align-items:center;background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;padding:7px 14px;transition:all .2s ease;white-space:nowrap}.chat-new-btn:hover{box-shadow:0 4px 12px color-mix(in srgb,#c05a2a 30%,#0000);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 30%,#0000);transform:translateY(-1px)}.chat-new-btn:active{transform:translateY(0)}.chat-sidebar-list{display:flex;flex:1 1;flex-direction:column;gap:2px;overflow-y:auto;padding:8px}.chat-sidebar-item{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;font-weight:500;gap:10px;min-height:40px;padding:10px 12px;position:relative;text-align:left;transition:all .15s ease;width:100%}.chat-sidebar-item.active{border-color:#0000;font-weight:600}.chat-sidebar-item.active:before{background:#c4922a;background:var(--primary);border-radius:0 3px 3px 0;bottom:6px;content:"";left:0;position:absolute;top:6px;width:3px}.chat-sidebar-item-icon{flex-shrink:0;opacity:.5}.chat-sidebar-item.active .chat-sidebar-item-icon{opacity:.9}.chat-sidebar-item-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sidebar-item-title-input{background:#1a1a2e;background:var(--bg-primary,#1a1a2e);border:1px solid #6c63ff;border:1px solid var(--accent-primary,#6c63ff);border-radius:4px;color:inherit;flex:1 1;font:inherit;font-size:inherit;min-width:0;outline:none;padding:2px 6px;width:100%}.chat-sidebar-grading-indicator{align-items:center;color:#c4922a;color:var(--primary);display:inline-flex;flex-shrink:0;margin-left:4px}.chat-sidebar-grading-indicator .spinning{animation:sidebar-spin 1s linear infinite}@keyframes sidebar-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.chat-sidebar-item-actions{display:flex;flex-shrink:0;gap:2px;opacity:0;transition:opacity .15s ease}.chat-sidebar-item:hover .chat-sidebar-item-actions{opacity:1}.chat-sidebar-action{align-items:center;background:#0000;border:none;border-radius:6px;color:#9b7060;color:var(--text-soft);cursor:pointer;display:inline-flex;height:28px;justify-content:center;padding:0;transition:all .15s ease;width:28px}.chat-sidebar-action:hover{background:#fff;background:var(--surface-elevated);color:#1c1008;color:var(--text)}.chat-sidebar-action.delete:hover{background:#dc26261a;color:#c05a2a;color:var(--danger)}.chat-menu-wrapper{position:relative}.chat-menu-trigger{opacity:.7}.chat-menu-trigger:hover{opacity:1}.chat-menu-dropdown{animation:menuFadeIn .15s ease-out;background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0003,0 2px 8px #0000001a;min-width:170px;padding:4px 0;position:fixed;z-index:9999}@keyframes menuFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.chat-menu-item{align-items:center;background:none;border:none;border-radius:6px;color:#1c1008;color:var(--text);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:10px;margin:0 4px;padding:9px 14px;transition:background .1s;white-space:nowrap;width:calc(100% - 8px)}.chat-menu-item:hover{background:#e8d9c4;background:var(--surface-muted)}.chat-menu-item svg{flex-shrink:0;opacity:.7}.chat-menu-item-danger{color:#c05a2a;color:var(--danger)}.chat-menu-item-danger:hover{background:#dc26261a}.error-banner{align-items:center;border-radius:8px;display:flex;font-size:.875rem;gap:10px;margin:0 20px 16px;padding:12px 16px}.empty-state{flex:1 1;justify-content:center;padding:60px 32px;text-align:center}.empty-icon{filter:grayscale(.3);font-size:3.5rem;margin-bottom:20px}.empty-state h2{color:#1c1008;color:var(--text);font-size:1.75rem;font-weight:600;letter-spacing:-.3px;margin-bottom:12px}.empty-state>p{color:#5c3d2e;color:var(--text-muted);font-size:1rem;line-height:1.65;margin-bottom:40px;max-width:520px}.feature-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));max-width:650px;width:100%}.feature-card{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;padding:20px;transition:all .2s ease}.feature-card:hover{background:#e8d9c4;background:var(--surface-muted);border-color:#5c3d2e33;border-color:var(--border)}.feature-icon{font-size:1.75rem;margin-bottom:10px}.feature-card h4{color:#1c1008;color:var(--text);font-size:1rem;font-weight:600;margin-bottom:6px}.feature-card p{color:#5c3d2e;color:var(--text-muted);font-size:.875rem;line-height:1.55}.chat-messages{border:none;box-shadow:none;min-height:0;padding:34px 38px}.messages-wrapper{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:1150px;width:100%}.message{animation:slideIn .35s ease-out;display:flex;gap:14px}@keyframes slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;border-radius:50%;box-shadow:0 1px 4px #2c18100f;box-shadow:var(--shadow-soft);display:flex;flex-shrink:0;font-size:1.35rem;height:40px;justify-content:center;transition:transform .2s ease;width:40px}.message:hover .message-avatar{transform:scale(1.05)}.message.user .message-avatar{box-shadow:0 1px 4px #2c18100f;box-shadow:var(--shadow-soft)}.message-content{flex:1 1;max-width:88%;min-width:0}.message-header{align-items:center;display:flex;gap:12px;margin-bottom:8px}.message-download-pdf{align-items:center;background:none;border:none;border-radius:6px;color:#9b7060;color:var(--text-soft);cursor:pointer;display:flex;flex-shrink:0;margin-left:auto;opacity:0;padding:4px 6px;transition:opacity .2s ease,background .15s ease,color .15s ease}.message:hover .message-download-pdf{opacity:1}.message-download-pdf:hover{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.message-download-pdf:active{background:#5c3d2e33;background:var(--border)}.message-author{color:#5c3d2e;color:var(--text-muted);font-size:.9rem;font-weight:600;letter-spacing:-.01em}.badge{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;font-weight:500}.badge,.badge-profile{font-size:.725rem;letter-spacing:.01em;padding:4px 10px}.badge-profile{align-items:center;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:12px;color:#065f46;display:inline-flex;font-weight:600;gap:4px;margin-left:6px}.badge-profile-dot{background:#10b981;border-radius:50%;display:inline-block;flex-shrink:0;height:6px;width:6px}.message-content .markdown-content{border-radius:14px;font-size:.95rem;line-height:1.75;padding:18px 20px;transition:all .2s ease}.message:hover .markdown-content{background:#f0e4d0;background:var(--surface);border-color:#5c3d2e33;border-color:var(--border)}.message.user .markdown-content{color:#1c1008;color:var(--text)}.message.user:hover .markdown-content{background:#e8d9c4;background:var(--surface-muted);border-color:#5c3d2e33;border-color:var(--border)}.typing-indicator{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;display:flex;gap:6px;padding:14px 18px;width:-webkit-fit-content;width:fit-content}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#9b7060;background:var(--text-soft);border-radius:50%;height:7px;width:7px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-8px)}}.grading-carousel{display:flex;flex-direction:column;gap:0;margin:0 auto;max-width:1150px;width:100%}.grading-carousel-header{align-items:center;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:8px;padding:12px 0 20px}.grading-carousel-arrow{align-items:center;background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;color:#1c1008;color:var(--text);cursor:pointer;display:flex;height:44px;justify-content:center;transition:background .2s,border-color .2s,transform .15s;width:44px}.grading-carousel-arrow:hover:not(:disabled){background:#f0e4d0;background:var(--surface);border-color:#c05a2a;border-color:var(--accent);color:#c05a2a;color:var(--accent);transform:scale(1.05)}.grading-carousel-arrow:disabled{cursor:not-allowed;opacity:.4}.grading-carousel-label{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.grading-carousel-counter{color:#1c1008;color:var(--text);font-size:1rem;font-weight:600;letter-spacing:-.02em}.grading-carousel-filename{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grading-carousel-file-count{font-size:.75rem;opacity:.7}.grading-carousel-body{flex:1 1;min-height:0}.grading-carousel-body .message{margin-bottom:0}.grading-carousel-followups{border-top:1px solid #5c3d2e33;border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.assignment-insights{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:720px;padding:24px}.assignment-insights-title-row{align-items:center;display:flex;justify-content:space-between}.assignment-insights-title{color:#1c1008;color:var(--text);font-family:Playfair Display,Georgia,Times New Roman,serif;font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin:0}.assignment-insights-download{align-items:center;background:none;border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#9b7060;color:var(--text-soft);cursor:pointer;display:flex;padding:6px 8px;transition:background .15s ease,color .15s ease}.assignment-insights-download:hover{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.assignment-insights-download:active{background:#5c3d2e33;background:var(--border)}.assignment-insights-subtitle{color:#5c3d2e;color:var(--text-muted);font-size:.95rem;margin:-8px 0 0}.assignment-insights-stats{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}.assignment-insights-stat{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);display:flex;flex-direction:column;gap:6px;padding:18px 20px}.assignment-insights-stat-label{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.assignment-insights-stat-value{color:#1c1008;color:var(--text);font-size:1.6rem;font-weight:700}.assignment-insights-stat-avg .assignment-insights-stat-value{color:#c05a2a;color:var(--accent)}.assignment-insights-stat-high .assignment-insights-stat-value{color:#4a7c59;color:var(--success)}.assignment-insights-stat-low .assignment-insights-stat-value{color:#c4922a;color:var(--warning)}.assignment-insights-chart-wrap{display:flex;flex-direction:column;gap:12px}.assignment-insights-chart-title{color:#1c1008;color:var(--text);font-size:1rem;font-weight:600;margin:0}.assignment-insights-chart{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);overflow:auto}.assignment-insights-table{border-collapse:collapse;font-size:.95rem;width:100%}.assignment-insights-table td,.assignment-insights-table th{border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);padding:12px 16px;text-align:left}.assignment-insights-table th{background:#e8d9c4;background:var(--surface-muted);color:#5c3d2e;color:var(--text-muted);font-weight:600}.assignment-insights-table tbody tr:last-child td{border-bottom:none}.assignment-insights-table tbody tr:hover{background:#e8d9c4;background:var(--surface-muted)}.assignment-insights-grade{color:#1c1008;color:var(--text);font-weight:600}.assignment-insights-pct{color:#5c3d2e;color:var(--text-muted);font-size:.9rem;margin-left:4px}.assignment-insights-bullets{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border-left:4px solid #c4922a;border:1px solid var(--border);border-left:4px solid var(--warning);border-radius:8px;border-radius:var(--radius);padding:20px 24px}.assignment-insights-bullets-title{align-items:center;color:#1c1008;color:var(--text);display:flex;font-size:1rem;font-weight:600;gap:10px;margin:0 0 16px}.assignment-insights-bullets-icon{font-size:1.2rem;line-height:1}.assignment-insights-bullets-list{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.assignment-insights-bullets-item{align-items:flex-start;background:#e8d9c4;background:var(--surface-muted);border-left:4px solid #5c3d2e33;border-left:4px solid var(--border);border-radius:8px;color:#5c3d2e;color:var(--text-muted);display:flex;font-size:.9rem;gap:12px;line-height:1.45;padding:14px 16px}.assignment-insights-bullets-item:hover{background:#fff;background:var(--surface-elevated)}.assignment-insights-bullets-item-high{background:#c05a2a1a;background:var(--danger-soft);border-left-color:#c05a2a;border-left-color:var(--danger)}.assignment-insights-bullets-item-high .assignment-insights-bullets-marker{background:#c05a2a;background:var(--danger)}.assignment-insights-bullets-item-medium{background:#c4922a1f;background:var(--warning-soft);border-left-color:#c4922a;border-left-color:var(--warning)}.assignment-insights-bullets-item-medium .assignment-insights-bullets-marker{background:#c4922a;background:var(--warning)}.assignment-insights-bullets-item-low{background:#e8d9c4;background:var(--surface-muted);border-left-color:#9b7060;border-left-color:var(--text-soft)}.assignment-insights-bullets-item-low .assignment-insights-bullets-marker{background:#9b7060;background:var(--text-soft)}.assignment-insights-bullets-marker{background:#5c3d2e33;background:var(--border);border-radius:50%;flex-shrink:0;height:6px;margin-top:8px;width:6px}.assignment-insights-bullets-content{flex:1 1;min-width:0}.assignment-insights-bullets-headline{color:#1c1008;color:var(--text);display:block;font-size:.95rem;margin-bottom:4px}.assignment-insights-bullets-headline strong{color:#1c1008;color:var(--text);font-weight:600}.assignment-insights-bullets-explanation{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;line-height:1.4;margin:0;padding-left:0}.assignment-insights-standards{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);padding:16px 20px}.assignment-insights-standards-title{color:#1c1008;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 8px}.assignment-insights-standards p{color:#5c3d2e;color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0}.assignment-insights-cta{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;flex-wrap:wrap;font-size:.9rem;gap:8px}.assignment-insights-link{background:none;border:none;color:#c05a2a;color:var(--accent);cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:underline}.assignment-insights-link:hover{color:#a04820;color:var(--accent-strong)}.smart-compare{background:#e8d9c4;background:var(--surface-muted);display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.smart-compare-toolbar{background:#f0e4d0;background:var(--surface);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:16px 24px}.smart-compare-toolbar-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.smart-compare-source-label{color:#5c3d2e;color:var(--text-muted);font-size:.9rem;font-weight:500}.smart-compare-refresh-btn{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#1c1008;color:var(--text);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 14px;transition:background .2s,border-color .2s}.smart-compare-refresh-btn:hover{background:#e8d9c4;background:var(--surface-muted);border-color:#c05a2a;border-color:var(--accent)}.smart-compare-grade-bar{background:#f0e4d0;background:var(--surface);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);flex-shrink:0;padding:16px 24px}.smart-compare-grade-bar-inner{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.smart-compare-grade-label{color:#1c1008;color:var(--text);font-size:.95rem;font-weight:600}.smart-compare-grade-input-wrap{align-items:center;display:inline-flex;gap:8px}.smart-compare-grade-input-label{color:#5c3d2e;color:var(--text-muted);font-size:.875rem;font-weight:500}.smart-compare-grade-input{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#1c1008;color:var(--text);font-size:.95rem;font-weight:500;padding:8px 12px;width:72px}.smart-compare-grade-input:focus{border-color:#c05a2a;border-color:var(--accent);outline:none}.smart-compare-approve-btn{background:#4a7c59;background:var(--color-approve);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;margin-left:auto;padding:8px 20px;transition:background .2s}.smart-compare-approve-btn:hover:not(:disabled){background:#3a6347;background:var(--color-approve-hover)}.smart-compare-approve-btn:disabled{cursor:not-allowed;opacity:.8}.smart-compare-grade-error{color:#c05a2a;color:var(--danger,#dc2626);font-size:.875rem;margin:10px 20px 0}.smart-compare-empty-state{align-items:center;background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:12px;box-shadow:0 2px 8px #0000001a;color:#5c3d2e;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;margin:80px auto;max-width:500px;padding:48px 32px;text-align:center}.smart-compare-empty-state h3{color:#1c1008;color:var(--text);font-size:1.25rem;font-weight:600;margin:0}.smart-compare-empty-state p{font-size:.95rem;line-height:1.6;margin:0;max-width:420px}.smart-compare-empty-icon{font-size:3rem;opacity:.7}.smart-compare-go-grade-btn{background:#c05a2a;background:var(--accent,#6366f1);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:.95rem;font-weight:500;margin-top:8px;padding:10px 24px;text-decoration:none;transition:opacity .15s}.smart-compare-go-grade-btn:hover{opacity:.85}.smart-compare-file-input{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.smart-compare-upload-btn{align-items:center;background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:10px;color:#1c1008;color:var(--text);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;justify-content:center;padding:10px 16px;transition:background .2s,border-color .2s}.smart-compare-upload-btn:hover{background:#e8d9c4;background:var(--surface-muted);border-color:#c05a2a;border-color:var(--accent)}.smart-compare-upload-btn.secondary .smart-compare-upload-label{color:#5c3d2e;color:var(--text-muted)}.smart-compare-upload-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.smart-compare-run-btn{align-items:center;background:#c05a2a;background:var(--accent);border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 18px;transition:background .2s}.smart-compare-run-btn:hover:not(:disabled){background:#a04820;background:var(--accent-strong)}.smart-compare-run-btn:disabled{cursor:not-allowed;opacity:.6}.smart-compare-instructions{display:flex;flex-direction:column;gap:6px}.smart-compare-instructions-label{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;font-weight:500}.smart-compare-instructions-input{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#1c1008;color:var(--text);font-size:.9rem;max-width:480px;min-height:52px;padding:10px 12px;resize:vertical;width:100%}.smart-compare-instructions-input::placeholder{color:#9b7060;color:var(--text-soft)}.smart-compare-instructions-input:focus{border-color:#c05a2a;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,#c05a2a 15%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.smart-compare-error{background:#c05a2a1a;background:var(--danger-soft);border-bottom:1px solid color-mix(in srgb,#c05a2a 30%,#0000);border-bottom:1px solid color-mix(in srgb,var(--danger) 30%,#0000);color:#c05a2a;color:var(--danger);flex-shrink:0;font-size:.9rem;padding:12px 24px}.smart-compare-panes{grid-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:1fr 6px 1fr;min-height:0}.smart-compare-pane{background:#f0e4d0;background:var(--surface);display:flex;flex-direction:column;min-height:0;min-width:0}.smart-compare-pane-left{border-right:none}.smart-compare-pane-right{border-left:none}.smart-compare-divider{background:#5c3d2e33;background:var(--border);cursor:col-resize;position:relative;transition:background .15s;width:6px;z-index:2}.smart-compare-divider:active,.smart-compare-divider:hover{background:#c05a2a;background:var(--accent)}.smart-compare-pane-header{align-items:center;background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);color:#1c1008;color:var(--text);display:flex;flex-shrink:0;flex-wrap:wrap;font-size:.95rem;font-weight:600;gap:10px;padding:12px 20px}.smart-compare-pane-header-with-grade{gap:12px;justify-content:space-between}.smart-compare-pane-header-left{align-items:center;display:flex;gap:10px}.smart-compare-grade-on-right{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.smart-compare-grade-on-right .smart-compare-grade-label{color:#c05a2a;color:var(--accent);font-size:1rem;font-weight:600;min-width:2.5em}.smart-compare-grade-on-right .smart-compare-grade-input-wrap{align-items:center;display:flex;gap:6px}.smart-compare-grade-on-right .smart-compare-grade-input-label{color:#5c3d2e;color:var(--text-muted);font-size:.8rem;font-weight:500}.smart-compare-grade-on-right .smart-compare-grade-input{font-size:.9rem;padding:6px 8px;width:4em}.smart-compare-grade-on-right .smart-compare-approve-btn{font-size:.875rem;padding:6px 14px}.smart-compare-left-view-toggle{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;display:flex;overflow:hidden}.smart-compare-left-view-btn{background:#0000;border:none;color:#5c3d2e;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 12px;transition:all .15s ease}.smart-compare-left-view-btn:hover:not(.active):not(:disabled){background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.smart-compare-left-view-btn.active{background:#c4922a;background:var(--primary);color:#fff;font-weight:600}.smart-compare-left-view-btn:disabled{cursor:not-allowed;opacity:.4}.smart-compare-pane-filename{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;font-weight:400}.smart-compare-saved-badge{background:#4a7c591f;background:var(--success-soft);border-radius:6px;color:#4a7c59;color:var(--success);font-size:.75rem;font-weight:600;margin-left:0;padding:4px 10px}.smart-compare-pane-header:not(.smart-compare-pane-header-with-grade) .smart-compare-saved-badge{margin-left:auto}.smart-compare-view-toggle-wrap{align-items:center;background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;flex-wrap:wrap;gap:10px;padding:10px 20px}.smart-compare-view-toggle-label{color:#5c3d2e;color:var(--text-muted);font-size:.875rem;font-weight:500}.smart-compare-view-toggle{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.smart-compare-view-toggle-btn{background:#0000;border:none;color:#5c3d2e;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:500;padding:6px 14px;transition:background .2s,color .2s}.smart-compare-view-toggle-btn:hover{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.smart-compare-view-toggle-btn.active{background:#c05a2a;background:var(--accent);color:#fff}.smart-compare-action-btn,.smart-compare-actions-group{align-items:center;display:inline-flex;gap:6px}.smart-compare-action-btn{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;color:#5c3d2e;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 12px;transition:all .15s ease}.smart-compare-action-btn:hover:not(:disabled){background:#c05a2a;background:var(--accent);border-color:#c05a2a;border-color:var(--accent);color:#fff}.smart-compare-action-btn:disabled{cursor:not-allowed;opacity:.5}.profile-adaptation-banner{align-items:flex-start;background:#fffbe6;border:1px solid #f0c040;border-radius:8px;display:flex;gap:16px;margin:12px 0;padding:16px}.profile-adaptation-banner-content{flex:1 1;min-width:0}.profile-adaptation-banner-content strong{display:block;font-size:.95rem;margin-bottom:4px}.profile-adaptation-banner-content p{color:#555;color:var(--text-secondary,#555);font-size:.875rem;margin:0 0 8px}.profile-adaptation-table{border-collapse:collapse;font-size:.85rem;margin-top:4px;width:100%}.profile-adaptation-table td,.profile-adaptation-table th{border:1px solid #e0cc80;padding:4px 8px;text-align:left}.profile-adaptation-table th{background:#fff8d6;font-weight:600}.profile-adaptation-banner-actions{display:flex;flex-direction:column;flex-shrink:0;gap:8px}.profile-adaptation-notes{margin-top:10px}.profile-adaptation-notes-label{color:#1c1008;color:var(--text,#333);display:block;font-size:.82rem;font-weight:600;margin-bottom:4px}.profile-adaptation-notes-optional{color:#888;color:var(--text-secondary,#888);font-weight:400}.profile-adaptation-notes-input{background:#f0e4d0;background:var(--surface,#fff);border:1px solid #e0cc80;border-radius:6px;box-sizing:border-box;color:#1c1008;color:var(--text,#333);font-family:inherit;font-size:.84rem;max-height:120px;min-height:48px;padding:8px 10px;resize:vertical;width:100%}.profile-adaptation-notes-input::placeholder{color:#5c3d2e;color:var(--text-muted,#aaa);font-style:italic}.profile-adaptation-notes-input:focus{border-color:#c4922a;border-color:var(--primary,#d4a843);box-shadow:0 0 0 2px color-mix(in srgb,#c4922a 20%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary,#d4a843) 20%,#0000);outline:none}.profile-adaptation-error{color:#c0392b;color:var(--color-error,#c0392b);font-size:.82rem;margin:6px 0 0}.smart-compare-download-btn{align-items:center;background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;color:#5c3d2e;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:6px;margin-left:auto;padding:6px 12px;transition:all .15s ease}.smart-compare-download-btn:hover:not(:disabled){background:#c05a2a;background:var(--accent);border-color:#c05a2a;border-color:var(--accent);color:#fff}.smart-compare-download-btn:disabled{cursor:not-allowed;opacity:.5}.smart-compare-editable{border:2px solid #0000;border-radius:8px;cursor:text;margin:-4px;min-height:100px;outline:none;padding:4px;transition:border-color .2s ease,box-shadow .2s ease}.smart-compare-editable:hover{border-color:#5c3d2e33;border-color:var(--border)}.smart-compare-editable:focus{border-color:#c05a2a;border-color:var(--accent);box-shadow:0 0 0 3px #c05a2a1a;box-shadow:0 0 0 3px var(--accent-soft)}.smart-compare-result-body{position:relative}.smart-compare-result-body:after{background:#e8d9c4;background:var(--surface-muted);border-radius:4px;color:#9b7060;color:var(--text-soft);content:"Click to edit";font-size:.7rem;opacity:0;padding:2px 8px;pointer-events:none;position:absolute;right:12px;top:8px;transition:opacity .2s ease}.smart-compare-result-body:hover:after{opacity:1}.smart-compare-result-body:focus-within:after{opacity:0}.smart-compare-edit-container{display:flex;flex-direction:column;gap:16px;height:100%}.smart-compare-edit-textarea{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#1c1008;color:var(--text);flex:1 1;font-family:Consolas,Monaco,Courier New,monospace;font-size:.875rem;line-height:1.6;min-height:200px;outline:none;padding:16px;resize:none;transition:border-color .15s ease}.smart-compare-edit-textarea:focus{border-color:#c05a2a;border-color:var(--accent)}.smart-compare-edit-preview{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;flex:1 1;min-height:150px;overflow:auto;padding:16px}.smart-compare-edit-preview-label{color:#5c3d2e;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:12px;text-transform:uppercase}.smart-compare-feedback-loading{color:#5c3d2e;color:var(--text-muted);font-size:.875rem;margin:0 0 12px}.smart-compare-carousel-header{align-items:center;background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:12px 20px}.smart-compare-result-body{padding-top:16px}.smart-compare-pane-body{flex:1 1;min-height:0;min-width:0;overflow:auto;padding:20px;scroll-behavior:smooth;scrollbar-color:#5c3d2e40 #f0e4d0;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.smart-compare-pane-body::-webkit-scrollbar{height:10px;width:10px}.smart-compare-pane-body::-webkit-scrollbar-track{background:#f0e4d0;background:var(--scrollbar-track);border-radius:8px}.smart-compare-pane-body::-webkit-scrollbar-thumb{background:#5c3d2e40;background:var(--scrollbar-thumb);border:2px solid #f0e4d0;border:2px solid var(--scrollbar-track);border-radius:8px}.smart-compare-pane-body::-webkit-scrollbar-thumb:active,.smart-compare-pane-body::-webkit-scrollbar-thumb:hover{background:#5c3d2e66;background:var(--scrollbar-thumb-hover)}.smart-compare-pane-body:has(.pdf-viewer-container){padding:0}.smart-compare-image-preview{box-sizing:border-box;display:block;height:auto;margin:0 auto;max-width:100%;padding:12px}.smart-compare-docx-viewer{color:#1c1008;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.95rem;line-height:1.7;overflow-y:auto;padding:24px;word-break:break-word}.smart-compare-docx-viewer h1,.smart-compare-docx-viewer h2,.smart-compare-docx-viewer h3{margin-bottom:.5em;margin-top:1em}.smart-compare-docx-viewer p{margin:.5em 0}.smart-compare-docx-viewer table{border-collapse:collapse;margin:1em 0;width:100%}.smart-compare-docx-viewer td,.smart-compare-docx-viewer th{border:1px solid #5c3d2e33;border:1px solid var(--border);padding:8px 12px;text-align:left}.smart-compare-docx-viewer img{height:auto;max-width:100%}.smart-compare-pptx-viewer{display:flex;flex-direction:column;gap:20px;overflow-y:auto;padding:16px}.pptx-slide{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 4px #2c181014,0 2px 8px #2c18100a;box-shadow:var(--elevation-raised);overflow:hidden}.pptx-slide-number{background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e1a;border-bottom:1px solid var(--border-subtle);color:#5c3d2e;color:var(--text-muted);font-size:.8125rem;font-size:var(--text-caption);font-weight:600;padding:6px 14px}.pptx-slide-content{display:flex;flex-direction:column;gap:12px;min-height:120px;padding:20px}.pptx-slide-image{border-radius:6px;border-radius:var(--radius-sm);height:auto;max-width:100%}.pptx-slide-text p{color:#1c1008;color:var(--text);font-size:.9375rem;line-height:1.6;margin:0 0 4px}.smart-compare-html-viewer{background:#fff;border:none;height:100%;min-height:500px;width:100%}.smart-compare-pane-body:has(.smart-compare-html-viewer),.smart-compare-pane-body:has(.smart-compare-pptx-viewer){padding:0}.smart-compare-empty{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;flex-direction:column;font-size:.95rem;justify-content:center;min-height:200px;padding:24px;text-align:center}.smart-compare-empty p{margin:0 0 8px}.smart-compare-muted{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;opacity:.8}.smart-compare-preview-media{align-items:flex-start;display:flex;justify-content:center;min-height:200px;width:100%}.smart-compare-preview-media img{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;height:auto;max-width:100%}.smart-compare-preview-media iframe{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;min-height:480px;width:100%}.smart-compare-extracted-fallback{display:flex;flex-direction:column;height:100%}.smart-compare-extracted-label{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;color:#5c3d2e;color:var(--text-muted);font-size:.8125rem;font-size:var(--text-caption);font-weight:600;padding:8px 12px}.smart-compare-extracted-fallback .smart-compare-preview-text{border-radius:0 0 8px 8px;flex:1 1}.smart-compare-preview-text{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;color:#1c1008;color:var(--text);font-family:inherit;font-size:.9rem;line-height:1.6;margin:0;padding:16px;white-space:pre-wrap;word-break:break-word}.smart-compare-loading{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:200px}.smart-compare-result{color:#1c1008;color:var(--text);font-size:.95rem;line-height:1.7}.smart-compare-result.markdown-content{background:#0000;border:none;padding:0;scrollbar-color:#5c3d2e40 #f0e4d0;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.smart-compare-result.markdown-content::-webkit-scrollbar{height:10px;width:10px}.smart-compare-result.markdown-content::-webkit-scrollbar-track{background:#f0e4d0;background:var(--scrollbar-track);border-radius:8px}.smart-compare-result.markdown-content::-webkit-scrollbar-thumb{background:#5c3d2e40;background:var(--scrollbar-thumb);border:2px solid #f0e4d0;border:2px solid var(--scrollbar-track);border-radius:8px}.smart-compare-result.markdown-content::-webkit-scrollbar-thumb:active,.smart-compare-result.markdown-content::-webkit-scrollbar-thumb:hover{background:#5c3d2e66;background:var(--scrollbar-thumb-hover)}.smart-compare-pdf-export{background:#fff;background:var(--surface-elevated);box-sizing:border-box;left:-10000px;opacity:1;overflow:visible;padding:24px;pointer-events:none;position:fixed;top:0;visibility:visible;width:760px;z-index:-1}.smart-compare-pdf-export,.smart-compare-pdf-export *{color:#1c1008;color:var(--text)}.smart-compare-pdf-export h2{margin:0 0 12px}.smart-compare-pdf-export p{font-size:.95rem;margin:0 0 16px}.smart-compare-pdf-export ol,.smart-compare-pdf-export ul{margin:.6em 0 .6em 1.2em}.smart-compare-pdf-export table{border-collapse:collapse;margin:10px 0;width:100%}.smart-compare-pdf-export td,.smart-compare-pdf-export th{border:1px solid #5c3d2e33;border:1px solid var(--border);padding:8px;text-align:left}.smart-compare-pdf-export th{background:#e8d9c4;background:var(--surface-muted)}.chat-pdf-export{--bg:#faf8f3;--surface:#fff;--surface-muted:#f5f0e8;--surface-elevated:#fff;--text:#3a2820;--text-muted:#7a6852;--text-soft:#a09484;--border:#e8ddd0;--border-subtle:#f0e8dc;--primary:#c08c30;--accent:#d96840;--success:#2e8b4a;--warning:#d4940e;--danger:#c53030;--scrollbar-track:#f5f0e8;--scrollbar-thumb:#d0c0a8;background:#fff;box-sizing:border-box;color:#1c1008;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;left:-10000px;line-height:1.6;opacity:1;overflow:visible;padding:32px 40px;pointer-events:none;position:fixed;top:0;visibility:visible;width:760px;z-index:-1}.chat-pdf-export h1,.chat-pdf-export h2,.chat-pdf-export h3,.chat-pdf-export h4{color:#1c1008;color:var(--text);line-height:1.3;margin:1.2em 0 .4em}.chat-pdf-export h1{font-size:1.5rem}.chat-pdf-export h2{font-size:1.25rem}.chat-pdf-export h3{font-size:1.1rem}.chat-pdf-export h4{font-size:1rem}.chat-pdf-export p{color:#1c1008;color:var(--text);margin:0 0 .8em}.chat-pdf-export ol,.chat-pdf-export ul{color:#1c1008;color:var(--text);margin:.5em 0 .8em 1.4em}.chat-pdf-export li{margin-bottom:.3em}.chat-pdf-export strong{color:#1c1008;color:var(--text);font-weight:600}.chat-pdf-export code{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:4px;color:#1c1008;color:var(--text);font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:.9em;padding:1px 5px}.chat-pdf-export code,.chat-pdf-export pre{background:#e8d9c4;background:var(--surface-muted)}.chat-pdf-export pre{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;margin:.8em 0;overflow-x:auto;padding:12px 16px}.chat-pdf-export pre code{background:none;border:none;padding:0}.chat-pdf-export table{border-collapse:collapse;margin:.8em 0;width:100%}.chat-pdf-export td,.chat-pdf-export th{border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text);padding:8px 10px;text-align:left}.chat-pdf-export th{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text);font-weight:600}.chat-pdf-export tr:nth-child(2n) td{background:#f5ede0;background:var(--bg)}.chat-pdf-export blockquote{border-left:3px solid #c4922a;border-left:3px solid var(--primary);color:#5c3d2e;color:var(--text-muted);margin:.8em 0;padding:.4em 0 .4em 16px}.chat-pdf-export hr{border:none;border-top:1px solid #5c3d2e33;border-top:1px solid var(--border);margin:1em 0}.pdf-viewer-container{display:flex;flex-direction:column;height:100%;min-height:400px;min-width:0;width:100%}.pdf-zoom-controls{background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);gap:8px;padding:8px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:20}.pdf-zoom-btn,.pdf-zoom-controls{align-items:center;display:flex;justify-content:center}.pdf-zoom-btn{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;color:#1c1008;color:var(--text);cursor:pointer;font-size:1.1rem;font-weight:600;height:28px;transition:all .15s ease;width:28px}.pdf-zoom-btn:hover:not(:disabled){background:#c4922a;background:var(--primary);border-color:#c4922a;border-color:var(--primary);color:#fff}.pdf-zoom-btn:disabled{cursor:not-allowed;opacity:.5}.pdf-zoom-select{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;color:#1c1008;color:var(--text);cursor:pointer;font-size:.85rem;padding:4px 8px}.pdf-document{background:#e8d9c4;background:var(--surface-muted);display:block;flex:1 1;min-width:0;overflow:auto;padding:16px}.pdf-page-container{background:#fff;box-shadow:0 2px 8px #00000026;margin:0 auto 16px;position:relative;width:-webkit-fit-content;width:fit-content}.pdf-page,.pdf-page canvas{display:block}.pdf-page-info{background:#e8d9c4;background:var(--surface-muted);border-top:1px solid #5c3d2e33;border-top:1px solid var(--border);color:#5c3d2e;color:var(--text-muted);font-size:.85rem;padding:8px 12px;text-align:center}.pdf-loading{background:#f0e4d0;background:var(--surface);min-height:200px}.pdf-loading,.pdf-viewer-empty,.pdf-viewer-error{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;justify-content:center;padding:40px}.pdf-viewer-empty,.pdf-viewer-error{flex-direction:column;text-align:center}.pdf-viewer-error{color:#c05a2a;color:var(--danger)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);color:#1c1008;color:var(--text);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:.8em;margin-top:1.6em;padding-bottom:.4em}.markdown-content h1{font-size:1.65em}.markdown-content h2{font-size:1.4em}.markdown-content h3{font-size:1.2em}.markdown-content h4{font-size:1.05em}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content p{line-height:1.7;margin-bottom:1em}.markdown-content ol,.markdown-content ul{margin-bottom:1em;margin-left:20px;padding-left:8px}.markdown-content li{color:#1c1008;color:var(--text);margin-bottom:.5em}.markdown-content strong{color:#1c1008;color:var(--text);font-weight:600}.markdown-content em{color:#1c1008;color:var(--text);font-style:italic}.markdown-content code{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:5px;color:#4a7c59;color:var(--success);font-family:Fira Code,monospace;font-size:.9em;padding:.2em .5em}.markdown-content code,.markdown-content pre{background:#e8d9c4;background:var(--surface-muted)}.markdown-content pre{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:10px;margin:1.5em 0;overflow-x:auto;padding:16px;scrollbar-color:#5c3d2e40 #f0e4d0;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.markdown-content pre::-webkit-scrollbar{height:10px;width:10px}.markdown-content pre::-webkit-scrollbar-track{background:#f0e4d0;background:var(--scrollbar-track);border-radius:8px}.markdown-content pre::-webkit-scrollbar-thumb{background:#5c3d2e40;background:var(--scrollbar-thumb);border:2px solid #f0e4d0;border:2px solid var(--scrollbar-track);border-radius:8px}.markdown-content pre::-webkit-scrollbar-thumb:active,.markdown-content pre::-webkit-scrollbar-thumb:hover{background:#5c3d2e66;background:var(--scrollbar-thumb-hover)}.markdown-content pre code{background:#0000;border:none;color:#1c1008;color:var(--text);padding:0}.markdown-content table{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-collapse:collapse;border-radius:12px;margin:1.5em 0;overflow:hidden;width:100%}.markdown-content td,.markdown-content th{border:1px solid #5c3d2e33;border:1px solid var(--border);line-height:1.5;padding:12px 16px;text-align:left}.markdown-content th{background:#e8d9c4;background:var(--surface-muted);font-size:.95em;font-weight:600;letter-spacing:-.01em}.markdown-content td,.markdown-content th{color:#1c1008;color:var(--text)}.markdown-content tr:nth-child(2n){background:#f0e4d0;background:var(--surface)}.markdown-content tr:hover{background:#e8d9c4;background:var(--surface-muted)}.chat-action-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 auto;max-width:920px;padding:8px 24px}.chat-action-chip{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:16px;color:#9b7060;color:var(--text-soft);cursor:pointer;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.82rem;padding:6px 14px;transition:all .15s ease;white-space:nowrap}.chat-action-chip:hover{background:color-mix(in srgb,#c05a2a 8%,#fff);background:color-mix(in srgb,var(--accent) 8%,var(--surface-elevated));border-color:#c05a2a;border-color:var(--accent);color:#c05a2a;color:var(--accent)}.chat-action-chip:active{transform:scale(.97)}.chat-input-container{padding:16px 24px}.input-wrapper{align-items:center;display:flex;gap:12px;margin:0 auto;max-width:920px}.chat-input{border-radius:12px;flex:1 1;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.925rem;line-height:1.5;outline:none;padding:14px 18px;transition:all .2s ease}.chat-input:focus{background:#fff;background:var(--surface-elevated);border-color:#c05a2a;border-color:var(--accent);box-shadow:0 0 0 3px #c05a2a1a;box-shadow:0 0 0 3px var(--accent-soft)}.chat-input:disabled{cursor:not-allowed;opacity:.4}.send-btn{align-items:center;background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;border-radius:10px;box-shadow:0 2px 8px color-mix(in srgb,#c05a2a 25%,#0000);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 25%,#0000);cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;transition:all .2s ease;width:44px}.send-btn:hover:not(:disabled){box-shadow:0 5px 16px color-mix(in srgb,#c05a2a 40%,#0000);box-shadow:0 5px 16px color-mix(in srgb,var(--accent) 40%,#0000);transform:translateY(-2px)}.send-btn:active:not(:disabled){transform:translateY(0)}.send-btn:disabled{background:#e8d9c4;background:var(--surface-muted);box-shadow:none;cursor:not-allowed;opacity:.4}.send-btn.stop-btn{background:linear-gradient(135deg,#e74c3c,#c0392b);box-shadow:0 2px 8px #e74c3c40;color:#fff}.send-btn.stop-btn:hover{background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 5px 16px #e74c3c66}@media (max-width:1024px){.main-container{flex-direction:column;height:auto;min-height:calc(100vh - 64px)}.sidebar{border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);border-right:none;gap:28px;max-width:none;padding:24px 20px;width:100%}.app-subsidebar{display:none}.chat-container{min-height:500px}.feature-grid{gap:14px;grid-template-columns:1fr}.message-content{max-width:92%}}@media (max-width:768px){.header-content{padding:1rem 1.5rem}.header h1{font-size:1.25rem}.logo-section{gap:10px;padding:6px 12px}.logo-icon{font-size:1.5rem;height:32px;width:32px}.user-email{display:none}.chat-messages,.sidebar{padding:16px}.empty-state{padding:24px 16px}.empty-state h2{font-size:1.5rem}.empty-icon{font-size:3rem}.message-content{max-width:95%}.input-wrapper{gap:8px}.chat-input{font-size:.875rem;padding:10px 14px}.send-btn{height:40px;width:40px}}.app-shell{background:#f5ede0;background:var(--bg);color:#1c1008;color:var(--text);display:flex;flex-direction:column;height:100vh}.app-body{display:flex;flex:1 1;min-height:0;overflow:hidden}.app-sidebar{background:#e8d9c4;border-right:1px solid #5c3d2e26;display:flex;flex-direction:column;flex-grow:0;flex-shrink:0;gap:8px;gap:var(--space-2);overflow-x:hidden;overflow-y:auto;padding:20px 16px;padding:var(--space-5) var(--space-4);transition:width .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1);transition:width var(--transition-slow) var(--ease-out),padding var(--transition-slow) var(--ease-out);width:240px;z-index:20}.app-sidebar::-webkit-scrollbar-track{background:#e8d9c4}.app-sidebar::-webkit-scrollbar-thumb{background:#5c3d2e40;border-color:#e8d9c4}.app-sidebar::-webkit-scrollbar-thumb:hover{background:#5c3d2e66}[data-theme=dark] .app-sidebar{background:#241c16}[data-theme=dark] .app-sidebar::-webkit-scrollbar-track{background:#241c16}[data-theme=dark] .app-sidebar::-webkit-scrollbar-thumb{background:#f5ede026;border-color:#241c16}[data-theme=dark] .sidebar-nav-btn{color:#f5ede0b3}[data-theme=dark] .sidebar-nav-btn:hover{background:#f5ede014;color:#f5ede0}[data-theme=dark] .sidebar-nav-btn.active{background:#f5ede01f;color:#f5ede0}.sidebar-brand{align-items:center;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:none;gap:12px;gap:var(--space-3);margin-bottom:16px;margin-bottom:var(--space-4);padding:12px;padding:var(--space-3) var(--space-3);transition:background .15s cubic-bezier(.16,1,.3,1),gap .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1);transition:background var(--transition-fast) var(--ease-out),gap var(--transition-slow) var(--ease-out),padding var(--transition-slow) var(--ease-out),margin var(--transition-slow) var(--ease-out)}.sidebar-brand:hover{background:#ffffff0f}.sidebar-brand-icon{border-radius:8px;border-radius:var(--radius);display:block;flex-shrink:0;height:32px;width:32px}.sidebar-brand-text{color:#faf6ef;font-style:italic;font-weight:700;letter-spacing:-.02em;max-width:200px;overflow:hidden;transition:opacity .3s cubic-bezier(.16,1,.3,1),max-width .3s cubic-bezier(.16,1,.3,1);transition:opacity var(--transition-slow) var(--ease-out),max-width var(--transition-slow) var(--ease-out);white-space:nowrap}.brand-title,.sidebar-brand-text{font-family:Playfair Display,Georgia,Times New Roman,serif;font-family:var(--font-display);font-size:1.1rem}.brand-title{color:#1c1008;color:var(--text);font-weight:600}.brand-subtitle{color:#5c3d2e;color:var(--text-muted);font-size:.8rem}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-btn{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius);color:#9b7060;cursor:pointer;display:flex;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.9375rem;font-size:var(--text-body);font-weight:500;gap:12px;gap:var(--space-3);padding:9px 12px;padding:9px var(--space-3);position:relative;text-align:left;transition:background .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1),gap .3s cubic-bezier(.16,1,.3,1);transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out),transform var(--transition-fast) var(--ease-out),padding var(--transition-slow) var(--ease-out),gap var(--transition-slow) var(--ease-out);width:100%}.sidebar-nav-btn svg{flex-shrink:0;opacity:.7}.sidebar-label{max-width:200px;overflow:hidden;text-overflow:ellipsis;transition:opacity .3s cubic-bezier(.16,1,.3,1),max-width .3s cubic-bezier(.16,1,.3,1);transition:opacity var(--transition-slow) var(--ease-out),max-width var(--transition-slow) var(--ease-out);white-space:nowrap}.sidebar-nav-btn:hover{background:#5c3d2e1a;color:#5c3d2e}.sidebar-nav-btn:hover svg{opacity:1}.sidebar-nav-btn.active{background:#2c1810;color:#f5ede0;font-weight:600}.sidebar-nav-btn.active svg{opacity:1}.sidebar-nav-btn.active:before{background:#c4922a;border-radius:0 3px 3px 0;bottom:6px;content:"";left:-16px;position:absolute;top:6px;width:3px}.sidebar-section-label{color:#9c8b7e;font-size:.75rem;font-size:var(--text-micro);font-weight:600;letter-spacing:.06em;max-height:30px;overflow:hidden;padding:8px 12px 4px;padding:var(--space-2) var(--space-3) var(--space-1);text-transform:uppercase;transition:opacity .3s cubic-bezier(.16,1,.3,1),max-height .3s cubic-bezier(.16,1,.3,1),padding .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1);transition:opacity var(--transition-slow) var(--ease-out),max-height var(--transition-slow) var(--ease-out),padding var(--transition-slow) var(--ease-out),margin var(--transition-slow) var(--ease-out);white-space:nowrap}.sidebar-divider{background:#5c3d2e26;height:1px;margin:16px 8px;margin:var(--space-4) var(--space-2);transition:width .3s cubic-bezier(.16,1,.3,1);transition:width var(--transition-slow) var(--ease-out)}.sidebar-spacer{flex:1 1}.sidebar-footer{border-top:1px solid #ffffff1a;padding-top:8px;padding-top:var(--space-2)}.sidebar-collapse-btn{align-items:center;background:#0000;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#9c8b7e;cursor:pointer;display:flex;height:32px;justify-content:center;margin-top:8px;margin-top:var(--space-2);transition:all .15s cubic-bezier(.16,1,.3,1);transition:all var(--transition-fast) var(--ease-out);width:100%}.sidebar-collapse-btn:hover{background:#ffffff14;color:#f5efe8}.sidebar-collapse-btn:focus-visible{outline:2px solid #daa040;outline-offset:2px}.app-sidebar.collapsed{padding:12px 8px 12px 16px;padding:var(--space-3) var(--space-2) var(--space-3) var(--space-4);width:64px}.app-sidebar.collapsed .sidebar-brand{align-self:center;gap:0;justify-content:center;margin-bottom:8px;margin-bottom:var(--space-2);padding:8px;padding:var(--space-2)}.app-sidebar.collapsed .sidebar-brand-text{max-width:0;opacity:0}.app-sidebar.collapsed .sidebar-section-label{margin:0;max-height:0;opacity:0;overflow:hidden;padding:0}.app-sidebar.collapsed .sidebar-label{max-width:0;opacity:0}.app-sidebar.collapsed .sidebar-nav-btn{gap:0;padding:10px 8px 10px 12px;padding:10px var(--space-2) 10px var(--space-3)}.app-sidebar.collapsed .sidebar-nav-btn.active:before{left:-16px}.app-sidebar.collapsed .sidebar-divider{align-self:center;margin-bottom:8px;margin-bottom:var(--space-2);margin-top:8px;margin-top:var(--space-2);width:32px}.app-sidebar.collapsed .sidebar-footer{border-top:none;width:100%}.app-sidebar.collapsed .sidebar-nav-btn[data-tooltip]:after{background:#3a2820;border-radius:6px;border-radius:var(--radius-sm);box-shadow:0 4px 20px #2c18101f,0 2px 6px #2c18100f;box-shadow:var(--elevation-floating);color:#faf6ef;content:attr(data-tooltip);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-sans);font-size:.8125rem;font-size:var(--text-caption);font-weight:500;left:calc(100% + 12px);opacity:0;padding:5px 10px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .15s cubic-bezier(.16,1,.3,1);transition:opacity var(--transition-fast) var(--ease-out);white-space:nowrap;z-index:100}.app-sidebar.collapsed .sidebar-nav-btn[data-tooltip]:hover:after{opacity:1}[data-theme=dark] .app-sidebar.collapsed .sidebar-nav-btn[data-tooltip]:after{background:#3a3228}.sidebar-help{background:#ffffff0f;border:1px solid #ffffff14;border-radius:8px;border-radius:var(--radius);color:#c9bba8;font-size:.85rem;line-height:1.5;padding:14px}.app-subsidebar .sidebar-divider{background:#5c3d2e33;background:var(--border);height:1px}.app-subsidebar .sidebar-help{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:0;color:#5c3d2e;color:var(--text-muted);font-size:.85rem;line-height:1.5;padding:14px}.app-subsidebar .sidebar-brand{border-radius:0;justify-content:center;margin-top:63px;text-align:center}.app-subsidebar .sidebar-nav{justify-content:center}.app-subsidebar .sidebar-nav-btn{border-radius:0;gap:10px;justify-content:center;padding:10px 14px;text-align:center}.app-subsidebar .sidebar-nav-btn svg{margin:0}.app-subsidebar .sidebar-divider,.app-subsidebar .sidebar-help,.app-subsidebar .sidebar-label{display:block}.app-main{background:#f5ede0;background:var(--bg);display:flex;flex:1 1;flex-direction:column;min-width:0;overflow:hidden}.app-topbar{background:#2c1810;border-bottom:1px solid #f5ede01a;flex:0 0 56px;flex-shrink:0;gap:16px;gap:var(--space-4);height:56px;justify-content:space-between;padding:0 28px}.app-topbar,.topbar-left{align-items:center;display:flex}.topbar-left{gap:16px;min-width:0}.topbar-logo{color:#f5ede0;display:inline;flex-shrink:0;font-family:Caveat,cursive;font-size:27px;font-weight:500;letter-spacing:.3px;margin-right:16px}.header-brand{align-items:center;background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;flex-shrink:0;gap:10px;padding:6px 10px}.header-brand .brand-title{font-size:.95rem}.header-brand .brand-subtitle{font-size:.72rem}.page-title-group{display:flex;flex-direction:column;gap:2px}.page-title{border-left:1px solid #f5ede026;color:#f5ede080;font-family:DM Sans,system-ui,sans-serif;font-size:13px;font-weight:300;letter-spacing:.5px;margin:0;padding-left:16px;text-transform:uppercase}.page-subtitle{color:#5c3d2e;color:var(--text-muted);font-size:.85rem;margin:0}.topbar-actions{align-items:center;display:flex;gap:12px}.app-content{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:0}.topbar-profile{align-items:center;background:#f5ede014;border:1px solid #f5ede01f;border-radius:999px;display:flex;gap:10px;padding:6px 12px}.profile-pic{border:2px solid #5c3d2e33;border:2px solid var(--border)}.logo-icon{background:#c05a2a1a;background:var(--accent-soft);border:1px solid #5c3d2e33;border:1px solid var(--border)}.topbar-email{color:#f5ede099;font-size:13px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-logout{align-items:center;background:#0000;border:1px solid #f5ede040;border-radius:6px;color:#f5ede0bf;cursor:pointer;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:6px 14px;transition:all .15s cubic-bezier(.16,1,.3,1);transition:all var(--transition-fast) var(--ease-out)}.topbar-logout:hover{background:#f5ede00f;border-color:#f5ede080;color:#f5ede0}.main-container{grid-gap:0;display:grid;gap:0;grid-template-columns:260px 1fr;height:100%;overflow:hidden;width:100%}.gdrive-picker{display:flex;flex-direction:column;height:100%;min-height:450px}.gdrive-picker-header{align-items:flex-start;display:flex;justify-content:space-between;padding-bottom:20px}.gdrive-picker-title{color:#1c1008;color:var(--text);font-size:1.5rem;font-weight:600;margin:0}.gdrive-picker-subtitle{color:#5c3d2e;color:var(--text-muted);font-size:.9rem;margin:4px 0 0}.gdrive-picker-toolbar{align-items:center;border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 0}.gdrive-picker-search{align-items:center;background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;display:flex;flex:1 1;gap:10px;padding:10px 16px;transition:all .2s ease}.gdrive-picker-search:focus-within{border-color:#c05a2a;border-color:var(--accent);box-shadow:0 0 0 3px #c05a2a1a;box-shadow:0 0 0 3px var(--accent-soft)}.gdrive-picker-search svg{color:#5c3d2e;color:var(--text-muted);flex-shrink:0}.gdrive-picker-search-input{background:none;border:none;color:#1c1008;color:var(--text);flex:1 1;font-size:.95rem;outline:none}.gdrive-picker-search-input::placeholder{color:#9b7060;color:var(--text-soft)}.gdrive-picker-search-input:disabled{cursor:not-allowed}.gdrive-picker-toolbar-actions{align-items:center;display:flex;gap:8px}.gdrive-picker-browse-btn{align-items:center;background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease;white-space:nowrap}.gdrive-picker-browse-btn:hover{box-shadow:0 4px 12px #c05a2a1a;box-shadow:0 4px 12px var(--accent-soft);transform:translateY(-1px)}.gdrive-picker-breadcrumb{align-items:center;border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 0}.gdrive-picker-breadcrumb-label{color:#1c1008;color:var(--text);font-size:.9rem;font-weight:600}.gdrive-picker-clear-link{background:none;border:none;color:#c05a2a;color:var(--accent);cursor:pointer;font-size:.85rem;margin-left:auto;padding:0}.gdrive-picker-clear-link:hover{text-decoration:underline}.gdrive-picker-file-list{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;flex:1 1;margin:12px 0;max-height:300px;min-height:200px;overflow-y:auto}.gdrive-picker-empty{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;flex-direction:column;height:100%;justify-content:center;min-height:200px;padding:32px;text-align:center}.gdrive-picker-empty svg{color:#5c3d2e33;color:var(--border);margin-bottom:16px}.gdrive-picker-empty p{color:#5c3d2e;color:var(--text-muted);font-size:.95rem;margin:0 0 8px}.gdrive-picker-empty span{color:#9b7060;color:var(--text-soft);font-size:.8rem}.gdrive-picker-file-row{align-items:center;border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;gap:12px;padding:12px 16px;transition:background .15s ease}.gdrive-picker-file-row:last-child{border-bottom:none}.gdrive-picker-file-row:hover{background:#e8d9c4;background:var(--surface-muted)}.gdrive-picker-file-checkbox{flex-shrink:0}.gdrive-picker-checkbox{accent-color:#c05a2a;accent-color:var(--accent);border:2px solid #5c3d2e33;border:2px solid var(--border);border-radius:4px;cursor:pointer;height:18px;width:18px}.gdrive-picker-checkbox:checked{border-color:#c05a2a;border-color:var(--accent)}.gdrive-picker-file-icon{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;flex-shrink:0;justify-content:center}.gdrive-picker-file-name{color:#1c1008;color:var(--text);flex:1 1;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gdrive-picker-file-badge{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:4px;color:#5c3d2e;color:var(--text-muted);flex-shrink:0;font-size:.75rem;font-weight:600;padding:4px 10px}.gdrive-picker-file-date{min-width:100px}.gdrive-picker-file-date,.gdrive-picker-file-size{color:#5c3d2e;color:var(--text-muted);flex-shrink:0;font-size:.85rem;white-space:nowrap}.gdrive-picker-file-size{min-width:80px;text-align:right}.gdrive-picker-footer{align-items:center;border-top:1px solid #5c3d2e33;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:16px}.gdrive-picker-footer-info{color:#5c3d2e;color:var(--text-muted);font-size:.85rem}.gdrive-picker-footer-actions{display:flex;gap:12px}.gdrive-picker-btn{border-radius:8px;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .2s ease}.gdrive-picker-btn-secondary{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text)}.gdrive-picker-btn-secondary:hover{background:#f0e4d0;background:var(--surface);border-color:#5c3d2e;border-color:var(--text-muted)}.gdrive-picker-btn-primary{background:linear-gradient(135deg,#c05a2a,#a04820);background:linear-gradient(135deg,var(--accent) 0,var(--accent-strong) 100%);border:none;color:#fff}.gdrive-picker-btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #c05a2a1a;box-shadow:0 4px 12px var(--accent-soft);transform:translateY(-1px)}.gdrive-picker-btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.gdrive-picker-file-list::-webkit-scrollbar{width:8px}.gdrive-picker-file-list::-webkit-scrollbar-track{background:#f0e4d0;background:var(--surface)}.gdrive-picker-file-list::-webkit-scrollbar-thumb{background:#5c3d2e33;background:var(--border);border-radius:4px}.gdrive-picker-file-list::-webkit-scrollbar-thumb:hover{background:#5c3d2e;background:var(--text-muted)}.database-toggle{margin:8px 0 4px}.database-toggle-label{align-items:center;color:#5c3d2e;color:var(--text-muted);cursor:pointer;display:flex;font-size:.875rem;gap:8px;-webkit-user-select:none;user-select:none}.database-toggle-checkbox{accent-color:#c05a2a;accent-color:var(--accent);cursor:pointer;height:18px;width:18px}.database-toggle-hint{color:#c4922a;color:var(--warning);font-size:.75rem;margin-left:26px;margin-top:6px}.grading-instructions{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border)}.grading-instructions-header,.grading-instructions-header button{color:#5c3d2e;color:var(--text-muted)}.grading-instructions-header button{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border)}.grading-instructions textarea{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text)}.grading-instructions-hint{color:#9b7060;color:var(--text-soft)}.grade-btn{background:#c05a2a;background:var(--accent);box-shadow:none}.grade-btn:hover:not(:disabled){background:#a04820;background:var(--accent-strong);transform:translateY(-1px)}.chat-container{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:0;box-shadow:none;overflow:hidden}.chat-sidebar{background:#e8d9c4;background:var(--surface-muted);border-right:1px solid #5c3d2e33;border-right:1px solid var(--border)}.chat-sidebar-item{color:#5c3d2e;color:var(--text-muted)}.chat-sidebar-item:hover{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.chat-sidebar-item.active{background:#c4922a1f;background:var(--primary-soft);color:#c4922a;color:var(--primary)}.error-banner{background:#c05a2a1a;background:var(--danger-soft);border:1px solid color-mix(in srgb,#c05a2a 30%,#0000);border:1px solid color-mix(in srgb,var(--danger) 30%,#0000);color:#c05a2a;color:var(--danger)}.chat-messages{background:#e8d9c4}.message-avatar,.message.user .message-avatar{background:#fff;background:var(--surface-elevated);box-shadow:none}.message-content .markdown-content{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text)}.message.user .markdown-content{background:#f0e4d0;background:var(--surface)}.badge,.message.user .markdown-content{border-color:#5c3d2e33;border-color:var(--border)}.badge{background:#c05a2a1a;background:var(--accent-soft);color:#a04820;color:var(--accent-strong)}.chat-input-container{background:#f0e4d0;background:var(--surface);border-top:1px solid #5c3d2e33;border-top:1px solid var(--border)}.chat-input{background:#fff;background:var(--surface-elevated);border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text)}.chat-input::placeholder{color:#9b7060;color:var(--text-soft)}.chat-input:focus{border-color:#c4922a;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,#c4922a 15%,#0000);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,#0000)}.send-btn{background:#c05a2a;background:var(--accent);box-shadow:none}.send-btn:hover:not(:disabled){background:#a04820;background:var(--accent-strong)}.modal-card{background:#f0e4d0;background:var(--surface)}.modal-card,.modal-input{border:1px solid #5c3d2e33;border:1px solid var(--border)}.modal-input{background:#fff;background:var(--surface-elevated);color:#1c1008;color:var(--text)}.modal-btn{background:#c05a2a;background:var(--accent);border:none;color:#fff}.modal-btn.secondary{background:#e8d9c4;background:var(--surface-muted);border:1px solid #5c3d2e33;border:1px solid var(--border);color:#1c1008;color:var(--text)}@media (max-width:1024px){.app-body{flex-direction:column}.app-sidebar{align-items:center;flex-direction:row;gap:12px;justify-content:space-between}.app-sidebar,.app-sidebar.collapsed{padding:16px 20px;width:100%}.sidebar-nav{flex-direction:row}.sidebar-brand,.sidebar-divider,.sidebar-footer,.sidebar-help,.sidebar-spacer{display:none}.app-sidebar .sidebar-label,.app-sidebar.collapsed .sidebar-label{max-width:200px;opacity:1}.app-sidebar.collapsed .sidebar-nav-btn{gap:12px;gap:var(--space-3);padding:9px 12px;padding:9px var(--space-3)}.main-container{grid-template-columns:1fr;grid-template-rows:auto 1fr}.chat-sidebar{border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);border-right:none;flex-direction:row;height:auto;overflow:visible}.chat-sidebar-header{border-bottom:none;border-right:1px solid #5c3d2e33;border-right:1px solid var(--border);flex-shrink:0;padding:10px 12px}.chat-sidebar-title{display:none}.chat-sidebar-group,.chat-sidebar-list{flex-direction:row;gap:6px}.chat-sidebar-list{overflow-x:auto;overflow-y:hidden;padding:8px}.chat-sidebar-item{flex-shrink:0;min-height:0;min-height:auto;padding:8px 12px;white-space:nowrap}.chat-sidebar-item.active:before{border-radius:3px 3px 0 0;bottom:0;height:3px;left:6px;right:6px;top:auto;width:auto}.chat-sidebar-item-icon{display:none}.chat-sidebar-item-actions{opacity:1}}@media (max-width:768px){.app-topbar{padding:0 16px}.app-content{padding:16px}.topbar-email{display:none}.chat-sidebar-header{padding:8px 10px}.chat-new-btn{font-size:.75rem;padding:6px 10px}.chat-sidebar-item{font-size:.8rem;padding:6px 10px}.chat-sidebar-item-title{max-width:100px}}.grading-progress-banner{align-items:center;background:#f0e4d0;background:var(--surface);border-bottom:1px solid #5c3d2e33;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;gap:12px;padding:10px 24px}.papers-animation{flex-shrink:0;height:32px;position:relative;width:28px}.paper{background:#fff;background:var(--surface-elevated);border:1.5px solid #5c3d2e33;border:1.5px solid var(--border);border-radius:2px;height:26px;position:absolute;width:20px}.paper:after{background:#5c3d2e33;background:var(--border);box-shadow:0 4px 0 #5c3d2e33,0 8px 0 #5c3d2e33;box-shadow:0 4px 0 var(--border),0 8px 0 var(--border);content:"";height:1px;left:3px;position:absolute;right:3px;top:7px}.paper-back{left:6px;top:6px}.paper-mid{left:3px;top:3px}.paper-top{animation:paperFly 1.4s ease-in-out infinite;left:0;top:0}@keyframes paperFly{0%{opacity:1;transform:translateY(0) rotate(0deg)}35%{opacity:1;transform:translateY(-14px) rotate(-20deg)}55%{opacity:0;transform:translateY(-22px) rotate(-30deg) translateX(12px)}56%{opacity:0;transform:translateY(0) rotate(0deg)}72%{opacity:1;transform:translateY(0) rotate(0deg)}to{opacity:1;transform:translateY(0) rotate(0deg)}}.grading-progress-info{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.grading-progress-phase{color:#9b7060;color:var(--text-soft);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grading-progress-track{background:#e8d9c4;background:var(--surface-muted);border-radius:99px;height:5px;overflow:hidden}.grading-progress-fill{background:linear-gradient(90deg,#c05a2a,#a04820);background:linear-gradient(90deg,var(--accent),var(--accent-strong,var(--accent)));border-radius:99px;height:100%;transition:width .4s ease}.grading-progress-pct{color:#c05a2a;color:var(--accent);font-size:.8rem;font-weight:600;min-width:34px;text-align:right}.grading-stop-btn{align-items:center;background:#e74c3c26;border:none;border-radius:6px;color:#e74c3c;cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background .15s,color .15s;width:28px}.grading-stop-btn:hover{background:#e74c3c;color:#fff}.smart-compare-viewer-frame{border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 4px #2c181014,0 2px 8px #2c18100a;box-shadow:var(--elevation-raised)}.sc-header,.smart-compare-viewer-frame{background:#f0e4d0;background:var(--surface)}.sc-header{border-bottom:1px solid #5c3d2e1a;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:16px;justify-content:space-between;padding:12px 20px}.sc-header,.sc-header-nav{align-items:center;display:flex}.sc-header-nav{gap:8px;min-width:0}.sc-nav-arrow{align-items:center;background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#5c3d2e;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .15s cubic-bezier(.16,1,.3,1);transition:all var(--transition-fast) var(--ease-out);width:28px}.sc-nav-arrow:hover:not(:disabled){background:#c4922a1f;background:var(--primary-soft);border-color:#c4922a;border-color:var(--primary);color:#c4922a;color:var(--primary)}.sc-nav-arrow:disabled{cursor:not-allowed;opacity:.3}.sc-student-info{align-items:baseline;display:flex;gap:8px;min-width:0}.sc-student-name{color:#1c1008;color:var(--text);font-size:.9rem;font-weight:600;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-student-counter{color:#9b7060;color:var(--text-soft);font-family:Fira Code,Cascadia Code,Consolas,monospace;font-family:var(--font-mono);font-size:.75rem;font-weight:500;white-space:nowrap}.sc-header-grade{align-items:center;display:flex;flex-shrink:0;gap:8px}.sc-grade-value{font-family:Playfair Display,Georgia,Times New Roman,serif;font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.02em;line-height:1}.sc-grade-value.grade-A{color:#4a7c59;color:var(--success)}.sc-grade-value.grade-B{color:#2e8b4a}.sc-grade-value.grade-C{color:#c4922a;color:var(--warning)}.sc-grade-value.grade-D{color:#c05830}.sc-grade-value.grade-F{color:#c05a2a;color:var(--danger)}.sc-source-tag{background:#c4922a1f;background:var(--primary-soft);border-radius:999px;border-radius:var(--radius-pill);color:#c4922a;color:var(--primary);font-size:.65rem;font-weight:600;letter-spacing:.05em;padding:2px 7px;text-transform:uppercase}.sc-source-tag.manual{background:#c4922a1f;background:var(--warning-soft);color:#c4922a;color:var(--warning)}.sc-saved-tag{background:#4a7c591f;background:var(--success-soft);color:#4a7c59;color:var(--success)}.sc-saved-tag,.sc-unsaved-tag{align-items:center;border-radius:50%;display:flex;height:18px;justify-content:center;width:18px}.sc-unsaved-tag{background:#c4922a1f;background:var(--warning-soft,#fff3cd);color:#c4922a;color:var(--warning,#856404);cursor:help}.sc-toolbar{align-items:center;background:#e8d9c4;background:var(--surface-muted);border-bottom:1px solid #5c3d2e1a;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:8px 20px}.sc-toolbar-left,.sc-toolbar-right{align-items:center;display:flex;gap:8px}.sc-grade-edit{align-items:center;display:flex}.sc-grade-edit input{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#1c1008;color:var(--text);font-family:Fira Code,Cascadia Code,Consolas,monospace;font-family:var(--font-mono);font-size:.85rem;font-weight:600;padding:5px 8px;text-align:center;transition:border-color .15s cubic-bezier(.16,1,.3,1);transition:border-color var(--transition-fast) var(--ease-out);width:52px}.sc-grade-edit input:focus{border-color:#c4922a;border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,#c4922a 12%,#0000);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 12%,#0000);outline:none}.sc-save-btn{align-items:center;background:#c05a2a;background:var(--accent);border:none;border-radius:8px;border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:5px;padding:6px 14px;transition:background .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);transition:background var(--transition-fast) var(--ease-out),transform var(--transition-fast) var(--ease-out)}.sc-save-btn:hover:not(:disabled){background:#a04820;background:var(--accent-strong);transform:translateY(-1px)}.sc-save-btn:active:not(:disabled){transform:translateY(0) scale(.97)}.sc-save-btn:disabled{cursor:not-allowed;opacity:.6}.sc-icon-btn{align-items:center;background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#5c3d2e;color:var(--text-muted);cursor:pointer;display:flex;height:30px;justify-content:center;transition:all .15s cubic-bezier(.16,1,.3,1);transition:all var(--transition-fast) var(--ease-out);width:30px}.sc-icon-btn:hover:not(:disabled){background:#c4922a1f;background:var(--primary-soft);border-color:#c4922a;border-color:var(--primary);color:#c4922a;color:var(--primary)}.sc-icon-btn:disabled{cursor:not-allowed;opacity:.4}.sc-download,.sc-overflow{position:relative}.sc-dropdown{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius);box-shadow:0 4px 20px #2c18101f,0 2px 6px #2c18100f;box-shadow:var(--elevation-floating);min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.sc-dropdown button{background:none;border:none;color:#1c1008;color:var(--text);cursor:pointer;display:block;font-size:.82rem;font-weight:500;padding:9px 14px;text-align:left;transition:background .15s cubic-bezier(.16,1,.3,1);transition:background var(--transition-fast) var(--ease-out);width:100%}.sc-dropdown button:hover:not(:disabled){background:#e8d9c4;background:var(--surface-muted)}.sc-dropdown button:disabled{cursor:not-allowed;opacity:.4}.sc-view-toggle{background:#f0e4d0;background:var(--surface);border:1px solid #5c3d2e33;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.sc-view-toggle button{background:#0000;border:none;color:#5c3d2e;color:var(--text-muted);cursor:pointer;font-size:.8rem;font-weight:500;padding:5px 12px;transition:background .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1);transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.sc-view-toggle button:hover{background:#e8d9c4;background:var(--surface-muted);color:#1c1008;color:var(--text)}.sc-view-toggle button.active{background:#c4922a;background:var(--primary);color:#fff}.sc-error{background:#c05a2a1a;background:var(--danger-soft);border-bottom:1px solid color-mix(in srgb,#c05a2a 15%,#0000);border-bottom:1px solid color-mix(in srgb,var(--danger) 15%,#0000);color:#c05a2a;color:var(--danger);font-size:.82rem;margin:0;padding:8px 20px}.smart-compare-btn-spinner{animation:spin-btn .6s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;display:inline-block;height:12px;width:12px}@keyframes spin-btn{to{transform:rotate(1turn)}}.smart-compare-resize-divider{background:#5c3d2e33;background:var(--border);cursor:col-resize;position:relative;width:1px;z-index:2}.smart-compare-resize-divider:before{bottom:0;content:"";cursor:col-resize;left:-4px;position:absolute;top:0;width:9px}.smart-compare-panes.resizing .smart-compare-resize-divider,.smart-compare-resize-divider:hover{background:#c4922a;background:var(--primary);box-shadow:0 0 0 1px #c4922a;box-shadow:0 0 0 1px var(--primary)}.smart-compare-pane-header-label{align-items:center;color:#5c3d2e;color:var(--text-muted);display:flex;font-size:.8rem;font-weight:600;gap:6px;letter-spacing:.03em;text-transform:uppercase}.smart-compare-pane-header-label svg{color:#9b7060;color:var(--text-soft);flex-shrink:0}.math-chip{background:#0000;border:1px solid #0000;border-radius:4px;cursor:default;display:inline;margin:0;padding:1px 2px;position:relative;transition:background .15s ease,border-color .15s ease;user-select:none;-webkit-user-select:none;vertical-align:initial}.math-chip:hover{background:#e8d9c4;background:var(--surface-muted,#f5f5f5);border-color:#5c3d2e33;border-color:var(--border,#e0e0e0)}.math-chip--display{display:block;margin:8px auto;padding:4px 8px;text-align:center;width:-webkit-fit-content;width:fit-content}.math-chip-delete,.math-chip-edit{align-items:center;background:#f5ede0;background:var(--bg,#fff);border:1px solid #5c3d2e33;border:1px solid var(--border,#ddd);border-radius:3px;box-shadow:0 1px 3px #0000001a;color:#5c3d2e;color:var(--text-muted,#999);cursor:pointer;display:none;flex-shrink:0;font-size:12px;height:18px;justify-content:center;line-height:1;position:absolute;top:-8px;transition:color .15s ease,background .15s ease;width:18px;z-index:2}.math-chip-edit{right:18px}.math-chip-delete{right:-2px}.math-chip:hover .math-chip-delete,.math-chip:hover .math-chip-edit{display:inline-flex}.math-chip-edit:hover{background:#4a90d91f;border-color:#c05a2a;border-color:var(--accent,#4a90d9);color:#c05a2a;color:var(--accent,#4a90d9)}.math-chip-delete:hover{background:#e53e3e1f;border-color:#c05a2a;border-color:var(--danger,#e53e3e);color:#c05a2a;color:var(--danger,#e53e3e)}.math-chip--editing{align-items:center;background:#f5ede0;background:var(--bg,#fff);border-color:#c05a2a;border-color:var(--accent,#4a90d9);box-shadow:0 0 0 2px #c05a2a1a;box-shadow:0 0 0 2px var(--accent-soft,#4a90d933);cursor:default;display:inline-flex;gap:4px;padding:4px 8px}.math-chip--editing .math-chip-edit{display:none}.math-chip--editing .math-chip-delete{background:#0000;border:none;box-shadow:none;display:inline-flex;opacity:1;position:static}.math-chip-input{background:#e8d9c4;background:var(--surface-muted,#f8f8f8);border:1px solid #5c3d2e33;border:1px solid var(--border,#ddd);border-radius:3px;color:#1c1008;color:var(--text,#333);font-family:Fira Code,Consolas,monospace;font-size:.85em;min-width:120px;outline:none;padding:3px 6px}.math-chip-input:focus{background:#f5ede0;background:var(--bg,#fff);border-color:#c05a2a;border-color:var(--accent,#4a90d9)}.math-chip-save{align-items:center;border-radius:3px;color:#4a7c59;color:var(--success,#38a169);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:15px;height:22px;justify-content:center;width:22px}.math-chip-save:hover{background:#38a1691f}[data-style=campanion-classic]{--cc-cream:#f5ede0;--cc-cream-dark:#f0e4d0;--cc-cream-deeper:#e8d9c4;--cc-brown-nav:#2c1810;--cc-brown-mid:#5c3d2e;--cc-brown-light:#8b6455;--cc-green:#4a7c59;--cc-green-dark:#3a6347;--cc-gold:#c4922a;--cc-red-brown:#c05a2a;--cc-text-dark:#1c1008;--cc-text-mid:#5c3d2e;--cc-text-light:#9b7060;--cc-border:#5c3d2e26;--cc-shadow:0 2px 16px #2c181014;--bg:#f5ede0;--surface:#f0e4d0;--surface-muted:#e8d9c4;--surface-elevated:#fff;--text:#1c1008;--text-muted:#5c3d2e;--text-soft:#9b7060;--border:#5c3d2e33;--border-subtle:#5c3d2e1a;--primary:#c4922a;--primary-strong:#b07e20;--primary-soft:#c4922a1f;--accent:#c05a2a;--accent-strong:#a04820;--accent-soft:#c05a2a1a;--success:#4a7c59;--success-soft:#4a7c591f;--color-approve:#4a7c59;--color-approve-hover:#3a6347;--warning:#c4922a;--warning-soft:#c4922a1f;--danger:#c05a2a;--danger-soft:#c05a2a1a;--shadow:0 2px 16px #2c18101a;--shadow-soft:0 1px 4px #2c18100f;--elevation-flush:none;--elevation-raised:0 1px 4px #2c181014,0 2px 8px #2c18100a;--elevation-floating:0 4px 20px #2c18101f,0 2px 6px #2c18100f;--font-sans:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Playfair Display",Georgia,"Times New Roman",serif;--font-mono:"Fira Code","Cascadia Code","Consolas",monospace;--font-serif-ui:"Lora",Georgia,serif;--font-logo:"Caveat",cursive;--text-page-title:1.5rem;--text-section-title:1.125rem;--text-body:0.9375rem;--text-caption:0.8125rem;--text-micro:0.75rem;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius:8px;--radius-md:10px;--radius-lg:12px;--radius-pill:999px;--scrollbar-track:#f0e4d0;--scrollbar-thumb:#5c3d2e40;--scrollbar-thumb-hover:#5c3d2e66;--chart-1:#c4922a;--chart-2:#4a7c59;--chart-3:#c05a2a;--chart-4:#8b6455;--chart-5:#5c3d2e;--chart-6:#a07040;--transition-fast:150ms;--transition-normal:200ms;--transition-slow:300ms;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.45,0,0.55,1);--divider:color-mix(in srgb,var(--border) 60%,#0000);--divider-subtle:color-mix(in srgb,var(--border) 30%,#0000)}[data-style=campanion-classic],[data-style=campanion-classic] .chat-action-chip,[data-style=campanion-classic] .chat-sidebar-item-title,[data-style=campanion-classic] .gdrive-picker-subtitle,[data-style=campanion-classic] .modal-subtitle,[data-style=campanion-classic] body,[data-style=campanion-classic] button,[data-style=campanion-classic] input,[data-style=campanion-classic] select,[data-style=campanion-classic] textarea{font-family:DM Sans,system-ui,sans-serif!important}[data-style=campanion-classic] .assignment-insights-bullets-title,[data-style=campanion-classic] .assignment-insights-chart-title,[data-style=campanion-classic] .assignment-insights-standards-title,[data-style=campanion-classic] .assignment-insights-title,[data-style=campanion-classic] .chat-pdf-header-title,[data-style=campanion-classic] .chat-sidebar-title,[data-style=campanion-classic] .confirm-dialog-title,[data-style=campanion-classic] .gdrive-picker-title,[data-style=campanion-classic] .modal-row-title,[data-style=campanion-classic] h1,[data-style=campanion-classic] h2,[data-style=campanion-classic] h3,[data-style=campanion-classic] h4{font-family:Playfair Display,Georgia,serif!important;font-weight:700!important;letter-spacing:-.5px}[data-style=campanion-classic] .app-body,[data-style=campanion-classic] .app-content,[data-style=campanion-classic] .app-main,[data-style=campanion-classic] .app-shell,[data-style=campanion-classic] .chat-container{background:#f5ede0!important;color:#1c1008!important}[data-style=campanion-classic] .chat-messages{background:#0000!important}[data-style=campanion-classic] .app-topbar{background:#2c1810!important;border-bottom-color:#f5ede01a!important}[data-style=campanion-classic] .page-subtitle,[data-style=campanion-classic] .sidebar-divider{display:none!important}[data-style=campanion-classic] .app-sidebar{background:#e8d9c4!important;border-right:1px solid #5c3d2e26!important}[data-style=campanion-classic] .sidebar-footer{border-top-color:#5c3d2e26!important}[data-style=campanion-classic] .sidebar-collapse-btn{color:#9b7060!important}[data-style=campanion-classic] .sidebar-collapse-btn:hover{background:#5c3d2e1a!important;color:#5c3d2e!important}[data-style=campanion-classic] .sidebar-collapse-btn:focus-visible{outline-color:#c4922a}[data-style=campanion-classic] .sidebar-help{background:#5c3d2e0f!important;border-color:#5c3d2e1f!important;color:#9b7060!important}[data-style=campanion-classic] .app-sidebar.collapsed .sidebar-nav-btn[data-tooltip]:after{background:#e8d9c4;color:#5c3d2e}[data-style=campanion-classic] .chat-sidebar{background:#f0e4d0!important;border-right:1px solid #5c3d2e26!important}[data-style=campanion-classic] .chat-sidebar-header{align-items:stretch!important;border-bottom:1px solid #5c3d2e26!important;flex-direction:column!important;gap:12px!important;padding:20px 20px 12px!important}[data-style=campanion-classic] .chat-sidebar-title{color:#9b7060!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:10px!important;font-weight:500!important;letter-spacing:1px!important;margin:0!important;padding:16px 20px 6px!important;text-transform:uppercase!important}[data-style=campanion-classic] .chat-new-btn{align-items:center!important;background:#4a7c59!important;border:none!important;border-radius:8px!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:13px!important;font-weight:500!important;gap:8px!important;justify-content:center!important;padding:10px 14px!important;transition:background .15s!important;width:100%!important}[data-style=campanion-classic] .chat-new-btn:hover{background:#3a6347!important;box-shadow:0 4px 12px #4a7c594d!important}[data-style=campanion-classic] .chat-sidebar-list{flex:1 1!important;list-style:none!important;margin:0!important;overflow-y:auto!important;padding:4px 10px!important}[data-style=campanion-classic] .chat-sidebar-item-icon{display:none!important}[data-style=campanion-classic] .chat-sidebar-item:before{background:#8b6455!important;border-radius:50%!important;bottom:auto!important;content:""!important;display:inline-block!important;flex-shrink:0!important;height:6px!important;left:auto!important;margin-right:10px!important;position:static!important;top:auto!important;width:6px!important}[data-style=campanion-classic] .chat-sidebar-item.active:before{background:#c4922a!important}[data-style=campanion-classic] .chat-sidebar-item{align-items:center!important;border-radius:7px!important;color:#5c3d2e!important;cursor:pointer!important;display:flex!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:13px!important;gap:8px!important;list-style:none!important;overflow:hidden!important;padding:9px 10px!important;transition:background .1s!important;white-space:nowrap!important}[data-style=campanion-classic] .chat-sidebar-item:hover{background:#5c3d2e14!important}[data-style=campanion-classic] .chat-sidebar-item.active{background:#2c1810!important;border:none!important;color:#f5ede0!important}[data-style=campanion-classic] .chat-sidebar-item.active *,[data-style=campanion-classic] .chat-sidebar-item.active .chat-sidebar-item-title{color:#f5ede0!important}[data-style=campanion-classic] .chat-sidebar-item.active .chat-sidebar-action{color:#f5ede099!important}[data-style=campanion-classic] .chat-sidebar-item .chat-sidebar-item-count{align-items:center!important;background:#c4922a!important;border-radius:9px!important;color:#fff!important;display:inline-flex!important;flex-shrink:0!important;font-size:10px!important;font-weight:600!important;height:18px!important;justify-content:center!important;margin-left:auto!important;min-width:18px!important;padding:0 5px!important}[data-style=campanion-classic] .message.user .message-content{background:#ede0ce!important;border:1px solid #5c3d2e26!important;border-radius:12px 12px 4px 12px!important;box-shadow:0 1px 4px #2c18100f!important;color:#1c1008!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:14px!important;padding:12px 16px!important}[data-style=campanion-classic] .message.user .message-author{color:#9b7060!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:12px!important;font-weight:500!important}[data-style=campanion-classic] .message.model .message-content{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:4px 12px 12px 12px!important;box-shadow:0 2px 16px #2c181014!important;color:#1c1008!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:14px!important;line-height:1.6!important;padding:16px 20px!important}[data-style=campanion-classic] .message.model .message-author{color:#5c3d2e!important;font-family:Lora,Georgia,serif!important;font-size:13px!important;font-weight:500!important;margin-bottom:4px!important}[data-style=campanion-classic] .message.model .message-avatar{align-items:center!important;background:#2c1810!important;border-radius:50%!important;color:#f5ede0!important;display:flex!important;flex-shrink:0!important;font-family:Caveat,cursive!important;font-size:0!important;height:32px!important;justify-content:center!important;min-width:32px!important;width:32px!important}[data-style=campanion-classic] .message.model .message-avatar:after{color:#f5ede0!important;content:"C"!important;font-family:Caveat,cursive!important;font-size:16px!important}[data-style=campanion-classic] .chat-message.user .message-content{background:#ede0ce!important;border:1px solid #5c3d2e26!important;border-radius:12px 12px 4px 12px!important;box-shadow:0 1px 4px #2c18100f!important;color:#1c1008!important}[data-style=campanion-classic] .chat-message.assistant .message-content{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:4px 12px 12px 12px!important;box-shadow:0 2px 16px #2c181014!important;color:#1c1008!important}[data-style=campanion-classic] .chat-input-container{background:#f0e4d0!important;border-top:1px solid #5c3d2e26!important;flex-shrink:0!important;padding:14px 24px 18px!important}[data-style=campanion-classic] .chat-input,[data-style=campanion-classic] input.chat-input{background:#fff!important;border:1px solid #5c3d2e33!important;border-radius:10px!important;color:#1c1008!important;flex:1 1!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:14px!important;outline:none!important;padding:12px 16px!important;transition:border-color .15s!important}[data-style=campanion-classic] .chat-input::placeholder{color:#9b7060!important}[data-style=campanion-classic] .chat-input:focus{border-color:#8b6455!important;box-shadow:0 0 0 3px #8b64551a!important}[data-style=campanion-classic] .send-btn{align-items:center!important;background:#4a7c59!important;border:none!important;border-radius:10px!important;color:#fff!important;cursor:pointer!important;display:flex!important;flex-shrink:0!important;height:40px!important;justify-content:center!important;min-width:40px!important;transition:background .15s!important;width:40px!important}[data-style=campanion-classic] .send-btn:hover{background:#3a6347!important}[data-style=campanion-classic] .send-btn svg{stroke:#fff!important;fill:none!important}[data-style=campanion-classic] .chat-action-chip{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:20px!important;color:#5c3d2e!important;cursor:pointer!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:12px!important;padding:6px 14px!important;transition:all .15s!important}[data-style=campanion-classic] .chat-action-chip:hover{background:#faf5ee!important;border-color:#8b6455!important;color:#1c1008!important}[data-style=campanion-classic] .assignment-insights-title{color:#1c1008!important;font-family:Playfair Display,Georgia,serif!important;font-size:30px!important;font-weight:700!important;letter-spacing:-.5px!important}[data-style=campanion-classic] .assignment-insights-subtitle{color:#9b7060!important;font-family:DM Sans,system-ui,sans-serif!important;font-size:14px!important;font-weight:300!important;margin-bottom:28px!important}[data-style=campanion-classic] .assignment-insights-stat{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:12px!important;box-shadow:0 2px 16px #2c181014!important;padding:22px 24px!important}[data-style=campanion-classic] .assignment-insights-stat-label{color:#9b7060!important;font-size:10px!important;font-weight:500!important;letter-spacing:1.2px!important;margin-bottom:10px!important;text-transform:uppercase!important}[data-style=campanion-classic] .assignment-insights-stat-value{font-family:Playfair Display,Georgia,serif!important;font-size:34px!important;font-weight:700!important;line-height:1!important}[data-style=campanion-classic] .assignment-insights-stat-avg .assignment-insights-stat-value{color:#c05a2a!important}[data-style=campanion-classic] .assignment-insights-stat-high .assignment-insights-stat-value{color:#4a7c59!important}[data-style=campanion-classic] .assignment-insights-stat-low .assignment-insights-stat-value{color:#c4922a!important}[data-style=campanion-classic] .assignment-insights-chart-title{color:#1c1008!important;font-family:Lora,Georgia,serif!important;font-size:17px!important;font-weight:500!important;margin-bottom:14px!important}[data-style=campanion-classic] .assignment-insights-table{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:12px!important;box-shadow:0 2px 16px #2c181014!important;overflow:hidden!important}[data-style=campanion-classic] .assignment-insights-table th{background:#f0e4d0!important;border-bottom:1px solid #5c3d2e26!important;color:#9b7060!important;font-size:11px!important;font-weight:500!important;letter-spacing:1px!important;padding:12px 24px!important;text-transform:uppercase!important}[data-style=campanion-classic] .assignment-insights-table tr{border-bottom:1px solid #5c3d2e26!important;transition:background .1s!important}[data-style=campanion-classic] .assignment-insights-table tr:last-child{border-bottom:none!important}[data-style=campanion-classic] .assignment-insights-table tbody tr:hover{background:#faf5ee!important}[data-style=campanion-classic] .assignment-insights-grade{border:none!important;border-radius:20px!important;display:inline-block!important;font-family:Lora,Georgia,serif!important;font-size:14px!important;font-weight:500!important;padding:4px 12px!important}[data-style=campanion-classic] .assignment-insights-grade.grade-high{background:#4a7c591a!important;color:#4a7c59!important}[data-style=campanion-classic] .assignment-insights-grade.grade-mid{background:#c4922a1a!important;color:#c4922a!important}[data-style=campanion-classic] .assignment-insights-grade.grade-low{background:#c05a2a1a!important;color:#c05a2a!important}[data-style=campanion-classic] .smart-compare-hint{color:#9b7060!important}[data-style=campanion-classic] .smart-compare-hint a,[data-style=campanion-classic] .smart-compare-link{border-bottom:1px solid #4a7c5959!important;color:#4a7c59!important;font-weight:500!important;text-decoration:none!important}[data-style=campanion-classic] .smart-compare-hint a:hover,[data-style=campanion-classic] .smart-compare-link:hover{border-bottom-color:#4a7c59!important}[data-style=campanion-classic] .assignment-insights-download{background:#0000!important;border:1px solid #5c3d2e26!important;border-radius:8px!important;color:#9b7060!important}[data-style=campanion-classic] .assignment-insights-download:hover{border-color:#8b6455!important;color:#5c3d2e!important}[data-style=campanion-classic] .feature-card{background:#fff!important;border:1px solid #5c3d2e26!important;border-radius:12px!important;box-shadow:0 2px 12px #2c181012!important}[data-style=campanion-classic] .feature-card:hover{border-color:#5c3d2e4d!important;box-shadow:0 4px 18px #2c18101a!important}[data-style=campanion-classic] .feature-card h4{color:#1c1008!important;font-family:Lora,Georgia,serif!important;font-weight:500!important}[data-style=campanion-classic] .feature-card p{color:#9b7060!important}[data-style=campanion-classic] .feature-icon{filter:grayscale(.6) sepia(.4)!important;opacity:.75!important}[data-style=campanion-classic] .empty-state p{color:#9b7060!important;font-family:DM Sans,system-ui,sans-serif!important;font-weight:300!important}[data-style=campanion-classic] *{scrollbar-width:thin}[data-style=campanion-classic] ::-webkit-scrollbar{width:4px}[data-style=campanion-classic] ::-webkit-scrollbar-track{background:#0000}[data-style=campanion-classic] ::-webkit-scrollbar-thumb{background:#5c3d2e33;border-radius:4px}[data-style=campanion-classic] ::-webkit-scrollbar-thumb:hover{background:#5c3d2e66}[data-style=campanion-classic][data-theme=dark]{--bg:#1a1410;--surface:#241c16;--surface-muted:#2e2520;--surface-elevated:#382e26;--text:#f5ede0;--text-muted:#c8b8a2;--text-soft:#907e6c;--border:#f5ede01f;--border-subtle:#f5ede00f;--primary:#daa040;--primary-strong:#f0c060;--primary-soft:#daa04026;--accent:#e07040;--accent-strong:#f09060;--accent-soft:#e070401f;--success:#5cb87a;--success-soft:#5cb87a1f;--color-approve:#5cb87a;--color-approve-hover:#4caa6a;--warning:#f0c040;--warning-soft:#f0c0401f;--danger:#e06060;--danger-soft:#e060601f;--shadow:0 4px 20px #0006;--shadow-soft:0 2px 10px #0000004d;--elevation-raised:0 1px 3px #0003,0 1px 2px #00000026;--elevation-floating:0 4px 16px #00000040,0 2px 4px #00000026;--scrollbar-track:#241c16;--scrollbar-thumb:#f5ede026;--scrollbar-thumb-hover:#f5ede040;--chart-1:#daa040;--chart-2:#5cb87a;--chart-3:#e07040;--chart-4:#a08070;--chart-5:#c8b8a2;--chart-6:#c09050;--divider:color-mix(in srgb,var(--border) 60%,#0000);--divider-subtle:color-mix(in srgb,var(--border) 30%,#0000)}[data-style=campanion-classic][data-theme=dark] .app-body,[data-style=campanion-classic][data-theme=dark] .app-content,[data-style=campanion-classic][data-theme=dark] .app-main,[data-style=campanion-classic][data-theme=dark] .app-shell,[data-style=campanion-classic][data-theme=dark] .chat-container{background:#1a1410!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .chat-sidebar{background:#1e140e!important}[data-style=campanion-classic][data-theme=dark] .app-topbar{background:#16100b!important;border-bottom-color:#f5ede014!important}[data-style=campanion-classic][data-theme=dark] .app-sidebar{background:#241c16!important}[data-style=campanion-classic][data-theme=dark] .app-sidebar::-webkit-scrollbar-track{background:#241c16}[data-style=campanion-classic][data-theme=dark] .app-sidebar::-webkit-scrollbar-thumb{background:#f5ede026;border-color:#241c16}[data-style=campanion-classic][data-theme=dark] .sidebar-nav-btn{color:#f5ede0b3!important}[data-style=campanion-classic][data-theme=dark] .sidebar-nav-btn:hover{background:#f5ede014!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .sidebar-nav-btn.active{background:#f5ede01f!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .app-sidebar.collapsed .sidebar-nav-btn[data-tooltip]:after{background:#1a1410;color:#f5ede0}[data-style=campanion-classic][data-theme=dark] .chat-input-container{background:#241c16!important}[data-style=campanion-classic][data-theme=dark] .chat-input,[data-style=campanion-classic][data-theme=dark] input.chat-input{background:#382e26!important;border-color:#f5ede01f!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .chat-input::placeholder{color:#907e6c!important}[data-style=campanion-classic][data-theme=dark] .chat-message.assistant .message-content,[data-style=campanion-classic][data-theme=dark] .message.model .message-content{background:#382e26!important;border-color:#f5ede01a!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .chat-message.user .message-content,[data-style=campanion-classic][data-theme=dark] .message.user .message-content{background:#2e2520!important;border-color:#f5ede01a!important;color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-stat,[data-style=campanion-classic][data-theme=dark] .assignment-insights-table{background:#382e26!important;border-color:#f5ede01a!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-table th{background:#2e2520!important;color:#907e6c!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-title{color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-subtitle{color:#907e6c!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-chart-title{color:#f5ede0!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-stat-label{color:#907e6c!important}[data-style=campanion-classic][data-theme=dark] .assignment-insights-table tbody tr:hover{background:#f5ede014!important}[data-style=campanion-classic][data-theme=dark] .feature-card{background:#382e26!important;border-color:#f5ede01a!important}[data-style=campanion-classic][data-theme=dark] .chat-action-chip{background:#382e26!important;border-color:#f5ede01a!important;color:#c8b8a2!important}[data-style=campanion-classic][data-theme=dark] .chat-sidebar-item{color:#c8b8a2!important}[data-style=campanion-classic][data-theme=dark] .chat-sidebar-item:hover{background:#f5ede00f!important}[data-style=campanion-classic][data-theme=dark] .chat-sidebar-item.active{background:#f5ede01f!important}.ac-multi-file{display:flex;flex-direction:column;gap:20px}.ac-multi-file-section{display:flex;flex-direction:column;gap:0}.ac-file-label{border-bottom:1px solid #5c3d2e1a;color:#9b7060;font-size:11px;font-weight:600;letter-spacing:.8px;margin-bottom:8px;padding:6px 0 4px;text-transform:uppercase}.ac-shell{display:flex;flex-direction:column;gap:0;max-width:90%}.ac-intro{background:#fff;border:1px solid #5c3d2e21;border-bottom:none;border-radius:4px 16px 0 0;color:#5c3d2e;font-size:13.5px;line-height:1.6;padding:14px 20px 11px}.ac-card{background:#fff;border:1px solid #5c3d2e21;border-radius:0 0 16px 16px;box-shadow:0 2px 16px #2c181014;overflow:hidden}.ac-shell .ac-intro+.ac-card{border-top:none}.ac-shell .ac-card:first-child{border-radius:4px 16px 16px 16px}.ac-header{align-items:flex-start;display:flex;justify-content:space-between;padding:16px 22px}.ac-doc-label{color:#f6eee373;font-size:9px;font-weight:500;letter-spacing:1.5px;margin-bottom:3px;text-transform:uppercase}.ac-doc-title{color:#f6eee3;font-family:Playfair Display,Georgia,serif;font-size:17px;font-weight:700;letter-spacing:-.2px}.ac-doc-meta{display:flex;gap:10px;margin-top:5px}.ac-doc-meta span{color:#f6eee37a;font-size:10.5px}.ac-pts-badge{align-self:flex-start;background:#ffffff26;border-radius:6px;color:#fff;font-size:11px;font-weight:600;padding:4px 10px;white-space:nowrap}.ac-body{background:#fdfaf6}.ac-footer{align-items:center;background:#fff;border-top:1px solid #5c3d2e21;display:flex;justify-content:space-between;padding:10px 22px 13px}.ac-footer-hint{color:#9b7060;font-size:11.5px;font-style:italic}.ac-actions{display:flex;gap:7px}.ac-btn{align-items:center;background:#0000;border:1px solid #5c3d2e21;border-radius:7px;color:#5c3d2e;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:11.5px;gap:5px;padding:5px 11px;transition:all .15s}.ac-btn:hover{background:#f6eee3;border-color:#8b6455}.ac-btn--primary{background:#4a7c59;border-color:#4a7c59;color:#fff}.ac-btn--primary:hover{background:#3a6347}.es-section-title,.lb-section-title,.mth-section-title,.tl-section-title{align-items:center;color:#9b7060;display:flex;font-family:Lora,Georgia,serif;font-size:10px;font-weight:500;gap:8px;letter-spacing:1px;margin-bottom:8px;text-transform:uppercase}.es-section-title:after,.lb-section-title:after,.mth-section-title:after,.tl-section-title:after{background:#5c3d2e1f;content:"";flex:1 1;height:1px}.qz-body{gap:14px;padding:16px 22px}.qz-body,.qz-question{display:flex;flex-direction:column}.qz-question{gap:8px}.qz-question-header{align-items:flex-start;display:flex;gap:11px}.qz-q-num{color:#8b6455;font-family:Playfair Display,serif;font-size:14px;font-weight:700;min-width:18px}.qz-q-text{color:#1c1008;flex:1 1;font-size:13px;line-height:1.5}.qz-q-pts{background:#8b64551a;border-radius:10px;color:#9b7060;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 7px;white-space:nowrap}.qz-options{display:flex;flex-direction:column;gap:5px;padding-left:28px}.qz-option{align-items:center;background:#fff;border:1px solid #5c3d2e21;border-radius:7px;color:#1c1008;display:flex;font-size:12.5px;gap:9px;padding:7px 12px}.qz-option--correct{background:#4a7c590f;border-color:#4a7c5959}.qz-option-letter{color:#8b6455;font-family:Playfair Display,serif;font-size:12px;font-weight:700;min-width:14px}.qz-option--correct .qz-option-letter{color:#4a7c59}.qz-correct-tag{background:#4a7c591a;border-radius:8px;color:#4a7c59;font-size:10px;font-weight:600;margin-left:auto;padding:1px 7px}.es-body{gap:14px;padding:16px 22px}.es-body,.es-section{display:flex;flex-direction:column}.es-pull-quote{background:#f6eee3;border-left:3px solid #c4922a;border-radius:0 8px 8px 0;color:#1c1008;font-family:Lora,serif;font-size:13.5px;font-style:italic;line-height:1.7;padding:11px 14px}.es-pull-source{color:#9b7060;font-size:11px;font-style:normal}.es-questions{display:flex;flex-direction:column;gap:8px}.es-question{align-items:flex-start;background:#f6eee3;border:1px solid #5c3d2e21;border-radius:8px;display:flex;gap:11px;padding:10px 13px}.es-q-num{color:#8b6455;font-family:Playfair Display,serif;font-size:13px;font-weight:700;min-width:16px}.es-q-text{color:#1c1008;flex:1 1;font-size:13px;line-height:1.55}.es-q-pts{align-self:flex-start;background:#8b64551a;border-radius:10px;color:#9b7060;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 7px;white-space:nowrap}.es-rubric{display:flex;flex-direction:column;gap:5px}.es-rubric-row{align-items:center;background:#f6eee3;border:1px solid #5c3d2e21;border-radius:7px;display:flex;justify-content:space-between;padding:7px 12px}.es-rubric-crit{color:#1c1008;font-size:12.5px}.es-rubric-pts{color:#4a7c59;font-size:11px;font-weight:600}.tl-body{gap:14px;padding:16px 22px}.tl-body,.tl-section{display:flex;flex-direction:column}.tl-word-bank{display:flex;flex-wrap:wrap;gap:6px}.tl-word-chip{background:#fff;border:1px solid #5c3d2e21;border-radius:6px;color:#5c3d2e;font-family:Lora,Georgia,serif;font-size:12px;font-style:italic;padding:4px 10px}.tl-events{display:flex;flex-direction:column;gap:0}.tl-event-row{align-items:baseline;border-bottom:1px solid #5c3d2e1a;display:flex;gap:14px;padding:10px 0}.tl-event-row:last-child{border-bottom:none}.tl-year{color:#c4922a;flex-shrink:0;font-family:Playfair Display,serif;font-size:13px;font-weight:700;min-width:46px}.tl-event-text{color:#1c1008;font-size:12.5px;line-height:1.6}.tl-blank{background:#9b7060;border-bottom:1.5px solid #9b7060;display:inline-block;height:1px;margin:0 3px;position:relative;top:-3px;vertical-align:initial;width:80px}.lb-body{gap:14px;padding:16px 22px}.lb-body,.lb-section,.lb-sections{display:flex;flex-direction:column}.lb-sections{gap:8px}.lb-row{align-items:flex-start;background:#f6eee3;border:1px solid #5c3d2e21;border-radius:8px;display:flex;gap:12px;padding:10px 13px}.lb-icon{align-items:center;background:#5c3d2e14;border-radius:7px;color:#8b6455;display:flex;flex-shrink:0;height:28px;justify-content:center;margin-top:1px;width:28px}.lb-sec-name{color:#1c1008;font-family:Lora,serif;font-size:13px;font-weight:500;margin-bottom:2px}.lb-sec-desc{color:#9b7060;font-size:11.5px;line-height:1.5;margin-bottom:6px}.lb-lines{display:flex;flex-direction:column;gap:5px}.lb-line{background:#5c3d2e26;border-radius:1px;height:1px}.lb-rubric{display:flex;flex-direction:column;gap:5px}.lb-rubric-row{align-items:center;background:#f6eee3;border:1px solid #5c3d2e21;border-radius:7px;display:flex;justify-content:space-between;padding:7px 12px}.lb-rubric-crit{color:#1c1008;font-size:12.5px}.lb-rubric-pts{color:#4a7c59;font-size:11px;font-weight:600}.mth-body{gap:14px;padding:16px 22px}.mth-body,.mth-section{display:flex;flex-direction:column}.mth-example-box{background:#f6eee3;border:1px solid #5c3d2e21;border-radius:10px;padding:14px 16px}.mth-problem-label{color:#9b7060;font-size:11px;font-weight:500;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.mth-steps{display:flex;flex-direction:column;gap:6px}.mth-step{align-items:baseline;display:flex;font-size:13px;gap:10px}.mth-step-label{color:#8b6455;font-size:10px;font-weight:500;letter-spacing:.5px;min-width:56px;text-transform:uppercase}.mth-step-expr{color:#1c1008;font-family:Lora,Georgia,serif}.mth-answer{color:#4a7c59;font-size:13px;font-weight:600;margin-top:8px}.mth-problems{display:flex;flex-direction:column;gap:8px}.mth-problem-row{align-items:center;background:#f6eee3;border:1px solid #5c3d2e21;border-radius:8px;display:flex;gap:11px;padding:10px 13px}.mth-p-num{color:#8b6455;font-family:Playfair Display,serif;font-size:14px;font-weight:700;min-width:18px}.mth-p-eq{color:#1c1008;flex:1 1;font-family:Lora,Georgia,serif;font-size:15px;letter-spacing:.5px}.mth-p-hint{color:#9b7060;font-size:11px;font-style:italic}.mth-p-pts{background:#8b64551a;border-radius:10px;color:#9b7060;font-size:10px;font-weight:600;padding:2px 7px;white-space:nowrap}.et-body{gap:12px;padding:16px 22px}.et-body,.et-prompt{display:flex;flex-direction:column}.et-prompt{gap:8px}.et-prompt-header{align-items:flex-start;display:flex;gap:11px}.et-prompt-num{color:#8b6455;font-family:Playfair Display,serif;font-size:14px;font-weight:700;min-width:18px}.et-prompt-text{color:#1c1008;flex:1 1;font-size:13px;line-height:1.5}.et-prompt-pts{background:#8b64551a;border-radius:10px;color:#9b7060;flex-shrink:0;font-size:10px;font-weight:600;padding:2px 7px;white-space:nowrap}.et-open-lines{display:flex;flex-direction:column;gap:5px;padding-left:28px}.et-line{background:#5c3d2e26;height:1px}.et-scale{display:flex;gap:8px;padding-left:28px}.et-scale-circle{align-items:center;border:1.5px solid #5c3d2e33;border-radius:50%;color:#5c3d2e;cursor:pointer;display:flex;font-size:13px;height:32px;justify-content:center;width:32px}.et-yesno{display:flex;gap:8px;padding-left:28px}.et-yesno-opt{border:1.5px solid #5c3d2e33;border-radius:7px;color:#5c3d2e;cursor:pointer;font-size:13px;padding:6px 18px}.ms-container{align-items:center;background:#fdfaf6;border:1px solid #5c3d2e21;border-radius:12px;display:flex;flex-direction:column;gap:10px;margin-bottom:8px;padding:14px 18px}.ms-label{color:#5c3d2e;font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase}.ms-options{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.ms-option{align-items:center;background:#fff;border:1.5px solid #5c3d2e26;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;font-family:DM Sans,sans-serif;gap:4px;padding:10px 18px;transition:all .15s}.ms-option:hover{background:#f6eee3;border-color:#8b6455}.ms-icon{font-size:20px}.ms-option-label{color:#1c1008;font-size:12px;font-weight:600}.ms-option-desc{color:#9b7060;font-size:10px}.ms-dismiss{background:none;border:none;color:#9b7060;cursor:pointer;font-family:DM Sans,sans-serif;font-size:11px;padding:4px 8px}.ms-dismiss:hover{color:#5c3d2e;text-decoration:underline}.cc-carousel{display:flex;flex-direction:column;gap:8px;max-width:90%}.cc-top-bar{align-items:center;display:flex;justify-content:space-between;padding:0 4px}.cc-counter{color:#9b7060;font-weight:500}.cc-counter,.cc-student-toggle{font-size:11px}.cc-student-toggle--active{background:#f6eee3;border-color:#8b6455}.cc-viewport{gap:8px;position:relative}.cc-arrow,.cc-viewport{align-items:center;display:flex}.cc-arrow{background:#fff;border:1px solid #5c3d2e26;border-radius:50%;box-shadow:0 2px 8px #2c18101a;color:#5c3d2e;cursor:pointer;height:32px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .15s;width:32px;z-index:2}.cc-arrow:hover{background:#f6eee3;border-color:#8b6455}.cc-arrow--left{left:-16px}.cc-arrow--right{right:-16px}.cc-card-frame{flex:1 1;min-width:0}.cc-dots{display:flex;gap:6px;justify-content:center;padding:4px 0}.cc-dot{background:#5c3d2e26;border:none;border-radius:50%;cursor:pointer;height:8px;transition:background .15s;width:8px}.cc-dot--active{background:#8b6455}.ac-loading{align-items:center;color:#9b7060;display:flex;font-family:DM Sans,sans-serif;font-size:13px;gap:10px;padding:16px}.ac-loading-spinner{animation:spin .7s linear infinite;border:2px solid #5c3d2e26;border-radius:50%;border-top-color:#5c3d2e;flex-shrink:0;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}[data-theme=dark] .ac-intro{color:var(--text-muted)}[data-theme=dark] .ac-card,[data-theme=dark] .ac-intro{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .ac-card{box-shadow:0 2px 16px #0000004d}[data-theme=dark] .ac-body{background:var(--surface)}[data-theme=dark] .ac-footer{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .ac-footer-hint{color:var(--text-soft)}[data-theme=dark] .ac-file-label{border-color:var(--border);color:var(--text-soft)}[data-theme=dark] .ac-btn{border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .ac-btn:hover{background:var(--surface-muted);border-color:var(--text-soft)}[data-theme=dark] .es-q-text,[data-theme=dark] .es-rubric-crit,[data-theme=dark] .et-prompt-text,[data-theme=dark] .lb-rubric-crit,[data-theme=dark] .lb-sec-name,[data-theme=dark] .ms-option-label,[data-theme=dark] .mth-p-eq,[data-theme=dark] .mth-step-expr,[data-theme=dark] .qz-q-text,[data-theme=dark] .tl-event-text{color:var(--text)}[data-theme=dark] .es-q-num,[data-theme=dark] .es-section-title,[data-theme=dark] .et-prompt-num,[data-theme=dark] .lb-icon,[data-theme=dark] .lb-section-title,[data-theme=dark] .mth-p-num,[data-theme=dark] .mth-section-title,[data-theme=dark] .mth-step-label,[data-theme=dark] .qz-option-letter,[data-theme=dark] .qz-q-num,[data-theme=dark] .tl-section-title{color:var(--text-soft)}[data-theme=dark] .es-section-title:after,[data-theme=dark] .lb-section-title:after,[data-theme=dark] .mth-section-title:after,[data-theme=dark] .tl-section-title:after{background:var(--border)}[data-theme=dark] .cc-counter,[data-theme=dark] .es-pull-source,[data-theme=dark] .es-q-pts,[data-theme=dark] .et-prompt-pts,[data-theme=dark] .lb-sec-desc,[data-theme=dark] .ms-dismiss,[data-theme=dark] .ms-option-desc,[data-theme=dark] .mth-p-hint,[data-theme=dark] .mth-p-pts,[data-theme=dark] .mth-problem-label,[data-theme=dark] .qz-q-pts{color:var(--text-soft)}[data-theme=dark] .es-rubric-pts,[data-theme=dark] .lb-rubric-pts,[data-theme=dark] .mth-answer,[data-theme=dark] .qz-correct-tag,[data-theme=dark] .qz-option--correct .qz-option-letter{color:var(--success)}[data-theme=dark] .qz-correct-tag{background:var(--success-soft)}[data-theme=dark] .tl-year{color:var(--primary)}[data-theme=dark] .es-pull-quote{background:var(--surface-muted);border-color:var(--primary);color:var(--text)}[data-theme=dark] .es-question,[data-theme=dark] .es-rubric-row,[data-theme=dark] .lb-row,[data-theme=dark] .lb-rubric-row,[data-theme=dark] .mth-example-box,[data-theme=dark] .mth-problem-row{background:var(--surface-muted);border-color:var(--border)}[data-theme=dark] .qz-option,[data-theme=dark] .tl-word-chip{background:var(--surface-elevated);border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .qz-option--correct{background:color-mix(in srgb,var(--success) 8%,var(--surface-elevated));border-color:color-mix(in srgb,var(--success) 25%,#0000)}[data-theme=dark] .tl-event-row{border-color:var(--border)}[data-theme=dark] .tl-blank{background:var(--text-soft);border-color:var(--text-soft)}[data-theme=dark] .et-line,[data-theme=dark] .lb-line{background:var(--border)}[data-theme=dark] .et-scale-circle,[data-theme=dark] .et-yesno-opt{border-color:var(--border);color:var(--text-muted)}[data-theme=dark] .cc-dot{background:var(--border)}[data-theme=dark] .cc-dot--active{background:var(--text-soft)}[data-theme=dark] .ms-container{background:var(--surface);border-color:var(--border)}[data-theme=dark] .ms-label{color:var(--text-muted)}[data-theme=dark] .ms-option{background:var(--surface-elevated);border-color:var(--border)}[data-theme=dark] .ms-option:hover{background:var(--surface-muted);border-color:var(--text-soft)}[data-theme=dark] .ms-dismiss:hover{color:var(--text)}[data-theme=dark] .cc-arrow{background:var(--surface-elevated);border-color:var(--border);box-shadow:0 2px 8px #0000004d;color:var(--text-muted)}[data-theme=dark] .cc-arrow:hover,[data-theme=dark] .cc-student-toggle--active{background:var(--surface-muted);border-color:var(--text-soft)}[data-theme=dark] .ac-loading{color:var(--text-soft)}@media print{.ac-actions,.ac-footer-hint,.chip,.input-wrap,.rail,.sidebar,.tab-bar,.topbar,body>:not(.ac-shell){display:none!important}.ac-card{border:none!important;border-radius:0!important;box-shadow:none!important}.ac-card:before{border-bottom:1pt solid #5c3d2e33;color:#9b7060;content:"Campanion  ·  " attr(data-title) "  ·  " attr(data-class);display:block;font-family:DM Sans,sans-serif;font-size:10pt;margin-bottom:12pt;padding:8pt 0 6pt}.lb-line{background:#0000!important;border-bottom:1pt solid #5c3d2e26!important;height:24pt!important;margin-bottom:6pt!important}.qz-option--correct{background:#0000!important;border-color:#5c3d2e21!important}.qz-correct-tag{display:none!important}.qz-question{page-break-inside:avoid}}.login-wrapper{align-items:center;background:var(--bg);display:flex;font-family:var(--font-sans);justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeInUp .6s ease-out forwards;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elevation-floating);max-width:420px;padding:40px;text-align:center;transform:translateY(-10px);width:100%}.login-card h2{color:var(--text);font-size:1.8rem;font-weight:600;margin-bottom:30px;padding-bottom:15px;position:relative}.login-card h2:after{background:var(--primary);border-radius:3px;bottom:0;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:60px}.google-btn{align-items:center;background:var(--accent);border:none;border-radius:var(--radius);box-shadow:var(--shadow-soft);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:12px;height:48px;justify-content:center;margin-top:25px;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.google-btn.secondary{background:var(--surface-muted);border:1px solid var(--border);box-shadow:none;color:var(--text);margin-top:12px}.google-btn.secondary:hover{background:var(--surface-elevated);border-color:var(--text-muted)}.google-btn.secondary:before{display:none}.auth-error{color:var(--danger);margin-top:16px}.auth-error,.auth-message{font-size:.95rem;text-align:center}.auth-message{color:var(--text);margin-top:12px}.auth-form{display:flex;flex-direction:column;gap:12px;margin-top:10px}.auth-input{border:1px solid var(--border);border-radius:8px;font-size:.95rem;height:46px;padding:0 14px;width:100%}.auth-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,#0000);outline:none}.auth-link{background:#0000;border:none;color:var(--accent);cursor:pointer;font-weight:600;margin-top:12px}.google-btn:hover{background:var(--accent-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.google-btn:active{transform:translateY(0)}.google-btn:before{background:url(https://www.google.com/favicon.ico) no-repeat 50%;background-size:contain;content:"";display:inline-block;height:24px;vertical-align:middle;width:24px}.auth-legal-links{align-items:center;border-top:1px solid var(--border-subtle);display:flex;font-size:var(--text-micro);gap:8px;justify-content:center;margin-top:20px;padding-top:16px}.auth-legal-links a{color:var(--text-soft);text-decoration:none;transition:color var(--transition-fast) var(--ease-out)}.auth-legal-links a:hover{color:var(--primary)}.auth-legal-sep{color:var(--text-soft)}@media (max-width:480px){.login-card{margin:0 15px;padding:30px 20px}.login-card h2{font-size:1.5rem}.google-btn{font-size:.95rem;height:48px}}.dashboard{border-radius:0;height:100%;margin:0;overflow:hidden;overflow-x:hidden;overscroll-behavior:contain;padding:0}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:2rem;font-weight:700;margin-bottom:24px}.dashboard-layout{box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0}.analytics-sidebar{display:flex;flex:1 1;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.dashboard-toolbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--divider-subtle);display:flex;flex-shrink:0;gap:12px}.dashboard-toolbar .tab-strip{border-bottom:none;flex:1 1}.chat-drawer-toggle{align-items:center;display:flex;flex:0 1;flex-shrink:0;gap:6px;margin-right:16px}.analytics-buttons{display:flex;flex-direction:column;gap:0;margin-bottom:0}.dropdown-container{position:relative}.dropdown-toggle{align-items:center;background:#0000;border:2px solid var(--border);border-radius:0;color:var(--text-muted);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:12px;padding:16px 20px;text-align:left;transition:background-color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:100%}.dropdown-arrow{margin-left:auto;transition:transform .2s ease}.dropdown-arrow.open{transform:rotate(180deg)}.dropdown-menu{animation:slideDown var(--transition-fast) var(--ease-out);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0;left:0;margin-top:0;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.dropdown-menu button{align-items:center;background:#0000;border:none;color:var(--text-muted);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:100%}.dropdown-menu button:first-child,.dropdown-menu button:last-child{border-radius:0}.dashboard{background:var(--bg)}.dashboard,.dashboard-header h1,.dropdown-toggle{color:var(--text)}.dropdown-toggle{background:var(--surface);border:1px solid var(--border)}.dropdown-toggle:hover{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.dropdown-menu{background:var(--surface);border:1px solid var(--border)}.dropdown-menu button{color:var(--text)}.dropdown-menu button:hover{background:var(--surface-muted);color:var(--text)}.dropdown-menu button.active{background:var(--primary-soft);color:var(--primary)}.analytics-filters{gap:20px;margin:20px 0 28px}.overview-cards{gap:16px}.overview-card{padding:16px}.chart-container{padding:20px}.category-management,.chart-container,.overview-card,.standards-summary-card,.stat-card{background:var(--surface-elevated);border:none;box-shadow:var(--shadow-soft)}.category-item label,.category-management h4,.chart-subtitle,.overview-label,.overview-subtext,.weighting-toggle{color:var(--text-muted)}.chart-container h3,.dashboard .analytics-content,.dashboard .category-management,.dashboard .chart-container,.dashboard .overview-card,.dashboard .standards-summary-card,.dashboard .stat-card,.overview-value,.stat-card h3{color:var(--text)}.recharts-cartesian-axis-tick-value,.recharts-text{fill:var(--text-muted)}.recharts-legend-item-text{color:var(--text-muted)}.recharts-default-tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.category-add input,.category-item input{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text)}.analytics-content{background:var(--bg);border:none;border-radius:0;box-shadow:none;box-sizing:border-box;flex:1 1;overflow-y:auto;padding:24px;scroll-behavior:smooth;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.analytics-content::-webkit-scrollbar{height:10px;width:10px}.analytics-content::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.analytics-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}.analytics-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.analytics-content::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}.chat-messages::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-hover)}.analytics-content,.chat-messages{position:relative}.analytics-filters{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:16px 0 24px}.submissions-filters{margin-bottom:20px}.overview-cards{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.overview-cards>.overview-card{flex:1 1 130px;max-width:200px;min-width:130px}.overview-card{background:var(--surface-elevated);border:none;border-left:3px solid var(--border);border-radius:var(--radius);box-shadow:var(--elevation-raised);display:flex;flex-direction:column;gap:4px;padding:16px 18px;transition:transform var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.overview-card:hover{box-shadow:var(--elevation-floating);transform:translateY(-1px)}.overview-card-primary{border-left-color:var(--primary)}.overview-card-success{border-left-color:var(--success)}.overview-card-warning{border-left-color:var(--warning)}.overview-card-danger{border-left-color:var(--danger)}.overview-card-accent{border-left-color:var(--accent)}.overview-label{color:var(--text-muted);font-size:.78rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.overview-value-row{align-items:baseline;display:flex;gap:8px}.overview-value{color:var(--text);font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.overview-trend{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:.75rem;font-weight:600;gap:2px;padding:2px 6px}.overview-trend-up{background:var(--success-soft);color:var(--success)}.overview-trend-down{background:var(--danger-soft);color:var(--danger)}.overview-subtext{color:var(--text-soft);font-size:.75rem}.chart-subtitle{color:var(--text-soft);font-size:.8rem;margin:0 0 16px}.category-management{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:12px}.category-management h4{color:var(--text);font-size:.95rem;margin:0 0 8px}.weighting-toggle{align-items:center;color:var(--text-muted);display:flex;font-size:.85rem;gap:10px;margin-bottom:10px;padding:4px 0}.category-list{display:flex;flex-direction:column;gap:8px}.category-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.2fr .6fr auto auto}.category-item input{border:1px solid var(--border);border-radius:0}.category-add input,.category-item input{background:var(--surface-elevated);color:var(--text);padding:6px 8px}.category-add input{border:1px solid var(--border);border-radius:8px}.category-add input::placeholder,.category-item input::placeholder{color:var(--text-soft)}.category-add button,.category-item button{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;padding:6px 10px}.category-add button:hover,.category-item button:hover{background:var(--accent-strong);border-color:var(--accent)}.category-item button.danger{background:#ff4c4c26;border-color:var(--danger);color:#ff4c4c}.category-add{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1.2fr .6fr auto}.category-add,.category-select{margin-top:10px}.category-select label{color:var(--text-muted);display:flex;flex-direction:column;font-size:.85rem;gap:6px}.category-hint{color:var(--text-soft);font-size:.75rem;margin-top:6px}.category-select select{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 8px}.category-select select option{color:var(--text)}.searchable-select{background:var(--surface-muted);border:1px solid var(--border);border-radius:0;display:flex;flex-direction:column;gap:8px;padding:12px}.searchable-label{color:var(--text-muted);font-size:.85rem}.searchable-input-row{display:flex;gap:8px}.searchable-actions{display:flex;margin-top:6px}.searchable-input{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;padding:8px 10px}.searchable-input::placeholder{color:var(--text-soft)}.searchable-clear{background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;padding:6px 10px;width:100%}.searchable-selected{color:var(--text-muted);font-size:.8rem}.searchable-options{display:flex;flex-wrap:wrap;gap:6px;max-height:140px;overflow:auto;padding-right:4px}.searchable-option{background:var(--surface-elevated);border:1px solid var(--border);border-radius:999px;color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:6px 10px;transition:background-color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.searchable-option.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.searchable-option:hover{border-color:var(--border)}.searchable-empty{color:var(--text-soft);font-size:.8rem;padding:4px 2px}.submissions-list{display:flex;flex-direction:column;gap:10px}.submission-row{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:14px 16px;transition:background-color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out)}.submission-row:hover,.submission-row:nth-child(2n){background:var(--surface-elevated)}.submission-row:hover{border-color:var(--accent)}.submission-row span{color:var(--text);font-size:.9rem}.submission-separator{color:var(--text-soft)}.submission-grade{color:var(--accent-strong);font-weight:600}.submission-feedback-btn{background:#2196f326;border:1px solid #2196f366;border-radius:8px;color:#93c5fd;cursor:pointer;font-size:.82rem;margin-left:auto;padding:6px 10px;transition:background .2s ease,border-color .2s ease}.submission-feedback-btn:hover:not(:disabled){background:#2196f340;border-color:#2196f399}.submission-feedback-btn:disabled{cursor:not-allowed;opacity:.5}.rubric-summary{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;margin-top:16px;padding:14px}.rubric-summary h3{color:var(--text);font-size:1rem;margin:0 0 10px}.rubric-summary-list{display:flex;flex-direction:column;gap:8px}.rubric-summary-item{border-bottom:1px solid var(--border);display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding-bottom:6px}.rubric-summary-item:last-child{border-bottom:none;padding-bottom:0}.rubric-summary-name{color:var(--text)}.rubric-summary-score{font-feature-settings:"tnum";color:var(--text-muted);font-variant-numeric:tabular-nums}.feedback-modal-overlay{align-items:center;animation:fadeIn var(--transition-normal) var(--ease-out);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:2000}.feedback-modal{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #00000073;display:flex;flex-direction:column;max-height:85vh;width:min(760px,95vw)}.feedback-modal-header{align-items:flex-start;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:16px 18px}.feedback-modal-header h3{color:var(--text);font-size:1.1rem;margin:0}.feedback-modal-subtitle{color:var(--text-muted);font-size:.85rem;margin-top:4px}.feedback-modal-actions{align-items:center;display:flex;gap:10px}.feedback-modal-download{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent-strong);cursor:pointer;font-weight:500;padding:6px 12px}.feedback-modal-download.secondary{background:var(--surface-muted);border-color:var(--border);color:var(--text)}.feedback-modal-download.secondary:hover:not(:disabled){background:var(--surface-elevated)}.feedback-modal-download:hover:not(:disabled){background:var(--accent-strong)}.feedback-modal-download:disabled{cursor:not-allowed;opacity:.5}.feedback-modal-close{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:6px 12px}.feedback-modal-close:hover{background:var(--surface-elevated)}.feedback-modal-body{overflow-y:auto;padding:16px 18px}.feedback-modal-text{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;color:var(--text);line-height:1.5;padding:12px;white-space:normal}.feedback-modal-text.editing{padding:0}.feedback-modal-editor{color:inherit;min-height:220px;outline:none;padding:12px}.submissions-download-all{display:flex;justify-content:flex-end;margin:12px 0 8px}.submissions-header{align-items:center;display:flex;gap:16px;justify-content:space-between}.submissions-download-btn{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent-strong);cursor:pointer;font-weight:600;padding:8px 14px}.submissions-download-btn:hover:not(:disabled){background:var(--accent-strong)}.submissions-download-btn:disabled{cursor:not-allowed;opacity:.5}.submissions-download-ready{display:flex;justify-content:flex-end;margin-top:0}.submissions-download-link{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent-strong);font-weight:600;padding:6px 12px;text-decoration:none}.submissions-download-link:hover{background:var(--accent-strong)}.download-ready-banner{align-items:center;background:#1c1f2df2;border:1px solid var(--border);border-radius:12px;color:var(--text);display:flex;gap:12px;margin-bottom:12px;padding:10px 14px;position:-webkit-sticky;position:sticky;top:0;z-index:1500}.download-modal-close{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;padding:6px 12px}.download-modal-close:hover{background:var(--surface-elevated)}.feedback-export{background:#fff;box-sizing:border-box;color:#1a1a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;left:-10000px;line-height:1.6;opacity:1;overflow:visible;padding:32px 36px;pointer-events:none;position:fixed;top:0;visibility:visible;width:760px;z-index:-1}.feedback-export h2{border-bottom:2px solid #e0e0e0;color:#1a1a1a;font-size:1.4em;margin:0 0 12px;padding-bottom:8px}.feedback-export h3{color:#2a2a2a;font-size:1.15em;margin:1em 0 .5em}.feedback-export h4{color:#333;font-size:1em;margin:.8em 0 .4em}.feedback-export p{color:#1a1a1a;font-size:.95rem;margin:0 0 12px}.feedback-export strong{color:#1a1a1a}.feedback-export ol,.feedback-export ul{color:#1a1a1a;margin:.5em 0 .5em 1.2em}.feedback-export li{margin-bottom:.3em}.feedback-export table{border-collapse:collapse;font-size:.9em;margin:12px 0;width:100%}.feedback-export td,.feedback-export th{border:1px solid #ccc;color:#1a1a1a;padding:8px 10px;text-align:left}.feedback-export th{background:#f0f0f0;font-weight:600}.feedback-export tr:nth-child(2n) td{background:#fafafa}.feedback-export code{background:#f3f3f3;border-radius:3px;color:#c7254e;font-family:Fira Code,Consolas,monospace;font-size:.88em;padding:.15em .4em}.feedback-export pre{background:#f5f5f5;border-radius:4px;margin:10px 0;overflow-x:auto;padding:12px}.feedback-export pre code{background:none;color:#1a1a1a;padding:0}.feedback-export blockquote{border-left:3px solid #ddd;color:#555;margin:.8em 0;padding:.4em 1em}.feedback-export hr{border:none;border-top:1px solid #e0e0e0;margin:1em 0}.feedback-export .math-chip{background:#0000;border:none;margin:0;padding:0}.feedback-export .math-chip-delete,.feedback-export .math-chip-edit{display:none}.feedback-modal-text h1,.feedback-modal-text h2,.feedback-modal-text h3,.feedback-modal-text h4{font-weight:600;margin:.6em 0 .4em}.feedback-modal-text p{margin:.6em 0}.feedback-modal-text ol,.feedback-modal-text ul{margin:.6em 0 .6em 1.2em}.feedback-modal-text code{background:var(--surface-muted);border-radius:4px;font-family:Fira Code,Consolas,monospace;font-size:.85em;padding:2px 6px}.feedback-modal-text pre{background:var(--surface-elevated);border-radius:8px;margin:.6em 0;overflow-x:auto;padding:10px}.feedback-modal-text blockquote{border-left:3px solid var(--border);color:var(--text-muted);margin:.6em 0;padding-left:12px}.feedback-modal-rubric{margin-top:16px}.feedback-modal-rubric h4{color:var(--text);font-size:.95rem;margin:0 0 8px}.feedback-modal-rubric-list{display:flex;flex-direction:column;gap:8px}.feedback-modal-rubric-item{border-bottom:1px solid var(--border);display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding-bottom:6px}.feedback-modal-rubric-item:last-child{border-bottom:none;padding-bottom:0}.analytics-content:hover:after,.analytics-content:hover:before,.chat-messages:hover:after,.chat-messages:hover:before{opacity:1}.analytics-content,.chat-messages{-webkit-overflow-scrolling:touch;scroll-snap-type:y proximity}.analytics-content>*,.chat-messages>*{scroll-snap-align:start}.chat-drawer-backdrop{animation:fadeIn var(--transition-normal) var(--ease-out);background:#0000004d;inset:0;position:fixed;z-index:50}.chat-drawer{background:var(--surface);border-left:1px solid var(--border);bottom:0;box-shadow:var(--elevation-floating);display:flex;flex-direction:column;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform var(--transition-slow) var(--ease-out);width:400px;z-index:51}.chat-drawer.open{transform:translateX(0)}.chat-drawer-resize-handle{bottom:0;cursor:col-resize;left:-3px;position:absolute;top:0;transition:background var(--transition-fast) var(--ease-out);width:6px;z-index:2}.chat-drawer-resize-handle:hover,.chat-drawer.dragging .chat-drawer-resize-handle{background:color-mix(in srgb,var(--primary) 30%,#0000)}.chat-drawer.dragging{transition:none}.chat-drawer-header{align-items:flex-start;border-bottom:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:12px;justify-content:space-between;padding:20px 20px 16px}.chat-drawer-header-text{flex:1 1;min-width:0}.chat-drawer-header h2{color:var(--text);font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin:0}.chat-drawer-subtitle{color:var(--text-soft);font-size:.8rem;margin:2px 0 0}.chat-drawer-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:32px}.chat-drawer-close:hover{background:var(--surface-muted);color:var(--text)}.chat-header{background:var(--surface-muted);border-bottom:1px solid var(--border);padding:20px}.chat-header h2{color:var(--text);font-size:1.2rem;margin-bottom:8px}.chat-header p{color:var(--text-muted);font-size:.9rem;margin:0}.chat-messages{background:var(--surface-muted);display:flex;flex:1 1;flex-direction:column;gap:16px;overflow-y:auto;padding:20px;scroll-behavior:smooth;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin}.chat-messages::-webkit-scrollbar{height:10px;width:10px}.chat-messages::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:8px}.chat-messages::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:8px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.chat-messages::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb-active)}.chat-welcome{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);display:flex;flex-direction:column;gap:14px;padding:20px}.chat-welcome-icon{align-items:center;background:var(--primary-soft);border-radius:var(--radius);color:var(--primary);display:flex;height:40px;justify-content:center;width:40px}.chat-welcome p{color:var(--text-muted);font-size:.9rem;line-height:1.45;margin:0}.chat-prompt-chips{display:flex;flex-wrap:wrap;gap:8px}.chat-prompt-chip{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;font-size:.8rem;padding:6px 14px;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.chat-prompt-chip:hover{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.chat-message{display:flex;gap:10px}.chat-message.user{flex-direction:row-reverse}.chat-message .message-content{border-radius:var(--radius-lg);font-size:.875rem;line-height:1.5;max-width:88%;padding:10px 14px}.chat-message.user .message-content{background:var(--primary);border-bottom-right-radius:4px;color:#fff}.chat-message.assistant .message-content{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-bottom-left-radius:4px;color:var(--text)}.analytics-chat-notice{align-items:flex-start;background:color-mix(in srgb,var(--primary) 8%,#0000);border:1px solid color-mix(in srgb,var(--primary) 25%,#0000);border-radius:8px;border-radius:var(--radius-md,8px);color:var(--text);display:flex;gap:10px;padding:8px 12px}.analytics-chat-notice svg{color:var(--primary)}.chat-typing-dots{align-items:center;display:inline-flex;gap:4px;padding:4px 0}.chat-typing-dots span{animation:typingBounce 1.4s ease-in-out infinite;background:var(--text-soft);border-radius:50%;height:6px;width:6px}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-input-form{background:var(--surface);border-top:1px solid var(--border-subtle);display:flex;flex-shrink:0;gap:10px;padding:16px 20px}.chat-input-form input{background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text);flex:1 1;font-family:var(--font-sans);font-size:.875rem;outline:none;padding:10px 16px;transition:border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out)}.chat-input-form input::placeholder{color:var(--text-soft)}.chat-input-form input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,#0000)}.chat-input-form button{align-items:center;background:var(--accent);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:38px;justify-content:center;transition:background var(--transition-fast) var(--ease-out),transform var(--transition-fast) var(--ease-out);width:38px}.chat-input-form button svg{stroke:#fff}.chat-input-form button:hover:not(:disabled){background:var(--accent-strong);transform:translateY(-1px)}.chat-input-form button:disabled{background:var(--surface-muted);cursor:not-allowed;opacity:.5}.chat-input-form button:disabled svg{stroke:var(--text-soft)}.dashboard-content h2{color:var(--text);font-size:1.75rem;margin-bottom:24px;margin-top:24px}.stats-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:32px}.stat-card{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--elevation-raised);padding:20px;position:relative;transition:transform var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out);will-change:transform}.stat-card:hover{border-color:color-mix(in srgb,var(--primary) 25%,var(--border));box-shadow:var(--elevation-floating);transform:translateY(-2px)}.stat-card-summary{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.stat-pill{background:var(--surface-muted);border-radius:var(--radius-pill);color:var(--text-muted);display:inline-block;font-size:.85rem;font-weight:600;padding:3px 10px}.stat-pill-grade{font-weight:700}.stat-pill-grade.grade-A{background:var(--success-soft);color:var(--success)}.stat-pill-grade.grade-B{background:var(--success-soft);color:#16a34a}.stat-pill-grade.grade-C{background:var(--warning-soft);color:var(--warning)}.stat-pill-grade.grade-D{background:color-mix(in srgb,#ea580c 10%,#0000);color:#ea580c}.stat-pill-grade.grade-F{background:var(--danger-soft);color:var(--danger)}.stat-pill.muted{background:var(--surface-muted);color:var(--text-soft);font-weight:400}.stat-card-details{margin-top:8px}.stat-card-details>summary{align-items:center;color:var(--text-soft);cursor:pointer;display:flex;font-size:.85rem;gap:6px;list-style:none;padding:6px 0;-webkit-user-select:none;user-select:none}.stat-card-details>summary::-webkit-details-marker{display:none}.stat-card-details>summary svg{transition:transform var(--transition-fast) var(--ease-out)}.stat-card-details[open]>summary svg{transform:rotate(180deg)}.stat-card-details>summary:hover{color:var(--primary)}.stat-card-details[open]>summary{color:var(--primary);margin-bottom:12px}.stat-card h3{color:var(--text);font-size:1.25rem;font-weight:600;margin-bottom:16px}.inline-edit{align-items:center;display:flex;gap:10px;margin-bottom:8px}.inline-input{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);flex:1 1;font-size:1rem;padding:6px 10px}.inline-actions{display:flex;gap:6px}.inline-btn{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent);cursor:pointer;padding:4px 10px}.inline-btn.secondary{background:#0000;border-color:var(--text-soft);color:var(--text)}.inline-btn.edit{background:#0000;border-color:var(--border);color:var(--text-muted)}.inline-btn.danger{background:#f4433626;border-color:#f4433680;color:var(--accent-strong)}.analytics-crud-bar{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 16px;padding:12px}.analytics-crud-bar input,.analytics-crud-bar select{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:.9rem;padding:6px 10px}.analytics-crud-bar select option{background:var(--surface);color:var(--text)}.analytics-crud-bar input::placeholder{color:var(--text-soft)}.crud-btn{background:var(--accent-soft);border:1px solid var(--accent);border-radius:8px;color:var(--accent-strong);cursor:pointer;font-weight:600;padding:6px 12px}.crud-btn:disabled{cursor:not-allowed;opacity:.6}.crud-error{align-self:center;color:var(--accent);font-size:.85rem}.submission-input{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;min-width:80px;padding:4px 8px}.submission-input-feedback{min-width:140px}.submission-action-btn{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:.85rem;padding:4px 8px}.submission-action-btn.secondary{background:#0000;border-color:var(--border)}.submission-action-btn.danger{background:#f4433626;border-color:#f4433680;color:var(--accent-strong)}.submission-error{color:var(--accent);font-size:.8rem}.inline-error{color:var(--accent);font-size:.85rem;margin-bottom:8px}.stat-details{display:flex;flex-direction:column;gap:12px}.stat-item{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:8px 0}.stat-item:last-child{border-bottom:none}.stat-label{color:var(--text-soft);font-size:.9rem}.stat-value{color:var(--text);font-size:1rem;font-weight:600}.rubric-section{padding-top:20px}.rubric-section,.standards-analytics{border-top:1px solid var(--border);margin-top:20px}.standards-analytics{padding-top:12px}.standards-analytics h4{color:var(--text);font-size:.95rem;margin:10px 0}.standards-analytics h3{color:var(--text);font-size:1.05rem;margin:10px 0 6px}.standards-summary-cards{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:8px}.standards-summary-card{background:var(--surface-muted);border:none;border-radius:10px;box-shadow:var(--shadow-soft);padding:10px}.summary-label{color:var(--text-soft);display:block;font-size:.8rem}.summary-value{color:var(--text);display:block;font-size:1.05rem;font-weight:600;margin-top:4px}.standards-lists{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:24px}.standards-list h5{color:var(--text-muted);font-size:.85rem;margin:4px 0 8px}.standards-list-item{border-bottom:1px solid var(--border);display:flex;font-size:.85rem;gap:8px;justify-content:space-between;padding:6px 0}.standards-list-item:last-child{border-bottom:none}.standards-score{font-feature-settings:"tnum";color:var(--text-muted);font-variant-numeric:tabular-nums}.standards-empty{color:var(--text-soft);font-size:.8rem;padding:6px 0}.standards-management{border-top:1px solid var(--border);margin-top:20px;padding-top:20px}.standards-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.standards-upload-button{align-items:center;background:#2196f333;border:1px solid #2196f366;border-radius:6px;color:#2196f3;cursor:pointer;display:inline-flex;gap:6px;padding:6px 10px}.standards-upload-button input[type=file]{display:none}.standards-button{background:var(--accent-soft);border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;padding:6px 10px}.standards-button:hover,.standards-upload-button:hover{background:var(--accent-strong)}.standards-status{color:var(--text-muted);font-size:.85rem}.standards-error{color:var(--accent);font-size:.85rem}.standards-summary{margin-top:8px}.standards-source{color:var(--text-soft);font-size:.8rem;margin-bottom:8px}.standards-list{display:flex;flex-direction:column;gap:6px}.standards-item{align-items:center;display:flex;font-size:.85rem;gap:8px}.standards-code{color:var(--success);font-weight:600}.standards-name{color:var(--text)}.standards-more{color:var(--text-soft);font-size:.8rem}.rubric-section h4{color:var(--text-muted);font-size:1rem;margin-bottom:12px}.rubric-stats{display:flex;flex-direction:column;gap:8px}.rubric-item{align-items:center;display:flex;gap:12px;padding:6px 0}.rubric-label{color:var(--text-muted);flex:1 1;font-size:.875rem}.rubric-value{color:var(--success);font-weight:600;min-width:50px}.rubric-range{color:var(--text-soft);font-size:.75rem}.strengths-section,.weaknesses-section{border-radius:8px;margin-top:16px;padding:12px}.strengths-section{background:#4caf501a;border:1px solid #4caf504d}.weaknesses-section{background:#ff98001a;border:1px solid #ff98004d}.strengths-section h4,.weaknesses-section h4{color:var(--text);font-size:.95rem;margin-bottom:8px}.strengths-section ul,.weaknesses-section ul{list-style:none;margin:0;padding:0}.strengths-section li,.weaknesses-section li{color:var(--text-muted);font-size:.875rem;padding:4px 0}.chart-container{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius);box-shadow:var(--elevation-raised);box-sizing:border-box;margin-bottom:20px;padding:24px}.chart-container+.chart-container,.chart-container+.standards-analytics{margin-top:0}.chart-container h3{color:var(--text);font-family:var(--font-display);font-size:1.1rem;font-weight:600;margin-bottom:4px}.empty-state,.error,.loading{color:var(--text-muted);font-size:1.1rem;padding:60px 20px;text-align:center}.error{color:var(--danger)}.empty-state{align-items:center;color:var(--text-soft);display:flex;flex-direction:column;gap:8px}.empty-state h3{color:var(--text);font-size:1.1rem;font-weight:600;margin:4px 0 0}.empty-state p{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0;max-width:320px}@media (max-width:1200px){.dashboard-layout{padding-top:0}.analytics-sidebar{width:100%}}@media (max-width:768px){.dashboard{padding:16px}.stats-grid{grid-template-columns:1fr}.analytics-buttons button{font-size:.9rem;padding:12px 16px}.chat-drawer{width:100%!important}.chat-drawer-resize-handle{display:none}}.trend-section{background:var(--accent-soft);border-radius:8px;margin-top:16px;padding:12px}.trend-badge{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:.8rem;font-weight:600;gap:2px;padding:3px 10px}.trend-badge.improving{background:var(--success-soft);color:var(--success)}.trend-badge.declining{background:var(--danger-soft);color:var(--danger)}.trend-badge.stable{background:var(--surface-muted);color:var(--text-soft)}.trend-change{color:var(--text-muted);font-size:.9rem}.rubric-comparison-section{margin-top:16px}.rubric-rank{background:var(--accent);border-radius:50%;color:#fff;display:inline-block;font-size:.75rem;font-weight:700;height:24px;line-height:24px;margin-right:8px;text-align:center;width:24px}.distribution-section{background:#2196f30d;border-radius:8px;margin-top:16px;padding:12px}.percentile-info{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-top:8px}.percentile-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;padding:6px 10px}.percentile-label{color:var(--text-soft);font-size:.85rem}.percentile-value{color:#2196f3;font-weight:600}.correlation-section{background:#9c27b00d;border-radius:8px;margin-top:16px;padding:12px}.correlation-list{margin-top:8px}.correlation-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.correlation-standard{color:var(--text-muted);font-size:.85rem}.correlation-value{font-size:.85rem;font-weight:600}.correlation-value.strong{color:var(--success)}.correlation-value.moderate{color:var(--warning)}.correlation-value.none,.correlation-value.weak{color:var(--text-soft)}.progress-section{background:#4caf500d;border-radius:8px;margin-top:16px;padding:12px}.progress-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;margin-bottom:8px;padding:4px 12px}.progress-badge.improving{background:#4caf5033;color:var(--success)}.progress-badge.declining{background:#f4433633;color:var(--danger)}.progress-badge.stable{background:#9e9e9e33;color:var(--text-soft)}.progress-details{color:var(--text-muted);display:flex;font-size:.85rem;gap:16px;margin-top:8px}.rubric-progress-section{margin-top:16px}.rubric-progress-list{margin-top:8px}.rubric-progress-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.progress-trend{font-size:.85rem;font-weight:600}.progress-trend.improving{color:var(--success)}.progress-trend.declining{color:var(--danger)}.progress-trend.stable{color:var(--text-soft)}.class-comparison-section{background:#ff98000d;border-radius:8px;margin-top:16px;padding:12px}.comparison-list{margin-top:8px}.comparison-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.comparison-label{color:var(--text-muted);font-size:.85rem}.comparison-value{font-size:.85rem;font-weight:600}.comparison-value.above{color:var(--success)}.comparison-value.below{color:var(--danger)}.predictions-section{background:#9c27b00d;border-radius:8px;padding:12px}.prediction-info{display:flex;flex-direction:column;gap:8px;margin-top:8px}.prediction-grade{color:var(--text)}.prediction-confidence{border-radius:12px;font-size:.85rem;padding:4px 8px}.prediction-confidence.high{background:#4caf5033;color:var(--success)}.prediction-confidence.medium{background:#ff980033;color:var(--warning)}.prediction-confidence.low{background:#9e9e9e33;color:var(--text-soft)}.rubric-analysis-section{margin-top:16px}.difficulty-ranking{margin-top:24px}.difficulty-list{margin-top:8px}.difficulty-item{align-items:center;background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.difficulty-item.high{border-left:3px solid var(--danger)}.difficulty-item.medium{border-left:3px solid var(--warning)}.difficulty-item.low{border-left:3px solid var(--success)}.difficulty-standard{color:var(--text);font-size:.9rem}.difficulty-avg{color:var(--text-muted);font-weight:600}.difficulty-badge{border-radius:10px;font-size:.75rem;padding:2px 8px;text-transform:uppercase}.difficulty-item.high .difficulty-badge{background:#f4433633;color:var(--danger)}.difficulty-item.medium .difficulty-badge{background:#ff980033;color:var(--warning)}.difficulty-item.low .difficulty-badge{background:#4caf5033;color:var(--success)}.improvement-opportunities{margin-top:16px}.opportunities-list{margin-top:8px}.opportunity-item{background:var(--accent-soft);border-left:3px solid var(--accent);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.opportunity-standard{color:var(--text);font-size:.9rem}.opportunity-gap{color:var(--accent);font-weight:600}.distribution-ranges{margin-top:8px}.distribution-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.distribution-range{color:var(--text-muted);font-size:.85rem}.distribution-count{color:#2196f3;font-size:.85rem;font-weight:600}.assignment-comparison-section{background:#2196f30d;border-radius:8px;margin-top:16px;padding:12px}.assignment-comp-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.comp-assignment{color:var(--text-muted);font-size:.85rem}.comp-average{color:#2196f3;font-size:.85rem;font-weight:600}.performance-distribution{margin-top:16px}.distribution-bars{margin-top:8px}.dist-bar{border-radius:6px;display:flex;justify-content:space-between;margin-bottom:6px;padding:8px 12px}.dist-bar.excellent{background:#4caf5026;border-left:3px solid var(--success)}.dist-bar.good{background:#ff980026;border-left:3px solid var(--warning)}.dist-bar.needs-improvement{background:#f4433626;border-left:3px solid var(--danger)}.dist-label{color:var(--text-muted);font-size:.85rem}.dist-value{font-size:.85rem;font-weight:600}.struggling-students-section,.top-performers-section{margin-top:16px}.performers-list,.struggling-list{margin-top:8px}.performer-item,.struggling-item{background:var(--surface-muted);border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 10px}.performer-name,.struggling-name{color:var(--text-muted);font-size:.85rem}.performer-avg{color:var(--success);font-weight:600}.struggling-avg{color:var(--danger);font-weight:600}.recommendations-section{margin-top:16px}.recommendations-list{margin-top:8px;padding-left:20px}.recommendations-list li{color:var(--text-muted);font-size:.85rem;line-height:1.5;margin-bottom:6px}.correlation-matrix{margin-top:16px;overflow-x:auto}.correlation-table{background:#1c1f2db3;border-collapse:collapse;border-radius:8px;overflow:hidden;width:100%}.correlation-table thead{background:var(--accent-soft)}.correlation-table th{border-bottom:2px solid var(--accent);color:var(--text);font-size:.85rem;font-weight:600;padding:12px;text-align:left}.correlation-table td{border-bottom:1px solid var(--border);font-size:.85rem;padding:10px 12px}.correlation-table .row-header{background:var(--accent-soft);color:var(--text);font-weight:600}.correlation-cell{font-weight:500;text-align:center}.correlation-cell.strong{background:#4caf5033;color:var(--success)}.correlation-cell.moderate{background:#ff980033;color:var(--warning)}.correlation-cell.weak{background:#9e9e9e33;color:var(--text-soft)}.correlation-cell.none{color:var(--text-soft)}.rubric-histograms{display:flex;flex-direction:column;gap:16px;margin-top:16px}.histogram-section{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;padding:12px}.histogram-section h5{color:var(--text-muted);font-size:.85rem;font-weight:600;margin:0 0 8px}.radar-chart-container{background:#1c1f2d80;border:1px solid var(--border);border-radius:12px;margin-top:24px;padding:20px}@media (max-width:1024px){.percentile-info{grid-template-columns:1fr}.correlation-table{font-size:.75rem}.correlation-table td,.correlation-table th,.histogram-section{padding:8px}.rubric-histograms{gap:12px}}.analytics-sidebar,.dashboard,.dashboard-layout{border:0;border-radius:0;box-shadow:none;margin:0;padding:0}.analytics-content .dashboard-content{padding-top:24px}.analytics-content .dashboard-content h2{margin-top:0}.dashboard .analytics-content,.dashboard .category-management,.dashboard .chart-container,.dashboard .chat-input-form button,.dashboard .chat-input-form input,.dashboard .chat-message .message-content,.dashboard .dropdown-menu,.dashboard .dropdown-menu button,.dashboard .dropdown-toggle,.dashboard .overview-card,.dashboard .standards-summary-card,.dashboard .stat-card,.dashboard .submissions-download-btn,.dashboard .submissions-download-link,.dashboard .submissions-download-ready{border-radius:var(--radius)}.dashboard .dropdown-menu,.dashboard .dropdown-menu button,.dashboard .dropdown-menu button:first-child,.dashboard .dropdown-menu button:last-child,.dashboard .dropdown-toggle{border-radius:0}.dashboard .searchable-input,.dashboard .searchable-option,.dashboard .searchable-options,.dashboard .searchable-select{border-radius:8px}.stat-card .inline-btn.danger,.stat-card .inline-btn.edit{opacity:0;pointer-events:none;transition:opacity var(--transition-normal) var(--ease-out)}.stat-card:focus-within .inline-btn.danger,.stat-card:focus-within .inline-btn.edit,.stat-card:hover .inline-btn.danger,.stat-card:hover .inline-btn.edit{opacity:1;pointer-events:auto}.submission-row .submission-feedback-btn{opacity:0;pointer-events:none;transition:opacity var(--transition-normal) var(--ease-out)}.submission-row:focus-within .submission-feedback-btn,.submission-row:hover .submission-feedback-btn{opacity:1;pointer-events:auto}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overview-card{animation:cardFadeIn var(--transition-slow) var(--ease-out) both}.overview-card:first-child{animation-delay:0ms}.overview-card:nth-child(2){animation-delay:50ms}.overview-card:nth-child(3){animation-delay:.1s}.overview-card:nth-child(4){animation-delay:.15s}.overview-card:nth-child(5){animation-delay:.2s}.tab-strip{background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:0}.tab-strip-btn{background:#0000;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;padding:14px 16px;transition:color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),background-color var(--transition-fast) var(--ease-out);white-space:nowrap}.tab-strip-btn:hover{background:var(--surface-muted);color:var(--text)}.tab-strip-btn.active{border-bottom-color:var(--primary);color:var(--primary)}.crud-drawer-toggle{align-items:center;background:var(--surface-muted);border:1px dashed var(--border);border-radius:10px;color:var(--accent);cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:8px;margin:12px 0 20px;padding:10px 14px;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out)}.crud-drawer-toggle:hover{background:var(--surface-elevated);border-color:var(--accent)}.crud-drawer-body{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--transition-slow) var(--ease-out),opacity var(--transition-normal) var(--ease-out)}.crud-drawer-body.open{max-height:200px;opacity:1}.filters-toggle-btn{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:8px;margin-bottom:12px;padding:8px 14px;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.filters-toggle-btn:hover{background:var(--surface-elevated);border-color:var(--accent);color:var(--text)}.filters-badge{align-items:center;background:var(--accent);border-radius:999px;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;line-height:1;min-width:18px;padding:0 5px}.filters-collapsible{max-height:0;opacity:0;overflow:hidden;transition:max-height var(--transition-slow) var(--ease-out),opacity var(--transition-normal) var(--ease-out)}.filters-collapsible.open{max-height:600px;opacity:1}.feedback-modal-close-x{align-items:center;background:#0000;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:32px}.feedback-modal-close-x:hover{background:var(--surface-elevated);color:var(--text)}.feedback-download-dropdown{position:relative}.feedback-download-dropdown-menu{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);margin-top:4px;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.feedback-download-dropdown-item{background:none;border:none;color:var(--text);cursor:pointer;display:block;font-size:.85rem;padding:8px 14px;text-align:left;transition:background var(--transition-fast) var(--ease-out);width:100%}.feedback-download-dropdown-item:hover{background:var(--surface-muted)}.feedback-download-dropdown-item:disabled{cursor:not-allowed;opacity:.5}.smart-compare-result-body.transitioning{opacity:.3;transition:opacity .15s var(--ease-out)}.smart-compare-result-body:not(.transitioning){transition:opacity .15s var(--ease-out)}.smart-compare-overflow-menu{position:relative}.smart-compare-overflow-btn{align-items:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:32px}.smart-compare-overflow-btn:hover{background:var(--surface-muted);color:var(--text)}.smart-compare-overflow-dropdown{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);margin-top:4px;min-width:160px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.smart-compare-overflow-dropdown button{background:none;border:none;color:var(--text);cursor:pointer;display:block;font-size:.85rem;padding:8px 14px;text-align:left;transition:background var(--transition-fast) var(--ease-out);width:100%}.smart-compare-overflow-dropdown button:hover:not(:disabled){background:var(--surface-muted)}.smart-compare-overflow-dropdown button:disabled{cursor:not-allowed;opacity:.5}.student-filter-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 12px}.student-search-wrap{flex:1 1;min-width:180px;position:relative}.student-search-icon{color:var(--text-soft);left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.student-search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text);font-size:.875rem;height:38px;padding:0 12px 0 36px;transition:border-color var(--transition-fast) var(--ease-out),box-shadow var(--transition-fast) var(--ease-out);width:100%}.student-search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,#0000);outline:none}.student-search-input::placeholder{color:var(--text-soft)}.student-filter-select{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font-size:.85rem;height:38px;padding:0 12px;transition:border-color var(--transition-fast) var(--ease-out)}.student-filter-select:focus{border-color:var(--primary);outline:none}.student-card .inline-edit{margin-bottom:0}.student-card-header{align-items:flex-start;display:flex;gap:16px;margin-bottom:12px}.student-card-name-area{flex:1 1;min-width:0}.student-card-name-area h3{margin-bottom:4px}.student-grade-ring{flex-shrink:0;position:relative}.student-grade-ring,.student-grade-svg{height:64px;width:64px}.student-grade-arc{transition:stroke-dashoffset var(--transition-slow) var(--ease-out)}.student-grade-ring.grade-A .student-grade-arc{stroke:var(--success)}.student-grade-ring.grade-B .student-grade-arc{stroke:#16a34a}.student-grade-ring.grade-C .student-grade-arc{stroke:var(--warning)}.student-grade-ring.grade-D .student-grade-arc{stroke:#ea580c}.student-grade-ring.grade-F .student-grade-arc{stroke:var(--danger)}.student-grade-value{color:var(--text);font-family:var(--font-display);font-size:.9rem;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.student-stats-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.student-stat-chip{align-items:center;background:var(--surface-muted);border-radius:var(--radius-sm);display:flex;flex:1 1;flex-direction:column;min-width:56px;padding:6px 10px}.student-stat-label{color:var(--text-soft);font-size:.7rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.student-stat-num{color:var(--text);font-size:.85rem;font-weight:600}.progress-badge{align-items:center;display:inline-flex;gap:5px}.progress-badge svg{flex-shrink:0}.predictions-section{background:color-mix(in srgb,var(--primary) 5%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-left:3px solid var(--primary);border-radius:var(--radius);margin-top:16px;padding:14px}.prediction-header{align-items:center;color:var(--primary);display:flex;gap:8px;margin-bottom:8px}.prediction-header h4{color:var(--primary);font-size:.9rem;margin:0}.prediction-grade{font-size:1.5rem;font-weight:700}.prediction-grade.grade-A{color:var(--success)}.prediction-grade.grade-B{color:#16a34a}.prediction-grade.grade-C{color:var(--warning)}.prediction-grade.grade-D{color:#ea580c}.prediction-grade.grade-F{color:var(--danger)}.prediction-confidence{border-radius:var(--radius-pill);display:inline-block;font-size:.8rem;font-weight:500;padding:3px 10px;text-transform:capitalize;width:-webkit-fit-content;width:fit-content}@media (max-width:900px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.stats-grid{grid-template-columns:1fr}.student-filter-bar{align-items:stretch;flex-direction:column}.student-search-wrap{min-width:100%}}.class-overview-stats{margin-bottom:12px}.class-stat-chip-row{display:flex;gap:12px;margin-bottom:10px}.class-stat-main{align-items:center;background:var(--surface-muted);border-radius:var(--radius);display:flex;flex:1 1;flex-direction:column;padding:10px 16px}.class-stat-main-value{color:var(--text);font-family:var(--font-display);font-size:1.25rem;font-weight:700}.class-stat-main.grade-A .class-stat-main-value{color:var(--success)}.class-stat-main.grade-B .class-stat-main-value{color:#16a34a}.class-stat-main.grade-C .class-stat-main-value{color:var(--warning)}.class-stat-main.grade-D .class-stat-main-value{color:#ea580c}.class-stat-main.grade-F .class-stat-main-value{color:var(--danger)}.class-stat-main-label{color:var(--text-soft);font-size:.75rem;letter-spacing:.5px;text-transform:uppercase}.class-stat-details{display:flex;flex-wrap:wrap;gap:12px}.class-stat-detail{align-items:center;color:var(--text-muted);display:inline-flex;font-size:.8rem;gap:5px}.class-stat-detail svg{color:var(--text-soft);flex-shrink:0}.category-management-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.category-management-header h4{margin:0}.weighting-toggle-styled{align-items:center;cursor:pointer;display:inline-flex;gap:8px;-webkit-user-select:none;user-select:none}.weighting-toggle-input{height:0;opacity:0;position:absolute;width:0}.weighting-toggle-track{background:var(--border);border-radius:10px;flex-shrink:0;height:20px;position:relative;transition:background var(--transition-fast) var(--ease-out);width:36px}.weighting-toggle-input:checked+.weighting-toggle-track{background:var(--primary)}.weighting-toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 3px #00000026;height:16px;left:2px;position:absolute;top:2px;transition:transform var(--transition-fast) var(--ease-out);width:16px}.weighting-toggle-input:checked+.weighting-toggle-track .weighting-toggle-thumb{transform:translateX(16px)}.weighting-toggle-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.weighting-toggle-input:focus-visible+.weighting-toggle-track{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 20%,#0000)}.category-empty-state{align-items:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-soft);display:flex;font-size:.85rem;gap:10px;padding:14px}.category-empty-state svg{color:var(--text-soft);flex-shrink:0}.distribution-item-bar{margin-bottom:8px}.distribution-item-header{display:flex;justify-content:space-between;margin-bottom:4px}.distribution-bar-track{background:var(--surface-muted);border-radius:3px;height:6px;overflow:hidden}.distribution-bar-fill{border-radius:3px;height:100%;transition:width var(--transition-slow) var(--ease-out)}.distribution-bar-fill.grade-A{background:var(--success)}.distribution-bar-fill.grade-B{background:#16a34a}.distribution-bar-fill.grade-C{background:var(--warning)}.distribution-bar-fill.grade-D{background:#ea580c}.distribution-bar-fill.grade-F{background:var(--danger)}.assignment-comp-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.assignment-comp-card{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 12px}.assignment-comp-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.comp-assignment-name{color:var(--text);flex:1 1;font-size:.85rem;font-weight:500;margin-right:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comp-grade-pill{border-radius:var(--radius-pill);flex-shrink:0;font-size:.8rem;font-weight:700;padding:2px 8px}.comp-grade-pill.grade-A{background:var(--success-soft);color:var(--success)}.comp-grade-pill.grade-B{background:var(--success-soft);color:#16a34a}.comp-grade-pill.grade-C{background:var(--warning-soft);color:var(--warning)}.comp-grade-pill.grade-D{background:color-mix(in srgb,#ea580c 10%,#0000);color:#ea580c}.comp-grade-pill.grade-F{background:var(--danger-soft);color:var(--danger)}.comp-bar-track{background:var(--border-subtle);border-radius:2px;height:4px;overflow:hidden}.comp-bar-fill{border-radius:2px;height:100%;transition:width var(--transition-slow) var(--ease-out)}.comp-bar-fill.grade-A{background:var(--success)}.comp-bar-fill.grade-B{background:#16a34a}.comp-bar-fill.grade-C{background:var(--warning)}.comp-bar-fill.grade-D{background:#ea580c}.comp-bar-fill.grade-F{background:var(--danger)}.submissions-action-btn-secondary{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:6px;padding:8px 14px;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.submissions-action-btn-secondary:hover{background:var(--surface-muted);border-color:var(--primary);color:var(--text)}.submissions-action-btn-secondary svg{flex-shrink:0}.submissions-table{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius);margin-top:16px;overflow:hidden}.submissions-table-header{background:var(--surface-muted);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.submission-row,.submissions-table-header{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1.5fr 1.5fr 1fr 80px 100px 120px;padding:10px 16px}.submission-row{align-items:center;border-bottom:1px solid var(--border-subtle);color:var(--text);font-size:.875rem;transition:background var(--transition-fast) var(--ease-out)}.submission-row:last-child{border-bottom:none}.submission-row:hover{background:var(--surface-muted)}.sub-col{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-col-student{font-weight:500}.sub-col-assignment,.sub-col-class{color:var(--text-muted)}.sub-col-date{color:var(--text-soft);font-size:.82rem}.sub-col-grade{text-align:center}.sub-col-actions{align-items:center;display:flex;gap:4px;justify-content:flex-end}.submission-grade-pill{border-radius:var(--radius-pill);display:inline-block;font-size:.8rem;font-weight:700;padding:2px 10px}.submission-grade-pill.grade-A{background:var(--success-soft);color:var(--success)}.submission-grade-pill.grade-B{background:var(--success-soft);color:#16a34a}.submission-grade-pill.grade-C{background:var(--warning-soft);color:var(--warning)}.submission-grade-pill.grade-D{background:color-mix(in srgb,#ea580c 10%,#0000);color:#ea580c}.submission-grade-pill.grade-F{background:var(--danger-soft);color:var(--danger)}.sub-icon-btn{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-soft);cursor:pointer;display:inline-flex;height:30px;justify-content:center;transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out);width:30px}.sub-icon-btn:hover{background:var(--surface-muted);color:var(--text)}.sub-icon-btn-save{color:var(--success)}.sub-icon-btn-save:hover{background:var(--success-soft);color:var(--success)}.sub-icon-btn-danger:hover{background:var(--danger-soft);color:var(--danger)}.sub-icon-btn:disabled{cursor:not-allowed;opacity:.4}@media (max-width:900px){.submission-row,.submissions-table-header{font-size:.8rem;gap:4px;grid-template-columns:1.2fr 1.2fr .8fr 70px 90px 100px;padding:8px 10px}}@media (max-width:700px){.submission-row .sub-col-class,.submission-row .sub-col-date,.submissions-table-header .sub-col-class,.submissions-table-header .sub-col-date{display:none}.submission-row,.submissions-table-header{grid-template-columns:1.5fr 1.5fr 70px 90px}}.confirm-dialog{animation:slideUp .2s var(--ease-out);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elevation-floating);left:50%;max-width:400px;padding:var(--space-6);position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:10001}.confirm-dialog-title{color:var(--text);font-size:1.1rem;font-weight:600;margin:0 0 8px}.confirm-dialog-message{color:var(--text-muted);font-size:.9rem;line-height:1.5;margin:0 0 20px}.confirm-dialog-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn-danger{align-items:center;background:var(--danger);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;height:40px;justify-content:center;padding:0 20px;transition:background .2s}.confirm-btn-danger:hover{background:#a82828}.ram-modal{display:flex;flex-direction:column;max-height:85vh!important;max-width:760px!important}.ram-title{margin-bottom:4px!important}.ram-meta-bar{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px 16px}.ram-meta-item{font-size:.9rem;line-height:1.4;margin-bottom:8px}.ram-meta-label{color:var(--text-muted);font-weight:600;margin-right:6px}.ram-meta-chips{display:flex;flex-wrap:wrap;gap:8px}.ram-chip{background:color-mix(in srgb,var(--accent) 10%,#0000);border:1px solid var(--accent);border-radius:12px;color:var(--accent);display:inline-block;font-size:.78rem;font-weight:600;padding:3px 10px}.ram-chip-type{text-transform:capitalize}.ram-content{flex:1 1;margin-bottom:16px;overflow-y:auto;padding-right:4px}.ram-criterion-card{border:1px solid var(--border);border-radius:10px;margin-bottom:14px;overflow:hidden}.ram-criterion-header{align-items:center;background:var(--surface-muted);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:12px 16px}.ram-criterion-name{color:var(--text);font-size:.95rem;font-weight:700}.ram-criterion-pts{color:var(--accent);font-size:.95rem;font-weight:700;white-space:nowrap}.ram-criterion-section{border-bottom:1px solid var(--border);padding:10px 16px}.ram-section-label{color:var(--text-muted);font-size:.8rem;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.ram-section-body{color:var(--text);font-size:.88rem;line-height:1.5}.ram-tiers{padding:8px 16px 12px}.ram-tier-row{border-bottom:1px solid var(--border);padding:8px 0}.ram-tier-row:last-child{border-bottom:none}.ram-tier-badge{align-items:center;border-left:3px solid;display:flex;gap:10px;margin-bottom:4px;padding-left:10px}.ram-tier-label{color:var(--text);font-size:.85rem;font-weight:600}.ram-tier-range{color:var(--text-soft);font-size:.78rem;font-weight:500}.ram-tier-desc{color:var(--text-muted);font-size:.84rem;line-height:1.45;margin-top:2px;padding-left:13px}.ram-examples{margin-top:4px;padding-left:13px}.ram-examples-toggle{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.78rem;font-weight:500;padding:2px 0;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.ram-examples-toggle:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid}.ram-examples-list{color:var(--text-muted);font-size:.8rem;line-height:1.5;margin:4px 0 0;padding-left:18px}.ram-examples-list li{margin-bottom:3px}.ram-edge-case{border-top:1px solid var(--border);color:var(--text-soft);font-size:.8rem;padding:8px 16px 10px}.ram-question-table-wrap{margin-bottom:14px;overflow-x:auto}.ram-question-table{border-collapse:collapse;font-size:.85rem;width:100%}.ram-question-table th{background:var(--surface-muted);border-bottom:2px solid var(--border);color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.4px;padding:10px 12px;text-align:left;text-transform:uppercase}.ram-question-table td{border-bottom:1px solid var(--border);color:var(--text);padding:10px 12px;vertical-align:top}.ram-question-table tr:last-child td{border-bottom:none}.ram-q-num{color:var(--accent);font-weight:700;white-space:nowrap;width:36px}.ram-q-prompt{line-height:1.4;max-width:200px}.ram-q-pts{font-weight:600;white-space:nowrap;width:60px}.ram-q-answer{font-family:SF Mono,Fira Code,monospace;font-size:.82rem;max-width:160px;word-break:break-word}.ram-partial-rule{color:var(--text-muted);font-size:.78rem;line-height:1.5;white-space:nowrap}.ram-mixed-section{margin-bottom:16px}.ram-section-heading{border-bottom:2px solid var(--accent);color:var(--text);font-size:.9rem;font-weight:700;margin:16px 0 10px;padding-bottom:6px}.ram-section-title{color:var(--text-muted);font-size:.85rem;font-weight:600;margin:8px 0 6px}.ram-footer{border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;padding-top:8px}.ram-edit-criterion,.ram-edit-question{background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:16px}.ram-edit-q-header{color:var(--accent);font-size:.9rem;font-weight:700;margin-bottom:12px}.ram-edit-row{margin-bottom:10px}.ram-edit-row label{color:var(--text-muted);display:block;font-size:.78rem;font-weight:600;letter-spacing:.3px;margin-bottom:4px;text-transform:uppercase}.ram-edit-row input[type=number],.ram-edit-row input[type=text],.ram-edit-row textarea{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:.85rem;padding:8px 10px;resize:vertical;width:100%}.ram-edit-row input:focus,.ram-edit-row textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.ram-edit-row input[type=number]{width:80px}.ram-edit-row-group{display:flex;gap:12px}.ram-edit-row-group .ram-edit-row{flex:1 1}.ram-edit-tiers{margin-top:12px}.ram-edit-tiers-label{color:var(--text-muted);font-size:.78rem;font-weight:700;letter-spacing:.3px;margin-bottom:8px;text-transform:uppercase}.ram-edit-tier-row{align-items:flex-start;display:flex;gap:12px;margin-bottom:10px}.ram-edit-tier-name{border-left:3px solid;color:var(--text);font-size:.82rem;font-weight:600;min-width:90px;padding:6px 0 6px 10px}.ram-edit-tier-fields{flex:1 1}.ram-edit-row-inline{align-items:center;display:flex;gap:8px;margin-bottom:6px}.ram-edit-row-inline label{color:var(--text-muted);font-size:.78rem;font-weight:600;min-width:50px;white-space:nowrap}.ram-edit-row-inline input[type=number]{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.85rem;padding:6px 8px;width:70px}.ram-edit-row-inline input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.ram-pts-suffix{color:var(--text-soft);font-size:.78rem}.ram-edit-partial{border-top:1px solid var(--border);margin-top:10px;padding-top:8px}.ram-edit-criterion,.ram-edit-question{position:relative}.ram-delete-btn{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:10px;top:10px;transition:all .15s;width:24px}.ram-delete-btn:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.ram-add-btn{background:none;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:block;font-size:.84rem;font-weight:500;margin-bottom:14px;padding:10px;text-align:center;transition:all .15s;width:100%}.ram-add-btn:hover{background:color-mix(in srgb,var(--accent) 5%,#0000);border-color:var(--accent);color:var(--accent)}.ram-add-section-btn{border-style:dashed;font-weight:600;margin-top:8px}.ram-edit-toolbar{align-items:center;display:flex;margin-bottom:12px}.ram-toolbar-spacer{flex:1 1}.ram-import-btn{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 10px;transition:all .15s}.ram-import-btn:hover{border-color:var(--accent);color:var(--accent)}.ram-json-import{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;margin-bottom:16px;padding:12px}.ram-json-textarea{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.8rem;line-height:1.5;margin-bottom:8px;padding:10px;resize:vertical;width:100%}.ram-json-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.ram-json-textarea::placeholder{color:var(--text-soft)}.ram-json-error{color:#dc2626;font-size:.78rem;margin-bottom:8px}.ram-json-apply{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:600;padding:8px;transition:opacity .15s;width:100%}.ram-json-apply:hover{opacity:.9}.ram-json-apply:disabled{cursor:not-allowed;opacity:.4}.ram-clear-btn{background:none;border:none;color:var(--text-soft);cursor:pointer;font-size:.78rem;padding:4px 0;text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted}.ram-clear-btn:hover{color:#dc2626}.ram-clear-confirm{align-items:center;color:var(--text-muted);display:flex;font-size:.78rem;gap:8px}.ram-clear-yes{background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;font-size:.78rem;font-weight:600;padding:2px 6px}.ram-clear-yes:hover{background:#fee2e2}.ram-clear-no{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.78rem;padding:2px 6px}.ram-edit-section{background:color-mix(in srgb,var(--surface-muted) 50%,#0000);border:2px solid var(--border);border-radius:12px;margin-bottom:14px;padding:16px}.ram-edit-section-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;margin-bottom:14px;padding-bottom:10px}.ram-edit-section-title{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);flex:1 1;font-family:inherit;font-size:.88rem;font-weight:600;padding:6px 10px}.ram-edit-section-title:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,#0000);outline:none}.ram-edit-section-type{background:var(--surface-muted);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-family:inherit;font-size:.82rem;padding:6px 10px}.ram-edit-section-type:focus{border-color:var(--accent);outline:none}.ram-delete-section{flex-shrink:0;position:static}.uw-backdrop{align-items:center;background:#0009;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000;z-index:var(--z-modal-backdrop,2000)}.uw-modal{--accent:#4a7c59;--accent-strong:#3a6347;--accent-soft:#4a7c591a;animation:uw-slideUp .35s cubic-bezier(.16,1,.3,1);background:var(--surface);border:.5px solid var(--border);border-radius:20px;box-shadow:0 20px 60px #0000001f,0 4px 16px #0000000f;max-height:90vh;max-width:560px;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.uw-modal:before{background:linear-gradient(90deg,var(--accent),var(--accent-strong),#0000);content:"";height:2px;left:0;opacity:.55;pointer-events:none;position:absolute;right:0;top:0;z-index:1}@keyframes uw-slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.uw-inner{padding:32px 36px 0}.uw-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:28px}.uw-eyebrow{color:var(--accent);font-size:9.5px;font-weight:600;letter-spacing:2px;margin-bottom:7px;text-transform:uppercase}.uw-title{color:var(--text);font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;line-height:1.18;margin:0}.uw-close{align-items:center;background:#0000;border:.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;font-size:15px;height:32px;justify-content:center;padding:0;transition:all .15s;width:32px}.uw-close:hover{background:var(--surface-muted);color:var(--text)}.uw-stepbar{margin-bottom:28px}.uw-step,.uw-stepbar{align-items:center;display:flex}.uw-step{flex-direction:column;gap:5px}.uw-step-circle{align-items:center;border-radius:50%;display:flex;font-size:12px;font-weight:600;height:30px;justify-content:center;transition:all .25s;width:30px}.uw-step-circle.active{box-shadow:0 0 0 5px var(--accent-soft)}.uw-step-circle.active,.uw-step-circle.done{background:var(--accent);color:#fff}.uw-step-circle.pending{background:var(--surface-muted);border:1.5px solid var(--border);color:var(--text-soft)}.uw-step-label{font-size:10px;font-weight:500}.uw-step-label.active{color:var(--accent);font-weight:600}.uw-step-label.done{color:var(--text-muted)}.uw-step-label.pending{color:var(--text-soft)}.uw-step-line{flex:1 1;height:1px;margin:0 6px 18px}.uw-step-line.done{background:var(--accent);opacity:.5}.uw-step-line.pending{background:var(--border)}.uw-body{min-height:300px}.uw-desc{color:var(--text-muted);font-size:13px;line-height:1.6;margin-bottom:16px}.uw-input{background:var(--surface-elevated);border:1px solid var(--border);border-radius:9px;box-sizing:border-box;color:var(--text);font-family:inherit;font-size:13px;outline:none;padding:11px 14px;resize:none;transition:border-color .15s,box-shadow .15s;width:100%}.uw-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.uw-input::placeholder{color:var(--text-soft);font-weight:300}.uw-dropzone{background:var(--surface-elevated);border:1.5px dashed var(--border);border-radius:14px;cursor:pointer;display:block;margin-top:14px;overflow:hidden;padding:30px 24px;position:relative;text-align:center;transition:all .18s}.uw-dropzone:hover{background:var(--accent-soft);border-color:var(--accent);border-style:solid}.uw-dropzone-icon{align-items:center;background:var(--surface-muted);border-radius:10px;display:flex;font-size:18px;height:42px;justify-content:center;margin:0 auto 10px;transition:all .18s;width:42px}.uw-dropzone:hover .uw-dropzone-icon{background:var(--accent-soft);transform:translateY(-2px)}.uw-dropzone-title{color:var(--text);font-size:13.5px;font-weight:500;margin-bottom:4px}.uw-dropzone-sub{color:var(--text-soft);font-size:11.5px;font-weight:300}.uw-file-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2px;margin-top:14px;padding:0 2px}.uw-file-header-label{color:var(--text-muted);font-size:12px;font-weight:500}.uw-file-clear{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:12px;font-weight:500;padding:0;transition:opacity .15s}.uw-file-clear:hover{opacity:.7}.uw-empty-state{align-items:center;color:var(--text-soft);display:flex;flex-direction:column;justify-content:center;margin-top:12px;padding:28px 16px}.uw-empty-state svg{margin-bottom:10px;opacity:.5}.uw-empty-state p{color:var(--text-soft);font-size:13px;margin:0}.uw-file-list{display:flex;flex-direction:column;gap:6px;margin-top:12px}.uw-file-chip{align-items:center;animation:uw-chipIn .15s ease both;background:var(--surface-muted);border:.5px solid var(--border-subtle);border-radius:9px;display:flex;gap:10px;padding:9px 13px}@keyframes uw-chipIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.uw-file-icon{align-items:center;background:var(--surface-elevated);border:.5px solid var(--border);border-radius:6px;display:flex;flex-shrink:0;font-size:13px;height:28px;justify-content:center;width:28px}.uw-file-name{color:var(--text);flex:1 1;font-size:12px;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uw-file-size{color:var(--text-soft);flex-shrink:0;font-size:11px;font-weight:300}.uw-file-ext{background:var(--surface-muted);border:.5px solid var(--border);border-radius:4px;color:var(--text-muted);flex-shrink:0;font-size:10px;font-weight:600;padding:2px 6px}.uw-file-remove{background:none;border:none;color:var(--text-soft);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:14px;line-height:1;padding:0;transition:color .12s}.uw-file-remove:hover{color:var(--text)}.uw-tiles{display:flex;flex-direction:column;gap:8px}.uw-tile{align-items:center;background:var(--surface-elevated);border:.5px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:14px;padding:14px 16px;transition:all .15s;width:100%}.uw-tile:hover{transform:translateY(-1px)}.uw-tile.uploaded,.uw-tile:hover{background:var(--accent-soft);border-color:var(--accent)}.uw-tile-icon{align-items:center;background:var(--surface-muted);border-radius:9px;display:flex;flex-shrink:0;font-size:18px;height:38px;justify-content:center;width:38px}.uw-tile-info{flex:1 1;min-width:0}.uw-tile-title{color:var(--text);font-size:13px;font-weight:500;margin-bottom:2px}.uw-tile-desc{color:var(--text-soft);font-size:11.5px}.uw-tile-badge{color:var(--text-soft);flex-shrink:0;font-size:12px;font-weight:500;transition:color .15s}.uw-tile-badge.uploaded{color:var(--accent-strong)}.uw-tile-file{align-items:center;background:var(--accent-soft);border:.5px solid var(--accent);border-radius:8px;display:flex;justify-content:space-between;margin-top:6px;padding:7px 12px}.uw-tile-file-name{color:var(--text);flex:1 1;font-size:12px;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uw-tile-file-remove{background:none;border:none;color:var(--accent);cursor:pointer;flex-shrink:0;font-family:inherit;font-size:11px;font-weight:500;margin-left:10px;padding:0}.uw-tile-file-remove:hover{opacity:.7}.uw-infobox{background:var(--surface-muted);border:.5px solid var(--border-subtle);border-radius:9px;color:var(--text-soft);font-size:12px;line-height:1.55;margin-top:14px;padding:12px 16px}.uw-section-label{color:var(--text-muted);font-size:9.5px;font-weight:600;letter-spacing:1.6px;margin-bottom:9px;margin-top:16px;text-transform:uppercase}.uw-option-card{background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:14px 16px}.uw-option-card-title{color:var(--text);font-size:13px;font-weight:500;margin-bottom:3px}.uw-option-card-desc{color:var(--text-soft);font-size:12px;line-height:1.45;margin-bottom:10px}.uw-toggle-row{align-items:flex-start;background:var(--surface-elevated);border:1px solid var(--border);border-radius:12px;cursor:pointer;display:flex;gap:14px;margin-bottom:10px;overflow:hidden;padding:14px 16px;position:relative;transition:all .18s}.uw-toggle-row:before{background:var(--accent);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .18s;width:3px}.uw-toggle-row.checked,.uw-toggle-row:hover{border-color:var(--accent)}.uw-toggle-row.checked{background:var(--accent-soft)}.uw-toggle-row.checked:before,.uw-toggle-row:hover:before{opacity:1}.uw-toggle-row.disabled{cursor:not-allowed;opacity:.5}.uw-toggle-checkbox{align-items:center;background:var(--surface-elevated);border:1.5px solid var(--border);border-radius:5px;color:#0000;display:flex;flex-shrink:0;font-size:11px;height:20px;justify-content:center;margin-top:1px;transition:all .15s;width:20px}.uw-toggle-checkbox.checked{background:var(--accent);border-color:var(--accent);color:#fff}.uw-toggle-title{color:var(--text);font-size:13px;font-weight:500;margin-bottom:3px}.uw-toggle-desc{color:var(--text-soft);font-size:12px;line-height:1.45}.uw-profile-tag{align-items:center;background:var(--accent-soft);border-radius:4px;color:var(--accent);display:inline-flex;font-size:10px;font-weight:600;gap:4px;letter-spacing:.8px;margin-top:6px;padding:3px 8px;text-transform:uppercase}.uw-select{background:var(--surface-elevated);border:1px solid var(--border);border-radius:9px;color:var(--text);cursor:pointer;font-family:inherit;font-size:13px;outline:none;padding:10px 13px;width:100%}.uw-footer{align-items:center;border-top:.5px solid var(--border-subtle);display:flex;justify-content:space-between;margin-top:22px;padding:18px 36px 26px}.uw-footer-info{color:var(--text-soft);flex:1 1;font-size:12px;text-align:center}.uw-btn-back{align-items:center;background:#0000;border:.5px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;font-weight:500;gap:6px;padding:9px 18px;transition:all .15s}.uw-btn-back:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--text)}.uw-btn-back.hidden{visibility:hidden}.uw-btn-next{align-items:center;background:var(--accent);border:none;border-radius:9px;box-shadow:0 2px 8px var(--accent-soft);color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;gap:8px;padding:10px 24px;transition:all .15s}.uw-btn-next:hover{background:var(--accent-strong);box-shadow:0 4px 16px var(--accent-soft);transform:translateY(-1px)}.uw-btn-next:active{transform:translateY(0)}.uw-btn-next:disabled{cursor:not-allowed;opacity:.5;transform:none}.uw-split-box{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;margin-top:12px;padding:14px 16px}.uw-split-box-title{color:var(--text);font-size:13px;font-weight:600}.uw-split-box-desc{color:var(--text-soft);font-size:12px;line-height:1.4;margin:6px 0 10px}.uw-split-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.uw-split-btn{background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-family:inherit;font-size:12px;padding:5px 12px;transition:all .15s}.uw-split-btn:hover{border-color:var(--accent);color:var(--accent)}.uw-split-divider{align-items:center;border-left:1px solid var(--border-subtle);display:flex;gap:6px;padding-left:8px}.uw-split-interval-input{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:12px;padding:4px 5px;text-align:center;width:42px}.uw-split-error{color:#c05a2a;color:var(--danger,#c05a2a);font-size:12px;margin-top:8px}.uw-split-loading{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:10px;margin-top:12px;padding:20px;text-align:center}.uw-split-spinner{animation:uw-spin 1s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:28px;margin:0 auto 10px;width:28px}@keyframes uw-spin{to{transform:rotate(1turn)}}.uw-split-preview{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;margin-top:12px;padding:14px 16px}.uw-split-preview-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.uw-split-preview-badge{background:var(--accent-soft);border-radius:999px;color:var(--accent);font-size:12px;font-weight:600;padding:2px 8px}.uw-split-preview-summary{color:var(--text);font-size:13px;font-weight:500}.uw-split-preview-back{background:none;border:none;border-radius:6px;color:var(--text-soft);cursor:pointer;font-size:12px;padding:2px 6px;transition:color .15s}.uw-split-preview-back:hover{color:var(--text)}.uw-split-preview-list{max-height:180px;overflow-y:auto}.uw-split-preview-item{align-items:center;border-radius:6px;display:flex;font-size:12px;gap:10px;padding:6px 8px}.uw-split-preview-item:nth-child(2n){background:var(--surface)}.uw-split-preview-num{align-items:center;background:var(--accent-soft);border:1px solid var(--border-subtle);border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-size:11px;font-weight:600;height:22px;justify-content:center;width:22px}.uw-split-preview-name{color:var(--text);flex:1 1;font-size:13px;font-weight:500}.uw-split-preview-pages{color:var(--text-soft);font-size:11px}.uw-split-preview-note{color:#c4922a;color:var(--warning,#c4922a);font-size:11px;line-height:1.4;margin:0 0 8px}.uw-summary-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr;margin-bottom:14px}.uw-summary-card{background:var(--surface-muted);border:.5px solid var(--border-subtle);border-radius:11px;padding:12px 14px}.uw-summary-label{color:var(--text-soft);font-size:9.5px;font-weight:600;letter-spacing:1.4px;margin-bottom:5px;text-transform:uppercase}.uw-summary-value{color:var(--text);font-size:13px;font-weight:500}.uw-ready-box{background:var(--accent-soft);border:.5px solid var(--accent);border-radius:12px;gap:14px;margin-top:14px;padding:14px 16px}.uw-ready-box,.uw-ready-icon{align-items:center;display:flex}.uw-ready-icon{background:var(--accent);border-radius:9px;flex-shrink:0;font-size:18px;height:38px;justify-content:center;width:38px}.uw-ready-title{color:var(--accent);font-size:13px;font-weight:500;margin-bottom:3px}.uw-ready-desc{color:var(--text-muted);font-size:12px;line-height:1.45}.uw-hidden-input{display:none}.gr-container{font-size:.92rem;line-height:1.5;width:100%}.gr-profile-indicator{align-items:center;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 30%,#0000);border-radius:4px;color:var(--primary);display:inline-flex;font-size:.78rem;font-weight:600;gap:6px;letter-spacing:.04em;margin-bottom:12px;padding:4px 10px;text-transform:uppercase}.gr-profile-indicator:before{content:"⚙"}.gr-subjective{display:flex;flex-direction:column;gap:10px}.gr-criterion-card{background:#fff;background:var(--surface-elevated,#fff);border:1px solid #5c3d2e21;border:1px solid var(--border,#5c3d2e21);border-radius:14px;box-shadow:0 2px 16px #2c181014;overflow:hidden;padding:0 0 12px;position:relative}[data-theme=dark] .gr-criterion-card{box-shadow:0 2px 16px #00000040}.gr-criterion-card:before{background:#9b7060;background:var(--text-soft,#9b7060);border-radius:14px 0 0 14px;content:"";inset-block:0;inset-inline-start:0;position:absolute;width:3px}.gr-criterion-card.tier-excellent:before{background:#4a7c59;background:var(--success,#4a7c59)}.gr-criterion-card.tier-proficient:before{background:#c4922a;background:var(--primary,#c4922a)}.gr-criterion-card.tier-developing:before{background:#8b6455}.gr-criterion-card.tier-needs-work:before{background:#c05a2a;background:var(--danger,#c05a2a)}[data-theme=dark] .gr-criterion-card.tier-developing:before{background:#a88070}.gr-criterion-header{align-items:center;border-bottom:1px solid #5c3d2e21;border-bottom:1px solid var(--border,#5c3d2e21);display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px 12px 20px}.gr-criterion-name{color:#1c1008;color:var(--text,#1c1008);flex:1 1;font-family:Lora,Georgia,serif;font-size:14px;font-weight:500;line-height:1.3;min-width:120px;overflow-wrap:break-word}.gr-criterion-score{font-feature-settings:"tnum";align-items:baseline;color:#9b7060;color:var(--text-soft,#9b7060);display:flex;font-family:Playfair Display,Georgia,serif;font-size:12px;font-variant-numeric:tabular-nums;font-weight:400;gap:1px}.gr-criterion-score>span{color:#1c1008;color:var(--text,#1c1008);font-size:18px;font-weight:700}.gr-tier-badge{align-self:center;background:color-mix(in srgb,#5c3d2e 10%,#0000);background:color-mix(in srgb,var(--text-muted,#5c3d2e) 10%,#0000);border-radius:8px;color:#5c3d2e;color:var(--text-muted,#5c3d2e);flex-shrink:0;font-size:9px;font-weight:700;letter-spacing:.08em;padding:3px 9px;text-transform:uppercase}.gr-tier-badge.tier-excellent{background:#4a7c591a;color:#3a6347}.gr-tier-badge.tier-proficient{background:#c4922a1a;color:#a87820}.gr-tier-badge.tier-developing{background:#8b64551a;color:#6b4435}.gr-tier-badge.tier-needs-work{background:#c05a2a1a;color:#a04020}[data-theme=dark] .gr-tier-badge.tier-excellent{background:#1a3328;color:#5ec98a}[data-theme=dark] .gr-tier-badge.tier-proficient{background:#1a2a3d;color:#6eaff0}[data-theme=dark] .gr-tier-badge.tier-developing{background:#332a14;color:#e0b840}[data-theme=dark] .gr-tier-badge.tier-needs-work{background:#3a1a18;color:#f07060}.gr-feedback-line{align-items:flex-start;color:#5c3d2e;color:var(--text-muted,#5c3d2e);display:flex;font-size:13px;gap:6px;line-height:1.55;padding:4px 18px 4px 20px}.gr-feedback-icon{flex-shrink:0;font-weight:700;text-align:center;width:16px}.gr-did-well .gr-feedback-icon{color:#4a7c59;color:var(--success,#4a7c59)}.gr-improve .gr-feedback-icon{color:#c4922a;color:var(--primary,#c4922a)}.gr-teacher-only{background:color-mix(in srgb,var(--primary) 6%,#fdfaf6);background:color-mix(in srgb,var(--primary) 6%,var(--surface-elevated,#fdfaf6));border-left:3px solid #c4922a;border:1px solid color-mix(in srgb,var(--primary) 20%,#0000);border-left:3px solid var(--primary,#c4922a);border-radius:0 8px 8px 0;font-size:12px;line-height:1.6;margin:4px 18px 0 20px;padding:10px 13px}.gr-teacher-label{color:#c4922a;color:var(--primary,#c4922a);display:block;font-size:9px;font-weight:700;letter-spacing:.1em;margin-bottom:4px;text-transform:uppercase}.gr-teacher-text{color:#5c3d2e;color:var(--text-muted,#5c3d2e)}@media (max-width:768px){.gr-criterion-header{padding:12px 14px 10px 16px}}@media (max-width:480px){.gr-criterion-header{gap:6px;padding:11px 12px 10px 15px}.gr-criterion-name{flex-basis:100%;font-size:13px}.gr-tier-badge{margin-left:auto}.gr-feedback-line{font-size:12.5px;padding:4px 12px 4px 15px}.gr-teacher-only{font-size:11.5px;margin-left:15px;margin-right:12px;padding:8px 11px}}.gr-scoring-notes{display:flex;flex-direction:column;gap:4px;margin-top:10px}.gr-scoring-notes>.gr-teacher-label{margin-bottom:2px}.gr-scoring-note-line{align-items:baseline;display:flex;gap:6px;padding-left:4px}.gr-scoring-note-q{color:var(--primary);font-weight:600;min-width:28px;white-space:nowrap}.gr-objective{display:flex;flex-direction:column;gap:10px}.gr-question-table{border-collapse:collapse;font-size:.88rem;width:100%}.gr-question-table th{background:var(--surface);border-bottom:2px solid var(--border);color:var(--fg-muted);font-size:.78rem;font-weight:600;letter-spacing:.04em;padding:8px 10px;text-align:left;text-transform:uppercase}.gr-question-table td{border-bottom:1px solid color-mix(in srgb,var(--border) 50%,#0000);padding:8px 10px;vertical-align:top}.gr-question-table tr.gr-correct td:first-child{border-left:3px solid #2e8b57;border-left:3px solid var(--success,#2e8b57)}.gr-question-table tr.gr-partial td:first-child{border-left:3px solid #d4a017;border-left:3px solid var(--warning,#d4a017)}.gr-question-table tr.gr-incorrect td:first-child{border-left:3px solid #c05040;border-left:3px solid var(--danger,#c05040)}.gr-correct-badge{font-size:.85rem;font-weight:600}.gr-correct-badge.gr-correct{color:#2e8b57;color:var(--success,#2e8b57)}.gr-correct-badge.gr-partial{color:#b8860b;color:var(--warning,#b8860b)}.gr-correct-badge.gr-incorrect{color:#c05040;color:var(--danger,#c05040)}.gr-score-input{font-feature-settings:"tnum";background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--fg);font-size:.88rem;font-variant-numeric:tabular-nums;font-weight:600;outline:none;padding:2px 4px;text-align:center;transition:border-color .15s;width:48px}.gr-score-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,#0000)}.gr-score-input-sm{width:40px}.gr-score-cell{align-items:center;display:inline-flex;gap:1px}.gr-total-row{align-items:baseline;border-top:2px solid var(--border);display:flex;gap:8px;margin-top:4px;padding:10px 0 4px}.gr-total-label{color:var(--fg);font-size:.95rem;font-weight:700}.gr-total-score{font-feature-settings:"tnum";color:var(--fg);font-size:1.05rem;font-variant-numeric:tabular-nums;font-weight:700}.gr-total-pct{color:var(--fg-muted);font-size:.85rem}.gr-overall{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--fg-muted);font-size:.88rem;font-style:italic;margin-top:8px;padding:8px 12px}.gr-teacher-flags{background:color-mix(in srgb,var(--accent-soft) 60%,#0000);border:1px solid color-mix(in srgb,var(--accent) 30%,#0000);border-radius:6px;margin-top:12px;padding:10px 12px}.gr-flags-header{color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.gr-flag-item{color:var(--fg-muted);font-size:.84rem;padding:3px 0}.gr-flag-criterion{color:var(--fg);font-weight:600;margin-right:4px}.gr-flag-text{color:var(--fg-muted)}.gr-save-overrides-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;margin-top:12px;padding:8px 20px;transition:background .15s,box-shadow .15s}.gr-save-overrides-btn:hover:not(:disabled){background:var(--accent-strong);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,#0000)}.gr-save-overrides-btn:disabled{cursor:not-allowed;opacity:.6}.gr-editable-text{border-bottom:1px dashed #0000;border-radius:2px;cursor:text;padding:0 2px;transition:border-color .15s,background .15s}.gr-editable-text:hover{background:color-mix(in srgb,var(--primary) 5%,#0000);border-bottom-color:color-mix(in srgb,var(--primary) 50%,#0000)}.gr-editable-input{background:var(--bg);border:1px solid var(--primary);border-radius:4px;box-shadow:0 0 0 2px color-mix(in srgb,var(--primary) 15%,#0000);color:var(--fg);font-family:inherit;font-size:inherit;line-height:1.45;outline:none;padding:4px 6px;resize:vertical;width:100%}.gr-empty{color:var(--fg-muted);font-size:.88rem;font-style:italic;padding:16px}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}@keyframes settingsSlideUp{0%{opacity:0;transform:translate(-50%,-50%) translateY(30px) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1)}}.settings-backdrop{animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0006;inset:0;position:fixed;z-index:var(--z-settings-backdrop)}.settings-panel{animation:settingsSlideUp .25s ease-out;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;left:50%;max-height:85vh;max-width:520px;overflow:hidden;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:var(--z-settings-panel)}.settings-panel-header{align-items:center;border-bottom:1px solid var(--border);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.settings-panel-title{color:var(--text);font-size:1.25rem;font-weight:600;margin:0}.settings-panel-close{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;height:36px;justify-content:center;padding:0;transition:background .2s,color .2s;width:36px}.settings-panel-close:hover{background:var(--surface-muted);color:var(--text)}.settings-panel-body{flex:1 1;overflow-y:auto;padding:20px}.settings-section{margin-bottom:28px}.settings-section:last-child{margin-bottom:0}.settings-section-title{color:var(--text);font-size:1rem;font-weight:600;margin:0 0 8px}.settings-section-desc{color:var(--text-muted);font-size:.875rem;line-height:1.5;margin:0 0 16px}.settings-theme-toggle{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;display:flex;font-size:.95rem;font-weight:500;gap:12px;padding:12px 16px;text-align:left;transition:background .2s,border-color .2s;width:100%}.settings-theme-toggle:hover{background:var(--surface-elevated);border-color:var(--accent)}.settings-theme-toggle svg{color:var(--accent);flex-shrink:0}.settings-style-selector{display:flex;flex-direction:column;gap:8px;margin-top:8px}.settings-style-label{color:var(--text-muted);font-size:.85rem;font-weight:500}.settings-style-btn,.settings-style-options{display:flex;gap:8px}.settings-style-btn{align-items:center;background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;flex:1 1;font-size:.9rem;font-weight:500;justify-content:center;padding:10px 14px;transition:background .2s,border-color .2s,color .2s}.settings-style-btn:hover{background:var(--surface-elevated);border-color:var(--text-soft)}.settings-style-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.settings-style-btn.active svg{color:var(--accent)}.settings-profile-form{display:flex;flex-direction:column;gap:14px}.settings-label{color:var(--text);display:flex;flex-direction:column;font-size:.875rem;font-weight:500;gap:6px}.settings-input,.settings-textarea{background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;color:var(--text);font-family:inherit;font-size:.9rem;padding:10px 12px;width:100%}.settings-input::placeholder,.settings-textarea::placeholder{color:var(--text-soft)}.settings-textarea{min-height:80px;resize:vertical}.settings-form-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.settings-file-input-hidden{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.settings-upload-label{color:var(--text);display:block;font-size:.875rem;font-weight:500;margin-bottom:8px}.settings-upload-zone{align-items:center;background:var(--surface-muted);border:2px dashed var(--border);border-radius:12px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:140px;padding:24px 16px;transition:border-color .2s,background .2s}.settings-upload-zone-has-files,.settings-upload-zone:hover:not(.settings-upload-zone-disabled){background:var(--accent-soft);border-color:var(--accent)}.settings-upload-zone-disabled{cursor:not-allowed;opacity:.7}.settings-upload-icon{color:var(--accent);flex-shrink:0;margin-bottom:10px}.settings-upload-text{color:var(--text);font-size:.95rem;font-weight:600;margin:0 0 4px}.settings-upload-hint{color:var(--text-muted);font-size:.8rem;margin:0;max-width:280px;text-align:center}.settings-upload-file-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:10px 0 0;padding:0}.settings-upload-file-item{align-items:center;background:var(--surface-elevated);border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;padding:8px 10px}.settings-upload-file-name{color:var(--text);flex:1 1;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-upload-file-remove{align-items:center;background:#0000;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .2s,color .2s;width:28px}.settings-upload-file-remove:hover:not(:disabled){background:var(--surface-muted);color:var(--danger)}.settings-upload-file-remove:disabled{cursor:not-allowed;opacity:.5}.settings-create-profile-btn{min-width:180px}.settings-status-msg{color:var(--accent);font-size:.85rem;margin:0}.settings-error-msg{color:var(--danger);font-size:.85rem;margin:0}.settings-success-msg{color:var(--success);font-size:.875rem}.settings-profiles-list{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.settings-profiles-list-title{color:var(--text-muted);font-size:.9rem;font-weight:600;margin:0 0 10px}.settings-profiles-ul{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.settings-muted{color:var(--text-muted);font-size:.875rem;margin:0}.settings-profile-card{background:var(--surface-muted);border:1px solid var(--border);border-radius:8px;list-style:none;margin:0;overflow:hidden;padding:0}.settings-profile-item{align-items:center;display:flex;gap:8px;justify-content:space-between;padding:10px 12px}.settings-profile-expand-btn{align-items:center;background:none;border:none;color:var(--text);cursor:pointer;display:flex;flex:1 1;font-size:.9rem;gap:8px;min-width:0;padding:0;text-align:left}.settings-profile-expand-btn svg{flex-shrink:0;transition:transform .2s}.settings-chevron-open{transform:rotate(180deg)}.settings-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-profile-detail{background:var(--surface-elevated);border-top:1px solid var(--border);padding:12px}.settings-profile-detail-block{margin-bottom:12px}.settings-profile-detail-block:last-child{margin-bottom:0}.settings-profile-detail-block h4{color:var(--text-muted);font-size:.8rem;font-weight:600;margin:0 0 6px}.settings-profile-pre{color:var(--text);margin:0;max-height:200px;overflow-y:auto;padding:10px;white-space:pre-wrap;word-break:break-word}.settings-profile-code,.settings-profile-pre{background:var(--surface-muted);border-radius:6px;font-size:.8rem}.settings-profile-code{color:var(--accent);display:block;padding:8px 10px;word-break:break-all}.settings-profile-delete{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;padding:0;transition:background .2s,color .2s;width:32px}.settings-profile-delete:hover{background:var(--surface-elevated);color:var(--danger)}.settings-profile-preview{background:var(--surface-elevated);border:1px solid var(--border);border-radius:10px;margin-top:16px;padding:16px}.settings-preview-title{color:var(--text);font-size:.95rem;font-weight:600;margin:0 0 12px}.settings-preview-confidence{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:14px;padding:3px 10px}.settings-preview-confidence-high{background:var(--success-soft);color:var(--success)}.settings-preview-confidence-medium{background:var(--warning-soft);color:var(--warning)}.settings-preview-confidence-low{background:var(--danger-soft);color:var(--danger)}.settings-preview-weights{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.settings-preview-weight-row{align-items:center;display:flex;gap:10px}.settings-preview-weight-label{color:var(--text);flex:0 0 150px;font-size:.8rem;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.settings-preview-weight-bar-track{background:var(--surface-muted);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.settings-preview-weight-bar-fill{background:var(--accent);border-radius:4px;height:100%;min-width:2px;transition:width .3s ease-out}.settings-preview-weight-value{color:var(--text-muted);flex:0 0 36px;font-size:.8rem;font-weight:600;text-align:right}.settings-preview-summary-text{color:var(--text);font-size:.875rem;line-height:1.5;margin:0 0 12px}.settings-preview-signals{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.settings-preview-signal{border-radius:6px;display:inline-block;font-size:.75rem;font-weight:500;padding:4px 10px}.settings-preview-signal-reward{background:var(--success-soft);color:var(--success)}.settings-preview-signal-penalty{background:var(--danger-soft);color:var(--danger)}.settings-weight-adjuster{background:var(--surface-muted);border:1px solid var(--border-subtle);border-radius:8px;margin-top:14px;padding:14px}.settings-weight-adjuster-title{color:var(--text);font-size:.85rem;font-weight:600;margin:0 0 4px}.settings-weight-adjuster-hint{color:var(--text-muted);font-size:.75rem;margin:0 0 12px}.settings-weight-adjuster-rows{display:flex;flex-direction:column;gap:8px}.settings-weight-adjuster-row{align-items:center;display:flex;gap:10px}.settings-weight-adjuster-label{color:var(--text);flex:0 0 140px;font-size:.78rem;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.settings-weight-slider{-webkit-appearance:none;appearance:none;background:var(--surface-elevated);border-radius:3px;cursor:pointer;flex:1 1;height:6px;outline:none;transition:opacity .15s}.settings-weight-slider:disabled{cursor:not-allowed;opacity:.5}.settings-weight-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--accent);border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:16px;-webkit-transition:transform .15s,box-shadow .15s;transition:transform .15s,box-shadow .15s;width:16px}.settings-weight-slider::-webkit-slider-thumb:hover{box-shadow:0 2px 6px #00000040;transform:scale(1.15)}.settings-weight-slider::-moz-range-thumb{background:var(--accent);border:2px solid var(--surface);border-radius:50%;box-shadow:0 1px 3px #0003;cursor:pointer;height:16px;width:16px}.settings-weight-slider::-webkit-slider-runnable-track{background:var(--surface-elevated);border-radius:3px;height:6px}.settings-weight-slider::-moz-range-track{background:var(--surface-elevated);border-radius:3px;height:6px}.settings-weight-input-wrap{align-items:center;display:flex;flex:0 0 58px;gap:2px}.settings-weight-input{-moz-appearance:textfield;background:var(--surface-elevated);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.78rem;font-weight:600;padding:4px;text-align:center;width:40px}.settings-weight-input::-webkit-inner-spin-button,.settings-weight-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.settings-weight-input:focus{border-color:var(--accent);outline:none}.settings-weight-input:disabled{cursor:not-allowed;opacity:.5}.settings-weight-input-pct{color:var(--text-muted);font-size:.75rem;font-weight:500}.settings-preview-actions{align-items:center;display:flex;gap:10px;margin-top:4px}.settings-confirm-profile-btn{min-width:140px}.settings-regenerate-btn{background:var(--surface-muted);border:1px solid var(--border);border-radius:10px;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-weight:500;padding:8px 16px;transition:background .2s,border-color .2s,color .2s}.settings-regenerate-btn:hover:not(:disabled){background:var(--surface-elevated);border-color:var(--accent);color:var(--text)}.settings-regenerate-btn:disabled{cursor:not-allowed;opacity:.6}.settings-saved-preview-weights{margin-bottom:10px}.settings-saved-summary-text{font-size:.82rem}.settings-saved-weight-adjuster{margin-top:10px}.settings-saved-weight-actions{align-items:center;display:flex;gap:10px;margin-top:12px}.settings-save-weights-btn{min-width:120px}.settings-profile-raw-details{border-top:1px solid var(--border-subtle);margin-top:12px;padding-top:8px}.settings-profile-raw-summary{color:var(--text-muted);cursor:pointer;font-size:.75rem;-webkit-user-select:none;user-select:none}.settings-profile-raw-summary:hover{color:var(--text)}.settings-profile-raw-details[open] .settings-profile-detail-block:first-of-type{margin-top:8px}.settings-legal-section{border-top:1px solid var(--border-subtle);padding-top:var(--space-4)}.settings-legal-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4)}.settings-legal-link{background:none;border:none;color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:var(--text-caption);padding:0;text-decoration:none;transition:color var(--transition-fast) var(--ease-out)}.settings-legal-link:hover{color:var(--primary)}.legal-modal-wrapper{align-items:center;background:var(--bg);display:flex;font-family:var(--font-sans);justify-content:center;min-height:100vh;padding:20px}.legal-modal-card{animation:fadeInUp .6s ease-out forwards;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--elevation-floating);display:flex;flex-direction:column;max-height:90vh;max-width:680px;width:100%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.legal-modal-header{padding:var(--space-6) var(--space-6) var(--space-4);text-align:center}.legal-modal-header svg{color:var(--primary);margin-bottom:var(--space-3)}.legal-modal-header h2{color:var(--text);font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin:0 0 var(--space-2)}.legal-modal-subtitle{color:var(--text-muted);font-size:var(--text-caption);margin:0}.legal-modal-tabs{border-bottom:1px solid var(--border);display:flex;gap:var(--space-1);padding:0 var(--space-6)}.legal-tab{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:var(--text-caption);font-weight:500;padding:var(--space-3) var(--space-4);transition:color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out)}.legal-tab:hover{color:var(--text)}.legal-tab.active{border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.legal-modal-content{flex:1 1;max-height:50vh;min-height:0;overflow-y:auto;padding:var(--space-6)}.legal-policy-text{color:var(--text);font-size:var(--text-body);line-height:1.7}.legal-policy-text h1{color:var(--text);font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0 0 var(--space-2)}.legal-policy-text h2{color:var(--text);font-family:var(--font-sans);font-size:var(--text-section-title);font-weight:600;margin:var(--space-6) 0 var(--space-3)}.legal-policy-text p{margin:0 0 var(--space-4)}.legal-policy-text ol,.legal-policy-text ul{margin:0 0 var(--space-4);padding-left:var(--space-6)}.legal-policy-text li{margin-bottom:var(--space-2)}.legal-policy-text strong{color:var(--text);font-weight:600}.legal-modal-content::-webkit-scrollbar{width:6px}.legal-modal-content::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:3px}.legal-modal-content::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px}.legal-modal-content::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.legal-modal-footer{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-6)}.legal-checkbox-label{align-items:flex-start;color:var(--text-muted);cursor:pointer;display:flex;font-size:var(--text-caption);gap:var(--space-3);line-height:1.5}.legal-checkbox-label input[type=checkbox]{accent-color:var(--primary);cursor:pointer;flex-shrink:0;height:16px;margin-top:3px;width:16px}.legal-agree-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;cursor:pointer;font-family:var(--font-sans);font-size:var(--text-body);font-weight:600;height:44px;transition:all var(--transition-fast) var(--ease-out);width:100%}.legal-agree-btn:hover:not(:disabled){background:var(--accent-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.legal-agree-btn:disabled{cursor:not-allowed;opacity:.5}@media (max-width:640px){.legal-modal-card{margin:0;max-height:95vh}.legal-modal-header{padding:var(--space-4) var(--space-4) var(--space-3)}.legal-modal-tabs{padding:0 var(--space-4)}.legal-tab{font-size:var(--text-micro);padding:var(--space-2) var(--space-2)}.legal-modal-content{padding:var(--space-4)}.legal-modal-footer{padding:var(--space-3) var(--space-4) var(--space-4)}}.legal-page{margin:0 auto;max-width:800px;padding:var(--space-8) var(--space-6)}.legal-page-card{background:var(--surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--elevation-raised);overflow:hidden}.legal-page-nav{background:var(--surface-muted);border-bottom:1px solid var(--border);display:flex}.legal-page-nav-btn{background:none;border:none;border-bottom:2px solid #0000;color:var(--text-muted);cursor:pointer;flex:1 1;font-family:var(--font-sans);font-size:var(--text-caption);font-weight:500;padding:var(--space-3) var(--space-4);transition:color var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out),background var(--transition-fast) var(--ease-out)}.legal-page-nav-btn:hover{background:var(--surface);color:var(--text)}.legal-page-nav-btn.active{background:var(--surface);border-bottom-color:var(--primary);color:var(--primary);font-weight:600}.legal-page-body{max-height:calc(100vh - 200px);overflow-y:auto;padding:var(--space-6)}.legal-page-body .legal-policy-text{color:var(--text);font-size:var(--text-body);line-height:1.7}.legal-page-body .legal-policy-text h1{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0 0 var(--space-2)}.legal-page-body .legal-policy-text h2{font-size:var(--text-section-title);font-weight:600;margin:var(--space-6) 0 var(--space-3)}.legal-page-body .legal-policy-text p{margin:0 0 var(--space-4)}.legal-page-body .legal-policy-text ol,.legal-page-body .legal-policy-text ul{margin:0 0 var(--space-4);padding-left:var(--space-6)}.legal-page-body .legal-policy-text li{margin-bottom:var(--space-2)}@media (max-width:640px){.legal-page{padding:var(--space-4) var(--space-3)}.legal-page-nav-btn{font-size:var(--text-micro);padding:var(--space-2) var(--space-2)}.legal-page-body{padding:var(--space-4)}}
/*# sourceMappingURL=main.0c7da1b4.css.map*/