:root,:root[data-theme=light]{--bg:#f6f7fb;--surface:#fff;--surface-2:#eef1f7;--text:#1b1f2a;--muted:#545b6b;--accent:#0b5cad;--accent-text:#fff;--user-bg:#e2edfa;--border:#d5d9e2;--error:#a4161a;--focus:#c26a00;--sidebar-bg:#10224a;--sidebar-text:#eef2fb;--sidebar-muted:#b4bfd9;--sidebar-hover:#ffffff1a;--sidebar-active:#ffffff2e;--sidebar-border:#ffffff24}:root[data-theme=dark]{--bg:#0f131a;--surface:#181e28;--surface-2:#202836;--text:#e6e9ef;--muted:#a3acbd;--accent:#4aa8ff;--accent-text:#0b1220;--user-bg:#1d3557;--border:#2c3545;--error:#ff8a8a;--focus:#ffb020;--sidebar-bg:#0a0d13;--sidebar-text:#e6e9ef;--sidebar-muted:#9aa3b5;--sidebar-hover:#ffffff12;--sidebar-active:#4aa8ff2e;--sidebar-border:#ffffff14}:root{color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0}button{font:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{z-index:50;background:var(--surface);color:var(--text);padding:.5rem 1rem;top:1rem;left:1rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notice{padding:1rem}.notice.error,.message-error{color:var(--error)}.centered{max-width:40rem;margin:3rem auto}.layout{grid-template-columns:17.5rem 1fr;height:100vh;display:grid}.content{flex-direction:column;min-width:0;height:100vh;display:flex}.content main{flex-direction:column;flex:1;width:100%;max-width:52rem;min-height:0;margin:0 auto;padding:1rem 1.25rem;display:flex}.content main:focus{outline:none}.mobile-bar{display:none}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);min-height:0}.sidebar-inner{flex-direction:column;gap:1rem;height:100%;padding:1rem .75rem;display:flex}.sidebar a{color:inherit;text-decoration:none}.sidebar-top{flex-direction:column;gap:.75rem;display:flex}.brand{padding:0 .5rem;font-size:1.05rem;font-weight:700}.new-chat{cursor:pointer;width:100%;color:var(--sidebar-text);border:1px solid var(--sidebar-border);background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.new-chat:hover{background:var(--sidebar-hover)}.new-chat span{font-size:1.15rem;line-height:1}.recent{flex:1;min-height:0;overflow-y:auto}.recent h2{text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-muted);margin:0 .5rem .4rem;font-size:.75rem;font-weight:600}.recent ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.recent li a{white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:.45rem .6rem;font-size:.9rem;display:block;overflow:hidden}.recent li a:hover{background:var(--sidebar-hover)}.recent li a.active{background:var(--sidebar-active)}.sidebar-note{color:var(--sidebar-muted);margin:.25rem .5rem;font-size:.85rem}.view-all{margin:.5rem;font-size:.85rem;display:inline-block;color:var(--sidebar-muted)!important;text-decoration:underline!important}.sidebar-bottom{border-top:1px solid var(--sidebar-border);flex-direction:column;gap:.6rem;padding-top:.75rem;display:flex}.theme-toggle{cursor:pointer;width:100%;color:var(--sidebar-text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;padding:.5rem .6rem;display:flex}.theme-toggle:hover{background:var(--sidebar-hover)}.theme-icon{text-align:center;width:1.1rem}.switch{background:var(--sidebar-border);border-radius:999px;width:2.25rem;height:1.25rem;margin-left:auto;transition:background .15s;position:relative}.knob{background:#fff;border-radius:50%;width:calc(1.25rem - 4px);height:calc(1.25rem - 4px);transition:transform .15s;position:absolute;top:2px;left:2px}.theme-toggle[aria-checked=true] .switch{background:#4aa8ff}.theme-toggle[aria-checked=true] .knob{transform:translate(1rem)}.user-card{align-items:center;gap:.65rem;min-width:0;padding:.25rem .5rem;display:flex}.avatar{color:#0b1220;background:#4aa8ff;border-radius:50%;flex:none;place-items:center;width:2.25rem;height:2.25rem;font-size:.85rem;font-weight:700;display:grid}.user-details{flex-direction:column;min-width:0;display:flex}.user-name,.user-email{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-name{font-size:.92rem;font-weight:600}.user-email{color:var(--sidebar-muted);font-size:.8rem}.sign-out{cursor:pointer;width:100%;color:var(--sidebar-text);border:1px solid var(--sidebar-border);background:0 0;border-radius:6px;padding:.5rem}.sign-out:hover{background:var(--sidebar-hover)}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.messages{flex-direction:column;flex:1;gap:.75rem;padding:.5rem .25rem 1rem;display:flex;overflow-y:auto}.empty{text-align:center;color:var(--muted);max-width:34rem;margin:4rem auto}.empty h1{color:var(--text)}.message{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:100%;padding:.75rem 1rem}.message.user{background:var(--user-bg);border-color:#0000;align-self:flex-end;max-width:85%}.message .text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.thinking{color:var(--muted);font-style:italic}.tools{flex-wrap:wrap;gap:.4rem;margin:0 0 .5rem;padding:0;list-style:none;display:flex}.tools li{color:var(--muted);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.1rem .6rem;font-size:.8rem}.tools li:before{content:"Tool: "}.composer{background:var(--bg);align-items:flex-end;gap:.5rem;padding-top:.5rem;display:flex}.composer textarea{resize:vertical;font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;flex:1;padding:.65rem .75rem}.composer textarea::placeholder{color:var(--muted)}.composer button{background:var(--accent);color:var(--accent-text);cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.25rem;font-weight:600}.composer button:disabled{opacity:.5;cursor:not-allowed}.history h1{margin-top:.5rem}.hint{color:var(--muted)}.history-list{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.history-list a{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:space-between;gap:1rem;padding:.75rem 1rem;text-decoration:none;display:flex}.history-list a:hover{border-color:var(--accent)}.history-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.history-list time{color:var(--muted);white-space:nowrap;font-size:.85rem}.history a,.notice a{color:var(--accent)}@media (width<=768px){.layout{grid-template-columns:1fr}.sidebar{z-index:30;visibility:hidden;width:17.5rem;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer-open .sidebar{visibility:visible;transform:none}.scrim{z-index:20;background:#00000073;position:fixed;inset:0}.mobile-bar{background:var(--sidebar-bg);color:var(--sidebar-text);align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex}.menu-button{color:inherit;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:1.3rem}.mobile-title{font-weight:700}}@media (prefers-reduced-motion:reduce){.sidebar,.switch,.knob{transition:none}}.markdown{overflow-wrap:anywhere;line-height:1.55}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p{margin:0 0 .7rem}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:1.1rem 0 .5rem;line-height:1.3}.markdown h1{font-size:1.3rem}.markdown h2{font-size:1.15rem}.markdown h3,.markdown h4{font-size:1rem}.markdown ul,.markdown ol{margin:0 0 .7rem;padding-left:1.4rem}.markdown li{margin:.2rem 0}.markdown a{color:var(--accent)}.markdown hr{border:none;border-top:1px solid var(--border);margin:1rem 0}.markdown blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0 0 .7rem;padding:.25rem .9rem}.markdown code{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:.05rem .3rem;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88em}.markdown pre{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;margin:0 0 .7rem;padding:.75rem;overflow-x:auto}.markdown pre code{background:0 0;border:none;padding:0;font-size:.85rem}.table-wrap{border:1px solid var(--border);border-radius:8px;margin:0 0 .8rem;overflow-x:auto}.table-wrap:focus-visible{outline-offset:0}.markdown table{border-collapse:collapse;width:100%;font-size:.92rem}.markdown th,.markdown td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:.45rem .7rem}.markdown th{background:var(--surface-2);white-space:nowrap;font-weight:600}.markdown tr:last-child td{border-bottom:none}
