:root{color:#1a1d21;background:#f4f5f7;font-family:Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.45;--line: #e3e5e8;--ink: #1a1d21;--muted: #667085;--paper: #fff;--user: #1a1d21}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit;color:inherit}button,.file{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:.45rem .8rem;cursor:pointer}button:focus-visible,textarea:focus-visible,select:focus-visible,.file:focus-within{outline:2px solid #1a1d21;outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.primary,a.primary{background:var(--ink);color:#fff;border-color:var(--ink)}a{color:#1f4b3a}.actions a{display:inline-block;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:.45rem .8rem;text-decoration:none;color:inherit}#app{min-height:100vh;min-height:100dvh}.gate{min-height:100dvh;display:grid;place-items:center;padding:1.5rem}.gate-card{width:min(28rem,100%);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.5rem}.gate-card h1{margin:0 0 .4rem;font-size:1.6rem}.gate-card p,.muted{color:var(--muted)}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.shell{min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}.topbar{display:flex;align-items:center;gap:.6rem;padding:.7rem .9rem;border-bottom:1px solid var(--line)}.brand{font-size:1.05rem}.top-actions{display:flex;gap:.45rem;margin-left:auto}.menu{display:none}.limits{padding:.55rem .9rem;border-bottom:1px solid var(--line);background:#fafbfc;font-size:.84rem}.limits dl{display:flex;gap:.9rem;margin:.15rem 0 0;flex-wrap:wrap}.limits div{min-width:0}dt{color:var(--muted);font-size:.75rem}dd{margin:0}.workspace{flex:1;min-height:0;display:grid;grid-template-columns:17rem minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;gap:.6rem;padding:.8rem;border-right:1px solid var(--line);background:#fafbfc;min-height:0}.chats{display:flex;flex-direction:column;gap:.3rem;overflow:auto;min-height:0}.chats button{text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chats button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.backdrop{display:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0;background:#f7f8fa}.thread{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.7rem}.empty,.empty-thread{margin:.4rem}.empty-thread{margin:auto;text-align:center;max-width:22rem}.bubble{max-width:min(42rem,88%);padding:.7rem .9rem;border-radius:16px;background:var(--paper);border:1px solid var(--line)}.bubble.user{align-self:flex-end;background:var(--user);color:#fff;border-color:var(--user)}.bubble img{display:block;max-width:min(18rem,100%);margin-top:.5rem;border-radius:10px}.bubble pre{overflow:auto;background:#111418;color:#f4f5f7;padding:.7rem;border-radius:10px}.bubble.user a{color:#d7efe4}.sources{margin:.55rem 0 0;padding-left:1.1rem}.composer{display:grid;gap:.5rem;padding:.75rem .9rem calc(.75rem + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.composer select,.composer textarea,.memory-form textarea{width:100%;border:1px solid var(--line);border-radius:12px;background:#fff;padding:.55rem .7rem}.composer textarea{resize:vertical;min-height:3.2rem;max-height:10rem}.file{display:inline-flex;align-items:center}.error{color:#8a2b1b;margin:0}dialog{width:min(32rem,calc(100vw - 1.5rem));border:0;border-radius:16px;padding:0;box-shadow:0 16px 50px #10121633}dialog::backdrop{background:#10121673}.memory-form{display:grid;gap:.7rem;padding:1.1rem}.memory-form h2{margin:0;font-size:1.15rem}.memory-form p{margin:0}.memory-form textarea{min-height:12rem;resize:vertical}@media(max-width:800px){.menu{display:inline-flex}.workspace{grid-template-columns:1fr}.sidebar{position:fixed;z-index:2;inset:0 auto 0 0;width:min(20rem,86vw);transform:translate(-105%);transition:transform .16s ease;border-right:1px solid var(--line)}.sidebar.open{transform:none}.backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;border:0;padding:0;background:#10121666;opacity:0;pointer-events:none}.backdrop.open{opacity:1;pointer-events:auto}.limits dl{gap:.55rem .9rem}.bubble{max-width:92%}}
