@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.upload-btn[data-v-cc676e6b]{display:flex;align-items:center;justify-content:center;width:2.5rem;min-width:2.5rem;height:2.5rem;border:1px dashed var(--border, #cbd5e1);border-radius:var(--radius-lg, 10px);cursor:pointer;color:var(--text-secondary, #64748b);background:transparent;transition:all .2s;flex-shrink:0}.upload-btn[data-v-cc676e6b]:hover{color:var(--primary, #3b82f6);border-color:var(--primary, #3b82f6);background:var(--surface-hover, rgba(59,130,246,.05))}.upload-btn[data-v-cc676e6b]:active{transform:scale(.95)}.upload-btn.uploading[data-v-cc676e6b]{opacity:.6;pointer-events:none}.upload-spinner[data-v-cc676e6b]{display:inline-block;width:16px;height:16px;border:2px solid var(--border, #cbd5e1);border-top-color:var(--primary, #3b82f6);border-radius:50%;animation:spin-cc676e6b .6s linear infinite}@keyframes spin-cc676e6b{to{transform:rotate(360deg)}}.message-footer[data-v-cc676e6b]{display:flex;align-items:center;gap:.5rem;margin-top:.25rem}.message-time[data-v-cc676e6b]{font-size:.7rem;color:var(--text-secondary, #94a3b8)}.message-meta-trigger[data-v-cc676e6b]{cursor:pointer;opacity:.4;transition:opacity .2s;display:flex;align-items:center}.message-meta-trigger[data-v-cc676e6b]:hover{opacity:1}.message-meta-panel[data-v-cc676e6b]{margin-top:.5rem;padding:.6rem .75rem;background:var(--card-bg, rgba(0,0,0,.04));border:1px solid var(--border-color, rgba(0,0,0,.08));border-radius:6px;font-size:.75rem;font-family:monospace;color:var(--text-secondary, #64748b)}.meta-row[data-v-cc676e6b]{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.15rem 0}.meta-row.meta-sub[data-v-cc676e6b]{padding-left:.5rem;font-size:.7rem}.meta-label[data-v-cc676e6b]{font-weight:600;color:var(--text-primary, #1e293b)}.meta-value[data-v-cc676e6b]{color:var(--text-secondary, #64748b)}.meta-section[data-v-cc676e6b]{margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--border-color, rgba(0,0,0,.06))}.meta-tools[data-v-cc676e6b]{font-size:.65rem;opacity:.7;max-width:120px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-group[data-v-cc676e6b]{display:flex;align-items:center;gap:.25rem;position:relative}.visibility-wrapper[data-v-cc676e6b]{position:relative}.vis-btn[data-v-cc676e6b]{display:flex;align-items:center;justify-content:center;width:2rem;height:2.5rem;border:none;border-radius:var(--radius, 6px);cursor:pointer;background:transparent;color:var(--text-secondary, #64748b);transition:all .2s;opacity:.5}.vis-btn[data-v-cc676e6b]:hover,.vis-btn.active[data-v-cc676e6b]{opacity:1;color:var(--primary, #3b82f6);background:var(--surface-hover, rgba(59,130,246,.05))}.visibility-dropdown[data-v-cc676e6b]{position:absolute;bottom:calc(100% + 4px);left:0;background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:var(--radius-lg, 10px);padding:.5rem;min-width:180px;box-shadow:0 4px 12px #0000001a;z-index:10}.vis-option[data-v-cc676e6b]{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;cursor:pointer;font-size:.8rem;border-radius:4px;transition:background .15s}.vis-option[data-v-cc676e6b]:hover{background:var(--surface-hover, rgba(0,0,0,.04))}.member-list[data-v-cc676e6b]{margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--border-color, #e2e8f0);max-height:150px;overflow-y:auto}.member-option[data-v-cc676e6b]{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;cursor:pointer;font-size:.78rem;border-radius:4px}.member-option[data-v-cc676e6b]:hover{background:var(--surface-hover, rgba(0,0,0,.04))}.page-actions[data-v-3e2cddcc]{display:flex;gap:.5rem}.system-credentials[data-v-9ca9c3b8]{margin-bottom:2rem}.credential-group[data-v-9ca9c3b8]{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:1.5rem}.credential-group h4[data-v-9ca9c3b8]{margin:0 0 1rem;font-size:1rem;color:var(--text-primary, #1e293b)}.form-row[data-v-9ca9c3b8]{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.form-row label[data-v-9ca9c3b8]{min-width:120px;font-size:.875rem;color:var(--text-secondary, #64748b)}.form-row input[data-v-9ca9c3b8]{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b)}.form-row input[data-v-9ca9c3b8]:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px var(--accent-alpha, rgba(99, 102, 241, .2))}.form-actions[data-v-9ca9c3b8]{display:flex;gap:.5rem;margin-top:1rem}.connection-status[data-v-9ca9c3b8]{margin-top:.75rem;padding:.5rem .75rem;border-radius:6px;font-size:.875rem}.connection-status.success[data-v-9ca9c3b8]{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.connection-status.error[data-v-9ca9c3b8]{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.cal-hint[data-v-9ca9c3b8]{font-size:.8rem;color:var(--text-secondary, #64748b);margin:0 0 .75rem}.calendar-list[data-v-9ca9c3b8]{margin-bottom:.75rem}.calendar-item[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--input-bg, #f8fafc);border-radius:4px;margin-bottom:.3rem;font-size:.875rem}.cal-technical[data-v-9ca9c3b8]{font-weight:500;font-family:monospace;min-width:140px}.cal-user-select[data-v-9ca9c3b8]{flex:1;max-width:180px;padding:.25rem .5rem;border:1px solid var(--border-color, #e2e8f0);border-radius:4px;font-size:.8rem;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b)}.cal-user-select[data-v-9ca9c3b8]:focus{outline:none;border-color:var(--accent, #6366f1)}.empty-cal[data-v-9ca9c3b8]{font-size:.8rem;color:var(--text-secondary, #64748b);font-style:italic;padding:.3rem 0}.btn-sm[data-v-9ca9c3b8]{padding:.3rem .6rem;font-size:.8rem}.llm-providers-list[data-v-9ca9c3b8]{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.provider-item[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.provider-index[data-v-9ca9c3b8]{font-weight:600;min-width:30px;color:var(--text-secondary, #64748b)}.provider-item input[data-v-9ca9c3b8]{flex:1;min-width:150px;padding:.5rem .75rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b)}.provider-item input[data-v-9ca9c3b8]:focus{outline:none;border-color:var(--accent, #6366f1)}.model-assignments[data-v-9ca9c3b8]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}.assignment-group[data-v-9ca9c3b8]{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:1rem}.assignment-group label[data-v-9ca9c3b8]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary, #1e293b);margin-bottom:.75rem}.think-toggle[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary, #64748b)}.think-toggle input[type=checkbox][data-v-9ca9c3b8]{accent-color:var(--accent, #6366f1)}.model-list[data-v-9ca9c3b8]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.model-item[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.25rem}.model-index-input[data-v-9ca9c3b8]{width:40px;padding:.4rem .5rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;text-align:center;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b)}.model-index-input[data-v-9ca9c3b8]:focus{outline:none;border-color:var(--accent, #6366f1)}.model-sep[data-v-9ca9c3b8]{font-weight:600;color:var(--text-secondary, #64748b)}.model-item input[type=text][data-v-9ca9c3b8]{flex:1;padding:.4rem .6rem;border:1px solid var(--border-color, #e2e8f0);border-radius:6px;font-size:.875rem;background:var(--input-bg, #fff);color:var(--text-primary, #1e293b)}.model-item input[type=text][data-v-9ca9c3b8]:focus{outline:none;border-color:var(--accent, #6366f1)}@media(max-width:768px){.model-assignments[data-v-9ca9c3b8]{grid-template-columns:1fr}}.pat-display[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.pat-code[data-v-9ca9c3b8]{flex:1;background:var(--input-bg, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:6px;padding:.5rem .75rem;font-family:monospace;font-size:.875rem;word-break:break-all;color:var(--text-primary, #1e293b)}.pat-empty[data-v-9ca9c3b8]{font-size:.875rem;color:var(--text-secondary, #64748b);font-style:italic;margin-bottom:.5rem}.pat-info[data-v-9ca9c3b8]{font-size:.75rem;color:var(--text-secondary, #64748b);margin-bottom:.75rem}.pat-actions[data-v-9ca9c3b8]{display:flex;gap:.5rem;margin-bottom:1rem}.qr-section[data-v-9ca9c3b8]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #e2e8f0)}.qr-section h4[data-v-9ca9c3b8]{margin:0 0 .75rem;font-size:.875rem;color:var(--text-primary, #1e293b)}.qr-image[data-v-9ca9c3b8]{display:block;max-width:200px;border-radius:8px;border:1px solid var(--border-color, #e2e8f0);background:#fff}.version-badge[data-v-9ca9c3b8]{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem;font-size:.7rem;font-family:monospace;color:var(--text-secondary, #64748b);background:var(--input-bg, #f8fafc);border:1px solid var(--border-color, #e2e8f0);border-radius:4px;padding:.3rem .5rem;margin-bottom:1rem}.version-sha[data-v-9ca9c3b8]{font-weight:600}.version-time[data-v-9ca9c3b8]{opacity:.7}.diag-group[data-v-9ca9c3b8]{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e2e8f0);border-radius:8px;padding:1rem;margin-bottom:1rem}.diag-group h4[data-v-9ca9c3b8]{margin:0 0 .75rem;font-size:.875rem;color:var(--text-primary, #1e293b)}.diag-row[data-v-9ca9c3b8]{display:flex;align-items:center;gap:.75rem;margin-bottom:.4rem;font-size:.8rem}.diag-label[data-v-9ca9c3b8]{min-width:100px;color:var(--text-secondary, #64748b);font-weight:500}.diag-value[data-v-9ca9c3b8]{color:var(--text-primary, #1e293b)}.diag-value.success[data-v-9ca9c3b8]{color:#16a34a}.diag-value.warn[data-v-9ca9c3b8]{color:#d97706}.diag-value.error[data-v-9ca9c3b8]{color:#dc2626}.diag-value.mono[data-v-9ca9c3b8]{font-family:monospace;font-size:.7rem;word-break:break-all}.diag-value.mono.sm[data-v-9ca9c3b8]{font-size:.65rem}.diag-stale[data-v-9ca9c3b8]{font-size:.75rem;color:#d97706;font-weight:600}.diag-sub.active[data-v-9ca9c3b8]{border-left:3px solid #16a34a;padding-left:.75rem}.badge-active[data-v-9ca9c3b8]{font-size:.65rem;background:#16a34a;color:#fff;padding:.1rem .4rem;border-radius:3px;font-weight:600;text-transform:uppercase}.diag-sub[data-v-9ca9c3b8]{border-top:1px solid var(--border-color, #e2e8f0);padding-top:.5rem;margin-top:.5rem}.diag-sub[data-v-9ca9c3b8]:first-of-type{border-top:none;padding-top:0;margin-top:0}.diag-actions[data-v-9ca9c3b8]{margin-top:1rem}.sync-message[data-v-d7faac52]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.sync-message.success[data-v-d7faac52]{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.sync-message.error[data-v-d7faac52]{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.sync-message.info[data-v-d7faac52]{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}.close-msg[data-v-d7faac52]{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:0 .25rem;opacity:.6}.close-msg[data-v-d7faac52]:hover{opacity:1}.setup-hint[data-v-d7faac52]{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:1rem;margin-bottom:1rem;color:#92400e;font-size:.875rem}.event-list[data-v-d7faac52]{max-height:70vh;overflow-y:auto}.event-date-header[data-v-d7faac52]{position:sticky;top:0;background:#f7fafc;z-index:2;padding:.5rem .75rem;font-size:1.1rem;font-weight:700;border-bottom:1px solid #eee}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #6366f1;--primary-light: #818cf8;--primary-dark: #4f46e5;--primary-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--secondary: #64748b;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--danger-light: #fca5a5;--bg: #f8fafc;--bg-dark: #0f172a;--surface: #ffffff;--surface-hover: #f1f5f9;--text: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border: #e2e8f0;--border-light: #f1f5f9;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--transition: all .2s cubic-bezier(.4, 0, .2, 1)}[data-theme=emerald]{--primary: #10b981;--primary-light: #34d399;--primary-dark: #059669;--primary-gradient: linear-gradient(135deg, #10b981 0%, #14b8a6 100%)}[data-theme=rose]{--primary: #f43f5e;--primary-light: #fb7185;--primary-dark: #e11d48;--primary-gradient: linear-gradient(135deg, #f43f5e 0%, #ec4899 100%)}[data-theme=amber]{--primary: #f59e0b;--primary-light: #fbbf24;--primary-dark: #d97706;--primary-gradient: linear-gradient(135deg, #f59e0b 0%, #f97316 100%)}[data-theme=slate]{--primary: #475569;--primary-light: #64748b;--primary-dark: #334155;--primary-gradient: linear-gradient(135deg, #475569 0%, #6366f1 100%)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:#fffc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);position:sticky;top:0;z-index:100}.nav-brand{font-size:1.25rem;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.025em}.nav-links{display:flex;align-items:center;gap:.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem 1rem;border-radius:var(--radius);font-weight:500;font-size:.875rem;transition:var(--transition)}.nav-link:hover{color:var(--primary);background:#6366f114}.nav-link.router-link-active{color:var(--primary);background:#6366f11a}.nav-user{color:var(--text-muted);font-size:.8125rem;padding:.5rem .75rem;background:var(--surface-hover);border-radius:var(--radius);font-weight:500}.nav-btn{background:none;border:1px solid var(--border);padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:.8125rem;font-weight:500;color:var(--text-secondary);transition:var(--transition)}.nav-btn:hover{background:var(--surface-hover);border-color:var(--text-muted)}.api-status{display:flex;align-items:center;gap:6px;margin:0;padding:4px 10px;border-radius:999px;font-size:.75rem;font-weight:500;transition:var(--transition)}.api-status.ok{background:#10b9811a}.api-status.degraded{background:#f59e0b1a;color:#d97706}.api-status.error{background:#ef44441a;color:#dc2626}.status-dot{width:8px;height:8px;border-radius:50%;display:block}.api-status.ok .status-dot{background:#10b981;box-shadow:0 0 6px #10b98180}.api-status.degraded .status-dot{background:#f59e0b;box-shadow:0 0 6px #f59e0b80;animation:pulse 2s ease-in-out infinite}.api-status.error .status-dot{background:#ef4444;box-shadow:0 0 6px #ef444480;animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.login-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.login-header h1{margin-bottom:0}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--bg);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(99,102,241,.08) 0%,transparent 50%),radial-gradient(circle at 70% 50%,rgba(139,92,246,.08) 0%,transparent 50%);animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translate(0) rotate(0)}50%{transform:translate(-2%,2%) rotate(2deg)}}.login-card{background:var(--surface);padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;position:relative;z-index:1}.login-card h1{margin-bottom:.5rem;text-align:center;font-size:1.75rem;font-weight:700;letter-spacing:-.025em}.login-subtitle{text-align:center;color:var(--text-muted);margin-bottom:2rem;font-size:.875rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.8125rem;color:var(--text-secondary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.9375rem;font-family:inherit;transition:var(--transition);background:var(--surface)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.form-group input::placeholder{color:var(--text-muted)}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.btn-primary{background:var(--primary-gradient);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius);cursor:pointer;font-size:.9375rem;font-weight:600;font-family:inherit;transition:var(--transition);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background:var(--surface);color:var(--text-secondary);border:1px solid var(--border);padding:.625rem 1.25rem;border-radius:var(--radius);cursor:pointer;font-size:.875rem;font-weight:500;font-family:inherit;transition:var(--transition)}.btn-secondary:hover{background:var(--surface-hover);border-color:var(--text-muted)}.btn-danger{background:var(--danger);color:#fff;border:none;padding:.375rem .75rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:500;font-family:inherit;transition:var(--transition)}.btn-danger:hover{background:#dc2626}.error{color:var(--danger);margin-top:.75rem;text-align:center;font-size:.875rem;padding:.5rem;background:#ef444414;border-radius:var(--radius-sm)}.chat-view{display:flex;flex-direction:column;height:calc(100vh - 57px);max-width:900px;margin:0 auto;width:100%}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-light);background:var(--surface)}.chat-header h2{font-size:1.125rem;font-weight:600;letter-spacing:-.025em}.messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;scroll-behavior:smooth}.message{display:flex;gap:.75rem;max-width:85%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;flex-shrink:0}.message.assistant .message-avatar{background:var(--primary-gradient);color:#fff}.message.user .message-avatar{background:var(--surface-hover);color:var(--text-secondary);border:1px solid var(--border)}.message-content{padding:.875rem 1.125rem;border-radius:var(--radius-lg);word-wrap:break-word;line-height:1.6}.message.assistant .message-content{background:var(--surface);border:1px solid var(--border-light);border-top-left-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.message.user .message-content{background:var(--primary-gradient);color:#fff;border-top-right-radius:var(--radius-sm)}.message-time{font-size:.6875rem;color:var(--text-muted);margin-top:.375rem;padding:0 .25rem}.message.user .message-time{text-align:right}.chat-input{padding:1rem 1.5rem;border-top:1px solid var(--border-light);background:var(--surface)}.chat-input form{display:flex;gap:.75rem;margin-bottom:.75rem}.chat-input input{flex:1;padding:.875rem 1.125rem;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:.9375rem;font-family:inherit;transition:var(--transition)}.chat-input input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.chat-input input:disabled{background:var(--surface-hover);cursor:not-allowed}.chat-input button{background:var(--primary-gradient);color:#fff;border:none;padding:.875rem 1.5rem;border-radius:var(--radius-lg);cursor:pointer;font-weight:600;font-family:inherit;transition:var(--transition)}.chat-input button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.chat-input button:disabled{opacity:.5;cursor:not-allowed}.stream-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.stream-toggle input[type=checkbox]{accent-color:var(--primary)}.cursor{animation:blink 1s infinite;color:var(--primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.wiki-view,.memory-view,.calendar-view{padding:2rem;max-width:1000px;margin:0 auto;width:100%}.calendar-actions{display:flex;gap:.5rem}.calendar-filters{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{font-size:.75rem;font-weight:500;color:var(--text-muted)}.filter-group input,.filter-group select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;font-family:inherit}.event-list{display:flex;flex-direction:column;gap:1.5rem}.event-group{display:flex;flex-direction:column;gap:.5rem}.event-date-header{font-size:.875rem;font-weight:600;color:var(--text-secondary);padding-bottom:.5rem;border-bottom:1px solid var(--border-light)}.event-card{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.event-time{font-size:.8125rem;font-weight:600;color:var(--primary);min-width:60px;padding-top:.125rem}.event-details{flex:1}.event-details h4{font-size:1rem;font-weight:600;margin-bottom:.25rem}.event-details p{font-size:.875rem;color:var(--text-secondary);margin-bottom:.25rem}.event-location{font-size:.8125rem!important}.calendar-badge{background:#6366f11a;color:var(--primary);font-size:.6875rem;padding:.125rem .5rem;border-radius:999px;font-weight:600;text-transform:capitalize}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.page-header h2{font-size:1.5rem;font-weight:700;letter-spacing:-.025em}.wiki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.wiki-card{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.wiki-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.wiki-card h3{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.wiki-page{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.wiki-page h3{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:-.025em}.memory-list{display:flex;flex-direction:column;gap:.75rem}.memory-item{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm);transition:var(--transition)}.memory-item:hover{box-shadow:var(--shadow-md)}.memory-header{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem}.memory-actions{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border-light)}.badge{display:inline-flex;align-items:center;padding:.25rem .625rem;border-radius:999px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.badge.shared{background:#3b82f61a;color:#2563eb}.badge.parent{background:#f59e0b1a;color:#d97706}.badge.personal{background:#10b9811a;color:#059669}.badge.family{background:#8b5cf61a;color:#7c3aed}.importance{font-size:.75rem;color:var(--text-muted);margin-left:auto}.time{font-size:.75rem;color:var(--text-muted)}.settings-view{padding:2rem;max-width:800px;margin:0 auto;width:100%}.settings-tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:.375rem;width:fit-content}.tab-btn{padding:.5rem 1.25rem;border:none;background:none;border-radius:var(--radius);font-size:.875rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-family:inherit}.tab-btn:hover{color:var(--text)}.tab-btn.active{background:var(--primary);color:#fff}.settings-section{margin-bottom:2rem}.settings-section h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem}.setting-group{margin-bottom:1.5rem}.setting-group label{display:block;font-size:.8125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.75rem}.color-options{display:flex;gap:.75rem}.color-dot{width:36px;height:36px;border-radius:50%;border:3px solid transparent;cursor:pointer;transition:var(--transition)}.color-dot:hover{transform:scale(1.1)}.color-dot.active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.color-dot.default{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.color-dot.emerald{background:linear-gradient(135deg,#10b981,#14b8a6)}.color-dot.rose{background:linear-gradient(135deg,#f43f5e,#ec4899)}.color-dot.amber{background:linear-gradient(135deg,#f59e0b,#f97316)}.color-dot.slate{background:linear-gradient(135deg,#475569,#6366f1)}.bg-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.bg-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem;border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;transition:var(--transition);font-size:.8125rem;font-weight:500;color:var(--text-secondary);font-family:inherit}.bg-card:hover{border-color:var(--primary-light)}.bg-card.active{border-color:var(--primary);background:#6366f10d;color:var(--primary)}.bg-preview{width:100%;height:48px;border-radius:var(--radius)}.bg-preview.default{background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.bg-preview.warm{background:linear-gradient(135deg,#fef3c7,#fde68a)}.bg-preview.cool{background:linear-gradient(135deg,#dbeafe,#bfdbfe)}.bg-preview.dark{background:linear-gradient(135deg,#1e293b,#334155)}[data-bg=warm]{--bg: #fefce8;--surface: #fffbeb;--surface-hover: #fef3c7;--border: #fde68a;--border-light: #fef3c7}[data-bg=cool]{--bg: #eff6ff;--surface: #dbeafe;--surface-hover: #bfdbfe;--border: #93c5fd;--border-light: #bfdbfe}[data-bg=dark]{--bg: #0f172a;--surface: #1e293b;--surface-hover: #334155;--text: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #64748b;--border: #334155;--border-light: #1e293b}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin-bottom:0}.user-list{display:flex;flex-direction:column;gap:.5rem}.user-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem 1.25rem}.user-info{display:flex;align-items:center;gap:.75rem}.user-name{font-weight:600}.user-username{color:var(--text-muted);font-size:.875rem}.user-actions{display:flex;gap:.5rem}.credential-list{display:flex;flex-direction:column;gap:.5rem}.credential-item{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1rem 1.25rem}.credential-info{display:flex;align-items:center;gap:.75rem}.credential-service{font-weight:600;text-transform:capitalize}.credential-key{color:var(--text-muted);font-size:.875rem;font-family:monospace}.credential-user{font-size:.75rem;color:var(--text-muted);background:var(--surface-hover);padding:.125rem .5rem;border-radius:999px}.credential-actions{display:flex;gap:.5rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease}.modal{background:var(--surface);border-radius:var(--radius-xl);padding:2rem;width:100%;max-width:420px;box-shadow:var(--shadow-xl);animation:slideUp .3s ease}.modal h3{font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;letter-spacing:-.025em}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.create-form{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.create-form h3{font-size:1.125rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.025em}.markdown{line-height:1.7}.markdown p{margin-bottom:1rem}.markdown h1,.markdown h2,.markdown h3{margin-top:1.5rem;margin-bottom:.75rem;font-weight:600;letter-spacing:-.025em}.markdown h1{font-size:1.5rem}.markdown h2{font-size:1.25rem}.markdown h3{font-size:1.125rem}.markdown ul,.markdown ol{margin-left:1.5rem;margin-bottom:1rem}.markdown li{margin-bottom:.375rem}.markdown code{background:var(--surface-hover);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.875em;font-family:SF Mono,Fira Code,monospace}.markdown pre{background:var(--bg-dark);color:#e2e8f0;padding:1rem 1.25rem;border-radius:var(--radius);overflow-x:auto;margin-bottom:1rem}.markdown pre code{background:none;padding:0;color:inherit}.markdown blockquote{border-left:3px solid var(--primary);padding-left:1rem;margin:1rem 0;color:var(--text-secondary)}.empty-state{text-align:center;padding:3rem 2rem;color:var(--text-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:1rem;opacity:.5}.loading{display:flex;align-items:center;justify-content:center;padding:2rem;color:var(--text-muted)}.loading:after{content:"";width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;margin-left:.75rem;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.navbar{flex-direction:column;gap:.75rem;padding:.75rem 1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:.375rem}.nav-link{padding:.375rem .75rem;font-size:.8125rem}.chat-view{height:calc(100vh - 100px)}.messages{padding:1rem}.message{max-width:95%}.chat-input{padding:.75rem 1rem}.wiki-view,.memory-view{padding:1rem}.wiki-grid{grid-template-columns:1fr}.page-header{flex-direction:column;align-items:flex-start;gap:.75rem}}
