@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";body{margin:0}:root{--bg-page:#f4f6fb;--bg-surface:#fff;--bg-muted:#f8fafc;--bg-hover:#f1f5f9;--border:#e2e8f0;--border-light:#e8edf4;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--accent:#2563eb;--accent-bright:#2f6dff;--accent-hover:#1d4ed8;--accent-soft:#eff6ff;--user-bg:#f8fafc;--error:#dc2626;--sidebar-width:280px;--topbar-height:56px;--font:"Inter", "Segoe UI", Arial, sans-serif;--shadow-sm:0 1px 2px #0f172a0a, 0 12px 40px #0f172a12;--shadow-modal:0 16px 48px -12px #0f172a2e;--code-inline-bg:#f1f5f9;--code-inline-text:#0f172a;--code-inline-border:#dbe3ef;--code-block-bg:#0f172a;--code-block-header-bg:#1e293b;--code-block-border:#334155;--code-block-text:#e2e8f0;--code-block-label:#94a3b8;--code-block-copy-bg:#ffffff0f;--code-block-copy-text:#e2e8f0;--code-block-copy-border:#475569;--code-block-copy-hover-bg:#ffffff1f;--code-block-copy-hover-border:#64748b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;height:100dvh;overflow:hidden}#root{height:100dvh}.app{background:var(--bg-page);height:100dvh;display:flex}.brand-wrap{flex-direction:column;align-items:stretch;gap:.3rem;display:inline-flex}.brand-wrap-centered{align-items:center;margin:0 auto}.brand{letter-spacing:-.02em;text-align:center;white-space:nowrap;font-size:1.08rem;font-weight:700;line-height:1.2}.brand-line{background:var(--accent-bright);border-radius:1px;width:100%;height:2px;display:block}.brand-wrap-centered .brand-line{width:100%}.brand-ai{color:var(--accent-bright)}.brand-bianchi{color:#111827}.sidebar-brand.brand-wrap .brand{font-size:.95rem}.empty-brand.brand-wrap{align-items:center;margin-bottom:.5rem}.empty-brand.brand-wrap .brand{font-size:1.5rem}.sidebar{width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border-light);z-index:10;flex-direction:column;flex-shrink:0;transition:transform .25s,width .25s;display:flex;box-shadow:1px 0 #0f172a08}.sidebar.closed,.sidebar:not(.open){transform:translateX(calc(-1 * var(--sidebar-width)))}.sidebar-header{border-bottom:1px solid var(--border-light);padding:14px 16px}.new-chat-btn{background:var(--bg-muted);border:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:flex}.new-chat-btn:hover{background:var(--bg-surface);color:var(--text-primary);border-color:#cbd5e1}.new-chat-btn span{color:var(--accent);font-size:18px;line-height:1}.conversation-list{flex:1;min-height:0;padding:10px;overflow:hidden auto}.conversation-item{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:4px;min-width:0;margin-bottom:4px;padding:10px 12px;transition:background .15s;display:flex;overflow:hidden}.conversation-item:hover{background:var(--bg-hover)}.conversation-item.active{background:var(--accent-soft);border-color:#bfdbfe}.conv-title{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.8125rem;font-weight:500;display:block;overflow:hidden}.conversation-item.active .conv-title{color:var(--accent-hover);font-weight:600}.delete-btn{color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:2px 4px;font-size:18px;line-height:1;transition:opacity .15s}.conversation-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--error);background:#dc262614}.sidebar-footer{border-top:1px solid var(--border-light);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:14px 16px;display:flex}.app-user{color:var(--text-muted);font-size:.75rem;font-weight:600}.sidebar-toggle{z-index:20;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:8px;display:none;position:fixed;top:12px;left:12px}.main-content{background:var(--bg-page);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.top-bar{height:var(--topbar-height);border-bottom:1px solid var(--border-light);background:var(--bg-surface);z-index:5;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.top-bar-actions{align-items:center;gap:10px;display:flex}.topbar-btn-login{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:.48rem 1.1rem;font-size:.8125rem;font-weight:600;transition:background .15s;display:inline-flex}.topbar-btn-login:hover{background:var(--accent-hover)}.model-badge{border-left:3px solid var(--accent-bright);align-items:center;gap:6px;padding-left:calc(.5rem + 3px);display:flex}.model-label{color:var(--text-muted);font-size:.8125rem;font-weight:600}.model-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.streaming-badge{color:var(--accent);font-size:.75rem;font-weight:600;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-banner{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca;justify-content:space-between;align-items:center;padding:10px 24px;font-size:.8125rem;display:flex}.error-banner button{color:#b91c1c;cursor:pointer;background:0 0;border:1px solid #fca5a5;border-radius:8px;padding:4px 12px;font-size:.75rem;font-weight:600}.chat-messages{flex:1;padding:0;overflow-y:auto}.chat-empty{text-align:center;background:linear-gradient(165deg,#f8fafc,#eef2f8 48%,#f4f6fb);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-title{letter-spacing:-.038em;color:var(--text-primary);border-left:3px solid var(--accent-bright);padding-left:1rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.2}.empty-lead{color:var(--text-secondary);max-width:32rem;font-size:1.0625rem;line-height:1.75}.message-row{gap:16px;width:100%;max-width:800px;margin:0 auto;padding:20px 24px;display:flex}.message-row.user{background:var(--user-bg);border-bottom:1px solid var(--border-light)}.message-avatar{flex-shrink:0}.avatar-icon{border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:11px;font-weight:700;display:flex}.user-avatar{background:var(--accent-soft);color:var(--accent-hover);border:1px solid #bfdbfe}.assistant-avatar{background:var(--accent);color:#fff}.assistant-avatar-img{object-fit:contain;background:0 0}.message-content{flex:1;min-width:0}.message-role{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:.6875rem;font-weight:700}.message-text{word-break:break-word;color:var(--text-primary);font-size:.9375rem;line-height:1.75}.message-formatted{flex-direction:column;gap:.35rem;display:flex}.message-paragraph{margin:0 0 .65rem}.message-paragraph:last-child{margin-bottom:0}.inline-code{background:var(--code-inline-bg);color:var(--code-inline-text);border:1px solid var(--code-inline-border);border-radius:5px;padding:.12em .38em;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.84em}.code-block{border:1px solid var(--code-block-border);background:var(--code-block-bg);box-shadow:var(--shadow-sm);border-radius:10px;margin:.75rem 0;overflow:hidden}.code-block-header{background:var(--code-block-header-bg);border-bottom:1px solid var(--code-block-border);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.code-block-lang{letter-spacing:.08em;text-transform:uppercase;color:var(--code-block-label);font-size:.72rem;font-weight:700}.code-block-copy{border:1px solid var(--code-block-copy-border);background:var(--code-block-copy-bg);color:var(--code-block-copy-text);cursor:pointer;border-radius:6px;padding:.28rem .65rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.code-block-copy:hover:not(:disabled){background:var(--code-block-copy-hover-bg);border-color:var(--code-block-copy-hover-border)}.code-block-copy:disabled{opacity:.5;cursor:not-allowed}.code-block-body{tab-size:2;margin:0;padding:14px 16px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.6;overflow-x:auto}.code-block-body code{white-space:pre;font-family:inherit}.code-block-body code:not(.hljs){color:var(--code-block-text)}.code-block.is-streaming .code-block-body{min-height:2.5rem}.code-block-body .hljs{color:#abb2bf;background:0 0;padding:0;display:block}.code-block-body .hljs-comment,.code-block-body .hljs-quote{color:#5c6370;font-style:italic}.code-block-body .hljs-keyword,.code-block-body .hljs-selector-tag,.code-block-body .hljs-doctag{color:#c678dd}.code-block-body .hljs-string,.code-block-body .hljs-regexp,.code-block-body .hljs-addition{color:#98c379}.code-block-body .hljs-number,.code-block-body .hljs-literal,.code-block-body .hljs-variable,.code-block-body .hljs-template-variable,.code-block-body .hljs-type,.code-block-body .hljs-attr{color:#d19a66}.code-block-body .hljs-title,.code-block-body .hljs-title.class_,.code-block-body .hljs-built_in,.code-block-body .hljs-class .hljs-title{color:#e6c07b}.code-block-body .hljs-function .hljs-title,.code-block-body .hljs-title.function_{color:#61aeee}.code-block-body .hljs-name,.code-block-body .hljs-section,.code-block-body .hljs-deletion{color:#e06c75}.code-block-body .hljs-symbol,.code-block-body .hljs-bullet,.code-block-body .hljs-link{color:#56b6c2}.message-feedback{border-top:1px solid var(--border-light);align-items:center;gap:6px;margin-top:12px;padding-top:10px;display:flex}.feedback-icon-btn{border:1px solid var(--border-light);background:var(--bg-surface);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s,border-color .15s,transform .1s;display:inline-flex}.feedback-icon-btn:hover{background:var(--bg-hover);color:var(--text-secondary);border-color:#cbd5e1}.feedback-icon-btn:active{transform:scale(.96)}.feedback-icon-btn.feedback-like.is-active{color:#16a34a;background:#22c55e24;border-color:#22c55e59}.feedback-icon-btn.feedback-dislike.is-active{color:#dc2626;background:#ef44441f;border-color:#ef444459}.feedback-icon-btn svg{pointer-events:none;flex-shrink:0;display:block}.cursor-blink{color:var(--accent);animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.chat-input-wrapper{padding:16px 24px 20px;padding-bottom:max(20px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-light);background:var(--bg-surface);flex-shrink:0}.chat-input-container{background:var(--bg-muted);border:1px solid #cbd5e1;border-radius:12px;align-items:flex-end;gap:8px;max-width:800px;margin:0 auto;padding:8px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.chat-input-container:focus-within{border-color:var(--accent-bright);background:var(--bg-surface);box-shadow:0 0 0 3px #2f6dff1f}.chat-textarea{color:var(--text-primary);font-size:.9375rem;font-family:var(--font);resize:none;background:0 0;border:none;outline:none;flex:1;max-height:200px;padding:4px 0;line-height:1.5}.chat-textarea::placeholder{color:#94a3b8}.chat-textarea:disabled{opacity:.6}.send-button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,opacity .15s;display:flex}.send-button:hover:not(:disabled){background:var(--accent-hover)}.send-button:disabled{opacity:.4;cursor:not-allowed}.stop-button{background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background .15s,border-color .15s,color .15s;display:flex}.stop-button:hover{color:var(--error);background:#fef2f2;border-color:#fca5a5}.auth-overlay{z-index:100;background:#0f172a6b;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-modal);border-radius:16px;padding:28px}.auth-brand{margin-bottom:20px}.auth-title{letter-spacing:-.03em;color:var(--text-primary);border-left:3px solid var(--accent-bright);margin-bottom:8px;padding-left:1rem;font-size:1.25rem;font-weight:600}.auth-subtitle{color:var(--text-secondary);margin-bottom:20px;font-size:.9375rem;line-height:1.6}.auth-tabs{gap:8px;margin-bottom:20px;display:flex}.auth-tabs button{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:9px;font-size:.8125rem;font-weight:600;transition:all .15s}.auth-tabs button.active{background:var(--accent);border-color:var(--accent);color:#fff}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{flex-direction:column;gap:6px;display:flex}.auth-form label span{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.auth-form input{width:100%;font:inherit;color:var(--text-primary);background:var(--bg-muted);border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:.72rem .85rem;font-size:.9375rem;transition:border-color .15s,background .15s,box-shadow .15s}.auth-form input::placeholder{color:#94a3b8}.auth-form input:hover{background:var(--bg-surface);border-color:#94a3b8}.auth-form input:focus{border-color:var(--accent-bright);background:var(--bg-surface);box-shadow:0 0 0 3px #2f6dff1f}.auth-hint{color:var(--text-muted);margin-top:-6px;font-size:.75rem}.auth-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:.8125rem}.auth-submit{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;border:none;border-radius:8px;margin-top:4px;padding:.72rem 1rem;font-size:.8125rem;font-weight:600;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-link-btn{width:100%;color:var(--text-muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-top:.75rem;padding:.5rem;font-size:.8125rem;text-decoration:underline;display:block}.auth-link-btn:hover{color:var(--text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.sidebar-link-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600}.sidebar-link-btn:hover{color:var(--accent)}.theme-toggle-compact{border:1px solid var(--border);background:var(--bg-muted);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex}.theme-toggle-compact:hover{background:var(--bg-hover);border-color:#cbd5e1}.sidebar-link-btn.full-width{border:1px solid var(--border);text-align:center;border-radius:8px;width:100%;margin-top:4px;padding:8px}.topbar-btn-logout{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .9rem;font-size:.75rem;font-weight:600}.topbar-btn-logout:hover{color:var(--text-primary);border-color:#cbd5e1}.user-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:.75rem;overflow:hidden}.mobile-menu-btn{background:var(--bg-muted);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:8px;display:none}.sidebar-overlay{display:none}.auth-page{min-height:100dvh;padding:24px 16px;padding-bottom:max(24px, env(safe-area-inset-bottom,0px));background:linear-gradient(165deg, #f8fafc, #eef2f8 48%, var(--bg-page));-webkit-overflow-scrolling:touch;justify-content:center;align-items:center;display:flex;position:relative;overflow-y:auto}.auth-card{background:var(--bg-surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow-modal);border-radius:16px;flex-shrink:0;margin:auto 0;padding:32px 28px}.auth-card-wide{max-width:480px}.auth-brand-lg.brand-wrap{align-items:center;margin-bottom:20px;font-size:1.35rem}.auth-brand-lg.brand-wrap .brand{font-size:1.35rem}.auth-title-lg{letter-spacing:-.03em;border-left:3px solid var(--accent-bright);margin-bottom:8px;padding-left:1rem;font-size:1.5rem;font-weight:600}.auth-lead{color:var(--text-secondary);margin-bottom:24px;font-size:.9375rem;line-height:1.6}.theme-toggle-floating{border:1px solid var(--border);background:var(--bg-surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;z-index:10;box-shadow:var(--shadow-sm);border-radius:10px;font-size:1rem;position:fixed;top:16px;right:16px}.auth-floating-controls{top:max(16px, env(safe-area-inset-top,0px));right:max(16px, env(safe-area-inset-right,0px));z-index:20;position:fixed}.auth-floating-menu{align-items:flex-start;gap:8px;display:flex}.auth-floating-btn{border:1px solid var(--border);background:var(--bg-surface);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.auth-floating-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.auth-floating-btn:active{transform:scale(.96)}.auth-theme-btn{font-size:1rem}.auth-lang-picker{position:relative}.auth-lang-btn{letter-spacing:.06em;font-size:.72rem;font-weight:700;position:relative}.auth-lang-btn.is-open{border-color:var(--accent-bright);color:var(--accent);background:var(--accent-soft)}.auth-lang-code{line-height:1}.auth-lang-auto-dot{background:var(--accent-bright);border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.auth-lang-popover{border:1px solid var(--border);background:var(--bg-surface);min-width:200px;max-width:min(240px,100vw - 32px);box-shadow:var(--shadow-modal);border-radius:12px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.auth-lang-option{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:.875rem}.auth-lang-option:hover{background:var(--bg-hover)}.auth-lang-option.is-selected{background:var(--accent-soft);color:var(--accent-hover);font-weight:600}.qr-wrapper{justify-content:center;margin-bottom:20px;display:flex}.qr-image{border:1px solid var(--border);background:#fff;border-radius:12px;padding:8px}.auth-app-link{text-align:center;margin-bottom:16px;text-decoration:none;display:block}.totp-secret-block{border:1px solid var(--border);background:var(--bg-muted);border-radius:12px;margin-bottom:20px;padding:14px}.totp-secret-label{color:var(--text-muted);margin-bottom:8px;font-size:.78rem;font-weight:600;display:block}.totp-secret-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.totp-secret-value{word-break:break-all;background:var(--bg-surface);border:1px solid var(--border);min-width:0;color:var(--text-primary);border-radius:8px;flex:1;padding:8px 10px;font-family:ui-monospace,Cascadia Code,Menlo,Consolas,monospace;font-size:.82rem}.totp-secret-copy{border:1px solid var(--border);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;padding:.45rem .75rem;font-size:.75rem;font-weight:600}.totp-secret-copy:hover{background:var(--bg-hover)}.totp-secret-hint{color:var(--text-muted);margin-top:10px;font-size:.8rem;line-height:1.5}.totp-secret-details{padding:0;overflow:hidden}.totp-secret-details>summary{cursor:pointer;-webkit-user-select:none;user-select:none;padding:14px;list-style:none}.totp-secret-details>summary::-webkit-details-marker{display:none}.totp-secret-details>summary:after{content:"▸";float:right;color:var(--text-muted);transition:transform .15s}.totp-secret-details[open]>summary:after{transform:rotate(90deg)}.totp-secret-details[open]>summary{border-bottom:1px solid var(--border)}.totp-secret-details .totp-secret-row,.totp-secret-details .totp-secret-hint{margin:0 14px 14px}.totp-secret-details .totp-secret-row{margin-top:14px}.sidebar-tabs{gap:4px;padding:12px 12px 0;display:flex}.sidebar-tabs button{border:1px solid var(--border);background:var(--bg-muted);color:var(--text-muted);cursor:pointer;border-radius:8px;flex:1;padding:8px 10px;font-size:.75rem;font-weight:600}.sidebar-tabs button.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.topbar-tab-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.75rem;font-weight:600}.topbar-tab-btn.active,.topbar-tab-btn:hover{border-color:var(--accent);color:var(--accent)}.settings-panel{flex:1;width:100%;max-width:640px;margin:0 auto;padding:24px;overflow-y:auto}.settings-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.settings-title{letter-spacing:-.03em;font-size:1.35rem;font-weight:600}.settings-back-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:.8125rem;font-weight:600}.settings-back-btn:hover{color:var(--accent)}.settings-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;margin-bottom:16px;padding:18px}.settings-section-title{margin-bottom:12px;font-size:.875rem;font-weight:600}.settings-select{border:1px solid var(--border);background:var(--bg-muted);width:100%;color:var(--text-primary);border-radius:8px;padding:10px 12px;font-size:.875rem}.settings-theme-row{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:.875rem;display:flex}.settings-desc{color:var(--text-secondary);margin-bottom:14px;font-size:.8125rem;line-height:1.5}.settings-danger-btn{color:var(--error);cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:.6rem 1rem;font-size:.8125rem;font-weight:600}.settings-danger-btn:hover:not(:disabled){background:#fee2e2}.settings-cancel-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:.6rem 1rem;font-size:.8125rem;font-weight:600}.settings-confirm{flex-direction:column;gap:12px;display:flex}.settings-confirm p{color:var(--text-secondary);font-size:.8125rem;line-height:1.5}.settings-confirm-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-success{color:#16a34a;margin-top:10px;font-size:.8125rem;font-weight:600}[data-theme=dark] .settings-danger-btn{color:#fca5a5;background:#7f1d1d40;border-color:#7f1d1d}[data-theme=dark] .settings-success{color:#4ade80}.admin-panel{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:24px;overflow-y:auto}.admin-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-title{margin-bottom:4px;font-size:1.25rem;font-weight:700}.admin-subtitle,.admin-muted{color:var(--text-muted);font-size:.9rem}.admin-error{margin-bottom:16px}.admin-table-wrap{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.84rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border-light);vertical-align:middle;padding:12px 14px}.admin-table th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);background:var(--bg-muted);font-size:.72rem}.admin-table tr:last-child td{border-bottom:none}.admin-table tr.is-blocked{opacity:.72}.admin-email-cell{word-break:break-all;font-weight:600}.admin-status-pill{border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.admin-status-pill.active{color:#16a34a;background:#22c55e1f}.admin-status-pill.blocked{color:#dc2626;background:#ef44441f}.admin-status-pill.pending{color:#ca8a04;background:#eab30824}.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-action-btn{border:1px solid var(--border);background:var(--bg-muted);color:var(--text-secondary);cursor:pointer;border-radius:8px;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.admin-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:#cbd5e1}.admin-action-btn.danger{color:#dc2626;background:#fef2f2;border-color:#fecaca}.admin-action-btn:disabled{opacity:.5;cursor:not-allowed}.admin-conversation-list{flex-direction:column;gap:12px;display:flex}.admin-conversation-card{border:1px solid var(--border);background:var(--bg-surface);border-radius:12px;overflow:hidden}.admin-conversation-header{background:var(--bg-muted);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;display:flex}.admin-conversation-title{color:var(--text-primary);font-weight:600}.admin-conversation-meta{color:var(--text-muted);white-space:nowrap;font-size:.78rem}.admin-message-list{flex-direction:column;gap:12px;padding:12px 16px 16px;display:flex}.admin-message{border:1px solid var(--border-light);background:var(--bg-page);border-radius:10px;padding:12px}.admin-message-role{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:8px;font-size:.75rem;font-weight:700;display:flex}.admin-feedback-tag{background:var(--accent-soft);color:var(--accent-hover);border-radius:999px;padding:.1rem .45rem;font-size:.68rem}[data-theme=dark] .admin-action-btn.danger{color:#fca5a5;background:#7f1d1d40;border-color:#7f1d1d}@media (width>=769px){.sidebar{position:relative;transform:none!important}.sidebar:not(.open){transform:none!important}.main-content{margin-left:0}}@media (width<=768px){:root{--sidebar-width:min(85vw, 300px)}.sidebar{z-index:20;height:100dvh;position:fixed;top:0;left:0;box-shadow:4px 0 24px #0f172a26}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:15;background:#0f172a73;display:block;position:fixed;inset:0}.mobile-menu-btn{justify-content:center;align-items:center;display:flex}.user-email{display:none}.top-bar{gap:8px;padding:0 12px}.top-bar-actions{gap:6px}.topbar-btn-logout{padding:.35rem .6rem;font-size:.7rem}.message-row{gap:10px;padding:14px 12px}.chat-input-wrapper{z-index:4;padding:10px 12px;padding-bottom:max(10px, env(safe-area-inset-bottom,0px));transform:translateY(calc(-1 * var(--keyboard-inset,0px)));transition:transform .15s ease-out;position:sticky;bottom:0}.auth-page{padding-top:max(64px, calc(56px + env(safe-area-inset-top,0px)));padding-bottom:max(32px, env(safe-area-inset-bottom,0px));align-items:flex-start}.auth-floating-controls{top:max(12px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));left:max(12px, env(safe-area-inset-left,0px))}.auth-floating-menu{width:fit-content;margin-left:auto}.auth-floating-btn{width:44px;height:44px}.auth-lang-popover{-webkit-overflow-scrolling:touch;max-height:min(320px,100dvh - 120px);left:auto;right:0;overflow-y:auto}.auth-lang-option{padding:12px 14px;font-size:.9375rem}.auth-card{margin:0 auto;padding:24px 20px}.auth-card-wide .auth-lead{margin-bottom:16px}.auth-card-wide .totp-secret-block{margin-bottom:14px;padding:12px}.auth-card-wide .auth-form{gap:12px}.auth-page-2fa{padding-bottom:max(12px, env(safe-area-inset-bottom,0px));align-items:stretch;overflow:hidden}.auth-page-2fa .auth-card-wide{min-height:0;max-height:calc(100dvh - max(64px, calc(56px + env(safe-area-inset-top,0px))) - max(12px, env(safe-area-inset-bottom,0px)));flex-direction:column;flex:1;margin:0 auto;display:flex;overflow:hidden}.auth-2fa-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.auth-form-2fa{border-top:1px solid var(--border);background:var(--bg-surface);transform:translateY(calc(-1 * var(--keyboard-inset,0px)));z-index:2;flex-shrink:0;margin-top:4px;padding-top:14px;transition:transform .15s ease-out;position:relative}.auth-form-2fa .auth-submit{min-height:48px}.settings-panel{padding:16px 12px}.topbar-tab-btn{display:none}.model-badge{flex:1;min-width:0}}[data-theme=dark]{--bg-page:#0f1117;--bg-surface:#171a21;--bg-muted:#1e222b;--bg-hover:#262b36;--border:#2d3544;--border-light:#252a35;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--accent:#3b82f6;--accent-bright:#2f6dff;--accent-hover:#2563eb;--accent-soft:#1e293b;--user-bg:#1a1f28;--code-inline-bg:#1e222b;--code-inline-text:#e2e8f0;--code-inline-border:#334155;--error:#f87171;--shadow-sm:0 1px 2px #0003, 0 12px 40px #00000040;--shadow-modal:0 16px 48px -12px #00000080}[data-theme=dark] .feedback-icon-btn{background:#1a1f28;border-color:#334155}[data-theme=dark] .feedback-icon-btn.feedback-like.is-active{color:#4ade80;background:#22c55e2e;border-color:#4ade8059}[data-theme=dark] .feedback-icon-btn.feedback-dislike.is-active{color:#f87171;background:#ef44442e;border-color:#f8717159}[data-theme=dark] .brand-bianchi{color:#f1f5f9}[data-theme=dark] .chat-empty{background:linear-gradient(165deg,#141820,#171a21 48%,#0f1117)}[data-theme=dark] .conversation-item.active,[data-theme=dark] .user-avatar{border-color:#334155}[data-theme=dark] .error-banner{color:#fca5a5;background:#7f1d1d4d;border-bottom-color:#7f1d1d}[data-theme=dark] .auth-error{color:#fca5a5;background:#7f1d1d4d;border-color:#7f1d1d}[data-theme=dark] .auth-page{background:linear-gradient(165deg,#141820,#171a21 48%,#0f1117)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#334155}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#abb2bf;background:#282c34}.hljs-comment,.hljs-quote{color:#5c6370;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#c678dd}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e06c75}.hljs-literal{color:#56b6c2}.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#98c379}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#d19a66}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#61aeee}.hljs-built_in,.hljs-class .hljs-title,.hljs-title.class_{color:#e6c07b}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
