*{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0a0a;--bg-subtle:#0e0e0e;--surface:#141414;--surface-2:#1a1a1a;--surface-hover:#222222;--border:#2a2a2a;--border-light:#333333;--text:#e8e8e8;--text-secondary:#999999;--text-muted:#666666;--accent:#10b981;--accent-hover:#059669;--accent-glow:rgba(16,185,129,0.12);--green:#10b981;--green-dim:rgba(16,185,129,0.1);--error:#ef4444;--error-dim:rgba(239,68,68,0.1);--sidebar-width:300px;--radius:14px;--radius-sm:10px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}.app,body{height:100vh}.app,.sidebar{display:flex}.sidebar{width:var(--sidebar-width);background:rgba(18,18,18,.65);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);border-right:1px solid rgba(255,255,255,.06);flex-direction:column;transition:margin-left .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;overflow:hidden}.sidebar:before{content:"";position:absolute;inset:0;background:linear-gradient(165deg,rgba(16,185,129,.04),transparent 40%,transparent 60%,rgba(59,130,246,.03));pointer-events:none;z-index:0}.sidebar>*{position:relative;z-index:1}.sidebar:not(.open){margin-left:calc(-1 * var(--sidebar-width))}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem .85rem;gap:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-logo{font-size:.95rem;font-weight:700;letter-spacing:-.01em;color:var(--text)}.new-chat-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.38rem .6rem;background:rgba(255,255,255,.05);color:var(--text-secondary);border:1px solid rgba(255,255,255,.08);border-radius:10px;font-size:.76rem;cursor:pointer;font-weight:500;transition:all .2s}.new-chat-btn:hover{background:var(--accent);color:white;border-color:var(--accent);box-shadow:0 0 16px rgba(16,185,129,.2)}.sidebar-nav{display:flex;padding:.35rem .5rem;gap:.25rem;border-bottom:1px solid rgba(255,255,255,.05)}.sidebar-nav-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.4rem .3rem;background:none;border:none;color:var(--text-muted);border-radius:10px;font-size:.7rem;font-weight:500;cursor:pointer;transition:all .15s}.sidebar-nav-btn:hover{background:rgba(255,255,255,.05);color:var(--text-secondary)}.sidebar-nav-btn.active{background:rgba(16,185,129,.1);color:var(--accent)}.sidebar-nav-btn span{white-space:nowrap}.conversation-list{flex:1 1;overflow-y:auto;padding:.5rem}.convo-section-label{font-size:.64rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:.7rem .6rem .3rem}.convo-row{display:flex;align-items:center;position:relative;margin-bottom:2px}.convo-row:hover .convo-more-btn{opacity:1}.conversation-item{flex:1 1;display:flex;align-items:center;gap:.45rem;padding:.55rem 1.75rem .55rem .7rem;background:none;border:none;border-radius:12px;color:var(--text-secondary);font-size:.8rem;text-align:left;cursor:pointer;transition:all .15s;min-width:0}.conversation-item:hover{background:rgba(255,255,255,.05);color:var(--text)}.conversation-item.active{background:rgba(255,255,255,.08);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.convo-star-icon{color:#fbbf24;flex-shrink:0}.convo-title{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-actions-wrapper{position:absolute;right:.25rem;top:50%;transform:translateY(-50%)}.convo-more-btn{width:26px;height:26px;background:none;border:none;color:var(--text-muted);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .12s}.convo-more-btn:hover{background:rgba(255,255,255,.08);color:var(--text)}.convo-menu{position:absolute;right:0;top:calc(100% + 4px);background:rgba(25,25,25,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.3rem;min-width:150px;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:60;animation:menu-in .12s ease-out}.convo-menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .6rem;background:none;border:none;border-radius:8px;color:var(--text-secondary);font-size:.78rem;cursor:pointer;transition:all .12s;text-align:left}.convo-menu-item:hover{background:rgba(255,255,255,.07);color:var(--text)}.convo-menu-danger:hover{background:var(--error-dim);color:var(--error)}.convo-menu-confirm{display:flex;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.78rem;color:var(--text-secondary)}.convo-menu-confirm span{flex:1 1}.confirm-no,.confirm-yes{padding:.2rem .5rem;border:none;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer}.confirm-yes{background:var(--error);color:white}.confirm-yes:hover{background:#dc2626}.confirm-no{background:rgba(255,255,255,.06);color:var(--text-secondary)}.confirm-no:hover{background:rgba(255,255,255,.1)}.convo-badge{font-size:.62rem;padding:.12rem .4rem;border-radius:6px;flex-shrink:0;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-video{background:rgba(16,185,129,.12);color:var(--accent)}.badge-image{background:var(--green-dim);color:var(--green)}.badge-media{background:rgba(251,191,36,.12);color:#fbbf24}.no-convos{color:var(--text-muted);font-size:.8rem;text-align:center;padding:2rem 1rem}.sidebar-footer{padding:.75rem;border-top:1px solid rgba(255,255,255,.05)}.user-info{gap:.5rem;padding:.25rem}.user-avatar,.user-info{display:flex;align-items:center}.user-avatar{width:28px;height:28px;border-radius:50%;background:var(--accent);justify-content:center;flex-shrink:0;overflow:hidden;font-size:.75rem;font-weight:600;color:white}.user-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.user-name{flex:1 1;font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sign-out-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:6px;display:flex;align-items:center;transition:color .15s,background .15s}.sign-out-btn:hover{color:var(--error);background:var(--error-dim)}.auth-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary)}.chat-main{flex:1 1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.topbar{gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--border);min-height:48px}.topbar,.topbar-btn{display:flex;align-items:center;flex-shrink:0}.topbar-btn{background:none;border:none;color:var(--text-muted);width:34px;height:34px;border-radius:var(--radius-sm);cursor:pointer;justify-content:center;transition:all .15s}.topbar-btn:hover{background:var(--surface-hover);color:var(--text)}.topbar-media{display:flex;flex-wrap:wrap;gap:.35rem;overflow:hidden}.media-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;background:var(--surface-2);border:1px solid var(--border);border-radius:20px;font-size:.72rem;color:var(--text-secondary);white-space:nowrap}.landing{min-height:0;overflow:hidden}.landing,.landing-content{flex:1 1;display:flex;flex-direction:column}.landing-content{align-items:center;justify-content:center;gap:.75rem;padding:2rem;overflow-y:auto}.hero-badge{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-glow);padding:.4rem 1rem;border-radius:20px;border:1px solid rgba(16,185,129,.2)}.landing-content h2{color:var(--text);font-size:2rem;font-weight:700;letter-spacing:-.03em}.landing-content p{max-width:440px;text-align:center;line-height:1.6;color:var(--text-secondary);font-size:.9rem}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;max-width:540px;width:100%;margin-top:1rem}.feature-card{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all .2s}.feature-card:hover{border-color:var(--accent);background:var(--accent-glow)}.feature-icon{color:var(--accent);margin-bottom:.25rem}.feature-card strong{font-size:.85rem;font-weight:600;color:var(--text)}.feature-card span{font-size:.78rem;color:var(--text-muted);line-height:1.4}.messages{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:1.5rem 0 1rem}.messages,.messages-inner{display:flex;flex-direction:column}.messages-inner{width:100%;max-width:860px;margin-left:auto;margin-right:auto;flex:1 1;padding:0 2rem;box-sizing:border-box}.messages-inner>:first-child{margin-top:auto}.chat-with-panel{flex:1 1;display:flex;min-height:0;overflow:hidden}.chat-area{flex:1 1;display:flex;flex-direction:column;min-width:0}.media-message{max-width:800px}.media-avatar{background:rgba(99,102,241,.1)!important;color:var(--accent)!important}.inline-media-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;max-width:420px}.inline-media-video{background:#000;cursor:pointer}.inline-media-img,.inline-media-video{width:100%;max-height:400px;display:block}.inline-media-img{object-fit:cover}.inline-media-thumb-wrap{position:relative}.inline-media-play-link{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;background:rgba(0,0,0,.65);border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s}.inline-media-play-link:hover{background:rgba(99,102,241,.8)}.inline-media-placeholder{height:120px;display:flex;align-items:center;justify-content:center;background:var(--bg);color:var(--text-muted);font-size:.85rem}.inline-media-meta{padding:.55rem .7rem;display:flex;flex-direction:column;gap:.2rem}.inline-media-name{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-media-music{font-size:.75rem;color:var(--accent)}.inline-media-stats{font-size:.72rem;color:var(--text-muted)}.inline-media-hashtags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.1rem}.hashtag{font-size:.65rem;padding:.1rem .35rem;background:var(--accent-glow);color:var(--accent);border-radius:4px;white-space:nowrap}.hashtag-more{background:var(--surface-2);color:var(--text-muted)}.assets-panel{width:300px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;transition:margin-right .25s cubic-bezier(.4,0,.2,1)}.assets-panel:not(.open){display:none}.assets-header{display:flex;align-items:center;gap:.5rem;padding:.75rem;border-bottom:1px solid var(--border)}.assets-header h3{font-size:.9rem;font-weight:600;flex:1 1}.assets-count{font-size:.7rem;padding:.1rem .4rem;background:var(--accent-glow);color:var(--accent);border-radius:10px;font-weight:600}.assets-close{width:28px;height:28px;background:none;border:none;color:var(--text-muted);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.assets-close:hover{background:var(--surface-hover);color:var(--text)}.assets-list{flex:1 1;overflow-y:auto;padding:.5rem}.asset-item{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}.asset-thumb{width:100%;height:140px;background:#000;overflow:hidden}.asset-thumb img,.asset-thumb video{width:100%;height:100%;object-fit:contain;display:block}.asset-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.8rem;background:var(--surface-2)}.asset-details{padding:.45rem .55rem;display:flex;flex-direction:column;gap:.15rem}.asset-name{font-size:.72rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-music{font-size:.68rem;color:var(--accent)}.asset-platform{font-size:.62rem;color:var(--text-muted);text-transform:capitalize}.asset-hashtags{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.1rem}.no-assets{color:var(--text-muted);font-size:.8rem;text-align:center;padding:2rem 1rem}.assets-toggle{position:fixed;right:1rem;bottom:5rem;display:flex;align-items:center;gap:.35rem;padding:.5rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3);transition:all .15s;z-index:40}.assets-toggle:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-light)}.chat-welcome{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:3rem 1rem;text-align:center}.welcome-icon{font-size:2rem}.chat-welcome h3{font-size:1.1rem;font-weight:600;color:var(--text)}.chat-welcome p{font-size:.88rem;color:var(--text-muted);max-width:380px}.quick-prompts{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;max-width:500px;margin-top:.5rem}.quick-prompt{padding:.45rem .85rem;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.8rem;cursor:pointer;transition:all .15s}.quick-prompt:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-light)}.message{display:flex;gap:.75rem;margin-bottom:1.5rem}.message-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.message.user .message-avatar{background:var(--surface-2);color:var(--text-secondary)}.message.assistant .message-avatar{background:var(--accent);color:white}.message-body{flex:1 1;min-width:0}.message-name{font-size:.78rem;font-weight:600;margin-bottom:.3rem;color:var(--text-secondary)}.message-text{font-size:1.05rem;line-height:1.75;word-break:break-word;color:var(--text)}.message-text h1{font-size:1.3rem;font-weight:700;margin:1.2rem 0 .5rem;color:var(--text);letter-spacing:-.01em}.message-text h2{font-size:1.1rem;font-weight:600;margin:1rem 0 .4rem;color:var(--text)}.message-text h3{font-size:.98rem;font-weight:600;margin:.8rem 0 .3rem;color:var(--text)}.message-text h1:first-child,.message-text h2:first-child,.message-text h3:first-child{margin-top:0}.message-text p{margin:.45rem 0}.message-text p:first-child{margin-top:0}.message-text p:last-child{margin-bottom:0}.message-text ol,.message-text ul{margin:.4rem 0;padding-left:1.4rem}.message-text li{margin:.2rem 0}.message-text li>p{margin:0}.message-text strong{font-weight:600;color:var(--text)}.message-text em{color:var(--text-secondary)}.message-text code{font-family:SF Mono,Fira Code,monospace;font-size:.82rem;padding:.15rem .35rem;background:var(--surface-2);border-radius:4px;color:var(--accent)}.message-text pre{margin:.6rem 0;padding:.8rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}.message-text pre code{padding:0;background:none;border-radius:0;color:var(--text);font-size:.82rem}.message-text blockquote{border-left:3px solid var(--accent);margin:.5rem 0;padding:.3rem .8rem;color:var(--text-secondary);background:rgba(99,102,241,.05);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.message-text hr{border:none;border-top:1px solid var(--border);margin:.8rem 0}.message-text table{width:100%;border-collapse:collapse;margin:.6rem 0;font-size:1rem}.message-text th{text-align:left;padding:.45rem .65rem;background:var(--surface-2);border:1px solid var(--border);font-weight:600;color:var(--text)}.message-text td{padding:.4rem .65rem;border:1px solid var(--border);color:var(--text-secondary)}.message-text tr:hover td{background:rgba(255,255,255,.02)}.message-text a{color:var(--accent);text-decoration:none}.message-text a:hover{text-decoration:underline}.message-text img{max-width:100%;border-radius:var(--radius-sm)}.thinking{color:var(--text-muted)!important;display:flex;align-items:center;gap:.5rem}.typing-dots{display:inline-flex;gap:3px;align-items:center}.typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--text-muted);animation:bounce 1.4s ease-in-out infinite both}.typing-dots span:first-child{animation-delay:-.32s}.typing-dots span:nth-child(2){animation-delay:-.16s}.typing-dots span:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.composer-wrapper{flex-shrink:0;padding:0 2rem 1.5rem;max-width:860px;margin:0 auto;width:100%}.composer{position:relative;border-radius:22px}.composer-glow{position:absolute;inset:-1px;border-radius:23px;background:conic-gradient(from 180deg,rgba(16,185,129,.3),rgba(59,130,246,.2),rgba(139,92,246,.15),rgba(236,72,153,.1),rgba(245,158,11,.2),rgba(16,185,129,.3));opacity:0;transition:opacity .4s;z-index:0;filter:blur(1px)}.composer:focus-within .composer-glow,.studio-composer:focus-within .composer-glow{opacity:1;animation:glow-rotate 6s linear infinite}@keyframes glow-rotate{0%{filter:blur(1px) hue-rotate(0deg)}to{filter:blur(1px) hue-rotate(1turn)}}.composer-inner{position:relative;z-index:1;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:.65rem .85rem .5rem;display:flex;flex-direction:column;gap:.35rem;transition:border-color .3s,background .3s}.composer:focus-within .composer-inner,.studio-composer:focus-within .composer-inner{border-color:transparent;background:#111111}.composer textarea,.composer-inner textarea{flex:1 1;padding:.3rem .15rem;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:.92rem;resize:none;min-height:32px;max-height:160px;line-height:1.55}.composer textarea:focus,.composer-inner textarea:focus{outline:none}.composer textarea::placeholder,.composer-inner textarea::placeholder{color:var(--text-muted)}.composer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.composer-toolbar-left,.composer-toolbar-right{display:flex;align-items:center;gap:.35rem}.toolbar-btn{width:32px;height:32px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;position:relative}.toolbar-btn:hover{background:var(--surface-hover);color:var(--text);border-color:var(--border-light)}.toolbar-btn.active{background:rgba(16,185,129,.1);color:var(--accent);border-color:rgba(16,185,129,.3)}.toolbar-btn.active svg{transform:rotate(45deg)}.toolbar-btn svg{transition:transform .2s}.toolbar-pill{display:flex;align-items:center;gap:.3rem;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 .55rem;height:32px;color:var(--text-muted);transition:all .15s}.toolbar-pill.open,.toolbar-pill:hover{border-color:var(--border-light);color:var(--text-secondary)}.toolbar-pill.open{background:var(--surface-hover)}.toolbar-pill svg{flex-shrink:0}.toolbar-pill span{font-size:.72rem;font-weight:500}.toolbar-pill-chevron{opacity:.5;transition:transform .2s}.toolbar-pill.open .toolbar-pill-chevron{transform:rotate(180deg)}.composer-attach{position:relative}.attach-menu{position:absolute;bottom:calc(100% + 10px);left:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem;min-width:230px;box-shadow:0 12px 40px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:menu-in .15s cubic-bezier(.4,0,.2,1);z-index:50}@keyframes menu-in{0%{opacity:0;transform:translateY(4px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.attach-menu-item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem .65rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:background .12s;text-align:left}.attach-menu-item:hover{background:var(--surface-hover)}.attach-menu-item svg{color:var(--text-muted);flex-shrink:0}.menu-item-text{display:flex;flex-direction:column}.menu-item-text strong{font-size:.84rem;font-weight:500}.menu-item-text span{font-size:.72rem;color:var(--text-muted)}.send-btn{width:34px;height:34px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s;flex-shrink:0}.send-btn.active{background:linear-gradient(135deg,var(--accent),#3b82f6);border-color:transparent;color:white;box-shadow:0 0 20px rgba(16,185,129,.3),0 0 40px rgba(59,130,246,.15)}.send-btn.active:hover{transform:scale(1.08);box-shadow:0 0 24px rgba(16,185,129,.4),0 0 48px rgba(59,130,246,.2)}.send-btn:disabled{cursor:not-allowed;opacity:.35}.composer-file-preview{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:.5rem;animation:menu-in .15s ease-out}.file-preview-info{display:flex;align-items:center;gap:.5rem;font-size:.84rem;color:var(--text);min-width:0}.file-preview-info svg{color:var(--text-muted);flex-shrink:0}.file-preview-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{color:var(--text-muted)!important;font-size:.78rem!important;flex-shrink:0}.file-preview-actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0;margin-left:.5rem}.file-analyze-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:var(--accent);color:white;border:none;border-radius:8px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .15s}.file-analyze-btn:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 0 12px rgba(16,185,129,.25)}.file-analyze-btn:disabled{opacity:.7;cursor:not-allowed}.file-remove-btn{width:28px;height:28px;background:none;border:none;color:var(--text-muted);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.file-remove-btn:hover{background:var(--error-dim);color:var(--error)}.spinner-sm{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top-color:white;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(1turn)}}.url-import-bar{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.55rem .65rem;margin-bottom:.5rem;animation:menu-in .15s ease-out}.url-import-input-row{display:flex;align-items:center;gap:.5rem}.url-import-input-row>svg{color:var(--text-muted);flex-shrink:0}.url-input{flex:1 1;padding:.45rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.84rem;transition:border-color .15s}.url-input:focus{outline:none;border-color:var(--accent)}.url-input::placeholder{color:var(--text-muted)}.url-platforms{display:flex;align-items:center;gap:.35rem;margin-top:.45rem;font-size:.7rem;color:var(--text-muted)}.platform-tag{padding:.15rem .45rem;background:var(--surface-2);border-radius:5px;font-size:.68rem;color:var(--text-secondary)}.attach-menu-divider{height:1px;background:var(--border);margin:.25rem .35rem}.skill-picker{position:absolute;bottom:100%;left:0;right:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 12px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.03);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:menu-in .15s cubic-bezier(.4,0,.2,1);z-index:100;max-height:360px;display:flex;flex-direction:column;margin-bottom:.5rem}.skill-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .75rem;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:600;color:var(--text-secondary)}.skill-picker-hint{font-weight:400;color:var(--text-muted);font-size:.66rem}.skill-picker-hint kbd{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:0 .3rem;font-size:.62rem;font-family:inherit;line-height:1.6}.skill-picker-list{overflow-y:auto;padding:.3rem}.skill-picker-category{font-size:.64rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:.55rem .6rem .25rem}.skill-picker-item{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;transition:background .1s;text-align:left}.skill-picker-item.selected,.skill-picker-item:hover{background:var(--surface-hover)}.skill-picker-icon{width:32px;height:32px;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--accent);flex-shrink:0}.skill-picker-info{display:flex;flex-direction:column;min-width:0}.skill-picker-name{font-size:.82rem;font-weight:500}.skill-picker-desc{font-size:.68rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-picker-badge{font-size:.6rem;font-weight:600;color:var(--accent);background:var(--accent-glow);padding:.15rem .4rem;border-radius:100px;flex-shrink:0;margin-left:auto}.active-skill-bar{display:flex;align-items:center;padding:0 0 .2rem}.active-skill-tag{display:inline-flex;align-items:center;gap:.35rem;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.25);color:var(--accent);padding:.2rem .55rem;border-radius:100px;font-size:.7rem;font-weight:600}.active-skill-remove{background:none;border:none;color:var(--accent);cursor:pointer;display:flex;align-items:center;padding:.1rem;border-radius:50%;transition:all .15s;opacity:.6}.active-skill-remove:hover{opacity:1;background:rgba(16,185,129,.2)}.skill-picker-footer{border-top:1px solid var(--border);padding:.4rem}.skill-picker-create{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:.78rem;font-weight:500;transition:all .12s}.skill-picker-create:hover{background:var(--surface-hover);color:var(--accent)}.create-skill-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:480px;max-width:90vw;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:preview-scale-in .2s ease}.create-skill-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.create-skill-header h3{margin:0;font-size:.9rem;font-weight:600}.create-skill-body{padding:1rem;display:flex;flex-direction:column;gap:.85rem}.create-skill-label{display:flex;flex-direction:column;gap:.3rem;font-size:.76rem;font-weight:500;color:var(--text-secondary)}.create-skill-input{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.5rem .7rem;color:var(--text);font-size:.84rem;font-family:inherit;outline:none;transition:border-color .15s}.create-skill-input:focus{border-color:var(--accent)}.create-skill-textarea{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.5rem .7rem;color:var(--text);font-size:.84rem;font-family:inherit;outline:none;resize:vertical;min-height:100px;line-height:1.5;transition:border-color .15s}.create-skill-textarea:focus{border-color:var(--accent)}.create-skill-footer{display:flex;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border)}.create-skill-cancel{background:none;border:1px solid var(--border);color:var(--text-secondary);padding:.45rem .9rem;border-radius:10px;font-size:.78rem;cursor:pointer;transition:all .15s}.create-skill-cancel:hover{border-color:var(--text-muted);color:var(--text)}.create-skill-save{background:var(--accent);border:none;color:white;padding:.45rem 1rem;border-radius:10px;font-size:.78rem;font-weight:600;cursor:pointer;transition:all .15s}.create-skill-save:hover:not(:disabled){background:var(--accent-hover)}.create-skill-save:disabled{opacity:.5;cursor:not-allowed}.preview-overlay{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:2rem;animation:preview-fade-in .2s ease}@keyframes preview-fade-in{0%{opacity:0}to{opacity:1}}@keyframes preview-scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.preview-close-btn{width:34px;height:34px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--text-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.preview-close-btn:hover{background:rgba(255,255,255,.15);color:var(--text)}.research-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:.85rem;display:flex;flex-direction:column;gap:.6rem;max-width:720px;width:100%;animation:preview-scale-in .15s ease}.research-card.inline{margin:0 auto 1.5rem}.research-card-header{display:flex;align-items:center;justify-content:space-between}.research-card-title{display:flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--accent)}.research-card-close{width:26px;height:26px;background:none;border:none;color:var(--text-muted);border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.research-card-close:hover{background:rgba(255,255,255,.08);color:var(--text)}.research-card-input input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.5rem .7rem;color:var(--text);font-size:.82rem;font-family:inherit;outline:none;transition:border-color .15s}.research-card-input input:focus{border-color:var(--accent)}.research-card-row{display:flex;flex-wrap:wrap;gap:.3rem}.rc-chip{padding:.28rem .6rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--text-muted);border-radius:100px;font-size:.68rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.rc-chip:hover{background:rgba(255,255,255,.08);color:var(--text-secondary);border-color:rgba(255,255,255,.12)}.rc-chip.active{background:rgba(16,185,129,.12);color:var(--accent);border-color:rgba(16,185,129,.3)}.research-card-options{display:flex;flex-wrap:wrap;gap:.6rem}.rc-checkbox{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-secondary);cursor:pointer}.rc-checkbox input[type=checkbox]{accent-color:var(--accent);width:14px;height:14px}.research-card-actions{display:flex}.rc-start-btn{display:flex;align-items:center;gap:.4rem;padding:.45rem 1rem;background:var(--accent);color:white;border:none;border-radius:100px;font-size:.76rem;font-weight:600;cursor:pointer;transition:all .2s}.rc-start-btn:hover:not(:disabled){background:var(--accent-hover)}.rc-start-btn:disabled{opacity:.5;cursor:not-allowed}.research-ref-picker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:480px;max-width:90vw;max-height:70vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.5);animation:preview-scale-in .2s ease}.research-ref-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid var(--border)}.research-ref-header h3{margin:0;font-size:.9rem;font-weight:600}.research-ref-list{flex:1 1;overflow-y:auto;padding:.5rem}.research-ref-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.8rem}.research-ref-item{width:100%;display:flex;flex-direction:column;gap:.2rem;padding:.6rem .75rem;background:none;border:none;border-radius:12px;color:var(--text);cursor:pointer;text-align:left;transition:background .12s;margin-bottom:2px}.research-ref-item:hover{background:rgba(255,255,255,.05)}.research-ref-item-query{font-size:.82rem;font-weight:500}.research-ref-item-meta{display:flex;align-items:center;gap:.5rem;font-size:.66rem;color:var(--text-muted)}.research-ref-item-type{background:rgba(16,185,129,.1);color:var(--accent);padding:.08rem .3rem;border-radius:4px;font-weight:600;text-transform:uppercase;font-size:.58rem}.research-steps{display:flex;flex-direction:column;gap:.1rem}.research-steps-query{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:500;color:var(--text-secondary);padding:.3rem .1rem .4rem}.research-step{display:flex;align-items:center;gap:.5rem;padding:.3rem .1rem}.research-step-icon{width:20px;height:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.research-step.active .research-step-icon,.research-step.done .research-step-icon{color:var(--accent)}.research-step.error .research-step-icon{color:var(--error)}.research-step-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.research-step-label{font-size:.74rem;color:var(--text-muted)}.research-step.active .research-step-label{color:var(--text);font-weight:500}.research-step.done .research-step-label{color:var(--text-secondary)}.research-step.error .research-step-label{color:var(--error)}.research-steps-footer{display:flex;align-items:center;justify-content:space-between;padding-top:.5rem;margin-top:.3rem;border-top:1px solid rgba(255,255,255,.05)}.research-steps-complete{font-size:.7rem;color:var(--accent);font-weight:500}.research-done-badge{font-size:.62rem;background:rgba(16,185,129,.12);color:var(--accent);padding:.12rem .4rem;border-radius:100px;font-weight:600}.text-select-menu{position:absolute;transform:translateX(-50%) translateY(-100%);display:flex;gap:1px;background:rgba(20,20,20,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.25rem;box-shadow:0 8px 32px rgba(0,0,0,.5);z-index:200;animation:text-menu-in .12s ease-out}@keyframes text-menu-in{0%{opacity:0;transform:translateX(-50%) translateY(-100%) scale(.95)}to{opacity:1;transform:translateX(-50%) translateY(-100%) scale(1)}}.text-select-menu button{display:flex;align-items:center;gap:.3rem;padding:.35rem .55rem;background:none;border:none;color:var(--text-secondary);border-radius:8px;font-size:.68rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .1s}.text-select-menu button:hover{background:rgba(255,255,255,.08);color:var(--text)}.text-select-menu button svg{flex-shrink:0;color:var(--text-muted)}.text-select-menu button:hover svg{color:var(--accent)}.composer-error{color:var(--error);padding:.4rem .75rem;font-size:.8rem;margin-top:.25rem}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.messages{scrollbar-width:none}.messages::-webkit-scrollbar{display:none}.assets-list::-webkit-scrollbar,.conversation-list::-webkit-scrollbar{width:4px}.assets-list::-webkit-scrollbar-track,.conversation-list::-webkit-scrollbar-track{background:transparent}.assets-list::-webkit-scrollbar-thumb,.conversation-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}@media (max-width:768px){.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:100;box-shadow:4px 0 20px rgba(0,0,0,.3)}.sidebar:not(.open){margin-left:calc(-1 * var(--sidebar-width))}.feature-grid{grid-template-columns:1fr}}