:root{--bg-primary:#f5f5f5;--bg-secondary:#fff;--bg-tertiary:#f8f9fa;--bg-hover:#f0f0f0;--bg-active:#e3f2fd;--text-primary:#333;--text-secondary:#666;--text-tertiary:#999;--border-primary:#e0e0e0;--border-secondary:#f0f0f0;--border-tertiary:#ddd;--accent-primary:#002366;--accent-hover:#001a4d;--accent-gradient-start:#002366;--accent-gradient-end:#003d82;--message-user-bg:#002366;--message-user-text:#fff;--message-assistant-bg:#f0f0f0;--message-assistant-text:#333;--danger:#f44;--danger-hover:#c00;--code-bg:rgba(0,0,0,.05);--code-bg-assistant:rgba(0,0,0,.08);--code-bg-user:hsla(0,0%,100%,.2);--shadow-sm:0 2px 4px rgba(0,0,0,.1);--shadow-md:0 10px 25px rgba(0,0,0,.1);--scrollbar-track:rgba(0,0,0,.05);--scrollbar-thumb:rgba(0,0,0,.2);--scrollbar-thumb-hover:rgba(0,0,0,.3)}[data-theme=dark]{--bg-primary:#0f0f0f;--bg-secondary:#1a1a1a;--bg-tertiary:#242424;--bg-hover:#2a2a2a;--bg-active:#1a2842;--text-primary:#e0e0e0;--text-secondary:#a0a0a0;--text-tertiary:#707070;--border-primary:#333;--border-secondary:#2a2a2a;--border-tertiary:#404040;--accent-primary:#1e3a8a;--accent-hover:#1e40af;--accent-gradient-start:#1e3a8a;--accent-gradient-end:#2563eb;--message-user-bg:#1e3a8a;--message-user-text:#fff;--message-assistant-bg:#2a2a2a;--message-assistant-text:#e0e0e0;--danger:#f55;--danger-hover:#f33;--code-bg:hsla(0,0%,100%,.05);--code-bg-assistant:hsla(0,0%,100%,.08);--code-bg-user:hsla(0,0%,100%,.2);--shadow-sm:0 2px 4px rgba(0,0,0,.3);--shadow-md:0 10px 25px rgba(0,0,0,.5);--scrollbar-track:hsla(0,0%,100%,.05);--scrollbar-thumb:hsla(0,0%,100%,.2);--scrollbar-thumb-hover:hsla(0,0%,100%,.3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.theme-toggle{background:none;border:2px solid var(--accent-primary);color:var(--accent-primary);width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:20px;transition:all .3s ease}.theme-toggle:hover{background:var(--accent-primary);color:#fff;transform:scale(1.05)}.sign-in-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:url(/images/hav.jpg) 50%/cover no-repeat;position:relative}.sign-in-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:hsla(0,0%,100%,.85);z-index:1}[data-theme=dark] .sign-in-container:before{background:rgba(0,0,0,.75)}.sign-in-card{background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:var(--shadow-md);text-align:center;max-width:450px;width:90%;transition:background-color .3s ease;position:relative;z-index:2}.sign-in-card h1{font-size:2rem;color:var(--accent-primary);margin-bottom:1rem}.sign-in-card p{color:var(--text-secondary);margin-bottom:2rem}.auth-options{display:flex;flex-direction:column;gap:1.5rem}.auth-section{padding:1.5rem;border-radius:8px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);transition:all .3s ease}.auth-section:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.auth-section h3{margin:0 0 .5rem;color:var(--text-primary);font-size:1.1rem;font-weight:600}.auth-description{margin:0 0 1rem!important;color:var(--text-secondary);font-size:.9rem}.auth-divider{display:flex;align-items:center;justify-content:center;position:relative;margin:.5rem 0}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border-primary)}.auth-divider span{background:var(--bg-secondary);padding:0 1rem;color:var(--text-tertiary);font-size:.9rem;font-weight:500}.sign-in-button,.sign-up-button{width:100%;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;transform:none}.sign-in-button{background:var(--accent-primary);color:#fff}.sign-in-button:hover{background:var(--accent-hover);transform:translateY(-1px)}.sign-up-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.sign-up-button:hover{background:linear-gradient(135deg,#20c997,#28a745);transform:translateY(-1px)}[data-theme=dark] .auth-section{background:var(--bg-primary);border-color:var(--border-primary)}[data-theme=dark] .auth-section:hover{border-color:var(--accent-primary);background:var(--bg-tertiary)}[data-theme=dark] .auth-divider span{background:var(--bg-secondary)}.app-container{height:100vh;max-height:100vh;display:flex;flex-direction:column}.app-header{background:var(--bg-secondary);padding:1rem 2rem;border-bottom:1px solid var(--border-primary);display:flex;justify-content:space-between;align-items:center;transition:background-color .3s ease,border-color .3s ease}.header-left h1{color:var(--accent-primary);font-size:1.5rem}.header-right{display:flex;align-items:center;gap:1rem}.header-right span{color:var(--text-secondary)}.subscription-link{color:var(--accent-primary);text-decoration:none;font-weight:500;padding:8px 16px;border-radius:6px;background:var(--bg-tertiary);transition:all .3s ease;font-size:14px}.subscription-link:hover{background:var(--bg-active);color:var(--accent-hover);transform:translateY(-1px)}.main-content{flex:1 1;display:flex;overflow:hidden}.session-list{width:300px;background:var(--bg-secondary);border-right:1px solid var(--border-primary);display:flex;flex-direction:column;transition:background-color .3s ease,border-color .3s ease}.session-list-header{padding:1rem;border-bottom:1px solid var(--border-secondary);display:flex;justify-content:space-between;align-items:center;transition:border-color .3s ease}.session-list-header h3{margin:0;color:var(--text-primary)}.session-buttons{display:flex;gap:8px}.cleanup-button,.new-session-button{background:var(--accent-primary);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .3s ease}.cleanup-button{background:var(--text-secondary);font-size:12px;padding:6px 12px;margin-left:8px}.new-session-button:hover{background:var(--accent-hover)}.cleanup-button:hover{background:var(--text-primary)}.delete-all-sessions-button{background:var(--danger);color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:background-color .3s ease;margin-left:8px}.delete-all-sessions-button:hover{background:var(--danger-hover)}.sessions{flex:1 1;overflow-y:auto}.session-item{padding:1rem;border-bottom:1px solid var(--border-secondary);cursor:pointer;position:relative;transition:background-color .3s ease,border-color .3s ease}.session-item:hover{background:var(--bg-tertiary)}.session-item.active{background:var(--bg-active);border-left:3px solid var(--accent-primary)}.session-title{font-weight:500;margin-bottom:4px;color:var(--text-primary)}.session-meta{font-size:12px}.delete-session{position:absolute;top:8px;right:8px;background:none;border:none;font-size:18px;cursor:pointer;color:var(--text-tertiary);width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color .3s ease}.delete-session:hover{color:var(--danger)}.session-content{flex:1 1;min-width:0}.session-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.bookmark-indicator{font-size:.9rem;margin-left:.5rem}.session-preview{font-size:.8rem;color:var(--text-tertiary);margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.8}.session-meta{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:var(--text-secondary)}.session-date{opacity:.7}.session-actions{display:flex;align-items:flex-start;opacity:0;transition:opacity .2s ease}.session-item:hover .session-actions{opacity:1}.session-item.bookmarked{border-left:3px solid var(--accent-primary);background:linear-gradient(90deg,var(--bg-active),transparent)}.mobile-menu-toggle,.mobile-overlay{display:none}.chat-interface{flex:1 1;display:flex;flex-direction:column;background:var(--bg-secondary);transition:background-color .3s ease;min-height:0}.messages-container{flex:1 1;overflow-y:auto;overflow-x:hidden;padding:2rem 0;width:100%}.messages-container>.welcome-message:first-child{max-width:900px;margin-left:auto;margin-right:auto;padding:3rem 5rem}.messages-inner{max-width:900px;width:100%;margin:0 auto;padding:0 5rem}.welcome-message{text-align:center;color:var(--text-secondary)}.welcome-message h2{color:var(--accent-primary);margin-bottom:1rem}.message{margin-bottom:2rem;display:flex;padding:0 5rem;max-width:900px;margin-left:auto;margin-right:auto;transition:all .2s ease}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:88%;padding:12px 16px;border-radius:12px;white-space:pre-wrap;transition:background-color .3s ease,color .3s ease}.message-image{margin-bottom:8px}.message-image img{max-width:250px;max-height:200px;border-radius:8px;border:1px solid hsla(0,0%,100%,.2);display:block}.message.user .message-content{background:linear-gradient(135deg,#1e3a8a,#3b82f6);color:var(--message-user-text);border-radius:18px 18px 4px 18px;box-shadow:0 2px 12px rgba(30,58,138,.25);font-size:15px}.message.user .message-image img{border:1px solid hsla(0,0%,100%,.3)}.message.assistant .message-content{background:var(--message-assistant-bg);color:var(--message-assistant-text);border-left:3px solid var(--accent-primary);box-shadow:0 1px 4px rgba(0,0,0,.1);border-radius:18px 18px 18px 4px;font-size:15px}.copy-button{position:absolute;bottom:8px;left:8px;background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:4px 10px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;opacity:.7;display:flex;align-items:center;gap:4px}.copy-button:hover{opacity:1;background:var(--bg-hover);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.copy-button:active{transform:translateY(0)}[data-theme=dark] .copy-button{background:var(--bg-tertiary);border-color:var(--border-tertiary)}[data-theme=dark] .copy-button:hover{background:var(--bg-hover);border-color:var(--border-secondary)}.message-timestamp{font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem;opacity:.7;font-style:italic}.bookmark-button{background:var(--bg-tertiary);border:1px solid var(--border-primary);color:var(--text-secondary);padding:4px 8px;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s ease;margin-right:.5rem}.bookmark-button:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-1px)}.bookmark-button.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.character-counter{position:absolute;bottom:-20px;right:0;font-size:.75rem;color:var(--text-tertiary);opacity:.7}.response-mode-indicator{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;border-radius:12px;font-size:.75rem;margin-left:.5rem}.response-mode-indicator.mode-summary{background:#fef3c7;color:#92400e}.response-mode-indicator.mode-standard{background:#dbeafe;color:#1e40af}.response-mode-indicator.mode-detailed{background:#d1fae5;color:#065f46}.animated-icon{animation:thinking-bounce 2s infinite}@keyframes thinking-bounce{0%,20%,50%,80%,to{transform:scale(1)}40%{transform:scale(1.1)}60%{transform:scale(1.05)}}.assistant-content{display:inline}.streaming-cursor{display:inline-block;color:var(--accent-primary);font-weight:700;animation:blink 1s infinite;margin-left:2px}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.typing-indicator{display:flex;gap:4px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);animation:typing 1.4s ease-in-out infinite}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.generated-image-container{margin-top:12px;max-width:100%}.generated-image{max-width:100%;height:auto;border-radius:8px;box-shadow:var(--shadow-sm);display:block;margin-bottom:8px}.image-caption{font-size:12px;color:var(--text-secondary);font-style:italic;margin-top:4px}.image-generating-indicator{margin-top:12px;padding:15px;background:linear-gradient(135deg,var(--bg-tertiary) 0,var(--bg-secondary) 100%);border-radius:12px;border:2px dashed var(--border-secondary);display:flex;align-items:center;gap:10px;animation:pulse 2s infinite}.generating-icon{font-size:1.5rem;animation:bounce 1s infinite}.generating-text{font-size:.9rem;color:var(--text-primary);font-weight:500}.generating-spinner{width:16px;height:16px;border-top:2px solid var(--border-primary);border:2px solid var(--border-primary);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;margin-left:auto}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}60%{transform:translateY(-3px)}}.image-error-indicator{margin-top:12px;padding:15px;background:linear-gradient(135deg,#fee,#fdd);border-radius:12px;border:2px solid #f5c6cb;display:flex;align-items:center;gap:10px}.error-icon{font-size:1.2rem}.error-text{font-size:.9rem;color:#721c24;font-weight:500}.image-generation-controls{padding:12px 5rem 6px;max-width:900px;margin:0 auto;display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);border-top:1px solid var(--border-primary)}.checkbox-container{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{margin-right:8px;cursor:pointer}.checkbox-label{font-weight:500}.checkbox-label,.image-size-select{color:var(--text-primary);font-size:14px}.image-size-select{padding:6px 12px;border-radius:6px;border:1px solid var(--border-primary);background:var(--bg-secondary);cursor:pointer;transition:all .3s ease}.image-size-select:focus,.image-size-select:hover{border-color:var(--accent-primary)}.image-size-select:focus{outline:none;box-shadow:0 0 0 2px rgba(0,35,102,.1)}.thinking-box{padding:16px;background:var(--message-assistant-bg);border-radius:12px;border:1px solid var(--border-primary);max-width:-moz-fit-content;max-width:fit-content}.thinking-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.thinking-icon{font-size:20px;animation:thinking-pulse 2s ease-in-out infinite}@keyframes thinking-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.thinking-text{font-weight:600;color:var(--accent-primary);font-size:14px}.thinking-status{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.status-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.status-item-animated{animation:statusItemFadeIn .3s ease-out}@keyframes statusItemFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.status-icon{font-size:16px;opacity:.8}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-container{padding:1.5rem 5rem 1rem;border-top:1px solid var(--border-primary);transition:border-color .3s ease;width:100%}.input-wrapper{display:flex;gap:12px;align-items:flex-end;max-width:900px;margin:0 auto}.input-wrapper textarea{flex:1 1;padding:12px;border:1px solid var(--border-tertiary);border-radius:8px;resize:none;font-family:inherit;font-size:14px;max-height:120px;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease,border-color .3s ease}.input-wrapper textarea:focus{outline:none;border-color:var(--accent-primary)}.send-button{background:var(--accent-primary);color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-size:13px;transition:background-color .3s ease;min-height:40px}.send-button:hover{background:var(--accent-hover)}.send-button:disabled{background:var(--text-tertiary);cursor:not-allowed}.loading{padding:2rem;color:var(--text-secondary)}.image-upload-button,.loading{display:flex;align-items:center;justify-content:center}.image-upload-button{background:none;border:2px solid var(--accent-primary);color:var(--accent-primary);cursor:pointer;padding:8px;border-radius:6px;font-size:18px;transition:all .2s;min-width:40px;height:40px}.image-upload-button:hover{background:var(--accent-primary);color:#fff;transform:scale(1.05)}.image-upload-button:active{transform:scale(.95)}.image-preview-container{padding:1rem 5rem .5rem;border-top:1px solid var(--border-primary);transition:border-color .3s ease;width:100%}.image-preview{position:relative;display:inline-block;max-width:200px;margin:0 auto}.image-preview img{max-width:100%;max-height:150px;border-radius:8px;border:2px solid var(--border-tertiary);transition:border-color .3s ease}.remove-image{position:absolute;top:-8px;right:-8px;background:var(--danger);color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:background-color .3s ease}.remove-image:hover{background:var(--danger-hover)}.message-text{line-height:1.6;position:relative;min-height:32px}.message.assistant .message-text{padding-bottom:36px}.message-text p{margin:0 0 1em}.message-text p:last-child{margin-bottom:0}.message-text ol,.message-text ul{margin:0 0 1em 1.5em;padding:0}.message-text ol:last-child,.message-text ul:last-child{margin-bottom:0}.message-text li{margin-bottom:.5em}.message-text li:last-child{margin-bottom:0}.message-text strong{font-weight:600;color:inherit}.message-text em{font-style:italic}.message-text code{background:var(--code-bg);padding:2px 4px;border-radius:3px;font-family:Consolas,Monaco,Courier New,monospace;font-size:.9em}.message.assistant .message-text code{background:var(--code-bg-assistant)}.message.user .message-text code{background:var(--code-bg-user)}.message-text pre{background:var(--code-bg);padding:12px;border-radius:6px;overflow-x:auto;margin:0 0 1em}.message-text pre:last-child{margin-bottom:0}.message-text pre code{background:none;padding:0}.message-text blockquote{border-left:3px solid var(--accent-primary);padding-left:1em;margin:0 0 1em;font-style:italic;color:var(--text-secondary)}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:0 0 .5em;font-weight:600;color:var(--text-primary)}.message-text hr{border:none;border-top:1px solid var(--border-primary);margin:1em 0;transition:border-color .3s ease}.input-wrapper.paste-active{border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(30,58,138,.1);background:var(--bg-active)}.input-wrapper textarea.paste-active{background:rgba(30,58,138,.02)}.input-wrapper:after{content:"💡 Tip: You can paste images directly with Ctrl+V";position:absolute;bottom:-30px;left:0;font-size:12px;color:var(--text-tertiary);opacity:0;transition:opacity .3s ease;pointer-events:none}.input-wrapper:focus-within:after{opacity:1}.scroll-to-bottom-button{position:fixed;bottom:140px;right:30px;width:50px;height:50px;background:var(--accent-primary);color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:20px;font-weight:700;box-shadow:var(--shadow-md);transition:all .3s ease;z-index:1000;display:flex;align-items:center;justify-content:center;opacity:.9}.scroll-to-bottom-button:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2);opacity:1}.scroll-to-bottom-button:active{transform:translateY(-1px)}@media (max-width:1024px){.session-list{width:260px}.message,.messages-inner{max-width:680px;padding:0 3.5rem}.input-container{padding:1.5rem 3.5rem 2rem}.input-wrapper{max-width:680px}.image-preview-container{padding:1rem 3.5rem}.messages-container>.welcome-message:first-child{max-width:680px;padding:3rem 3.5rem}}@media (max-width:768px){.app-container{position:relative}.app-header{padding:.75rem 1rem .75rem 3.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-left h1{font-size:1.25rem}.header-right{gap:.5rem}.header-right span{display:none}.subscription-link{padding:6px 12px;font-size:12px}.mobile-menu-toggle{display:flex;position:fixed;top:.75rem;left:.5rem;z-index:200;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;width:36px;height:36px;font-size:1.2rem;cursor:pointer;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.mobile-menu-toggle:hover{background:var(--accent-hover)}.mobile-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:90}.mobile-overlay.active{display:block}.session-list{position:fixed;left:-100%;top:0;height:100vh;width:85%;max-width:300px;background:var(--bg-secondary);box-shadow:var(--shadow-md);transition:left .3s ease;z-index:150}.session-list.active{left:0}.session-list-header{position:-webkit-sticky;position:sticky;top:0;background:var(--bg-secondary);z-index:10;padding:1rem}.session-list-header h3{font-size:1.1rem}.new-session-button{padding:6px 10px;font-size:13px}.cleanup-button{padding:6px;min-width:32px;height:32px}.session-item{padding:.8rem;min-height:48px}.session-title{font-size:.9rem}.session-meta{font-size:11px}.delete-session{width:24px;height:24px;font-size:16px}.chat-interface,.main-content{width:100%}.messages-container{padding:1rem 0;height:calc(100vh - 140px)}.messages-inner{max-width:100%;padding:0 1rem}.messages-container>.welcome-message:first-child,.welcome-message{max-width:100%;padding:2rem 1rem}.welcome-message h2{font-size:1.5rem}.message{margin-bottom:.75rem;padding:0 1rem;max-width:100%}.message-content{max-width:90%;padding:10px 14px;font-size:.95rem}.message-image img{max-width:200px;max-height:150px}.input-container{padding:.5rem;position:-webkit-sticky;position:sticky;bottom:0;background:var(--bg-secondary);box-shadow:0 -2px 10px rgba(0,0,0,.1)}.input-wrapper{max-width:100%}.input-wrapper textarea{font-size:16px;padding:10px;min-height:44px}.image-upload-button{min-width:40px;height:40px;font-size:16px}.image-preview-container{padding:.5rem}.image-preview img{max-width:150px;max-height:150px}.remove-image{width:24px;height:24px;font-size:16px}.message-text h1{font-size:1.3rem}.message-text h2{font-size:1.2rem}.message-text h3{font-size:1.1rem}.message-text pre{font-size:.8rem;padding:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.message-text code{font-size:.85rem;padding:1px 4px}.copy-button{bottom:4px;left:4px;padding:3px 8px;font-size:11px}.message.assistant .message-text{padding-bottom:30px}.thinking-box{padding:12px;margin:0 auto;max-width:90%}.thinking-text{font-size:13px}.status-item{font-size:12px}.image-generation-controls{padding:8px 1rem;gap:8px;flex-wrap:wrap}.checkbox-label{font-size:13px}.image-size-select{font-size:13px;padding:4px 8px}.generated-image-container{margin-top:8px}.generated-image{border-radius:6px}.image-caption{font-size:11px}.scroll-to-bottom-button{bottom:110px;right:20px;width:45px;height:45px;font-size:18px}}@media (max-width:480px){.app-header{padding:.5rem .5rem .5rem 3rem}.header-left h1{font-size:1.1rem}.mobile-menu-toggle{width:32px;height:32px;font-size:1.1rem;top:.5rem;left:.4rem}.theme-toggle{width:36px;height:36px;font-size:18px}.subscription-link{padding:4px 8px;font-size:11px}.session-list{width:90%}.messages-container{padding:.25rem}.message-content{font-size:.9rem;padding:8px 12px;max-width:92%}.input-container{padding:.25rem}.input-wrapper textarea{padding:8px;font-size:16px}.send-button{padding:8px 12px;font-size:12px}.thinking-box{padding:10px;max-width:95%}.thinking-icon{font-size:18px}.thinking-text{font-size:12px}.status-item{font-size:11px}.image-generation-controls{padding:6px .5rem}.checkbox-container{font-size:12px}.image-size-select{font-size:12px;width:100%;margin-top:4px}}@media (hover:none) and (pointer:coarse){.session-item:hover{background:transparent}.session-item:active{background:var(--bg-hover)}button:hover{transform:none}button:active{transform:scale(.95)}.session-item,button,input,textarea{min-height:44px}.messages-container,.sessions{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}}@media (max-width:768px) and (orientation:landscape){.app-header{padding:.5rem 1rem .5rem 3rem}.mobile-menu-toggle{top:.5rem}.messages-container{height:calc(100vh - 120px)}.input-container{padding:.25rem .5rem}.input-wrapper textarea{max-height:60px}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}@media (max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:2px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}}@media (max-width:768px){.sign-in-container{padding:1rem}.sign-in-card{padding:1.5rem;width:100%;max-width:400px}.sign-in-card h1{font-size:1.5rem}.sign-in-card p{margin-bottom:1.5rem}.auth-options{gap:1rem}.auth-section{padding:1rem}.auth-section h3{font-size:1rem}.auth-description{font-size:.85rem}.sign-in-button,.sign-up-button{width:100%;padding:14px;font-size:15px}.auth-divider{margin:.25rem 0}.auth-divider span{font-size:.85rem}}@media print{.app-header,.delete-session,.image-upload-button,.input-container,.mobile-menu-toggle,.mobile-overlay,.send-button,.session-list,.theme-toggle{display:none!important}.chat-interface{width:100%!important}.messages-container{height:auto!important;padding:0!important}.message-content{max-width:100%!important}}.session-list-wrapper{display:contents}@media (max-width:768px){.session-list-wrapper{display:block;position:fixed;left:-100%;top:0;height:100vh;width:85%;max-width:300px;transition:left .3s ease;z-index:150}.session-list-wrapper.active{left:0}.session-list-wrapper .session-list{position:static;left:auto;width:100%;max-width:none}}.pricing-banner{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:12px 20px;border-radius:8px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.pricing-content{display:flex;justify-content:space-between;align-items:center;gap:16px}.pricing-text{font-size:14px;font-weight:500}.upgrade-button{background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);padding:6px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.upgrade-button:hover{background:hsla(0,0%,100%,.3);transform:translateY(-1px)}.response-mode-selector{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:12px 16px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;transition:all .3s ease}.mode-buttons{display:flex;gap:8px}.mode-button{background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-secondary);padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .3s ease}.mode-button:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-1px)}.mode-button.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 2px 8px rgba(0,35,102,.3)}.trial-info{font-size:12px;color:var(--text-tertiary);padding:4px 8px;background:var(--bg-tertiary);border-radius:4px}.welcome-shortcuts{margin-top:20px;padding:16px;background:var(--bg-tertiary);border-radius:8px;border-left:4px solid var(--accent-primary);display:inline-block;text-align:left}.welcome-shortcuts p{margin:0 0 8px;font-weight:600;color:var(--text-primary);text-align:left!important}.welcome-shortcuts ul{margin:0;padding-left:20px;text-align:left!important}.welcome-shortcuts li{margin-bottom:4px;font-size:14px;color:var(--text-secondary);text-align:left!important}.welcome-shortcuts kbd{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:3px;padding:2px 6px;font-size:12px;font-family:monospace;color:var(--text-primary)}.message-actions{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border-secondary)}.rating-buttons{display:flex;gap:4px}.rating-button{background:none;border:1px solid var(--border-secondary);padding:4px 8px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s ease;opacity:.7}.rating-button:hover{opacity:1;transform:scale(1.1)}.rating-button.active{opacity:1;border-color:var(--accent-primary);background:var(--accent-primary)}.rating-button.thumbs-up.active{background:#10b981;border-color:#10b981}.rating-button.thumbs-down.active{background:#ef4444;border-color:#ef4444}.response-mode-indicator{font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:3px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width:768px){.pricing-content{flex-direction:column;gap:8px;text-align:center}.response-mode-selector{flex-direction:column;gap:12px;align-items:stretch}.mode-buttons{justify-content:center}.mode-button{flex:1 1;min-width:0}.message-actions{flex-wrap:wrap;gap:6px}.welcome-shortcuts{margin-top:16px;padding:12px}}.trial-expired-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem;animation:fadeIn .3s ease-out}.trial-expired-modal{background:var(--bg-secondary);border-radius:16px;box-shadow:0 25px 50px rgba(0,0,0,.3);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideIn .3s ease-out;position:relative}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{text-align:center;padding:2rem 2rem 1rem;border-bottom:1px solid var(--border-secondary)}.modal-icon{font-size:3rem;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.modal-header h2{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.modal-subtitle{color:var(--text-secondary);font-size:1rem;margin:0;line-height:1.4}.modal-content{padding:2rem}.trial-summary{margin-bottom:2rem;text-align:center}.trial-summary h3{color:var(--text-primary);font-size:1.2rem;margin:0 0 1rem;font-weight:600}.trial-summary p{color:var(--text-secondary);line-height:1.5;margin:0}.subscription-offer{background:var(--bg-tertiary);border-radius:12px;padding:1.5rem;border:2px solid var(--accent-primary);position:relative;overflow:hidden}.subscription-offer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-primary),#28a745,var(--accent-primary));animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.pricing-highlight{display:flex;align-items:flex-start;gap:1.5rem;margin-bottom:2rem}.price-display{display:flex;align-items:baseline;gap:.25rem;flex-shrink:0}.price-display .currency{font-size:1.2rem;font-weight:600;color:var(--text-primary)}.price-display .amount{font-size:2.5rem;font-weight:700;color:var(--accent-primary)}.price-display .period{font-size:1rem;color:var(--text-secondary);font-weight:500}.value-proposition p{color:var(--text-primary);font-weight:600;margin:0 0 1rem}.value-proposition ul{list-style:none;padding:0;margin:0}.value-proposition li{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;line-height:1.4}.error-message{background:#fee;border:1px solid #fcc;border-radius:6px;padding:.75rem;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem;color:#c33;font-size:.9rem}.error-icon{flex-shrink:0}.modal-actions{display:flex;flex-direction:column;gap:.75rem}.subscribe-button.primary{background:linear-gradient(135deg,var(--accent-primary) 0,#28a745 100%);color:#fff;border:none;padding:1rem 2rem;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 15px rgba(0,35,102,.3)}.subscribe-button.primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,35,102,.4);background:linear-gradient(135deg,#28a745 0,var(--accent-primary) 100%)}.subscribe-button.primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.subscription-page-button{background:var(--bg-secondary);color:var(--accent-primary);border:2px solid var(--accent-primary);padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.subscription-page-button:hover{background:var(--accent-primary);color:#fff;transform:translateY(-1px)}.close-button{background:transparent;color:var(--text-tertiary);border:none;padding:.5rem;font-size:.9rem;cursor:pointer;transition:color .3s ease}.close-button:hover{color:var(--text-secondary)}.modal-footer{text-align:center;padding:1rem 2rem 2rem;border-top:1px solid var(--border-secondary)}.guarantee-text{color:var(--text-tertiary);font-size:.8rem;margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.guarantee-icon{color:#28a745}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:768px){.trial-expired-modal{max-width:95%;margin:.5rem}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-content{padding:1.5rem}.pricing-highlight{flex-direction:column;gap:1rem;text-align:center}.price-display{justify-content:center}.price-display .amount{font-size:2rem}.subscribe-button.primary{padding:.875rem 1.5rem;font-size:1rem}.modal-footer{padding:1rem 1.5rem 1.5rem}}[data-theme=dark] .trial-expired-modal{background:var(--bg-primary);border:1px solid var(--border-primary)}[data-theme=dark] .subscription-offer{background:var(--bg-secondary);border-color:var(--accent-primary)}[data-theme=dark] .error-message{background:rgba(220,53,69,.1);border-color:rgba(220,53,69,.3);color:#ff6b6b}[data-theme=dark] .subscription-page-button{background:var(--bg-primary)}