:root{--bg:#f5f6f8;--surface:#fff;--text:#1f2937;--muted:#6b7280;--primary:#1d4ed8;--primary-text:#fff;--user:#dbeafe;--error:#b91c1c;--radius:14px;--fs-base:12px;--fs-small:11px;--fs-ui:13px;--fs-title:20px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111827;--surface:#1f2937;--text:#f3f4f6;--muted:#9ca3af;--primary:#3b82f6;--user:#1e3a8a;--error:#f87171}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:var(--fs-base);line-height:1.4}.app{height:var(--app-height,100dvh);flex-direction:column;max-width:720px;margin:0 auto;display:flex}.app--centered{justify-content:center;align-items:center;gap:16px;padding:16px}.topbar{padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid #7f7f7f33;align-items:center;gap:10px;display:flex}.topbar__title{flex:1;font-weight:700}.topbar__user{color:var(--muted);font-size:var(--fs-small)}h1{font-size:var(--fs-title);margin:0}@media (width<=480px){.topbar__user{display:none}}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat__log{flex-direction:column;flex:1;gap:8px;margin:0;padding:12px;list-style:none;display:flex;overflow-y:auto}.bubble{border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere;max-width:92%;padding:8px 12px}.bubble p{margin:0}.bubble:has(.table-wrap){align-self:stretch;max-width:100%}.bubble--user{background:var(--user);align-self:flex-end}.bubble--busy{color:var(--muted)}.summary{grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0 0;display:grid}.summary div{display:contents}.summary dt{color:var(--muted)}.summary dd{margin:0}.table-wrap{margin-top:6px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-base)}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #7f7f7f40;padding:4px 6px}th,.nowrap{white-space:nowrap}th{color:var(--muted);font-weight:600}.actions{flex-wrap:wrap;gap:8px;padding:0 12px 8px;display:flex}.status{border-radius:var(--radius);background:var(--surface);font-size:var(--fs-small);border:1px solid #7f7f7f4d;align-items:center;gap:8px;margin:0 12px 6px;padding:6px 10px;display:flex}.status__text{flex:1}.status__name{font-weight:600}.status__close{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;min-height:32px;padding:4px 8px}.bubble__process{color:var(--muted);font-size:var(--fs-small);margin-bottom:2px;display:block}.composer{padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid #7f7f7f33;align-items:flex-end;gap:8px;display:flex}.composer textarea{font:inherit;font-size:var(--fs-ui);border-radius:var(--radius);background:var(--bg);max-height:96px;color:var(--text);resize:none;border:1px solid #7f7f7f66;flex:1;min-width:0;padding:10px 12px;line-height:1.4;overflow-y:auto}.mic{background:var(--surface);width:44px;min-height:44px;color:var(--text);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;border:1px solid #7f7f7f66;border-radius:50%;flex:none;place-items:center;display:grid}.mic--listening{background:var(--error);border-color:var(--error);color:#fff;animation:1.2s ease-in-out infinite mic-pulse}.mic:disabled{opacity:.5;cursor:default}@keyframes mic-pulse{0%,to{box-shadow:0 0 #b91c1c73}50%{box-shadow:0 0 0 8px #b91c1c00}}.btn{font:inherit;font-size:var(--fs-ui);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border:1px solid #7f7f7f66;flex-direction:column;align-items:center;padding:10px 14px;font-weight:600;display:flex}.actions .btn{flex:auto}.btn small{font-size:var(--fs-small);color:var(--muted);font-weight:400}.btn--primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn--secondary{background:0 0}.btn:disabled{opacity:.5;cursor:default}.link{font:inherit;font-size:var(--fs-ui);white-space:nowrap;color:var(--primary);cursor:pointer;background:0 0;border:none;padding:4px}.error{color:var(--error)}
