@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600&family=Fraunces:ital,wght@0,300;0,400;1,300&display=swap";*,:after,:before{box-sizing:border-box;margin:0;padding:0}.app.light{--bg:#f0f3f7;--surface:hsla(0,0%,100%,.88);--surface-hover:hsla(0,0%,100%,.98);--border:rgba(15,45,107,.1);--accent:#0f2d6b;--accent2:#0ea5a0;--accent-glow:rgba(14,165,160,.12);--text:#0d1b2a;--text-muted:rgba(13,27,42,.5);--max-bubble:rgba(15,45,107,.05);--user-bubble:hsla(0,0%,100%,.75);--sidebar-bg:rgba(236,240,246,.98);--topbar-bg:rgba(240,243,247,.93);--send-bg:linear-gradient(135deg,#0f2d6b,#0a4d6e);--card-shadow:0 16px 48px rgba(15,45,107,.1)}.app.dark{--bg:#0a0f1a;--surface:hsla(0,0%,100%,.04);--surface-hover:hsla(0,0%,100%,.07);--border:hsla(0,0%,100%,.09);--accent:#22d3b8;--accent2:#22d3b8;--accent-glow:rgba(34,211,184,.12);--text:#e8eef5;--text-muted:rgba(232,238,245,.45);--max-bubble:rgba(34,211,184,.07);--user-bubble:hsla(0,0%,100%,.05);--sidebar-bg:rgba(7,11,22,.97);--topbar-bg:rgba(10,15,26,.9);--send-bg:linear-gradient(135deg,#0f2d6b,#0891b2);--card-shadow:0 16px 48px rgba(0,0,0,.3)}body,html{background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;height:100%}.app{display:flex;min-height:100vh;overflow:hidden;position:relative;transition:background .3s,color .3s}.bg-mesh{inset:0;position:fixed;transition:background .3s;z-index:0}.app.light .bg-mesh{background:radial-gradient(ellipse 70% 50% at 10% 0,rgba(15,45,107,.06) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 90% 90%,rgba(34,211,184,.05) 0,transparent 60%),var(--bg)}.app.dark .bg-mesh{background:radial-gradient(ellipse 70% 50% at 10% 0,rgba(34,211,184,.05) 0,transparent 60%),radial-gradient(ellipse 50% 60% at 90% 90%,rgba(15,45,107,.08) 0,transparent 60%),var(--bg)}.bg-grain{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 256'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='4' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");inset:0;opacity:.02;pointer-events:none;position:fixed;z-index:1}.logo-img-full{height:56px;-o-object-fit:contain;object-fit:contain}.logo-img-sidebar,.logo-img-topbar{height:34px;-o-object-fit:contain;object-fit:contain}.auth-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px;position:relative;width:100%;z-index:2}.auth-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:var(--card-shadow);max-width:420px;padding:40px 36px;width:100%}.auth-logo{display:flex;justify-content:center;margin-bottom:12px}.auth-tagline{color:var(--text-muted);font-size:12px;letter-spacing:.5px;margin-bottom:28px;text-align:center}.auth-tabs{background:var(--bg);border:1px solid var(--border);border-radius:10px;display:flex;gap:4px;margin-bottom:24px;padding:4px}.auth-tabs button{background:transparent;border:none;border-radius:7px;color:var(--text-muted);cursor:pointer;flex:1;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;padding:8px;transition:all .2s}.auth-tabs button.active{background:var(--surface);box-shadow:0 1px 4px #0000001a;color:var(--text)}.auth-error{background:#dc323212;border:1px solid rgba(220,50,50,.2);border-radius:8px;color:#b91c1c;font-size:13px;margin-bottom:16px;padding:10px 14px}.app.dark .auth-error{color:#fca5a5}.auth-success{background:#0ea5a014;border:1px solid rgba(14,165,160,.25);border-radius:8px;color:#0a4d6e;font-size:13px;margin-bottom:16px;padding:10px 14px}.app.dark .auth-success{color:#22d3b8}.auth-form{gap:14px}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:5px}.form-group label{color:var(--text-muted);font-size:12px;font-weight:500;letter-spacing:.3px}.form-group input{background:var(--bg);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;outline:none;padding:10px 12px;transition:border-color .2s;width:100%}.form-group input:focus{border-color:var(--accent2)}.form-group input::-moz-placeholder{color:var(--text-muted)}.form-group input::placeholder{color:var(--text-muted)}.form-hint{color:var(--text-muted);font-size:11px}.pass-wrap{position:relative}.pass-wrap input{padding-right:40px}.pass-eye{background:none;border:none;cursor:pointer;font-size:16px;padding:2px;position:absolute;right:10px;top:50%;transform:translateY(-50%)}.auth-btn{align-items:center;background:var(--send-bg);border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;gap:8px;justify-content:center;margin-top:4px;padding:12px;transition:all .2s;width:100%}.auth-btn:hover:not(:disabled){box-shadow:0 6px 20px #0f2d6b40;transform:translateY(-1px)}.auth-btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn-spinner{animation:spin .7s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:16px;width:16px}@keyframes spin{to{transform:rotate(1turn)}}.auth-divider{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:12px;margin:16px 0}.auth-divider:after,.auth-divider:before{background:var(--border);content:"";flex:1;height:1px}.auth-btn-guest{align-items:center;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;gap:3px;padding:12px;transition:all .2s;width:100%}.auth-btn-guest:hover{background:var(--surface-hover);border-color:var(--accent2)}.auth-btn-guest small{color:var(--text-muted);font-size:11px;font-weight:400}.auth-footer{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.auth-footer-controls{align-items:center;display:flex;gap:10px;justify-content:center}.sidebar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--sidebar-bg);border-right:1px solid var(--border);bottom:0;display:flex;flex-direction:column;left:0;padding:20px 14px;position:fixed;top:0;transform:translate(-100%);transition:transform .3s cubic-bezier(.16,1,.3,1);width:240px;z-index:100}.sidebar.open{transform:translate(0)}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000004d;inset:0;position:fixed;z-index:99}.sidebar-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:28px}.sidebar-close{background:none;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:14px;padding:4px 8px;transition:all .15s}.sidebar-close:hover{background:var(--surface-hover);color:var(--text)}.sidebar-nav{display:flex;flex-direction:column;gap:3px}.nav-item{align-items:center;background:transparent;border:none;border-radius:10px;color:var(--text-muted);cursor:pointer;display:flex;font-family:DM Sans,sans-serif;font-size:13px;gap:10px;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.nav-item:hover{background:var(--surface-hover);color:var(--text)}.nav-item.active{background:var(--accent-glow);color:var(--accent);font-weight:500}.nav-icon{font-size:16px;text-align:center;width:20px}.sidebar-bottom{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:16px}.user-chip{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:10px;padding:10px}.user-avatar,.user-chip{align-items:center;display:flex}.user-avatar{background:var(--send-bg);border-radius:50%;color:#fff;flex-shrink:0;font-size:13px;font-weight:600;height:32px;justify-content:center;width:32px}.user-info{display:flex;flex-direction:column;min-width:0}.user-name{color:var(--text);font-size:13px;font-weight:500}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:var(--text-muted);font-size:11px}.sign-in-link{color:var(--accent2)!important;cursor:pointer}.signout-btn{background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:DM Sans,sans-serif;font-size:12px;padding:8px;transition:all .15s;width:100%}.signout-btn:hover{background:var(--surface-hover);color:var(--text)}.main-content{display:flex;flex:1;flex-direction:column;min-height:100vh;position:relative;z-index:2}.topbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--topbar-bg);border-bottom:1px solid var(--border);display:flex;gap:12px;padding:10px 20px;position:sticky;top:0;z-index:10}.menu-btn{background:none;border:none;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;padding:4px}.menu-btn span{background:var(--text-muted);border-radius:1px;display:block;height:2px;transition:all .2s;width:18px}.menu-btn:hover span{background:var(--text)}.topbar-logo{flex:1}.topbar-logo,.topbar-right{align-items:center;display:flex}.topbar-right{gap:8px}.lang-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='none' stroke='%23888' stroke-linecap='round' stroke-width='1.5' d='m1 1 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;font-family:DM Sans,sans-serif;font-size:13px;min-width:130px;padding:6px 28px 6px 10px;transition:all .15s}.lang-select:focus,.lang-select:hover{border-color:var(--accent2);outline:none}.lang-select option{background:var(--bg);color:var(--text)}.theme-toggle-btn{background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:17px;line-height:1;padding:5px 10px;transition:all .15s}.theme-toggle-btn:hover{background:var(--surface-hover);border-color:var(--accent2)}.onboarding{align-items:center;display:flex;flex:1;flex-direction:column;justify-content:center;padding:40px 20px}.tagline{color:var(--text-muted);font-size:12px;letter-spacing:1px;margin-bottom:28px;text-align:center}.welcome-user{color:var(--accent2);font-size:14px;font-weight:500;margin-bottom:8px;text-align:center}.question-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--surface);border:1px solid var(--border);border-radius:22px;box-shadow:var(--card-shadow);max-width:500px;padding:36px;width:100%}.question{color:var(--text);font-family:Fraunces,serif;font-size:24px;font-weight:300;line-height:1.35;margin-bottom:28px;text-align:center;white-space:pre-line}.options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.option-btn{align-items:center;background:transparent;border:1px solid var(--border);border-radius:12px;color:var(--text);cursor:pointer;display:flex;gap:12px;padding:14px 16px;text-align:left;transition:all .2s}.option-btn:hover{background:var(--surface-hover);border-color:#0ea5a066}.option-btn.selected{background:var(--accent-glow);border-color:var(--accent2)}.opt-icon{flex-shrink:0;font-size:18px}.opt-text{flex:1}.opt-text strong{display:block;font-size:13px;font-weight:500;margin-bottom:2px}.opt-text small{color:var(--text-muted);font-size:11px}.opt-check{color:var(--accent2);font-size:13px;opacity:0;transition:opacity .2s}.option-btn.selected .opt-check{opacity:1}.cta-btn{background:var(--send-bg);border:none;border-radius:11px;box-shadow:0 4px 16px #0f2d6b33;color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:14px;transition:all .2s;width:100%}.cta-btn:hover:not(:disabled){box-shadow:0 8px 24px #0f2d6b40;transform:translateY(-1px)}.cta-btn:disabled{cursor:not-allowed;opacity:.35;transform:none}.chat-area{display:flex;flex:1;flex-direction:column;max-height:calc(100vh - 57px);min-height:0}.chat-status{align-items:center;border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;font-size:12px;gap:7px;padding:10px 20px}.status-dot{animation:pulse 2s infinite;background:var(--accent2);border-radius:50%;box-shadow:0 0 8px var(--accent-glow);height:7px;width:7px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.messages{display:flex;flex:1;flex-direction:column;gap:18px;overflow-y:auto;padding:24px 20px}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.message{align-items:flex-end;display:flex;gap:8px}.message.user{flex-direction:row-reverse}.msg-avatar{background:var(--send-bg);border-radius:9px;flex-shrink:0;height:32px;overflow:hidden;width:32px}.msg-avatar img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.msg-bubble{border-radius:16px;font-size:14px;line-height:1.65;max-width:68%;padding:13px 16px}.message.max .msg-bubble{background:var(--max-bubble);border:1px solid rgba(14,165,160,.15);border-bottom-left-radius:4px}.message.user .msg-bubble{background:var(--user-bubble);border:1px solid var(--border);border-bottom-right-radius:4px}.msg-time{color:var(--text-muted);display:block;font-size:10px;margin-top:5px}.message.user .msg-time{text-align:right}.msg-bubble.typing{align-items:center;display:flex;gap:5px;padding:14px 16px}.msg-bubble.typing span{animation:bounce 1.2s infinite;background:var(--accent2);border-radius:50%;height:6px;width:6px}.msg-bubble.typing span:nth-child(2){animation-delay:.2s}.msg-bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}.input-area{padding:12px 20px 16px}.chat-input-wrap{align-items:flex-end;background:var(--surface);border:1px solid var(--border);border-radius:14px;display:flex;gap:10px;padding:10px 12px;transition:border-color .2s}.chat-input-wrap:focus-within{border-color:var(--accent2)}.chat-input{background:none;border:none;color:var(--text);flex:1;font-family:DM Sans,sans-serif;font-size:14px;line-height:1.6;max-height:140px;outline:none;resize:none}.chat-input::-moz-placeholder{color:var(--text-muted)}.chat-input::placeholder{color:var(--text-muted)}.send-btn{align-items:center;background:var(--send-bg);border:none;border-radius:9px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:all .2s;width:34px}.send-btn:hover:not(:disabled){transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.3}.send-btn svg{height:14px;width:14px}.input-hint{color:var(--text-muted);font-size:11px;margin-top:6px;text-align:center}.placeholder-page{align-items:center;color:var(--text-muted);display:flex;flex:1;flex-direction:column;gap:12px;justify-content:center}.placeholder-icon{font-size:48px}.placeholder-page h2{color:var(--text);font-family:Fraunces,serif;font-size:22px;font-weight:300}.placeholder-page p{font-size:13px}.fade-up-enter-active{transition:all .45s cubic-bezier(.16,1,.3,1)}.fade-up-leave-active{transition:all .25s ease}.fade-up-enter-from{opacity:0;transform:translateY(16px)}.fade-up-leave-to{opacity:0;transform:translateY(-8px)}
