@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=Playfair+Display:wght@700;800&display=swap";*,:before,:after{box-sizing:border-box}html,body,#root{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;min-height:100vh;margin:0;padding:0}body{background:#0f0f13}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:root{--fp-bg:#fff;--fp-text:#111827;--fp-sub:#6b7280;--fp-label:#374151;--fp-input-bg:#f9fafb;--fp-input-bd:#e5e7eb;--fp-input-foc:#4f46e5;--fp-btn:#111827;--fp-btn-text:#fff;--fp-link:#4f46e5;--fp-error-bg:#fef2f2;--fp-error-bd:#fca5a5;--fp-error-txt:#dc2626;--ap-bg:#3d5afe;--ap-coral:#ff5252;--ap-pink:#f48fb1;--ap-light:#e8eaf6;--ap-card-bg:#fff;--radius-card:20px;--trans:.25s ease}.auth-split-page{background:#f3f4f6;justify-content:center;align-items:center;min-height:100vh;padding:2rem;font-family:Inter,sans-serif;display:flex}.auth-form-panel{background:var(--fp-bg);border-radius:var(--radius-card) 0 0 var(--radius-card);z-index:2;flex-direction:column;width:420px;min-width:320px;padding:3rem 3rem 2.5rem;animation:.55s cubic-bezier(.16,1,.3,1) both fpSlideIn;display:flex;position:relative;box-shadow:0 20px 60px #0000001f,0 4px 16px #0000000f}@keyframes fpSlideIn{0%{opacity:0;transform:translate(-30px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.auth-brand{align-items:center;gap:.55rem;margin-bottom:2.5rem;display:flex}.auth-brand-icon{background:var(--fp-btn);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:1.1rem;display:flex}.auth-brand-name{color:var(--fp-text);letter-spacing:-.01em;font-size:1rem;font-weight:700}.auth-form-wrap{flex:1}.af-inner{animation:.4s cubic-bezier(.16,1,.3,1) both afFadeUp}@keyframes afFadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.af-heading{color:var(--fp-text);letter-spacing:-.02em;margin:0 0 .3rem;font-size:1.8rem;font-weight:700}.af-sub{color:var(--fp-sub);margin:0 0 2rem;font-size:.875rem}.af-form{flex-direction:column;gap:1.15rem;display:flex}.af-field{flex-direction:column;gap:.38rem;animation:.35s both fieldIn;display:flex}.af-field:first-child{animation-delay:50ms}.af-field:nth-child(2){animation-delay:.1s}.af-field:nth-child(3){animation-delay:.15s}@keyframes fieldIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.af-label{color:var(--fp-label);letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:600}.af-input{background:var(--fp-input-bg);border:1.5px solid var(--fp-input-bd);color:var(--fp-text);transition:border-color var(--trans), box-shadow var(--trans), transform var(--trans);border-radius:10px;outline:none;padding:.72rem 1rem;font-family:Inter,sans-serif;font-size:.925rem}.af-input::placeholder{color:#9ca3af}.af-input:focus{border-color:var(--fp-input-foc);background:#fff;transform:translateY(-1px);box-shadow:0 0 0 3px #4f46e51f}.af-error{color:var(--fp-error-txt);background:var(--fp-error-bg);border:1px solid var(--fp-error-bd);border-radius:8px;margin:0;padding:.6rem .9rem;font-size:.82rem;animation:.4s errorShake}@keyframes errorShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}.af-btn{background:var(--fp-btn);color:var(--fp-btn-text);cursor:pointer;letter-spacing:.01em;transition:background var(--trans), transform var(--trans), box-shadow var(--trans);border:none;border-radius:10px;justify-content:center;align-items:center;margin-top:.35rem;padding:.82rem 1rem;font-family:Inter,sans-serif;font-size:.95rem;font-weight:600;display:flex;position:relative;overflow:hidden}.af-btn:after{content:"";opacity:0;transition:opacity var(--trans);background:linear-gradient(135deg,#ffffff1f 0%,#0000 60%);position:absolute;inset:0}.af-btn:hover:not(:disabled){background:#1f2937;transform:translateY(-2px);box-shadow:0 8px 20px #11182759}.af-btn:hover:not(:disabled):after{opacity:1}.af-btn:active:not(:disabled){transform:translateY(0)}.af-btn:disabled{opacity:.55;cursor:not-allowed}.af-spinner{border:2.5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite afSpin;display:inline-block}@keyframes afSpin{to{transform:rotate(360deg)}}.af-switch{color:var(--fp-sub);text-align:center;margin:1.5rem 0 0;font-size:.84rem}.af-link{color:var(--fp-link);cursor:pointer;text-underline-offset:2px;transition:opacity var(--trans);background:0 0;border:none;padding:0;font-family:Inter,sans-serif;font-size:.84rem;font-weight:600;text-decoration:underline}.af-link:hover{opacity:.75}.auth-geo-panel{background:var(--ap-bg);border-radius:0 var(--radius-card) var(--radius-card) 0;flex-direction:column;justify-content:flex-end;width:440px;min-height:560px;padding:2.5rem;animation:.55s cubic-bezier(.16,1,.3,1) .1s both gpSlideIn;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 60px #3d5afe59,0 4px 16px #00000014}@keyframes gpSlideIn{0%{opacity:0;transform:translate(30px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.geo-dots{pointer-events:none;background-image:radial-gradient(circle,#ffffff2e 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.geo-shapes{pointer-events:none;position:absolute;inset:0}.geo{animation:6s ease-in-out infinite geoFloat;position:absolute}.g-circle-big{background:var(--ap-coral);opacity:.9;border-radius:50%;width:180px;height:180px;animation-duration:7s;top:-40px;right:-40px}.g-circle-sm{background:var(--ap-pink);opacity:.7;border-radius:50%;width:80px;height:80px;animation-duration:9s;animation-delay:-2s;top:60px;left:30px}.g-half-circle{background:var(--ap-light);opacity:.6;border-radius:0 0 50px 50px;width:100px;height:50px;animation-delay:-4s;top:130px;right:50px}.g-rect{background:var(--ap-coral);opacity:.5;border-radius:8px;width:60px;height:100px;animation-duration:8s;animation-delay:-1s;top:180px;left:50px;transform:rotate(20deg)}.g-triangle{background:var(--ap-light);clip-path:polygon(50% 0%,0% 100%,100% 100%);opacity:.55;width:70px;height:70px;animation-delay:-3s;top:60px;right:120px}.g-ring{border:12px solid var(--ap-pink);opacity:.6;background:0 0;border-radius:50%;width:90px;height:90px;animation-duration:10s;animation-delay:-5s;top:240px;right:20px}.g-dot-cluster{background-image:radial-gradient(circle,#ffffff80 2px,#0000 2px);background-size:12px 12px;width:80px;height:80px;animation-delay:-1.5s;top:50px;left:160px}@keyframes geoFloat{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-12px)rotate(4deg)}66%{transform:translateY(8px)rotate(-3deg)}}.geo-card{background:var(--ap-card-bg);border-radius:14px;flex-direction:column;gap:.65rem;width:260px;padding:1rem 1.2rem;animation:5s ease-in-out infinite cardLevitate;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 50px #00000040}@keyframes cardLevitate{0%,to{transform:translate(-50%,-50%)translateY(0)rotate(-1deg)}50%{transform:translate(-50%,-50%)translateY(-10px)rotate(1deg)}}.geo-card-bar{background:#e5e7eb;border-radius:4px;width:100%;height:8px;margin-bottom:.2rem}.geo-card-row{align-items:center;gap:.6rem;display:flex}.gcr-dot{border-radius:50%;flex-shrink:0;width:28px;height:28px}.gcr-dot.a{background:var(--ap-coral)}.gcr-dot.b{background:var(--ap-pink)}.gcr-dot.c{background:#a5b4fc}.gcr-dot.d{background:#6ee7b7}.gcr-line{background:#f3f4f6;border-radius:4px;flex:1;height:8px}.gcr-pill{background:#e5e7eb;border-radius:20px;flex-shrink:0;width:48px;height:22px}.gcr-pill.active{background:#bbf7d0}.geo-tagline{z-index:5;color:#fff;position:relative}.geo-tagline h2{margin:0 0 .45rem;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;line-height:1.2}.geo-tagline p{opacity:.75;margin:0 0 1.2rem;font-size:.87rem;line-height:1.5}.geo-dots-nav{gap:.45rem;display:flex}.geo-dots-nav span{background:#ffffff59;border-radius:50%;width:8px;height:8px;transition:all .3s}.geo-dots-nav span.active{background:#fff;border-radius:4px;width:24px}@media (width<=860px){.auth-split-page{flex-direction:column;padding:1rem}.auth-form-panel{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:460px;padding:2.5rem 2rem 2rem}.auth-geo-panel{border-radius:0 0 var(--radius-card) var(--radius-card);justify-content:flex-end;width:100%;max-width:460px;min-height:280px;padding:2rem}.geo-card{display:none}}@media (width<=480px){.auth-split-page{padding:0}.auth-form-panel{border-radius:0;max-width:100%;padding:2rem 1.5rem 1.5rem}.auth-geo-panel{border-radius:0;max-width:100%}.af-heading{font-size:1.5rem}}:root{--c-bg:#0f0f13;--c-surface:#17171e;--c-surface2:#1f1f2a;--c-border:#28283a;--c-border2:#32324a;--c-text:#f0eff4;--c-text2:#c8c6d4;--c-text3:#7e7c96;--c-text4:#48465e;--c-accent:#7c6aff;--c-accent2:#5b4ecc;--c-accent-glow:#7c6aff4d;--c-accent-ring:#7c6aff26;--c-accent-soft:#7c6aff12;--c-user-bubble:linear-gradient(135deg, #1e1442 0%, #19123b 100%);--c-user-border:#3a2e7a;--c-bot-bubble:#17171e;--c-status:#22c55e;--c-error:#f87171;--c-red-bg:#f8717114;--c-sidebar-w:260px;--c-header-h:60px;--blur:blur(18px);--trans:.22s ease}:root[data-theme=light]{--c-bg:#f5f5fa;--c-surface:#fff;--c-surface2:#f0eff8;--c-border:#e2e1ee;--c-border2:#cccbe0;--c-text:#12111a;--c-text2:#2e2c40;--c-text3:#7e7c96;--c-text4:#b0aec8;--c-accent:#5b4ecc;--c-accent2:#4338a8;--c-accent-glow:#5b4ecc38;--c-accent-ring:#5b4ecc1f;--c-accent-soft:#5b4ecc0f;--c-user-bubble:linear-gradient(135deg, #ddd9ff 0%, #ccc6ff 100%);--c-user-border:#a8a0f0;--c-bot-bubble:#fff;--c-status:#16a34a}.chat-page{background:var(--c-bg);height:100vh;transition:background var(--trans);font-family:Inter,sans-serif;display:flex;position:relative;overflow:hidden}.chat-page:after{content:"";background:radial-gradient(circle, var(--c-accent-ring) 0%, transparent 65%);pointer-events:none;z-index:0;border-radius:50%;width:600px;height:600px;animation:20s ease-in-out infinite alternate backdropDrift;position:fixed;top:-30%;right:-20%}@keyframes backdropDrift{0%{transform:translate(0)scale(1)}to{transform:translate(-60px,80px)scale(1.15)}}.chat-bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-orb{background:radial-gradient(circle, var(--c-accent-soft) 0%, transparent 70%);filter:blur(50px);border-radius:50%;animation:linear infinite orbDrift;position:absolute;transform:translate(-50%,-50%)}@keyframes orbDrift{0%{opacity:.6;transform:translate(-50%,-50%)scale(1)}50%{opacity:.9;transform:translate(-48%,-53%)scale(1.1)}to{opacity:.6;transform:translate(-50%,-50%)scale(1)}}.send-burst{pointer-events:none;z-index:200;width:0;height:0;position:fixed;bottom:5.5rem;right:5rem}.burst-particle{background:var(--c-accent);width:7px;height:7px;animation:.65s ease-out forwards burstFly;animation-delay:calc(var(--i) * 40ms);border-radius:50%;position:absolute}.burst-particle:first-child{--tx:44px;--ty:-20px}.burst-particle:nth-child(2){--tx:30px;--ty:-44px}.burst-particle:nth-child(3){--tx:0px;--ty:-50px}.burst-particle:nth-child(4){--tx:-30px;--ty:-44px}.burst-particle:nth-child(5){--tx:-46px;--ty:-14px}.burst-particle:nth-child(6){--tx:-36px;--ty:26px}.burst-particle:nth-child(7){--tx:0px;--ty:46px}.burst-particle:nth-child(8){--tx:36px;--ty:26px}@keyframes burstFly{0%{opacity:1;transform:translate(0)scale(1.2)}to{transform:translate(var(--tx), var(--ty)) scale(0);opacity:0}}.sidebar{width:var(--c-sidebar-w);min-width:var(--c-sidebar-w);background:var(--c-surface);border-right:1px solid var(--c-border);z-index:10;transition:background var(--trans), transform .3s cubic-bezier(.32, 0, .15, 1);flex-direction:column;padding:1.5rem 1rem;display:flex;position:relative;box-shadow:4px 0 32px #00000040}.sidebar:before{content:"";background:linear-gradient(180deg, transparent, var(--c-accent), transparent);opacity:.5;width:3px;height:100%;position:absolute;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--c-border);align-items:center;gap:.6rem;margin-bottom:1.5rem;padding:.25rem .5rem 1.5rem;display:flex}.logo-icon{background:var(--c-accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;animation:4s ease-in-out infinite logoRock;display:flex}@keyframes logoRock{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)scale(1.05)}}.logo-text{color:var(--c-text);letter-spacing:-.015em;font-size:1.05rem;font-weight:700}.sidebar-nav{flex:1}.nav-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--c-text4);margin-bottom:.5rem;padding:0 .5rem;font-size:.65rem;font-weight:600}.nav-item{width:100%;color:var(--c-text3);cursor:pointer;transition:background var(--trans), color var(--trans), transform var(--trans);text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:.6rem;padding:.65rem .75rem;font-family:Inter,sans-serif;font-size:.875rem;display:flex}.nav-item:hover{background:var(--c-surface2);color:var(--c-text);transform:translate(3px)}.nav-item--active{background:var(--c-accent-soft);color:var(--c-accent);box-shadow:inset 0 0 0 1px var(--c-accent-ring)}.sidebar-footer{border-top:1px solid var(--c-border);align-items:center;gap:.7rem;padding-top:1rem;display:flex}.user-info{flex:1;align-items:center;gap:.6rem;display:flex;overflow:hidden}.user-avatar-sm{background:linear-gradient(135deg, var(--c-accent), var(--c-accent2));color:#fff;width:34px;min-width:34px;height:34px;transition:transform var(--trans), box-shadow var(--trans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.user-avatar-sm:hover{box-shadow:0 0 16px var(--c-accent-glow);transform:scale(1.1)rotate(5deg)}.user-details{flex-direction:column;gap:.08rem;display:flex;overflow:hidden}.user-name{color:var(--c-text2);white-space:nowrap;text-overflow:ellipsis;font-size:.83rem;font-weight:600;overflow:hidden}.user-role{color:var(--c-text4);font-size:.68rem}.logout-btn{color:var(--c-text4);cursor:pointer;transition:all var(--trans);background:0 0;border:1px solid #0000;border-radius:8px;padding:.4rem;display:flex}.logout-btn:hover{color:var(--c-error);background:var(--c-red-bg);border-color:#f8717140;transform:scale(1.12)}.chat-main{z-index:5;flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.chat-header{height:var(--c-header-h);background:color-mix(in srgb, var(--c-surface) 75%, transparent);-webkit-backdrop-filter:var(--blur);border-bottom:1px solid var(--c-border);z-index:20;align-items:center;gap:.75rem;padding:0 1.5rem;animation:.45s cubic-bezier(.16,1,.3,1) both headerIn;display:flex;position:sticky;top:0}@keyframes headerIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.header-info{flex:1;align-items:center;gap:.7rem;display:flex}.header-avatar{background:linear-gradient(135deg, var(--c-accent), var(--c-accent2));color:#fff;cursor:default;width:36px;height:36px;transition:transform var(--trans);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;animation:4s ease-in-out infinite headerAvatarPop;display:flex}.header-avatar:hover{transform:scale(1.1)rotate(8deg)}@keyframes headerAvatarPop{0%,to{box-shadow:0 0 0 0 var(--c-accent-ring)}50%{box-shadow:0 0 0 6px var(--c-accent-ring)}}.header-text{flex-direction:column;gap:.05rem;display:flex}.header-title{color:var(--c-text);letter-spacing:-.01em;font-size:.97rem;font-weight:700}.header-status{color:var(--c-text3);align-items:center;gap:.35rem;font-size:.7rem;display:flex}.status-dot{background:var(--c-status);width:7px;height:7px;box-shadow:0 0 8px var(--c-status);border-radius:50%;animation:2.2s ease-in-out infinite statusPulse}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.status-label{animation:2.2s ease-in-out infinite statusFade}@keyframes statusFade{0%,to{opacity:.65}50%{opacity:1}}.theme-toggle{background:var(--c-surface2);border:1px solid var(--c-border2);color:var(--c-text3);cursor:pointer;white-space:nowrap;transition:all var(--trans);border-radius:20px;flex-shrink:0;align-items:center;gap:.38rem;padding:.38rem .7rem;font-family:Inter,sans-serif;font-size:.72rem;font-weight:500;display:flex}.theme-toggle:hover{color:var(--c-accent);border-color:var(--c-accent);background:var(--c-accent-soft);box-shadow:0 0 14px var(--c-accent-glow);transform:scale(1.04)}.theme-toggle svg{transition:transform .45s}.theme-toggle:hover svg{transform:rotate(40deg)}.menu-btn{border:1px solid var(--c-border2);color:var(--c-text3);cursor:pointer;transition:all var(--trans);background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;padding:.4rem;display:none}.menu-btn:hover{color:var(--c-accent);border-color:var(--c-accent);background:var(--c-accent-soft);transform:scale(1.06)}.messages-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.messages-area{scroll-behavior:smooth;flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.messages-area::-webkit-scrollbar{width:4px}.messages-area::-webkit-scrollbar-track{background:0 0}.messages-area::-webkit-scrollbar-thumb{background:var(--c-border2);border-radius:4px}.messages-area::-webkit-scrollbar-thumb:hover{background:var(--c-text4)}.message-row{align-items:flex-end;gap:.65rem;display:flex}.user-row{flex-direction:row-reverse}.bot-row{animation:.38s cubic-bezier(.22,1,.36,1) both msgInLeft}.user-row{animation:.38s cubic-bezier(.22,1,.36,1) both msgInRight}@keyframes msgInLeft{0%{opacity:0;transform:translate(-18px)translateY(6px)scale(.97)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}@keyframes msgInRight{0%{opacity:0;transform:translate(18px)translateY(6px)scale(.97)}to{opacity:1;transform:translate(0)translateY(0)scale(1)}}.avatar{width:34px;min-width:34px;height:34px;transition:transform var(--trans);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.88rem;font-weight:700;display:flex}.avatar:hover{transform:scale(1.15)rotate(-4deg)}.bot-avatar{background:var(--c-surface2);color:var(--c-accent);border:1.5px solid var(--c-border2);font-size:1rem;animation:4s ease-in-out infinite botGlow}@keyframes botGlow{0%,to{box-shadow:0 0 0 0 var(--c-accent-ring)}50%{box-shadow:0 0 0 5px var(--c-accent-ring)}}.user-avatar{background:linear-gradient(135deg, var(--c-accent), var(--c-accent2));color:#fff;box-shadow:0 0 12px var(--c-accent-glow)}.bubble{max-width:min(68%,600px);transition:box-shadow var(--trans), transform var(--trans);border-radius:16px;padding:.85rem 1.1rem;position:relative;box-shadow:0 1px 6px #0003}.bubble:hover{transform:translateY(-1px);box-shadow:0 4px 20px #0000004d}.user-bubble{background:var(--c-user-bubble);border:1px solid var(--c-user-border);border-bottom-right-radius:4px}.bot-bubble{background:var(--c-bot-bubble);border:1px solid var(--c-border);border-bottom-left-radius:4px}.bot-bubble:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--c-accent-soft) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.bubble-text{color:var(--c-text2);word-break:break-word;font-size:.915rem;line-height:1.65}.timestamp{color:var(--c-text4);text-align:right;margin-top:.4rem;font-size:.64rem;display:block}.lyrics-block{flex-direction:column;gap:.75rem;display:flex}.lyrics-header{border-bottom:1px solid var(--c-border);align-items:center;gap:.45rem;padding-bottom:.5rem;display:flex}.lyrics-icon{font-size:1rem;animation:8s linear infinite spinSlow;display:inline-block}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.lyrics-label{text-transform:uppercase;letter-spacing:.1em;color:var(--c-accent);flex:1;font-size:.68rem;font-weight:700}.lyrics-source{color:var(--c-text4);font-size:.64rem}.copy-btn{background:var(--c-accent-soft);border:1px solid var(--c-border2);color:var(--c-text3);cursor:pointer;transition:all var(--trans);white-space:nowrap;border-radius:7px;align-items:center;gap:.28rem;padding:.2rem .5rem;font-family:Inter,sans-serif;font-size:.64rem;font-weight:500;display:flex}.copy-btn:hover{color:var(--c-accent);border-color:var(--c-accent);background:var(--c-accent-ring);transform:scale(1.06)}.copy-btn:active{transform:scale(.95)}.copy-btn--copied{box-shadow:0 0 8px #4ade8033;color:#4ade80!important;background:#4ade8014!important;border-color:#4ade8066!important}.lyrics-text{color:var(--c-text2);white-space:pre-wrap;word-break:break-word;border-left:2.5px solid var(--c-accent);transition:padding-left var(--trans), border-color var(--trans);margin:0;padding-left:1rem;font-family:Inter,sans-serif;font-size:.875rem;line-height:1.9}.lyrics-text:hover{border-left-color:var(--c-accent2);padding-left:1.3rem}.typing-bubble{align-items:center;gap:0;min-width:80px;min-height:52px;padding:.95rem 1.2rem;display:flex}.waveform{align-items:center;gap:4px;height:26px;display:flex}.wave-bar{background:var(--c-accent);width:4px;animation:1.1s ease-in-out infinite waveAnim;animation-delay:calc(var(--i) * .13s);box-shadow:0 0 5px var(--c-accent-glow);border-radius:4px;display:block}@keyframes waveAnim{0%,to{opacity:.35;height:4px}50%{opacity:1;height:24px}}.scroll-to-bottom{background:linear-gradient(135deg, var(--c-accent), var(--c-accent2));color:#fff;cursor:pointer;width:36px;height:36px;box-shadow:0 4px 16px var(--c-accent-glow);transition:transform var(--trans), box-shadow var(--trans);z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;animation:.3s cubic-bezier(.16,1,.3,1) scrollBtnIn;display:flex;position:absolute;bottom:1rem;right:1.25rem}@keyframes scrollBtnIn{0%{opacity:0;transform:scale(.5)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.scroll-to-bottom:hover{box-shadow:0 6px 22px var(--c-accent-glow);transform:scale(1.12)}.scroll-to-bottom:hover svg{transform:translateY(2px)}.scroll-to-bottom svg{transition:transform var(--trans)}.input-area{background:color-mix(in srgb, var(--c-surface) 80%, transparent);border-top:1px solid var(--c-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:.6rem;padding:.75rem 1.25rem 1.1rem;display:flex;position:relative}.input-area:before{content:"";background:linear-gradient(90deg, transparent, var(--c-accent-glow), transparent);height:1px;animation:3.5s ease-in-out infinite inputGlow;position:absolute;top:-1px;left:20%;right:20%}@keyframes inputGlow{0%,to{opacity:.2;left:30%;right:30%}50%{opacity:.6;left:15%;right:15%}}.suggestions{flex-wrap:wrap;gap:.4rem;display:flex}.suggestion-chip{background:var(--c-surface2);border:1px solid var(--c-border2);color:var(--c-text3);cursor:pointer;white-space:nowrap;border-radius:20px;padding:.3rem .8rem;font-family:Inter,sans-serif;font-size:.72rem;transition:all .22s;animation:.4s both chipIn}.suggestion-chip:first-child{animation-delay:40ms}.suggestion-chip:nth-child(2){animation-delay:.1s}.suggestion-chip:nth-child(3){animation-delay:.16s}@keyframes chipIn{0%{opacity:0;transform:translateY(6px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.suggestion-chip:hover:not(:disabled){border-color:var(--c-accent);color:var(--c-accent);background:var(--c-accent-soft);box-shadow:0 4px 12px var(--c-accent-ring);transform:translateY(-2px)}.suggestion-chip:active:not(:disabled){transform:translateY(0)scale(.97)}.suggestion-chip:disabled{opacity:.3;cursor:not-allowed}.input-bar{background:var(--c-surface);border:1.5px solid var(--c-border2);transition:border-color var(--trans), box-shadow var(--trans), transform var(--trans);border-radius:14px;align-items:flex-end;gap:.65rem;padding:.5rem .5rem .5rem 1rem;display:flex}.input-bar:focus-within{border-color:var(--c-accent);box-shadow:0 0 0 3px var(--c-accent-ring), 0 4px 20px var(--c-accent-ring);transform:translateY(-1px)}.input-bar--disabled{opacity:.5;pointer-events:none}.chat-textarea{resize:none;color:var(--c-text);background:0 0;border:none;outline:none;flex:1;max-height:140px;padding:.3rem 0;font-family:Inter,sans-serif;font-size:.91rem;line-height:1.6;overflow-y:auto}.chat-textarea::placeholder{color:var(--c-text4)}.chat-textarea:focus::placeholder{color:#0000}.chat-textarea::-webkit-scrollbar{width:3px}.chat-textarea::-webkit-scrollbar-thumb{background:var(--c-border2);border-radius:3px}.send-btn{background:var(--c-surface2);width:40px;min-width:40px;height:40px;color:var(--c-text4);cursor:not-allowed;border:none;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .22s;display:flex}.send-btn svg{width:16px;height:16px;transition:transform var(--trans)}.send-btn--active{background:var(--c-accent);color:#fff;cursor:pointer;box-shadow:0 4px 14px var(--c-accent-glow);animation:.28s cubic-bezier(.16,1,.3,1) sendActive}@keyframes sendActive{0%{transform:scale(.85)rotate(-10deg)}to{transform:scale(1)rotate(0)}}.send-btn--active:hover{box-shadow:0 6px 20px var(--c-accent-glow);transform:scale(1.1)rotate(-5deg)}.send-btn--active:hover svg{transform:translate(2px)translateY(-2px)}.send-btn--active:active{transform:scale(.94)}.input-hint{color:var(--c-text4);text-align:center;letter-spacing:.02em;font-size:.66rem;animation:4s ease-in-out infinite hintPulse}@keyframes hintPulse{0%,to{opacity:.4}50%{opacity:.85}}.sidebar-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:99;background:#0009;animation:.2s overlayIn;display:none;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@media (width<=900px){:root{--c-sidebar-w:220px}.bubble{max-width:min(78%,520px)}}@media (width<=700px){.menu-btn{display:flex}.sidebar-overlay{display:block}.sidebar{z-index:100;width:250px;min-width:250px;height:100%;transition:transform .3s cubic-bezier(.32,0,.15,1);position:fixed;top:0;left:0;transform:translate(-110%)}.sidebar--open{transform:translate(0)}.chat-header{padding:0 .85rem}.header-title{font-size:.93rem}.theme-toggle span{display:none}.messages-area{gap:.85rem;padding:.85rem}.bubble{max-width:88%;padding:.75rem .9rem}.avatar{width:30px;min-width:30px;height:30px;font-size:.78rem}.bot-avatar{font-size:.9rem}.input-area{gap:.5rem;padding:.55rem .85rem .9rem}.suggestions{gap:.3rem}.suggestion-chip{padding:.26rem .65rem;font-size:.69rem}.input-hint{display:none}.scroll-to-bottom{width:34px;height:34px;bottom:.65rem;right:.75rem}}@media (width<=380px){.bubble{max-width:93%}.header-title{font-size:.88rem}.header-avatar{display:none}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0f}#root{height:100vh;overflow:hidden}.global-loader{background:#0a0a0f;justify-content:center;align-items:center;height:100vh;display:flex}.global-spinner{border:3px solid #1e1e2e;border-top-color:#e8c97e;border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
