.welcome-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;position:relative;background:var(--color-bg)}.welcome-content{text-align:center}.welcome-title{font-family:"Press Start 2P",cursive;font-size:clamp(2rem,8vw,4rem);color:var(--color-gray-900);letter-spacing:.15em;margin:0;text-shadow:3px 3px 0 var(--color-primary);animation:pixelPulse 2s ease-in-out infinite}@keyframes pixelPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.welcome-subtitle{font-family:"Press Start 2P",cursive;font-size:clamp(.6rem,2vw,.9rem);color:var(--color-text-muted);margin-top:2rem;line-height:2;letter-spacing:.05em}.dash{color:var(--color-primary-dark)}.setup-button{position:absolute;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:var(--color-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 4px 12px #ffe5004d}.setup-button:hover{background:var(--color-primary-dark);transform:scale(1.1);box-shadow:0 6px 20px #ffe50066}.setup-button:active{transform:scale(.95)}.arrow-icon{width:24px;height:24px;color:var(--color-gray-900)}.onboarding-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--color-bg)}.onboarding-content{width:100%;max-width:480px;display:flex;flex-direction:column;gap:1.5rem}.onboarding-header{text-align:center}.north-icon{width:56px;height:56px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.north-icon svg{width:28px;height:28px;color:var(--color-gray-900)}.onboarding-header h1{font-size:1.5rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.onboarding-header p{font-size:.95rem;color:var(--color-text-muted);margin:0;line-height:1.5}.mode-toggle{display:flex;gap:.5rem;padding:.25rem;background:var(--color-gray-100);border-radius:10px}.mode-btn{flex:1;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;font-size:.9rem;font-weight:500;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.mode-btn:hover{color:var(--color-text)}.mode-btn.active{background:var(--color-bg-white);color:var(--color-text);box-shadow:0 1px 3px #0000001a}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;border:2px dashed var(--color-gray-300);border-radius:12px;background:var(--color-bg-white);cursor:pointer;transition:all .2s}.upload-zone:hover{border-color:var(--color-primary);background:#ffe5000d}.upload-zone.drag-active{border-color:var(--color-primary);background:#ffe5001a;border-style:solid}.upload-zone.has-file{border-style:solid;border-color:var(--color-success);background:#388e3c0d}.upload-icon{width:48px;height:48px;color:var(--color-gray-500);margin-bottom:1rem}.upload-zone:hover .upload-icon{color:var(--color-primary-dark)}.upload-text{font-size:.95rem;color:var(--color-text);margin:0 0 .25rem}.upload-hint{font-size:.8rem;color:var(--color-gray-500)}.file-selected{display:flex;align-items:center;gap:.75rem}.file-selected>svg{width:32px;height:32px;color:var(--color-success)}.file-name{font-size:.95rem;color:var(--color-text);font-weight:500}.remove-file{width:28px;height:28px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-file:hover{background:#d32f2f1a}.remove-file svg{width:18px;height:18px;color:var(--color-error)}.text-input-container{display:flex;flex-direction:column;gap:.5rem}.text-input-container textarea{width:100%;padding:1rem;border:2px solid var(--color-border);border-radius:12px;font-size:.95rem;font-family:inherit;line-height:1.6;resize:none;background:var(--color-bg-white);color:var(--color-text);transition:border-color .2s}.text-input-container textarea:focus{outline:none;border-color:var(--color-primary)}.text-input-container textarea::placeholder{color:var(--color-gray-500)}.char-hint{font-size:.8rem;color:var(--color-gray-500);text-align:right}.continue-btn{padding:1rem 2rem;background:var(--color-primary);color:var(--color-gray-900);border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.continue-btn:hover:not(:disabled){background:var(--color-primary-dark)}.continue-btn:disabled{background:var(--color-gray-300);color:var(--color-gray-500);cursor:not-allowed}@media(max-width:640px){.onboarding-container{padding:1.5rem}.upload-zone{padding:2rem 1.5rem}}.step-container{display:flex;flex-direction:column;gap:1.5rem}.step-header{display:flex;gap:1rem;align-items:flex-start}.step-icon{width:48px;height:48px;border-radius:12px;background:#eff6ff;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-icon svg{width:24px;height:24px;color:#2563eb}.step-heading{font-size:1.25rem;font-weight:600;color:#1e293b;margin:0}.step-desc{font-size:.9rem;color:#64748b;margin:.25rem 0 0;line-height:1.5}.info-box{display:flex;gap:.75rem;padding:1rem;background:#f0fdf4;border-radius:8px;border-left:3px solid #22c55e}.info-box svg{width:20px;height:20px;color:#22c55e;flex-shrink:0;margin-top:1px}.info-box p{font-size:.85rem;color:#166534;margin:0;line-height:1.5}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.85rem;font-weight:500;color:#475569}.input-row{display:flex;gap:.5rem}.input-row input{flex:1;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9rem;transition:border-color .2s;background:#fff;color:#1e293b}.input-row input:focus{outline:none;border-color:#2563eb}.btn-icon{width:44px;height:44px;border:2px solid #e2e8f0;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon:hover{border-color:#2563eb;background:#eff6ff}.btn-icon svg{width:20px;height:20px;color:#64748b}.btn-add{padding:.75rem 1.25rem;background:#2563eb;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-add:hover{background:#1d4ed8}.directories-list h3,.servers-list h3,.suggested-docs h3,.uploaded-files h3{font-size:.9rem;font-weight:600;color:#475569;margin:0 0 .75rem}.directories-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.directories-list li{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px}.directories-list li svg{width:20px;height:20px;color:#64748b;flex-shrink:0}.directories-list li span{flex:1;font-size:.9rem;color:#1e293b;font-family:monospace}.btn-remove{width:32px;height:32px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .2s}.btn-remove:hover{background:#fee2e2}.btn-remove svg{width:18px;height:18px;color:#ef4444}.empty-state{font-size:.9rem;color:#94a3b8;font-style:italic}.connection-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.connection-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:8px;border:2px solid transparent;transition:all .2s}.connection-item.enabled{border-color:#2563eb;background:#eff6ff}.connection-info{display:flex;align-items:center;gap:.75rem}.connection-icon{width:40px;height:40px;border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:center}.connection-icon svg{width:24px;height:24px;color:#1e293b}.connection-details{display:flex;flex-direction:column}.connection-name{font-weight:600;color:#1e293b}.connection-url{font-size:.8rem;color:#64748b;font-family:monospace}.connection-actions{display:flex;align-items:center;gap:.5rem}.btn-remove-small{width:28px;height:28px;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.btn-remove-small:hover{background:#fee2e2}.btn-remove-small svg{width:16px;height:16px;color:#ef4444}.toggle{position:relative;width:48px;height:26px}.toggle input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;inset:0;background:#cbd5e1;border-radius:26px;transition:.3s}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle input:checked+.toggle-slider{background:#2563eb}.toggle input:checked+.toggle-slider:before{transform:translate(22px)}.add-custom-form{padding:1.25rem;background:#f8fafc;border-radius:8px}.add-custom-form h3{font-size:.9rem;font-weight:600;color:#475569;margin:0 0 1rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem}.form-field{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-field label{font-size:.8rem;font-weight:500;color:#64748b}.form-field input{padding:.625rem .875rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9rem;background:#fff;color:#1e293b}.form-field input:focus{outline:none;border-color:#2563eb}.form-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-text{padding:.5rem 1rem;background:transparent;color:#64748b;border:none;font-size:.9rem;cursor:pointer}.btn-text:hover{color:#1e293b}.btn-outline{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:2px dashed #cbd5e1;border-radius:8px;color:#64748b;font-size:.9rem;cursor:pointer;transition:all .2s}.btn-outline:hover{border-color:#2563eb;color:#2563eb}.btn-outline svg{width:18px;height:18px}.suggested-docs ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.doc-suggestions li{padding:.75rem 1rem;background:#f8fafc;border-radius:8px}.doc-type{display:block;font-weight:600;color:#1e293b;font-size:.85rem}.doc-why{display:block;font-size:.8rem;color:#64748b;margin-top:.25rem}.drop-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2.5rem;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;cursor:pointer;transition:all .2s}.drop-zone:hover{border-color:#2563eb;background:#eff6ff}.drop-zone svg{width:48px;height:48px;color:#94a3b8;margin-bottom:1rem}.drop-zone p{font-size:.95rem;color:#475569;margin:0}.drop-zone span{font-size:.8rem;color:#94a3b8;margin-top:.5rem}.file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px}.file-icon svg{width:24px;height:24px;color:#ef4444}.file-info{flex:1;display:flex;flex-direction:column}.file-name{font-size:.9rem;color:#1e293b}.file-size{font-size:.8rem;color:#94a3b8}.frequency-selector h3,.time-selector h3,.schedule-summary h3{font-size:.9rem;font-weight:600;color:#475569;margin:0 0 .75rem}.frequency-options{display:flex;gap:.75rem}.frequency-option{flex:1;display:flex;padding:1rem;background:#f8fafc;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s}.frequency-option:hover{background:#eff6ff}.frequency-option.selected{border-color:#2563eb;background:#eff6ff}.frequency-option input{display:none}.option-content{display:flex;flex-direction:column}.option-title{font-weight:600;color:#1e293b}.option-desc{font-size:.8rem;color:#64748b;margin-top:.25rem}.custom-days{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:1rem;background:#f8fafc;border-radius:8px}.custom-days label{font-size:.9rem;color:#475569}.custom-days input{width:60px;padding:.5rem;text-align:center;border:2px solid #e2e8f0;border-radius:6px;font-size:.9rem;background:#fff;color:#1e293b}.custom-days input:focus{outline:none;border-color:#2563eb}.custom-days span{font-size:.9rem;color:#475569}.time-desc{font-size:.85rem;color:#64748b;margin:0 0 .75rem}.time-options{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.time-option{padding:.625rem 1rem;background:#f8fafc;border:2px solid transparent;border-radius:6px;font-size:.9rem;color:#475569;cursor:pointer;transition:all .2s}.time-option:hover{background:#eff6ff}.time-option.selected{border-color:#2563eb;background:#eff6ff;color:#2563eb;font-weight:600}.custom-time{display:flex;align-items:center;gap:.5rem;margin-left:.5rem}.custom-time label{font-size:.85rem;color:#64748b}.custom-time input{padding:.5rem;border:2px solid #e2e8f0;border-radius:6px;font-size:.9rem;background:#fff;color:#1e293b}.custom-time input:focus{outline:none;border-color:#2563eb}.schedule-summary{padding:1rem;background:#eff6ff;border-radius:8px;border-left:3px solid #2563eb}.schedule-summary p{font-size:.9rem;color:#1e293b;margin:0}.schedule-summary strong{color:#2563eb}@media(prefers-color-scheme:dark){.step-heading{color:#f1f5f9}.step-desc{color:#94a3b8}.step-icon{background:#1e3a5f}.info-box{background:#052e16;border-color:#22c55e}.info-box p{color:#86efac}.input-row input,.form-field input,.custom-days input,.custom-time input{background:#1e293b;border-color:#334155;color:#f1f5f9}.input-row input:focus,.form-field input:focus,.custom-days input:focus,.custom-time input:focus{border-color:#2563eb}.btn-icon{background:#1e293b;border-color:#334155}.btn-icon:hover{background:#1e3a5f}.directories-list li,.connection-item,.doc-suggestions li,.file-item,.frequency-option,.custom-days,.add-custom-form{background:#1e293b}.directories-list li span,.connection-name,.doc-type,.file-name,.option-title{color:#f1f5f9}.connection-item.enabled{background:#1e3a5f}.connection-icon{background:#334155}.connection-icon svg{color:#f1f5f9}.toggle-slider{background:#475569}.drop-zone{background:#1e293b;border-color:#475569}.drop-zone:hover{background:#1e3a5f;border-color:#2563eb}.drop-zone p{color:#e2e8f0}.time-option{background:#1e293b;color:#94a3b8}.time-option:hover,.frequency-option:hover,.time-option.selected,.frequency-option.selected,.schedule-summary{background:#1e3a5f}.schedule-summary p{color:#e2e8f0}}@media(max-width:640px){.frequency-options,.form-row{flex-direction:column}.time-options{flex-direction:column;align-items:stretch}.custom-time{margin-left:0;margin-top:.5rem}}.setup-wizard{min-height:100vh;display:flex;flex-direction:column;padding:2rem;background:#fff}.setup-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:2rem}.back-button{width:40px;height:40px;border-radius:50%;background:transparent;border:1px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.back-button:hover{background:#f3f4f6;border-color:#d1d5db}.back-button svg{width:20px;height:20px;color:#6b7280;transition:color .2s ease}.setup-title-section{flex:1}.setup-title{font-family:"Press Start 2P",cursive;font-size:clamp(1.2rem,4vw,1.8rem);color:#3b82f6;letter-spacing:.1em;margin:0}.setup-subtitle{font-size:.9rem;color:#6b7280;margin-top:.5rem}.progress-bar{display:flex;gap:.5rem;margin-bottom:2rem;padding:1rem;background:#fafafa;border-radius:12px;border:1px solid #f3f4f6}.progress-step{flex:1;display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;transition:all .2s ease}.progress-step.current{background:#eff6ff}.step-indicator{width:32px;height:32px;border-radius:50%;background:#f3f4f6;color:#9ca3af;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;flex-shrink:0;transition:all .2s ease}.progress-step.active .step-indicator{background:#3b82f6;color:#fff}.step-indicator svg{width:18px;height:18px}.step-info{display:flex;flex-direction:column;min-width:0}.step-title{font-size:.85rem;font-weight:600;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step-description{font-size:.75rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress-step:not(.active) .step-title,.progress-step:not(.active) .step-description{color:#9ca3af}.step-content{flex:1;background:#fff;border-radius:12px;padding:2rem;border:1px solid #f3f4f6;overflow-y:auto}.setup-footer{display:flex;justify-content:space-between;margin-top:1.5rem;gap:1rem}.btn-primary,.btn-secondary{padding:.875rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-primary{background:#3b82f6;color:#fff;border:none}.btn-primary:hover{background:#2563eb}.btn-secondary{background:transparent;color:#6b7280;border:1px solid #e5e7eb}.btn-secondary:hover{border-color:#d1d5db;color:#374151;background:#f9fafb}@media(max-width:768px){.progress-bar{flex-direction:column}.step-info{display:none}.progress-step.current .step-info{display:flex}}.notification-indicators{display:flex;gap:.5rem;cursor:pointer}.indicator{position:relative;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.indicator svg{width:20px;height:20px}.insight-indicator{background:#ffe50026;color:var(--color-primary)}.insight-indicator.active{animation:insight-glow 2s ease-in-out infinite}@keyframes insight-glow{0%,to{filter:drop-shadow(0 0 4px rgba(255,229,0,.4));transform:scale(1);background:#ffe50026}50%{filter:drop-shadow(0 0 12px rgba(255,229,0,.8));transform:scale(1.08);background:#ffe50040}}.skill-indicator{background:#4caf5026;color:#4caf50}.skill-indicator.active{animation:skill-pulse 1.5s ease-in-out infinite}@keyframes skill-pulse{0%,to{transform:scale(1) rotate(0);background:#4caf5026}25%{transform:scale(1.1) rotate(-5deg);background:#4caf5040}75%{transform:scale(1.1) rotate(5deg);background:#4caf5040}}.indicator-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;border-radius:9px;background:var(--color-error);color:#fff;font-size:.7rem;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.notification-stack{position:fixed;top:80px;right:20px;width:360px;max-width:calc(100vw - 40px);z-index:1000;display:flex;flex-direction:column;gap:12px}.notification-item{background:var(--color-bg-white);border-radius:12px;box-shadow:0 4px 20px #00000026;border-left:4px solid var(--accent-color, var(--color-primary));padding:1rem;animation:slide-in .3s ease-out}.notification-item.dismissing{animation:slide-out .2s ease-in forwards}@keyframes slide-in{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.notification-header{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.75rem}.notification-icon{width:36px;height:36px;border-radius:8px;background:var(--accent-color, var(--color-primary));display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon svg{width:20px;height:20px;color:var(--color-gray-900)}.notification-title-group{flex:1;min-width:0}.notification-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600}.notification-title{font-size:.95rem;font-weight:600;color:var(--color-text);margin:.125rem 0 0;line-height:1.3}.notification-description{font-size:.85rem;color:var(--color-text-muted);line-height:1.5;margin:0 0 .75rem}.notification-details{background:var(--color-bg);border-radius:8px;padding:.75rem;margin-bottom:.75rem;font-size:.8rem}.detail-label{color:var(--color-text-muted);font-weight:500;margin-right:.5rem}.detail-value{color:var(--color-text)}.insight-category{margin-bottom:.5rem}.insight-evidence ul{margin:.25rem 0 0 1rem;padding:0}.insight-evidence li{color:var(--color-text);margin-bottom:.25rem;font-style:italic}.skill-meta{display:flex;gap:1rem;margin-bottom:.5rem}.skill-category,.skill-proficiency{display:flex;align-items:center}.proficiency-badge{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase}.proficiency-badge.learning{background:#e3f2fd;color:#1976d2}.proficiency-badge.competent{background:#e8f5e9;color:#388e3c}.proficiency-badge.proficient{background:#fff3e0;color:#f57c00}.proficiency-badge.expert{background:#fce4ec;color:#c2185b}.skill-evidence p{margin:.25rem 0 0;color:var(--color-text);font-style:italic}.insight-evolve-indicator,.skill-reinforce-indicator{margin-bottom:.5rem}.evolve-badge{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:#fff3e0;color:#e65100}.reinforce-badge{display:inline-block;padding:.125rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:#e3f2fd;color:#1565c0}.notification-item.action-evolve{border-left-color:#ff9800}.notification-item.action-reinforce{border-left-color:#2196f3}.notification-actions{display:flex;gap:.5rem}.notification-btn{flex:1;padding:.5rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.notification-btn.approve{background:var(--accent-color, var(--color-primary));color:var(--color-gray-900)}.notification-btn.approve:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.notification-btn.dismiss{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.notification-btn.dismiss:hover:not(:disabled){background:var(--color-bg)}.notification-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:480px){.notification-stack{inset:auto 10px 80px;width:auto}.notification-item{padding:.75rem}.notification-header{gap:.5rem}.notification-icon{width:32px;height:32px}.notification-icon svg{width:18px;height:18px}.skill-meta{flex-direction:column;gap:.25rem}}.attachment-bar{display:flex;flex-direction:column;gap:.5rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.attachment-actions{display:flex;gap:.5rem}.attachment-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .625rem;border:1px solid var(--color-border);background:var(--color-bg);border-radius:16px;cursor:pointer;transition:all .2s;font-size:.8rem;color:var(--color-text-muted)}.attachment-btn:hover:not(:disabled){background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-text)}.attachment-btn:disabled{opacity:.5;cursor:not-allowed}.attachment-btn svg{width:14px;height:14px}.attachment-pills{display:flex;flex-wrap:wrap;gap:.375rem}.attachment-pill{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:#ffe50026;border:1px solid rgba(255,229,0,.3);border-radius:16px;font-size:.8rem;color:var(--color-gray-700);max-width:200px}.attachment-pill.reading{background:#2196f31a;border-color:#2196f34d}.attachment-pill.ready{background:#4caf501a;border-color:#4caf504d}.attachment-pill.error{background:#f443361a;border-color:#f443364d}.pill-icon{display:flex;align-items:center;flex-shrink:0}.pill-icon svg{width:14px;height:14px;color:var(--color-primary-dark)}.attachment-pill.reading .pill-icon svg{color:#2196f3}.attachment-pill.ready .pill-icon svg{color:#4caf50}.attachment-pill.error .pill-icon svg{color:#f44336}.pill-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.pill-status{display:flex;align-items:center}.loading-dot{width:6px;height:6px;border-radius:50%;background:#2196f3;animation:pulse-dot 1s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.pill-error{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:#f44336;color:#fff;font-size:10px;font-weight:700}.pill-remove{display:flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;opacity:.6;transition:opacity .2s,background .2s}.pill-remove:hover{opacity:1;background:#0000001a}.pill-remove svg{width:12px;height:12px;color:var(--color-gray-600)}@media(max-width:640px){.attachment-bar{padding:.375rem 0}.attachment-btn{padding:.25rem .5rem;font-size:.75rem}.attachment-btn span{display:none}.attachment-pill{padding:.25rem .375rem;font-size:.75rem}.pill-name{max-width:80px}}.link-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .15s ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.link-modal{background:var(--color-bg-white);border-radius:12px;width:100%;max-width:420px;margin:1rem;box-shadow:0 4px 24px #00000026;animation:slide-up .2s ease-out}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.link-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.link-modal-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.link-modal-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .2s}.link-modal-close:hover{background:var(--color-gray-100)}.link-modal-close svg{width:18px;height:18px;color:var(--color-text-muted)}.link-modal-form{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.link-input-group{display:flex;flex-direction:column;gap:.375rem}.link-input-group label{font-size:.85rem;font-weight:500;color:var(--color-text-muted)}.link-input-group input{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:8px;font-size:.9rem;color:var(--color-text);background:var(--color-bg);transition:border-color .2s,box-shadow .2s}.link-input-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ffe50033}.link-input-group input.has-error{border-color:var(--color-error)}.link-input-group input.has-error:focus{box-shadow:0 0 0 3px #f4433633}.link-input-group input::placeholder{color:var(--color-gray-400)}.link-input-error{font-size:.8rem;color:var(--color-error)}.link-quick-add{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.quick-add-label{font-size:.8rem;color:var(--color-text-muted)}.quick-add-btn{padding:.25rem .625rem;border:1px solid var(--color-border);background:var(--color-bg);border-radius:12px;font-size:.8rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.quick-add-btn:hover{background:var(--color-gray-100);border-color:var(--color-gray-400);color:var(--color-text)}.link-modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem}.link-btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.link-btn.cancel{border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted)}.link-btn.cancel:hover{background:var(--color-gray-100);color:var(--color-text)}.link-btn.submit{border:none;background:var(--color-primary);color:var(--color-gray-900)}.link-btn.submit:hover{background:var(--color-primary-dark)}@media(max-width:480px){.link-modal{margin:.5rem;max-width:none}.link-modal-form{padding:1rem}.link-modal-actions{flex-direction:column-reverse}.link-btn{width:100%;justify-content:center}}.chat-container{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.chat-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--color-gray-900);border-bottom:3px solid var(--color-primary)}.savvy-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center}.savvy-avatar svg{width:22px;height:22px;color:var(--color-gray-900)}.header-info{flex:1}.header-info h1{font-family:"Press Start 2P",cursive;font-size:.85rem;color:var(--color-bg-white);margin:0}.status{font-size:.7rem;color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.status.offline{color:var(--color-gray-500)}.error-banner{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.5rem;background:#ffebee;border-bottom:1px solid #FFCDD2}.error-banner svg{width:20px;height:20px;color:var(--color-error);flex-shrink:0}.error-banner span{flex:1;font-size:.85rem;color:var(--color-error)}.error-banner button{padding:.25rem .75rem;background:transparent;border:1px solid #FFCDD2;border-radius:4px;color:var(--color-error);font-size:.8rem;cursor:pointer}.error-banner button:hover{background:#ffcdd2}.settings-btn{width:40px;height:40px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.settings-btn:hover{background:#ffffff1a}.settings-btn svg{width:22px;height:22px;color:var(--color-gray-300)}.messages-container{flex:1;overflow-y:auto;padding:2rem 1rem;display:flex;flex-direction:column;gap:0}.message{display:flex;gap:1rem;max-width:800px;width:100%;margin:0 auto;padding:1.5rem 1rem}.message.user{flex-direction:row-reverse}.message.savvy{background:var(--color-bg-white);border-bottom:1px solid var(--color-border)}.message-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.message-avatar svg{width:18px;height:18px;color:var(--color-gray-900)}.message.user .message-avatar{background:var(--color-gray-700)}.message.user .message-avatar svg{color:var(--color-bg-white)}.message-content{flex:1;line-height:1.7;color:var(--color-text);font-size:.95rem}.message.user .message-content{text-align:right;color:var(--color-gray-700)}.message-content p{margin:0}.message-content p+p{margin-top:.75rem}.typing-indicator{display:inline-block;color:var(--color-primary-dark);font-weight:600;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-spinner{width:20px;height:20px;border:2px solid var(--color-gray-300);border-top-color:var(--color-gray-900);border-radius:50%;animation:spin .8s linear infinite}.insight-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;max-width:800px;margin:0 auto}.insight-loading-icon{width:64px;height:64px;border-radius:50%;background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;animation:breathe 2s ease-in-out infinite}.insight-loading-icon svg{width:32px;height:32px;color:var(--color-gray-900)}@keyframes breathe{0%,to{transform:scale(1);box-shadow:0 0 #ffe50066}50%{transform:scale(1.05);box-shadow:0 0 0 20px #ffe50000}}.insight-loading p{font-size:1rem;color:var(--color-text-muted);margin:0}.input-container{padding:1rem 1rem 1.5rem;background:var(--color-bg)}.input-wrapper{max-width:800px;margin:0 auto;display:flex;flex-direction:column;background:var(--color-bg-white);border:2px solid var(--color-border);border-radius:24px;padding:.75rem 1rem;transition:border-color .2s,box-shadow .2s}.input-wrapper:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px #ffe50033}.input-row{display:flex;gap:.75rem;align-items:flex-end}.input-container textarea{flex:1;padding:.625rem 0;border:none;font-size:1rem;font-family:inherit;resize:none;min-height:24px;max-height:120px;background:transparent;color:var(--color-text);line-height:1.5}.input-container textarea:focus{outline:none}.input-container textarea::placeholder{color:var(--color-gray-500)}.send-btn{width:44px;height:44px;border:none;background:var(--color-primary);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--color-primary-dark);transform:scale(1.05)}.send-btn:disabled{background:var(--color-gray-300);cursor:not-allowed}.send-btn svg{width:20px;height:20px;color:var(--color-gray-900)}@media(max-width:640px){.message{padding:1rem}.messages-container{padding:1rem 0}.input-container{padding:.75rem}.input-wrapper{border-radius:20px}}.shared-resources-tab{max-width:700px}.shared-resources-header{margin-bottom:1.5rem}.shared-resources-header h2{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0 0 .5rem}.shared-resources-description{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:0}.shared-resources-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.shared-resources-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.shared-resources-loading p{font-size:.9rem;color:var(--color-text-muted);margin:0}.shared-resources-error{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#f443361a;border:1px solid rgba(244,67,54,.2);border-radius:8px;margin-bottom:1rem}.shared-resources-error span{font-size:.85rem;color:var(--color-error)}.shared-resources-error button{padding:.375rem .75rem;border:1px solid rgba(244,67,54,.3);background:transparent;border-radius:6px;font-size:.8rem;color:var(--color-error);cursor:pointer;transition:background .2s}.shared-resources-error button:hover{background:#f443361a}.shared-resources-filters{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.filter-btn{padding:.5rem .875rem;border:1px solid var(--color-border);background:var(--color-bg);border-radius:20px;font-size:.85rem;color:var(--color-text-muted);cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--color-gray-100);color:var(--color-text)}.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-gray-900)}.shared-resources-empty{padding:2rem;text-align:center;background:var(--color-bg);border-radius:12px;border:1px dashed var(--color-border)}.shared-resources-empty p{font-size:.9rem;color:var(--color-text-muted);line-height:1.5;margin:0}.shared-resources-list{display:flex;flex-direction:column;gap:.5rem}.resource-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:var(--color-bg-white);border:1px solid var(--color-border);border-radius:10px;transition:border-color .2s}.resource-item:hover{border-color:var(--color-gray-400)}.resource-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#ffe50026;border-radius:8px;flex-shrink:0}.resource-icon svg{width:18px;height:18px;color:var(--color-primary-dark)}.resource-info{flex:1;min-width:0}.resource-name{font-size:.9rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem}.resource-status{font-size:.75rem;text-transform:capitalize;padding:.125rem .5rem;border-radius:10px}.resource-status.status-complete{background:#4caf5026;color:#2e7d32}.resource-status.status-pending{background:#ff980026;color:#e65100}.resource-status.status-error{background:#f4433626;color:#c62828}.resource-date{font-size:.75rem;color:var(--color-text-muted)}.resource-error{font-size:.75rem;color:var(--color-error);margin-top:.25rem}.resource-actions{display:flex;gap:.375rem;flex-shrink:0}.resource-action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;background:transparent;border-radius:6px;cursor:pointer;transition:background .2s}.resource-action-btn:hover{background:var(--color-gray-100)}.resource-action-btn svg{width:16px;height:16px;color:var(--color-text-muted)}.resource-action-btn.delete:hover{background:#f443361a}.resource-action-btn.delete:hover svg{color:var(--color-error)}@media(max-width:640px){.shared-resources-filters{gap:.375rem}.filter-btn{padding:.375rem .625rem;font-size:.8rem}.resource-item{padding:.75rem}.resource-icon{width:32px;height:32px}.resource-icon svg{width:16px;height:16px}.resource-name{font-size:.85rem}}.settings-container{display:flex;height:100vh;background:var(--color-bg)}.settings-sidebar{width:260px;background:var(--color-bg-white);border-right:1px solid var(--color-border);display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1rem;border-bottom:1px solid var(--color-border)}.back-btn{width:36px;height:36px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.back-btn:hover{background:var(--color-gray-100)}.back-btn svg{width:20px;height:20px;color:var(--color-text-muted)}.sidebar-header h1{font-size:1.1rem;font-weight:600;color:var(--color-text);margin:0}.settings-nav{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border:none;background:transparent;border-radius:8px;cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:var(--color-gray-100)}.nav-item.active{background:#ffe50026}.nav-item svg{width:20px;height:20px;color:var(--color-text-muted);flex-shrink:0}.nav-item.active svg{color:var(--color-primary-dark)}.nav-item span{font-size:.9rem;color:var(--color-text-muted)}.nav-item.active span{color:var(--color-gray-900);font-weight:500}.sidebar-footer{padding:1rem;border-top:1px solid var(--color-border)}.save-btn{width:100%;padding:.75rem 1rem;background:var(--color-primary);color:var(--color-gray-900);border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.save-btn:hover{background:var(--color-primary-dark)}.settings-content{flex:1;padding:2rem;overflow-y:auto}.about-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.about-header{margin-bottom:2rem}.about-logo{width:80px;height:80px;border-radius:20px;background:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.about-logo svg{width:40px;height:40px;color:var(--color-gray-900)}.about-header h2{font-family:"Press Start 2P",cursive;font-size:1.25rem;color:var(--color-gray-900);margin:0}.version{font-size:.85rem;color:var(--color-gray-500);margin:.5rem 0 0}.about-description{max-width:400px;margin-bottom:2rem}.about-description p{font-size:.95rem;color:var(--color-text-muted);line-height:1.6;margin:0}.about-info{background:var(--color-bg);border-radius:12px;padding:1.5rem;width:100%;max-width:300px}.info-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.info-item:last-child{border-bottom:none}.info-label{font-size:.85rem;color:var(--color-text-muted)}.info-value{font-size:.85rem;color:var(--color-text);font-weight:500}@media(max-width:768px){.settings-container{flex-direction:column}.settings-sidebar{width:100%;border-right:none;border-bottom:1px solid var(--color-border)}.settings-nav{flex-direction:row;overflow-x:auto;padding:.5rem}.nav-item{flex-direction:column;gap:.25rem;padding:.5rem .75rem;min-width:fit-content}.nav-item span{font-size:.75rem}.sidebar-footer{display:none}}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--color-primary: #FFE500;--color-primary-dark: #E6CF00;--color-bg: #F5F5F5;--color-bg-white: #FFFFFF;--color-gray-100: #E0E0E0;--color-gray-300: #BDBDBD;--color-gray-500: #9E9E9E;--color-gray-700: #616161;--color-gray-900: #424242;--color-text: #424242;--color-text-muted: #616161;--color-border: #E0E0E0;--color-error: #D32F2F;--color-success: #388E3C}
