*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-deep: #085041;--green-mid: #1D9E75;--green-light: #E1F5EE;--green-pale: #f4faf7;--sidebar-bg: #063d31;--sidebar-hover: rgba(255, 255, 255, .08);--sidebar-active: rgba(255, 255, 255, .14);--sidebar-border: rgba(255, 255, 255, .09);--sidebar-text: rgba(255, 255, 255, .82);--sidebar-muted: rgba(255, 255, 255, .38);--font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--bg-main: #fff;--bg-messages: #f4faf7;--bg-input: #fff;--bg-input-field: #f4faf7;--text-primary: #1a1a1a;--text-secondary: #666;--text-muted: #aaa;--border-color: #e6eeea;--bubble-assistant-bg: #fff;--bubble-assistant-border: #deeae4;--bubble-assistant-text: #1a1a1a;--header-bg: #fff;--modal-bg: #fff;--modal-border: #f0f0f0;--settings-section-border: #f5f5f5;--settings-row-hover: #f8f8f8;--chip-bg: #fff;--chip-border: #c4e0d3;--chip-text: #2d6a52;--welcome-icon-bg: #E1F5EE;--welcome-icon-color: #085041}[data-theme=dark]{--bg-main: #0f1f1a;--bg-messages: #0a1710;--bg-input: #0f1f1a;--bg-input-field: #1a2e28;--text-primary: #e8f5f0;--text-secondary: #8ab5a5;--text-muted: #557a6e;--border-color: #1e3830;--bubble-assistant-bg: #1a2e28;--bubble-assistant-border: #1e3830;--bubble-assistant-text: #e8f5f0;--header-bg: #0f1f1a;--modal-bg: #1a2e28;--modal-border: #1e3830;--settings-section-border: #1e3830;--settings-row-hover: #1e3830;--chip-bg: #1a2e28;--chip-border: #1e3830;--chip-text: #5cc9a0;--welcome-icon-bg: #1a2e28;--welcome-icon-color: #5cc9a0}@media (prefers-color-scheme: dark){[data-theme=system]{--bg-main: #0f1f1a;--bg-messages: #0a1710;--bg-input: #0f1f1a;--bg-input-field: #1a2e28;--text-primary: #e8f5f0;--text-secondary: #8ab5a5;--text-muted: #557a6e;--border-color: #1e3830;--bubble-assistant-bg: #1a2e28;--bubble-assistant-border: #1e3830;--bubble-assistant-text: #e8f5f0;--header-bg: #0f1f1a;--modal-bg: #1a2e28;--modal-border: #1e3830;--settings-section-border: #1e3830;--settings-row-hover: #1e3830;--chip-bg: #1a2e28;--chip-border: #1e3830;--chip-text: #5cc9a0;--welcome-icon-bg: #1a2e28;--welcome-icon-color: #5cc9a0}}html,body,#root{height:100%;height:100dvh;font-family:var(--font);background:var(--green-pale);color:#1a1a1a;-webkit-font-smoothing:antialiased;overscroll-behavior:none}.app{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar{width:268px;min-width:268px;background:var(--sidebar-bg);display:flex;flex-direction:column;transition:width .22s ease,min-width .22s ease,opacity .22s ease;overflow:hidden}.sidebar.closed{width:0;min-width:0;opacity:0}.sidebar-top{padding:20px 14px 14px;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:0 2px}.brand-icon{width:34px;height:34px;border-radius:50%;background:#ffffff1f;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.brand-tagline{color:#ffffff73;font-size:10.5px;margin-top:1px}.brand-name{color:#fff;font-size:17px;font-weight:600;letter-spacing:-.2px}.new-chat-btn{width:100%;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#ffffffe6;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .14s,border-color .14s}.new-chat-btn:hover{background:#ffffff24;border-color:#ffffff47}.sidebar-history{flex:1;overflow-y:auto;padding:10px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.sidebar-history::-webkit-scrollbar{width:4px}.sidebar-history::-webkit-scrollbar-track{background:transparent}.sidebar-history::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.no-history{color:var(--sidebar-muted);font-size:12px;text-align:center;padding:20px 8px;line-height:1.6}.history-group{margin-bottom:18px}.history-label{color:var(--sidebar-muted);font-size:10.5px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:0 8px 6px}.history-item{padding:8px 10px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .12s;position:relative;min-width:0}.history-item:hover{background:var(--sidebar-hover)}.history-item.active{background:var(--sidebar-active)}.history-title{color:var(--sidebar-text);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.delete-btn{background:none;border:none;cursor:pointer;color:#ffffff59;padding:3px;border-radius:4px;display:flex;align-items:center;opacity:0;transition:opacity .12s,color .12s;flex-shrink:0}.history-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:#ffffffd9}.sidebar-footer{padding:14px 16px;border-top:1px solid var(--sidebar-border);color:var(--sidebar-muted);font-size:11px;line-height:1.7;flex-shrink:0}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-main)}.main-header{padding:13px 20px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px;background:var(--header-bg);flex-shrink:0}.toggle-btn{background:none;border:none;cursor:pointer;color:#888;padding:6px;border-radius:7px;display:flex;align-items:center;transition:background .12s,color .12s;flex-shrink:0}.toggle-btn:hover{background:var(--green-light);color:var(--green-deep)}.header-title{font-size:13.5px;color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.messages-area{flex:1;overflow-y:auto;padding:28px 24px;display:flex;flex-direction:column;gap:18px;background:var(--bg-messages);scrollbar-width:thin;scrollbar-color:#c5ddd3 transparent}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#c8dfd5;border-radius:3px}.welcome{text-align:center;padding:52px 24px 32px;max-width:500px;margin:0 auto;width:100%}.welcome-icon{width:76px;height:76px;border-radius:50%;background:var(--welcome-icon-bg);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--welcome-icon-color)}.welcome h1{font-size:22px;font-weight:600;color:var(--text-primary);margin-bottom:10px;letter-spacing:-.3px}.welcome p{font-size:15px;color:var(--text-secondary);line-height:1.75;margin-bottom:28px}.starter-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.chip{padding:8px 15px;border-radius:22px;border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--chip-text);font-size:13px;font-family:var(--font);cursor:pointer;transition:all .14s;line-height:1.4}.chip:hover{background:var(--green-light);border-color:var(--green-mid);color:var(--green-deep)}.msg-row{display:flex;align-items:flex-end;gap:10px;animation:fadeUp .18s ease}.msg-row.user{justify-content:flex-end}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-avatar{width:30px;height:30px;border-radius:50%;background:var(--green-mid);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.bubble{max-width:68%;padding:12px 17px;font-size:15.5px;line-height:1.75;white-space:pre-wrap;word-wrap:break-word}.bubble.assistant{border-radius:18px 18px 18px 4px;background:var(--bubble-assistant-bg);color:var(--bubble-assistant-text);border:1px solid var(--bubble-assistant-border);box-shadow:0 1px 4px #0050320d}.bubble.user{border-radius:18px 18px 4px;background:var(--green-mid);color:#fff}.bubble.streaming:after{content:"";display:inline-block;width:2px;height:1.1em;background:var(--green-mid);margin-left:2px;vertical-align:text-bottom;border-radius:1px;animation:cursorBlink .8s ease-in-out infinite}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.bubble.typing{padding:14px 18px;display:flex;gap:5px;align-items:center}.typing-dot{width:7px;height:7px;border-radius:50%;background:#a8cbbc;display:inline-block;animation:bounce 1.3s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.18s}.typing-dot:nth-child(3){animation-delay:.36s}@keyframes bounce{0%,75%,to{transform:translateY(0)}38%{transform:translateY(-7px)}}.input-area{padding:14px 20px;border-top:1px solid var(--border-color);display:flex;gap:10px;align-items:flex-end;background:var(--bg-input);flex-shrink:0}.chat-input{flex:1;resize:none;font-size:15px;padding:11px 18px;border-radius:26px;border:1px solid var(--border-color);background:var(--bg-input-field);color:var(--text-primary);outline:none;font-family:var(--font);line-height:1.55;max-height:130px;overflow-y:auto;transition:border-color .15s,background .15s}.chat-input:focus{border-color:var(--green-mid);background:var(--bg-main)}.chat-input::placeholder{color:#b0bfb8}.send-btn{width:42px;height:42px;border-radius:50%;border:none;background:#cce4d9;color:#a0c4b4;cursor:not-allowed;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.send-btn.active{background:var(--green-mid);color:#fff;cursor:pointer}.send-btn.active:hover{background:var(--green-deep)}.send-btn.active:active{transform:scale(.94)}.usage-badge{font-size:11.5px;color:var(--green-mid);background:var(--green-light);padding:3px 10px;border-radius:12px;white-space:nowrap;flex-shrink:0}.auth-row{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.signin-btn{background:none;border:1px solid rgba(255,255,255,.2);color:#fffc;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-family:var(--font);transition:background .12s}.signin-btn:hover{background:#ffffff1a}.signup-btn{background:var(--green-mid);border:none;color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;cursor:pointer;font-family:var(--font);transition:background .12s}.signup-btn:hover{background:var(--green-deep)}.auth-name{color:#ffffffb3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.paywall{padding:28px 24px;border-top:1px solid #e6eeea;background:#fff;text-align:center;flex-shrink:0}.paywall-icon{width:56px;height:56px;border-radius:50%;background:var(--green-light);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:var(--green-deep)}.paywall-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:6px}.paywall-sub{font-size:13.5px;color:#666;line-height:1.6;margin-bottom:18px;max-width:360px;margin-left:auto;margin-right:auto}.paywall-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.paywall-btn{padding:10px 20px;border-radius:24px;font-size:13.5px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .14s;border:none}.paywall-btn.primary{background:var(--green-mid);color:#fff}.paywall-btn.primary:hover{background:var(--green-deep)}.paywall-btn.secondary{background:none;color:var(--green-mid);border:1px solid var(--green-mid)}.paywall-btn.secondary:hover{background:var(--green-light)}.donate-btn{display:flex;align-items:center;gap:6px;color:#ffffff80;font-size:11.5px;text-decoration:none;padding:6px 0;transition:color .12s;margin-top:6px}.donate-btn:hover{color:#ffffffd9}.donate-btn{display:flex;align-items:center;justify-content:center;gap:7px;color:#ffffffbf;font-size:13px;font-weight:500;text-decoration:none;padding:9px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#ffffff12;transition:all .14s;margin-top:10px;width:100%;box-sizing:border-box}.donate-btn:hover{background:#ffffff21;color:#fff;border-color:#ffffff40}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;height:100dvh;z-index:200;width:268px!important;min-width:268px!important;opacity:1!important;transform:translate(0);transition:transform .25s ease}.sidebar.closed{transform:translate(-268px)}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:199}.bubble{font-size:14px!important;max-width:88%!important;padding:10px 13px!important;line-height:1.65!important}.messages-area{padding:16px 12px!important;gap:14px!important}.input-area{padding:10px 12px!important}.chat-input{font-size:14px!important;padding:9px 14px!important}.welcome{padding:32px 16px 24px!important}.welcome h1{font-size:19px!important}.welcome p{font-size:13.5px!important}.welcome-icon{width:60px!important;height:60px!important}.chip{font-size:12px!important;padding:7px 12px!important}.main-header{padding:11px 14px!important}.usage-badge{font-size:10.5px!important;padding:2px 8px!important}.delete-btn{opacity:1!important;color:#ffffff73!important}.delete-btn:active{color:#ffffffe6!important}.paywall{padding:20px 16px!important}.paywall-icon{width:44px!important;height:44px!important;margin-bottom:10px!important}.paywall-title{font-size:14px!important}.paywall-sub{font-size:13px!important;margin-bottom:14px!important}}.update-banner{position:fixed;top:0;left:0;right:0;z-index:999;background:var(--green-deep);color:#fff;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:14px;font-size:13.5px;font-family:var(--font)}.update-btn{background:#fff;color:var(--green-deep);border:none;padding:5px 14px;border-radius:20px;font-size:12.5px;font-weight:600;cursor:pointer;font-family:var(--font);transition:opacity .12s}.update-btn:hover{opacity:.85}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px}.modal{background:var(--modal-bg);border-radius:18px;padding:28px 24px 22px;max-width:340px;width:100%;text-align:center;box-shadow:0 20px 60px #0003;animation:modalIn .18s ease}@keyframes modalIn{0%{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-icon{width:48px;height:48px;border-radius:50%;background:#fef2f2;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;color:#dc2626}.modal-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.modal-sub{font-size:13.5px;color:var(--text-secondary);line-height:1.6;margin-bottom:22px}.modal-buttons{display:flex;gap:10px}.modal-btn{flex:1;padding:10px;border-radius:12px;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font);transition:all .14s;border:none}.modal-btn.cancel{background:var(--green-light);color:var(--green-deep)}.modal-btn.cancel:hover{background:#c8e6d8}.modal-btn.delete{background:#dc2626;color:#fff}.modal-btn.delete:hover{background:#b91c1c}.settings-btn{display:flex;align-items:center;justify-content:center;gap:7px;background:#ffffff12;border:1px solid rgba(255,255,255,.12);color:#ffffffbf;font-size:13px;font-weight:500;font-family:var(--font);cursor:pointer;padding:9px 14px;border-radius:10px;margin-top:8px;width:100%;transition:all .14s;box-sizing:border-box}.settings-btn:hover{background:#ffffff21;color:#fff;border-color:#ffffff40}.settings-modal{max-width:380px;text-align:left;padding:0;overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--modal-border)}.settings-close{background:none;border:none;font-size:16px;color:var(--text-muted);cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .12s}.settings-close:hover{color:var(--text-primary)}.settings-section{padding:14px 20px;border-bottom:1px solid var(--settings-section-border)}.settings-label{font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:10px}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0}.settings-row.clickable{cursor:pointer;border-radius:8px;padding:6px 4px;margin:0 -4px;transition:background .12s}.settings-row.clickable:hover{background:var(--settings-row-hover)}.settings-row-label{font-size:14px;color:var(--text-primary)}.settings-row-value{font-size:13px;color:var(--text-secondary)}.settings-row-value.green{color:var(--green-mid)}.settings-action{background:var(--green-light);color:var(--green-deep);border:none;padding:5px 12px;border-radius:8px;font-size:12.5px;font-weight:500;cursor:pointer;font-family:var(--font);display:flex;align-items:center;gap:5px;transition:opacity .12s}.settings-action:disabled{opacity:.6;cursor:default}.settings-action.green{background:var(--green-mid);color:#fff}.signout-btn{width:calc(100% - 40px);margin:14px 20px;padding:10px;border-radius:10px;border:1px solid #fee2e2;background:#fef2f2;color:#dc2626;font-size:14px;font-weight:500;cursor:pointer;font-family:var(--font);transition:background .12s}.signout-btn:hover{background:#fee2e2}.messages-wrapper{flex:1;position:relative;display:flex;flex-direction:column;min-height:0}.messages-wrapper .messages-area{flex:1;overflow-y:auto}.scroll-btn{position:absolute;bottom:16px;right:16px;width:46px;height:46px;border-radius:50%;background:var(--green-mid);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 12px #0050324d;z-index:10;transition:background .14s,transform .14s;animation:fadeUp .18s ease}.scroll-btn:hover{background:var(--green-deep);transform:scale(1.05)}.scroll-btn svg{width:20px;height:20px}.theme-toggle{display:flex;gap:4px;background:var(--bg-input-field);border-radius:10px;padding:3px}.theme-btn{padding:5px 12px;border-radius:8px;border:none;background:none;color:var(--text-secondary);font-size:12.5px;font-family:var(--font);cursor:pointer;transition:all .14s}.theme-btn.active{background:var(--green-mid);color:#fff;font-weight:500}.history-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px;min-height:26px}.edit-btn{display:flex;align-items:center;gap:5px;background:none;border:none;color:#ffffff73;font-size:11.5px;font-family:var(--font);cursor:pointer;padding:3px 6px;border-radius:6px;margin-left:auto;transition:color .12s,background .12s}.edit-btn:hover{color:#ffffffd9;background:#ffffff14}.toolbar-count{color:#ffffff8c;font-size:11.5px}.toolbar-actions{display:flex;gap:6px;align-items:center}.toolbar-delete{background:#dc2626;border:none;color:#fff;font-size:11.5px;font-weight:500;font-family:var(--font);padding:4px 10px;border-radius:7px;cursor:pointer;transition:background .12s}.toolbar-delete:hover{background:#b91c1c}.toolbar-cancel{background:none;border:none;color:#fff9;font-size:11.5px;font-family:var(--font);cursor:pointer;padding:4px 6px;transition:color .12s}.toolbar-cancel:hover{color:#fff}.conv-check{width:17px;height:17px;border-radius:50%;border:1.5px solid rgba(255,255,255,.3);background:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .14s;color:#fff}.conv-check.checked{background:var(--green-mid);border-color:var(--green-mid)}.history-item.selected{background:#1d9e752e!important}@media (max-width: 768px){.delete-btn{display:none!important}}
