@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=Syne:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Mono:wght@400;500&family=Syne:wght@400;500;600;700&display=swap";html{scroll-behavior:smooth;background:#0a0a0f}body{min-width:320px}#root{min-height:100svh}::selection{color:#f0effe;background:#7c6af759}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}*{scrollbar-width:thin;scrollbar-color:#ffffff14 transparent;box-sizing:border-box}:root{--bg:#0a0a0f;--surface:#111118;--surface-2:#18181f;--surface-3:#1e1e28;--border:#ffffff12;--border-strong:#ffffff1f;--accent:#7c6af7;--accent-soft:#a89ff8;--accent-glow:#7c6af726;--success:#4ade80;--danger:#f87171;--warn:#fbbf24;--font-display:"DM Serif Display", Georgia, serif;--font-ui:"Syne", system-ui, sans-serif;--font-mono:"DM Mono", monospace;--radius:12px;--radius-sm:8px}body{background:var(--bg);color:var(--text,#f0effe);font-family:var(--font-ui);--text:#f0effe;--text-muted:#9896b0;--text-faint:#5a5870;margin:0}button,textarea{font:inherit}#root,.app{min-height:100svh}.app{height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:280px;min-width:280px;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border);padding:24px 20px 16px;position:relative;overflow:hidden}.sidebar-header:before{content:"";pointer-events:none;background:conic-gradient(#7c6af70f 0deg,#6366f10a 90deg,#8b5cf60f 180deg,#7c6af708 270deg,#7c6af70f 360deg);width:200%;height:200%;animation:20s linear infinite aurora-rotate;position:absolute;top:-50%;left:-50%}@keyframes aurora-rotate{to{transform:rotate(360deg)}}.logo,.mobile-logo{font-family:var(--font-display);color:var(--text);align-items:center;gap:8px;display:flex;position:relative}.logo{font-size:22px}.mobile-logo{font-size:18px}.logo-dot{background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px var(--accent), 0 0 20px #7c6af74d;border-radius:50%;animation:2s ease-in-out infinite pulse-dot}.logo-sub{letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin-top:2px;font-size:11px;font-weight:500;position:relative}.upload-section{border-bottom:1px solid var(--border);padding:16px}.upload-zone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--surface-2);padding:20px 16px;transition:border-color .25s,background .25s,box-shadow .25s;position:relative;overflow:hidden}.upload-zone:hover{border-color:var(--accent);background:var(--accent-glow)}.upload-zone.drag-over{border-color:var(--accent);background:var(--accent-glow);box-shadow:0 0 30px #7c6af726,inset 0 0 30px #7c6af70d}.upload-zone input{opacity:0;cursor:pointer;position:absolute;inset:0}.upload-icon{background:var(--surface-3);border:1px solid var(--border-strong);width:36px;height:36px;color:var(--accent-soft);border-radius:10px;justify-content:center;align-items:center;margin:0 auto 10px;transition:transform .3s,background .3s;display:flex}.upload-zone:hover .upload-icon,.upload-zone.drag-over .upload-icon{background:#7c6af726;transform:translateY(-2px)}.upload-title{font-size:13px;font-weight:600}.upload-sub,.doc-meta,.chat-subtitle,.input-hint,.model-selector{color:var(--text-faint)}.upload-sub{margin-top:4px;font-size:11px}.crawl-section{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:16px;display:flex}.crawl-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;font-size:11px;font-weight:600}.crawl-form{flex-direction:column;gap:8px;display:flex}.crawl-input{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-main);outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s,background-color .2s}.crawl-input:focus{border-color:var(--accent);background:var(--surface-1)}.crawl-btn{border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;border:none;width:100%;height:36px;font-size:13px;font-weight:500;transition:background .15s,transform .1s,box-shadow .2s}.crawl-btn:hover:not(:disabled){background:#9183f8;box-shadow:0 2px 12px #7c6af74d}.crawl-btn:active:not(:disabled){transform:scale(.97)}.crawl-btn:disabled{background:var(--surface-3);color:var(--text-faint);cursor:not-allowed}.docs-section{flex:1;padding:12px;overflow-y:auto}.docs-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);padding:4px 8px 8px;font-size:10px;font-weight:600}.empty-docs{text-align:center;color:var(--text-faint);padding:20px 10px;font-size:12px}.doc-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:10px;transition:background .15s,transform .15s;animation:.35s cubic-bezier(.16,1,.3,1) both doc-slide-in;display:flex}@keyframes doc-slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.doc-item:hover{background:var(--surface-2)}.doc-item.active{background:var(--surface-3)}.doc-icon{width:32px;min-width:32px;height:32px;font:700 11px/1 var(--font-mono);background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;transition:transform .2s;display:flex}.doc-item:hover .doc-icon{transform:scale(1.05)}.doc-icon.pdf{color:var(--danger);background:#f871711f;border-color:#f8717133}.doc-icon.txt{color:var(--accent-soft);background:#7c6af71f;border-color:#7c6af733}.doc-icon.md{color:var(--success);background:#4ade801a;border-color:#4ade8033}.doc-icon.web{color:#38bdf8;background:#38bdf81a;border-color:#38bdf833}.doc-info{flex:1;min-width:0}.doc-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.doc-meta{margin-top:1px;font-size:10px}.doc-status{border-radius:50%;width:6px;min-width:6px;height:6px}.doc-status.ready{background:var(--success);box-shadow:0 0 6px var(--success)}.doc-status.processing{background:var(--warn);animation:1s infinite pulse-dot}.doc-status.error{background:var(--danger)}.doc-remove{opacity:0;color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:3px;transition:opacity .15s,color .15s,background .15s;display:flex}.doc-item:hover .doc-remove,.doc-remove:focus-visible{opacity:1}.doc-remove:hover{color:var(--danger);background:#f871711a}.main{background:var(--bg);flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-header,.mobile-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.chat-header{-webkit-backdrop-filter:blur(12px)saturate(1.3);background:#111118b3;padding:16px 24px}.mobile-header{-webkit-backdrop-filter:blur(12px)saturate(1.3);background:#111118b3;gap:12px;padding:12px 16px;display:none}.chat-title{font-size:15px;font-weight:600}.chat-subtitle{margin-top:1px;font-size:12px}.header-actions,.mobile-actions{align-items:center;gap:8px;display:flex}.badge{font:600 11px/1 var(--font-mono);border-radius:20px;padding:5px 10px;transition:background .3s,color .3s,border-color .3s,transform .2s}.badge.active{color:var(--accent-soft);background:#7c6af726;border:1px solid #7c6af74d}.badge.inactive{background:var(--surface-3);color:var(--text-faint);border:1px solid var(--border)}.icon-btn,.hamburger,.sidebar-close,.send-btn{cursor:pointer;justify-content:center;align-items:center;display:flex}.icon-btn,.hamburger{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s,transform .1s}.icon-btn:hover,.hamburger:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong)}.icon-btn:active,.hamburger:active{transform:scale(.95)}.hamburger{flex-direction:column;gap:4px;padding:9px}.hamburger span{background:currentColor;border-radius:2px;width:100%;height:1.5px;display:block}.user-dropdown-wrap{position:relative}.user-avatar-btn{background:linear-gradient(135deg, var(--accent) 0%, #9183f8 100%);color:#fff;width:34px;height:34px;font-size:13px;font-weight:700;font-family:var(--font-mono);cursor:pointer;border:2px solid #7c6af74d;border-radius:50%;justify-content:center;align-items:center;transition:transform .15s,box-shadow .2s;display:flex}.user-avatar-btn:hover{transform:scale(1.08);box-shadow:0 0 16px #7c6af759}.user-dropdown{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:30;min-width:200px;animation:.2s cubic-bezier(.16,1,.3,1) dropdown-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000080}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.user-dropdown-info{border-bottom:1px solid var(--border);padding:14px 16px}.user-dropdown-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.user-dropdown-email{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.user-dropdown-item{width:100%;color:var(--text-muted);font-size:13px;font-family:var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:10px 16px;transition:background .1s,color .1s;display:flex}.user-dropdown-item:hover{background:var(--surface-2);color:var(--text)}.user-dropdown-item.danger:hover{color:var(--danger);background:#f871710f}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:20px;padding:24px;display:flex;overflow-y:auto}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.empty-orb{background:linear-gradient(135deg,#7c6af733 0%,#8b5cf626 50%,#6366f133 100%);border:1px solid #7c6af733;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;animation:4s ease-in-out infinite orb-pulse;display:flex;position:relative}.empty-orb:before{content:"";background:radial-gradient(circle,#7c6af71f 0%,#0000 70%);border-radius:50%;animation:4s ease-in-out infinite orb-glow;position:absolute;inset:-8px}.empty-orb:after{content:"";background:conic-gradient(#0000 0deg,#7c6af726 60deg,#0000 120deg);border-radius:50%;animation:8s linear infinite orb-spin;position:absolute;inset:0}@keyframes orb-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes orb-glow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes orb-spin{to{transform:rotate(360deg)}}.empty-title{font-family:var(--font-display);font-size:24px}.empty-desc{color:var(--text-muted);max-width:320px;font-size:14px;line-height:1.6}.suggested-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-muted);cursor:pointer;border-radius:20px;padding:7px 14px;font-size:12px;transition:background .2s,border-color .2s,color .2s,transform .15s}.chip:hover{background:var(--surface-3);border-color:var(--accent);color:var(--accent-soft);transform:translateY(-1px)}.chip:active{transform:scale(.97)}.message-row{gap:12px;animation:.35s cubic-bezier(.16,1,.3,1) both msg-enter;display:flex}@keyframes msg-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-row.user{flex-direction:row-reverse}.msg-avatar{border-radius:50%;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;margin-top:2px;font-size:12px;font-weight:700;display:flex}.msg-avatar.ai{background:var(--accent-glow);color:var(--accent-soft);font-family:var(--font-mono);border:1px solid #7c6af74d}.msg-avatar.user{background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-muted)}.msg-content{max-width:72%;position:relative}.msg-bubble{border-radius:var(--radius);white-space:pre-wrap;padding:12px 16px;font-size:14px;line-height:1.65}.message-row.ai .msg-bubble{background:var(--surface);border:1px solid var(--border);border-top-left-radius:4px}.message-row.user .msg-bubble{background:var(--accent);color:#fff;text-align:right;border-top-right-radius:4px}.msg-copy-btn{background:var(--surface-2);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-faint);cursor:pointer;opacity:0;z-index:2;border-radius:6px;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s,transform .1s;display:flex;position:absolute;top:6px;right:6px}.message-row.ai:hover .msg-copy-btn{opacity:1}.msg-copy-btn:hover{background:var(--surface-3);color:var(--text)}.msg-copy-btn:active{transform:scale(.9)}.msg-copy-btn.copied{color:var(--success);opacity:1}.msg-bubble code{font-family:var(--font-mono);background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:2px 5px;font-size:.88em}.msg-bubble pre{border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);background:#0000004d;margin:8px 0;padding:10px 12px;font-size:.85em;line-height:1.5;overflow-x:auto}.msg-bubble pre code{background:0 0;border:none;padding:0}.msg-bubble strong{color:var(--text);font-weight:600}.msg-bubble em{color:var(--accent-soft);font-style:italic}.msg-bubble ul,.msg-bubble ol{margin:6px 0;padding-left:20px}.msg-bubble li{margin:3px 0}.msg-time{color:var(--text-faint);font-size:10px;font-family:var(--font-mono);margin-top:5px}.message-row.user .msg-time{text-align:right}.sources{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.source-pill{font:11px/1.4 var(--font-mono);color:var(--accent-soft);background:#7c6af714;border:1px solid #7c6af733;border-radius:20px;align-items:center;gap:5px;padding:4px 10px;transition:background .15s;display:flex}.source-pill:hover{background:#7c6af724}.typing-dots{gap:4px;padding:4px 2px;display:flex}.typing-dot{background:var(--text-faint);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite bounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}.input-area{border-top:1px solid var(--border);background:var(--surface);padding:16px 24px 20px}.input-wrapper{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:18px;align-items:flex-end;gap:8px;padding:10px 10px 10px 16px;transition:border-color .3s,box-shadow .3s;display:flex;position:relative}.input-wrapper:before{content:"";background:linear-gradient(135deg, var(--accent) 0%, #8b5cf6cc 25%, #6366f199 50%, #7c6af7cc 75%, var(--accent) 100%);opacity:0;z-index:-1;background-size:300% 300%;border-radius:20px;transition:opacity .3s;animation:4s infinite gradient-shift;position:absolute;inset:-2px}.input-wrapper:focus-within{border-color:#0000;box-shadow:0 0 24px #7c6af71f}.input-wrapper:focus-within:before{opacity:1}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.chat-input{color:var(--text);resize:none;background:0 0;border:0;outline:0;flex:1;max-height:120px;padding:2px 0;font-size:14px;line-height:1.5}.chat-input::placeholder{color:var(--text-faint)}.send-btn{background:var(--accent);color:#fff;border:0;border-radius:10px;width:36px;min-width:36px;height:36px;transition:background .15s,transform .1s,box-shadow .2s}.send-btn:hover:not(:disabled){background:#9183f8;box-shadow:0 2px 12px #7c6af74d}.send-btn:active:not(:disabled){transform:scale(.93)}.send-btn:disabled{background:var(--surface-3);color:var(--text-faint);cursor:not-allowed}.input-footer{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.input-hint{align-items:center;gap:5px;font-size:11px;display:flex}.input-hint-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.input-hint-dot.active{background:var(--success);box-shadow:0 0 6px var(--success);animation:1.5s ease-in-out infinite pulse-dot}.input-hint-dot.idle{background:var(--text-faint)}kbd{font:10px/1 var(--font-mono);background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text-muted);border-radius:4px;padding:3px 5px}.model-selector{background:var(--surface-3);border:1px solid var(--border);font-size:11px;font-family:var(--font-mono);border-radius:20px;padding:4px 10px}.sidebar-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.sidebar-close{background:var(--surface-3);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text-muted);z-index:2;border-radius:50%;transition:background .15s,color .15s;display:none;position:absolute;top:16px;right:16px}.sidebar-close:hover{background:var(--surface-2);color:var(--text)}.toast{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-strong);border-radius:var(--radius);z-index:100;background:#111118d9;align-items:center;gap:10px;max-width:300px;padding:12px 16px;font-size:13px;animation:.25s cubic-bezier(.16,1,.3,1) slide-in;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 32px #0006}.toast.success{border-color:#4ade804d}.toast.error{border-color:#f871714d}.processing-bar{background:var(--surface-3);height:2px;overflow:hidden}.processing-fill{background:linear-gradient(90deg, var(--accent), var(--accent-soft), var(--accent));transform-origin:0;background-size:200% 100%;height:100%;animation:1.5s ease-in-out infinite indeterminate}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}@keyframes slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes indeterminate{0%{transform:translate(-100%)scaleX(.5)}50%{transform:translate(0%)scaleX(.5)}to{transform:translate(200%)scaleX(.5)}}@media (width<=640px){.app{flex-direction:column}.sidebar{z-index:50;border-right:1px solid var(--border-strong);width:85vw;max-width:320px;transition:transform .28s cubic-bezier(.4,0,.2,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-close,.mobile-header{display:flex}.chat-header{display:none}.messages{gap:14px;padding:16px}.msg-content{max-width:85%}.input-area{padding:12px 14px 16px}.input-footer{display:none}.empty-state{padding:24px 20px}.empty-orb{width:60px;height:60px}.empty-title{font-size:20px}.toast{max-width:unset;bottom:16px;left:12px;right:12px}.user-dropdown{right:-12px}}.doc-progress-bar-container{background:var(--surface-3);border-radius:2px;height:3px;margin-top:6px;margin-bottom:4px;position:relative;overflow:hidden}.doc-progress-bar-fill{background:linear-gradient(90deg, var(--accent), var(--accent-soft));border-radius:2px;height:100%;transition:width .3s}.message-suggestions{flex-wrap:wrap;gap:8px;margin-top:12px;animation:.3s ease-out fadeIn;display:flex}.suggestion-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--text-main);cursor:pointer;text-align:left;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s,transform .1s}.suggestion-pill:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--accent)}.suggestion-pill:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app.widget-mode{width:100%;height:100vh;min-height:100vh}.app.widget-mode .sidebar{display:none!important}.app.widget-mode .main{flex:1;width:100%;height:100%}.app.widget-mode .chat-header{background:var(--surface);border-radius:0;padding:14px 16px}.widget-status-dot{background:var(--success);width:8px;height:8px;box-shadow:0 0 6px var(--success);border-radius:50%;margin-right:6px;display:inline-block}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.25s ease-out fade-in-modal;display:flex;position:fixed;inset:0}.modal-content{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);width:550px;max-width:90%;padding:24px;animation:.25s cubic-bezier(.16,1,.3,1) scale-up-modal;position:relative;box-shadow:0 20px 50px #00000080}@keyframes fade-in-modal{0%{opacity:0}to{opacity:1}}@keyframes scale-up-modal{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{font-family:var(--font-display);color:var(--text);font-size:22px}.modal-close-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px;transition:background .15s,color .15s;display:flex}.modal-close-btn:hover{background:var(--surface-2);color:var(--text)}.modal-tabs{border-bottom:1px solid var(--border);margin-bottom:16px;display:flex}.modal-tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:14px;font-weight:500;transition:color .2s;position:relative}.modal-tab-btn.active{color:var(--accent-soft)}.modal-tab-btn.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.modal-body{color:var(--text-muted);font-size:13px;line-height:1.6}.modal-body p{text-align:left;margin-bottom:12px}.code-snippet-box{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;text-align:left;max-height:200px;margin-bottom:12px;padding:12px;font-size:12px;position:relative;overflow-x:auto}.modal-copy-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px 16px;font-size:13px;font-weight:500;transition:background .15s;display:flex}.modal-copy-btn:hover{background:#9183f8}.modal-settings-group{border-top:1px solid var(--border);text-align:left;margin-top:24px;padding-top:20px}.modal-settings-label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.modal-settings-desc{color:var(--text-faint);margin-bottom:12px;font-size:11px;line-height:1.5}.modal-settings-row{gap:10px;display:flex}.modal-settings-input{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .2s}.modal-settings-input:focus{border-color:var(--accent)}.modal-settings-save-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:13px;font-weight:600;transition:background .15s}.modal-settings-save-btn:hover{background:#9183f8}.modal-settings-status{color:var(--accent-soft);margin-top:6px;font-size:11px;display:block}.login-root{background:var(--bg);min-height:100vh;font-family:var(--font-ui);color:var(--text);justify-content:center;align-items:center;padding:24px;display:flex;position:relative;overflow:hidden}.login-bg-glow{pointer-events:none;background:radial-gradient(60% 50% at 50% -10%,#7c6af724 0%,#0000 70%),radial-gradient(40% 30% at 80% 90%,#7c6af712 0%,#0000 60%),radial-gradient(30% 25% at 15% 70%,#6366f10f 0%,#0000 50%);animation:12s ease-in-out infinite alternate login-glow-drift;position:absolute;inset:0}@keyframes login-glow-drift{0%{opacity:.8;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.login-bg-grid{pointer-events:none;background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60%,#000 0%,#0000 70%);mask-image:radial-gradient(80% 60%,#000 0%,#0000 70%)}.login-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-particle{background:var(--accent);opacity:0;border-radius:50%;animation:linear infinite particle-float;position:absolute}.login-particle:first-child{width:4px;height:4px;animation-duration:16s;animation-delay:0s;bottom:-10px;left:15%}.login-particle:nth-child(2){width:3px;height:3px;animation-duration:20s;animation-delay:2s;bottom:-10px;left:35%}.login-particle:nth-child(3){width:5px;height:5px;animation-duration:18s;animation-delay:4s;bottom:-10px;left:55%}.login-particle:nth-child(4){width:3px;height:3px;animation-duration:22s;animation-delay:1s;bottom:-10px;left:72%}.login-particle:nth-child(5){width:4px;height:4px;animation-duration:17s;animation-delay:6s;bottom:-10px;left:88%}.login-particle:nth-child(6){width:2px;height:2px;animation-duration:24s;animation-delay:3s;bottom:-10px;left:25%}.login-particle:nth-child(7){width:3px;height:3px;animation-duration:19s;animation-delay:7s;bottom:-10px;left:65%}.login-particle:nth-child(8){width:4px;height:4px;animation-duration:21s;animation-delay:5s;bottom:-10px;left:45%}@keyframes particle-float{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:.4}50%{opacity:.2}90%{opacity:.35}to{opacity:0;transform:translateY(-100vh)translate(40px)}}.login-wrap{z-index:1;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:400px;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(24px)saturate(1.4);background:#111118a6;border:1px solid #ffffff14;border-radius:20px;width:100%;animation:.7s cubic-bezier(.16,1,.3,1) both card-entrance;overflow:hidden;box-shadow:0 8px 32px #0006,inset 0 0 0 1px #7c6af70d}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.login-card.shake{animation:.5s cubic-bezier(.36,.07,.19,.97) both card-shake}@keyframes card-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.login-card-top{border-bottom:1px solid var(--border);padding:32px 32px 28px}.login-card-top,.login-card-body,.login-card-footer{animation:.6s cubic-bezier(.16,1,.3,1) both content-stagger}.login-card-top{animation-delay:.1s}.login-card-body{animation-delay:.25s}.login-card-footer{animation-delay:.4s}@keyframes content-stagger{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-logo-row{align-items:center;gap:9px;margin-bottom:24px;display:flex}.login-logo-text{font-family:var(--font-display);color:var(--text);font-size:20px}.login-heading{color:var(--text);margin:0 0 6px;font-size:22px;font-weight:600;line-height:1.2}.login-subtitle{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.login-card-body{flex-direction:column;gap:16px;padding:28px 32px 32px;display:flex}.login-error-banner{border-radius:var(--radius-sm);color:var(--danger);background:#f8717114;border:1px solid #f8717133;align-items:center;gap:7px;padding:9px 12px;font-size:12.5px;animation:.3s error-slide-in;display:flex}@keyframes error-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.login-field{flex-direction:column;gap:6px;display:flex}.login-field-row{justify-content:space-between;align-items:center;display:flex}.login-field-label{color:var(--text-muted);letter-spacing:.04em;font-size:12px;font-weight:600}.login-input-wrap{align-items:center;display:flex;position:relative}.login-field-icon{color:var(--text-faint);pointer-events:none;transition:color .2s;display:flex;position:absolute;left:13px}.login-input-wrap:focus-within .login-field-icon{color:var(--accent-soft)}.login-input{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);font-family:var(--font-ui);outline:none;padding:10px 13px 10px 38px;font-size:13.5px;transition:border-color .2s,box-shadow .2s,background .2s}.login-input::placeholder{color:var(--text-faint)}.login-input:hover{background:#18181fcc;border-color:#ffffff2e}.login-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow), 0 0 20px #7c6af714}.login-input.has-toggle{padding-right:38px}.login-password-toggle{color:var(--text-faint);cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px;transition:color .15s;display:flex;position:absolute;right:11px}.login-password-toggle:hover{color:var(--text-muted)}.login-link-button{color:var(--accent-soft);cursor:pointer;font-size:11.5px;font-weight:500;font-family:var(--font-ui);background:0 0;border:0;padding:0;transition:color .15s}.login-link-button:hover{color:var(--text)}.login-link-button.strong{font-size:12.5px;font-weight:600}.login-remember-row{cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--text-muted);text-align:left;background:0 0;border:0;align-items:center;gap:8px;margin-top:-4px;padding:0;font-size:12px;display:flex}.login-checkbox{border:1px solid var(--border-strong);background:var(--surface-2);border-radius:4px;justify-content:center;align-items:center;width:16px;min-width:16px;height:16px;transition:background .2s,border-color .2s,transform .15s;display:flex}.login-checkbox.checked{background:var(--accent);border-color:var(--accent);transform:scale(1.05)}.login-primary-button{background:var(--accent);border-radius:var(--radius-sm);color:#fff;width:100%;font-family:var(--font-ui);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;padding:11px;font-size:14px;font-weight:600;transition:background .2s,transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.login-primary-button:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff26 0%,#0000 50%);transition:opacity .3s;position:absolute;inset:0}.login-primary-button:hover:not(:disabled):before{opacity:1}.login-primary-button:hover:not(:disabled){background:#9183f8;box-shadow:0 4px 20px #7c6af74d}.login-primary-button:active:not(:disabled){transform:scale(.98)}.login-primary-button:disabled{opacity:.6;cursor:not-allowed}.login-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.65s linear infinite login-spin}@keyframes login-spin{to{transform:rotate(360deg)}}.login-divider{align-items:center;gap:12px;display:flex}.login-divider span{background:var(--border);flex:1;height:1px}.login-divider small{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);letter-spacing:.05em}.login-oauth-row{gap:8px;display:flex}.login-oauth-button{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-ui);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:13px;font-weight:500;transition:background .2s,border-color .2s,color .2s,transform .1s;display:flex;position:relative;overflow:hidden}.login-oauth-button:after{content:"";opacity:0;background:linear-gradient(135deg,#7c6af70f 0%,#0000 60%);transition:opacity .3s;position:absolute;inset:0}.login-oauth-button:hover{background:var(--surface-3);color:var(--text);border-color:#ffffff2e}.login-oauth-button:hover:after{opacity:1}.login-oauth-button:active{transform:scale(.97)}.login-card-footer{border-top:1px solid var(--border);color:var(--text-faint);background:#18181f80;justify-content:center;align-items:center;gap:6px;padding:16px 32px;font-size:12.5px;display:flex}.login-bottom-meta{color:var(--text-faint);font-size:11px;font-family:var(--font-mono);letter-spacing:.05em;align-items:center;gap:8px;animation:.6s cubic-bezier(.16,1,.3,1) .55s both content-stagger;display:flex}.login-bottom-meta a{color:var(--text-faint);text-decoration:none;transition:color .15s}.login-bottom-meta a:hover{color:var(--text-muted)}@media (width<=480px){.login-card-top,.login-card-body,.login-card-footer{padding-left:20px;padding-right:20px}}.pricing-container{background:var(--bg);min-height:100svh;color:var(--text);font-family:var(--font-ui);padding:0 24px 60px;position:relative;overflow:hidden}.pricing-glow-orb{filter:blur(140px);opacity:.12;pointer-events:none;z-index:0;border-radius:50%;width:500px;height:500px;position:absolute}.pricing-glow-orb.purple{background:var(--accent);top:-150px;left:10%}.pricing-glow-orb.blue{opacity:.08;background:#3b82f6;top:150px;right:5%}.pricing-header{z-index:2;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:32px 0;display:flex;position:relative}.pricing-back-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-weight:500;transition:all .2s;display:flex}.pricing-back-btn:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-strong);transform:translate(-2px)}.pricing-logo{font-family:var(--font-ui);letter-spacing:-.5px;color:var(--text);align-items:center;gap:8px;font-size:20px;font-weight:700;display:flex}.pricing-content{z-index:2;max-width:1200px;margin:0 auto;position:relative}.pricing-hero{text-align:center;padding:40px 0 60px}.pricing-title{font-family:var(--font-display);background:linear-gradient(135deg, #fff 0%, var(--accent-soft) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0 0 16px;font-size:clamp(32px,5vw,56px);font-weight:400;line-height:1.15}.pricing-subtitle{color:var(--text-muted);max-width:600px;margin:0 auto 36px;font-size:18px;line-height:1.5}.billing-toggle-container{background:var(--surface);border:1px solid var(--border);border-radius:40px;align-items:center;gap:16px;padding:6px 12px;display:inline-flex}.toggle-label{color:var(--text-faint);font-size:14px;font-weight:600;transition:color .2s}.toggle-label.active{color:var(--text)}.billing-toggle-switch{background:var(--surface-3);border:1px solid var(--border-strong);cursor:pointer;border-radius:13px;width:48px;height:26px;padding:0;transition:background-color .2s;position:relative}.billing-toggle-switch:hover{border-color:var(--accent)}.billing-toggle-dot{background:var(--accent);width:18px;height:18px;box-shadow:0 0 8px var(--accent);border-radius:50%;transition:transform .25s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px}.billing-toggle-dot.yearly{background:var(--success);box-shadow:0 0 8px var(--success);transform:translate(22px)}.discount-badge{color:var(--success);background:#4ade8026;border-radius:20px;margin-left:4px;padding:2px 6px;font-size:11px;font-weight:700}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:stretch;gap:32px;margin-top:20px;display:grid}.pricing-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;padding:40px 32px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.pricing-card:hover{border-color:#ffffff26;transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.pricing-card.popular{background:var(--surface-2);border-color:#0000}.card-popular-border{border-radius:var(--radius);background:linear-gradient(135deg, var(--accent) 0%, #3b82f6 100%);-webkit-mask-composite:xor;pointer-events:none;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.pricing-card.popular:hover{box-shadow:0 20px 40px #7c6af714}.card-badge{text-transform:uppercase;letter-spacing:1px;color:var(--accent-soft);margin-bottom:12px;font-size:11px;font-weight:700;display:inline-block}.pricing-card.popular .card-badge{color:var(--accent-soft)}.card-name{font-family:var(--font-ui);color:#fff;margin:0 0 12px;font-size:28px;font-weight:600}.card-desc{color:var(--text-muted);min-height:42px;margin:0 0 28px;font-size:14px;line-height:1.45}.card-price-section{border-bottom:1px solid var(--border);margin-bottom:28px;padding-bottom:28px}.card-price-amount{align-items:baseline;display:flex}.price-currency{color:var(--text);margin-right:2px;font-size:24px;font-weight:600}.price-number{font-family:var(--font-display);color:#fff;font-size:52px;font-weight:400;line-height:1}.price-duration{color:var(--text-muted);margin-left:4px;font-size:15px}.card-price-custom{font-family:var(--font-display);color:#fff;font-size:44px;font-weight:400;line-height:1.2}.price-billed-annually{color:var(--success);margin-top:6px;font-size:12px;font-weight:500}.card-features{flex-direction:column;flex-grow:1;gap:16px;margin:0 0 40px;padding:0;list-style:none;display:flex}.feature-item{color:var(--text-muted);align-items:flex-start;gap:12px;font-size:14px;line-height:1.4;display:flex}.feature-check{flex-shrink:0;margin-top:2px}.feature-item span{color:var(--text)}.card-cta-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:14px;font-size:15px;font-weight:600;transition:all .2s}.card-cta-btn.primary{background:var(--accent);color:#fff;box-shadow:0 4px 12px #7c6af733}.card-cta-btn.primary:hover{background:#8b7df9;transform:translateY(-1px);box-shadow:0 6px 16px #7c6af759}.card-cta-btn.secondary{background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text)}.card-cta-btn.secondary:hover{background:var(--surface-2);border-color:var(--text-muted)}@media (width<=768px){.pricing-container{padding:0 16px 40px}.pricing-hero{padding:24px 0 40px}.pricing-grid{grid-template-columns:1fr;max-width:450px;margin:0 auto}}
