:root{--paper: #FAF7F2;--paper-2: #F4EFE7;--paper-rule: #E8E1D3;--paper-rule-2: #EFE9DC;--card: #FFFFFF;--card-2: #FBF9F5;--ink: #14141B;--ink-2: #3B3B47;--ink-3: #6E6E7A;--ink-4: #A8A6A0;--ink-5: #CFCDC6;--indigo-1: #5B5BF2;--indigo-2: #7B5BF7;--violet: #9B59E0;--cyan-1: #3FBEF0;--grass: #4DAE7A;--amber: #E5A03B;--rose: #D86A6A;--accent: #5B5BF2;--accent-2: #3FBEF0;--serif: "Instrument Serif", "Times New Roman", serif;--sans: "Geist", system-ui, -apple-system, sans-serif;--mono: "JetBrains Mono", ui-monospace, monospace;--bg-dark: #FAF7F2;--bg-card: #FFFFFF;--text-primary: #14141B;--text-secondary: #3B3B47;--accent-glow: rgba(91, 91, 242, .2);--border: #E8E1D3;--font-sans: "Geist", system-ui, -apple-system, sans-serif;--pad-card: 22px;--pad-rail: 14px;--row-gap: 16px}body.dark{--paper: #0E0E14;--paper-2: #14141C;--paper-rule: #20202C;--paper-rule-2: #1A1A24;--card: #16161E;--card-2: #1A1A24;--ink: #F1EFEA;--ink-2: #BFBDB6;--ink-3: #8B8983;--ink-4: #5E5C57;--ink-5: #3A3A44;--bg-dark: #0E0E14;--bg-card: #16161E;--text-primary: #F1EFEA;--text-secondary:#BFBDB6;--border: #20202C;--accent-glow: rgba(91, 91, 242, .25)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:auto}body{background-color:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;transition:background-color .25s,color .25s}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(900px 500px at 90% -10%,rgba(123,91,247,.055),transparent 60%),radial-gradient(900px 500px at -5% 30%,rgba(63,190,240,.04),transparent 60%);z-index:0}body.dark:before{background:radial-gradient(900px 500px at 90% -10%,rgba(123,91,247,.11),transparent 60%),radial-gradient(900px 500px at -5% 30%,rgba(63,190,240,.07),transparent 60%)}#root{height:100%;width:100%;position:relative;z-index:1}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--ink-5) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.95) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes pulseDot{0%,to{box-shadow:0 0 0 0 var(--pulse-color, rgba(91, 91, 242, .5))}50%{box-shadow:0 0 0 6px #5b5bf200}}@keyframes streamCaret{0%,50%{opacity:1}50.01%,to{opacity:0}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn .5s cubic-bezier(.2,.7,.2,1) both}.pop-in{animation:popIn .35s cubic-bezier(.3,1.4,.4,1) both}.slide-in{animation:slideIn .3s cubic-bezier(.2,.7,.2,1) both}.trace-dot{animation:pulseDot 1.6s ease-in-out infinite}.stream-caret:after{content:"▌";display:inline-block;margin-left:2px;animation:streamCaret .9s steps(1) infinite;color:var(--ink-3);font-weight:300}.app-container{width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{width:240px;min-width:240px;background-color:var(--card);border-right:1px solid var(--paper-rule);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;overflow-x:hidden;align-self:stretch;transition:background-color .2s,border-color .2s}.brand{display:flex;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;color:var(--accent);margin-bottom:2rem}.nav-btn{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem;border-radius:0;border:none;border-left:3px solid transparent;background:transparent;color:var(--ink-3);font-family:var(--sans);font-size:.9rem;cursor:pointer;transition:color .15s,background .15s,border-color .15s;text-align:left;width:100%}.nav-btn:hover{background-color:#5b5bf20d;color:var(--ink-2);border-left-color:var(--paper-rule)}.nav-btn.active{background-color:#5b5bf212;color:var(--indigo-1);border-left-color:var(--indigo-1);font-weight:500}.content-area{flex:1;min-height:0;min-width:0;padding:2rem;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transition:background-color .2s}.page-title{font-family:var(--serif);font-size:1.75rem;font-weight:400;margin-bottom:.25rem;color:var(--ink);letter-spacing:-.01em;line-height:1.15}.page-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.page-icon{color:var(--accent)}.page-subtitle{font-size:.875rem;color:var(--ink-3);margin:.25rem 0 0}.mono-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4)}.card{background:var(--card);border:1px solid var(--paper-rule);border-radius:16px;padding:var(--pad-card);box-shadow:0 1px #ffffff80 inset,0 24px 40px -28px #14141b1a}body.dark .card{box-shadow:0 1px #ffffff0a inset,0 24px 40px -28px #0006}.quick-actions{margin-bottom:1.5rem}.quick-actions-title{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-4);margin-bottom:.75rem}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.quick-action-btn{padding:.5rem .75rem;background-color:var(--card);border:1px solid var(--paper-rule);border-radius:8px;color:var(--ink-2);font-size:.875rem;cursor:pointer;transition:all .15s ease;text-align:left}.quick-action-btn:hover:not(:disabled){background-color:#5b5bf20f;border-color:var(--indigo-1);color:var(--indigo-1)}.quick-action-btn:disabled{opacity:.4;cursor:not-allowed}.chat-container{display:flex;flex-direction:column;height:100%;max-width:800px;margin:0 auto;width:100%}.messages-list{flex:1;overflow-y:auto;padding-right:1rem;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;gap:1rem;align-items:flex-start;max-width:80%}.message.human{align-self:flex-end;flex-direction:row-reverse}.message-bubble{background-color:var(--card);padding:1rem;border-radius:1rem;border-top-left-radius:0;border:1px solid var(--paper-rule);line-height:1.6;box-shadow:0 2px 8px -4px #14141b14}.message.human .message-bubble{background:linear-gradient(135deg,var(--indigo-1),var(--indigo-2));color:#fff;border-radius:1rem;border-top-right-radius:0;border:none;font-weight:400;box-shadow:0 4px 12px -4px #5b5bf266}.chat-input-area{margin-top:1.5rem;position:relative}.chat-input{width:100%;padding:1rem 3rem 1rem 1rem;background-color:var(--card);border:1px solid var(--paper-rule);border-radius:12px;color:var(--ink);font-family:inherit;font-size:1rem;resize:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.chat-input:focus{outline:none;border-color:var(--indigo-1);box-shadow:0 0 0 3px #5b5bf21f}.send-btn{position:absolute;right:1rem;top:1rem;background:none;border:none;color:var(--accent);cursor:pointer;padding:.25rem}.upload-container{max-width:600px;margin:0 auto;width:100%;background-color:var(--card);padding:2rem;border-radius:16px;border:1px solid var(--paper-rule);text-align:center;box-shadow:0 1px #ffffff80 inset,0 24px 40px -28px #14141b1a}.dropzone{border:2px dashed var(--paper-rule);border-radius:12px;padding:4rem 2rem;cursor:pointer;transition:all .2s;margin:2rem 0}.dropzone:hover{border-color:var(--indigo-1);background-color:#5b5bf20a}.upload-status{margin-top:1rem;font-weight:500}.upload-status.success{color:var(--grass)}.upload-status.error{color:var(--rose)}.copy-btn{background-color:#5b5bf214;border:1px solid var(--indigo-1);color:var(--indigo-1);border-radius:6px;padding:4px 8px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;min-width:32px;height:28px;flex-shrink:0}.copy-btn:hover{background-color:#5b5bf229;transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}.copy-btn svg{stroke-width:2}@keyframes copySuccess{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.copy-btn:has(svg:last-child){animation:copySuccess .3s ease;background-color:#4dae7a26;border-color:var(--grass);color:var(--grass)}@media(max-width:1080px){.chat-grid{grid-template-columns:minmax(360px,1fr) minmax(260px,320px)!important}.chat-history{display:none!important}}@media(max-width:760px){.chat-grid{grid-template-columns:1fr!important}.chat-grid>*:last-child{display:none!important}}
