pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: Tokyo-night-Dark
  origin: https://github.com/enkia/tokyo-night-vscode-theme
  Description: Original highlight.js style
  Author: (c) Henri Vandersleyen <hvandersleyen@gmail.com>
  License: see project LICENSE
  Touched: 2022
*/.hljs-meta,.hljs-comment{color:#565f89}.hljs-tag,.hljs-doctag,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-template-tag,.hljs-selector-pseudo,.hljs-selector-attr,.hljs-variable.language_,.hljs-deletion{color:#f7768e}.hljs-variable,.hljs-template-variable,.hljs-number,.hljs-literal,.hljs-type,.hljs-params,.hljs-link{color:#ff9e64}.hljs-built_in,.hljs-attribute{color:#e0af68}.hljs-selector-tag{color:#2ac3de}.hljs-keyword,.hljs-title.function_,.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-subst,.hljs-property{color:#7dcfff}.hljs-selector-tag{color:#73daca}.hljs-quote,.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#9ece6a}.hljs-code,.hljs-formula,.hljs-section{color:#7aa2f7}.hljs-name,.hljs-keyword,.hljs-operator,.hljs-char.escape_,.hljs-attr{color:#bb9af7}.hljs-punctuation{color:#c0caf5}.hljs{background:#1a1b26;color:#9aa5ce}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}:root{--bg-dark: #0f172a;--bg-darker: #020617;--sidebar-bg: rgba(30, 41, 59, .7);--glass-bg: rgba(30, 41, 59, .4);--glass-border: rgba(255, 255, 255, .1);--accent-primary: #3b82f6;--accent-hover: #2563eb;--accent-glow: rgba(59, 130, 246, .5);--text-main: #f8fafc;--text-muted: #94a3b8;--msg-user: #3b82f6;--msg-ai: rgba(30, 41, 59, .8);--success: #10b981;--warning: #f59e0b;--error: #ef4444;--font-family: "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background:linear-gradient(135deg,var(--bg-darker) 0%,var(--bg-dark) 100%);color:var(--text-main);height:100vh;overflow:hidden;display:flex;justify-content:center;align-items:center}.app-container{display:flex;width:100vw;height:100vh;background:transparent}.glassmorphism{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.sidebar{width:320px;background:var(--sidebar-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-right:1px solid var(--glass-border);display:flex;flex-direction:column;padding:1.5rem;z-index:10}.sidebar-header{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--glass-border)}.logo-icon{color:var(--accent-primary);filter:drop-shadow(0 0 10px var(--accent-glow))}.sidebar-header h2{font-weight:600;font-size:1.25rem;letter-spacing:-.025em}.config-section{flex:1}.config-section h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.input-group{margin-bottom:1.25rem}.input-group label{display:block;font-size:.875rem;margin-bottom:.5rem;color:var(--text-muted)}input[type=text],input[type=password]{width:100%;padding:.75rem 1rem;background:rgba(15,23,42,.6);border:1px solid var(--glass-border);border-radius:8px;color:var(--text-main);font-family:inherit;font-size:.9rem;transition:all .3s ease}input[type=text]:focus,input[type=password]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.password-wrapper{position:relative;display:flex;align-items:center}.password-wrapper input{padding-right:2.5rem}.password-wrapper button{position:absolute;right:.75rem;background:none;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;transition:color .2s}.password-wrapper button:hover{color:var(--text-main)}.primary-btn{width:100%;padding:.75rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-weight:500;font-size:1rem;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 14px 0 var(--accent-glow)}.primary-btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--glass-border);font-size:.875rem}.status-indicator{font-weight:600}.status-indicator.success{color:var(--success)}.status-indicator.warning{color:var(--warning)}.status-indicator.error{color:var(--error)}.chat-area{flex:1;display:flex;flex-direction:column;position:relative}.chat-header{padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--glass-border);background:rgba(2,6,23,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.model-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .8rem;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;font-size:.875rem;color:var(--text-muted)}.icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;transition:color .2s;padding:.5rem;border-radius:8px;display:flex;align-items:center}.icon-btn:hover{color:var(--error);background:rgba(239,68,68,.1)}.chat-history{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:1.5rem;scroll-behavior:smooth}.message{display:flex;width:100%;animation:fadeIn .3s ease}.message.user{justify-content:flex-end}.message.system-message{justify-content:center}.message-content{max-width:80%;padding:1rem 1.25rem;border-radius:12px;line-height:1.6;font-size:.95rem}.message.user .message-content{background:var(--msg-user);color:#fff;border-bottom-right-radius:4px;box-shadow:0 4px 15px #3b82f64d}.message.ai .message-content{background:var(--msg-ai);border:1px solid var(--glass-border);border-bottom-left-radius:4px}.message.system-message .message-content{background:transparent;border:1px dashed var(--glass-border);text-align:center;color:var(--text-muted)}.system-message h3{color:var(--text-main);margin-bottom:.5rem}.message-content p{margin-bottom:.75rem}.message-content p:last-child{margin-bottom:0}.message-content pre{background:#0d1117;padding:1rem;border-radius:8px;overflow-x:auto;margin:1rem 0;border:1px solid var(--glass-border);font-family:Fira Code,monospace;font-size:.85rem}.message-content code{font-family:Fira Code,monospace;background:rgba(255,255,255,.1);padding:.2rem .4rem;border-radius:4px;font-size:.85rem}.message-content pre code{background:transparent;padding:0}.message-content ul,.message-content ol{margin-left:1.5rem;margin-bottom:.75rem}.message-content table{border-collapse:collapse;width:100%;margin:1rem 0}.message-content th,.message-content td{border:1px solid var(--glass-border);padding:.5rem;text-align:left}.message-content th{background:rgba(255,255,255,.05)}.typing-indicator{display:flex;gap:4px;padding:.5rem}.typing-dot{width:6px;height:6px;background:var(--text-muted);border-radius:50%;animation:typingBounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.chat-input-container{padding:1.5rem 2rem;background:linear-gradient(to top,var(--bg-darker) 60%,transparent)}.input-box{display:flex;align-items:flex-end;gap:1rem;padding:.75rem 1rem;border-radius:16px;max-width:900px;margin:0 auto}#chat-input{flex:1;background:transparent;border:none;color:var(--text-main);font-family:inherit;font-size:1rem;resize:none;padding:.5rem 0;max-height:150px}#chat-input:focus{outline:none}.send-btn{background:var(--accent-primary);color:#fff;border:none;border-radius:50%;width:40px;height:40px;display:flex;justify-content:center;align-items:center;cursor:pointer;transition:all .2s;box-shadow:0 2px 10px var(--accent-glow);flex-shrink:0}.send-btn:hover:not(:disabled){transform:scale(1.05)}.send-btn:disabled{background:var(--glass-border);color:var(--text-muted);cursor:not-allowed;box-shadow:none}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}
