@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap");:root{--primary-green:#0f6b3d;--primary-green-light:#2f9e63;--primary-green-dark:#0c5730;--mint-bg:#e8f3ec;--mint-light:#f1f8f3;--accent-gold:#b8862e;--accent-gold-light:#f5ebd8;--text-dark:#1b2420;--text-gray:#5b6560;--text-light:#8b948f;--white:#fff;--surface:#fff;--bg-page:#fafbf9;--border-light:#dde3de;--border-green:#bfe0cc;--error-red:#c0392b;--error-red-dark:#a5342b;--error-bg:#fbeae8;--error-border:#f3cfc8;--warning-yellow:#b8862e;--font-body:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-display:"Space Grotesk","Inter",-apple-system,sans-serif;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px}:root[data-theme=dark]{--primary-green:#35b871;--primary-green-light:#47c983;--primary-green-dark:#2a8f5c;--mint-bg:#16241c;--mint-light:#1b2921;--accent-gold:#d9ae5c;--accent-gold-light:#2e2717;--text-dark:#eaf0ec;--text-gray:#9fb0a6;--text-light:#6c7a72;--surface:#16201b;--bg-page:#0e1512;--border-light:#26332c;--border-green:#2c4536;--error-red:#e0685a;--error-red-dark:#c9503f;--error-bg:#3a2320;--error-border:#5c332c;--warning-yellow:#d9ae5c}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-page);min-height:100vh;color:var(--text-dark)}.logo-text,.logo-title,h1,h2,h3{font-family:var(--font-display)}#root{min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,textarea{font-family:inherit}.spinner{display:inline-block;width:16px;height:16px;border:2px solid hsla(0,0%,100%,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.spinner.dark{border-color:rgba(0,0,0,.15);border-top-color:var(--primary-green)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tickerSweep{0%{left:-40%}to{left:100%}}.header{background:var(--surface);border-bottom:1px solid var(--border-light);padding:16px 24px;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header,.header-left{display:flex;align-items:center}.header-left{gap:12px}.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.25rem;color:var(--text-dark);text-decoration:none}.logo-title{font-weight:700;font-size:1.1rem;line-height:1.2}.nav-links{display:flex;gap:32px}.nav-links a{color:var(--text-gray);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a.active,.nav-links a:hover{color:var(--primary-green)}.auth-buttons,.header-right{display:flex;gap:12px;align-items:center}.btn-login{padding:8px 16px;background:transparent;color:var(--primary-green);border:1px solid var(--primary-green);border-radius:8px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.btn-login:hover{background:var(--mint-light)}.btn-signup{padding:8px 16px;background:var(--primary-green);color:#fff;border:none;border-radius:8px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .2s}.btn-signup:hover{background:var(--primary-green-dark)}.user-menu{position:relative}.user-avatar{width:36px;height:36px;background:var(--primary-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .2s;border:none}.user-avatar:hover{transform:scale(1.05)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:var(--surface);border:1px solid var(--border-light);border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .2s;z-index:1000}.user-dropdown.visible{opacity:1;visibility:visible;transform:translateY(0)}.user-dropdown-header{padding:16px;border-bottom:1px solid var(--border-light)}.user-dropdown-header .name{font-weight:600;color:var(--text-dark)}.user-dropdown-header .email{font-size:.8rem;color:var(--text-gray);margin-top:2px}.user-dropdown-item{display:block;padding:12px 16px;color:var(--text-dark);text-decoration:none;font-size:.9rem;transition:background .2s;border:none;background:none;width:100%;text-align:left;cursor:pointer}.user-dropdown-item:hover{background:var(--mint-light)}.user-dropdown-item.logout{color:var(--error-red);border-top:1px solid var(--border-light)}.sidebar-toggle{padding:8px;background:transparent;border:1px solid var(--border-light);border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-toggle:hover{background:var(--mint-light);border-color:var(--primary-green)}.theme-toggle{padding:8px;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-gray);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.theme-toggle:hover{background:var(--mint-light);border-color:var(--primary-green);color:var(--primary-green)}.hamburger{display:none;align-items:center;justify-content:center;width:32px;height:32px;cursor:pointer;z-index:1001;background:none;border:none;padding:0;color:var(--text-dark)}.mobile-nav{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:999;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.mobile-nav.active{opacity:1;visibility:visible}.mobile-nav-content{position:absolute;top:0;right:-280px;width:280px;height:100%;background:var(--surface);padding:80px 24px 24px;transition:right .3s ease;box-shadow:-4px 0 20px rgba(0,0,0,.1)}.mobile-nav.active .mobile-nav-content{right:0}.mobile-nav-links{display:flex;flex-direction:column;gap:24px}.mobile-nav-links a{color:var(--text-dark);text-decoration:none;font-size:1.1rem;font-weight:500;padding:12px 0;border-bottom:1px solid var(--border-light);transition:color .2s}.mobile-nav-links a:hover{color:var(--primary-green)}.footer{background:var(--surface);border-top:1px solid var(--border-light);padding:24px;text-align:center}.footer-content{max-width:900px;margin:0 auto}.footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:16px}.footer-links a{color:var(--text-gray);text-decoration:none;font-size:.85rem;transition:color .2s}.footer-links a:hover{color:var(--primary-green)}.footer-slogan{font-size:1rem;font-weight:500;color:var(--text-dark);margin-bottom:16px}.footer-text{font-size:.8rem;color:var(--text-light);margin-top:16px}.footer-copyright{font-size:.75rem;color:var(--text-light);margin-top:8px}.footer-badges{display:flex;justify-content:center;gap:24px}.badge{gap:8px;font-size:.8rem;color:var(--text-gray)}.badge,.badge-icon{display:flex;align-items:center}.badge-icon{width:24px;height:24px;background:var(--mint-bg);border-radius:6px;justify-content:center;font-size:.75rem}.app-container{display:flex;flex:1 1;overflow:hidden}.sidebar{width:280px;background:var(--surface);border-right:1px solid var(--border-light);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:16px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.sidebar-header h3{font-size:.95rem;font-weight:600}.btn-new-chat{padding:8px 12px;background:var(--primary-green);color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-new-chat:hover{background:var(--primary-green-dark)}.conversation-list{flex:1 1;overflow-y:auto;padding:8px}.conversation-item{padding:12px;border-radius:8px;cursor:pointer;transition:background .2s;margin-bottom:4px;border:1px solid transparent}.conversation-item:hover{background:var(--mint-light)}.conversation-item.active{background:var(--mint-bg);border-color:var(--border-green)}.conversation-title{font-size:.9rem;font-weight:500;color:var(--text-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-date{font-size:.75rem;color:var(--text-light);margin-top:4px}.conversation-empty{padding:24px 16px;text-align:center;color:var(--text-light);font-size:.85rem}.main-content{max-width:900px;width:100%;margin:0 auto;padding:24px}.chat-container,.main-content{flex:1 1;display:flex;flex-direction:column}.chat-container{background:var(--surface);border-radius:16px;border:1px solid var(--border-light);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);overflow:hidden}.chat-header{padding:20px 24px;border-bottom:1px solid var(--border-light);background:var(--mint-light)}.chat-header h1{font-size:1.1rem;font-weight:600;color:var(--text-dark);margin-bottom:4px}.chat-header p{font-size:.85rem;color:var(--text-gray)}.status-indicator{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--primary-green);margin-top:8px}.status-indicator.offline{color:var(--accent-gold)}.status-dot{width:8px;height:8px;background:var(--primary-green);border-radius:50%;animation:pulse 2s infinite}.status-dot.offline{background:var(--accent-gold)}.messages{flex:1 1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;min-height:400px;max-height:500px}.message{display:flex;gap:12px;max-width:85%;animation:slideIn .3s ease}.message.user{align-self:flex-end;flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.message.bot .message-avatar{background:var(--mint-bg);border:1px solid var(--border-green)}.message.user .message-avatar{background:var(--primary-green);color:#fff}.message-bubble{padding:12px 16px;border-radius:16px;line-height:1.5;font-size:.95rem;white-space:pre-wrap;word-break:break-word}.message.bot .message-bubble{background:var(--mint-light);border:1px solid var(--border-green);border-bottom-left-radius:4px;color:var(--text-dark)}.message.user .message-bubble{background:var(--primary-green);color:#fff;border-bottom-right-radius:4px}.message-bubble.streaming{border:1px solid var(--primary-green)}.message.error .message-bubble{background:var(--error-bg);border-color:var(--error-border);color:var(--error-red)}.message.cancelled .message-bubble{opacity:.7;font-style:italic}.message-content-wrapper{display:flex;flex-direction:column;gap:4px;min-width:0}.feedback-actions{display:flex;align-items:center;gap:4px;padding:2px 0;opacity:0;transition:opacity .2s ease}.feedback-actions:focus-within,.message.bot:hover .feedback-actions{opacity:1}.feedback-actions:has(.active),.feedback-actions:has(.feedback-thanks){opacity:1}.feedback-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:5px 7px;color:var(--text-gray);cursor:pointer;transition:all .2s ease;line-height:1}.feedback-btn:hover{background:var(--mint-light);border-color:var(--border-light)}.feedback-btn.positive.active{background:var(--mint-bg);border-color:var(--primary-green);color:var(--primary-green)}.feedback-btn.negative.active{background:var(--error-bg);border-color:var(--error-red);color:var(--error-red)}.feedback-thanks{font-size:.75rem;color:var(--primary-green);font-weight:500;margin-left:4px;animation:slideIn .3s ease}.feedback-comment-box{display:flex;flex-direction:column;gap:6px;margin-top:4px;animation:slideIn .2s ease}.feedback-comment{width:100%;max-width:400px;padding:8px 12px;border:1px solid var(--border-light);border-radius:8px;font-size:.8rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s}.feedback-comment:focus{border-color:var(--primary-green)}.feedback-submit-btn{align-self:flex-start;padding:5px 14px;background:var(--primary-green);color:#fff;border:none;border-radius:6px;font-size:.78rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s}.feedback-submit-btn:hover{background:var(--primary-green-dark)}.ticker-pulse{position:relative;width:64px;height:3px;margin:10px 0;background:var(--border-light);border-radius:var(--radius-pill);overflow:hidden}.ticker-pulse-sweep{position:absolute;top:0;left:-40%;width:40%;height:100%;background:linear-gradient(90deg,transparent,var(--primary-green),var(--accent-gold),transparent);animation:tickerSweep 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.ticker-pulse-sweep{animation:none;left:0;width:100%;background:linear-gradient(90deg,var(--primary-green),var(--accent-gold))}}.examples{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;flex-wrap:wrap;gap:8px}.example-btn{padding:8px 16px;background:var(--surface);border:1px solid var(--border-light);border-radius:20px;color:var(--text-gray);font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .2s}.example-btn:hover:not(:disabled){border-color:var(--primary-green);color:var(--primary-green);background:var(--mint-light)}.example-btn:disabled{opacity:.5;cursor:not-allowed}.input-container{display:flex;flex-direction:column;padding:16px 24px;gap:10px;border-top:1px solid var(--border-light);background:var(--surface)}.input-row{display:flex;gap:12px}.model-toggle{display:flex;justify-content:center;margin-bottom:8px}.model-toggle-container{display:flex;background:var(--mint-light);border:2px solid var(--primary-green);border-radius:25px;padding:3px;gap:0}.model-btn{padding:10px 24px;border:none;border-radius:22px;background:transparent;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .25s ease;color:var(--text-gray)}.model-btn:hover:not(.active){color:var(--primary-green);background:rgba(15,107,61,.1)}.model-btn.active{background:var(--primary-green);color:#fff;box-shadow:0 2px 8px rgba(15,107,61,.3)}.coming-soon-badge{display:inline-flex;gap:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;background:var(--accent-gold-light);padding:3px 8px;border-radius:var(--radius-pill);margin-left:6px;vertical-align:middle}.coming-soon-badge,.model-warning{align-items:center;color:var(--accent-gold)}.model-warning{display:flex;justify-content:center;gap:6px;font-size:.8rem;padding:4px}.model-toggle.disabled{opacity:.5;pointer-events:none}.model-btn:disabled{cursor:not-allowed;opacity:.5}.message.system{align-self:center;max-width:100%;justify-content:center}.system-message{font-size:.8rem;color:var(--text-light);background:var(--mint-light);border:1px dashed var(--border-light);border-radius:12px;padding:6px 16px;text-align:center;font-style:italic}.message-input{flex:1 1;padding:12px 20px;border:1px solid var(--border-light);border-radius:24px;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.message-input:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(15,107,61,.1)}.message-input:disabled{background:var(--mint-light);cursor:not-allowed}.btn-send{padding:12px 24px;border:none;border-radius:24px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;background:var(--primary-green);color:#fff}.btn-send:hover:not(:disabled){background:var(--primary-green-dark)}.btn-send:disabled{opacity:.5;cursor:not-allowed}.btn-stop{padding:12px 24px;border:none;border-radius:24px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;background:var(--error-red);color:#fff;display:flex;align-items:center;gap:8px}.btn-stop:hover{background:var(--error-red-dark)}.auth-page{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:var(--surface);border-radius:16px;border:1px solid var(--border-light);box-shadow:0 4px 6px -1px rgba(0,0,0,.1);padding:40px;width:100%;max-width:420px}.auth-card h2{font-size:1.5rem;font-weight:700;color:var(--text-dark);margin-bottom:8px;text-align:center}.auth-card .subtitle{color:var(--text-gray);font-size:.9rem;text-align:center;margin-bottom:24px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--text-dark);margin-bottom:6px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border-light);border-radius:8px;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(15,107,61,.1)}.form-group textarea{resize:vertical;min-height:120px}.btn-primary{width:100%;padding:12px;background:var(--primary-green);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover:not(:disabled){background:var(--primary-green-dark)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.auth-links{text-align:center;margin-top:16px;font-size:.85rem;color:var(--text-gray)}.auth-links a{color:var(--primary-green);font-weight:500}.auth-links a:hover{text-decoration:underline}.alert{padding:12px 16px;border-radius:8px;font-size:.85rem;margin-bottom:16px}.alert-success{background:var(--mint-light);border:1px solid var(--border-green);color:var(--primary-green-dark)}.alert-error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-red)}.alert-info{background:var(--mint-light);border:1px solid var(--border-green);color:var(--primary-green-dark)}.trial-pill{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.8rem;color:var(--text-gray);padding:6px 14px;margin:0 auto 8px;width:-moz-fit-content;width:fit-content;background:var(--mint-bg);border-radius:999px}.trial-pill svg{color:var(--primary-green);flex-shrink:0}.trial-pill a{color:var(--primary-green);font-weight:600}.trial-pill-sep{opacity:.5}.trial-wall{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin:0 0 10px;padding:16px 20px;background:var(--mint-bg);border:1px solid var(--primary-green);border-radius:var(--radius-md)}.trial-wall-text{display:flex;flex-direction:column;gap:4px;flex:1 1;min-width:240px}.trial-wall-text strong{color:var(--text-dark);font-size:.95rem}.trial-wall-text span{color:var(--text-gray);font-size:.85rem;line-height:1.5}.trial-wall-actions{display:flex;align-items:center;gap:12px}.trial-wall-actions .btn-primary{width:auto;padding:10px 18px;text-decoration:none}.trial-wall-alt{font-size:.85rem;color:var(--text-gray);white-space:nowrap}.trial-wall-alt a{color:var(--primary-green);font-weight:600}.static-page{flex:1 1;max-width:800px;width:100%;margin:0 auto;padding:40px 24px}.static-page h1{font-size:2rem;font-weight:700;color:var(--text-dark);margin-bottom:8px}.static-page .page-subtitle{color:var(--text-gray);font-size:1rem;margin-bottom:32px}.static-page h2{font-size:1.3rem;font-weight:600;color:var(--text-dark);margin-top:32px;margin-bottom:12px}.static-page p{color:var(--text-gray);line-height:1.7;margin-bottom:16px}.static-page ul{list-style:none;padding:0;margin-bottom:16px}.static-page ul li{padding:8px 0 8px 20px;position:relative;color:var(--text-gray);line-height:1.6}.static-page ul li:before{content:"→";position:absolute;left:0;color:var(--primary-green);font-weight:700}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:24px;gap:24px;margin:32px 0}.card{background:var(--surface);border:1px solid var(--border-light);border-radius:12px;padding:24px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.1)}.card-icon{width:48px;height:48px;background:var(--mint-bg);color:var(--primary-green);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px;color:var(--text-dark)}.card p{font-size:.9rem;color:var(--text-gray);line-height:1.6}.step-number{width:36px;height:36px;background:var(--primary-green);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:16px}.contact-page{flex:1 1;max-width:600px;width:100%;margin:0 auto;padding:40px 24px}.contact-page h1{font-size:1.8rem;font-weight:700;margin-bottom:8px}.contact-page .subtitle{color:var(--text-gray);margin-bottom:32px}.cta-section{text-align:center;padding:40px;background:var(--mint-light);border-radius:16px;border:1px solid var(--border-green);margin-top:40px}.cta-section h2{margin-top:0}.cta-section .btn-primary{width:auto;display:inline-flex;padding:12px 32px;margin-top:16px}@media (max-width:1024px){.sidebar{width:240px}}@media (max-width:768px){.header{padding:12px 16px}.hamburger{display:flex}.mobile-nav{display:block}.nav-links{display:none}.auth-buttons,.user-menu{display:none!important}.main-content{padding:12px}.chat-header{padding:16px}.messages{min-height:250px;max-height:350px;padding:12px}.message-bubble{padding:10px 14px;font-size:.9rem}.message-avatar{width:28px;height:28px;font-size:.75rem}.examples{gap:8px;padding:12px}.example-btn{padding:8px 12px;font-size:.8rem}.input-container{padding:12px;gap:8px}.message-input{padding:12px 14px;font-size:.95rem}.btn-send,.btn-stop{padding:12px 16px;font-size:.85rem}.model-btn{padding:8px 16px;font-size:.85rem}.footer{padding:16px 12px}.footer-badges{flex-direction:column;gap:12px;align-items:center}.auth-card{padding:24px;margin:12px}.static-page{padding:24px 16px}.static-page h1{font-size:1.5rem}.cta-section{padding:24px}.card{padding:16px}.sidebar{position:fixed;left:0;top:60px;bottom:0;z-index:50;transform:translateX(-100%);transition:transform .3s}.sidebar.visible{transform:translateX(0)}}@media (max-width:480px){.logo-title{font-size:1rem}.model-btn{padding:8px 10px;font-size:.78rem}.coming-soon-badge{font-size:.58rem;padding:2px 6px;gap:3px}.message{max-width:92%}.trial-wall{flex-direction:column;align-items:stretch;text-align:center}.trial-wall-actions{justify-content:center}.cards-grid{grid-template-columns:1fr}}