:root{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-elevated:#1e293b;--color-bg-hover:#374151;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-subtle:#2563eb1f;--color-accent-glow:#2563eb2e;--color-text-primary:#f3f4f6;--color-text-secondary:#9ca3af;--color-text-tertiary:#6b7280;--color-text-inverse:#fff;--color-border:#ffffff14;--color-border-hover:#ffffff29;--color-border-accent:#2563eb59;--color-success:#10b981;--color-warning:#f59e0b;--color-error:#ef4444;--shadow-sm:0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-glow:0 0 16px var(--color-accent-glow);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--sidebar-width:280px;--header-height:56px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-full:9999px;--transition-fast:.12s ease;--transition-base:.2s ease;--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=light]{--color-bg-primary:#f8fafc;--color-bg-secondary:#fff;--color-bg-tertiary:#f1f5f9;--color-bg-elevated:#fff;--color-bg-hover:#2563eb0d;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-accent-subtle:#2563eb0f;--color-accent-glow:#2563eb1a;--color-text-primary:#0f172a;--color-text-secondary:#4b5563;--color-text-tertiary:#9ca3af;--color-text-inverse:#fff;--color-border:#00000014;--color-border-hover:#00000029;--color-border-accent:#2563eb4d;--color-success:#059669;--color-warning:#d97706;--color-error:#dc2626;--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008;--shadow-lg:0 10px 15px -3px #0000000d, 0 4px 6px -2px #00000008;--shadow-glow:0 0 12px #2563eb14}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#00000038}[data-theme=light] .message-avatar.assistant{box-shadow:0 0 12px #2563eb26}[data-theme=light] .sidebar-logo-icon{box-shadow:0 2px 12px #2563eb33}[data-theme=light] .message-body img{box-shadow:var(--shadow-md), 0 0 16px #2563eb0a}[data-theme=light] .message-body img:hover{box-shadow:var(--shadow-lg), 0 0 24px #2563eb14}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.theme-toggle:hover{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent)}.theme-toggle:active{transform:scale(.92)}.theme-toggle-icon{justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .2s;display:flex}.theme-toggle-icon.entering{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards theme-icon-enter}@keyframes theme-icon-enter{0%{opacity:0;transform:rotate(-90deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}.lang-toggle{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);letter-spacing:.05em;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex;position:relative;overflow:hidden}.lang-toggle:hover{background:var(--color-accent-subtle);border-color:var(--color-border-accent);color:var(--color-accent)}.lang-toggle:active{transform:scale(.92)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.6}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-bg-hover);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-tertiary)}.app-layout{width:100%;height:100vh;display:flex}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transition:transform var(--transition-slow);z-index:10;flex-direction:column;display:flex}.sidebar-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.sidebar-logo{align-items:center;gap:10px;display:flex}.sidebar-logo-icon{width:36px;height:36px;box-shadow:var(--shadow-glow);border-radius:50%;justify-content:center;align-items:center;padding:4px;display:flex;overflow:hidden}.sidebar-logo-text{color:var(--color-text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.sidebar-logo-badge{color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-full);letter-spacing:.05em;text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:500}.new-chat-btn{border:1px dashed var(--color-border-hover);border-radius:var(--radius-md);width:calc(100% - 32px);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);background:0 0;align-items:center;gap:8px;margin:12px 16px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.new-chat-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle)}.conversation-list{flex:1;padding:4px 8px;overflow-y:auto}.conversation-item{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;margin-bottom:2px;padding:10px 12px;display:flex;position:relative}.conversation-item:hover{background:var(--color-bg-hover)}.conversation-item.active{background:var(--color-accent-subtle);border:1px solid var(--color-border-accent)}.conversation-item-icon{color:var(--color-text-tertiary);flex-shrink:0;font-size:14px}.conversation-item-icon.conversation-generating{color:var(--color-accent);justify-content:center;align-items:center;display:flex}.generating-spinner{animation:1.2s linear infinite generating-spin}@keyframes generating-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.conversation-item-title{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;overflow:hidden}.conversation-item.active .conversation-item-title{color:var(--color-text-primary)}.conversation-item-delete{opacity:0;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-size:12px}.conversation-item:hover .conversation-item-delete{opacity:1}.conversation-item-delete:hover{color:var(--color-error);background:#f871711a}.sidebar-footer{border-top:1px solid var(--color-border);color:var(--color-text-tertiary);align-items:center;gap:6px;padding:12px 16px;font-size:11px;display:flex}.sidebar-footer a{color:var(--color-text-tertiary);transition:color var(--transition-fast);text-decoration:none}.sidebar-footer a:hover{color:var(--color-accent)}.status-dot{background:var(--color-success);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}.status-dot.offline{background:var(--color-error);animation:none}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.chat-area{background:var(--color-bg-primary);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chat-area--drag-over{outline:2px dashed var(--color-accent);outline-offset:-4px}.drop-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0a0a0fbf;justify-content:center;align-items:center;animation:.2s drop-overlay-in;display:flex;position:absolute;inset:0}@keyframes drop-overlay-in{0%{opacity:0}to{opacity:1}}.drop-overlay-content{border:2px dashed var(--color-accent);border-radius:var(--radius-xl,20px);background:linear-gradient(135deg,#2563eb14,#3b82f60a);flex-direction:column;align-items:center;gap:14px;padding:48px 64px;animation:.3s cubic-bezier(.34,1.56,.64,1) drop-content-in;display:flex}@keyframes drop-content-in{0%{opacity:0;transform:scale(.9)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.drop-overlay-icon{border-radius:var(--radius-lg,16px);background:var(--color-accent-subtle);border:1px solid var(--color-border-accent);width:80px;height:80px;color:var(--color-accent);justify-content:center;align-items:center;animation:1.8s ease-in-out infinite drop-icon-pulse;display:flex}@keyframes drop-icon-pulse{0%,to{transform:translateY(0);box-shadow:0 0 #7c3aed40}50%{transform:translateY(-4px);box-shadow:0 8px 24px #7c3aed4d}}.drop-overlay-title{color:var(--color-text-primary);letter-spacing:-.02em;font-size:18px;font-weight:600}.drop-overlay-hint{color:var(--color-text-tertiary);font-size:13px;font-weight:500}.chat-header{height:var(--header-height);min-height:var(--header-height);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;padding:0 24px;display:flex}.chat-header-title{color:var(--color-text-primary);font-size:14px;font-weight:500}.chat-header-actions{align-items:center;gap:10px;display:flex}.chat-header-model{color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-radius:var(--radius-full);border:1px solid var(--color-border);padding:4px 10px;font-size:12px}.chat-header-download-btn{border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;display:flex}.chat-header-download-btn:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:0 0 12px var(--color-accent-glow)}.chat-header-download-btn:active{transform:scale(.96)}.chat-header-download-btn svg{transition:transform var(--transition-base);flex-shrink:0}.chat-header-download-btn:hover svg{transform:translateY(1px)}.chat-header-download-btn:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}.save-img-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite save-img-spin}@keyframes save-img-spin{to{transform:rotate(360deg)}}.chat-messages{flex-direction:column;flex:1;gap:4px;padding:24px;display:flex;overflow-y:auto}.welcome-screen{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:48px 24px;display:flex}.welcome-logo{width:96px;height:96px;box-shadow:var(--shadow-glow);border-radius:50%;justify-content:center;align-items:center;margin-bottom:24px;padding:10px;animation:4s ease-in-out infinite float;display:flex;overflow:hidden}.logo-img{object-fit:contain;width:100%;height:100%}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.welcome-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:8px;font-size:24px;font-weight:600}.welcome-subtitle{color:var(--color-text-secondary);max-width:420px;margin-bottom:32px;font-size:14px;line-height:1.7}.welcome-chips{flex-wrap:wrap;justify-content:center;gap:8px;max-width:560px;display:flex}.welcome-chip{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);font-size:13px;font-family:var(--font-sans);padding:8px 16px}.welcome-chip:hover{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-subtle);transform:translateY(-1px)}.message{width:100%;max-width:780px;animation:message-in .3s var(--transition-slow);gap:12px;margin:0 auto;padding:12px 0;display:flex}@keyframes message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-avatar{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;font-size:14px;font-weight:600;display:flex}.message-avatar.user{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border)}.message-avatar.assistant{box-shadow:0 0 12px var(--color-accent-glow);border-radius:50%;padding:4px;overflow:hidden}.message-content{flex:1;min-width:0}.message-role{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:600}.message-role.user{color:var(--color-text-secondary)}.message-role.assistant{color:var(--color-accent)}.message-body{color:var(--color-text-primary);font-size:14px;line-height:1.7}.message-body p{margin-bottom:12px}.message-body p:last-child{margin-bottom:0}.message-body code{background:var(--color-bg-tertiary);font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:4px;padding:2px 6px;font-size:13px}.message-body pre{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);margin:12px 0;padding:16px;overflow-x:auto}.message-body pre code{background:0 0;border:none;padding:0;font-size:13px;line-height:1.5}.message-body ul,.message-body ol{margin:8px 0;padding-left:20px}.message-body li{margin-bottom:4px}.message-body a{color:var(--color-accent);text-decoration:none}.message-body a:hover{text-decoration:underline}.message-body a[href*="/api/artifacts/"]{border:1px solid var(--color-border-accent);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent-subtle), var(--color-bg-secondary));max-width:100%;color:var(--color-text-primary);vertical-align:middle;box-shadow:var(--shadow-sm);transition:border-color var(--transition-base), background var(--transition-base), box-shadow var(--transition-base), transform var(--transition-fast);align-items:center;gap:10px;margin:4px 0;padding:8px 14px 8px 8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}.message-body a[href*="/api/artifacts/"]:before{content:"↓";border-radius:var(--radius-sm);background:var(--color-accent);width:28px;height:28px;color:var(--color-text-inverse);flex:0 0 28px;justify-content:center;align-items:center;font-size:18px;line-height:1;display:inline-flex}.message-body a[href*="/api/artifacts/"]:hover{border-color:var(--color-accent);background:var(--color-accent-subtle);box-shadow:var(--shadow-md), 0 0 14px var(--color-accent-glow);text-decoration:none;transform:translateY(-1px)}.message-body a[href*="/api/artifacts/"]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.message-body strong{color:var(--color-text-primary);font-weight:600}.message-body h1,.message-body h2,.message-body h3{color:var(--color-text-primary);margin-top:16px;margin-bottom:8px;font-weight:600}.message-body h1{font-size:20px}.message-body h2{font-size:17px}.message-body h3{font-size:15px}.message-body blockquote{border-left:3px solid var(--color-accent);color:var(--color-text-secondary);margin:12px 0;padding-left:12px}.message-body img{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);max-width:100%;height:auto;box-shadow:var(--shadow-md), 0 0 20px #7c5cfc14;transition:transform var(--transition-base), box-shadow var(--transition-base);cursor:zoom-in;margin:16px 0;display:block}.message-body img:hover{box-shadow:var(--shadow-lg), 0 0 32px #7c5cfc26;border-color:var(--color-border-hover);transform:scale(1.02)}.message-body table{border-collapse:collapse;width:100%;margin:12px 0}.message-body th,.message-body td{border:1px solid var(--color-border);text-align:left;padding:8px 12px;font-size:13px}.message-body th{background:var(--color-bg-tertiary);font-weight:600}.lightbox-overlay{z-index:10000;-webkit-backdrop-filter:blur(16px);cursor:zoom-out;background:#000000d1;justify-content:center;align-items:center;padding:40px;animation:.25s lightbox-fade-in;display:flex;position:fixed;inset:0}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image{object-fit:contain;border-radius:var(--radius-lg);cursor:default;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:90vw;height:auto;max-height:88vh;animation:.3s cubic-bezier(.34,1.56,.64,1) lightbox-img-in;box-shadow:0 24px 80px #00000080,0 0 60px #2563eb14}@keyframes lightbox-img-in{0%{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}.lightbox-close{z-index:10001;color:#ffffffd9;cursor:pointer;width:40px;height:40px;transition:all var(--transition-base);-webkit-backdrop-filter:blur(8px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;top:20px;right:20px}.lightbox-close:hover{color:#fff;background:#fff3;border-color:#ffffff4d;transform:scale(1.1)}.lightbox-close:active{transform:scale(.95)}.tool-calls-container{margin:8px 0}.tool-call-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base);margin-bottom:6px;overflow:hidden}.tool-call-card:hover{border-color:var(--color-border-hover)}.tool-call-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);align-items:center;gap:8px;padding:10px 14px;display:flex}.tool-call-header:hover{background:var(--color-bg-hover)}.tool-call-icon{color:var(--color-accent);font-size:13px}.tool-call-name{font-family:var(--font-mono);color:var(--color-text-primary);flex:1;font-size:12px;font-weight:500}.tool-call-status{border-radius:var(--radius-full);padding:2px 8px;font-size:11px;font-weight:500}.tool-call-status.success{color:var(--color-success);background:#34d3991a}.tool-call-status.running{color:var(--color-warning);background:#fbbf241a}.tool-call-status.error{color:var(--color-error);background:#f871711a}.tool-call-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-base);font-size:10px}.tool-call-chevron.open{transform:rotate(90deg)}.tool-call-body{border-top:1px solid var(--color-border);max-height:300px;padding:12px 14px;overflow-y:auto}.tool-call-section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:6px;font-size:10px;font-weight:600}.tool-call-section-label:not(:first-child){margin-top:12px}.tool-call-pre{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;padding:10px 12px;font-size:12px;line-height:1.5;overflow-x:auto}.thinking-indicator{gap:12px;width:100%;max-width:780px;margin:0 auto;padding:12px 0;animation:.3s message-in;display:flex}.thinking-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);align-items:center;gap:10px;padding:10px 16px;display:flex}.thinking-dots{gap:4px;display:flex}.thinking-dot{background:var(--color-accent);border-radius:50%;width:6px;height:6px;animation:1.4s ease-in-out infinite thinking-bounce}.thinking-dot:nth-child(2){animation-delay:.16s}.thinking-dot:nth-child(3){animation-delay:.32s}@keyframes thinking-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.thinking-text{color:var(--color-text-tertiary);font-size:13px;font-style:italic}.thinking-inline{align-items:center;gap:10px;padding:8px 0;display:flex}.activity-feed{width:100%;max-width:780px;margin:0 auto;padding:4px 0}.activity-feed-inner{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);flex-direction:column;gap:2px;padding:10px 16px;display:flex;position:relative}.activity-feed-inner:before{content:"";background:linear-gradient(to bottom, var(--color-accent-subtle), var(--color-border));border-radius:1px;width:1.5px;position:absolute;top:18px;bottom:18px;left:25px}.activity-step{z-index:1;flex-direction:column;gap:0;padding:6px 4px 6px 0;animation:.35s both step-in;display:flex;position:relative}@keyframes step-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.activity-step-indicator{border-radius:50%;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;font-size:10px;display:flex}.activity-spinner{border:2px solid var(--color-accent-subtle);border-top-color:var(--color-accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}.activity-check{width:18px;height:18px;color:var(--color-success);background:#34d39926;border-radius:50%;justify-content:center;align-items:center;font-size:10px;font-weight:700;animation:.3s cubic-bezier(.34,1.56,.64,1) check-pop;display:flex}@keyframes check-pop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.activity-step-row{align-items:center;gap:10px;width:100%;display:flex}.activity-step.expandable .activity-step-row{cursor:pointer;transition:background var(--transition-fast);border-radius:6px;margin:-2px -4px;padding:2px 4px}.activity-step.expandable .activity-step-row:hover{background:var(--color-bg-hover)}.activity-step-label{color:var(--color-text-secondary);transition:color var(--transition-base);flex:1;font-size:13px;font-weight:500}.activity-step.active .activity-step-label{color:var(--color-text-primary)}.activity-step.done .activity-step-label{color:var(--color-text-tertiary)}.activity-step.expandable .activity-step-label{text-decoration-style:dotted}.activity-step-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-base);flex-shrink:0;font-size:10px}.activity-step-chevron.open{transform:rotate(90deg)}.activity-step-details{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:300px;margin-top:6px;margin-left:28px;padding:10px 12px;animation:.25s detail-reveal;overflow-y:auto}@keyframes detail-reveal{0%{opacity:0;max-height:0;margin-top:0;padding:0 12px}to{opacity:1;max-height:300px;margin-top:6px;padding:10px 12px}}.activity-detail-section{margin-bottom:8px}.activity-detail-section:last-child{margin-bottom:0}.activity-detail-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);margin-bottom:4px;font-size:10px;font-weight:600;display:block}.activity-detail-pre{background:var(--color-bg-secondary);border:1px solid var(--color-border);font-family:var(--font-mono);color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin:0;padding:8px 10px;font-size:11px;line-height:1.5;overflow-x:auto}.activity-progress-text{color:var(--color-accent);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.activity-progress-bar-container{background:var(--color-bg-tertiary);border-radius:2px;height:3px;margin-top:4px;margin-left:28px;overflow:hidden}.activity-progress-bar{background:var(--color-accent);border-radius:2px;height:100%;transition:width .3s}.activity-parallel-group{z-index:1;padding:4px 0;animation:.35s both step-in;position:relative}.activity-parallel-header{align-items:center;gap:6px;padding:4px 0 6px;display:flex}.activity-parallel-icon{width:18px;min-width:18px;height:18px;color:var(--color-accent);background:#7c5cfc1f;border-radius:50%;justify-content:center;align-items:center;font-size:12px;display:flex}.activity-parallel-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-size:11px;font-weight:600}.activity-parallel-cards{flex-wrap:wrap;gap:6px;padding-left:0;display:flex}.activity-parallel-cards .activity-step.parallel-item{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:180px;max-width:100%;transition:border-color var(--transition-base), box-shadow var(--transition-base);flex:calc(50% - 3px);padding:8px 10px;animation:.35s both parallel-card-in}.activity-parallel-cards .activity-step.parallel-item:hover{border-color:var(--color-border-hover)}.activity-parallel-cards .activity-step.parallel-item.active{border-color:var(--color-accent-subtle);box-shadow:0 0 12px #7c5cfc14}@keyframes parallel-card-in{0%{opacity:0;transform:scale(.94)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.activity-parallel-cards .activity-step-row{gap:8px}.activity-parallel-cards .activity-step-details{margin-top:8px;margin-left:0}.activity-parallel-cards .activity-progress-bar-container{margin-left:0}@media (width<=480px){.activity-parallel-cards .activity-step.parallel-item{flex:100%}}.msg-file-chips{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.msg-file-chip{background:var(--color-bg-tertiary);border:1px solid var(--color-border-hover);border-radius:var(--radius-md);transition:border-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);align-items:center;gap:10px;padding:10px 14px;animation:.3s both chip-in;display:flex;position:relative;overflow:hidden}.msg-file-chip:before{content:"";background:var(--color-accent);border-radius:3px 0 0 3px;width:3px;position:absolute;top:0;bottom:0;left:0}.msg-file-chip:hover{border-color:var(--color-border-accent);box-shadow:0 0 16px var(--color-accent-glow);transform:translateY(-1px)}@keyframes chip-in{0%{opacity:0;transform:scale(.92)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}.msg-file-chip-icon{border-radius:var(--radius-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:22px;display:flex}.msg-file-chip-info{flex-direction:column;gap:1px;min-width:0;display:flex}.msg-file-chip-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.msg-file-chip-type{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.attached-files{flex-wrap:wrap;gap:6px;max-width:780px;margin:0 auto 8px;display:flex}.attached-file{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);align-items:center;gap:6px;padding:6px 10px;font-size:12px;animation:.2s message-in;display:flex}.attached-file-icon{flex-shrink:0;font-size:14px}.attached-file-thumbnail{object-fit:cover;border:1px solid var(--color-border);border-radius:4px;flex-shrink:0;width:32px;height:32px}.attached-file-name{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-weight:500;overflow:hidden}.attached-file-size{color:var(--color-text-tertiary);flex-shrink:0;font-size:11px}.attached-file-remove{color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0 2px;font-size:16px;line-height:1}.attached-file-remove:hover{color:var(--color-error);background:#f871711a}.attached-file--duplicate{background:#38bdf80f;border-color:#38bdf859}.attached-file-dupe-badge{text-transform:uppercase;letter-spacing:.04em;color:#38bdf8;border-radius:var(--radius-full);white-space:nowrap;vertical-align:middle;background:#38bdf81f;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:600;display:inline-block}.attach-btn{border-radius:var(--radius-sm);width:36px;min-width:36px;height:36px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.attach-btn:hover:not(:disabled){color:var(--color-accent);background:var(--color-accent-subtle)}.attach-btn:disabled{opacity:.3;cursor:not-allowed}.attach-spinner{border:2px solid var(--color-border-hover);border-top-color:var(--color-accent);border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.input-area{background:var(--color-bg-primary);padding:16px 24px 24px}.input-bar{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);max-width:780px;transition:border-color var(--transition-base), box-shadow var(--transition-base);align-items:flex-end;gap:10px;margin:0 auto;padding:8px 8px 8px 4px;display:flex}.input-bar:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle), var(--shadow-glow)}.input-textarea{color:var(--color-text-primary);font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;padding:6px 0;font-size:14px;line-height:1.5}.input-textarea::placeholder{color:var(--color-text-tertiary)}.send-btn{border-radius:var(--radius-md);background:var(--color-accent);color:#fff;cursor:pointer;width:40px;min-width:40px;height:40px;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;font-size:16px;display:flex}.send-btn:hover:not(:disabled){background:var(--color-accent-hover);transform:scale(1.05)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn:active:not(:disabled){transform:scale(.95)}.stop-btn{border-radius:var(--radius-md);background:var(--color-error,#ef4444);color:#fff;cursor:pointer;width:40px;min-width:40px;height:40px;transition:all var(--transition-base);border:none;justify-content:center;align-items:center;font-size:16px;animation:2s ease-in-out infinite stop-btn-pulse;display:flex;position:relative;overflow:hidden}.stop-btn:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#ffffff26,#0000 60%);position:absolute;inset:0}.stop-btn:hover{background:#dc2626;animation:none;transform:scale(1.05);box-shadow:0 0 20px #ef444466}.stop-btn:active{transform:scale(.95)}@keyframes stop-btn-pulse{0%,to{box-shadow:0 0 #ef444466}50%{box-shadow:0 0 0 6px #ef444400}}.input-footer{max-width:780px;color:var(--color-text-tertiary);text-align:center;margin:8px auto 0;font-size:11px}.upload-error{max-width:780px;color:var(--color-error,#ef4444);text-align:center;margin:8px auto 0;font-size:12px}.sidebar-settings-btn-wrapper{padding:8px 12px}.sidebar-settings-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);background:0 0;align-items:center;gap:10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.sidebar-settings-btn:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.sidebar-settings-btn.active{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-border-accent)}.sidebar-settings-btn svg{flex-shrink:0;transition:transform .4s cubic-bezier(.4,0,.2,1)}.sidebar-settings-btn:hover svg{transform:rotate(45deg)}.settings-back-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-base);background:0 0;justify-content:center;align-items:center;display:flex}.settings-back-btn:hover{background:var(--color-accent-subtle);color:var(--color-accent);border-color:var(--color-border-accent)}.settings-content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:28px 32px;overflow-y:auto}.settings-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;display:grid}.settings-stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-base);align-items:center;gap:14px;padding:18px 20px;display:flex;position:relative;overflow:hidden}.settings-stat-card:before{content:"";background:linear-gradient(135deg, var(--color-accent-subtle), transparent 60%);opacity:0;transition:opacity var(--transition-base);position:absolute;inset:0}.settings-stat-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.settings-stat-card:hover:before{opacity:1}.settings-stat-icon{border-radius:var(--radius-sm);background:var(--color-bg-tertiary);border:1px solid var(--color-border);width:40px;height:40px;color:var(--color-accent);z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.settings-stat-info{z-index:1;flex-direction:column;gap:2px;display:flex;position:relative}.settings-stat-value{color:var(--color-text-primary);letter-spacing:-.02em;font-size:18px;font-weight:700;line-height:1.2}.settings-stat-label{color:var(--color-text-tertiary);font-size:12px;font-weight:500}.settings-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.settings-section-title{color:var(--color-text-primary);letter-spacing:-.01em;font-size:16px;font-weight:600}.settings-sort-group{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--color-border);gap:2px;padding:2px;display:flex}.settings-sort-btn{font-size:11px;font-weight:500;font-family:var(--font-sans);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:4px 10px}.settings-sort-btn.active{color:var(--color-accent);background:var(--color-bg-secondary);box-shadow:var(--shadow-sm)}.settings-delete-all-btn:hover{background:#f871711f;border-color:#f8717159;transform:translateY(-1px)}.settings-confirm-group{align-items:center;gap:8px;animation:.2s message-in;display:flex}.settings-confirm-yes{border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#f8717126;padding:5px 12px;font-size:12px;font-weight:600}.settings-confirm-yes:hover{background:var(--color-error);color:#fff}.settings-confirm-no:hover{background:var(--color-bg-hover)}.settings-file-row{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-base);align-items:center;gap:14px;padding:14px 16px;animation:.3s both message-in;display:flex}.settings-file-row:hover{border-color:var(--color-border-hover);background:var(--color-bg-elevated)}.settings-file-row.deleting{opacity:.4;pointer-events:none;transform:scale(.98)}.settings-file-icon{background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:24px;display:flex}.settings-file-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.settings-file-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;font-size:14px;font-weight:600;overflow:hidden}.settings-file-meta{color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.settings-file-meta-sep{color:var(--color-border-hover);font-size:10px}.settings-file-type-badge{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);background:var(--color-accent-subtle);border-radius:var(--radius-full);padding:1px 6px;font-size:10px;font-weight:600}.settings-file-delete-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-base);opacity:0;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:flex}.settings-file-row:hover .settings-file-delete-btn{opacity:1}.settings-file-delete-btn:hover{color:var(--color-error);background:#f871711a;border-color:#f8717133}.settings-file-confirm{gap:6px;animation:.2s message-in;display:flex}.settings-file-confirm-yes{border:1px solid var(--color-error);color:var(--color-error);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:#f8717126;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}.settings-file-confirm-yes:hover{background:var(--color-error);color:#fff}.settings-file-confirm-yes:disabled{opacity:.5;cursor:not-allowed}.settings-file-confirm-no{border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500}.settings-file-confirm-no:hover{background:var(--color-bg-hover)}.settings-loading{color:var(--color-text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:64px 24px;font-size:14px;display:flex}.settings-empty-icon{border-radius:var(--radius-lg);background:var(--color-bg-secondary);border:1px solid var(--color-border);width:80px;height:80px;color:var(--color-text-tertiary);justify-content:center;align-items:center;margin-bottom:20px;display:flex}.settings-header{align-items:center;gap:12px;margin-bottom:24px;display:flex}.settings-title{color:var(--color-text-primary);letter-spacing:-.02em;margin:0;font-size:22px;font-weight:700}@media (width<=768px){.sidebar{height:100%;box-shadow:var(--shadow-lg);position:absolute;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.chat-messages{padding:16px}.input-area{padding:12px 16px 16px}.settings-stats{grid-template-columns:1fr}.settings-content{padding:20px 16px}.settings-section-header{flex-direction:column;align-items:flex-start}}.settings-content{flex-direction:column;flex:1;gap:24px;width:100%;max-width:800px;margin:0 auto;padding:24px;display:flex;overflow-y:auto}.settings-back-btn{color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.settings-back-btn:hover{color:var(--color-accent);background:var(--color-accent-subtle)}.settings-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.settings-stat-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-base);align-items:center;gap:12px;padding:14px 16px;display:flex}.settings-stat-card:hover{border-color:var(--color-border-hover)}.settings-stat-icon{border-radius:var(--radius-sm);background:var(--color-accent-subtle);width:36px;min-width:36px;height:36px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.settings-stat-info{flex-direction:column;display:flex}.settings-stat-value{color:var(--color-text-primary);font-size:16px;font-weight:600}.settings-stat-label{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.settings-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.settings-section-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.settings-section-subtitle{color:var(--color-text-tertiary);margin-top:2px;font-size:12px}.settings-sort-group{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);gap:4px;padding:2px;display:flex}.settings-sort-btn{color:var(--color-text-tertiary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500}.settings-sort-btn:hover{color:var(--color-text-secondary)}.settings-sort-btn.active{background:var(--color-bg-hover);color:var(--color-text-primary)}.settings-delete-all-btn{border-radius:var(--radius-sm);color:var(--color-error);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);background:#f871710f;border:1px solid #f8717133;align-items:center;gap:6px;padding:5px 12px;font-size:11px;font-weight:500;display:flex}.settings-delete-all-btn:hover{background:#f871711f;border-color:#f8717166}.settings-confirm-group{align-items:center;gap:8px;display:flex}.settings-confirm-text{color:var(--color-error);font-size:12px;font-weight:500}.settings-confirm-yes{border-radius:var(--radius-sm);background:var(--color-error);color:#fff;font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);border:none;padding:4px 12px;font-size:11px;font-weight:600}.settings-confirm-yes:hover{filter:brightness(1.1)}.settings-confirm-no{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 12px;font-size:11px;font-weight:500}.settings-confirm-no:hover{border-color:var(--color-border-hover)}.settings-file-list{flex-direction:column;gap:4px;display:flex}.settings-file-row{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-base);align-items:center;gap:12px;padding:10px 14px;display:flex}.settings-file-row:hover{border-color:var(--color-border-hover)}.settings-file-row.deleting{opacity:.4;pointer-events:none}.settings-file-icon{flex-shrink:0;font-size:20px}.settings-file-info{flex:1;min-width:0}.settings-file-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;display:block;overflow:hidden}.settings-file-meta{color:var(--color-text-tertiary);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.settings-file-meta-sep{opacity:.4}.settings-file-type-badge{background:var(--color-accent-subtle);color:var(--color-accent);text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:500}.settings-file-actions{flex-shrink:0}.settings-file-delete-btn{color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;padding:6px;display:flex}.settings-file-delete-btn:hover{color:var(--color-error);background:#f871711a}.settings-file-confirm{gap:6px;display:flex}.settings-file-confirm-yes{background:var(--color-error);color:#fff;font-family:var(--font-sans);cursor:pointer;border:none;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600}.settings-file-confirm-no{border:1px solid var(--color-border);color:var(--color-text-secondary);font-family:var(--font-sans);cursor:pointer;background:0 0;border-radius:4px;padding:4px 10px;font-size:11px}.settings-file-delete-spinner{border:2px solid var(--color-border-hover);border-top-color:var(--color-text-primary);border-radius:50%;width:12px;height:12px;animation:.6s linear infinite spin;display:inline-block}.settings-loading{color:var(--color-text-secondary);justify-content:center;align-items:center;gap:12px;padding:32px;font-size:13px;display:flex}.settings-loading-spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}.settings-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px;display:flex}.settings-empty-icon{color:var(--color-text-tertiary);opacity:.5;margin-bottom:16px}.settings-empty-title{color:var(--color-text-secondary);margin-bottom:8px;font-size:16px;font-weight:600}.settings-empty-text{color:var(--color-text-tertiary);max-width:320px;font-size:13px;line-height:1.6}.login-header-btn{border:1px solid var(--color-border-accent);border-radius:var(--radius-full);background:linear-gradient(135deg, var(--color-accent-subtle), transparent);color:var(--color-accent);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;letter-spacing:.01em;align-items:center;gap:6px;padding:5px 14px;font-size:12px;font-weight:600;display:flex}.login-header-btn:hover{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent);box-shadow:0 0 16px var(--color-accent-glow), 0 2px 8px #2563eb40;transform:translateY(-1px)}.login-header-btn:active{transform:translateY(0)scale(.97)}.login-header-btn svg{flex-shrink:0}.login-page{background:var(--color-bg-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:32px 24px;animation:.4s login-page-in;display:flex;position:relative;overflow:auto}@keyframes login-page-in{0%{opacity:0}to{opacity:1}}.login-card{background:var(--color-bg-secondary);border:1px solid var(--color-border);width:100%;max-width:420px;box-shadow:var(--shadow-lg), 0 0 60px #2563eb0a;transition:box-shadow var(--transition-base);border-radius:16px;padding:40px 36px 32px;animation:.5s cubic-bezier(.34,1.56,.64,1) login-card-in}.login-card:hover{box-shadow:var(--shadow-lg), 0 0 80px #2563eb14}@keyframes login-card-in{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card--shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both login-shake}@keyframes login-shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.login-card-header{text-align:center;margin-bottom:32px}.login-logo-wrapper{width:72px;height:72px;box-shadow:var(--shadow-glow);border-radius:50%;margin:0 auto 20px;padding:8px;animation:4s ease-in-out infinite float;overflow:hidden}.login-logo-img{object-fit:contain;width:100%;height:100%}.login-title{color:var(--color-text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:22px;font-weight:700}.login-subtitle{color:var(--color-text-tertiary);font-size:13px;font-weight:400;line-height:1.5}.login-form{flex-direction:column;gap:20px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-label{color:var(--color-text-secondary);letter-spacing:.03em;text-transform:uppercase;font-size:12px;font-weight:600}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{color:var(--color-text-tertiary);pointer-events:none;transition:color var(--transition-base);flex-shrink:0;position:absolute;left:14px}[dir=rtl] .login-input-icon{left:auto;right:14px}.login-input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-primary);width:100%;color:var(--color-text-primary);font-family:var(--font-sans);transition:all var(--transition-base);outline:none;padding:12px 14px 12px 42px;font-size:14px}[dir=rtl] .login-input{padding:12px 42px 12px 14px}.login-input::placeholder{color:var(--color-text-tertiary)}.login-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-subtle), 0 0 12px var(--color-accent-glow)}.login-input:focus~.login-input-icon,.login-input-wrapper:focus-within .login-input-icon{color:var(--color-accent)}.login-error{border-radius:var(--radius-md);color:var(--color-error);background:#ef444414;border:1px solid #ef444433;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:500;animation:.3s login-error-in;display:flex}@keyframes login-error-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-error svg{flex-shrink:0}.login-submit-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-accent), var(--color-accent-hover));width:100%;color:var(--color-text-inverse);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-base);letter-spacing:.01em;border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:12px 24px;font-size:14px;font-weight:600;display:flex;position:relative;overflow:hidden}.login-submit-btn:after{content:"";opacity:0;transition:opacity var(--transition-base);background:linear-gradient(135deg,#0000,#ffffff1a);position:absolute;inset:0}.login-submit-btn:hover:after{opacity:1}.login-submit-btn:hover{box-shadow:0 4px 16px #2563eb59, 0 0 24px var(--color-accent-glow);transform:translateY(-1px)}.login-submit-btn:active{transform:translateY(0)scale(.98)}.login-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-submit-btn:disabled:hover{box-shadow:none;transform:none}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-footer{border-top:1px solid var(--color-border);text-align:center;margin-top:24px;padding-top:20px}.login-footer-text{color:var(--color-text-tertiary);letter-spacing:.03em;font-size:11px}[data-theme=light] .login-card{box-shadow:var(--shadow-lg), 0 0 40px #2563eb08}[data-theme=light] .login-card:hover{box-shadow:var(--shadow-lg), 0 0 60px #2563eb0f}[data-theme=light] .login-error{background:#dc26260f;border-color:#dc262626}
