:root,[data-theme=dark]{--sfh-green: #2CA249;--sfh-pink: #CD3C67;--sfh-yellow: #FDD05E;--sfh-dark-blue: #233D7C;--sfh-light-blue: #5F9ED5;--sfh-orange: #F15D29;--sfh-gray: #3A3F42;--color-primary: #2CA249;--color-primary-hover: #239B3E;--color-primary-subtle: rgba(44, 162, 73, .15);--color-accent: #CD3C67;--color-accent-hover: #B8345B;--bg-base: #1a1a1a;--bg-surface: #2d2d2d;--bg-elevated: #3c3c3c;--bg-input: #1e1e1e;--bg-overlay: #1a1a1a;--text-primary: #e0e0e0;--text-secondary: #aaa;--text-muted: #888;--text-disabled: #666;--border-default: #3c3c3c;--border-subtle: #333;--border-strong: #555;--scrollbar-track: #2d2d2d;--scrollbar-thumb: #555;--scrollbar-thumb-hover: #666;--error-bg: rgba(239, 68, 68, .1);--error-border: rgba(239, 68, 68, .3);--error-text: #ef4444;--error-banner-bg: #451a1a;--error-banner-border: #6b2c2c;--error-banner-text: #fca5a5;--success-bg: #14532d;--success-text: #86efac;--info-bg: #1a2332;--info-text: #93c5fd;--warning-bg: rgba(245, 158, 11, .15);--warning-text: #f59e0b;--badge-purple-bg: #4a3f6b;--badge-purple-text: #c9b8f0;--badge-blue-bg: #3d4a6b;--badge-blue-text: #a8c4f0;--badge-teal-bg: #3d5a5a;--badge-teal-text: #a8e0d8;--badge-cyan-bg: #3d5a6b;--badge-cyan-text: #a8d4f0;--badge-pink-bg: #6b3d5a;--badge-pink-text: #f0a8d4;--badge-lime-bg: #5a6b3d;--badge-lime-text: #d4f0a8;--badge-amber-bg: #6b5a3d;--badge-amber-text: #f0d4a8;--badge-mint-bg: #3d6b5a;--badge-mint-text: #a8f0d4;--link-color: #4da6ff;--highlight-color: #e8c5a0;--btn-danger-bg: #ef4444;--btn-danger-hover: #dc2626;--btn-secondary-bg: var(--bg-elevated);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .4);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .5);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text-primary);background-color:var(--bg-base);font-size:16px}[data-theme=light]{--color-primary: #2CA249;--color-primary-hover: #248F3E;--color-primary-subtle: rgba(44, 162, 73, .1);--color-accent: #CD3C67;--color-accent-hover: #B8345B;--bg-base: #f8f8f8;--bg-surface: #ffffff;--bg-elevated: #f0f0f0;--bg-input: #ffffff;--bg-overlay: #f0f0f0;--text-primary: #1a1a1a;--text-secondary: #555;--text-muted: #777;--text-disabled: #aaa;--border-default: #e0e0e0;--border-subtle: #eaeaea;--border-strong: #ccc;--scrollbar-track: #f0f0f0;--scrollbar-thumb: #ccc;--scrollbar-thumb-hover: #aaa;--error-bg: rgba(239, 68, 68, .08);--error-border: rgba(239, 68, 68, .25);--error-text: #dc2626;--error-banner-bg: #fef2f2;--error-banner-border: #fecaca;--error-banner-text: #dc2626;--success-bg: #dcfce7;--success-text: #166534;--info-bg: #dbeafe;--info-text: #1d4ed8;--warning-bg: rgba(245, 158, 11, .1);--warning-text: #d97706;--badge-purple-bg: #ede9fe;--badge-purple-text: #6d28d9;--badge-blue-bg: #dbeafe;--badge-blue-text: #2563eb;--badge-teal-bg: #ccfbf1;--badge-teal-text: #0d9488;--badge-cyan-bg: #cffafe;--badge-cyan-text: #0891b2;--badge-pink-bg: #fce7f3;--badge-pink-text: #be185d;--badge-lime-bg: #ecfccb;--badge-lime-text: #65a30d;--badge-amber-bg: #fef3c7;--badge-amber-text: #b45309;--badge-mint-bg: #d1fae5;--badge-mint-text: #059669;--link-color: #2563eb;--highlight-color: #92400e;--btn-danger-bg: #ef4444;--btn-danger-hover: #dc2626;--btn-secondary-bg: var(--bg-elevated);--shadow-dropdown: 0 4px 12px rgba(0, 0, 0, .12);--shadow-modal: 0 8px 32px rgba(0, 0, 0, .15);color-scheme:light;color:var(--text-primary);background-color:var(--bg-base)}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{height:100vh;width:100vw}input,textarea,button{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.granthub{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:16px}.granthub-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-shrink:0}.granthub-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.granthub-close-btn{background:none;border:none;color:var(--text-muted);font-size:22px;cursor:pointer;padding:2px 6px;line-height:1;border-radius:4px}.granthub-close-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.granthub-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-subtle);padding-bottom:0;flex-shrink:0}.granthub-tab{background:none;border:none;padding:8px 14px;font-size:13px;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;border-radius:4px 4px 0 0;transition:all .15s}.granthub-tab:hover{color:var(--text-primary);background:var(--bg-elevated)}.granthub-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.granthub-stats{margin-bottom:16px}.granthub-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px}.granthub-stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid;border-radius:6px;padding:10px 12px;display:flex;flex-direction:column}.granthub-stat-number{font-size:18px;font-weight:600;color:var(--text-primary)}.granthub-stat-label{font-size:11px;color:var(--text-muted);margin-top:2px}.granthub-stat-pipeline{font-size:12px;color:var(--text-secondary);padding:6px 0}.granthub-toolbar{display:flex;gap:8px;margin-bottom:12px;flex-shrink:0}.granthub-search{flex:1;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text-primary);outline:none}.granthub-search:focus{border-color:var(--color-primary)}.granthub-search::placeholder{color:var(--text-muted)}.granthub-filter{background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;padding:6px 10px;font-size:13px;color:var(--text-primary);cursor:pointer}.granthub-list{display:flex;flex-direction:column;gap:6px}.granthub-grant-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;text-align:left;transition:all .15s;width:100%;font-family:inherit}.granthub-grant-card:hover{border-color:var(--color-primary);background:var(--bg-elevated)}.granthub-grant-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.granthub-grant-title{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.granthub-grant-funder{font-size:12px;color:var(--text-secondary)}.granthub-grant-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted)}.granthub-grant-deadline{display:flex;align-items:center;gap:6px}.granthub-status-badge{display:inline-flex;align-items:center;gap:3px;border-radius:10px;font-weight:500;white-space:nowrap}.granthub-deadline-chip{font-size:11px;font-weight:600;padding:1px 6px;border-radius:8px}.granthub-empty{padding:40px 20px;text-align:center;color:var(--text-secondary)}.granthub-empty p{margin:4px 0}.granthub-empty-hint{font-size:13px;color:var(--text-muted)}.granthub-deadline-list{display:flex;flex-direction:column;gap:6px}.granthub-deadline-card{display:flex;align-items:center;gap:14px;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer;text-align:left;width:100%;font-family:inherit;transition:all .15s}.granthub-deadline-card:hover{border-color:var(--color-primary)}.granthub-deadline-left{flex-shrink:0}.granthub-deadline-days{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;font-size:14px;font-weight:700;background:var(--bg-elevated);color:var(--text-primary)}.granthub-deadline-days.urgent{background:var(--error-bg);color:var(--error-text)}.granthub-deadline-days.soon{background:var(--warning-bg);color:var(--warning-text)}.granthub-deadline-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.granthub-deadline-title{font-size:14px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.granthub-deadline-funder{font-size:12px;color:var(--text-secondary)}.granthub-deadline-date{font-size:11px;color:var(--text-muted)}.granthub-deadline-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:12px;color:var(--text-secondary)}.granthub-detail{padding:0}.granthub-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.granthub-back-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:13px;padding:4px 8px;border-radius:4px}.granthub-back-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.granthub-detail-actions{display:flex;gap:6px}.granthub-detail-title{font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.granthub-detail-funder{font-size:14px;color:var(--text-secondary);margin:0 0 16px}.granthub-pipeline{display:flex;gap:4px;margin-bottom:20px;flex-wrap:wrap}.granthub-pipeline-step{padding:4px 10px;font-size:12px;border:1px solid var(--border-default);border-radius:14px;background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all .15s}.granthub-pipeline-step:hover{border-color:var(--color-primary)}.granthub-pipeline-step.active{font-weight:600}.granthub-pipeline-step.completed{opacity:.5}.granthub-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.granthub-detail-field{display:flex;flex-direction:column;gap:2px}.granthub-field-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.granthub-field-value{font-size:14px;color:var(--text-primary);display:flex;align-items:center;gap:6px}.granthub-field-link{font-size:13px;color:var(--link-color);text-decoration:none}.granthub-field-link:hover{text-decoration:underline}.granthub-detail-section{margin-bottom:16px}.granthub-detail-section h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 6px}.granthub-detail-section p{font-size:14px;color:var(--text-primary);margin:0;line-height:1.5}.granthub-notes{width:100%;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;padding:8px 10px;font-size:13px;color:var(--text-primary);resize:vertical;font-family:inherit}.granthub-notes:focus{border-color:var(--color-primary);outline:none}.granthub-quick-actions h4{font-size:13px;font-weight:600;color:var(--text-secondary);margin:0 0 8px}.granthub-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.granthub-action-btn{padding:10px 8px;font-size:12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);cursor:pointer;text-align:center;transition:all .15s;font-family:inherit}.granthub-action-btn:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.granthub-templates-intro{font-size:13px;color:var(--text-secondary);margin:0 0 12px}.granthub-template-card{border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:6px;overflow:hidden}.granthub-template-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:var(--bg-surface);border:none;cursor:pointer;font-size:14px;color:var(--text-primary);font-family:inherit;text-align:left}.granthub-template-header:hover{background:var(--bg-elevated)}.granthub-template-toggle{font-size:12px;color:var(--text-muted)}.granthub-template-body{padding:12px 14px;border-top:1px solid var(--border-subtle);background:var(--bg-base)}.granthub-template-content{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;font-family:inherit;margin:0 0 10px;max-height:200px;overflow-y:auto;line-height:1.5}.granthub-template-actions{display:flex;gap:8px}.granthub-section-title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.granthub-sections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.granthub-section-btn{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-primary);text-align:left;transition:all .15s;font-family:inherit}.granthub-section-btn:hover{border-color:var(--color-primary);background:var(--color-primary-subtle)}.granthub-section-icon{font-size:14px}.granthub-section-label{font-size:12px}.granthub-btn-primary{background:var(--color-primary);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;font-weight:500;transition:background .15s;font-family:inherit;white-space:nowrap}.granthub-btn-primary:hover{background:var(--color-primary-hover)}.granthub-btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default);padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s;font-family:inherit}.granthub-btn-secondary:hover{background:var(--bg-surface);border-color:var(--border-strong)}.granthub-btn-chat{background:var(--color-primary-subtle);color:var(--color-primary);border:1px solid var(--color-primary);padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.granthub-btn-chat:hover{background:var(--color-primary);color:#fff}.granthub-btn-danger{background:var(--btn-danger-bg);color:#fff;border:none;padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.granthub-btn-danger:hover{background:var(--btn-danger-hover)}.granthub-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.granthub-modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;width:480px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-modal)}.granthub-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.granthub-modal-header h3{margin:0;font-size:16px;color:var(--text-primary)}.granthub-form{padding:16px 20px;display:flex;flex-direction:column;gap:12px}.granthub-form label{display:flex;flex-direction:column;gap:4px}.granthub-form label>span{font-size:12px;font-weight:500;color:var(--text-secondary)}.granthub-form input,.granthub-form textarea,.granthub-form select{background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;padding:8px 10px;font-size:14px;color:var(--text-primary);font-family:inherit}.granthub-form input:focus,.granthub-form textarea:focus,.granthub-form select:focus{border-color:var(--color-primary);outline:none}.granthub-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.granthub-form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px}.granthub-panel{position:fixed;right:0;top:0;height:100vh;width:420px;max-width:100vw;background:var(--bg-base);border-left:1px solid var(--border-default);z-index:100;box-shadow:-4px 0 24px #00000026;animation:granthub-slide-in .2s ease;overflow:hidden;display:flex;flex-direction:column}@keyframes granthub-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media(max-width:600px){.granthub-stats-grid,.granthub-action-grid{grid-template-columns:repeat(2,1fr)}.granthub-sections-grid,.granthub-detail-grid{grid-template-columns:1fr}.granthub-panel{width:100vw}}.app{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.app.app-standalone{height:auto;min-height:100vh;overflow:auto}.app-error-banner{background:var(--error-banner-bg);border-bottom:1px solid var(--error-banner-border);padding:0;flex-shrink:0}.app-error-banner-item{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;color:var(--error-banner-text);font-size:13px}.app-error-banner-item+.app-error-banner-item{border-top:1px solid var(--error-banner-border)}.app-error-banner-dismiss{background:none;border:none;color:var(--error-banner-text);font-size:18px;cursor:pointer;padding:0 4px;line-height:1;opacity:.7}.app-error-banner-dismiss:hover{opacity:1}.env-reminder-banner{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;background:var(--bg-tertiary, #f0f0f0);border-bottom:1px solid var(--border-color, #e0e0e0);font-size:12px;color:var(--text-secondary, #888);flex-shrink:0}.env-reminder-text{display:flex;align-items:center;flex-wrap:wrap;gap:2px}.env-reminder-text code{font-size:11px;background:var(--bg-secondary, #e8e8e8);padding:1px 4px;border-radius:3px;font-family:SF Mono,Menlo,monospace}.env-reminder-dismiss{background:none;border:none;color:var(--text-secondary, #888);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;opacity:.6}.env-reminder-dismiss:hover{opacity:1}.modal-input-error{border-color:var(--error-text)!important}.modal-validation-error{color:var(--error-banner-text);font-size:12px;margin-top:4px;margin-bottom:4px}.app-body{display:flex;flex:1;overflow:hidden}.app-header{height:36px;background:var(--bg-surface);border-bottom:1px solid var(--border-default);display:flex;align-items:center;flex-shrink:0;-webkit-app-region:drag}.header-menu-bar{display:flex;align-items:center;height:100%;width:100%;-webkit-app-region:no-drag}.header-menu-item-wrapper{position:relative;height:100%}.header-menu-item{height:100%;padding:0 12px;background:transparent;border:none;color:var(--text-secondary);font-size:13px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background-color .1s}.header-menu-item:hover{background:var(--bg-elevated)}.header-menu-item.active{background:var(--color-primary);color:#fff}.header-logo{font-weight:600}.logo-img{height:20px;width:20px;object-fit:cover;clip-path:url(#squircle)}.logo-text{letter-spacing:1px}.header-dropdown{position:absolute;top:100%;left:0;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;min-width:180px;padding:4px 0;z-index:1000;box-shadow:var(--shadow-dropdown)}.header-dropdown-item{padding:8px 16px;color:var(--text-primary);font-size:13px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.header-dropdown-item:hover:not(.disabled){background:var(--color-primary);color:#fff}.header-dropdown-item.disabled{color:var(--text-disabled);cursor:default}.header-dropdown-value{color:var(--text-muted);font-size:12px}.header-dropdown-separator{height:1px;background:var(--border-strong);margin:4px 0}body.dev-mode{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3l14 9-14 9V3z'/%3E%3C/svg%3E") 4 4,auto}body.dev-mode *{cursor:inherit}body.dev-mode [data-dev-component]:hover{outline:2px solid var(--sfh-orange);outline-offset:-2px;position:relative;z-index:1}body.dev-mode [data-dev-component]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23ea580c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3l14 9-14 9V3z'/%3E%3C/svg%3E") 4 4,pointer}.dev-chat-popover{position:fixed;z-index:1002;background:var(--bg-base);border:1px solid var(--sfh-orange);border-radius:6px;padding:8px 12px;box-shadow:0 4px 12px #ea580c4d}.dev-chat-popover-btn{background:var(--sfh-orange);color:#fff;border:none;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer}.dev-chat-popover-btn:hover{background:var(--sfh-orange)}.dev-chat-bubble{position:fixed;bottom:24px;right:24px;width:400px;max-width:calc(100vw - 48px);height:500px;max-height:calc(100vh - 80px);background:var(--bg-base);border:1px solid var(--sfh-orange);border-radius:12px;box-shadow:0 8px 32px #00000080;display:flex;flex-direction:column;z-index:1003;overflow:hidden}.dev-chat-bubble-header{padding:12px 16px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;background:var(--bg-surface)}.dev-chat-bubble-title{font-size:13px;font-weight:600;color:var(--sfh-orange)}.dev-chat-bubble-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:18px;line-height:1}.dev-chat-bubble-close:hover{color:var(--text-primary)}.dev-chat-bubble-messages{flex:1;overflow-y:auto;padding:12px;background:var(--bg-base);display:flex;flex-direction:column;gap:8px}.dev-chat-message{padding:8px 12px;border-radius:8px;font-size:13px;line-height:1.5;word-wrap:break-word;max-width:90%}.dev-chat-message.system{background:#ea580c1a;color:var(--warning-text);font-size:12px;align-self:center;max-width:100%;text-align:center}.dev-chat-message.user{background:var(--sfh-orange);color:#fff;align-self:flex-end}.dev-chat-message.agent{background:var(--bg-surface);color:var(--text-primary);align-self:flex-start;border-left:3px solid var(--sfh-orange)}.dev-chat-message.agent.typing{opacity:.8}.dev-chat-message.tool{background:#a855f71a;color:var(--badge-purple-text);font-size:12px;align-self:flex-start;font-family:SF Mono,Monaco,Courier New,monospace}.dev-chat-message.error{background:#ef44441a;color:var(--error-banner-text);border-left:3px solid var(--error-text)}.dev-chat-bubble-input-row{padding:12px;border-top:1px solid var(--border-default);display:flex;gap:8px}.dev-chat-bubble-input{flex:1;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:6px;padding:8px 12px;color:var(--text-primary);font-size:13px;outline:none;resize:none;font-family:inherit}.dev-chat-bubble-input:focus{border-color:var(--sfh-orange)}.dev-chat-bubble-input::placeholder{color:var(--text-disabled)}.dev-chat-bubble-send{background:var(--sfh-orange);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.dev-chat-bubble-send:hover{background:var(--sfh-orange)}.dev-chat-bubble-send:disabled{background:var(--border-strong);cursor:not-allowed}.history-replay-modal{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:24px}.history-replay-content{background:var(--bg-input);border:1px solid var(--border-default);border-radius:12px;width:900px;max-width:100%;height:700px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.history-replay-header{padding:16px 20px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between}.history-replay-header h3{margin:0;font-size:18px;color:var(--text-primary)}.close-btn{background:transparent;border:none;color:var(--text-muted);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{color:var(--text-primary)}.history-replay-stats{padding:16px 20px;border-bottom:1px solid var(--border-default);display:flex;gap:24px}.history-stat{display:flex;gap:8px}.history-stat-label{color:var(--text-muted);font-size:13px}.history-stat-value{color:var(--color-primary);font-weight:600;font-size:13px}.history-replay-preview{flex:1;overflow:auto;padding:20px;background:var(--bg-input)}.history-replay-blocks{max-width:800px;margin:0 auto}.history-block{padding:8px 12px;margin-bottom:8px;border-radius:4px;background:var(--bg-surface);color:var(--text-primary);line-height:1.6}.history-block-h1{font-size:28px;font-weight:600}.history-block-h2{font-size:22px;font-weight:600}.history-block-h3{font-size:18px;font-weight:600}.history-block-text{font-size:14px}.history-block-bullet_list:before{content:"• ";color:var(--color-primary);font-weight:600;margin-right:8px}.history-block-numbered_list:before{content:"1. ";color:var(--color-primary);font-weight:600;margin-right:8px}.history-block-image{font-style:italic;color:var(--text-muted)}.history-block-image:before{content:"🖼 ";margin-right:4px}.history-block-handwriting{font-style:italic;color:var(--text-muted)}.history-block-handwriting:before{content:"✏️ ";margin-right:4px}.history-block-link{color:var(--color-primary);text-decoration:underline}.empty-block{color:var(--border-strong);font-style:italic}.history-replay-empty-state,.history-replay-loading,.history-replay-empty{text-align:center;padding:60px 20px;color:var(--text-muted)}.history-replay-hint{margin-top:8px;font-size:13px;color:var(--text-disabled)}.history-replay-controls{padding:16px 20px;border-top:1px solid var(--border-default)}.history-replay-timeline{margin-bottom:12px}.history-timeline-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--bg-elevated);border-radius:3px;outline:none}.history-timeline-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer}.history-timeline-slider::-moz-range-thumb{width:16px;height:16px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none}.history-replay-buttons{display:flex;align-items:center;gap:12px}.history-btn{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.history-btn-play{background:var(--color-primary);color:#fff}.history-btn-play:hover{background:var(--color-primary-hover)}.history-btn-pause{background:var(--warning-text);color:#fff}.history-btn-pause:hover{background:var(--warning-text)}.history-speed-select{padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:14px;cursor:pointer;outline:none}.history-speed-select:hover{border-color:var(--border-strong)}.about-modal{text-align:center;padding:32px 40px}.about-logo{font-size:48px;color:var(--color-primary);margin-bottom:8px}.about-logo-img{width:64px;height:64px;margin-bottom:12px;clip-path:url(#squircle)}.about-title{font-size:24px;font-weight:700;letter-spacing:2px;margin-bottom:4px}.about-subtitle{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.about-version{font-size:13px;color:var(--text-disabled);margin-bottom:16px}.about-description{color:var(--text-secondary);font-size:14px;margin-bottom:24px;line-height:1.5}.left-sidebar{width:250px;min-width:200px;background-color:var(--bg-input);border-right:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden}.file-tree-section{flex:0 0 66.666%;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--border-default)}.sidebar-header{padding:12px 16px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.main-content{flex:1;display:flex;flex-direction:column;background-color:var(--bg-input);overflow:hidden}.editor-container{flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.no-file-selected{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-disabled);font-size:16px}.right-sidebar{width:400px;min-width:350px;background-color:var(--bg-input);border-left:1px solid var(--border-default);display:flex;flex-direction:column}.chat-section{flex:1;display:flex;flex-direction:column;overflow:hidden}.metadata-section{flex:0 0 33.333%;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--border-default)}.section-header{padding:12px 16px;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-default);flex-shrink:0;display:flex;align-items:center;gap:6px}.api-cost-label{margin-left:auto;font-size:10px;font-weight:400;color:var(--text-disabled);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}.metadata-content{padding:16px;overflow:auto;flex:1}.metadata-row{margin-bottom:12px}.metadata-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;margin-bottom:4px}.metadata-value{color:var(--text-primary);word-break:break-all}.file-tree{flex:1;overflow:auto;padding:8px 0}.tree-item{display:flex;align-items:center;padding:4px 8px 4px 16px;cursor:pointer;-webkit-user-select:none;user-select:none}.tree-item:hover{background-color:var(--bg-surface)}.tree-item.selected{background-color:var(--color-primary-hover)}.tree-item-icon{margin-right:6px;font-size:14px;width:16px;text-align:center}.tree-item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-children{padding-left:16px}.context-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;padding:4px 0;min-width:160px;z-index:1000;box-shadow:0 4px 12px #0006}.context-menu-item{padding:8px 16px;cursor:pointer;display:flex;align-items:center;gap:8px}.context-menu-item:hover{background-color:var(--color-primary-hover)}.context-menu-separator{height:1px;background:var(--border-strong);margin:4px 0}.chat-messages{flex:1;overflow:auto;padding:16px}.chat-message{margin-bottom:12px;padding:8px 12px;border-radius:8px;max-width:90%}.chat-message.user{background:var(--color-primary);margin-left:auto}.chat-message.assistant{background:var(--bg-elevated)}.chat-input-container{padding:12px;border-top:1px solid var(--border-default);display:flex;gap:8px}.chat-input{flex:1;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;padding:8px 12px;color:var(--text-primary);outline:none}.chat-input:focus{border-color:var(--color-primary)}.chat-send-btn{background:var(--color-primary);border:none;border-radius:4px;padding:8px 16px;color:#fff;cursor:pointer}.chat-send-btn:hover{background:var(--color-primary-hover)}.chat-send-btn:disabled{background:var(--border-strong);cursor:not-allowed}.no-chat{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-disabled);padding:16px;text-align:center}.chat-welcome{text-align:center;padding:20px;color:var(--text-muted)}.chat-welcome-icon{font-size:32px;color:var(--color-primary);margin-bottom:8px}.chat-welcome-logo{width:48px;height:48px;margin-bottom:12px;clip-path:url(#squircle)}.chat-welcome-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.chat-welcome-text{font-size:13px;margin-bottom:12px}.chat-welcome-examples{text-align:left;font-size:12px;padding-left:24px;margin:0}.chat-welcome-examples li{margin-bottom:4px}.chat-action{padding:8px 12px;margin:8px 0;background:#0ea5e91a;border-left:3px solid var(--color-primary);border-radius:0 4px 4px 0;font-size:13px;color:var(--color-primary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.chat-typing{display:flex;gap:4px;padding:12px}.chat-typing span{width:8px;height:8px;background:var(--border-strong);border-radius:50%;animation:typing 1.4s ease-in-out infinite}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);background:var(--border-strong)}30%{transform:translateY(-6px);background:var(--color-primary)}}.chat-message.assistant p{margin:0 0 8px}.chat-message.assistant p:last-child{margin-bottom:0}.chat-message.assistant strong{font-weight:600;color:var(--text-primary)}.chat-message.assistant em{font-style:italic}.chat-message.assistant ul,.chat-message.assistant ol{margin:6px 0;padding-left:20px}.chat-message.assistant li{margin-bottom:2px}.chat-message.assistant li>p{margin:0}.chat-message.assistant code{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;font-family:SF Mono,Fira Code,monospace;font-size:.9em;color:var(--highlight-color)}.chat-message.assistant pre{background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto}.chat-message.assistant pre code{background:none;border:none;padding:0;font-size:12px;color:var(--text-primary)}.chat-message.assistant blockquote{border-left:3px solid var(--color-primary);margin:8px 0;padding:2px 12px;color:var(--text-secondary)}.chat-message.assistant h1,.chat-message.assistant h2,.chat-message.assistant h3{margin:10px 0 4px;font-weight:600;color:var(--text-primary)}.chat-message.assistant h1{font-size:1.3em}.chat-message.assistant h2{font-size:1.15em}.chat-message.assistant h3{font-size:1.05em}.api-key-warning{color:var(--warning-text);font-size:10px;font-weight:400;text-transform:none;letter-spacing:0}.interview-mode-toggle{margin-left:auto;padding:2px 10px;font-size:10px;font-weight:500;text-transform:none;letter-spacing:0;background:transparent;border:1px solid var(--border-strong);border-radius:10px;color:var(--text-muted);cursor:pointer;transition:all .15s}.interview-mode-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.interview-mode-toggle.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.interview-mode-toggle:disabled{opacity:.5;cursor:not-allowed}.interview-setup{text-align:center;padding:24px 20px;color:var(--text-muted);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:200px}.interview-setup-icon{font-size:32px;color:var(--color-primary);margin-bottom:8px}.interview-setup-title{font-size:16px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.interview-setup-text{font-size:13px;margin-bottom:16px;line-height:1.5}.interview-setup-input-row{display:flex;gap:8px}.interview-qa-item{margin-bottom:8px;padding:8px 12px;background:var(--bg-surface);border-radius:8px;font-size:13px}.interview-qa-question{color:var(--text-muted);margin-bottom:4px;font-size:12px}.interview-qa-answer{color:var(--text-primary)}.interview-question-card{margin:8px 0;padding:16px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px}.interview-progress{margin-bottom:12px}.interview-progress-bar{height:3px;background:var(--bg-elevated);border-radius:2px;overflow:hidden;margin-bottom:4px}.interview-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease}.interview-progress-text{font-size:11px;color:var(--text-disabled)}.interview-question-text{font-size:15px;font-weight:500;color:var(--text-primary);margin-bottom:8px;line-height:1.4}.interview-question-context{font-size:12px;color:var(--text-muted);margin-bottom:12px;line-height:1.4}.interview-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.interview-chip{padding:6px 14px;font-size:13px;background:transparent;border:1px solid var(--border-strong);border-radius:16px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.interview-chip:hover{border-color:var(--color-primary);color:var(--color-primary);background:#0ea5e914}.interview-answer-input{display:flex;gap:8px;align-items:flex-end}.interview-answer-textarea{flex:1;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;padding:8px 12px;color:var(--text-primary);outline:none;font-family:inherit;font-size:13px;resize:vertical;min-height:60px}.interview-answer-textarea:focus{border-color:var(--color-primary)}.interview-answer-send{padding:8px 16px;background:var(--color-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px;white-space:nowrap}.interview-answer-send:hover{background:var(--color-primary)}.interview-answer-send:disabled{background:var(--border-strong);cursor:not-allowed}.interview-controls{padding:12px;border-top:1px solid var(--border-default);display:flex;gap:8px}.interview-finish-btn{flex:1;padding:8px 16px;background:var(--color-primary);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:13px}.interview-finish-btn:hover{background:var(--color-primary)}.interview-finish-btn:disabled{background:var(--border-strong);cursor:not-allowed}.interview-exit-btn{padding:8px 16px;background:transparent;border:1px solid var(--border-strong);border-radius:4px;color:var(--text-muted);cursor:pointer;font-size:13px}.interview-exit-btn:hover{border-color:var(--text-muted);color:var(--text-secondary)}.interview-exit-btn:disabled{opacity:.5;cursor:not-allowed}.block-editor{flex:1;padding:8px 0;overflow:auto}.block-editor-empty{display:flex;align-items:center;justify-content:center;height:200px}.image-block-editor{padding:12px;background:var(--bg-surface);border-radius:6px;margin:8px 0}.image-url-input{width:100%;background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;padding:8px 12px;color:var(--text-primary);font-size:13px;margin-bottom:8px;outline:none}.image-url-input:focus{border-color:var(--color-primary)}.image-block-actions{display:flex;gap:8px}.image-btn{padding:6px 12px;border:none;border-radius:4px;font-size:12px;cursor:pointer;font-weight:500}.image-btn-save{background:var(--color-primary);color:#fff}.image-btn-save:hover{background:var(--color-primary-hover)}.image-btn-cancel{background:var(--border-strong);color:var(--text-primary)}.image-btn-cancel:hover{background:var(--bg-elevated)}.image-block-error{color:var(--error-text);font-size:12px;margin-top:4px}.image-block-display{position:relative;margin:8px 0}.block-image{max-width:100%;height:auto;border-radius:6px;display:block;border:1px solid var(--border-default)}.image-caption{margin-top:8px}.image-caption-input{width:100%;background:transparent;border:none;color:var(--text-muted);font-size:13px;font-style:italic;outline:none;padding:4px 0}.image-edit-btn{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;opacity:0;transition:opacity .2s}.image-block-display:hover .image-edit-btn{opacity:1}.handwriting-block{margin:8px 0;padding:12px;background:var(--bg-surface);border-radius:6px}.handwriting-canvas{width:100%;max-width:800px;height:400px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:4px;cursor:crosshair;touch-action:none;display:block}.handwriting-toolbar{display:flex;align-items:center;gap:16px;margin-top:12px;padding:8px;background:var(--bg-input);border-radius:4px}.handwriting-colors{display:flex;gap:6px}.color-btn{width:28px;height:28px;border:2px solid var(--border-default);border-radius:4px;cursor:pointer;transition:transform .15s}.color-btn:hover{transform:scale(1.1);border-color:var(--color-primary)}.handwriting-widths{display:flex;gap:4px}.handwriting-widths button{padding:4px 8px;background:var(--bg-elevated);border:none;border-radius:4px;color:var(--text-primary);font-size:11px;cursor:pointer}.handwriting-widths button:hover{background:var(--border-strong)}.handwriting-clear{margin-left:auto;padding:6px 12px;background:var(--error-text);border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer}.handwriting-clear:hover{background:var(--btn-danger-hover)}.handwriting-caption-input{width:100%;margin-top:8px;background:transparent;border:none;color:var(--text-muted);font-size:13px;font-style:italic;outline:none;padding:4px 0}.list-item-block{display:flex;align-items:flex-start;gap:8px}.list-marker{color:var(--color-primary);font-weight:600;padding-top:4px;min-width:20px;-webkit-user-select:none;user-select:none}.list-item-input{flex:1;font-size:14px;min-height:24px;field-sizing:content}.link-block{display:flex;flex-direction:column;gap:8px}.link-input{width:100%;font-size:14px;color:var(--color-primary)}.link-preview{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary);text-decoration:none;font-size:12px;padding:4px 8px;background:#0ea5e91a;border-radius:4px;transition:background .15s;align-self:flex-start}.link-preview:hover{background:#0ea5e933}.inline-link{color:var(--color-primary);text-decoration:none;border-bottom:1px solid rgba(14,165,233,.3);transition:border-color .15s}.inline-link:hover{border-bottom-color:var(--color-primary)}.ambient-thoughts-section{border-bottom:1px solid var(--border-default);flex-shrink:0;max-height:40%;overflow-y:auto}.ambient-thoughts-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:#ffffff08}.ambient-thoughts-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.ambient-thoughts-actions{display:flex;align-items:center;gap:6px}.ambient-thoughts-history-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:2px 4px;border-radius:4px;line-height:1;opacity:.6;transition:opacity .2s}.ambient-thoughts-history-btn:hover{opacity:1;background:#ffffff14}.ambient-thoughts-generate-btn{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:var(--text-secondary);font-size:10px;padding:2px 10px;border-radius:10px;cursor:pointer;transition:all .2s;text-transform:none;letter-spacing:0;font-weight:400}.ambient-thoughts-generate-btn:hover{background:#ffffff1f;color:#fff;border-color:#fff3}.ambient-thoughts-back-btn{background:#0ea5e926;border:1px solid rgba(14,165,233,.3);color:var(--color-primary);font-size:10px;padding:2px 8px;border-radius:10px;cursor:pointer;transition:all .2s}.ambient-thoughts-back-btn:hover{background:#0ea5e940}.ambient-thoughts-list{padding:4px 0}.thought-history-panel{background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;margin:4px 8px 8px;max-height:200px;overflow-y:auto}.thought-history-empty{padding:12px;color:var(--text-disabled);font-size:12px;text-align:center;font-style:italic}.thought-history-item{display:flex;align-items:center;gap:8px;padding:6px 10px;cursor:pointer;font-size:11px;color:var(--text-secondary);transition:background .15s}.thought-history-item:hover{background:#ffffff0d}.thought-history-item.active{background:#0ea5e91a;border-left:2px solid var(--color-primary)}.thought-history-time{color:var(--text-muted);min-width:50px;flex-shrink:0}.thought-history-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thought-history-blocks{color:var(--text-disabled);font-size:10px;flex-shrink:0}.ambient-thought-bubble{background:#1c191766;border:1px solid;border-radius:12px;padding:12px;margin:4px 8px;cursor:pointer;transition:all .3s ease;opacity:.6;animation:fadeUp .6s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:.6;transform:translateY(0)}}.ambient-thought-bubble:hover,.ambient-thought-bubble.expanded{opacity:1;background:#1c1917b3}.ambient-thought-bubble.historical{opacity:.5}.ambient-thought-bubble.historical:hover,.ambient-thought-bubble.historical.expanded{opacity:.7}.ambient-thought-bubble.streaming{animation:fadeUp .6s ease-out,pulse-border 2s ease-in-out infinite}@keyframes pulse-border{0%,to{opacity:.6}50%{opacity:.8}}.ambient-thought-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ambient-thought-icon{font-size:16px;line-height:1}.ambient-thought-name{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.ambient-thought-streaming{margin-left:auto;font-size:10px;color:var(--color-primary);animation:blink 1.5s ease-in-out infinite}.ambient-thought-streaming.thread-streaming{margin-left:4px;display:inline}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.ambient-thought-regenerate{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 4px;border-radius:4px;transition:all .2s ease;line-height:1}.ambient-thought-regenerate:hover{color:#fff;background:#ffffff1a;transform:rotate(180deg)}.ambient-thought-summary-text{color:var(--text-secondary);font-size:12px;line-height:1.4;font-style:italic}.ambient-thought-content{color:var(--text-primary);font-size:12px;line-height:1.5;font-style:italic}.ambient-thought-loading{color:var(--text-disabled);font-style:italic}.ambient-thought-discuss-btn{display:inline-block;margin-top:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:var(--text-secondary);font-size:10px;padding:3px 12px;border-radius:10px;cursor:pointer;transition:all .2s}.ambient-thought-discuss-btn:hover{background:#ffffff1f;color:#fff;border-color:#fff3}.thought-thread{margin-top:8px;border:1px solid var(--border-default);border-radius:8px;background:#0003;overflow:hidden}.thought-thread.historical{opacity:.8}.thought-thread-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#ffffff08;font-size:10px;color:var(--text-muted);border-bottom:1px solid var(--border-default)}.thought-thread-close{background:none;border:none;color:var(--text-muted);font-size:14px;cursor:pointer;padding:0 2px;line-height:1}.thought-thread-close:hover{color:#fff}.thought-thread-messages{max-height:180px;overflow-y:auto;padding:6px}.thought-thread-msg{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px;font-size:11px;line-height:1.4}.thought-thread-msg.user{justify-content:flex-end}.thought-thread-msg.user .thought-thread-msg-text{background:var(--color-primary-hover);color:var(--text-primary);padding:4px 8px;border-radius:10px 10px 2px;max-width:85%}.thought-thread-msg.assistant{justify-content:flex-start}.thought-thread-msg.assistant .thought-thread-msg-text{background:#ffffff0f;color:var(--text-secondary);padding:4px 8px;border-radius:10px 10px 10px 2px;max-width:85%}.thought-thread-msg-icon{font-size:12px;line-height:1;flex-shrink:0;margin-top:2px}.thought-thread-input-row{padding:4px 6px;border-top:1px solid var(--border-default)}.thought-thread-input{width:100%;background:#ffffff0d;border:1px solid var(--border-default);border-radius:12px;padding:4px 10px;font-size:11px;color:var(--text-primary);outline:none;box-sizing:border-box}.thought-thread-input:focus{border-color:var(--border-strong)}.thought-thread-input::placeholder{color:var(--text-disabled)}.block{display:flex;align-items:flex-start;padding:4px 8px;margin:2px 0;border-radius:4px;position:relative;transition:background-color .15s}.block:hover{background-color:#ffffff08}.block.selected{background-color:#0078d426}.block-handle{width:20px;color:var(--border-strong);cursor:grab;font-size:12px;padding-top:4px;opacity:0;transition:opacity .15s;-webkit-user-select:none;user-select:none}.block:hover .block-handle{opacity:1}.block-drop-indicator{height:2px;background:var(--color-primary);border-radius:1px;margin:0 8px;pointer-events:none}.block-content-wrapper{flex:1;min-width:0}.block-input{width:100%;background:transparent;border:none;color:var(--text-primary);outline:none;resize:none;font-family:inherit;line-height:1.6}.block-text-input{font-size:14px;min-height:24px;field-sizing:content}.block-heading-input{font-weight:600}.block-h1-input{font-size:28px;line-height:1.3}.block-h2-input{font-size:22px;line-height:1.4}.block-h3-input{font-size:18px;line-height:1.4}.block-input::placeholder{color:var(--border-strong)}.add-block-btn{background:transparent;border:1px dashed var(--border-default);color:var(--text-disabled);padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.add-block-btn:hover{border-color:var(--text-disabled);color:var(--text-muted);background:#ffffff08}.add-block-btn-bottom{margin:16px 28px}.block-type-menu{position:fixed;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:6px;padding:4px;min-width:150px;z-index:1000;box-shadow:0 4px 12px #0006}.block-type-option{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;cursor:pointer;font-size:13px}.block-type-option:hover{background:var(--color-primary-hover)}.block-type-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border-radius:4px;font-size:11px;font-weight:600}.editor-header{padding:12px 16px;border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;gap:12px}.editor-header-left{display:flex;align-items:center;gap:12px;flex:1}.editor-header-right{display:flex;align-items:center;gap:8px}.editor-filename{color:var(--text-muted);font-size:13px}.editor-title{color:var(--text-primary);font-weight:500}.editor-save-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .15s;font-weight:500}.editor-save-btn:hover{background:var(--bg-elevated);border-color:var(--color-primary);color:var(--color-primary)}.editor-history-btn{background:transparent;border:1px solid var(--border-default);color:var(--text-muted);padding:6px 10px;border-radius:4px;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.editor-history-btn:hover{background:var(--bg-elevated);border-color:var(--color-primary);color:var(--color-primary)}.block-metadata{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-default)}.metadata-group{margin-bottom:16px}.metadata-group-title{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.5px}.metadata-hint{color:var(--border-strong);font-size:12px;font-style:italic}.mono{font-family:SF Mono,Monaco,Courier New,monospace;font-size:11px}.type-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.type-h1{background:var(--badge-purple-bg);color:var(--badge-purple-text)}.type-h2{background:var(--badge-blue-bg);color:var(--badge-blue-text)}.type-h3{background:var(--badge-teal-bg);color:var(--badge-teal-text)}.type-text{background:var(--border-default);color:var(--text-secondary)}.type-image{background:var(--badge-cyan-bg);color:var(--badge-cyan-text)}.type-handwriting{background:var(--badge-pink-bg);color:var(--badge-pink-text)}.type-bullet_list{background:var(--badge-lime-bg);color:var(--badge-lime-text)}.type-numbered_list{background:var(--badge-amber-bg);color:var(--badge-amber-text)}.type-link{background:var(--badge-mint-bg);color:var(--badge-mint-text)}.relationship-ref{display:flex;flex-direction:column;gap:2px}.ref-type{font-size:10px;color:var(--text-muted);text-transform:uppercase}.ref-content{font-size:12px;color:var(--text-secondary)}.no-relationship{color:var(--border-strong);font-style:italic;font-size:12px}.creation-method-badge{font-size:12px;font-weight:500;padding:2px 6px;border-radius:3px;background:#ffffff0d}.metadata-relative{font-size:10px;color:var(--text-disabled);margin-top:2px}.version-toggle-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:10px;padding:0 4px;margin-left:8px;transition:color .15s}.version-toggle-btn:hover{color:var(--color-primary)}.version-history-list{margin-top:12px;max-height:300px;overflow-y:auto;border-top:1px solid var(--border-default);padding-top:8px}.version-item{padding:8px;margin-bottom:6px;background:var(--bg-surface);border-radius:4px;border-left:2px solid var(--color-primary)}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.version-number{font-size:11px;font-weight:600;color:var(--color-primary)}.version-time{font-size:10px;color:var(--text-disabled)}.version-trigger{font-size:10px;color:var(--text-muted);text-transform:capitalize;margin-bottom:4px}.version-preview{font-size:11px;color:var(--text-secondary);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.modal{background:var(--bg-elevated);border-radius:8px;padding:20px;min-width:300px;box-shadow:0 8px 24px #0006}.modal-title{font-size:16px;font-weight:600;margin-bottom:16px}.modal-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:4px;padding:8px 12px;color:var(--text-primary);outline:none;margin-bottom:16px}.modal-input:focus{border-color:var(--color-primary)}.modal-buttons{display:flex;justify-content:flex-end;gap:8px}.modal-btn{padding:8px 16px;border-radius:4px;border:none;cursor:pointer}.modal-btn-cancel{background:var(--border-strong);color:var(--text-primary)}.modal-btn-cancel:hover{background:var(--bg-elevated)}.modal-btn-create{background:var(--color-primary);color:#fff}.modal-btn-create:hover{background:var(--color-primary-hover)}.view-mode-toggle{display:flex;align-items:center;gap:2px;margin-right:12px;background:var(--bg-input);border-radius:6px;padding:2px;height:26px}.view-mode-btn{display:flex;align-items:center;gap:5px;padding:0 10px;height:22px;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.view-mode-btn:hover{color:var(--text-secondary)}.view-mode-btn.active{background:var(--bg-elevated);color:var(--text-primary)}.view-mode-icon{font-size:13px}.view-mode-label{font-weight:500}.chat-mode-body{display:flex;flex:1;overflow:hidden}.conv-sidebar{width:280px;min-width:240px;background:var(--bg-input);border-right:1px solid var(--bg-surface);display:flex;flex-direction:column;overflow:hidden}.conv-sidebar-header{padding:12px;border-bottom:1px solid var(--bg-surface);flex-shrink:0}.conv-new-btn{width:100%;padding:8px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .15s ease;text-align:left}.conv-new-btn:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.conv-sidebar-search{padding:8px 12px;border-bottom:1px solid var(--bg-surface);flex-shrink:0}.conv-search-input{width:100%;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:12px;outline:none;box-sizing:border-box}.conv-search-input:focus{border-color:var(--color-primary)}.conv-search-input::placeholder{color:var(--text-disabled)}.conv-sidebar-list{flex:1;overflow-y:auto;padding:4px 0}.conv-sidebar-empty{padding:24px 16px;color:var(--text-disabled);font-size:13px;text-align:center}.conv-item{padding:10px 14px;cursor:pointer;border-left:3px solid transparent;transition:all .15s ease;position:relative}.conv-item:hover{background:var(--bg-input)}.conv-item.active{background:var(--bg-input);border-left-color:var(--color-primary)}.conv-item-rename-input{width:100%;font-size:13px;font-weight:500;color:var(--text-primary);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:3px;padding:1px 4px;margin-bottom:2px;outline:none;box-sizing:border-box}.conv-item-title{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-preview{font-size:11px;color:var(--text-muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item-meta{display:flex;align-items:center;gap:6px}.conv-item-time{font-size:10px;color:var(--text-disabled)}.conv-item-tags{display:flex;gap:4px;flex-wrap:wrap}.conv-tag-badge{padding:1px 6px;background:var(--bg-surface);border-radius:3px;font-size:10px;color:var(--text-secondary)}.conv-tag-more{color:var(--text-disabled)}.conv-context-menu{position:absolute;right:8px;top:8px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;padding:4px 0;z-index:100;box-shadow:0 4px 12px #0006}.conv-context-item{padding:6px 16px;font-size:12px;color:var(--text-primary);cursor:pointer}.conv-context-item:hover{background:var(--bg-elevated)}.conv-context-item.delete{color:var(--error-text)}.conv-folder-group{margin-bottom:2px}.conv-folder-header{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.conv-folder-header:hover{color:var(--text-secondary)}.conv-folder-header.unfiled{cursor:default}.conv-folder-icon{font-size:10px;width:12px}.conv-folder-name{flex:1}.conv-folder-count{font-size:10px;color:var(--text-disabled);font-weight:400}.conv-folder-items{margin-left:8px;padding-left:8px;border-left:2px solid var(--border-default)}.conv-folder-items .conv-item{padding-left:24px}.unified-container{flex:1;display:flex;overflow:hidden;position:relative}.unified-container.with-source .chatview-container{flex:1;min-width:0}.unified-container.with-workspace .chatview-container{flex:0 0 40%;min-width:0}.workspace-panel{flex:0 0 60%;width:60%;min-width:360px;border-left:1px solid var(--border-default);background:var(--bg-base);display:flex;flex-direction:column;overflow:hidden}.workspace-tabs{display:flex;align-items:stretch;gap:2px;padding:6px 8px 0;border-bottom:1px solid var(--border-default);background:var(--bg-subtle, var(--bg-base));overflow-x:auto;scrollbar-width:thin;flex-shrink:0}.workspace-tab{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:8px 10px;background:transparent;border:1px solid transparent;border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0}.workspace-tab:hover{background:var(--bg-elevated);color:var(--text-primary)}.workspace-tab.active{background:var(--bg-base);border-color:var(--border-default);color:var(--text-primary);margin-bottom:-1px}.workspace-tab-icon{font-size:14px;line-height:1;flex-shrink:0}.workspace-tab-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.workspace-tab-close{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:3px;color:var(--text-muted);font-size:14px;line-height:1;flex-shrink:0}.workspace-tab-close:hover{background:var(--border-default);color:var(--text-primary)}.workspace-body{flex:1;display:flex;flex-direction:column;min-height:0}.workspace-body-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border-default);flex-shrink:0}.workspace-body-url{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.workspace-body-actions{display:flex;gap:2px;flex-shrink:0}.workspace-btn{background:none;border:none;color:var(--text-muted);font-size:14px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:4px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.workspace-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.workspace-iframe{flex:1;width:100%;border:none;background:var(--bg-base)}.workspace-error{padding:24px;font-size:13px;color:var(--text-secondary)}@media(max-width:900px){.workspace-panel{width:100%;min-width:0;border-left:none;border-top:1px solid var(--border-default)}.unified-container.with-workspace{flex-direction:column}}.drawer-tabs{display:flex;border-bottom:1px solid var(--border-subtle);flex-shrink:0;gap:0}.drawer-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 4px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.drawer-tab:hover{color:var(--text-primary);background:#ffffff08}[data-theme=light] .drawer-tab:hover{background:#00000008}.drawer-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.drawer-tab-icon{font-size:13px}.drawer-tab-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px}.drawer-tab-content{display:flex;flex-direction:column;flex:1;overflow:hidden}.drawer-tab-list{flex:1;overflow-y:auto;padding:4px 0}.drawer-tab-hint{padding:6px 12px;font-size:10px;color:var(--text-disabled);text-align:center;border-top:1px solid var(--border-subtle);flex-shrink:0}.draggable-item{display:flex;align-items:center;cursor:grab;transition:background .15s ease}.draggable-item:active{cursor:grabbing}.draggable-item:hover{background:#ffffff0d}[data-theme=light] .draggable-item:hover{background:#0000000a}.drag-handle{flex-shrink:0;width:20px;display:flex;align-items:center;justify-content:center;color:var(--text-disabled);font-size:10px;opacity:0;transition:opacity .15s ease}.draggable-item:hover .drag-handle{opacity:1}.drawer-file-item{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;color:var(--text-primary);cursor:pointer;min-height:28px}.drawer-file-item.dir{cursor:pointer}.drawer-file-item.dir:hover{background:#ffffff08}[data-theme=light] .drawer-file-item.dir:hover{background:#00000008}.drawer-file-icon{flex-shrink:0;font-size:13px}.drawer-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-file-path{font-size:10px;color:var(--text-disabled);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100px}.drawer-file-chevron{flex-shrink:0;font-size:10px;color:var(--text-secondary)}.drawer-source-item{display:flex;align-items:flex-start;gap:6px;padding:6px 12px;font-size:12px;min-height:32px}.drawer-source-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.drawer-source-name{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-source-meta{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-secondary)}.drawer-source-tags{display:flex;gap:3px}.drawer-source-tag{padding:1px 4px;background:var(--bg-surface);border-radius:3px;font-size:9px;color:var(--text-secondary)}.drawer-backdrop{display:none}.conversation-drawer{position:absolute;top:86px;left:12px;bottom:12px;width:260px;z-index:20;background:transparent;border:none;opacity:0;pointer-events:none;transform:translate(-12px);transition:opacity .25s ease,transform .25s ease;overflow:visible;display:flex;flex-direction:column}.conversation-drawer.open{opacity:1;pointer-events:auto;transform:translate(0)}.conversation-drawer .conv-sidebar{width:100%;flex:1;background:transparent;border-right:none;border:none;overflow:hidden}.conversation-drawer .conv-sidebar-header{border-bottom:1px solid var(--border-subtle)}.conversation-drawer .conv-new-btn{background:transparent;border-color:var(--border-subtle)}.conversation-drawer .conv-new-btn:hover{background:var(--bg-elevated)}.conversation-drawer .conv-sidebar-search{border-bottom:1px solid var(--border-subtle)}.conversation-drawer .conv-search-input{background:transparent;border-color:var(--border-subtle)}.conversation-drawer .conv-item:hover{background:#ffffff0d}.conversation-drawer .conv-item.active{background:#2ca24914}[data-theme=light] .conversation-drawer .conv-item:hover{background:#0000000a}[data-theme=light] .conversation-drawer .conv-item.active{background:#2ca2490f}@media(max-width:768px){.drawer-backdrop{display:block;position:fixed;inset:0;background:#0006;z-index:100;opacity:0;pointer-events:none;transition:opacity .3s ease}.drawer-backdrop.open{opacity:1;pointer-events:auto}.conversation-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;z-index:101;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);background:var(--bg-base);border-right:1px solid var(--border-default);box-shadow:var(--shadow-modal);overflow:visible;opacity:1;pointer-events:auto}.conversation-drawer.open{transform:translate(0);width:300px}.conversation-drawer .conv-sidebar{background:var(--bg-base)}.conversation-drawer .conv-search-input{background:var(--bg-input)}.conversation-drawer .conv-new-btn{background:var(--bg-surface)}.conversation-drawer .conv-item:hover,.conversation-drawer .conv-item.active{background:var(--bg-input)}}.source-panel{width:400px;min-width:300px;border-left:1px solid var(--border-default);background:var(--bg-base);display:flex;flex-direction:column;overflow:hidden;transition:width .4s cubic-bezier(.4,0,.2,1)}.source-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-default);flex-shrink:0}.source-panel-title{font-weight:600;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.source-panel-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px}.source-panel-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.source-panel-content{flex:1;overflow-y:auto;display:flex;flex-direction:column}.source-panel-preview{flex:1;min-height:200px;overflow:hidden}.source-panel-details{border-top:1px solid var(--border-default);max-height:50%;overflow-y:auto}.chatview-toolbar{display:flex;align-items:center;gap:10px;padding:8px 16px;flex-shrink:0}.chatview-hamburger{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center}.chatview-hamburger:hover{background:var(--bg-elevated);color:var(--text-primary)}.chatview-toolbar-logo-img{width:66px;height:66px;object-fit:cover;clip-path:url(#squircle);flex-shrink:0}.chatview-toolbar-logo{font-family:Pacifico,cursive;font-size:20px;color:var(--color-primary);flex-shrink:0;line-height:1;-webkit-user-select:none;user-select:none}.chatview-toolbar-title{font-size:13px;font-weight:500;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chatview-toolbar-divider{width:1px;height:16px;background:var(--border-default);flex-shrink:0;margin:0 2px}.chatview-toolbar-dropdown-sep{height:1px;background:var(--border-default);margin:4px 0}.chatview-toolbar-dropdown-info{padding:6px 14px;font-size:11px;color:var(--text-muted);cursor:default}.chatview-toolbar-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.chatview-toolbar-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:5px;border-radius:6px;display:flex;align-items:center;justify-content:center}.chatview-toolbar-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.chatview-toolbar-btn:disabled{opacity:.3;cursor:default}.chatview-toolbar-menu{position:relative}.chatview-toolbar-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #0000001f;z-index:100;min-width:180px;overflow-y:auto;max-height:calc(100vh - 80px)}.chatview-toolbar-dropdown button{display:block;width:100%;padding:8px 14px;background:none;border:none;text-align:left;font-size:13px;color:var(--text-primary);cursor:pointer;font-family:inherit}.chatview-toolbar-dropdown button:hover{background:var(--bg-elevated)}.docs-dropdown,.sources-dropdown{max-height:320px;overflow-y:auto;min-width:220px}.docs-dropdown button:disabled,.docs-dropdown .docs-folder-item{color:var(--text-secondary);font-weight:600;font-size:12px;cursor:default;opacity:.8}.docs-dropdown button:disabled:hover,.docs-dropdown .docs-folder-item:hover{background:none}.source-status-badge{font-size:10px;color:var(--color-primary);margin-left:6px;opacity:.7}.chatview-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px 0}.chatview-attachment{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 6px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:6px;font-size:12px;color:var(--text-secondary)}.chatview-attachment-icon{font-size:14px}.chatview-attachment-name{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatview-attachment-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;line-height:1}.chatview-attachment-remove:hover{color:var(--text-primary)}.chatview-attach-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.chatview-attach-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.chatview-attach-btn:disabled{opacity:.3}.command-palette-overlay{position:fixed;inset:0;background:#0006;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:20vh}.command-palette{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 48px #0003;width:480px;max-width:90vw;overflow:hidden}.command-palette-input{width:100%;padding:14px 16px;border:none;border-bottom:1px solid var(--border-color);background:transparent;font-size:15px;color:var(--text-primary);outline:none;font-family:inherit}.command-palette-input::placeholder{color:var(--text-muted)}.command-palette-list{max-height:300px;overflow-y:auto;padding:6px}.command-palette-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:13px;color:var(--text-primary)}.command-palette-item.selected,.command-palette-item:hover{background:var(--bg-elevated)}.command-palette-icon{font-size:16px;width:24px;text-align:center;flex-shrink:0}.command-palette-label{flex:1}.command-palette-shortcut{font-size:11px;color:var(--text-muted);padding:2px 6px;background:var(--bg-input);border-radius:4px;font-family:inherit}.command-palette-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:13px}.share-modal{width:420px;max-width:90vw}.share-form{display:flex;gap:8px;margin-bottom:16px}.share-email-input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit}.share-permission-select{padding:8px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-input);color:var(--text-primary);font-size:13px;font-family:inherit}.share-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit}.share-btn:disabled{opacity:.5;cursor:default}.share-error{color:#e53e3e;font-size:12px;margin-bottom:12px}.share-list h4{font-size:12px;color:var(--text-muted);margin:12px 0 8px;text-transform:uppercase;letter-spacing:.05em}.share-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px}.share-item-user{flex:1;color:var(--text-primary)}.share-remove-btn{background:none;border:none;color:var(--text-muted);font-size:12px;cursor:pointer}.share-remove-btn:hover{color:#e53e3e}.chatview-drop-overlay{position:absolute;inset:0;background:#2ca24914;border:2px dashed var(--color-primary);border-radius:12px;z-index:50;display:flex;align-items:center;justify-content:center;pointer-events:none}.chatview-drop-message{font-size:16px;font-weight:600;color:var(--color-primary);background:var(--bg-surface);padding:16px 32px;border-radius:12px;box-shadow:var(--shadow-dropdown)}.header-user-email{font-size:12px;color:var(--text-muted);margin-right:8px}.chatview-container{flex:1;display:flex;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.chatview-chat-area{flex:1;display:flex;flex-direction:column;justify-content:flex-end;min-width:0;transition:all .4s cubic-bezier(.4,0,.2,1)}.chatview-messages-wrapper{flex:1;overflow-y:auto;display:flex;justify-content:center}.chatview-messages{width:100%;max-width:720px;padding:24px 20px;transition:max-width .4s cubic-bezier(.4,0,.2,1)}.chatview-container.with-document .chatview-messages,.chatview-container.multimodel-active .chatview-messages{max-width:100%;padding:16px 20px}.chatview-container.multimodel-active .chatview-input-container{max-width:100%}.chatview-welcome{display:flex;flex-direction:column;align-items:center;padding:40px 20px 20px;text-align:center;max-width:720px;margin:0 auto;width:100%;animation:welcome-fade-in .4s ease-out}.chatview-welcome.fade-out{animation:welcome-fade-out .35s ease-in forwards;pointer-events:none}@keyframes welcome-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes welcome-fade-out{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.97)}}.chatview-welcome-icon{font-family:Pacifico,cursive;font-size:42px;color:var(--color-primary);margin-bottom:12px}.chatview-welcome-title{font-size:26px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.chatview-welcome-text{font-size:16px;color:var(--text-muted);max-width:460px;line-height:1.6;margin-bottom:28px}.chatview-templates-wrapper{width:100%;position:relative;max-height:220px;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.chatview-templates-wrapper.expanded{max-height:2000px;overflow:visible}.chatview-templates-fade{position:absolute;bottom:0;left:0;right:0;height:100px;background:linear-gradient(transparent,var(--bg-input) 70%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:8px;z-index:2}.chatview-templates-show-more{padding:6px 20px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:20px;color:var(--text-secondary);font-size:14px;cursor:pointer;font-family:inherit;transition:all .15s ease}.chatview-templates-show-more:hover{border-color:var(--color-primary);color:var(--text-primary);background:var(--color-primary-subtle)}.chatview-templates{width:100%;text-align:left}.chatview-template-category{margin-bottom:20px}.chatview-template-category-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:8px;padding-left:2px}.chatview-template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.chatview-template-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;background:var(--bg-input, #f5f5f5);border:1px solid var(--border-color, #e0e0e0);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease;text-align:left;font-family:inherit}.chatview-template-card:hover{border-color:var(--color-primary);background:var(--bg-surface, #fafafa)}.chatview-template-icon{font-size:18px;margin-bottom:2px}.chatview-template-title{font-size:15px;font-weight:600;color:var(--text-primary)}.chatview-template-desc{font-size:13px;color:var(--text-muted);line-height:1.4}.chatview-welcome-hints{display:flex;flex-direction:column;gap:8px}.chatview-hint{font-size:13px;color:var(--text-disabled);padding:8px 16px;background:var(--bg-input);border-radius:8px;border:1px solid var(--bg-surface)}.tour-overlay{display:flex;align-items:center;justify-content:center;padding:40px 20px;min-height:60vh}.tour-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:16px;padding:32px;max-width:520px;width:100%;box-shadow:0 8px 32px #0000001f;animation:tourSlideIn .3s ease-out;border-top:3px solid var(--tour-accent, var(--color-primary))}@keyframes tourSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tour-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.tour-card-icon{font-size:36px}.tour-card-step{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-elevated);padding:4px 10px;border-radius:12px}.tour-card-title{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.tour-card-subtitle{font-size:14px;color:var(--text-secondary);margin:0 0 16px}.tour-card-body{font-size:14px;color:var(--text-secondary);line-height:1.6;margin:0 0 20px}.tour-card-tips{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.tour-tip{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--bg-input);border-radius:10px;border:1px solid var(--border-default)}.tour-tip-icon{font-size:16px;flex-shrink:0;margin-top:1px}.tour-tip-text{font-size:13px;color:var(--text-primary);line-height:1.4}.tour-try-it{font-size:13px;color:var(--tour-accent, var(--color-primary));background:var(--color-primary-subtle);padding:10px 14px;border-radius:10px;margin-bottom:20px;border:1px dashed var(--tour-accent, var(--color-primary))}.tour-try-it-label{font-weight:700}.tour-card-nav{display:flex;align-items:center;justify-content:space-between;padding-top:16px;border-top:1px solid var(--border-default)}.tour-dots{display:flex;gap:6px}.tour-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:var(--bg-elevated);cursor:pointer;transition:all .2s ease}.tour-dot.active{background:var(--tour-accent, var(--color-primary));transform:scale(1.3)}.tour-dot.done{background:var(--text-muted)}.tour-card-buttons{display:flex;gap:8px}.tour-btn{padding:8px 18px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:1px solid var(--border-default);font-family:inherit;transition:all .15s ease}.tour-btn-back{background:transparent;color:var(--text-secondary)}.tour-btn-back:hover{background:var(--bg-elevated)}.tour-btn-skip{background:transparent;color:var(--text-muted);border-color:transparent}.tour-btn-skip:hover{color:var(--text-secondary)}.tour-btn-next{background:var(--tour-accent, var(--color-primary));color:#fff;border-color:var(--tour-accent, var(--color-primary))}.tour-btn-next:hover{filter:brightness(1.1)}@media(max-width:768px){.tour-overlay{padding:20px 12px;min-height:auto}.tour-card{padding:24px 18px}.tour-card-title{font-size:20px}}.chatview-message{margin-bottom:16px;animation:chatFadeIn .25s ease-out;position:relative}.chatview-message.assistant .tts-play-btn{position:absolute;top:8px;right:-4px;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease,background .15s ease;padding:0}.chatview-message.assistant:hover .tts-play-btn,.chatview-message.assistant .tts-play-btn.playing{opacity:1}.chatview-message.assistant .tts-play-btn:hover{background:var(--bg-tertiary, #eaeaea);color:var(--text-primary)}.chatview-message.assistant .tts-play-btn.playing{color:var(--color-primary)}.chatview-message.user{display:flex;flex-direction:column;align-items:flex-end}.message-author{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;color:var(--text-secondary, #888);font-weight:500}.message-author-avatar{width:18px;height:18px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;text-transform:uppercase}.message-author-name{text-transform:lowercase}.chatview-message.user .chatview-message-content{background:var(--color-primary);color:#fff;border-radius:16px 16px 4px;padding:12px 18px;max-width:80%;font-size:14px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}.chatview-message.assistant .chatview-message-content{color:var(--text-primary);padding:10px 4px;font-size:14px;line-height:1.6;word-wrap:break-word}.chatview-message.assistant .chatview-message-content p{margin:0 0 12px}.chatview-message.assistant .chatview-message-content p:last-child{margin-bottom:0}.chatview-message.assistant .chatview-message-content h1,.chatview-message.assistant .chatview-message-content h2,.chatview-message.assistant .chatview-message-content h3,.chatview-message.assistant .chatview-message-content h4,.chatview-message.assistant .chatview-message-content h5,.chatview-message.assistant .chatview-message-content h6{margin:16px 0 8px;font-weight:600;line-height:1.3;color:var(--text-primary)}.chatview-message.assistant .chatview-message-content h1{font-size:1.4em}.chatview-message.assistant .chatview-message-content h2{font-size:1.25em}.chatview-message.assistant .chatview-message-content h3{font-size:1.1em}.chatview-message.assistant .chatview-message-content strong{font-weight:600;color:var(--text-primary)}.chatview-message.assistant .chatview-message-content em{font-style:italic}.chatview-message.assistant .chatview-message-content ul,.chatview-message.assistant .chatview-message-content ol{margin:8px 0;padding-left:24px}.chatview-message.assistant .chatview-message-content li{margin-bottom:4px}.chatview-message.assistant .chatview-message-content li>p{margin:0}.chatview-message.assistant .chatview-message-content code{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.9em;color:var(--highlight-color)}.chatview-message.assistant .chatview-message-content pre{background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:8px;padding:14px 16px;margin:10px 0;overflow-x:auto}.chatview-message.assistant .chatview-message-content pre code{background:none;border:none;padding:0;font-size:13px;color:var(--text-primary);line-height:1.5}.chatview-message.assistant .chatview-message-content blockquote{border-left:3px solid var(--color-primary);margin:10px 0;padding:4px 16px;color:var(--text-secondary)}.chatview-message.assistant .chatview-message-content blockquote p{margin:4px 0}.chatview-message.assistant .chatview-message-content a{color:var(--link-color);text-decoration:none}.chatview-message.assistant .chatview-message-content a:hover{text-decoration:underline}.chatview-message.assistant .chatview-message-content hr{border:none;border-top:1px solid var(--border-subtle);margin:16px 0}.chatview-message.assistant .chatview-message-content table{border-collapse:collapse;margin:10px 0;width:100%;font-size:13px}.chatview-message.assistant .chatview-message-content th,.chatview-message.assistant .chatview-message-content td{border:1px solid var(--border-subtle);padding:6px 10px;text-align:left}.chatview-message.assistant .chatview-message-content th{background:var(--bg-input);font-weight:600;color:var(--text-primary)}.chatview-message.assistant .chatview-message-content img{max-width:100%;border-radius:6px}.chatview-message.assistant .chatview-message-content input[type=checkbox]{margin-right:6px;accent-color:var(--color-primary)}.chatview-action{padding:6px 12px;margin-bottom:8px;font-size:12px;color:var(--text-muted);font-style:italic;animation:chatFadeIn .2s ease-out}.tool-action-row{display:flex;flex-wrap:wrap;gap:6px;padding:4px 12px;animation:chatFadeIn .2s ease-out}.tool-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;font-size:10px;color:var(--tool-chip-fg, var(--text-secondary));background:var(--tool-chip-bg, var(--bg-secondary));border:1px solid var(--tool-chip-border, var(--border-color));border-radius:100px;cursor:pointer;transition:all .15s ease;position:relative;white-space:nowrap;font-family:inherit;line-height:1.3}.tool-chip:hover,.tool-chip.expanded{filter:brightness(1.08);border-color:var(--tool-chip-fg, var(--color-primary))}.tool-chip.live{box-shadow:0 0 0 1px var(--tool-chip-fg, var(--color-primary)) inset}.tool-chip-search{--tool-chip-fg: #2563eb;--tool-chip-bg: rgba(37, 99, 235, .1);--tool-chip-border: rgba(37, 99, 235, .3)}.tool-chip-document{--tool-chip-fg: #7c3aed;--tool-chip-bg: rgba(124, 58, 237, .1);--tool-chip-border: rgba(124, 58, 237, .3)}.tool-chip-generation{--tool-chip-fg: #db2777;--tool-chip-bg: rgba(219, 39, 119, .1);--tool-chip-border: rgba(219, 39, 119, .3)}.tool-chip-grants{--tool-chip-fg: #059669;--tool-chip-bg: rgba(5, 150, 105, .1);--tool-chip-border: rgba(5, 150, 105, .3)}.tool-chip-email{--tool-chip-fg: #ea580c;--tool-chip-bg: rgba(234, 88, 12, .1);--tool-chip-border: rgba(234, 88, 12, .3)}.tool-chip-calendar{--tool-chip-fg: #0d9488;--tool-chip-bg: rgba(13, 148, 136, .1);--tool-chip-border: rgba(13, 148, 136, .3)}.tool-chip-drive{--tool-chip-fg: #ca8a04;--tool-chip-bg: rgba(202, 138, 4, .1);--tool-chip-border: rgba(202, 138, 4, .3)}.tool-chip-default{--tool-chip-fg: var(--text-secondary);--tool-chip-bg: var(--bg-secondary);--tool-chip-border: var(--border-color)}.tool-chip-more{--tool-chip-fg: var(--text-muted);--tool-chip-bg: transparent;--tool-chip-border: var(--border-default);font-weight:600}.tool-chip-label{font-weight:500;font-size:10px;letter-spacing:.01em}.tool-chip-pulse{width:5px;height:5px;border-radius:50%;background:var(--tool-chip-fg, var(--color-primary));animation:chipPulse 1.2s ease-in-out infinite;flex-shrink:0}@keyframes chipPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.tool-chip-detail{font-size:11px;color:var(--text-muted);font-weight:400;max-width:200px;overflow:hidden;text-overflow:ellipsis;border-left:1px solid var(--border-color);padding-left:6px;margin-left:2px}.chatview-media-embed{margin-bottom:16px;animation:chatFadeIn .3s ease-out;max-width:520px}.media-embed-header{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;color:var(--text-muted)}.media-embed-icon{font-size:16px}.media-embed-label{font-weight:500}.media-embed-audio{width:100%;height:40px;border-radius:8px;outline:none}.media-embed-image{width:100%;max-width:480px;border-radius:10px;cursor:pointer;transition:opacity .15s ease;border:1px solid var(--border-color)}.media-embed-image:hover{opacity:.9}.media-embed-caption{margin-top:6px;font-size:11px;color:var(--text-muted);line-height:1.4;max-height:40px;overflow:hidden;text-overflow:ellipsis}.presentation-embed{max-width:640px}.slide-preview-embed{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--bg-primary)}.slide-preview-header{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.slide-preview-count{margin-left:auto;font-size:11px;opacity:.7}.slide-preview-frame{position:relative;width:100%;aspect-ratio:16 / 9;background:#111}.slide-preview-iframe{width:100%;height:100%;border:none}.slide-preview-controls{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.slide-ctrl-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:5px;font-size:13px;transition:background .15s}.slide-ctrl-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.slide-ctrl-counter{font-size:12px;color:var(--text-muted);min-width:44px;text-align:center}.slide-ctrl-spacer{flex:1}.pdf-document-embed{max-width:640px}.pdf-preview-embed{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:var(--bg-primary)}.pdf-preview-header{display:flex;align-items:center;gap:6px;padding:10px 14px;font-size:12px;color:var(--text-muted);border-bottom:1px solid var(--border-color)}.pdf-preview-pages{margin-left:auto;font-size:11px;opacity:.7}.pdf-preview-frame{width:100%;height:480px;background:#fff}.pdf-preview-iframe{width:100%;height:100%;border:none}.pdf-preview-controls{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border-color);background:var(--bg-secondary)}.form-embed{max-width:520px}.interactive-form{border:1px solid var(--border-color);border-radius:12px;padding:20px;background:var(--bg-primary)}.interactive-form.submitted{padding:16px 20px;display:flex;align-items:center;gap:10px;opacity:.7}.form-submitted-check{width:24px;height:24px;border-radius:50%;background:var(--sfh-green, #2CA249);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}.form-submitted-text{font-size:13px;color:var(--text-muted)}.form-title{font-size:16px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.form-description{font-size:13px;color:var(--text-muted);margin-bottom:16px;line-height:1.5}.form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.form-field{display:flex;flex-direction:column;gap:4px}.form-label{font-size:13px;font-weight:600;color:var(--text-primary)}.form-required{color:var(--sfh-pink, #CD3C67);margin-left:2px}.form-hint{font-size:11px;color:var(--text-muted);margin-bottom:2px}.form-input,.form-textarea,.form-select{font-family:inherit;font-size:14px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);outline:none;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--sfh-green, #2CA249)}.form-textarea{resize:vertical;min-height:60px}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%23888' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.form-radio-group,.form-checkbox-group{display:flex;flex-direction:column;gap:6px}.form-radio-option,.form-checkbox-option{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:14px;color:var(--text-primary);transition:all .15s}.form-radio-option:hover,.form-checkbox-option:hover{background:var(--bg-hover)}.form-radio-option.selected,.form-checkbox-option.selected{border-color:var(--sfh-green, #2CA249);background:var(--sfh-green, #2CA249)0a}.form-radio-option input,.form-checkbox-option input{display:none}.form-radio-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--border-color);position:relative;flex-shrink:0;transition:border-color .15s}.form-radio-option.selected .form-radio-dot{border-color:var(--sfh-green, #2CA249)}.form-radio-option.selected .form-radio-dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--sfh-green, #2CA249)}.form-checkbox-box{width:16px;height:16px;border-radius:4px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s;font-size:10px}.form-checkbox-option.selected .form-checkbox-box{background:var(--sfh-green, #2CA249);border-color:var(--sfh-green, #2CA249);color:#fff}.form-chips{display:flex;flex-wrap:wrap;gap:8px}.form-chip{font-family:inherit;font-size:13px;padding:6px 14px;border:1px solid var(--border-color);border-radius:20px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .15s}.form-chip:hover{background:var(--bg-hover)}.form-chip.active{background:var(--sfh-green, #2CA249);border-color:var(--sfh-green, #2CA249);color:#fff}.form-submit-btn{font-family:inherit;font-size:14px;font-weight:600;padding:10px 24px;border:none;border-radius:8px;background:var(--sfh-green, #2CA249);color:#fff;cursor:pointer;transition:opacity .15s;width:100%}.form-submit-btn:hover{opacity:.9}.form-submit-btn:disabled{opacity:.4;cursor:not-allowed}.interactive-form-stepped{max-width:520px}.form-stepper-progress{display:flex;gap:6px;margin-bottom:4px}.form-stepper-dot{flex:1;height:4px;border-radius:2px;background:var(--border-color);transition:background .25s}.form-stepper-dot.done{background:var(--sfh-green, #2CA249);cursor:pointer}.form-stepper-dot.active{background:var(--sfh-green, #2CA249);opacity:.6}.form-stepper-counter{font-size:11px;color:var(--text-muted);margin-bottom:16px}.form-stepper-field{min-height:80px;animation:stepFadeIn .2s ease}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form-stepper-nav{display:flex;align-items:center;gap:8px;margin-top:16px}.form-stepper-spacer{flex:1}.form-stepper-back,.form-stepper-next{font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .15s}.form-stepper-back:hover,.form-stepper-next:hover{background:var(--bg-hover)}.form-stepper-next{background:var(--sfh-green, #2CA249);border-color:var(--sfh-green, #2CA249);color:#fff}.form-stepper-next:hover{opacity:.9}.form-stepper-next:disabled{opacity:.4;cursor:not-allowed}.form-stepper-nav .form-submit-btn{width:auto}.photo-gallery-embed{max-width:720px}.photo-gallery-header{font-size:13px;color:var(--text-secondary);margin-bottom:10px;font-weight:500}.photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.photo-gallery-item{position:relative;border-radius:8px;overflow:hidden;cursor:pointer;aspect-ratio:1;background:var(--bg-elevated);transition:transform .15s ease,box-shadow .15s ease}.photo-gallery-item:hover{transform:scale(1.03);box-shadow:0 4px 16px #0000004d}.photo-gallery-item img{width:100%;height:100%;object-fit:cover;display:block}.photo-gallery-overlay{position:absolute;bottom:0;left:0;right:0;padding:20px 8px 6px;background:linear-gradient(transparent,#000000b3);opacity:0;transition:opacity .15s ease}.photo-gallery-item:hover .photo-gallery-overlay{opacity:1}.photo-gallery-name{font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.photo-lightbox{position:fixed;inset:0;z-index:1000;background:#000000d9;display:flex;align-items:center;justify-content:center;padding:40px;animation:chatFadeIn .2s ease}.photo-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.photo-lightbox-content img{max-width:100%;max-height:70vh;border-radius:8px;object-fit:contain}.photo-lightbox-info{margin-top:12px;text-align:center;color:#ddd}.photo-lightbox-name{font-size:14px;font-weight:500;margin-bottom:4px;display:block}.photo-lightbox-meta{font-size:12px;color:#999;display:flex;gap:12px;justify-content:center;margin-bottom:10px}.photo-lightbox-actions{display:flex;gap:8px;justify-content:center}.photo-lightbox-btn{padding:6px 14px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:12px;cursor:pointer;text-decoration:none;transition:background .15s ease}.photo-lightbox-btn:hover{background:#fff3}.photo-lightbox-close{position:absolute;top:-12px;right:-12px;width:32px;height:32px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.photo-lightbox-close:hover{background:#ffffff4d}.chatview-typing{display:flex;gap:4px;padding:12px 4px}.chatview-typing span{width:8px;height:8px;border-radius:50%;background:var(--border-strong);animation:chatTyping 1.4s infinite ease-in-out}.chatview-typing span:nth-child(2){animation-delay:.2s}.chatview-typing span:nth-child(3){animation-delay:.4s}@keyframes chatTyping{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chatview-input-area{flex-shrink:0;display:flex;flex-wrap:wrap;justify-content:center;padding:12px 20px 24px;background:linear-gradient(transparent,var(--bg-input) 30%)}.chatview-edit-banner{width:100%;max-width:720px;display:flex;align-items:center;gap:8px;padding:6px 12px;margin-bottom:6px;font-size:.82rem;color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent);border-radius:10px}.chatview-edit-cancel{margin-left:auto;background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 2px}.chatview-edit-cancel:hover{color:var(--text-primary)}.chatview-input-container{display:flex;align-items:flex-end;gap:8px;width:100%;max-width:720px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:16px;padding:8px;transition:border-color .2s,max-width .4s cubic-bezier(.4,0,.2,1)}.chatview-container.with-document .chatview-input-container{max-width:100%}.chatview-input-container:focus-within{border-color:var(--color-primary)}.chatview-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:16px;font-family:inherit;resize:none;outline:none;line-height:1.5;max-height:200px;padding:4px 0}.chatview-input::placeholder{color:var(--text-disabled)}.chatview-send-btn{width:32px;height:32px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.chatview-send-btn:hover:not(:disabled){background:var(--color-primary-hover)}.chatview-send-btn:disabled{background:var(--bg-elevated);color:var(--text-disabled);cursor:default}.chatview-stop-btn{background:var(--text-primary);animation:chatview-stop-pulse 1.6s ease-in-out infinite}.chatview-stop-btn:hover:not(:disabled){background:var(--text-primary);transform:scale(1.05)}.chatview-stop-icon{width:10px;height:10px;background:var(--bg-base);border-radius:2px;display:block}@keyframes chatview-stop-pulse{0%,to{box-shadow:0 0 #2ca24959}50%{box-shadow:0 0 0 5px #2ca24900}}.conv-embed{margin:8px 0 16px;padding:12px 16px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:10px;cursor:pointer;transition:all .15s ease;animation:chatFadeIn .25s ease-out}.conv-embed:hover{border-color:var(--border-strong);background:var(--bg-surface)}.conv-embed-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.conv-embed-icon{font-size:14px}.conv-embed-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.conv-embed-time{font-size:10px;color:var(--text-disabled)}.conv-embed-tags{display:flex;gap:4px;margin-bottom:8px}.conv-embed-preview{margin-bottom:8px}.conv-embed-msg{font-size:12px;color:var(--text-secondary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-embed-role{font-weight:600;color:var(--text-secondary)}.conv-embed-footer{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-disabled)}.conv-embed-link{color:var(--color-primary)}.doc-panel{width:0;overflow:hidden;display:flex;flex-direction:column;background:var(--bg-input);transition:width .4s cubic-bezier(.4,0,.2,1)}.doc-panel.open{width:50%;border-left:1px solid var(--border-default)}.doc-panel-tabs{display:flex;background:var(--bg-input);border-bottom:1px solid var(--border-default);overflow-x:auto;flex-shrink:0;height:36px}.doc-panel-tab{display:flex;align-items:center;gap:8px;padding:0 12px;height:36px;background:transparent;border-right:1px solid var(--border-default);color:var(--text-muted);font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s ease;min-width:0}.doc-panel-tab:hover{background:var(--bg-surface);color:var(--text-secondary)}.doc-panel-tab.active{background:var(--bg-input);color:var(--text-primary)}.doc-panel-tab-title{overflow:hidden;text-overflow:ellipsis}.doc-panel-tab-close{background:transparent;border:none;color:var(--text-disabled);font-size:14px;cursor:pointer;padding:0;line-height:1;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0}.doc-panel-tab-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.doc-panel-editor{flex:1;overflow-y:auto;overflow-x:hidden}.doc-panel-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-disabled);font-size:14px}.sources-mode-body{display:flex;flex:1;overflow:hidden}.sources-explorer-section{flex:1!important;display:flex;flex-direction:column;overflow:hidden}.upload-explorer{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.upload-tree{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0}.upload-tree-item{position:relative}.upload-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.upload-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-left:auto;margin-right:4px}.upload-dir-count{margin-left:auto;margin-right:4px;font-size:10px;color:var(--text-disabled);background:var(--border-subtle);padding:1px 5px;border-radius:8px}.upload-explorer-actions{padding:8px 12px;border-top:1px solid var(--border-default)}.upload-btn{width:100%;padding:7px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .15s}.upload-btn:hover{background:var(--color-primary-hover)}.upload-btn:disabled{opacity:.6;cursor:not-allowed}.upload-btn-icon{font-size:14px;font-weight:600}.upload-drop-zone{position:absolute;inset:0;background:#0ea5e91f;border:2px dashed var(--color-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;z-index:10;pointer-events:none}.upload-drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--color-primary);font-size:13px}.upload-drop-icon{font-size:28px;font-weight:600}.upload-drop-hint{font-size:10px;color:var(--text-disabled)}.upload-preview{display:flex;flex-direction:column;height:100%;overflow:hidden}.upload-preview-header{padding:12px 20px;border-bottom:1px solid var(--border-default);background:var(--bg-input);flex-shrink:0}.upload-preview-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:6px;word-break:break-word}.upload-preview-meta{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted)}.upload-type-badge{padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.upload-type-badge.pdf{background:var(--error-banner-bg);color:var(--error-banner-text)}.upload-type-badge.docx{background:var(--color-primary-subtle);color:var(--info-text)}.upload-type-badge.md{background:var(--success-bg);color:var(--success-text)}.upload-type-badge.txt{background:var(--bg-elevated);color:var(--text-secondary)}.upload-preview-content{flex:1;overflow-y:auto;padding:20px}.upload-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-disabled);background:var(--bg-input)}.upload-preview-empty-icon{font-size:48px;color:var(--border-default);margin-bottom:8px}.upload-preview-empty-text{font-size:15px;color:var(--text-muted)}.upload-preview-empty-hint{font-size:12px;color:var(--border-strong)}.upload-preview-error{padding:20px;color:var(--error-text);text-align:center}.pdf-preview{display:flex;flex-direction:column;gap:12px}.pdf-page-count{font-size:11px;color:var(--text-muted);text-align:center}.pdf-pages-container{display:flex;flex-direction:column;align-items:center;gap:16px}.pdf-page-canvas{max-width:100%;height:auto;box-shadow:0 2px 8px #0000004d;border-radius:2px}.docx-preview{color:var(--text-primary);line-height:1.6;font-size:14px}.docx-preview h1{font-size:24px;margin:16px 0 8px}.docx-preview h2{font-size:20px;margin:14px 0 6px}.docx-preview h3{font-size:16px;margin:12px 0 4px}.docx-preview p{margin:8px 0}.docx-preview ul,.docx-preview ol{padding-left:24px;margin:8px 0}.docx-preview table{border-collapse:collapse;margin:12px 0}.docx-preview td,.docx-preview th{border:1px solid var(--border-default);padding:6px 10px}.text-preview{color:var(--text-primary)}.text-preview-content{font-family:Menlo,Monaco,Courier New,monospace;font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-word;margin:0}.markdown-preview{color:var(--text-primary);line-height:1.7;font-size:14px}.markdown-preview h1{font-size:24px;margin:20px 0 10px;border-bottom:1px solid var(--border-default);padding-bottom:6px}.markdown-preview h2{font-size:20px;margin:16px 0 8px}.markdown-preview h3{font-size:16px;margin:14px 0 6px}.markdown-preview p{margin:8px 0}.markdown-preview code{background:var(--border-subtle);padding:2px 5px;border-radius:3px;font-size:12px;font-family:Menlo,Monaco,Courier New,monospace}.markdown-preview pre{background:var(--bg-surface);padding:12px 16px;border-radius:4px;overflow-x:auto}.markdown-preview pre code{background:transparent;padding:0}.markdown-preview blockquote{border-left:3px solid var(--color-primary);margin:8px 0;padding:4px 16px;color:var(--text-secondary)}.markdown-preview ul,.markdown-preview ol{padding-left:24px;margin:8px 0}.markdown-preview a{color:var(--color-primary);text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-preview img{max-width:100%;border-radius:4px}.markdown-preview table{border-collapse:collapse;margin:12px 0}.markdown-preview td,.markdown-preview th{border:1px solid var(--border-default);padding:6px 10px}.upload-details{display:flex;flex-direction:column;height:100%;overflow:hidden}.upload-details-content{flex:1;overflow-y:auto;padding:12px}.upload-details-empty{color:var(--text-disabled);font-size:13px;text-align:center;padding:20px}.upload-details-group{margin-bottom:20px}.upload-details-group-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}.upload-details-count{background:var(--border-subtle);color:var(--text-secondary);padding:1px 6px;border-radius:8px;font-size:10px}.status-stepper{display:flex;flex-direction:column;gap:0}.status-step{display:flex;align-items:flex-start;gap:10px;padding:4px 0;cursor:default;border-radius:4px;transition:background .15s}.status-step.clickable{cursor:pointer}.status-step.clickable:hover{background:var(--bg-surface)}.status-step-indicator{display:flex;flex-direction:column;align-items:center;width:24px;flex-shrink:0}.status-step-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-strong);display:flex;align-items:center;justify-content:center;font-size:10px;transition:all .2s}.status-step-icon{color:#fff;font-size:10px;line-height:1}.status-step-line{width:2px;height:12px;background:var(--bg-elevated);margin:2px 0}.status-step-content{flex:1;min-width:0;padding-top:1px}.status-step-label{font-size:12px;font-weight:500;color:var(--text-secondary);transition:color .2s}.status-step.current .status-step-label{font-weight:600}.status-step.past .status-step-label{color:var(--text-muted)}.status-step-description{font-size:10px;color:var(--text-disabled);margin-top:2px;line-height:1.3}.status-step.branch{padding-left:8px}.related-docs-empty{color:var(--text-disabled);font-size:12px;line-height:1.5;padding:8px 0}.related-docs-list{display:flex;flex-direction:column;gap:2px}.related-doc-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;cursor:pointer;transition:background .15s;font-size:12px}.related-doc-item:hover{background:var(--bg-surface)}.related-doc-icon{flex-shrink:0;font-size:13px}.related-doc-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.related-doc-badge{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;padding:2px 5px;border-radius:3px;flex-shrink:0}.related-doc-badge.derived{background:var(--success-bg);color:var(--success-text)}.related-doc-badge.cites{background:var(--color-primary-subtle);color:var(--info-text)}.upload-info-rows{display:flex;flex-direction:column;gap:6px}.upload-info-row{display:flex;justify-content:space-between;align-items:center;font-size:12px}.upload-info-label{color:var(--text-muted)}.upload-info-value{color:var(--text-secondary);text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-menu-item.has-submenu{position:relative}.context-menu-item.has-submenu:after{content:">";margin-left:auto;font-size:10px;color:var(--text-muted)}.context-submenu{position:absolute;left:100%;top:0;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:4px;padding:4px 0;min-width:120px;z-index:1001;box-shadow:0 2px 8px #0000004d}.context-menu-item.danger{color:var(--error-text)}.context-menu-item.danger:hover{background:var(--error-banner-bg)}.upload-doc-type-header{padding:0 16px 8px}.upload-doc-type-badge{display:inline-block;background:var(--color-primary)20;color:var(--color-primary);border:1px solid var(--color-primary)40;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;letter-spacing:.02em}.upload-actions-bar{display:flex;flex-wrap:wrap;gap:6px;padding:8px 16px 12px;border-bottom:1px solid var(--bg-surface)}.upload-action-group{position:relative}.upload-action-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border:1px solid var(--border-default);border-radius:6px;background:var(--bg-surface);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.upload-action-btn:hover:not(:disabled){background:var(--border-subtle);border-color:var(--border-strong);color:var(--text-primary)}.upload-action-btn:disabled{opacity:.4;cursor:not-allowed}.upload-action-btn.analyze-btn{background:var(--info-bg);border-color:var(--info-text);color:var(--color-primary)}.upload-action-btn.analyze-btn:hover:not(:disabled){background:var(--info-bg);border-color:var(--color-primary)}.upload-action-btn.analyze-btn.loading{opacity:.7}.action-icon{font-size:13px;line-height:1}.action-spinner{display:inline-block;width:12px;height:12px;border:2px solid var(--color-primary)40;border-top-color:var(--color-primary);border-radius:50%;animation:action-spin .6s linear infinite}@keyframes action-spin{to{transform:rotate(360deg)}}.create-doc-dropdown{position:absolute;top:100%;left:0;margin-top:4px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:8px;padding:4px;min-width:240px;z-index:100;box-shadow:0 4px 16px #0006}.create-doc-dropdown-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.create-doc-dropdown-item:hover{background:var(--bg-surface)}.create-doc-dropdown-icon{font-size:16px;line-height:1.3;color:var(--text-muted);flex-shrink:0;width:20px;text-align:center}.create-doc-dropdown-label{font-size:13px;color:var(--text-primary);font-weight:500}.create-doc-dropdown-desc{font-size:11px;color:var(--text-muted);margin-top:1px}.upload-summary-text{font-size:13px;color:var(--text-secondary);line-height:1.5;padding:8px 12px;background:var(--bg-overlay);border-left:3px solid var(--color-primary)40;border-radius:4px}.upload-tags-editor{padding:4px 0}.upload-tags-list{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.upload-tag-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;font-size:12px;color:var(--info-text)}.upload-tag-remove{background:none;border:none;color:var(--text-disabled);cursor:pointer;font-size:11px;padding:0 2px;line-height:1}.upload-tag-remove:hover{color:var(--error-text)}.upload-tag-input{border:none;background:none;color:var(--text-secondary);font-size:12px;padding:2px 4px;outline:none;min-width:40px;flex:1}.upload-tag-input::placeholder{color:var(--border-strong)}.upload-notes-textarea{width:100%;min-height:80px;max-height:200px;background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;color:var(--text-secondary);font-size:13px;font-family:inherit;line-height:1.5;padding:8px;resize:vertical;outline:none;transition:border-color .15s}.upload-notes-textarea:focus{border-color:var(--border-strong)}.upload-notes-textarea::placeholder{color:var(--border-strong)}.cross-refs-empty{font-size:12px;color:var(--text-disabled);font-style:italic;padding:4px 0}.cross-refs-list{display:flex;flex-direction:column;gap:6px}.cross-ref-item{padding:8px 10px;background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;cursor:pointer;transition:all .15s}.cross-ref-item:hover{border-color:var(--border-subtle);background:var(--bg-input)}.cross-ref-header{display:flex;align-items:center;gap:6px}.cross-ref-icon{font-size:14px;flex-shrink:0}.cross-ref-title{font-size:13px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cross-ref-badge{font-size:10px;color:var(--text-muted);background:var(--bg-surface);padding:1px 6px;border-radius:8px;flex-shrink:0}.cross-ref-snippet{font-size:11px;color:var(--text-muted);margin-top:4px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.document-picker-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.document-picker-modal{background:var(--bg-input);border:1px solid var(--border-default);border-radius:10px;width:380px;max-height:480px;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000080}.document-picker-title{font-size:14px;font-weight:600;color:var(--text-primary);padding:14px 16px 10px;border-bottom:1px solid var(--bg-surface)}.document-picker-search{margin:8px 12px;padding:8px 10px;background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;color:var(--text-secondary);font-size:13px;outline:none}.document-picker-search:focus{border-color:var(--border-strong)}.document-picker-search::placeholder{color:var(--border-strong)}.document-picker-list{flex:1;overflow-y:auto;padding:4px 8px;max-height:320px}.document-picker-list::-webkit-scrollbar{width:6px}.document-picker-list::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}.document-picker-empty{font-size:13px;color:var(--text-disabled);text-align:center;padding:20px}.document-picker-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;transition:background .1s}.document-picker-item:hover{background:var(--bg-surface)}.document-picker-item-icon{font-size:16px;flex-shrink:0}.document-picker-item-info{flex:1;overflow:hidden}.document-picker-item-title{font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-picker-item-path{font-size:11px;color:var(--text-disabled);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-picker-actions{padding:8px 12px;border-top:1px solid var(--bg-surface);display:flex;justify-content:flex-end}.document-picker-cancel{padding:5px 12px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer}.document-picker-cancel:hover{background:var(--border-subtle);border-color:var(--border-strong)}.collab-mode-selector{display:flex;justify-content:center;margin-bottom:6px;position:relative}.collab-mode-trigger{display:flex;align-items:center;gap:6px;padding:4px 12px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:20px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s ease}.collab-mode-trigger:hover{border-color:var(--border-strong);color:var(--text-secondary)}.collab-mode-trigger-icon{font-size:14px}.collab-mode-trigger-name{font-weight:500}.collab-mode-trigger-arrow{font-size:10px;color:var(--text-disabled)}.collab-mode-panel{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:12px;width:380px;max-height:480px;overflow-y:auto;box-shadow:0 8px 32px #0006;z-index:100;animation:collabPanelIn .15s ease-out}@keyframes collabPanelIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.collab-mode-panel-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding:0 4px}.collab-mode-list{display:flex;flex-direction:column;gap:2px}.collab-mode-option{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;text-align:left;color:var(--text-secondary);transition:all .1s ease;width:100%}.collab-mode-option:hover{background:var(--bg-elevated);border-color:var(--border-default)}.collab-mode-option.active{background:var(--color-primary)22;border-color:var(--color-primary)}.collab-mode-option-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center;margin-top:1px}.collab-mode-option-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.collab-mode-option-name{font-size:13px;font-weight:500;color:var(--text-primary)}.collab-mode-option-desc{font-size:11px;color:var(--text-muted);line-height:1.4}.collab-mode-option-cost{font-size:8px;color:var(--text-disabled);flex-shrink:0;letter-spacing:1px;margin-top:3px}.chatview-message.multi_model{width:100%;animation:chatFadeIn .25s ease-out}.multimodel-response{width:100%}.multimodel-mode-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:12px;font-size:11px;color:var(--text-muted);margin-bottom:12px}.multimodel-mode-icon{font-size:13px}.multimodel-mode-name{font-weight:500}.multimodel-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}@media(max-width:1200px){.multimodel-columns{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.multimodel-columns{grid-template-columns:1fr}}.multimodel-column{background:var(--bg-input);border:1px solid var(--bg-surface);border-radius:8px;overflow:hidden;transition:all .2s ease}.multimodel-column.streaming{border-color:var(--color-primary)44}.multimodel-column-header{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;background:var(--bg-input);border:none;border-bottom:1px solid var(--bg-surface);color:var(--text-secondary);font-size:12px;cursor:pointer;text-align:left;transition:background .1s}.multimodel-column-header:hover{background:var(--bg-surface)}.multimodel-column.collapsed .multimodel-column-header{border-bottom:none}.multimodel-column-toggle{font-size:10px;color:var(--text-disabled);width:12px}.multimodel-column-label{font-weight:600;color:var(--text-primary)}.multimodel-column-role{font-size:11px;color:var(--color-primary);font-weight:400;margin-left:auto}.multimodel-streaming-dot{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:streamPulse 1s infinite ease-in-out;flex-shrink:0}@keyframes streamPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.multimodel-column-content{padding:10px 12px;font-size:13px;line-height:1.6;color:var(--text-secondary);max-height:400px;overflow-y:auto;animation:columnContentIn .2s ease-out}@keyframes columnContentIn{0%{opacity:0}to{opacity:1}}.multimodel-column-content p{margin:0 0 8px}.multimodel-column-content p:last-child{margin-bottom:0}.multimodel-column-content h1,.multimodel-column-content h2,.multimodel-column-content h3{margin:10px 0 6px;font-weight:600;color:var(--text-primary);font-size:1em}.multimodel-column-content ul,.multimodel-column-content ol{margin:6px 0;padding-left:20px}.multimodel-column-content li{margin-bottom:3px}.multimodel-column-content code{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;font-size:.88em;color:var(--highlight-color)}.multimodel-column-content pre{background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto}.multimodel-column-content pre code{background:none;border:none;padding:0;color:var(--text-primary)}.multimodel-column-content strong{font-weight:600;color:var(--text-primary)}.multimodel-column-content blockquote{border-left:2px solid var(--color-primary);margin:8px 0;padding:2px 12px;color:var(--text-muted)}.multimodel-synthesis{background:var(--info-bg);border:1px solid var(--color-primary-subtle);border-left:3px solid var(--color-primary);border-radius:8px;overflow:hidden;margin-top:4px}.multimodel-synthesis.in-progress{border-color:var(--color-primary)44;border-left-color:var(--color-primary)}.multimodel-synthesis-header{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;color:var(--color-primary);background:var(--info-bg);border-bottom:1px solid var(--color-primary-subtle)}.multimodel-synthesis-icon{font-size:14px}.multimodel-synthesis-content{padding:12px 14px;font-size:14px;line-height:1.6;color:var(--text-primary)}.multimodel-synthesis-content p{margin:0 0 10px}.multimodel-synthesis-content p:last-child{margin-bottom:0}.multimodel-synthesis-content h1,.multimodel-synthesis-content h2,.multimodel-synthesis-content h3{margin:14px 0 6px;font-weight:600;color:var(--text-primary)}.multimodel-synthesis-content h1{font-size:1.3em}.multimodel-synthesis-content h2{font-size:1.15em}.multimodel-synthesis-content h3{font-size:1.05em}.multimodel-synthesis-content ul,.multimodel-synthesis-content ol{margin:6px 0;padding-left:22px}.multimodel-synthesis-content li{margin-bottom:4px}.multimodel-synthesis-content strong{font-weight:600;color:var(--text-primary)}.multimodel-synthesis-content code{background:var(--bg-base);border:1px solid var(--color-primary-subtle);border-radius:3px;padding:1px 4px;font-size:.9em;color:var(--highlight-color)}.multimodel-synthesis-content pre{background:var(--bg-base);border:1px solid var(--color-primary-subtle);border-radius:6px;padding:12px 14px;margin:8px 0;overflow-x:auto}.multimodel-synthesis-content pre code{background:none;border:none;padding:0;color:var(--text-primary)}.multimodel-synthesis-content blockquote{border-left:2px solid var(--color-primary);margin:8px 0;padding:2px 12px;color:var(--text-secondary)}.multimodel-rounds{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.collab-round{border:1px solid var(--bg-surface);border-radius:8px;overflow:hidden;background:var(--bg-input)}.collab-round.active{border-color:var(--color-primary)44}.collab-round-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-input);border-bottom:1px solid var(--bg-surface);font-size:12px}.collab-round-number{font-weight:700;color:var(--color-primary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.collab-round-desc{color:var(--text-secondary);font-weight:400}.collab-round-entries{display:flex;flex-direction:column}.collab-round-entry{border-bottom:1px solid var(--bg-input)}.collab-round-entry:last-child{border-bottom:none}.collab-round-entry-header{display:flex;align-items:center;gap:6px;width:100%;padding:7px 12px;background:transparent;border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;text-align:left;transition:background .1s}.collab-round-entry-header:hover{background:var(--bg-input)}.collab-round-entry-label{font-weight:600;color:var(--text-primary)}.collab-round-entry-role{font-size:11px;color:var(--color-primary);margin-left:auto}.collab-round-entry-content{padding:8px 12px 12px;font-size:13px;line-height:1.6;color:var(--text-secondary);max-height:400px;overflow-y:auto}.collab-round-entry-content p{margin:0 0 8px}.collab-round-entry-content p:last-child{margin-bottom:0}.collab-round-entry-content h1,.collab-round-entry-content h2,.collab-round-entry-content h3{margin:10px 0 6px;font-weight:600;color:var(--text-primary);font-size:1em}.collab-round-entry-content ul,.collab-round-entry-content ol{margin:6px 0;padding-left:20px}.collab-round-entry-content li{margin-bottom:3px}.collab-round-entry-content strong{font-weight:600;color:var(--text-primary)}.collab-round-entry-content code{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 4px;font-size:.88em;color:var(--highlight-color)}.collab-round-entry-content pre{background:var(--bg-base);border:1px solid var(--bg-surface);border-radius:6px;padding:10px 12px;margin:8px 0;overflow-x:auto}.collab-round-entry-content pre code{background:none;border:none;padding:0;color:var(--text-primary)}.collab-round-entry-content blockquote{border-left:2px solid var(--color-primary);margin:8px 0;padding:2px 12px;color:var(--text-muted)}.auth-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background:var(--bg-overlay)}.auth-hero{display:flex;flex-direction:column;align-items:center;margin-bottom:48px}.auth-hero-logo{width:64px;height:64px;clip-path:url(#squircle);margin-bottom:8px;opacity:0;animation:auth-fade-up .8s ease forwards .2s}.auth-actions{display:flex;flex-direction:column;align-items:center;gap:12px;width:320px}.auth-actions .auth-error{width:100%}.auth-actions .auth-error,.auth-actions .auth-btn-google,.auth-actions .auth-domain-note{opacity:0;animation:auth-fade-up .6s ease forwards}.auth-actions .auth-error{animation-delay:2.2s}.auth-actions .auth-btn-google{animation-delay:2.2s;width:100%}.auth-actions .auth-domain-note{animation-delay:2.4s}@keyframes auth-fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-logo{font-size:48px;color:var(--color-primary);margin-bottom:8px}.auth-logo-img{width:72px;height:72px;margin-bottom:12px;clip-path:url(#squircle)}.animated-emcee{display:block;width:min(600px,80vw);overflow:visible}.animated-emcee-text{font-family:Pacifico,cursive;font-size:120px;fill:transparent;stroke:var(--color-primary);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:900}.animated-emcee-ready .animated-emcee-text{animation:emcee-draw 2.2s cubic-bezier(.45,0,.15,1) forwards,emcee-fill .8s ease forwards 1.8s}@keyframes emcee-draw{to{stroke-dashoffset:0}}@keyframes emcee-fill{0%{fill:transparent;stroke-opacity:1}to{fill:var(--color-primary);stroke-opacity:0}}.auth-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px;font-family:Inter,sans-serif}.auth-subtitle{font-size:13px;color:var(--text-muted);margin:0 0 24px}.auth-btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 16px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s}.auth-btn-google:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-muted);font-size:12px}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.auth-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:1px solid var(--border-default)}.auth-tab{flex:1;padding:8px 0;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s}.auth-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.auth-tab:hover:not(.active){color:var(--text-secondary)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-input{padding:10px 12px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s}.auth-input:focus{border-color:var(--color-primary)}.auth-input::placeholder{color:var(--text-disabled)}.auth-error{background:var(--error-bg);border:1px solid var(--error-border);border-radius:6px;padding:8px 12px;color:var(--error-text);font-size:12px;text-align:left}.auth-btn{padding:10px 16px;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .15s}.auth-btn-primary{background:var(--color-primary);color:#fff;font-weight:600}.auth-btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.auth-btn-primary:disabled{opacity:.5;cursor:not-allowed}.auth-toggle{margin-top:16px;font-size:12px;color:var(--text-muted)}.auth-toggle-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:12px;padding:0}.auth-toggle-btn:hover{text-decoration:underline}.auth-domain-note{margin-top:16px;font-size:12px;color:var(--text-muted);opacity:0;transition:opacity .3s ease}.auth-domain-note-visible{opacity:1}.auth-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;width:100vw;background:var(--bg-overlay);color:var(--text-muted);font-size:14px}.auth-loading-spinner{width:32px;height:32px;border:3px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;animation:auth-spin .8s linear infinite;margin-bottom:16px}@keyframes auth-spin{to{transform:rotate(360deg)}}.migration-overlay{display:flex;align-items:center;justify-content:center;height:100vh;width:100vw;background:var(--bg-base)}.migration-container{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;padding:40px;width:400px;text-align:center}.migration-logo{font-size:48px;color:var(--color-primary);margin-bottom:8px}.migration-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.migration-subtitle{font-size:13px;color:var(--text-muted);margin:0 0 24px}.migration-steps{display:flex;flex-direction:column;gap:8px;text-align:left;margin-bottom:20px}.migration-step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-disabled);transition:color .2s}.migration-step.active,.migration-step.done{color:var(--color-primary)}.migration-step-indicator{width:20px;text-align:center;font-size:14px}.migration-detail{font-size:12px;color:var(--text-muted);margin:0 0 16px}.migration-spinner{width:24px;height:24px;border:3px solid var(--border-default);border-top-color:var(--color-primary);border-radius:50%;animation:auth-spin .8s linear infinite;margin:0 auto}.migration-error{text-align:center;padding:12px}.migration-error-text{color:var(--error-text, #ef4444);font-size:13px;font-weight:500;margin:0 0 8px}.migration-error-hint{color:var(--text-muted);font-size:12px;margin:0}.markdown-editor{display:flex;flex-direction:column;flex:1;overflow:hidden}.markdown-toolbar{display:flex;gap:2px;padding:6px 12px;border-bottom:1px solid var(--bg-surface);flex-shrink:0;flex-wrap:wrap}.toolbar-btn{background:none;border:1px solid transparent;color:var(--text-muted);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:12px;font-weight:600;min-width:28px;text-align:center}.toolbar-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.toolbar-btn.active{background:var(--border-subtle);color:#fff;border-color:var(--border-strong)}.markdown-editor-content{flex:1;overflow-y:auto;padding:16px 24px}.markdown-editor-content .tiptap{outline:none;min-height:100%;color:var(--text-primary);font-size:14px;line-height:1.7}.markdown-editor-content .tiptap>*+*{margin-top:.5em}.markdown-editor-content .tiptap h1{font-size:1.8em;font-weight:700;color:var(--text-primary);margin-top:1em;margin-bottom:.3em;line-height:1.2}.markdown-editor-content .tiptap h2{font-size:1.4em;font-weight:600;color:var(--text-primary);margin-top:.8em;margin-bottom:.2em;line-height:1.3}.markdown-editor-content .tiptap h3{font-size:1.15em;font-weight:600;color:var(--text-primary);margin-top:.6em;margin-bottom:.2em;line-height:1.3}.markdown-editor-content .tiptap p{margin:.3em 0}.markdown-editor-content .tiptap ul,.markdown-editor-content .tiptap ol{padding-left:1.5em;margin:.3em 0}.markdown-editor-content .tiptap li{margin:.15em 0}.markdown-editor-content .tiptap strong{font-weight:700;color:var(--text-primary)}.markdown-editor-content .tiptap em{font-style:italic}.markdown-editor-content .tiptap code{background:var(--bg-surface);border-radius:3px;padding:2px 5px;font-size:.9em;font-family:SF Mono,Fira Code,monospace;color:var(--highlight-color)}.markdown-editor-content .tiptap pre{background:var(--bg-base);border:1px solid var(--border-subtle);border-radius:6px;padding:12px 16px;overflow-x:auto;margin:.5em 0}.markdown-editor-content .tiptap pre code{background:none;padding:0;color:var(--text-primary)}.markdown-editor-content .tiptap blockquote{border-left:3px solid var(--border-strong);padding-left:12px;color:var(--text-secondary);margin:.5em 0}.markdown-editor-content .tiptap img{max-width:100%;height:auto;border-radius:6px;margin:.5em 0}.markdown-editor-content .tiptap a{color:var(--link-color);text-decoration:underline}.markdown-editor-content .tiptap hr{border:none;border-top:1px solid var(--border-subtle);margin:1em 0}.markdown-editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--border-strong);pointer-events:none;height:0}.slash-menu{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:8px;padding:4px;min-width:200px;box-shadow:0 8px 24px #0006}.slash-menu-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:4px;cursor:pointer;color:var(--text-secondary);font-size:13px}.slash-menu-item:hover,.slash-menu-item.selected{background:var(--bg-surface);color:#fff}.slash-menu-icon{width:24px;text-align:center;font-weight:600;color:var(--text-muted);font-size:13px}.slash-menu-item.selected .slash-menu-icon,.slash-menu-item:hover .slash-menu-icon{color:var(--text-secondary)}.slash-menu-label{flex:1}@media(max-width:768px){.app-header{padding:0 8px}.header-menu-bar{gap:4px}.header-menu-item{font-size:12px;padding:4px 8px}.logo-text,.header-user-email{display:none}.env-reminder-banner{font-size:11px;padding:4px 10px}.env-reminder-text code{font-size:10px}.unified-container{flex-direction:column}.unified-container.with-source .source-panel{width:100%;max-width:none;height:50vh;border-left:none;border-top:1px solid var(--border-color)}.chatview-toolbar{padding:6px 10px;gap:8px}.chatview-toolbar-title{font-size:12px}.chatview-toolbar-actions{gap:2px}.chatview-toolbar-btn{padding:4px}.chatview-messages{padding:12px;max-width:100%}.chatview-message.user .chatview-message-content{max-width:90%;font-size:13px}.chatview-message.assistant .chatview-message-content{font-size:13px;padding:8px 2px}.chatview-welcome{padding:24px 12px 12px}.chatview-welcome-icon{font-size:32px;margin-bottom:8px}.chatview-welcome-title{font-size:18px}.chatview-welcome-text{font-size:13px;margin-bottom:20px}.chatview-template-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.chatview-template-card{padding:10px 12px}.chatview-template-title{font-size:12px}.chatview-template-desc{font-size:10px}.chatview-input-area{padding:8px}.chatview-input-container{gap:6px}.chatview-input{font-size:14px;padding:10px 12px}.chatview-container.with-document .document-panel{position:absolute;inset:0;width:100%;z-index:50}.command-palette{width:95vw;margin-top:-10vh}.modal{width:95vw!important;max-width:none!important;min-width:0!important;margin:16px}.conversation-drawer{width:85vw!important;max-width:320px!important}.multimodel-responses{grid-template-columns:1fr!important}.chatview-message.assistant .tts-play-btn{opacity:.6}.chatview-attachment-name{max-width:100px}}@media(max-width:480px){.chatview-template-grid{grid-template-columns:1fr 1fr}.chatview-template-desc{display:none}.chatview-toolbar-dropdown{min-width:150px}.header-dropdown{min-width:180px}}.scroll-to-bottom-fab{position:absolute;bottom:100px;left:50%;transform:translate(-50%);width:40px;height:40px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #0000004d;z-index:50;transition:all .2s ease;animation:fabIn .2s ease-out}.scroll-to-bottom-fab:hover{background:var(--bg-elevated);color:var(--text-primary);transform:translate(-50%) scale(1.1)}.scroll-to-bottom-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;border-radius:9px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}@keyframes fabIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.8)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.mention-dropdown{position:absolute;bottom:100%;left:60px;margin-bottom:8px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:10px;padding:6px;min-width:200px;max-height:260px;overflow-y:auto;box-shadow:0 8px 24px #0006;z-index:200;animation:mentionIn .12s ease-out}@keyframes mentionIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.mention-dropdown-header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 8px 6px}.mention-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;background:transparent;border:none;border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;text-align:left;transition:background .1s}.mention-dropdown-item:hover,.mention-dropdown-item.selected{background:var(--bg-elevated)}.mention-model-color{width:8px;height:8px;border-radius:50%;flex-shrink:0}.mention-model-label{font-weight:500}.mention-model-hint{font-size:.75rem;color:var(--color-text-secondary, #888);margin-left:auto;padding-left:8px}.mention-targets{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:4px}.mention-target-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px 2px 6px;background:var(--bg-input);border:1px solid;border-radius:12px;font-size:11px;color:var(--text-secondary)}.mention-target-dot{width:6px;height:6px;border-radius:50%}.mention-target-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;padding:0 2px;line-height:1}.voice-input-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease}.voice-input-btn:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.voice-input-btn:disabled{opacity:.3}.voice-input-btn.recording{color:var(--error-text);background:var(--error-bg)}.voice-input-recording{position:relative;display:flex;align-items:center;justify-content:center}.voice-input-pulse{position:absolute;width:28px;height:28px;border-radius:50%;background:var(--error-text);opacity:calc(.15 + var(--voice-volume, 0) * .35);transform:scale(calc(1 + var(--voice-volume, 0) * .5));transition:opacity .1s,transform .1s}.conversation-search{padding:6px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.conversation-search-inner{display:flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:8px;padding:4px 8px}.conversation-search-inner:focus-within{border-color:var(--color-primary)}.conversation-search-icon{flex-shrink:0;color:var(--text-muted)}.conversation-search-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;outline:none;font-family:inherit;padding:4px 0}.conversation-search-input::placeholder{color:var(--text-disabled)}.conversation-search-count{font-size:11px;color:var(--text-muted);white-space:nowrap}.conversation-search-nav{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex}.conversation-search-nav:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.conversation-search-nav:disabled{opacity:.3}.conversation-search-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:3px;border-radius:4px;display:flex}.conversation-search-close:hover{color:var(--text-primary)}.chatview-message.search-highlight{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:8px}.chatview-message.keyboard-focused{outline:2px solid var(--sfh-light-blue);outline-offset:2px;border-radius:8px}.chatview-message.pinned:before{content:"📌";position:absolute;top:-4px;left:-8px;font-size:10px}.chatview-pinned-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;border-bottom:1px solid var(--border-subtle);flex-shrink:0;overflow-x:auto}.pinned-bar-label{font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0}.pinned-bar-items{display:flex;gap:6px;overflow-x:auto}.pinned-bar-item{padding:3px 8px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;font-size:11px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pinned-bar-item:hover{border-color:var(--color-primary);color:var(--text-primary)}.message-actions{display:flex;align-items:center;gap:2px;opacity:0;transition:opacity .15s;position:absolute;top:4px;right:-4px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:8px;padding:2px 4px;box-shadow:0 2px 8px #0003}.chatview-message:hover .message-actions,.chatview-message.keyboard-focused .message-actions{opacity:1}@media(hover:none){.message-actions{opacity:1;position:static;margin-top:4px;box-shadow:none;border:none;background:transparent;justify-content:flex-start}.chatview-message.user .message-actions{justify-content:flex-end}}.chatview-message.user .message-actions{right:auto;left:-4px}.message-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .1s}.message-action-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.message-action-btn.tts.playing{color:var(--color-primary)}.typing-indicator{display:flex;align-items:center;gap:5px;padding:12px 4px;animation:chatFadeIn .3s ease-out;min-height:24px}.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--text-disabled);animation:typing-bounce 1.4s ease-in-out infinite}.typing-dot:nth-of-type(2){animation-delay:.16s}.typing-dot:nth-of-type(3){animation-delay:.32s}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.typing-indicator.text-phase{gap:0}.typing-text{font-size:13px;color:var(--text-secondary);font-style:italic;margin-right:4px}.typing-cursor{display:inline-block;width:2px;height:16px;background:var(--text-secondary);margin-left:1px;animation:cursor-blink .8s step-end infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.streaming-cursor{display:inline-block;width:2px;height:14px;background:var(--color-primary);margin-left:2px;animation:cursorBlink .8s infinite;vertical-align:text-bottom}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}.streaming-message .chatview-message-content{animation:none}.stream-fade-in p,.stream-fade-in li,.stream-fade-in h1,.stream-fade-in h2,.stream-fade-in h3{animation:tokenFade .3s ease-out}@keyframes tokenFade{0%{opacity:.3}to{opacity:1}}.send-btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.code-block-wrapper{position:relative}.code-block-copy{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:6px;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;z-index:2}.code-block-wrapper:hover .code-block-copy{opacity:1}.code-block-copy:hover{background:var(--bg-elevated);color:var(--text-primary)}.image-attachment{position:relative}.chatview-attachment-thumb{width:32px;height:32px;object-fit:cover;border-radius:4px;border:1px solid var(--border-default)}.multimodel-model-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.multimodel-column{border-top:3px solid var(--border-default);transition:all .2s ease}.multimodel-column.streaming{border-top-color:var(--color-primary)!important}.multimodel-columns .multimodel-column{animation:columnEnter .3s ease-out backwards}@keyframes columnEnter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.multimodel-resize-handle{position:absolute;right:-4px;top:0;bottom:0;width:8px;cursor:col-resize;z-index:5}.multimodel-resize-handle:hover{background:var(--color-primary-subtle)}@media(hover:none){.multimodel-resize-handle{display:none}}.multimodel-column{position:relative}.multimodel-vote-buttons{display:flex;gap:2px;margin-left:auto}.vote-btn{background:none;border:none;color:var(--text-disabled);cursor:pointer;padding:2px;border-radius:4px;display:flex;transition:all .1s}.vote-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.vote-btn.active{color:var(--color-primary)}.multimodel-synthesis.reveal{animation:synthesisReveal .6s ease-out}@keyframes synthesisReveal{0%{opacity:0;transform:translateY(8px);border-left-color:transparent}30%{opacity:1;transform:translateY(0)}to{border-left-color:var(--color-primary)}}.multimodel-synthesis.in-progress{animation:synthesisPulse 2s infinite ease-in-out}@keyframes synthesisPulse{0%,to{border-left-color:var(--color-primary);box-shadow:0 0 #2ca24900}50%{border-left-color:var(--sfh-green);box-shadow:0 0 12px #2ca24926}}.thinking-block{margin-bottom:10px;border:1px solid var(--border-subtle);border-radius:8px;overflow:hidden}.thinking-block.streaming{border-color:var(--sfh-yellow)}.thinking-block-header{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-input);border:none;width:100%;cursor:pointer;color:var(--text-muted);font-size:12px;text-align:left;transition:background .1s}.thinking-block-header:hover{background:var(--bg-surface)}.thinking-block-indicator{display:flex;align-items:center}.thinking-spinner{width:14px;height:14px;border:2px solid var(--sfh-yellow);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.thinking-block-label{font-weight:500}.thinking-block-toggle{margin-left:auto;font-size:10px;color:var(--text-disabled)}.thinking-block-content{padding:10px 12px;font-size:12px;line-height:1.6;color:var(--text-muted);border-top:1px solid var(--border-subtle);max-height:300px;overflow-y:auto;animation:columnContentIn .2s ease-out}.thinking-block-content p{margin:0 0 6px}.artifact-badges{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.artifact-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:8px;font-size:12px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.artifact-badge:hover{border-color:var(--color-primary);color:var(--text-primary);background:var(--color-primary-subtle)}.artifact-badge-icon{font-size:14px}.artifact-preview{width:50%;border-left:1px solid var(--border-default);display:flex;flex-direction:column;overflow:hidden;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.artifact-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-default);flex-shrink:0}.artifact-preview-tabs{display:flex;gap:2px}.artifact-tab{padding:4px 12px;background:transparent;border:none;border-radius:6px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:all .1s}.artifact-tab.active{background:var(--bg-elevated);color:var(--text-primary)}.artifact-tab:hover{color:var(--text-primary)}.artifact-preview-actions{display:flex;gap:4px}.artifact-action-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;display:flex}.artifact-action-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.artifact-preview-body{flex:1;overflow:hidden}.artifact-iframe{width:100%;height:100%;border:none;background:#1a1a1a}.artifact-code-view{padding:14px 16px;margin:0;overflow:auto;height:100%;font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-base)}.artifact-mermaid-placeholder{padding:20px;display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-muted)}.artifact-mermaid-note{font-size:12px;color:var(--text-disabled)}.chatview-container.with-artifact .chatview-chat-area{flex:1;min-width:0}.conversation-timeline{position:absolute;right:4px;top:50%;transform:translateY(-50%);max-height:calc(100% - 160px);width:12px;z-index:40;pointer-events:auto}.timeline-track{display:flex;flex-direction:column;gap:2px;height:100%}.timeline-segment{flex-shrink:0;width:8px;min-height:4px;border-radius:2px;border:none;cursor:pointer;padding:0;position:relative;transition:all .1s;opacity:.5}.timeline-segment:hover{opacity:1;transform:scaleX(1.5)}.timeline-segment.active{opacity:1;outline:1px solid var(--text-primary)}.timeline-segment.user{background:var(--color-primary)}.timeline-segment.assistant{background:var(--text-muted)}.timeline-segment.multi_model{background:var(--sfh-light-blue)}.timeline-segment.pinned:after{content:"";position:absolute;right:-4px;top:50%;width:3px;height:3px;border-radius:50%;background:var(--sfh-yellow)}.prompt-library-overlay{position:fixed;inset:0;background:#0006;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.prompt-library{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;box-shadow:0 16px 48px #0000004d;width:520px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:mentionIn .15s ease-out}.prompt-library-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-default)}.prompt-library-header h3{margin:0;font-size:15px;font-weight:600}.prompt-library-header-actions{display:flex;gap:8px;align-items:center}.prompt-library-add-btn{padding:4px 12px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.prompt-library-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer}.prompt-library-add-form{padding:12px 16px;border-bottom:1px solid var(--border-default);display:flex;flex-direction:column;gap:8px}.prompt-library-input{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none}.prompt-library-input:focus{border-color:var(--color-primary)}.prompt-library-input.small{flex:1}.prompt-library-textarea{padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:6px;color:var(--text-primary);font-size:13px;font-family:inherit;outline:none;resize:vertical}.prompt-library-textarea:focus{border-color:var(--color-primary)}.prompt-library-add-row{display:flex;gap:8px}.prompt-library-save-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;font-size:13px;cursor:pointer;font-family:inherit}.prompt-library-search{padding:10px 16px;background:transparent;border:none;border-bottom:1px solid var(--border-default);color:var(--text-primary);font-size:13px;font-family:inherit;outline:none}.prompt-library-search::placeholder{color:var(--text-muted)}.prompt-library-list{flex:1;overflow-y:auto;padding:8px 12px}.prompt-library-empty{padding:24px;text-align:center;color:var(--text-muted);font-size:13px}.prompt-library-category{margin-bottom:12px}.prompt-library-category-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:4px 4px 6px}.prompt-library-item{display:flex;align-items:center;gap:4px}.prompt-library-item-main{flex:1;display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer;text-align:left;transition:all .1s;color:inherit;font-family:inherit}.prompt-library-item-main:hover{background:var(--bg-elevated);border-color:var(--border-default)}.prompt-library-item-title{font-size:13px;font-weight:500;color:var(--text-primary)}.prompt-library-item-preview{font-size:11px;color:var(--text-muted);line-height:1.4}.prompt-library-item-delete{background:none;border:none;color:var(--text-disabled);font-size:16px;cursor:pointer;padding:4px;border-radius:4px;opacity:0;transition:opacity .15s}.prompt-library-item:hover .prompt-library-item-delete{opacity:1}.prompt-library-item-delete:hover{color:var(--error-text)}.chatview-welcome-hints{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.chatview-hint{font-size:12px;color:var(--text-disabled);padding:4px 10px;background:var(--bg-input);border-radius:6px;border:1px solid var(--border-subtle)}.chatview-hint kbd{display:inline-block;padding:1px 5px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:3px;font-size:11px;font-family:inherit;color:var(--text-secondary)}.chatview-message{animation:chatFadeIn .25s ease-out backwards}.chatview-message.assistant .tts-play-btn{display:none}.chatview-message.error-message .chatview-message-content{background:#ef444414;border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:12px 16px}.error-message-content{display:flex;align-items:flex-start;gap:8px;color:var(--error-text, #ef4444);font-size:14px;line-height:1.5}.error-message-icon{flex-shrink:0;margin-top:2px;color:var(--error-text, #ef4444)}.code-block-copy.copied{opacity:1;border-color:var(--color-primary);background:var(--color-primary)}.chatview-templates-fade.collapsed{background:none;text-align:center;padding:8px 0 0}.chatview-attach-error{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;color:var(--error-text, #ef4444);background:#ef444414;border-radius:8px;animation:chatFadeIn .2s ease-out}.settings-dropdown-group-label{padding:6px 12px 2px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);pointer-events:none}.conv-item{position:relative}.conv-item-menu-btn{position:absolute;top:8px;right:6px;width:24px;height:20px;border:none;background:none;color:var(--text-muted);font-size:14px;line-height:1;letter-spacing:1px;cursor:pointer;border-radius:4px;opacity:0;transition:opacity .15s,background .15s;display:flex;align-items:center;justify-content:center}.conv-item:hover .conv-item-menu-btn,.conv-item.active .conv-item-menu-btn{opacity:1}.conv-item-menu-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.collab-mode-panel-hint{padding:0 12px 8px;font-size:12px;color:var(--text-muted)}.collab-mode-cost-legend{display:flex;gap:12px;padding:8px 12px 4px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border-default);margin-top:4px}.collab-mode-cost-label{font-weight:500}.share-loading,.share-empty{padding:16px;text-align:center;font-size:13px;color:var(--text-muted)}.dropdown-fullview-link{color:var(--color-primary)!important;font-weight:500!important;font-size:12px!important}.docview-container{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary)}.docview-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-default);flex-shrink:0;background:var(--bg-primary)}.docview-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.docview-back:hover{background:var(--bg-elevated);color:var(--text-primary)}.docview-header-title{font-size:15px;font-weight:600;flex:1}.docview-header-actions{display:flex;gap:8px}.docview-header-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-default);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.docview-header-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.docview-body{display:flex;flex:1;overflow:hidden}.docview-sidebar{width:260px;min-width:200px;border-right:1px solid var(--border-default);display:flex;flex-direction:column;background:var(--bg-primary)}.docview-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-default)}.docview-sidebar-actions{display:flex;gap:4px}.docview-sidebar-actions button{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:4px;font-size:12px}.docview-sidebar-actions button:hover{background:var(--bg-elevated)}.docview-sidebar-tree{flex:1;overflow-y:auto;padding:4px 0}.docview-empty-tree{padding:24px 16px;text-align:center;color:var(--text-disabled);font-size:13px}.docview-tree-item{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;font-size:13px;color:var(--text-secondary);transition:background .1s}.docview-tree-item:hover{background:var(--bg-elevated)}.docview-tree-item.selected{background:var(--bg-surface);color:var(--text-primary)}.docview-tree-icon{font-size:14px;flex-shrink:0}.docview-tree-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docview-tree-rename{flex:1;background:var(--bg-input);border:1px solid var(--color-primary);color:var(--text-primary);padding:2px 6px;border-radius:4px;font-size:13px;font-family:inherit;outline:none}.docview-tree-actions{display:none;gap:2px}.docview-tree-item:hover .docview-tree-actions{display:flex}.docview-tree-actions button{background:none;border:none;cursor:pointer;padding:1px 3px;font-size:11px;border-radius:3px;opacity:.6}.docview-tree-actions button:hover{opacity:1;background:var(--bg-elevated)}.docview-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-input)}.docview-no-file{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-disabled)}.docview-no-file-icon{font-size:48px;opacity:.3}.docview-no-file-text{font-size:16px}.docview-no-file-hint{font-size:13px;opacity:.6}.srcview-container{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary);color:var(--text-primary)}.srcview-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border-default);flex-shrink:0;background:var(--bg-primary)}.srcview-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center}.srcview-back:hover{background:var(--bg-elevated);color:var(--text-primary)}.srcview-header-title{font-size:15px;font-weight:600;flex:1}.srcview-header-actions{display:flex;gap:8px}.srcview-header-btn{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border-default);color:var(--text-secondary);padding:6px 12px;border-radius:6px;font-size:12px;cursor:pointer;font-family:inherit}.srcview-header-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.srcview-upload-btn{background:var(--color-primary);color:#fff;border:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;font-family:inherit}.srcview-upload-btn:hover{opacity:.9}.srcview-upload-btn:disabled{opacity:.5;cursor:not-allowed}.srcview-body{display:flex;flex:1;overflow:hidden}.srcview-sidebar{width:300px;min-width:240px;border-right:1px solid var(--border-default);display:flex;flex-direction:column;background:var(--bg-primary)}.srcview-filters{display:flex;flex-wrap:wrap;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border-default)}.srcview-filter-chip{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-surface);border:1px solid var(--border-default);border-radius:12px;font-size:11px;color:var(--text-secondary);cursor:pointer;font-family:inherit}.srcview-filter-chip:hover{border-color:var(--text-muted)}.srcview-filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.srcview-filter-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.srcview-list{flex:1;overflow-y:auto;padding:4px 0}.srcview-empty{padding:24px 16px;text-align:center;color:var(--text-disabled);font-size:13px}.srcview-item{display:flex;flex-direction:column;gap:2px;padding:10px 14px;cursor:pointer;border-bottom:1px solid var(--border-default);transition:background .1s}.srcview-item:hover{background:var(--bg-elevated)}.srcview-item.selected{background:var(--bg-surface);border-left:3px solid var(--color-primary)}.srcview-item-top{display:flex;align-items:center;gap:8px}.srcview-item-name{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srcview-item-status{width:8px;height:8px;border-radius:50%;flex-shrink:0}.srcview-item-meta{display:flex;gap:8px;font-size:11px;color:var(--text-muted)}.srcview-item-summary{font-size:11px;color:var(--text-muted);line-height:1.4;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.8}.srcview-detail{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-input)}.srcview-detail-content{display:flex;flex-direction:column;flex:1;overflow-y:auto}.srcview-detail-preview{padding:16px;border-bottom:1px solid var(--border-default)}.srcview-detail-info{padding:16px;flex:1}.srcview-no-selection{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:8px;color:var(--text-disabled)}.srcview-no-selection-icon{font-size:48px;opacity:.3}.srcview-no-selection-text{font-size:16px}.srcview-no-selection-hint{font-size:13px;opacity:.6}
