.sidebar{width:280px;height:100vh;height:100dvh;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=dark] .sidebar{background-color:var(--bg-sidebar-glass, var(--bg-secondary))}.sidebar-header{padding:20px;border-bottom:1px solid var(--border-color);background:linear-gradient(to bottom,var(--bg-secondary),var(--bg-secondary) 50%,transparent)}.new-chat-btn{width:100%;padding:12px 16px;background:var(--accent-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1rem;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;box-shadow:var(--shadow-sm)}.new-chat-btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.conversations-list{flex:1;overflow-y:auto;padding:10px 0}.empty-state{padding:20px;text-align:center;color:var(--text-secondary);font-style:italic}.conversation-item{padding:var(--spacing-md) var(--spacing-xl);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);border-left:3px solid transparent;transition:all .2s ease;border-radius:0 6px 6px 0;margin:2px 0}.conversation-item:hover{background-color:var(--bg-tertiary);box-shadow:inset var(--shadow-sm)}.conversation-item.active{background-color:var(--bg-tertiary);border-left-color:var(--accent-color);box-shadow:inset var(--shadow-sm)}.conversation-info{flex:1;overflow:hidden;display:flex;flex-direction:column;gap:4px}.conversation-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-size:.95rem;font-weight:500}.conversation-preview{display:flex;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);font-size:.8rem;line-height:1.2}.preview-separator{margin:0 4px}.conversation-timestamp{flex-shrink:0}.conversation-actions{display:flex;gap:4px;flex-shrink:0}.rename-input{width:100%;padding:8px 10px;background:var(--input-bg);color:var(--text-primary);border:2px solid var(--accent-color);border-radius:6px;font-size:.95rem;font-weight:500;outline:none;box-shadow:0 0 0 3px #4a9eff1a}.pin-btn,.edit-btn,.delete-btn{background:none;border:none;cursor:pointer;padding:6px;opacity:0;transition:opacity .2s ease,background-color .2s ease;flex-shrink:0;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.conversation-item:hover .pin-btn,.conversation-item:hover .edit-btn,.conversation-item:hover .delete-btn{opacity:.6}.pin-btn:hover,.edit-btn:hover,.delete-btn:hover{opacity:1!important;background-color:var(--bg-tertiary)}.delete-btn:hover{color:var(--danger-color)}.pin-btn.pinned,.conversation-item:hover .pin-btn.pinned{opacity:.8;color:var(--accent-color)}.conversations-list::-webkit-scrollbar{width:6px}.conversations-list::-webkit-scrollbar-track{background:transparent}.conversations-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.conversations-list::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.pin-btn,.edit-btn,.delete-btn{opacity:.6;padding:12px;min-width:44px;min-height:44px}}.chat-view{flex:1;display:flex;flex-direction:column;overflow:hidden;animation:fadeIn .15s ease-in;position:relative}.chat-view:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--watermark-url);background-repeat:no-repeat;background-position:left center;background-size:40%;opacity:.06;pointer-events:none;z-index:0}.chat-header{padding:var(--spacing-xl);border-bottom:1px solid var(--border-color);background-color:var(--bg-primary);box-shadow:var(--shadow-sm);z-index:10}.chat-header h2{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary);line-height:var(--line-height-tight)}.empty-chat-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-secondary);text-align:center;padding:40px;gap:var(--spacing-md)}.empty-chat-state h2{color:var(--text-primary);margin:0;font-size:1.8rem;font-weight:600;line-height:var(--line-height-tight)}.empty-chat-state p{margin:0;font-size:1.1rem;line-height:var(--line-height-normal)}.messages{flex:1;overflow-y:auto;padding:var(--spacing-xl);background:var(--bg-secondary)}.message{margin-bottom:var(--spacing-lg);display:flex;animation:slideUp .25s ease-out}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-content{max-width:70%;padding:14px 18px;border-radius:12px;word-wrap:break-word;line-height:var(--line-height-normal);box-shadow:var(--shadow-sm)}.message.user .message-content{background:var(--accent-color);color:#fff;box-shadow:var(--shadow-md)}.message.assistant .message-content{background:var(--message-assistant-bg);color:var(--text-primary);border:1px solid var(--message-assistant-border)}.message.assistant .message-content:hover{box-shadow:var(--shadow-md);transform:translateY(-1px);transition:all .2s ease}.message.assistant.error .message-content{background:var(--danger-color);color:#fff;border:1px solid var(--danger-hover)}.typing{font-style:italic;color:var(--text-secondary);animation:pulse 1.5s ease-in-out infinite}.typing:after{content:"...";animation:ellipsis 1.5s infinite;display:inline-block}@keyframes ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.input-form{padding:var(--spacing-xl);border-top:1px solid var(--border-color);background-color:var(--bg-primary)}.input-wrapper{position:relative;display:flex;align-items:flex-end}.input-wrapper textarea{flex:1;padding:14px 48px 14px 16px;border:2px solid var(--input-border);border-radius:12px;font-size:1rem;background:var(--input-bg);color:var(--text-primary);transition:border-color .2s ease,box-shadow .2s ease;line-height:var(--line-height-normal);resize:none;overflow-y:auto;min-height:48px;max-height:150px;font-family:inherit;scrollbar-width:none}.input-wrapper textarea::-webkit-scrollbar{display:none}.input-wrapper textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #4a9eff1a}.input-wrapper button{position:absolute;right:8px;bottom:8px;width:32px;height:32px;background:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.input-wrapper button:hover:not(:disabled){background:var(--accent-hover);transform:scale(1.05)}.input-wrapper button:active:not(:disabled){transform:scale(.95)}.input-wrapper button:disabled{background:var(--button-disabled-bg);cursor:not-allowed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:var(--bg-secondary)}.messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.messages::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.message-content{max-width:90%}.input-form{padding:var(--spacing-md);padding-right:max(var(--spacing-md),env(safe-area-inset-right));padding-bottom:max(var(--spacing-md),env(safe-area-inset-bottom))}.chat-header{padding:var(--spacing-md) var(--spacing-lg)}.chat-header h2{font-size:1.2rem}.chat-view:before{background-size:90%}}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--bg-tertiary: #e9ecef;--text-primary: #333333;--text-secondary: #666666;--border-color: #dee2e6;--accent-color: #007bff;--accent-hover: #0056b3;--danger-color: #dc3545;--danger-hover: #c82333;--message-user-bg: #007bff;--message-assistant-bg: #ffffff;--message-assistant-border: #dddddd;--input-bg: #ffffff;--input-border: #dddddd;--button-disabled-bg: #cccccc;--font-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", sans-serif;--line-height-tight: 1.2;--line-height-normal: 1.6;--line-height-relaxed: 1.8;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--gradient-weather-light: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-weather-sky: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%)}[data-theme=dark]{--bg-primary: #0d0d0d;--bg-secondary: #1a1a1a;--bg-tertiary: #2d2d2d;--text-primary: #e8e8e8;--text-secondary: #a0a0a0;--border-color: #333333;--accent-color: #4a9eff;--accent-hover: #3a8eef;--danger-color: #ff4d4d;--danger-hover: #ff3333;--message-user-bg: #4a9eff;--message-assistant-bg: #242424;--message-assistant-border: #333333;--input-bg: #1a1a1a;--input-border: #333333;--button-disabled-bg: #2d2d2d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--bg-sidebar-glass: rgba(26, 26, 26, .95);--gradient-weather-light: linear-gradient(135deg, #434343 0%, #000000 100%);--gradient-weather-sky: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%)}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease}body,html{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary)}.app-container{position:fixed;top:var(--vv-top, 0px);left:0;right:0;display:flex;height:100vh;height:100dvh;height:var(--vvh, 100dvh);overflow:hidden}.main-content{flex:1;display:flex;flex-direction:column;overflow:hidden}header{padding:20px;border-bottom:1px solid var(--border-color);background:var(--gradient-weather-sky);position:relative;z-index:20}header:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);opacity:.85;z-index:0}.header-content{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1}.header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.header-left h1{margin:0;font-size:1.8rem;color:var(--text-primary)}.header-right{display:flex;align-items:center;gap:var(--spacing-sm)}.user-menu{position:relative}.user-avatar-btn{width:34px;height:34px;border-radius:50%;background:var(--accent-color);color:#fff;font-weight:600;font-size:.875rem;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.user-avatar-btn:hover{opacity:.85}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 8px);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);min-width:180px;z-index:100;overflow:hidden}.user-menu-email{padding:10px 14px;font-size:.8rem;color:var(--text-secondary);border-bottom:1px solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-signout{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:10px 14px;background:none;border:none;cursor:pointer;color:var(--text-primary);font-size:.875rem;text-align:left}.user-menu-signout:hover{background:var(--bg-secondary)}.accent-picker{padding:10px 14px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:var(--spacing-sm)}.accent-picker-label{font-size:.8rem;color:var(--text-secondary);flex-shrink:0}.accent-swatches{display:flex;gap:6px}.accent-swatch{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,border-color .15s ease;padding:0}.accent-swatch:hover{transform:scale(1.2)}.accent-swatch.active{border-color:var(--text-primary);transform:scale(1.15)}.theme-toggle-btn{padding:10px;background:none;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;color:var(--text-primary);box-shadow:var(--shadow-sm)}.theme-toggle-btn:hover{background-color:var(--bg-secondary);transform:scale(1.05);box-shadow:var(--shadow-md)}@media (max-width: 768px){.hamburger-btn{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-primary);padding:var(--spacing-sm);border-radius:6px;margin-right:var(--spacing-sm)}.hamburger-btn:hover{background:var(--bg-secondary)}.sidebar{position:fixed;left:0;top:0;height:100%;z-index:50;transform:translate(-100%);transition:transform .25s ease;width:min(280px,85vw);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:49;background:#0006}header{padding:var(--spacing-md) var(--spacing-lg)}.header-left h1{font-size:1.3rem}}@media (min-width: 769px){.hamburger-btn,.sidebar-overlay{display:none}}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;letter-spacing:.01em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{height:100vh;height:100dvh}
