#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;overflow:hidden;padding:0;width:100%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{height:100vh;overflow:hidden;width:100%}.login-container{align-items:center;background-color:#fff;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;max-width:420px;overflow:hidden;width:100%}.login-header{background:linear-gradient(135deg,#14b8a6,#8b5cf6);color:#fff;padding:40px 30px;text-align:center}.login-logo{align-items:center;display:flex;gap:12px;justify-content:center;margin-bottom:12px}.login-logo svg{flex-shrink:0}.logo-text{font-size:24px;font-weight:600;letter-spacing:.5px}.portal-text{font-size:14px;font-weight:500;letter-spacing:2px;margin-top:8px;opacity:.95}.login-body{padding:40px 30px}.form-group{margin-bottom:24px}.form-group input{border-radius:8px;font-size:15px;padding:12px 16px;transition:all .2s}.error-message{background-color:#fee2e2;font-size:14px;margin-bottom:20px;text-align:center}.sign-in-button{background:linear-gradient(135deg,#14b8a6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;margin-top:8px;padding:14px;transition:all .2s;width:100%}.sign-in-button:hover:not(:disabled){box-shadow:0 4px 12px #14b8a64d;transform:translateY(-1px)}.sign-in-button:active:not(:disabled){transform:translateY(0)}.sign-in-button:disabled{cursor:not-allowed;opacity:.6}@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.27"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.optimus-gpt-app{background:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100vh;overflow:hidden;width:100vw}.optimus-sidebar{background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9);border-right:1px solid #1a2f4d;display:flex;flex-direction:column;padding:16px;width:260px}.sidebar-header{align-items:flex-start;display:flex;gap:8px;justify-content:space-between;margin-bottom:16px;padding:12px}.sidebar-logo-container{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:8px}.optimus-logo-sidebar-full{align-items:center;display:flex;flex-shrink:0;height:96px;justify-content:center;width:96px}.optimus-logo-sidebar-img{height:100%;object-fit:contain;width:100%}.optimus-logo{align-items:center;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.optimus-logo-sidebar{height:100%;object-fit:contain;width:100%}.sidebar-title{color:#fff;font-size:16px;font-weight:600;text-align:center}.sidebar-toggle{align-items:center;background:none;border:none;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px}.sidebar-toggle:hover{color:#fff}.new-chat-btn{background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-bottom:auto;padding:12px 16px;transition:background .2s;width:100%}.new-chat-btn:hover{background:#1d4ed8}.chat-history-section{margin-bottom:auto;margin-top:24px;max-height:calc(100vh - 300px);overflow-y:auto}.chat-history-header{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding:0 12px;text-transform:uppercase}.chat-history-list{display:flex;flex-direction:column;gap:4px}.chat-history-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;position:relative;transition:all .2s}.chat-history-item:hover{background:#ffffff1a}.chat-history-item.active{background:#2563eb33;border:1px solid #2563eb}.chat-history-icon{align-items:center;color:#9ca3af;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.chat-history-item.active .chat-history-icon{color:#60a5fa}.chat-history-content{flex:1 1;min-width:0}.chat-history-title{color:#fff;font-size:14px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-time{color:#9ca3af;font-size:11px}.chat-history-actions{align-items:center;display:flex;flex-shrink:0;gap:4px;opacity:0;transition:all .2s}.chat-history-item:hover .chat-history-actions{opacity:1}.chat-history-delete,.chat-history-rename{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.chat-history-rename:hover{background:#3b82f633;color:#60a5fa}.chat-history-delete:hover{background:#ef444433;color:#f87171}.chat-history-rename-input{background:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;color:#fff;font-size:14px;font-weight:500;outline:none;padding:4px 8px;width:100%}.chat-history-rename-input:focus{background:#ffffff26;border-color:#60a5fa}.chat-history-list::-webkit-scrollbar{width:6px}.chat-history-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.chat-history-list::-webkit-scrollbar-track{background:#0000}.sidebar-footer{display:flex;flex-direction:column;gap:4px;margin-top:auto}.sidebar-menu-item{align-items:center;background:none;border:none;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;font-size:14px;gap:12px;padding:10px 12px;text-align:left;transition:all .2s}.sidebar-menu-item:hover{background:#ffffff1a;color:#fff}.sidebar-menu-item svg{flex-shrink:0}.optimus-main{flex:1 1;flex-direction:column;overflow:hidden}.main-header,.optimus-main{background:#fff;display:flex}.main-header{align-items:center;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:16px 24px}.header-left{align-items:center;display:flex;gap:8px}.optimus-logo-small{align-items:center;display:flex;height:40px;justify-content:center;width:40px}.optimus-logo-header{height:100%;object-fit:contain;width:100%}.header-title{color:#111827;font-size:16px;font-weight:600}.header-dropdown-container{align-items:center;display:flex;position:relative}.header-dropdown-btn{align-items:center;background:none;border:none;border-radius:8px;color:#111827;cursor:pointer;display:flex;gap:8px;padding:8px 12px;transition:all .2s}.header-dropdown-btn:hover{background:#f3f4f6}.header-dropdown-btn svg{color:#6b7280;transition:transform .2s}.header-dropdown-btn:hover svg{color:#111827}.document-dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 25px #0000001a;left:0;max-height:400px;max-width:400px;min-width:320px;overflow-y:auto;padding:8px;position:absolute;top:calc(100% + 8px);z-index:1000}.document-dropdown-menu::-webkit-scrollbar{width:6px}.document-dropdown-menu::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.document-dropdown-item{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.document-dropdown-item:hover{background:#f3f4f6}.document-dropdown-item.active{background:#eff6ff}.document-dropdown-item.active .document-dropdown-name{color:#2563eb;font-weight:600}.document-dropdown-icon{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.document-dropdown-item.active .document-dropdown-icon{background:#eff6ff;color:#2563eb}.document-dropdown-info{flex:1 1;min-width:0}.document-dropdown-name{color:#111827;font-size:14px;font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-dropdown-meta{color:#6b7280;font-size:12px}.document-dropdown-check{align-items:center;color:#2563eb;display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.document-dropdown-divider{background:#e5e7eb;height:1px;margin:8px 0}.header-right{align-items:center;display:flex;gap:12px}.user-info{align-items:flex-end;display:flex;flex-direction:column;gap:2px}.username{color:#1f2937;font-size:14px;font-weight:600}.user-role{color:#6b7280;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.user-profile{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:all .2s}.user-profile:hover{background:#f3f4f6;color:#111827}.main-content{overflow:hidden;position:relative}.main-content,.welcome-screen{display:flex;flex:1 1;flex-direction:column}.welcome-screen{margin:0 auto;max-width:800px;padding:48px 24px;width:100%}.welcome-icon-large,.welcome-screen{align-items:center;justify-content:center}.welcome-icon-large{background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9);border-radius:20px;box-shadow:0 8px 24px #1e3a5f4d;display:flex;margin-bottom:24px;padding:24px}.optimus-logo-image{filter:brightness(0) invert(1);height:120px;object-fit:contain;width:120px}.welcome-title{color:#111827;font-size:32px;font-weight:700;margin:0 0 16px;text-align:center}.welcome-description{color:#6b7280;font-size:16px;line-height:1.6;margin:0 0 48px;max-width:600px;text-align:center}.feature-cards{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr);max-width:700px;width:100%}.feature-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:20px;text-align:left;transition:all .2s}.feature-card:hover{border-color:#2563eb;box-shadow:0 4px 12px #2563eb1a;transform:translateY(-2px)}.feature-icon{align-items:center;background:#eff6ff;border-radius:10px;color:#2563eb;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.feature-content{flex:1 1}.feature-content h3{color:#111827;font-size:16px;font-weight:600;margin:0 0 4px}.feature-content p{color:#6b7280;font-size:14px;margin:0}.feature-card svg:last-child{color:#9ca3af;flex-shrink:0}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:32px;margin:0 auto;max-width:900px;overflow-y:auto;padding:32px 24px;width:100%}.chat-messages::-webkit-scrollbar{width:8px}.chat-messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.chat-messages::-webkit-scrollbar-track{background:#0000}.message{align-items:flex-start;animation:fadeIn .3s ease-in;display:flex;gap:16px;width:100%}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;background:#f3f4f6;border-radius:50%;display:flex;flex-shrink:0;font-size:18px;height:32px;justify-content:center;overflow:hidden;width:32px}.message.user .message-avatar{background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9)}.avatar-icon{height:100%;object-fit:contain;padding:4px;width:100%}.message-content{display:flex;flex-direction:column;gap:8px;max-width:100%;width:100%}.message.user .message-content{align-items:flex-end}.message-text{word-wrap:break-word;border-radius:8px;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;line-height:1.4;max-width:100%;padding:10px 14px;white-space:pre-wrap}.message.user .message-text{background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9);border-bottom-right-radius:4px;color:#fff;font-weight:500}.message.assistant .message-text{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;box-shadow:0 1px 3px #0000000d;color:#1f2937}.message.assistant .message-text h1,.message.assistant .message-text h2,.message.assistant .message-text h3{color:#111827;font-weight:700;line-height:1.3;margin-bottom:6px;margin-top:12px}.message.assistant .message-text h1{font-size:24px}.message.assistant .message-text h2{font-size:20px}.message.assistant .message-text h3{font-size:18px}.message.assistant .message-text p{line-height:1.4;margin:0}.message.assistant .message-text p+p{margin-top:2px}.message.assistant .message-text p:last-child{margin-bottom:0}.message.assistant .message-text p:empty{display:none}.message.assistant .message-text b,.message.assistant .message-text strong{color:#111827;font-weight:700}.message.assistant .message-text code{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:13px;padding:2px 6px}.code-block-container{background:#fff;border:1px solid #d1d5db;border-radius:3px;display:inline-block;margin:4px 0;min-height:auto;min-width:100%;overflow:hidden;position:relative}.code-block-header{align-items:center;background:#0000;border-bottom:none;display:flex;height:18px;justify-content:flex-end;min-height:0;opacity:0;padding:0;position:absolute;right:4px;top:2px;transition:opacity .2s ease;z-index:1}.code-block-container:hover .code-block-header{opacity:1}.code-block-lang{color:#9ca3af;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:9px;font-weight:500;letter-spacing:.3px;margin-right:auto;padding-left:8px;text-transform:uppercase}.code-block-copy-btn{align-items:center;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:3px;box-shadow:0 1px 2px #0000000d;cursor:pointer;display:flex;font-family:inherit;height:20px;justify-content:center;padding:0;transition:all .15s ease;width:20px}.code-block-copy-btn:hover{background:#fff;border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.code-block-copy-btn.copied{background:#10b981;border-color:#10b981;color:#fff}.code-block-copy-btn.copied .copy-text{display:none}.code-block-copy-btn svg{color:inherit;flex-shrink:0;height:11px;width:11px}.code-block-copy-btn .copy-text{display:none}.code-block{background:#fff;color:#1f2937;font-family:Monaco,Menlo,Ubuntu Mono,Consolas,source-code-pro,monospace;font-size:11.5px;line-height:1.2;margin:0;min-height:auto;overflow-x:auto;padding:2px 10px}.code-block code{background:#0000;border:none;border-radius:0;color:inherit;font-size:inherit;padding:0}.message.user .message-text .code-block-container{background:#ffffff1a;border-color:#fff3}.message.user .message-text .code-block-header{background:#0000}.message.user .message-text .code-block-lang{color:#ffffff80}.message.user .message-text .code-block{background:#ffffff0d;color:#fff}.message.user .message-text .code-block-copy-btn{background:#ffffff26;border-color:#ffffff4d;color:#ffffffe6}.message.user .message-text .code-block-copy-btn:hover{background:#ffffff40;border-color:#fff6;color:#fff}.message.assistant .message-text ol,.message.assistant .message-text ul{line-height:1.5;margin:8px 0;padding-left:20px}.message.assistant .message-text li{margin:4px 0}.message.assistant .message-text hr{border:none;border-top:1px solid #e5e7eb;margin:12px 0}.message.assistant .message-text blockquote{border-left:3px solid #2563eb;color:#6b7280;font-style:italic;margin:8px 0;padding-left:12px}.message-text .katex{color:#1f2937;font-size:1.1em}.message-text .katex-display{overflow-x:auto;overflow-y:hidden}.message-text .katex-display>.katex{display:inline-block;text-align:left;text-align:initial}.message.user .message-text .katex,.message.user .message-text .katex .mathnormal{color:#fff}.message-text .katex .base{position:relative;white-space:nowrap}.message-text .katex-display{display:block;margin:8px 0;text-align:center}.message-actions{align-items:center;display:flex;gap:8px;margin-top:8px}.message.user .message-actions{justify-content:flex-end}.message-edit-container{width:100%}.message-edit-input{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9) border-box;border:2px solid #0000;border-radius:8px;font-family:inherit;font-size:15px;line-height:1.5;margin-bottom:8px;outline:none;padding:12px 16px;resize:none;width:100%}.message-edit-input:focus{box-shadow:0 0 0 3px #0b283b1a}.message-edit-actions{display:flex;gap:8px;justify-content:flex-end}.message-edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:6px 16px;transition:all .2s}.message-edit-btn.save{color:#fff}.message-edit-btn.save,.message-edit-btn.save:hover:not(:disabled){background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9)}.message-edit-btn.save:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.message-edit-btn.save:disabled{cursor:not-allowed;opacity:.5}.message-edit-btn.cancel{background:#f3f4f6;color:#6b7280}.message-edit-btn.cancel:hover{background:#e5e7eb;color:#111827}.action-icon{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:all .2s ease;width:28px}.action-icon:hover{background:linear-gradient(#0b283b,#1a3f58,#295777,#387197,#488cb9);color:#fff}.action-icon:active{transform:scale(.95)}.action-icon svg{height:16px;width:16px}.message-sources{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;padding:12px}.sources-title{color:#2563eb;font-size:12px;font-weight:600;margin-bottom:8px}.source-item{border-left:3px solid #2563eb;margin-bottom:8px;padding-left:12px}.source-item:last-child{margin-bottom:0}.source-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.source-section{color:#374151;font-size:12px;font-weight:600}.source-similarity{color:#9ca3af;font-size:11px}.source-snippet{color:#6b7280;font-size:12px;line-height:1.5}.source-media{display:flex;flex-direction:column;gap:8px;margin-top:8px}.source-media .message-media{max-width:100%}.source-media .message-media img,.source-media .message-media video{border-radius:4px;height:auto;max-width:100%}.typing-indicator{background:#f3f4f6;border-radius:12px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 16px}.typing-indicator span{animation:typing 1.4s infinite;background:#9ca3af;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.7;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-input-container{background:#fff;border-top:1px solid #e5e7eb;padding:20px 24px}.chat-input-wrapper{align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:12px;display:flex;gap:8px;margin:0 auto;max-width:900px;padding:12px 16px}.input-icon{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;padding:0;transition:all .2s;width:36px}.input-icon:hover{background:#f3f4f6;color:#111827}.input-icon:disabled{cursor:not-allowed;opacity:.5}.chat-input{background:#0000;border:none;color:#111827;flex:1 1;font-family:inherit;font-size:14px;line-height:1.5;max-height:200px;outline:none;overflow-y:auto;padding:0;resize:none}.chat-input::placeholder{color:#9ca3af}.chat-input:disabled{cursor:not-allowed;opacity:.5}.send-button{align-items:center;background:#2563eb;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:all .2s;width:36px}.send-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.send-button:active:not(:disabled){transform:translateY(0)}.send-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.chat-footer{margin-left:auto;margin-right:auto;margin-top:12px;max-width:900px;text-align:center}.chat-footer span{color:#9ca3af;font-size:12px}.settings-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.settings-modal{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.settings-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 24px}.settings-header h2{color:#111827;font-size:20px;font-weight:600;margin:0}.settings-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:4px;transition:all .2s}.settings-close:hover{background:#f3f4f6;color:#111827}.settings-content{flex:1 1;overflow-y:auto;padding:24px}.settings-content::-webkit-scrollbar{width:8px}.settings-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.settings-content::-webkit-scrollbar-track{background:#0000}.settings-section{margin-bottom:32px}.settings-section h3{color:#111827;font-weight:600;margin:0 0 8px}.settings-description{margin:0 0 16px}.upload-button{background:#2563eb;font-size:14px;transition:background .2s;width:-webkit-fit-content;width:fit-content}.upload-button:hover:not(:disabled){background:#1d4ed8}.upload-button:disabled{opacity:.7}.upload-button svg{flex-shrink:0}.file-info{font-size:13px}.empty-history{padding:48px 24px;text-align:center}.document-item{background:#fff;border:2px solid #e5e7eb}.document-item.active,.document-item:hover{background:#eff6ff;border-color:#2563eb}.document-icon{align-items:center;background:#f3f4f6;border-radius:8px;display:flex;height:40px;justify-content:center;width:40px}.document-item.active .document-icon{background:#2563eb;color:#fff}.document-name{color:#111827;font-size:14px}.document-meta{align-items:center}.document-meta span{white-space:nowrap}.active-badge{background:#2563eb;border-radius:12px;font-size:12px;font-weight:500;padding:4px 12px}.delete-doc-btn{border-radius:6px;padding:6px}@media (max-width:768px){.optimus-sidebar{width:200px}.feature-cards{grid-template-columns:1fr}.message-content{max-width:85%}.settings-modal{border-radius:0;max-height:100vh;max-width:100%}.document-item{flex-wrap:wrap}.document-actions{justify-content:flex-end;margin-top:8px;width:100%}}.message-media{clear:both;display:block;margin:12px 0;max-width:100%}.message-media img{border-radius:8px;box-shadow:0 2px 8px #0000001a;display:block;height:auto;max-width:100%}.message-media img:not([src]),.message-media img[src=""],.message-media img[src=null],.message-media img[src=undefined]{display:none!important;height:0!important;opacity:0!important;visibility:hidden!important;width:0!important}.message-media:has(img:not([src])),.message-media:has(img[src=""]),.message-media:has(img[src=null]),.message-media:has(img[src=undefined]){display:none!important}.message-media:empty{display:none!important}.message-media img[data-error=true]{display:none!important;height:0!important;opacity:0!important;visibility:hidden!important;width:0!important}.message-media img:after,.message-media img:before{content:none!important;display:none!important}.message-media img{color:#0000!important;font-size:0!important;line-height:0!important}.message-media img:not([src]),.message-media img[alt]:not([src]){display:none!important;height:0!important;left:-9999px!important;opacity:0!important;position:absolute!important;visibility:hidden!important;width:0!important}.message-media video{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;background:#000;border-radius:8px;box-shadow:0 2px 8px #0000001a;cursor:pointer;display:block;height:auto;max-width:100%;object-fit:contain;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;width:100%}.message-media-secure,.message-media-secure img{pointer-events:auto}.message-media-secure,.message-media-secure img,.message-media-secure video{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.message-media-secure video:before{bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.message-media-secure video::-webkit-media-controls{pointer-events:none}.message-media-secure video::-webkit-media-controls-enclosure,.message-media-secure video::-webkit-media-controls-panel{pointer-events:auto}.message-media-secure video::-webkit-media-controls-current-time-display,.message-media-secure video::-webkit-media-controls-fullscreen-button,.message-media-secure video::-webkit-media-controls-mute-button,.message-media-secure video::-webkit-media-controls-play-button,.message-media-secure video::-webkit-media-controls-time-remaining-display,.message-media-secure video::-webkit-media-controls-timeline,.message-media-secure video::-webkit-media-controls-volume-slider{pointer-events:auto}.video-security-overlay{background:#0000;bottom:0;left:0;pointer-events:none;pointer-events:auto;position:absolute;right:0;top:0;z-index:10}.message-media-secure video{pointer-events:auto;position:relative;z-index:1}.message-media-secure video::-webkit-media-controls{pointer-events:auto;z-index:2}.message-media{cursor:pointer;position:relative}.message-media:has(video):after{align-items:center;background:#0009;border-radius:50%;content:"";display:flex;height:60px;justify-content:center;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s;width:60px;z-index:1}.message-media:has(video):hover:after{opacity:1}.message-media:has(video):before{color:#fff;content:"▶";font-size:24px;left:50%;margin-left:3px;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .2s;z-index:2}.message-media:has(video):hover:before{opacity:1}.video-modal-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:10000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.video-modal{animation:scaleIn .2s ease-in-out;background:#000;border-radius:8px;box-shadow:0 20px 60px #00000080;height:auto;max-height:90vh;max-width:90vw;overflow:hidden;position:relative;width:auto}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.video-modal-close{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .2s;width:40px;z-index:10001}.video-modal-close:hover{background:#ffffff4d}.video-modal-content{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.video-modal-player{background:#000;height:auto;max-height:90vh;max-width:90vw;outline:none;width:100%}.video-modal-player:focus{outline:2px solid #ffffff80;outline-offset:2px}.admin-panel-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.admin-panel{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;max-height:90vh;max-width:1000px;width:90%}.admin-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 30px}.admin-header h2{color:#1f2937;margin:0}.close-btn{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:32px;height:32px;justify-content:center;line-height:1;padding:0;width:32px}.close-btn:hover{color:#1f2937}.admin-tabs{border-bottom:1px solid #e5e7eb;display:flex;padding:0 30px}.admin-tabs button{background:none;border:none;border-bottom:2px solid #0000;color:#6b7280;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:all .2s}.admin-tabs button:hover{color:#1f2937}.admin-tabs button.active{border-bottom-color:#14b8a6;color:#14b8a6}.admin-content{flex:1 1;overflow-y:auto;padding:30px}.admin-actions{margin-bottom:20px}.btn-primary{background:linear-gradient(135deg,#14b8a6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px}.btn-primary:hover{opacity:.9}.btn-danger{background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px}.btn-danger:hover{background:#dc2626}.btn-danger:disabled{cursor:not-allowed;opacity:.5}.user-form{background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:20px}.user-form h3{margin-bottom:15px;margin-top:0}.user-form input,.user-form select{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;margin-bottom:10px;padding:10px;width:100%}.form-actions{display:flex;gap:10px;margin-top:10px}.form-actions button{border:none;border-radius:6px;cursor:pointer;padding:8px 16px}.form-actions button[type=submit]{background:#14b8a6;color:#fff}.form-actions button[type=button]{background:#e5e7eb;color:#374151}.admin-table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{border-bottom:1px solid #e5e7eb;padding:12px;text-align:left}.admin-table th{background:#f9fafb;color:#374151;font-weight:600}.admin-table select{border:1px solid #d1d5db;border-radius:4px;padding:6px}.documents-list{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.doc-list{max-height:400px;overflow-y:auto}.doc-item{border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;margin-bottom:10px;padding:15px;transition:all .2s}.doc-item:hover{background:#f0fdfa;border-color:#14b8a6}.doc-item.selected{background:#ecfeff;border-color:#14b8a6}.doc-name{font-weight:600;margin-bottom:5px}.doc-meta{color:#6b7280;font-size:12px}.document-access{background:#f9fafb;border-radius:8px;padding:20px}.document-access h3{margin-top:0}.access-list{margin-bottom:20px}.access-item{align-items:center;background:#fff;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:8px;padding:10px}.grant-access{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.grant-access select{border:1px solid #d1d5db;border-radius:6px;padding:10px;width:100%}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;margin:20px 30px;padding:12px}.btn-secondary{background:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;padding:6px 12px;transition:background .2s}.btn-secondary:hover{background:#4b5563}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.password-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.password-modal{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%}.password-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:20px 30px}.password-modal-header h3{color:#1f2937;font-size:18px;margin:0}.password-form{padding:30px}.form-group{margin-bottom:20px}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.form-group input{border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;font-size:14px;padding:10px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:#14b8a6;box-shadow:0 0 0 3px #14b8a61a;outline:none}.password-form .error-message{font-size:14px;margin:0 0 20px;padding:12px}.password-form .form-actions{display:flex;gap:10px;margin-top:20px}.settings-section{border-bottom:1px solid #e5e7eb;margin-bottom:30px;padding-bottom:30px}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{color:#1f2937;font-size:18px;margin-bottom:10px;margin-top:0}.settings-description{color:#6b7280;font-size:14px;line-height:1.5;margin-bottom:20px}.upload-area{display:flex;flex-direction:column;gap:12px}.upload-button{align-items:center;background:linear-gradient(135deg,#14b8a6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:500;gap:8px;justify-content:center;padding:12px 20px;transition:opacity .2s}.upload-button:hover:not(:disabled){opacity:.9}.upload-button:disabled{cursor:not-allowed;opacity:.6}.upload-button svg{height:20px;width:20px}.spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.file-info{background:#f3f4f6;border-radius:6px;color:#374151;font-size:14px;padding:8px 12px}.empty-history{align-items:center;color:#9ca3af;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.empty-history svg{margin-bottom:16px}.empty-history p{font-size:14px;margin:0}.document-list{display:flex;flex-direction:column;gap:12px}.document-item{align-items:center;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:16px;padding:16px;transition:all .2s}.document-item:hover{background:#f0fdfa;border-color:#14b8a6}.document-item.active{background:#ecfeff;border-color:#14b8a6}.document-icon{color:#6b7280;flex-shrink:0}.document-item.active .document-icon{color:#14b8a6}.document-details{flex:1 1;min-width:0}.document-name{color:#1f2937;font-weight:600;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:8px}.document-actions{align-items:center;display:flex;flex-shrink:0;gap:12px}.active-badge{background:#14b8a6;border-radius:4px;color:#fff;font-size:11px;font-weight:600;padding:4px 8px;text-transform:uppercase}.delete-doc-btn{align-items:center;background:none;border:none;border-radius:4px;color:#ef4444;cursor:pointer;display:flex;justify-content:center;opacity:.7;padding:4px;transition:all .2s}.delete-doc-btn:hover{background:#fee2e2;opacity:1}
/*# sourceMappingURL=main.f1fa3432.css.map*/