:root{--bg:#faf9f5;--bg-alt:#f0eee6;--bg-raised:#fff;--fg:#30302e;--fg-muted:#87857f;--border:#e5e2d9;--accent:#c2632e;--accent-fg:#fefaf6;--user-bubble:#ece9de;--error:#b3492f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#262624;--bg-alt:#30302e;--bg-raised:#3a3934;--fg:#ece9e2;--fg-muted:#93918a;--border:#43423d;--accent:#d97757;--user-bubble:#3a3934}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--bg-alt);flex-direction:column;flex-shrink:0;gap:4px;width:272px;padding:14px 10px;display:flex;overflow-y:auto}.sidebar-scrim{display:none}.new-chat-btn{color:var(--fg);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.new-chat-btn:hover{background:var(--border)}.session-list{flex-direction:column;gap:1px;display:flex;overflow-y:auto}.session-item{cursor:pointer;color:var(--fg);border-radius:10px;justify-content:space-between;align-items:center;gap:6px;padding:9px 12px;display:flex}.session-item:hover{background:var(--border)}.session-item.active{background:var(--bg-raised)}.session-title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:13.5px;overflow:hidden}.sidebar-empty{color:var(--fg-muted);padding:10px 12px;font-size:13px}.session-meta{flex-shrink:0;align-items:center;gap:4px;display:flex}.session-time{color:var(--fg-muted);font-size:11.5px}.delete-btn{color:var(--fg-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:15px;line-height:1}.session-item:hover .delete-btn{opacity:1}.delete-btn:hover{color:var(--error)}.chat-window{background:var(--bg);flex-direction:column;flex:1;min-width:0;height:100dvh;display:flex}.chat-header{color:var(--fg-muted);flex-shrink:0;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:500;display:flex}.icon-btn{cursor:pointer;width:34px;height:34px;color:var(--fg);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;display:flex}.icon-btn:hover{background:var(--bg-alt)}.menu-btn{display:none}.header-spacer{flex:1}.message-list{flex-direction:column;flex:1;gap:22px;padding:24px 16px 8px;display:flex;overflow-y:auto}.empty-state{color:var(--fg);text-align:center;margin:auto;font-size:24px;font-weight:500}.bubble-row{width:min(720px,100%);margin:0 auto;display:flex}.bubble-row.user{justify-content:flex-end}.bubble-row.assistant{justify-content:flex-start;width:100%}.bubble{word-wrap:break-word;font-size:15.5px;line-height:1.6}.bubble.user{background:var(--user-bubble);max-width:min(560px,80%);color:var(--fg);border-radius:20px;padding:10px 16px}.bubble.assistant{width:min(720px,100%);padding:0}.bubble.error{border:1px solid var(--error);border-radius:12px;padding:10px 16px}.bubble-content>:first-child{margin-top:0}.bubble-content>:last-child{margin-bottom:0}.bubble-content p{margin:.6em 0}.bubble-content ul,.bubble-content ol{margin:.5em 0;padding-left:1.4em}.bubble-content li{margin:.2em 0}.bubble-content a{color:var(--accent);text-decoration:underline}.bubble-content h1,.bubble-content h2,.bubble-content h3{margin:.8em 0 .4em;font-weight:600;line-height:1.3}.bubble-content code{background:var(--bg-alt);border-radius:5px;padding:.15em .4em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.88em}.bubble-content pre{background:var(--bg-alt);border:1px solid var(--border);border-radius:10px;margin:.7em 0;padding:12px 14px;overflow-x:auto}.bubble-content pre code{background:0 0;padding:0}.bubble-content blockquote{border-left:3px solid var(--border);color:var(--fg-muted);margin:.5em 0;padding-left:.9em}.streaming-cursor{background:var(--accent);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:4px;animation:1.1s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.3;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}.tool-activity{width:min(720px,100%);color:var(--fg-muted);align-items:center;gap:6px;margin:0 auto;padding:4px 0;font-size:13px;display:inline-flex}.tool-activity:before{content:"";background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:1.1s ease-in-out infinite pulse}.composer-wrap{flex-shrink:0;padding:8px 16px 18px}.composer{border:1px solid var(--border);background:var(--bg-raised);border-radius:26px;align-items:flex-end;gap:6px;width:min(720px,100%);margin:0 auto;padding:10px 10px 10px 18px;display:flex;box-shadow:0 1px 3px #0000000a}.composer textarea{resize:none;max-height:160px;color:var(--fg);background:0 0;border:none;flex:1;padding:6px 0;font-family:inherit;font-size:15.5px;line-height:1.4}.composer textarea:focus{outline:none}.composer button{background:var(--accent);width:36px;height:36px;color:var(--accent-fg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;font-size:16px;transition:opacity .15s}.composer button:disabled{opacity:.35;cursor:default}.lock-btn{color:var(--fg-muted);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:10px;flex-shrink:0;align-items:center;gap:6px;margin-top:auto;padding:9px 12px;font-size:13px;display:flex}.lock-btn:hover{color:var(--fg);background:var(--border)}.unlock-screen{background:var(--bg);justify-content:center;align-items:center;height:100dvh;display:flex}.unlock-form{text-align:center;flex-direction:column;gap:14px;width:min(320px,85vw);display:flex}.unlock-form h1{color:var(--accent);margin:0 0 8px;font-size:22px;font-weight:600}.unlock-form input{border:1px solid var(--border);background:var(--bg-raised);color:var(--fg);text-align:center;border-radius:14px;padding:13px 16px;font-size:15px}.unlock-form input:focus{outline:2px solid var(--accent);outline-offset:-1px}.unlock-form button{background:var(--accent);color:var(--accent-fg);cursor:pointer;border:none;border-radius:14px;padding:11px 14px;font-size:15px;font-weight:500}.unlock-form button:disabled{opacity:.5;cursor:default}.unlock-error{color:var(--error);margin:0;font-size:13px}@media (width<=768px){.menu-btn{display:flex}.sidebar{z-index:20;width:auto;transition:transform .2s;position:fixed;inset:0 25% 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:10;background:#00000059;display:block;position:fixed;inset:0}.empty-state{padding:0 24px;font-size:20px}}
