:root{--bg:#0e1013;--panel:#14171c;--surface:#1b1f26;--surface-2:#272c36;--border:#2e3440;--text:#e9ecf1;--muted:#9aa3b2;--accent:#6fcf4f;--accent-ink:#0e1013;--maxw:760px;color-scheme:dark}*,::after,::before{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,textarea{font:inherit;color:inherit;border-radius:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);height:100vh;height:100dvh}.bot{display:flex;align-items:center;gap:10px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--panel);border-bottom:1px solid var(--border)}.avatar{flex:none;position:relative}.avatar img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.avatar.is-missing img{visibility:hidden}.avatar.is-missing::after{content:attr(data-frame);position:absolute;inset:0;display:grid;place-items:center;background:var(--surface-2);border:2px solid var(--accent);color:var(--accent);font-weight:700;font-size:.6rem;text-transform:uppercase;overflow:hidden}.bot__avatar{width:36px;height:36px}.bot__name{margin:0;font-size:1.1rem;line-height:1.2;letter-spacing:.02em}.bot__status{margin:0;font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:6px}.bot__status::before{content:"";width:8px;height:8px;background:var(--accent)}.bot__status[data-state=thinking]::before,.bot__status[data-state=typing]::before{background:#f2c94c;animation:blink .8s steps(2,jump-none) infinite}.bot__actions{margin-left:auto;display:flex;align-items:center;gap:8px}.site-link{width:36px;height:36px;display:grid;place-items:center;color:var(--muted);transition:color .15s,background .15s}.site-link:hover{color:var(--text);background:var(--surface-2)}.install{padding:6px 12px;background:0 0;border:1px solid var(--accent);color:var(--accent);font-size:.85rem;cursor:pointer}.install:hover{background:var(--accent);color:var(--accent-ink)}.chat{display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:24px 16px}.messages__inner{max-width:var(--maxw);min-height:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;gap:12px}.empty{margin:auto;color:var(--muted);text-align:center}.msg{max-width:85%;margin:0;padding:10px 14px;border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere;animation:pop-in .15s ease-out}.msg--user{align-self:flex-end;background:var(--surface-2)}.msg--bot{align-self:flex-start;background:var(--surface);border-left:3px solid var(--accent)}.msg--bot.is-typing::after{content:"";display:inline-block;width:.5em;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--accent);animation:blink .7s steps(2,jump-none) infinite}.dots{display:flex;gap:5px;padding:6px 0}.dots span{width:7px;height:7px;background:var(--muted);animation:bounce 1.2s infinite ease-in-out}.dots span:nth-child(2){animation-delay:.15s}.dots span:nth-child(3){animation-delay:.3s}.composer{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));background:var(--panel);border-top:1px solid var(--border)}.composer__inner{max-width:var(--maxw);margin:0 auto}.composer__bot{display:flex;align-items:center;gap:8px;margin-bottom:8px}.composer__avatar{width:40px;height:40px}.composer__row{display:flex;align-items:flex-end;gap:8px}.composer textarea{flex:1;min-width:0;min-height:48px;max-height:160px;padding:11px 14px;resize:none;background:var(--surface);border:1px solid var(--border);line-height:1.5}.composer textarea::placeholder{color:var(--muted)}.composer textarea:focus{outline:0;border-color:var(--accent)}.send{flex:none;width:48px;height:48px;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);border:0;cursor:pointer;transition:background .15s,color .15s}.send:hover:not(:disabled){background:#86dc68}.send:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.composer__meta{display:flex;justify-content:flex-end;padding-right:56px;margin-top:4px}.counter{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums}.counter.is-near-limit{color:#f2c94c}.counter.is-at-limit{color:#ff8a65}.tagline{margin:4px 0 0;text-align:center;font-size:.8rem;color:var(--muted);font-style:italic}@media (min-width:900px){.bot{padding-left:24px;padding-right:24px}.messages{padding:32px 24px}.msg{max-width:75%}}@keyframes blink{50%{opacity:0}}@keyframes bounce{0%,100%,60%{transform:translateY(0)}30%{transform:translateY(-5px)}}@keyframes pop-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition:none!important}}