*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #1a1a1a;--color-surface: #1e1e1e;--color-surface-hover: #2a2a2a;--color-surface-raised: #333333;--color-primary: #d4a574;--color-primary-hover: #c4955f;--color-primary-text: #1a1a1a;--color-text: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-muted: #666666;--color-border: #2e2e2e;--color-border-subtle: #262626;--color-error: #f87171;--color-error-bg: rgba(248, 113, 113, .1);--color-user-msg: #262626;--color-assistant-msg: #1e1e1e;--color-input-bg: #1a1a1a;--color-scrollbar: #3a3a3a;--color-scrollbar-hover: #4a4a4a;--sidebar-width: 260px;--header-height: 52px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px}[data-theme=light]{--color-bg: #ffffff;--color-surface: #f7f7f7;--color-surface-hover: #eeeeee;--color-surface-raised: #ffffff;--color-primary: #c96f3c;--color-primary-hover: #b55f30;--color-primary-text: #ffffff;--color-text: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-muted: #7a7a7a;--color-border: #e2e2e2;--color-border-subtle: #eeeeee;--color-error: #dc2626;--color-error-bg: rgba(220, 38, 38, .06);--color-user-msg: #f0f0f0;--color-assistant-msg: #f8f8f8;--color-input-bg: #ffffff;--color-scrollbar: #cccccc;--color-scrollbar-hover: #aaaaaa}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,sans-serif;background:var(--color-bg);color:var(--color-text);line-height:1.6;height:100vh;overflow:hidden;transition:background-color .2s ease,color .2s ease;font-size:15px}#root{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-hover)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:16px}.spinner{width:32px;height:32px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app{display:flex;flex-direction:column;height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:var(--header-height);background:var(--color-bg);border-bottom:1px solid var(--color-border-subtle);flex-shrink:0}.app-header h1{font-size:.95rem;font-weight:600;color:var(--color-text-secondary)}.header-right{display:flex;align-items:center;gap:16px}.user-info{display:flex;align-items:center;gap:12px;font-size:.8rem;color:var(--color-text-muted)}.theme-toggle{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:20px;cursor:pointer;font-size:.75rem;color:var(--color-text-secondary);transition:all .2s ease}.theme-toggle:hover{border-color:var(--color-primary);color:var(--color-text)}.theme-toggle-icon{font-size:.9rem}.btn-logout{padding:5px 10px;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .15s ease}.btn-logout:hover{border-color:var(--color-primary);color:var(--color-primary)}.chat-layout{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--color-bg);border-right:1px solid var(--color-border-subtle);display:flex;flex-direction:column;transition:width .2s ease;overflow:hidden;position:relative}.sidebar.closed{width:40px}.sidebar.closed .btn-new-chat,.sidebar.closed .conversations-list{display:none}.btn-new-chat{margin:12px;padding:9px 14px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8rem;font-weight:500;transition:background .15s ease}.btn-new-chat:hover{background:var(--color-primary-hover)}.conversations-list{flex:1;overflow-y:auto;padding:0 8px}.conversation-item{display:flex;align-items:center;border-radius:var(--radius-sm);margin-bottom:2px;transition:background .1s ease}.conversation-item:hover,.conversation-item.active{background:var(--color-surface-hover)}.conversation-title{flex:1;padding:7px 10px;text-align:left;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-item.active .conversation-title{color:var(--color-text)}.btn-delete-conv{padding:4px 8px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;opacity:0;transition:opacity .1s ease}.conversation-item:hover .btn-delete-conv{opacity:1}.btn-delete-conv:hover{color:var(--color-error)}.btn-toggle-sidebar{position:absolute;bottom:10px;right:6px;width:26px;height:26px;background:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all .15s ease}.btn-toggle-sidebar:hover{background:var(--color-surface-raised);color:var(--color-text)}.chat-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.chat-toolbar{padding:8px 16px;border-bottom:1px solid var(--color-border-subtle);background:var(--color-surface);display:flex;align-items:center;justify-content:space-between;gap:12px}.model-picker{display:flex;align-items:center}.model-picker select{padding:4px 24px 4px 8px;background:transparent;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text-secondary);font-size:.72rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238a8a8a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:border-color .15s ease}.model-picker select:hover{border-color:var(--color-text-muted)}.model-picker select:focus{outline:none;border-color:var(--color-primary)}.messages-container{flex:1;overflow-y:auto;padding:24px}.messages-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-muted);text-align:center;padding:48px}.messages-empty h2{font-size:1.3rem;margin-bottom:8px;color:var(--color-text);font-weight:600}.messages-empty p{font-size:.85rem;max-width:400px}.message{max-width:680px;margin:0 auto 16px;padding:14px 18px;border-radius:var(--radius-lg);transition:background .15s ease}.message-user{background:var(--color-user-msg)}.message-assistant{background:var(--color-assistant-msg)}.message-role{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-primary);margin-bottom:4px}.message-content{font-size:.95rem;line-height:1.7;color:var(--color-text)}.message-content p{margin-bottom:8px}.message-content p:last-child{margin-bottom:0}.message-content pre{background:var(--color-bg);padding:12px 14px;border-radius:var(--radius-sm);overflow-x:auto;margin:10px 0;border:1px solid var(--color-border-subtle)}.message-content code{font-family:JetBrains Mono,SF Mono,Fira Code,Cascadia Code,monospace;font-size:.82rem}.message-content ul,.message-content ol{padding-left:22px;margin-bottom:8px}.message-content blockquote{border-left:3px solid var(--color-primary);padding-left:12px;margin:8px 0;color:var(--color-text-secondary)}.message-content table{width:100%;border-collapse:collapse;margin:10px 0;font-size:.82rem}.message-content th,.message-content td{border:1px solid var(--color-border);padding:6px 10px;text-align:left}.message-content th{background:var(--color-surface-hover);font-weight:600}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-indicator span{width:7px;height:7px;background:var(--color-primary);border-radius:50%;animation:pulse 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-error{padding:8px 14px;margin:0 16px 8px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.8rem}.input-bar{padding:12px 16px;width:100%;max-width:680px;margin:0 auto;flex-shrink:0}.input-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;transition:border-color .15s ease}.input-box:focus-within{border-color:var(--color-primary)}.input-box textarea{width:100%;background:transparent;border:none;color:var(--color-text);font-size:.95rem;font-family:inherit;resize:none;line-height:1.6;outline:none;min-height:24px;max-height:150px}.input-box textarea::placeholder{color:var(--color-text-muted)}.input-waveform{width:100%;height:28px}.input-bar-footer{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border-subtle)}.input-bar-left{display:flex;align-items:center;gap:6px}.input-bar-right{display:flex;align-items:center;gap:6px;margin-left:auto}.input-wave-container{display:flex;align-items:center;gap:12px;background:var(--color-input-bg);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:12px 14px;height:56px}.input-wave-canvas{flex:1;height:32px}.input-wave-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.wave-stop{width:32px;height:32px;border-radius:50%;border:none;background:#d93025;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.wave-stop:hover{background:#b71c1c}.wave-cancel{width:28px;height:28px;border-radius:50%;border:none;background:var(--color-surface-hover);color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.wave-cancel:hover{color:var(--color-error)}.btn-send{width:28px;height:28px;border-radius:50%;background:var(--color-primary);color:var(--color-primary-text);border:none;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease}.btn-send:hover:not(:disabled){background:var(--color-primary-hover)}.btn-send:disabled{opacity:.3;cursor:not-allowed}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:36px;width:100%;max-width:380px}.login-card h1{font-size:1.35rem;margin-bottom:4px;font-weight:600}.login-subtitle{color:var(--color-text-muted);margin-bottom:24px;font-size:.85rem}.form-group{margin-bottom:14px}.form-group label{display:block;font-size:.75rem;font-weight:500;margin-bottom:4px;color:var(--color-text-secondary)}.form-group input{width:100%;padding:9px 12px;background:var(--color-input-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem;transition:border-color .15s ease}.form-group input:focus{outline:none;border-color:var(--color-primary)}.btn-primary{width:100%;padding:10px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.85rem;margin-top:8px;transition:background .15s ease}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.switch-mode{text-align:center;margin-top:16px;font-size:.8rem;color:var(--color-text-muted)}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.8rem;text-decoration:underline}.error-message{padding:9px 12px;background:var(--color-error-bg);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:.8rem;margin-bottom:14px}@media (max-width: 768px){.sidebar{position:absolute;z-index:10;height:calc(100vh - var(--header-height))}.sidebar.closed{width:0;border:none}.model-description{display:none}.theme-toggle span:not(.theme-toggle-icon){display:none}}.home-screen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;gap:32px}.home-greeting{text-align:center}.home-greeting h2{font-size:1.6rem;font-weight:600;margin-bottom:6px}.home-greeting p{font-size:.9rem;color:var(--color-text-muted)}.home-input-container{width:100%;max-width:640px;display:flex;flex-direction:column;gap:14px}.mode-toggle{display:flex;background:var(--color-bg);border-radius:var(--radius-sm);border:1px solid var(--color-border);overflow:hidden}.mode-btn{padding:4px 12px;border:none;background:transparent;color:var(--color-text-muted);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.mode-btn.active{background:var(--color-surface-raised);color:var(--color-text)}.mode-btn:hover:not(.active){color:var(--color-text-secondary)}.quick-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.quick-action-pill{padding:7px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;transition:all .15s ease}.quick-action-pill:hover{border-color:var(--color-primary);color:var(--color-text);background:var(--color-surface-hover)}.conversation-view{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.toolbar-left,.toolbar-right{display:flex;align-items:center;gap:10px}.active-skills-badge{padding:3px 10px;background:var(--color-primary);color:var(--color-primary-text);border-radius:12px;font-size:.7rem;font-weight:500;cursor:pointer}.btn-skills-toggle{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-skills-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.sidebar-header{padding:12px}.btn-new{width:100%;padding:8px 12px;background:transparent;border:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;text-align:left;transition:all .15s ease}.btn-new:hover{color:var(--color-text)}.btn-new span{margin-right:6px;color:var(--color-primary);font-weight:600}.sidebar-content{flex:1;overflow-y:auto;padding:0 8px 12px}.sidebar-section{margin-bottom:16px}.sidebar-section-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:4px 10px;margin-bottom:2px}.conv-item{display:flex;align-items:center;border-radius:var(--radius-sm);margin-bottom:1px;transition:background .1s ease}.conv-item:hover,.conv-item.active{background:var(--color-surface-hover)}.conv-title{flex:1;padding:6px 10px;text-align:left;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conv-item.active .conv-title{color:var(--color-text)}.conv-actions{display:flex;opacity:0;transition:opacity .1s ease}.conv-item:hover .conv-actions{opacity:1}.conv-action-btn{padding:2px 5px;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;transition:color .1s ease}.conv-action-btn:hover{color:var(--color-primary)}.conv-delete:hover{color:var(--color-error)}.skills-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.skills-header{padding:18px 20px 12px;border-bottom:1px solid var(--color-border-subtle);position:relative}.skills-header h3{font-size:1.1rem;font-weight:600}.skills-subtitle{font-size:.78rem;color:var(--color-text-muted)}.skills-header .btn-close{position:absolute;top:14px;right:16px;width:28px;height:28px;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.skills-header .btn-close:hover{color:var(--color-text)}.skills-body{flex:1;overflow-y:auto;padding:16px 20px}.skills-category{margin-bottom:20px}.skills-category-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:8px}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.skill-card{padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:all .15s ease}.skill-card:hover{border-color:var(--color-primary)}.skill-card.active{border-color:var(--color-primary);background:#d4a57414}.skill-card-header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.skill-icon{font-size:.9rem}.skill-name{font-size:.78rem;font-weight:500;color:var(--color-text)}.skill-check{margin-left:auto;color:var(--color-primary);font-weight:700}.skill-description{font-size:.7rem;color:var(--color-text-muted);line-height:1.4}.skills-footer{padding:12px 20px;border-top:1px solid var(--color-border-subtle);display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:var(--color-text-muted)}.btn-done{padding:6px 16px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s ease}.btn-done:hover{background:var(--color-primary-hover)}.chat-input-area .btn-send{width:32px;height:32px;min-height:32px;border-radius:50%;padding:0;font-size:1.1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;align-self:center}.chat-input-area .btn-mic{align-self:center}.btn-voice{width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-voice:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-voice.listening{border-color:#ef4444;color:#ef4444;background:#ef44441a;animation:pulse-ring 1.5s infinite}@keyframes pulse-ring{0%{box-shadow:0 0 #ef44444d}70%{box-shadow:0 0 0 6px #ef444400}to{box-shadow:0 0 #ef444400}}.mic-area{position:relative;display:flex;align-items:center;gap:2px;flex-shrink:0}.btn-mic{border:none;background:none;cursor:pointer;padding:6px;width:32px;height:32px;border-radius:50%;color:var(--color-text-muted);transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-mic:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-mic.recording{background:#d93025;color:#fff}.btn-mic-menu{border:none;background:none;cursor:pointer;font-size:9px;padding:2px 4px;color:var(--color-text-muted);border-radius:4px;transition:all .15s ease}.btn-mic-menu:hover{background:var(--color-surface-hover)}.mic-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000004d;min-width:260px;z-index:100;padding:6px 0;font-size:.78rem}.mic-option{padding:8px 14px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;color:var(--color-text)}.mic-option:hover{background:var(--color-surface-hover)}.mic-option.active{color:var(--color-primary)}.mic-option.active:after{content:"✓";color:var(--color-primary);font-weight:600}.language-selector{padding:4px 8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.72rem;cursor:pointer;transition:border-color .15s ease}.language-selector:hover,.language-selector:focus{border-color:var(--color-primary);outline:none}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-start;justify-content:center;padding-top:80px;z-index:100}.search-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:540px;max-height:60vh;display:flex;flex-direction:column;overflow:hidden}.search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border-subtle)}.search-icon{color:var(--color-text-muted);flex-shrink:0}.search-input{flex:1;background:transparent;border:none;color:var(--color-text);font-size:.9rem;outline:none}.search-input::placeholder{color:var(--color-text-muted)}.search-close{width:28px;height:28px;border-radius:50%;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center}.search-results{flex:1;overflow-y:auto;padding:8px}.search-empty{text-align:center;padding:24px;color:var(--color-text-muted);font-size:.85rem}.search-result-item{width:100%;padding:10px 12px;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease;display:block}.search-result-item:hover{background:var(--color-surface-hover)}.search-result-title{font-size:.82rem;font-weight:500;color:var(--color-text);margin-bottom:2px}.search-result-snippet{font-size:.72rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-header{padding:12px;display:flex;gap:6px}.btn-search{width:34px;height:34px;border-radius:var(--radius-sm);background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.btn-search:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn-new{flex:1}.btn-export{width:30px;height:30px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-export:hover{border-color:var(--color-primary);color:var(--color-primary)}.token-display{padding:4px 16px;font-size:.68rem;color:var(--color-text-muted);display:flex;align-items:center;gap:8px}.token-detail{opacity:.7}.file-attachment{margin-bottom:10px}.file-dropzone{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:14px;text-align:center;cursor:pointer;transition:all .15s ease;display:flex;flex-direction:column;align-items:center;gap:4px}.file-dropzone:hover,.file-dropzone.drag-over{border-color:var(--color-primary);background:#d4a5740a}.file-dropzone.disabled{opacity:.4;cursor:not-allowed}.file-dropzone-icon{font-size:1.2rem}.file-dropzone-text{font-size:.78rem;color:var(--color-text-secondary)}.file-dropzone-hint{font-size:.68rem;color:var(--color-text-muted)}.file-list{display:flex;flex-direction:column;gap:4px}.file-item{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--color-surface-hover);border-radius:var(--radius-sm)}.file-item-info{display:flex;align-items:center;gap:8px;min-width:0}.file-item-name{font-size:.78rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-item-size{font-size:.68rem;color:var(--color-text-muted);flex-shrink:0}.file-item-truncated{font-size:.6rem;color:var(--color-primary);background:#d4a5741a;padding:1px 5px;border-radius:3px}.file-item-remove{width:22px;height:22px;border-radius:50%;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.file-item-remove:hover{color:var(--color-error)}.file-add-more{padding:6px;background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:.72rem;cursor:pointer;transition:all .15s ease}.file-add-more:hover{border-color:var(--color-primary);color:var(--color-text-secondary)}.file-error{margin-top:6px;font-size:.72rem;color:var(--color-error)}.mic-recording-bar{display:none;flex-direction:column;gap:4px;padding:10px 14px;background:var(--color-surface);border:1px solid var(--color-primary);border-radius:var(--radius-md);position:absolute;top:0;left:0;right:0;bottom:0;z-index:5}.mic-recording-bar.show{display:flex}.mic-transcript{font-size:.82rem;color:var(--color-text);line-height:1.4;min-height:16px;word-wrap:break-word;white-space:pre-wrap;flex:1;overflow-y:auto}.mic-transcript:empty:after{content:"Listening...";color:var(--color-text-muted);font-style:italic}.mic-viz-row{display:flex;align-items:center;gap:8px}.mic-canvas{flex:1;height:24px;border-radius:4px}.mic-cancel{border:none;background:var(--color-surface-hover);color:var(--color-text-muted);width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.mic-cancel:hover{background:var(--color-error-bg);color:var(--color-error)}.mic-submit{border:none;background:var(--color-primary);color:var(--color-primary-text);width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.mic-submit:hover{background:var(--color-primary-hover)}.chat-input-area,.home-input-box,.model-status-wrapper{position:relative}.model-status-indicator{display:flex;align-items:center;gap:5px;padding:4px 8px;background:transparent;border:1px solid var(--color-border);border-radius:12px;cursor:pointer;font-size:.7rem;color:var(--color-text-muted);transition:all .15s ease}.model-status-indicator:hover{border-color:var(--color-text-muted)}.status-dot{width:7px;height:7px;border-radius:50%;background:#22c55e}.status-available .status-dot,.status-dot-available{background:#22c55e}.status-degraded .status-dot,.status-dot-degraded{background:#f59e0b}.status-unavailable .status-dot,.status-dot-unavailable{background:#ef4444}.status-count{font-weight:500}.model-status-panel{position:absolute;top:100%;right:0;margin-top:6px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:280px;z-index:50;box-shadow:0 4px 16px #0000004d;overflow:hidden}.model-status-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border-subtle);font-size:.78rem;font-weight:600;color:var(--color-text)}.model-status-close{width:22px;height:22px;border-radius:50%;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.model-status-close:hover{color:var(--color-text)}.model-status-list{max-height:240px;overflow-y:auto;padding:6px}.model-status-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm)}.model-status-row:hover{background:var(--color-surface-hover)}.model-status-row .status-dot{flex-shrink:0}.model-status-name{flex:1;font-size:.75rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-status-provider{font-size:.65rem;color:var(--color-text-muted)}.model-status-label{font-size:.6rem;font-weight:600;padding:1px 5px;border-radius:3px;flex-shrink:0}.label-available{color:#22c55e;background:#22c55e1a}.label-degraded{color:#f59e0b;background:#f59e0b1a}.label-unavailable{color:#ef4444;background:#ef44441a}.toolbar-waveform{display:flex;align-items:center;gap:12px;width:100%;height:100%}.toolbar-wave-canvas{flex:1;height:32px;border-radius:4px}.toolbar-wave-controls{display:flex;align-items:center;gap:6px;flex-shrink:0}.voice-recording-bar{display:flex;align-items:flex-end;gap:10px;width:100%;min-height:48px}.voice-wave-canvas{flex:1;min-height:16px;height:16px;border-radius:4px;transition:height .15s ease}.voice-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.mic-stop{width:36px;height:36px;border-radius:50%;border:none;background:#d93025;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.mic-stop:hover{background:#b71c1c}.btn-voice-stop{width:32px;height:32px;border-radius:50%;border:none;background:#d93025;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-voice-stop:hover{background:#b71c1c}.btn-voice-accept{width:28px;height:28px;border-radius:50%;border:none;background:#4f8cff;color:#fff;cursor:pointer;font-size:.85rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-voice-accept:hover{background:#3a6fd6}.btn-voice-discard{width:28px;height:28px;border-radius:50%;border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.btn-voice-discard:hover{color:var(--color-text);border-color:var(--color-text-muted)}.voice-transcript{font-size:.88rem;font-style:italic;color:var(--color-text);line-height:1.5;min-height:24px;white-space:pre-wrap;word-wrap:break-word}.voice-listening{color:var(--color-text-muted)}.voice-bar-row{display:flex;align-items:center;gap:8px;margin-top:8px}.voice-bar-row .input-waveform{flex:1;height:24px;min-width:0}.voice-bar-row .btn-voice-discard,.voice-bar-row .btn-voice-accept{flex-shrink:0}.skills-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.skills-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:90%;max-width:500px;max-height:75vh;display:flex;flex-direction:column;overflow:hidden}.skills-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--color-border-subtle)}.skills-header h3{font-size:1rem;font-weight:600}.skills-close{width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center}.skills-close:hover{color:var(--color-text)}.skills-actions{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid var(--color-border-subtle);flex-wrap:wrap}.skills-action-btn{padding:6px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-secondary);font-size:.78rem;cursor:pointer;transition:all .15s ease}.skills-action-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.skills-list{flex:1;overflow-y:auto;padding:8px 12px}.skills-empty{text-align:center;padding:32px 16px;color:var(--color-text-muted);font-size:.85rem}.skill-item{display:flex;align-items:center;border-radius:var(--radius-sm);margin-bottom:4px;transition:background .1s ease}.skill-item:hover{background:var(--color-surface-hover)}.skill-item.active{background:#d4a57414;border:1px solid rgba(212,165,116,.2)}.skill-item-toggle{flex:1;padding:10px 12px;text-align:left;background:none;border:none;cursor:pointer;color:var(--color-text)}.skill-item-name{font-size:.88rem;font-weight:500}.skill-item-desc{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.skill-item-meta{display:flex;gap:6px;margin-top:4px}.skill-badge{font-size:.65rem;padding:1px 6px;border-radius:8px;background:var(--color-surface-hover);color:var(--color-text-muted)}.skill-active-badge{font-size:.65rem;padding:1px 6px;border-radius:8px;background:#d4a57426;color:var(--color-primary)}.skill-item-delete{width:24px;height:24px;border-radius:50%;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;opacity:0;margin-right:8px}.skill-item:hover .skill-item-delete{opacity:1}.skill-item-delete:hover{color:var(--color-error)}.skills-form{padding:16px 20px;display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto}.skills-form-hint{font-size:.82rem;color:var(--color-text-muted)}.skills-form label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.skills-form input{padding:8px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.85rem}.skills-form input:focus{outline:none;border-color:var(--color-primary)}.skills-form textarea{padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:.82rem;font-family:inherit;resize:vertical;line-height:1.5}.skills-form textarea:focus{outline:none;border-color:var(--color-primary)}.skills-error{padding:8px 10px;background:var(--color-error-bg);border-radius:var(--radius-sm);color:var(--color-error);font-size:.78rem}.skills-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.skills-btn-primary{padding:7px 16px;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-sm);font-size:.82rem;font-weight:500;cursor:pointer}.skills-btn-primary:hover{background:var(--color-primary-hover)}.skills-btn-secondary{padding:7px 16px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.82rem;cursor:pointer}.skills-btn-secondary:hover{border-color:var(--color-text-muted);color:var(--color-text)}.file-bar{margin-bottom:8px}.file-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.file-chip{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--color-surface-hover);border-radius:14px;font-size:.78rem}.file-chip-name{color:var(--color-text);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-chip-size{color:var(--color-text-muted);font-size:.68rem}.file-chip-remove{width:16px;height:16px;border-radius:50%;background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;display:flex;align-items:center;justify-content:center}.file-chip-remove:hover{color:var(--color-error)}.file-actions-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.file-action-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:transparent;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text-secondary);font-size:.72rem;cursor:pointer;transition:all .15s ease}.file-action-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.file-action-btn.file-action-save{border-color:var(--color-primary);color:var(--color-primary)}.file-action-btn.file-action-save:hover{background:#d4a5741a}.file-drop-zone{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:8px;text-align:center;font-size:.75rem;color:var(--color-text-muted);cursor:default;transition:all .15s ease}.file-drop-zone.drag-over{border-color:var(--color-primary);color:var(--color-primary);background:#d4a5740a}.file-bar-error{margin-top:4px;font-size:.72rem;color:var(--color-error)}
