@layer base{:root{--bg:#fff;--bg-secondary:#f9f9f9;--bg-sidebar:#f5f5f0;--bg-input:#fff;--border:#e8e8e5;--border-subtle:#f0f0ec;--text-primary:#1a1a18;--text-secondary:#555550;--text-muted:#999990;--accent:#c17f3a;--accent-hover:#a86e2e;--accent-dim:#c17f3a1a;--accent-dim2:#c17f3a0d;--user-bubble-bg:#1a1a18;--user-bubble-text:#fff;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000012;--shadow-lg:0 8px 32px #0000001a;--radius:10px}[data-theme=dark]{--bg:#0f0f0e;--bg-secondary:#161614;--bg-sidebar:#131311;--bg-input:#1c1c1a;--border:#272724;--border-subtle:#1e1e1c;--text-primary:#ededea;--text-secondary:#9b9b95;--text-muted:#5a5a54;--accent:#c9913e;--accent-hover:#daa04a;--accent-dim:#c9913e1a;--accent-dim2:#c9913e0d;--user-bubble-bg:#c9913e;--user-bubble-text:#0f0f0e;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);height:100%;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.65;transition:background .2s,color .2s}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.app-layout{background:var(--bg);height:100vh;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);z-index:50;flex-direction:column;width:256px;min-width:256px;transition:transform .25s;display:flex;overflow:hidden}.sidebar-header{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:18px 14px 14px;display:flex}.sidebar-brand{color:var(--accent);letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:17px;font-weight:600}.new-chat-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-secondary);cursor:pointer;align-items:center;gap:7px;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:450;transition:all .15s;display:flex}.new-chat-btn:hover{background:var(--bg-secondary);border-color:var(--text-muted);color:var(--text-primary)}.sidebar-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:14px 14px 5px;font-size:10px;font-weight:600}.sidebar-chats{flex:1;padding:4px 6px;overflow-y:auto}.chat-item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;padding:7px 10px;transition:background .12s;display:flex}.chat-item:hover{background:var(--border-subtle)}.chat-item.active{background:var(--accent-dim)}.chat-item-title{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;line-height:1.4;overflow:hidden}.chat-item.active .chat-item-title{color:var(--text-primary);font-weight:500}.chat-item-delete{opacity:0;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:1px 5px;font-size:16px;line-height:1;transition:opacity .12s,color .12s}.chat-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:#d94f4f}.sidebar-login-prompt{text-align:center;padding:20px 10px}.sidebar-login-prompt p{color:var(--text-muted);margin-bottom:10px;font-size:12px;line-height:1.5}.sidebar-footer{border-top:1px solid var(--border-subtle);align-items:center;gap:8px;padding:10px 12px;display:flex}.sidebar-user{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12.5px;overflow:hidden}.icon-btn{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:background .12s,color .12s;display:flex}.icon-btn:hover{background:var(--border-subtle);color:var(--text-primary)}.auth-btn-footer{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;background:0 0;flex:1;align-items:center;gap:7px;padding:7px 10px;font-family:inherit;font-size:12.5px;transition:all .15s;display:flex}.auth-btn-footer:hover{border-color:var(--accent);color:var(--accent)}.theme-btn{border:1px solid var(--border);width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-btn:hover{border-color:var(--accent);color:var(--accent)}.chat-main{background:var(--bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-topbar{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;height:50px;min-height:50px;padding:0 18px;display:flex}.chat-title{color:var(--text-muted);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:400px;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-weight:500;overflow:hidden}.mobile-menu-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;padding:6px;transition:background .12s;display:none}.mobile-menu-btn:hover{background:var(--border-subtle)}.messages-container{scroll-behavior:smooth;flex:1;overflow-y:auto}.messages-inner{flex-direction:column;gap:20px;width:100%;max-width:700px;margin:0 auto;padding:28px 20px 12px;display:flex}.empty-state-container{flex-direction:column;align-items:center;height:100%;display:flex;overflow:hidden auto}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:48px 20px 24px;display:flex}.empty-logo{color:var(--text-primary);letter-spacing:.02em;margin-bottom:6px;font-family:Cormorant Garamond,Georgia,serif;font-size:36px;font-weight:400}.empty-tagline{color:var(--text-muted);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-size:12px}.empty-sub{color:var(--accent);letter-spacing:.01em;margin-bottom:28px;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-style:italic}.empty-input-wrapper{background:var(--bg-input);border:1px solid var(--border);width:100%;max-width:620px;box-shadow:var(--shadow-md);border-radius:16px;align-items:center;gap:4px;margin-bottom:24px;padding:6px 6px 6px 4px;transition:border-color .15s,box-shadow .15s;display:flex}.empty-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim),var(--shadow-md)}.empty-input-wrapper .input-box{min-height:38px;padding:8px 6px;font-size:15px}.suggested-grid{grid-template-columns:repeat(2,1fr);gap:10px;width:100%;max-width:620px;margin-bottom:16px;display:grid}.suggested-q{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;text-align:left;border-radius:10px;padding:11px 16px;font-family:inherit;font-size:13px;line-height:1.45;transition:all .15s}.suggested-q:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-dim2)}.message-row{flex-direction:column;width:100%;animation:.2s fadeUp;display:flex}.message-row.user{align-items:flex-end}.message-row.assistant{align-items:flex-start}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.user-bubble{background:var(--user-bubble-bg);color:var(--user-bubble-text);word-break:break-word;border-radius:18px 18px 4px;max-width:72%;margin-left:auto;padding:10px 16px;font-size:14.5px;line-height:1.6}.assistant-wrap{width:100%}.assistant-content{color:var(--text-primary);word-break:break-word;font-size:15px;line-height:1.78}.assistant-content strong{font-weight:600}.typing-dots{gap:4px;padding:10px 0;display:flex}.typing-dots span{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite dotPulse}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1.1)}}.message-actions{flex-wrap:wrap;gap:3px;margin-top:8px;display:flex}.action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:4px 9px;font-family:inherit;font-size:12px;line-height:1.5;transition:all .12s;display:inline-flex}.action-btn:hover{background:var(--border-subtle);color:var(--text-secondary);border-color:var(--border)}.action-btn.active{color:var(--accent);background:var(--accent-dim2)}.action-btn.liked{color:#22863a}.action-btn.disliked{color:#d94f4f}.action-btn.tts-playing{color:var(--accent)}.input-area{background:var(--bg);border-top:1px solid var(--border-subtle);padding:12px 20px 16px}.input-wrapper{background:var(--bg-input);border:1px solid var(--border);max-width:700px;box-shadow:var(--shadow-sm);border-radius:16px;align-items:flex-end;gap:4px;margin:0 auto;padding:8px 8px 8px 4px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.input-side-btn{width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.input-side-btn:hover:not(:disabled){background:var(--border-subtle);color:var(--text-secondary)}.input-side-btn:disabled{opacity:.3;cursor:not-allowed}.input-box{color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:34px;max-height:160px;padding:6px 4px;font-family:inherit;font-size:14.5px;line-height:1.6}.input-box::placeholder{color:var(--text-muted)}.input-right-btn{flex-shrink:0;align-items:center;display:flex}.send-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.send-btn:hover{background:var(--accent-hover);transform:scale(1.04)}.send-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.send-btn-animated{animation:.18s cubic-bezier(.34,1.56,.64,1) scaleIn}@keyframes scaleIn{0%{opacity:.5;transform:scale(.7)rotate(-10deg)}to{opacity:1;transform:scale(1)rotate(0)}}.mic-btn{border:1.5px solid var(--border);width:34px;height:34px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.mic-btn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim2)}.mic-btn.recording{color:#d94f4f;background:#d94f4f1a;border-color:#d94f4f;animation:1s ease-in-out infinite micPulse}@keyframes micPulse{0%,to{box-shadow:0 0 #d94f4f4d}50%{box-shadow:0 0 0 6px #d94f4f00}}.stop-btn{background:var(--bg-secondary);border:1.5px solid var(--border);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.stop-btn:hover{color:#d94f4f;background:#d94f4f14;border-color:#d94f4f}.input-hint{text-align:center;color:var(--text-muted);letter-spacing:.01em;margin-top:7px;font-family:Cormorant Garamond,Georgia,serif;font-size:13px;font-style:italic}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#00000073;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--bg);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow-lg);border-radius:16px;padding:28px 28px 24px;animation:.2s slideUp;position:relative}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 6px;font-size:20px;line-height:1;transition:background .12s;position:absolute;top:14px;right:14px}.modal-close:hover{background:var(--border-subtle)}.modal-title{color:var(--text-primary);margin-bottom:4px;font-family:Cormorant Garamond,Georgia,serif;font-size:24px;font-weight:500}.modal-subtitle{color:var(--text-muted);margin-bottom:20px;font-size:13px;line-height:1.5}.google-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;gap:9px;margin-bottom:14px;padding:10px 16px;font-family:inherit;font-size:13.5px;font-weight:500;transition:all .15s;display:flex}.google-btn:hover{background:var(--border-subtle);border-color:var(--text-muted)}.modal-divider{color:var(--text-muted);align-items:center;gap:10px;margin-bottom:14px;font-size:12px;display:flex}.modal-divider:before,.modal-divider:after{content:"";background:var(--border);flex:1;height:1px}.modal-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text-primary);outline:none;margin-bottom:8px;padding:10px 13px;font-family:inherit;font-size:13.5px;transition:border-color .15s}.modal-input:focus{border-color:var(--accent)}.modal-input::placeholder{color:var(--text-muted)}.modal-error{color:#d94f4f;margin:-2px 0 8px;font-size:12px}.modal-btn{background:var(--accent);border-radius:var(--radius);color:#fff;cursor:pointer;border:none;width:100%;margin-top:4px;padding:11px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s}.modal-btn:hover{background:var(--accent-hover)}.modal-btn:disabled{opacity:.5;cursor:not-allowed}.modal-switch{text-align:center;color:var(--text-muted);margin-top:14px;font-size:13px}.modal-switch button{color:var(--accent);cursor:pointer;background:0 0;border:none;margin-left:4px;font-family:inherit;font-size:13px}.modal-switch button:hover{text-decoration:underline}.toast{background:var(--text-primary);color:var(--bg);z-index:200;box-shadow:var(--shadow-md);border-radius:20px;padding:9px 18px;font-size:13px;animation:.2s fadeUp;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.sidebar-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40;background:#0006;display:none;position:fixed;inset:0}@media (max-width:768px){.sidebar{height:100%;box-shadow:var(--shadow-lg);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.open{display:block}.mobile-menu-btn{display:flex}.messages-inner{padding:20px 14px 10px}.input-area{padding:10px 12px 14px}.user-bubble{max-width:86%}.chat-topbar{padding:0 12px}.empty-logo{font-size:28px}.empty-input-wrapper{border-radius:14px;max-width:100%}.suggested-grid{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;gap:10px;width:100%;padding:0 16px 8px;display:flex;overflow:auto hidden}.suggested-grid::-webkit-scrollbar{display:none}.suggested-grid .suggested-q{scroll-snap-align:start;flex:0 0 210px}}
