:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f1e8;--surface:#fbfaf6;--surface-elevated:#fff;--surface-muted:#efede5;--sidebar:#17231b;--sidebar-raised:#223126;--sidebar-text:#f3f5ef;--sidebar-muted:#9ead9f;--text:#1d251f;--text-muted:#6d756f;--border:#ddd9cd;--border-strong:#c8c2b4;--accent:#6d8c74;--accent-strong:#42614b;--accent-soft:#dce7dd;--success:#54a46d;--danger:#a54949;--shadow:0 18px 60px #2a372c17;--focus:0 0 0 3px #6d8c7440}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d120f;--surface:#141b16;--surface-elevated:#19221c;--surface-muted:#202a23;--sidebar:#0a100c;--sidebar-raised:#172119;--sidebar-text:#f3f5ef;--sidebar-muted:#93a397;--text:#eff3ed;--text-muted:#a4aea6;--border:#2e3a31;--border-strong:#435247;--accent:#8cae93;--accent-strong:#b1cbb6;--accent-soft:#26382b;--success:#67be7e;--danger:#e18484;--shadow:0 18px 60px #00000047;--focus:0 0 0 3px #8cae934d}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--text);text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{box-shadow:var(--focus);outline:none}button{color:inherit}.app-shell{height:100dvh;min-height:640px;display:flex;overflow:hidden}.sidebar{background:radial-gradient(circle at 20% 0%, #7e9e851f, transparent 34%), var(--sidebar);color:var(--sidebar-text);z-index:30;flex-direction:column;flex:0 0 292px;min-width:0;padding:22px 18px 18px;display:flex;position:relative}.sidebar-brand-row{align-items:center;gap:11px;min-height:44px;padding:0 6px;display:flex}.brand-mark,.header-project-avatar,.project-avatar,.message-avatar{-webkit-user-select:none;user-select:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.brand-mark{color:#102016;letter-spacing:-.04em;background:linear-gradient(145deg,#a8bea8,#6f9477);border:1px solid #ffffff38;border-radius:13px;width:42px;height:42px;font-size:17px;font-weight:800;box-shadow:inset 0 1px #ffffff47}.brand-name,.brand-caption,.section-heading,.chat-header h1,.chat-header p,.message-meta,.message-body p,.composer-disclaimer,.eyebrow,.empty-state h2,.empty-state p,.login-copy h1,.login-copy p,.login-warning{margin:0}.brand-name{letter-spacing:-.01em;font-size:15px;font-weight:720}.brand-caption{color:var(--sidebar-muted);margin-top:2px;font-size:11px}.sidebar-close{color:var(--sidebar-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;margin-inline-start:auto;display:none}.new-chat-button{color:#17231b;cursor:pointer;background:#f0f3ec;border:0;border-radius:13px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:44px;margin-top:24px;padding:10px 16px;font-size:13px;font-weight:700;transition:transform .15s,background .15s;display:flex}.new-chat-button:hover{background:#fff;transform:translateY(-1px)}.sidebar-search{color:var(--sidebar-muted);background:#ffffff0e;border:1px solid #ffffff14;border-radius:11px;align-items:center;gap:8px;margin-top:12px;padding:0 11px;display:flex}.sidebar-search svg{width:17px;height:17px}.sidebar-search input{color:var(--sidebar-text);background:0 0;border:0;outline:none;width:100%;min-width:0;height:40px;font-size:12px}.sidebar-search input::placeholder{color:#829087}.sidebar-section{margin-top:24px}.section-heading-row{justify-content:space-between;align-items:center;padding:0 7px 8px;display:flex}.section-heading{color:var(--sidebar-muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:750}.section-count{color:#7e8c82;font-size:10px}.project-list,.conversation-list{gap:4px;display:grid}.project-item,.conversation-item{cursor:pointer;text-align:start;background:0 0;border:0;width:100%;transition:background .15s,color .15s}.project-item{border-radius:12px;grid-template-columns:34px minmax(0,1fr) 8px;align-items:center;gap:10px;padding:9px;display:grid}.project-item:hover,.project-item-active,.conversation-item:hover,.conversation-item-active{background:#ffffff13}.project-avatar{background:var(--sidebar-raised);color:#c9d5cb;border:1px solid #ffffff17;border-radius:10px;width:34px;height:34px;font-size:11px;font-weight:800}.project-item-active .project-avatar{color:#102016;background:#76917b}.project-copy{min-width:0;display:block}.project-copy strong,.project-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.project-copy strong{color:#eef2ed;font-size:12px;font-weight:680}.project-copy small{color:var(--sidebar-muted);margin-top:3px;font-size:10px}.ready-dot{background:var(--success);border-radius:50%;flex:none;width:7px;height:7px;display:inline-block;box-shadow:0 0 0 3px #54a46d1f}.sidebar-history{min-height:0;overflow:auto}.conversation-item{color:#ccd5ce;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:10px;font-size:11px;display:flex}.conversation-item span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conversation-item small{color:#7f8c83;flex:none;font-size:9px}.sidebar-footer{border-top:1px solid #ffffff14;margin-top:auto;padding-top:14px}.system-mini-card{background:#ffffff0b;border:1px solid #ffffff12;border-radius:11px;align-items:center;gap:10px;padding:10px 11px;display:flex}.system-mini-card strong,.system-mini-card small{display:block}.system-mini-card strong{font-size:10px;font-weight:650}.system-mini-card small{color:var(--sidebar-muted);margin-top:3px;font-size:9px}.sidebar-footer-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:9px;display:flex}.footer-link,.theme-button{color:var(--sidebar-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;text-decoration:none;display:flex}.footer-link{gap:7px;padding:8px 9px;font-size:10px}.footer-link svg,.theme-button svg{width:17px;height:17px}.footer-link:hover,.theme-button:hover,.sidebar-close:hover{color:var(--sidebar-text);background:#ffffff12}.theme-button{justify-content:center;width:36px;height:36px}.chat-panel{background:var(--surface);flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.chat-header{background:color-mix(in srgb, var(--surface) 94%, transparent);border-bottom:1px solid var(--border);z-index:10;flex:none;justify-content:space-between;align-items:center;min-height:74px;padding:13px 24px;display:flex;position:relative}.chat-header-project{align-items:center;gap:12px;min-width:0;display:flex}.header-project-avatar{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--accent-strong);border-radius:11px;width:39px;height:39px;font-size:12px;font-weight:800}.header-title-row{align-items:center;gap:9px;display:flex}.chat-header h1{letter-spacing:-.015em;font-size:14px;font-weight:730}.chat-header p{color:var(--text-muted);margin-top:4px;font-size:10px}.status-pill{background:color-mix(in srgb, var(--success) 10%, var(--surface));border:1px solid color-mix(in srgb, var(--success) 25%, var(--border));color:var(--text-muted);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:9px;display:inline-flex}.status-pill .ready-dot{width:6px;height:6px}.header-actions{align-items:center;gap:4px;display:flex}.icon-button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.icon-button:hover{background:var(--surface-muted);color:var(--text)}.message-viewport{overscroll-behavior:contain;scroll-behavior:smooth;flex:auto;min-height:0;overflow-y:auto}.message-column{width:100%;max-width:850px;min-height:100%;margin:0 auto;padding:46px 42px 34px}.message{grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:13px;margin-bottom:34px;display:grid}.message-avatar{border-radius:10px;width:34px;height:34px;font-size:11px;font-weight:800}.message-user .message-avatar{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted)}.message-assistant .message-avatar{background:var(--accent-strong);color:var(--surface-elevated)}.message-body{min-width:0;padding-top:2px}.message-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:9px;display:flex}.message-meta strong{color:var(--text);font-size:11px;font-weight:730}.message-body p{color:var(--text);white-space:pre-wrap;word-break:break-word;unicode-bidi:plaintext;margin-top:9px;font-size:14px;line-height:1.8}.message-user .message-body p{background:var(--surface-muted);border:1px solid var(--border);border-radius:5px 15px 15px;max-width:min(680px,100%);padding:13px 16px;display:inline-block}.message-actions{align-items:center;gap:5px;margin-top:12px;display:flex}.message-actions button{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:6px 7px;font-size:9px;display:inline-flex}.message-actions button:hover{background:var(--surface-muted);color:var(--text)}.message-actions svg{width:14px;height:14px}.typing-indicator{align-items:center;gap:5px;min-height:34px;display:flex}.typing-indicator span{background:var(--accent);opacity:.35;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite typing}.typing-indicator span:nth-child(2){animation-delay:.12s}.typing-indicator span:nth-child(3){animation-delay:.24s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.empty-state{text-align:center;flex-direction:column;align-items:center;max-width:650px;margin:auto;padding:78px 0 90px;display:flex}.empty-state-icon{background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));color:var(--accent-strong);border-radius:17px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:.13em;text-transform:uppercase;margin-top:20px;font-size:9px;font-weight:800}.empty-state h2{letter-spacing:-.045em;margin-top:8px;font-size:clamp(24px,4vw,36px)}.empty-state>p:not(.eyebrow){color:var(--text-muted);max-width:500px;margin-top:12px;font-size:12px;line-height:1.7}.prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;margin-top:30px;display:grid}.prompt-grid button{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:start;border-radius:13px;min-height:78px;padding:14px;font-size:10px;line-height:1.5;transition:border .15s,transform .15s,box-shadow .15s}.prompt-grid button:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.composer-area{background:linear-gradient(to top, var(--surface) 78%, transparent);z-index:10;flex:none;padding:12px 24px 17px;position:relative}.composer{background:var(--surface-elevated);border:1px solid var(--border-strong);border-radius:18px;max-width:850px;margin:0 auto;padding:12px 12px 10px 16px;transition:border .15s,box-shadow .15s;overflow:hidden;box-shadow:0 8px 28px #22302614}.composer:focus-within{border-color:var(--accent);box-shadow:0 8px 32px #2230261a, var(--focus)}.composer textarea{color:var(--text);resize:none;unicode-bidi:plaintext;background:0 0;border:0;outline:none;width:100%;min-height:30px;max-height:180px;font-size:13px;line-height:1.55;display:block;overflow-y:auto}.composer textarea::placeholder{color:var(--text-muted);opacity:.78}.composer-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:5px;display:flex}.composer-hint{color:var(--text-muted);align-items:center;gap:12px;font-size:8px;display:flex}.send-button{background:var(--accent-strong);color:var(--surface-elevated);cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .15s,transform .15s;display:flex}.send-button:hover:not(:disabled){transform:translateY(-1px)}.send-button:disabled{cursor:default;opacity:.35}.send-button svg{width:17px;height:17px}.composer-disclaimer{color:var(--text-muted);text-align:center;max-width:850px;margin:8px auto 0;font-size:8px}.mobile-menu-button{background:var(--surface-elevated);border:1px solid var(--border);color:var(--text);cursor:pointer;z-index:18;border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:none;position:fixed;top:16px;left:14px}.sidebar-backdrop{z-index:25;background:#050c088a;border:0;padding:0;display:none;position:fixed;inset:0}.login-page{background:radial-gradient(circle at 15% 10%, #6d8c742e, transparent 35%), radial-gradient(circle at 85% 85%, #d7c9a847, transparent 34%), var(--bg);justify-content:center;align-items:center;min-height:100dvh;padding:28px;display:flex}.login-card{background:var(--surface-elevated);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:24px;width:100%;max-width:460px;padding:32px}.login-brand{align-items:center;gap:11px;display:flex}.login-brand strong,.login-brand small{display:block}.login-brand strong{font-size:14px}.login-brand small{color:var(--text-muted);margin-top:2px;font-size:10px}.login-copy{margin-top:40px}.login-copy .eyebrow{margin-top:0}.login-copy h1{letter-spacing:-.045em;margin-top:9px;font-size:30px;line-height:1.12}.login-copy>p:not(.eyebrow){color:var(--text-muted);margin-top:14px;font-size:12px;line-height:1.7}.login-form{gap:14px;margin-top:28px;display:grid}.login-form label{color:var(--text-muted);gap:7px;font-size:10px;font-weight:650;display:grid}.login-form input{background:var(--surface-muted);border:1px solid var(--border);color:var(--text-muted);border-radius:11px;height:44px;padding:0 13px}.login-form button{background:var(--accent-strong);color:var(--surface-elevated);opacity:.45;border:0;border-radius:11px;height:44px;margin-top:5px}.login-warning{color:var(--text-muted);text-align:center;margin-top:12px;font-size:9px;line-height:1.5}.login-preview-link{border-top:1px solid var(--border);color:var(--accent-strong);text-align:center;margin-top:24px;padding-top:20px;font-size:11px;font-weight:700;text-decoration:none;display:block}.login-preview-link:hover{text-underline-offset:4px;text-decoration:underline}@media (max-width:820px){.app-shell{min-height:0}.sidebar{width:min(86vw,310px);transition:transform .2s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%);box-shadow:22px 0 70px #00000040}.sidebar-open{transform:translate(0)}.sidebar-close,.mobile-menu-button,.sidebar-backdrop{display:flex}.chat-header{min-height:70px;padding:11px 15px 11px 66px}.header-project-avatar{display:none}.chat-header p{text-overflow:ellipsis;white-space:nowrap;max-width:230px;overflow:hidden}.header-actions .icon-button:first-child{display:none}.message-column{padding:34px 17px 24px}.composer-area{padding:9px 12px calc(12px + env(safe-area-inset-bottom))}.composer{border-radius:16px}.prompt-grid{grid-template-columns:1fr}.prompt-grid button{min-height:56px}}@media (max-width:520px){.status-pill{display:none}.chat-header h1{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.message{grid-template-columns:29px minmax(0,1fr);gap:10px;margin-bottom:27px}.message-avatar{border-radius:9px;width:29px;height:29px}.message-body p{font-size:13px;line-height:1.75}.message-user .message-body p{padding:11px 13px}.composer-hint span:first-child{display:none}.login-page{align-items:stretch;padding:0}.login-card{box-shadow:none;border:0;border-radius:0;min-height:100dvh;padding:27px 22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.login-form input{color:var(--text)}.login-form input:disabled,.login-form button:disabled{cursor:not-allowed;opacity:.5}.login-form button{cursor:pointer;opacity:1;font-weight:720;transition:opacity .15s,transform .15s}.login-form button:hover:not(:disabled){transform:translateY(-1px)}.login-error{color:var(--danger);text-align:center;min-height:15px;margin:0;font-size:10px;line-height:1.5}.chat-error{background:color-mix(in srgb, var(--danger) 9%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border));color:var(--danger);border-radius:12px;margin:0 0 24px 47px;padding:11px 13px;font-size:11px;line-height:1.55}.status-dot-muted{background:var(--text-muted);opacity:.65;border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.message-streaming{min-height:1.5em}.stream-cursor{opacity:.75;vertical-align:-.12em;background:currentColor;border-radius:1px;width:2px;height:1.05em;margin-inline-start:3px;animation:.9s ease-in-out infinite stream-cursor-pulse;display:inline-block}.stop-button{background:color-mix(in srgb, var(--danger) 82%, var(--accent-strong))}.stop-button:hover{transform:scale(1.03)}.conversation-memory-row{grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:4px;display:grid}.conversation-memory-row .conversation-item{min-width:0}.conversation-delete{color:var(--sidebar-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s,opacity .15s;display:inline-flex}.conversation-delete svg{width:14px;height:14px}.conversation-memory-row:hover .conversation-delete,.conversation-delete:focus-visible{opacity:1}.conversation-delete:hover:not(:disabled){color:#f0a0a0;background:#ffffff14}.conversation-delete:disabled,.conversation-item:disabled{cursor:not-allowed;opacity:.55}.conversation-empty{color:var(--sidebar-muted);margin:2px 8px 0;font-size:10px;line-height:1.5}@keyframes stream-cursor-pulse{0%,to{opacity:.25}50%{opacity:.95}}@media (prefers-reduced-motion:reduce){.stream-cursor{opacity:.8;animation:none}}@media (max-width:520px){.chat-error{margin-inline-start:39px}.conversation-delete{opacity:1}}
.message-list{overscroll-behavior:contain;scroll-behavior:smooth;flex:auto;min-height:0;overflow-y:auto}.message-list-inner{width:100%;max-width:850px;min-height:100%;margin:0 auto;padding:46px 42px 34px}.chat-header-project>div:last-child{min-width:0}.chat-header-project p{text-overflow:ellipsis;white-space:nowrap;max-width:min(68vw,760px);overflow:hidden}.empty-state .composer-disclaimer{margin-top:18px}.prompt-grid button{text-align:start;line-height:1.45}@media (max-width:720px){.message-list-inner{padding:86px 18px 28px}.chat-header-project p{max-width:66vw}}
