:root{color-scheme:dark;--bg: #0c0f14;--surface: #151a22;--surface-2: #1c2430;--border: #2a3544;--text: #e8edf4;--muted: #8b9bb0;--accent: #5b9fd4;--accent-dim: #3d6f99;--inbound: #1e3a2f;--outbound: #1a2d42;--danger: #e07070;--radius: 12px;font-family:DM Sans,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(91,159,212,.15),transparent),var(--bg)}#root{min-height:100vh}a{color:var(--accent)}.landing{max-width:560px;margin:0 auto;padding:3rem 1.25rem 4rem}.landing-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.language-switcher-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--muted)}.language-switcher-select{font:inherit;font-weight:500;padding:.35rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);max-width:11rem}.language-switcher-select:focus-visible{outline:2px solid var(--accent-dim);outline-offset:2px}.hero .eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:0 0 .5rem}.hero h1{font-size:clamp(1.75rem,5vw,2.25rem);font-weight:700;margin:0 0 1rem;line-height:1.2}.hero .lede{color:var(--muted);margin:0 0 2rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.field span{font-size:.9rem;color:var(--muted)}input[type=text],.composer-message{font:inherit;padding:.65rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--text)}input[type=text]:focus,.composer-message:focus{outline:2px solid var(--accent-dim);border-color:var(--accent)}.role-fieldset{border:none;padding:0;margin:0 0 1.25rem}.role-fieldset legend{font-size:.9rem;color:var(--muted);margin-bottom:.5rem}.role-option{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border-radius:8px;border:1px solid var(--border);margin-bottom:.5rem;cursor:pointer}.role-option:has(input:checked){border-color:var(--accent);background:#5b9fd414}.role-option strong{display:block}.role-option small{color:var(--muted);font-size:.85rem}.btn{font:inherit;font-weight:600;padding:.65rem 1.1rem;border-radius:8px;border:none;cursor:pointer}.btn.primary{background:var(--accent);color:#0c0f14;width:100%}.btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.form-error{color:var(--danger);font-size:.9rem;margin:0 0 1rem}.landing-footer{margin-top:2rem;text-align:center;color:var(--muted);font-size:.9rem}.chat-layout{display:flex;flex-direction:column;height:100vh;max-width:720px;margin:0 auto}.chat-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--surface)}.chat-header h1{font-size:1.15rem;margin:0}.chat-meta,.chat-expiry{font-size:.85rem;color:var(--muted);margin:.25rem 0 0}.chat-expiry.expired{color:var(--danger)}.chat-header-actions{display:flex;align-items:center;gap:.5rem}.ws-pill{font-size:.75rem;padding:.2rem .5rem;border-radius:999px;background:var(--surface-2)}.ws-open{color:#6dd4a0}.ws-error,.ws-closed{color:var(--danger)}.tool-hints{margin:.75rem 1.25rem 0;padding:.85rem 1rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:.85rem}.tool-hints--compact-collapsed{padding:.5rem .85rem}.tool-hints--compact:not(.tool-hints--compact-collapsed) .tool-hints-compact-toolbar{margin-bottom:.6rem;padding-bottom:.55rem;border-bottom:1px solid var(--border)}.tool-hints-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;text-align:left;font-weight:600}.tool-hints-toggle-label{flex:1}.tool-hints-toggle-chevron{opacity:.75;font-size:.72rem;line-height:1}.tool-hints-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.tool-hints-title{margin:0;font-size:1rem;font-weight:650}.tool-hints-lede{margin:.35rem 0 0;color:var(--muted);font-size:.82rem;line-height:1.45}.tool-hints-nav{display:flex;gap:.25rem;flex-shrink:0}.tool-hints-scrollbtn{min-width:2rem;padding:.25rem .35rem;font-size:1.15rem;line-height:1}.tool-hints-track{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.35rem;scroll-snap-type:x mandatory;scrollbar-width:thin}.tool-hints-track:focus-visible{outline:2px solid var(--accent-dim);outline-offset:2px;border-radius:8px}.tool-hint-card{flex:0 0 min(280px,82vw);scroll-snap-align:start;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.5rem;min-height:11rem}.tool-hint-card-head{display:flex;flex-direction:column;gap:.2rem}.tool-hint-card-title{margin:0;font-size:.95rem;font-weight:650}.tool-hint-meta{font-size:.72rem;font-family:ui-monospace,monospace;color:var(--muted);word-break:break-all}.tool-hint-desc{margin:0;color:var(--muted);font-size:.78rem;line-height:1.4;white-space:pre-wrap;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-clamp:5;flex:1}.tool-hint-use{align-self:flex-start;margin-top:auto;font-size:.8rem}.messages{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.65rem}.empty-state{color:var(--muted);text-align:center;margin:auto}.bubble{max-width:85%;padding:.65rem .9rem;border-radius:var(--radius);font-size:.95rem}.bubble.inbound{align-self:flex-end;background:var(--inbound)}.bubble.outbound{align-self:flex-start;background:var(--outbound)}.bubble .md-body{margin:0;overflow-wrap:break-word;word-break:break-word;line-height:1.5}.bubble .md-body>:first-child{margin-top:0}.bubble .md-body>:last-child{margin-bottom:0}.bubble .md-body p{margin:.35em 0;white-space:normal}.bubble .md-body h1,.bubble .md-body h2,.bubble .md-body h3{margin:.55em 0 .3em;font-size:1.05rem;line-height:1.35}.bubble .md-body h3{font-size:1rem}.bubble .md-body ul,.bubble .md-body ol{margin:.35em 0;padding-left:1.35rem}.bubble .md-body li{margin:.15em 0}.bubble .md-body blockquote{margin:.35em 0;padding:.15em 0 .15em .65rem;border-left:3px solid var(--border);color:var(--muted)}.bubble .md-body pre{margin:.45em 0;padding:.5rem .65rem;border-radius:calc(var(--radius) * .75);background:#0000001f;font-size:.82rem;overflow-x:auto}.bubble.inbound .md-body pre{background:#0000002e}.bubble .md-body code{font-family:ui-monospace,monospace;font-size:.86em;padding:.08em .25em;border-radius:4px;background:#0000001f}.bubble.inbound .md-body code{background:#0000002e}.bubble .md-body pre code{padding:0;background:none}.bubble .md-body hr{border:none;border-top:1px solid var(--border);margin:.65em 0}.bubble .md-body table{width:100%;margin:.45em 0;border-collapse:collapse;font-size:.88rem}.bubble .md-body th,.bubble .md-body td{border:1px solid var(--border);padding:.3em .45em;text-align:left}.bubble .md-body a{color:inherit;text-decoration:underline;text-underline-offset:2px}.chat-error{padding:0 1.25rem}.composer{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem 1.25rem 1.25rem;border-top:1px solid var(--border);background:var(--surface)}.composer .composer-message{flex:1;resize:vertical;line-height:1.45;overflow-wrap:break-word}.composer .btn.primary{width:auto}
