:root{--bg-primary: #131314;--bg-secondary: #1E1F20;--bg-card: #28292a;--text-primary: #E3E3E3;--text-secondary: #C4C7C5;--text-muted: #8E918F;--accent-color: #A8C7FA;--accent-secondary: #669DF6;--accent-glow: rgba(168, 199, 250, .15);--accent-glow-strong: rgba(168, 199, 250, .3);--input-bg: #1E1F20;--input-border: transparent;--chip-bg: #28292a;--chip-border: #444746;--font-family: "Google Sans", "Inter", -apple-system, sans-serif;--radius-lg: 24px;--radius-xl: 32px}[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F0F4F9;--bg-card: #FFFFFF;--text-primary: #1F1F1F;--text-secondary: #444746;--text-muted: #8e8e8e;--accent-color: #0b57d0;--accent-secondary: #4c8df6;--accent-glow: rgba(11, 87, 208, .08);--input-bg: #F0F4F9;--input-border: transparent;--chip-bg: #E3E3E3;--chip-border: transparent;--shadow-soft: 0 1px 3px rgba(0, 0, 0, .05)}[data-theme=light] body{background:var(--bg-primary)}[data-theme=light] .google-btn{background:#fff;border:1px solid #e2e8f0;color:#475569}[data-theme=light] .message.user{background:transparent;box-shadow:none}[data-theme=light] .message.user .message-content{background:linear-gradient(135deg,#2563eb,#3b82f6);color:#fff;box-shadow:0 4px 6px -1px #2563eb33}[data-theme=light] .message.ai{background:transparent;border:none;box-shadow:none}[data-theme=light] .message.ai .message-content{background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 4px #0000000d}[data-theme=light] .input-container{background:#fff;border:1px solid #cbd5e1;box-shadow:0 4px 12px #0000000d}[data-theme=light] .message-input{color:#000}[data-theme=light] .message-input::placeholder{color:#64748b}[data-theme=light] .input-container:focus-within{background:#fff!important;border-color:#3b82f6;box-shadow:0 4px 15px #2563eb26;transform:translateY(-2px)}[data-theme=light] .sidebar{border-right:1px solid #cbd5e1;background:#f1f5f9!important}[data-theme=light] .sidebar-section-title{color:#64748b}[data-theme=light] .history-item{color:#334155}[data-theme=light] .history-item:hover{background:#e2e8f0}[data-theme=light] .history-item.active{background:#eff6ff;color:#2563eb;border-left:3px solid #2563eb}.history-item{display:flex;justify-content:space-between;align-items:center;padding-right:.5rem!important}.history-text-wrapper{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.5rem}.delete-chat-btn{opacity:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.history-item:hover .delete-chat-btn{opacity:1}.delete-chat-btn:hover{background:#ef44441a;color:#ef4444!important}@media(max-width:768px){.delete-chat-btn{opacity:.7}}[data-theme=light] .sidebar-link{color:#334155}[data-theme=light] .sidebar-link:hover{background:#e2e8f0}[data-theme=light] .new-chat-btn-sidebar{background:#fff;border:1px solid #e2e8f0;color:#2563eb}[data-theme=light] .new-chat-btn-sidebar:hover{background:#eff6ff}*{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}*::-webkit-scrollbar{display:none}html,body{height:100%}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;display:flex;flex-direction:row;height:100%;overflow:hidden;-webkit-tap-highlight-color:transparent}.main-wrapper{flex:1;display:flex;flex-direction:column;height:100%;min-width:0;position:relative;transition:all .5s cubic-bezier(.4,0,.2,1)}:is(a,button,input[type=submit],input[type=button],input[type=checkbox],label,select,[role=button],.clickable,.icon-btn){cursor:pointer!important}.auth-modal{position:fixed;inset:0;background:#000000e6;display:none;justify-content:center;align-items:center;z-index:1000;padding:1rem}.auth-modal.active{display:flex}.auth-card{background:var(--bg-card);border:1px solid rgba(255,255,255,.08);border-radius:2.5rem;padding:0;width:90%;max-width:850px;display:flex;flex-direction:row;overflow:hidden;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px)}.auth-card-visual{flex:2;background:linear-gradient(135deg,#1e2832cc,#0a0f14e6);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:3rem 2rem;position:relative;border-right:1px solid rgba(255,255,255,.05)}.auth-card-visual h2{font-size:1.8rem;font-weight:600;margin-bottom:.5rem;background:linear-gradient(to right,#4facfe,#00f2fe);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-card-form{flex:3;padding:3rem;display:flex;flex-direction:column;justify-content:center}@media(max-width:768px){.auth-modal{padding:.5rem;align-items:flex-start;padding-top:60px}.auth-card{flex-direction:column;max-width:100%;width:100%;max-height:calc(100dvh - 80px);overflow-y:auto;border-radius:16px}.auth-card-visual{padding:.5rem 1rem .25rem;background:transparent;border-right:none;border-bottom:none}.auth-card-visual h2{font-size:1.4rem;margin-top:.5rem!important}.auth-card-visual p{font-size:.8rem!important;margin-top:.25rem!important}.auth-logo{width:28px;height:28px;margin-bottom:.25rem}.auth-card-form{padding:.5rem 1rem .75rem}.google-btn{padding:.6rem 1rem;font-size:.85rem}.auth-divider{margin:.75rem 0}#authForm input{padding:.65rem 1rem;font-size:.9rem;margin-bottom:.6rem}.auth-consent-wrapper{margin-bottom:.75rem!important}.auth-consent-wrapper label{font-size:.7rem!important;line-height:1.25!important}.auth-consent-wrapper input[type=checkbox]{width:14px!important;height:14px!important}.auth-submit-btn{padding:.6rem 1.25rem;font-size:.85rem}.auth-toggle{margin-top:.5rem;font-size:.75rem}#forgotPasswordLink{font-size:.7rem!important}.auth-close-btn{display:flex!important;position:absolute;top:8px;right:8px;width:38px;height:38px;background:#ffffff26;border:none;border-radius:50%;align-items:center;justify-content:center;color:var(--text-primary);cursor:pointer;z-index:10001;pointer-events:auto;transition:all .2s ease}.auth-close-btn:hover{background:#fff3;color:var(--text-primary)}}.auth-close-btn{display:flex}.auth-header{text-align:center;margin-bottom:2rem}.auth-logo{width:48px;height:48px;color:var(--accent-color);filter:drop-shadow(0 0 12px var(--accent-glow-strong));margin-bottom:1rem}.auth-header h2{font-size:1.5rem;font-weight:500;color:var(--text-primary)}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem 1.5rem;background:#fff;border:none;border-radius:3rem;font-size:1rem;font-weight:500;color:#333;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.google-btn:hover{background:#f5f5f5;transform:translateY(-2px)}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--text-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--chip-border)}.auth-divider span{padding:0 1rem;font-size:.875rem}#authForm input{width:100%;padding:1rem 1.5rem;margin-bottom:1rem;background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:2rem;font-size:1rem;color:var(--text-primary);font-family:var(--font-family);transition:all .2s ease}#authForm input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-glow)}#authForm input::placeholder{color:var(--text-muted)}.auth-error{color:#f87171;font-size:.875rem;text-align:center;min-height:1.25rem;margin-bottom:.5rem;transition:color .3s ease}.auth-error.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}.auth-error.success{color:#10b981!important}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.auth-submit-btn{width:100%;padding:1rem 1.5rem;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border:none;border-radius:3rem;font-size:1rem;font-weight:500;color:var(--bg-primary);cursor:pointer;transition:all .2s ease;font-family:var(--font-family);box-shadow:0 0 15px var(--accent-glow)}.auth-submit-btn:hover{transform:translateY(-2px);box-shadow:0 0 25px var(--accent-glow-strong)}.auth-toggle{text-align:center;margin-top:1.5rem;color:var(--text-secondary);font-size:.9rem}.auth-toggle a{color:var(--accent-color);text-decoration:none}.auth-toggle a:hover{text-decoration:underline}.header{padding:1rem 1.5rem 1rem 4rem;position:relative;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-shrink:0;background:var(--bg-primary)}@media(max-width:600px){.header{padding:.75rem 1rem}.logo-text{display:block!important;font-size:1.2rem}.user-name{display:none}.header-right{gap:.5rem}.logout-btn,.login-btn{padding:.4rem .75rem;font-size:.75rem}.theme-toggle,.icon-btn{width:36px;height:36px}}.logo{display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.logo:hover{opacity:.8;transform:scale(.98)}.logo-icon{width:38px;height:38px;color:var(--accent-color);filter:drop-shadow(0 0 12px var(--accent-glow-strong));animation:gentlePulse 3s ease-in-out infinite}@keyframes gentlePulse{0%,to{filter:drop-shadow(0 0 12px var(--accent-glow))}50%{filter:drop-shadow(0 0 20px var(--accent-glow-strong))}}.logo-text{font-size:1.35rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.chips{display:flex;gap:.75rem;padding-bottom:.5rem;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;justify-content:center;flex-wrap:wrap;margin-bottom:.5rem}.chip{padding:.6rem 1.25rem;background:var(--bg-card);border:1px solid var(--chip-border);border-radius:2rem;color:var(--text-secondary);font-size:.9rem;white-space:nowrap;cursor:pointer;transition:all .2s ease;font-family:var(--font-family);box-shadow:0 2px 8px #0000001a}.chip:hover{background:var(--bg-secondary);border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa33}.chip.hidden{display:none!important}.header-right{display:flex;align-items:center;gap:1rem}.user-name{color:var(--accent-color);font-weight:500;font-size:.95rem}.logout-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--input-border);border-radius:.5rem;color:var(--text-secondary);font-size:.85rem;font-family:var(--font-family);cursor:pointer;transition:all .2s ease}.logout-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.login-btn{padding:.5rem 1rem;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border:none;border-radius:.5rem;color:var(--bg-primary);font-size:.85rem;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:all .2s ease;box-shadow:0 0 10px var(--accent-glow)}.login-btn:hover{transform:translateY(-2px);box-shadow:0 0 20px var(--accent-glow-strong)}.theme-toggle{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--input-border);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.theme-toggle:hover{border-color:var(--accent-color);color:var(--accent-color)}.theme-icon{width:20px;height:20px}.theme-icon.moon,[data-theme=light] .theme-icon.sun{display:none}.main{flex:1;display:flex;flex-direction:column;width:100%;margin:0 auto;padding:0;height:100%;overflow:hidden;justify-content:flex-start;position:relative}.chips{pointer-events:auto}.chat-messages{padding-bottom:180px!important}.welcome{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:1rem 2rem 0;max-width:900px;width:100%;margin:0 auto;opacity:0;animation:fadeInUp .8s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.welcome.hidden{display:none}.welcome-small{font-size:1.5rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.25rem;background:linear-gradient(135deg,#4facfe,#00f2fe);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;font-family:"Outfit",var(--font-family)}.welcome-title{font-size:2.25rem;font-weight:500;color:#444746;background:linear-gradient(135deg,#4285f4,#9b72cb,#d96570);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2;margin-bottom:0;letter-spacing:-.02em;font-family:"Outfit",var(--font-family)}[data-theme=dark] .welcome-small{background:linear-gradient(135deg,#a8c7fa,#669df6);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=dark] .welcome-title{background:linear-gradient(135deg,#8ab4f8,#c58af9,#f28b82);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.welcome-subtitle{display:none}@media(max-width:768px){.welcome{justify-content:flex-start;align-items:flex-start;text-align:left;flex:0;padding:0rem 1.5rem!important;margin-top:-1.5rem!important;z-index:50}.welcome-small{font-size:2.2rem!important;margin-bottom:.2rem;line-height:1.2}.welcome-title{font-size:2.2rem!important;text-align:left}.welcome-title{font-size:1.5rem!important;line-height:1.4;opacity:.65}.chips{display:none!important}.main{display:flex;flex-direction:column;justify-content:flex-start}}.chat-messages{flex:1;overflow-y:auto;padding:1rem 0;display:none;flex-direction:column;gap:4rem;position:relative;width:100%;scroll-behavior:smooth;-webkit-user-select:text;user-select:text}.chat-messages:after{content:"";display:block;min-height:0vh;width:100%;flex-shrink:0}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background-color:#ffffff1a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:#fff3}.chat-messages.active{display:flex}.message{display:flex;flex-direction:column;animation:fadeIn .3s ease-out;width:100%;max-width:800px;margin:0 auto;padding:0 1rem;scroll-margin-top:100px}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message.user{align-items:flex-end}.message.ai{align-items:flex-start}.message-content{max-width:90%;padding:1rem 1.5rem;border-radius:1.5rem;font-size:1.05rem;line-height:1.6;letter-spacing:.01em;-webkit-user-select:text;user-select:text;cursor:text;word-wrap:break-word;overflow-wrap:break-word;word-break:normal;white-space:pre-wrap;-webkit-hyphens:auto;hyphens:auto}.message.user .message-content{background:var(--chip-bg);border:none;color:var(--text-primary);border-radius:2rem 2rem 0}.message.ai .message-content{background:transparent;color:var(--text-primary);padding-left:0;border:none;border-left:none;margin-left:0}.typing-indicator{display:flex;gap:6px;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;width:fit-content;margin-top:.5rem;margin-left:0;align-self:flex-start}.typing-indicator span{width:8px;height:8px;background-color:var(--accent-color);border-radius:50%;animation:typingPulse 1.4s infinite ease-in-out both;box-shadow:0 0 8px var(--accent-glow)}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}.typing-indicator span:nth-child(3){animation-delay:0s}@keyframes typingPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1;box-shadow:0 0 12px var(--accent-glow-strong)}}.input-area{position:absolute;left:0;width:100%;z-index:100;bottom:50%;transform:translateY(50%);background:transparent;padding:0 1rem;display:flex;flex-direction:column;gap:.5rem;pointer-events:none;transition:all .4s ease-out;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.input-area .input-container{pointer-events:auto;max-width:800px;width:100%;margin:0 auto;box-shadow:0 4px 20px #0003}body.chat-mode .input-area{bottom:2rem;transform:none;transition:all .4s ease-out}body.chat-mode .input-area .input-container{box-shadow:0 4px 20px #0006}body.chat-mode .legal-footer{display:none}.message-input,textarea.message-input{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word;white-space:pre-wrap}@media(min-width:769px){body:not(.chat-mode) .main{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding-bottom:15vh!important}body:not(.chat-mode) .input-area{position:relative!important;inset:auto!important;transform:none!important;margin:0 auto!important;width:100%;max-width:800px;padding:0!important;background:transparent!important;border:none!important}body:not(.chat-mode) .welcome{position:relative!important;inset:auto!important;padding:0 0 2rem!important;padding-left:20px!important;margin:0 auto!important;flex:0 0 auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;width:100%;max-width:800px}body:not(.chat-mode) .welcome-small{font-size:2rem!important;text-align:left!important;width:auto!important;line-height:1.2!important}body:not(.chat-mode) .welcome-title{font-size:2.25rem!important;text-align:left!important;width:auto!important}}#burger-menu-mobile.mobile-only{display:none!important}@media(max-width:768px){#burger-menu-mobile.mobile-only{display:flex!important;position:fixed!important;top:1rem;left:1rem;z-index:2000;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:4px!important;border-radius:8px;transition:background .2s ease}.global-menu-btn.mobile-only svg{width:22px!important;height:22px!important}.global-menu-btn.mobile-only:hover,.global-menu-btn.mobile-only:active{background:transparent!important}#burger-menu-desktop{display:none!important}html,body{height:100dvh!important;height:-webkit-fill-available;overflow:hidden!important;position:fixed!important;width:100%!important;overscroll-behavior:none}.main-wrapper{height:100dvh!important;height:-webkit-fill-available;display:flex;flex-direction:column;overflow:hidden;position:relative}.header{position:fixed!important;top:0;left:0;right:0;height:56px;min-height:56px;background:#131314f2!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:100;border-bottom:none!important;padding:0 12px!important;display:flex;align-items:center;justify-content:center}.header .logo-icon{display:block!important;width:30px!important;height:30px!important}.header #logoBtn{position:absolute;left:calc(50% - 19px)!important;top:50%;transform:translate(-50%,-50%)!important;margin-top:10px!important;display:flex!important;align-items:center;gap:8px;z-index:9999!important;visibility:visible!important;opacity:1!important}.header .logo-text{font-size:1.2rem;font-weight:600}.header .header-right{position:absolute;right:12px;display:flex;align-items:center;gap:8px}.header .theme-toggle{display:none!important}.header .login-btn,.header .logout-btn{margin-top:17px!important;margin-right:3px!important;font-size:.765rem!important;padding:.425rem 1.06rem!important}.header .logout-btn{background:linear-gradient(135deg,#9b72cb,#d96570)!important;color:#fff!important;border:none!important;box-shadow:0 4px 12px #d965704d!important;font-weight:500!important}.header .user-name{display:none!important}.message{scroll-margin-top:80px!important}.main{flex:1;display:flex;flex-direction:column;padding:0!important;margin:56px 0 72px!important;height:calc(100dvh - 128px)!important;overflow:hidden!important;background:var(--bg-primary)}.welcome{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;text-align:left;padding:2rem 1.5rem;flex:1;min-height:0;position:relative;top:80px;margin-top:0!important}.welcome-small{font-size:1.8rem!important;margin-bottom:.25rem!important}.welcome-title{font-size:1.2rem!important;line-height:1.3!important;margin-bottom:0!important;color:var(--text-muted)!important}.welcome-subtitle,.chips{display:none!important}.chat-messages{flex:1;overflow-y:auto!important;overflow-x:hidden!important;padding:20px 1rem 45vh 1rem!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;min-height:0!important;display:flex;flex-direction:column;justify-content:flex-start;gap:1rem!important}.input-area{position:fixed!important;bottom:0;left:0;right:0;transform:none!important;background:var(--bg-primary)!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom,8px))!important;z-index:100;border-top:1px solid rgba(255,255,255,.06)}body.chat-mode .input-area{bottom:0!important;transform:none!important}.input-container{width:100%!important;max-width:100%!important;background:#1e1f20!important;border-radius:26px!important;padding:8px 12px 8px 18px!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 2px 12px #0000004d!important;min-height:48px!important;max-height:120px!important;gap:10px!important;display:flex;align-items:center}.message-input{font-size:16px!important;min-height:24px!important;max-height:100px!important;padding:6px 0!important;line-height:1.4!important;flex:1;word-wrap:break-word!important;overflow-wrap:break-word!important;white-space:pre-wrap!important}.send-btn{width:32px!important;height:32px!important;min-width:32px!important;border-radius:50%!important;background:linear-gradient(145deg,#4facfe,#00f2fe)!important;box-shadow:0 2px 6px #4facfe59!important;flex-shrink:0;padding:0!important;display:flex;align-items:center;justify-content:center}.send-btn svg{width:14px!important;height:14px!important}.send-btn:before{display:none!important}.message{margin-bottom:8px!important;max-width:85%!important}.message.user{align-self:flex-end}.message.ai{align-self:flex-start}.message-content{font-size:15px!important;line-height:1.5!important;padding:10px 14px!important;border-radius:18px!important}.message.user .message-content{border-radius:18px 18px 4px!important}.message.ai .message-content{border-radius:18px 18px 18px 4px!important}.sidebar{display:flex!important;position:fixed!important;top:0;left:0;bottom:0;width:85%;max-width:300px;background:var(--bg-secondary)!important;z-index:1900!important;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding-top:60px!important;border-right:none;box-shadow:none;border-top-right-radius:24px!important;border-bottom-right-radius:24px!important}.sidebar.active{transform:translate(0);border-right:1px solid rgba(255,255,255,.05);box-shadow:4px 0 24px #0006}.sidebar-overlay{display:block!important;position:fixed;top:0;left:0;width:100%;height:100dvh;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1800!important;opacity:0;visibility:hidden;transition:opacity .3s ease}.sidebar.active+.sidebar-overlay,.sidebar-overlay.active{opacity:1;visibility:visible}.legal-footer{display:none!important}[data-theme=light] .header{background:#ffffffe6!important;border-bottom-color:#00000014!important}[data-theme=light] .input-area{background:var(--bg-primary)!important;border-top-color:#00000014!important}[data-theme=light] .input-container{background:#f0f4f9!important;border-color:#0000001a!important}}.input-container{display:flex;align-items:center;gap:.75rem;background:var(--bg-secondary);border:none;border-radius:32px;padding:.75rem 1rem .75rem 1.5rem;transition:all .2s ease;box-shadow:none;max-width:850px;width:100%;margin:0 auto}.input-container:focus-within{background:#2b2c2d;box-shadow:none;transform:none}.message-input{flex:1;background:transparent;border:none;outline:none;font-size:1rem;color:var(--text-primary);font-family:var(--font-family);resize:none;min-height:24px;max-height:150px;overflow-y:auto;line-height:1.5}.message-input::placeholder{color:var(--text-muted)}.send-btn{width:48px;height:48px;min-width:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-secondary) 100%);border:none;border-radius:50%;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 4px 15px #60a5fa66,inset 0 1px #fff3;position:relative;overflow:hidden}.send-btn:before{content:"";position:absolute;inset:-4px;border-radius:50%;background:linear-gradient(135deg,var(--accent-color),var(--accent-secondary));opacity:0;z-index:-1;transition:opacity .3s ease}.send-btn:hover:before{opacity:.3;animation:pulse-ring 1.5s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.4}to{transform:scale(1.4);opacity:0}}.send-btn svg{width:20px;height:20px;color:var(--bg-primary);transition:transform .2s ease}.send-btn:hover{transform:scale(1.08);box-shadow:0 8px 25px #60a5fa80,inset 0 1px #ffffff4d}.send-btn:hover svg{transform:translate(2px) translateY(-2px)}.send-btn:active{transform:scale(.95)}.send-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.chips{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;padding-top:.5rem}.chips.hidden{display:none}.chip{background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:2rem;padding:.7rem 1.15rem;font-size:.9rem;color:var(--text-secondary);font-family:var(--font-family);cursor:pointer;transition:all .25s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.chip:hover{background:#60a5fa1a;border-color:#60a5fa4d;color:var(--text-primary);box-shadow:0 0 15px #60a5fa1a}.chat-messages{scrollbar-width:none;-ms-overflow-style:none}.chat-messages::-webkit-scrollbar{display:none}.chat-messages::-webkit-scrollbar-thumb:hover{background-color:#60a5fa66}.icon-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--input-border);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.icon-btn:hover{border-color:var(--accent-color);color:var(--accent-color)}.icon-btn svg{width:20px;height:20px}.history-card{width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.history-list{flex:1;overflow-y:auto;margin:1rem 0;max-height:60vh}.history-item{padding:.75rem 1rem;background:transparent;border:none;border-radius:2rem;margin-bottom:.25rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.75rem;width:100%;color:var(--text-secondary)}.history-item:hover{background:#a8c7fa1a;color:var(--text-primary);transform:none}.history-title{color:var(--text-primary);font-size:.95rem;margin-bottom:.25rem;font-weight:500}.history-date{color:var(--text-muted);font-size:.8rem}.history-empty{text-align:center;color:var(--text-muted);padding:2rem}.auth-submit-btn.secondary{background:transparent;border:1px solid var(--input-border);margin-top:0}.auth-submit-btn.secondary:hover{border-color:var(--text-secondary);background:#ffffff0d}.auth-submit-btn.danger-btn{background:#dc26261a;border:1px solid rgba(220,38,38,.5);color:#ef4444;margin-top:.5rem}.auth-submit-btn.danger-btn:hover{background:#dc262633;box-shadow:0 0 15px #dc262633}.auth-submit-btn.warning-btn{background:#eab3081a;border:1px solid rgba(234,179,8,.5);color:#eab308;margin-top:.5rem}.auth-submit-btn.warning-btn:hover{background:#eab30833;box-shadow:0 0 15px #eab30833}@media(max-width:480px){.header{padding:1rem 1.25rem}.main{padding:3.5rem 1rem 90px}.welcome-title{font-size:1.65rem}.welcome-small{font-size:1rem}.message-content{max-width:92%}.chip{font-size:.85rem;padding:.6rem 1rem}.input-container{padding:.75rem 1rem}}.global-menu-btn{position:fixed;top:1rem;left:1rem;z-index:2000;background:transparent;border:none;color:var(--text-primary);cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;transition:background .2s}.global-menu-btn:hover{background:#ffffff1a}.theme-icon{width:20px;height:20px;transition:transform .3s ease}.theme-icon.moon{display:none}.theme-icon.sun{display:block}[data-theme=light] .theme-icon.sun{display:none}[data-theme=light] .theme-icon.moon{display:block}[data-theme=light] .theme-toggle:hover .theme-icon{transform:rotate(15deg)}:root{--font-primary: "Outfit", sans-serif}body{font-family:var(--font-primary)}.sidebar{width:280px;min-width:280px;flex-shrink:0;background-color:var(--bg-secondary);border-right:none;display:flex;flex-direction:column;padding:0;height:100%;overflow:hidden;white-space:nowrap;transition:width .5s cubic-bezier(.4,0,.2,1),min-width .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .sidebar{background-color:#1e1f20!important}body.preload *{transition:none!important}.sidebar-inner-wrapper{width:280px;min-width:280px;height:100%;display:flex;flex-direction:column;padding:8px;transition:opacity .2s ease}.sidebar-header-area{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;margin-bottom:4px;gap:4px;min-height:auto}.global-menu-btn{position:static;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:background .2s}.new-chat-btn-sidebar{display:flex;align-items:center;justify-content:flex-start;gap:16px;width:240px;height:48px;padding:0 16px;background-color:#dde3ea;color:#1f1f1f;border-radius:24px;border:none;cursor:pointer;font-family:var(--font-primary);font-weight:500;font-size:14px;transition:all .2s cubic-bezier(.2,0,0,1)}[data-theme=dark] .new-chat-btn-sidebar{background-color:#1e1f20;color:#e3e3e3}.new-chat-btn-sidebar:hover{background-color:#d1d8df}[data-theme=dark] .new-chat-btn-sidebar:hover{background-color:#333537}.sidebar.collapsed{width:72px!important;min-width:72px!important}.sidebar.collapsed .new-chat-text,.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .logo-text,.sidebar.collapsed .logo,.sidebar.collapsed .history-header h3,.sidebar.collapsed .sidebar-link span,.sidebar.collapsed .btn-text,.sidebar.collapsed .sidebar-history,.sidebar.collapsed .sidebar-content,.sidebar.collapsed p,.sidebar.collapsed span:not(.icon-span){display:none!important}.sidebar.collapsed .sidebar-content{width:0!important;padding:0!important;margin:0!important;opacity:0!important;overflow:hidden!important}.sidebar.collapsed .sidebar-header-area{align-items:flex-start!important;justify-content:flex-start!important;margin-bottom:2rem;padding:0!important}.sidebar.collapsed .sidebar-inner-wrapper{width:280px!important;min-width:280px!important;padding:12px!important;align-items:flex-start!important}.sidebar.collapsed .global-menu-btn,.sidebar.collapsed .new-chat-btn-sidebar,.sidebar.collapsed .sidebar-link{width:48px!important;height:48px!important;margin:0!important;padding:0!important;display:flex!important;justify-content:center!important;align-items:center!important;transform:none!important}.sidebar.collapsed .new-chat-btn-sidebar{width:40px;height:40px;padding:0;justify-content:center;border-radius:50%;background-color:transparent!important}.sidebar.collapsed .sidebar-footer{display:flex;justify-content:center}.sidebar.collapsed .sidebar-link{justify-content:center;padding:0;width:40px;height:40px;border-radius:50%}.sidebar.collapsed .sidebar-link svg{margin:0}.sidebar.collapsed .btn-text,.sidebar.collapsed .sidebar-section-title,.sidebar.collapsed .logo-text,.sidebar.collapsed .logo,.sidebar.collapsed .history-header h3,.sidebar.collapsed .new-chat-text{display:none!important}.sidebar.collapsed .sidebar-header-area{align-items:center;width:100%}.sidebar.collapsed .new-chat-btn-sidebar{width:48px;height:48px;padding:0;justify-content:center;border-radius:50%;background-color:transparent!important}.sidebar.collapsed .new-chat-btn-sidebar:hover{background-color:#8b91961a!important}.sidebar.collapsed .menu-item,.sidebar.collapsed .history-item{justify-content:center;padding-left:0;padding-right:0}.main{flex:1;width:100%;margin-left:0;transition:margin-left .5s cubic-bezier(.4,0,.2,1)}.sidebar.active{transform:translate(0)}@media(min-width:769px){.sidebar-header{display:none}body:not(.sidebar-closed) .sidebar-header{display:flex}body:not(.sidebar-closed) .menu-btn-inner{display:flex}}.menu-btn-inner:hover{background:#e7e8e91a}.new-chat-btn-sidebar{width:100%;padding:10px 16px;background:#2b2c2d;color:#e3e3e3;border:none;border-radius:16px;font-size:.95rem;font-weight:500;display:flex;align-items:center;justify-content:flex-start;gap:12px;cursor:pointer;transition:background .2s;margin-bottom:4px;margin-top:4px}.new-chat-btn-sidebar:hover{background:#373839}.new-chat-btn-sidebar svg{color:#a8c7fa}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow-y:auto}.sidebar-section-title{font-size:.85rem;color:#c4c7c5;margin:4px 1rem;font-weight:500}.history-item{padding:10px 16px;margin:2px 0;border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s ease;border:none!important;background:transparent}.history-item:hover{background:#2b2c2d}.history-item.active{background:#004a7766;color:#c2e7ff}.sidebar-footer{margin-top:auto;padding-top:1rem}.sidebar-link{width:100%;padding:10px 16px;background:transparent;color:#e3e3e3;border:none;border-radius:20px;font-size:.9rem;display:flex;align-items:center;gap:12px;cursor:pointer;transition:background .2s;text-align:left}.sidebar-link:hover{background:#2b2c2d}@media(min-width:769px){.sidebar{transform:none!important}.sidebar-overlay{display:none!important}.header{position:relative;top:auto;left:auto;right:auto}}@media(max-width:768px){.sidebar{position:fixed;top:0;left:0;bottom:0;width:72%;max-width:275px;transform:translate(-100%);z-index:1000}.sidebar.active{transform:translate(0)}body.sidebar-closed .sidebar{width:72%;max-width:275px;padding:1rem}.sidebar-inner-wrapper{transform:translate(-15px);width:calc(100% + 15px)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:900;opacity:0;visibility:hidden;transition:opacity .3s}.sidebar-overlay.active{opacity:1;visibility:visible}.main-wrapper{width:100%}.header .logo{display:none!important}.header{justify-content:flex-end}.header-right{margin-left:0}}[data-theme=light] .message.user .message-content{background:#f1f5f9!important;color:#0f172a!important;box-shadow:none!important;border:1px solid transparent}[data-theme=light] .message.user{background:transparent!important;box-shadow:none!important}[data-theme=light] .message.ai .message-content{background:transparent!important;border:none!important;box-shadow:none!important;color:#0f172a!important;padding-left:0!important}[data-theme=light] .message.ai{background:transparent!important;border:none!important;box-shadow:none!important}[data-theme=light] .input-container{background:#fff!important;border:1px solid #cbd5e1}[data-theme=light] .input-container:focus-within{background:#fff!important;border-color:#3b82f6!important;box-shadow:0 4px 15px #2563eb26!important;transform:translateY(-2px)}[data-theme=light] .message-input{color:#000!important}[data-theme=light] .message-input::placeholder{color:#64748b!important;display:block}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal{background:var(--bg-card);width:90%;max-width:450px;border-radius:16px;border:1px solid var(--chip-border);box-shadow:0 20px 60px #0006;transform:translateY(20px);transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;flex-direction:column;overflow:hidden}.modal-overlay.active .modal{transform:translateY(0)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--chip-border);display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:1.1rem;font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:8px}.modal-close-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close-btn:hover{background:#ffffff1a;color:var(--text-primary)}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.stat-card{background:#0003;padding:1rem;border-radius:12px;text-align:center;border:1px solid var(--chip-border)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent-secondary);margin-bottom:4px}.stat-label{font-size:.85rem;color:var(--text-muted)}.setting-item{display:flex;flex-direction:column;gap:10px}.setting-title{font-size:.95rem;color:var(--text-primary);font-weight:500}.setting-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.danger-zone{border-top:1px solid rgba(239,68,68,.2);margin-top:.5rem;padding-top:1.5rem}.btn-danger{background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.3);padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;width:100%;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-danger:hover{background:#ef444433;border-color:#ef4444}.btn-warning{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.3);padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:500;width:100%;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-warning:hover{background:#f59e0b33;border-color:#f59e0b}.nickname-wrapper{display:flex;gap:10px;margin-top:10px}@media(max-width:768px){.nickname-wrapper{flex-direction:column}#saveNicknameBtn{width:100%!important;height:48px}}@media(max-width:768px){.sidebar{touch-action:pan-y}}@media(max-width:768px){.sidebar,.sidebar-overlay{touch-action:pan-y}}@media(max-width:768px){.sidebar{will-change:transform}}.legal-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem 1.5rem;width:max-content;margin:0 auto 1.5rem;position:relative;z-index:100;background:var(--bg-card);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--chip-border);border-radius:2rem;box-shadow:0 4px 12px #00000026}html[data-theme=light] .legal-footer{background:#fff9;border:1px solid rgba(0,0,0,.05);box-shadow:0 4px 12px #0000000d}html[data-theme=light] .legal-footer a{color:var(--text-secondary)}html[data-theme=light] .legal-footer a:hover{color:var(--accent-color)!important;text-shadow:none!important;text-decoration:none!important}.footer-links{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:center}.legal-footer a{color:var(--text-muted);text-decoration:none;font-size:.65rem;font-weight:400;transition:all .2s ease;opacity:.6}.legal-footer a:hover{color:var(--accent-color);opacity:1;text-shadow:0 0 8px var(--accent-glow)}.legal-footer .separator,.footer-copyright{display:none}body.legal-page{height:auto!important;overflow-y:auto!important;display:block!important;padding-bottom:2rem}.chat-disclaimer{text-align:center;font-size:.75rem;color:var(--text-muted);opacity:.7;margin-top:.5rem;padding:0 1rem;max-width:600px;margin-left:auto;margin-right:auto}.auth-consent-wrapper a:hover{text-decoration:underline!important}.auth-consent-wrapper input[type=checkbox]{accent-color:var(--accent-color)}.input-area{background:linear-gradient(to top,var(--bg-primary) 80%,rgba(19,19,20,0));position:sticky;bottom:0;z-index:50;padding-bottom:1rem}[data-theme=light] .input-area{background:linear-gradient(to top,#fff 80%,#fff0)}.custom-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:99999;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility .3s ease}.custom-modal-overlay.active{opacity:1;visibility:visible;pointer-events:auto}.custom-modal-container{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:28px 32px;max-width:380px;width:90%;text-align:center;box-shadow:0 25px 80px #0009;transform:scale(.85) translateY(20px);transition:transform .3s ease}.custom-modal-overlay.active .custom-modal-container{transform:scale(1) translateY(0)}.custom-modal-icon{font-size:52px;margin-bottom:16px;line-height:1}.custom-modal-title{color:#fff;font-size:1.35rem;font-weight:600;margin-bottom:12px}.custom-modal-message{color:#ffffffb3;font-size:.95rem;line-height:1.6;margin-bottom:28px}.custom-modal-buttons{display:flex;gap:12px;justify-content:center}.custom-modal-btn{padding:12px 28px;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.custom-modal-btn-cancel{background:#ffffff1a;color:#fff;border:1px solid rgba(255,255,255,.15)}.custom-modal-btn-cancel:hover{background:#fff3}.custom-modal-btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.custom-modal-btn-confirm:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.custom-modal-btn-confirm.danger{background:linear-gradient(135deg,#e74c3c,#c0392b)}.custom-modal-btn-confirm.danger:hover{box-shadow:0 8px 25px #e74c3c66}.custom-modal-btn-confirm.success{background:linear-gradient(135deg,#27ae60,#2ecc71)}[data-theme=light] .custom-modal-container{background:linear-gradient(145deg,#fff,#f0f4f9);border:1px solid rgba(0,0,0,.1)}[data-theme=light] .custom-modal-title{color:#1f1f1f}[data-theme=light] .custom-modal-message{color:#0009}[data-theme=light] .custom-modal-btn-cancel{background:#0000000d;color:#1f1f1f;border:1px solid rgba(0,0,0,.1)}[data-theme=light] .custom-modal-btn-cancel:hover{background:#0000001a}@media(min-width:769px){.auth-card{position:relative!important}.auth-card-form{padding-top:50px!important}.auth-close-btn{display:flex!important;position:absolute!important;top:20px!important;right:20px!important;background:#ffffff14!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:50%!important;width:32px!important;height:32px!important;justify-content:center;align-items:center;color:#ffffffb3!important;cursor:pointer;z-index:100;transition:all .2s ease;padding:0!important}.auth-close-btn:hover{background:#ffffff26!important;color:#fff!important;transform:scale(1.1)}.auth-close-btn svg{width:18px;height:18px}}
