:root{--bg:#0e1116;--surface:#161b22;--surface-2:#1f2630;--border:#2a3240;--text:#e8ecf4;--muted:#8b95a7;--accent:#5b8cff;--accent-text:#fff;--ok:#3fb97f;--warn:#e0a23a;--danger:#e5534b;--user:#2b4a8f;--radius:14px;--tabbar-h:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45}@media (prefers-color-scheme:light){:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#eef1f7;--border:#d9dee8;--text:#141a24;--muted:#5d687a;--user:#3a64d8;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}button,input,select{font:inherit;color:inherit}input,select{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;width:100%;min-width:0;padding:.65rem .8rem}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent);text-decoration:none}code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.app{flex-direction:column;max-width:820px;height:100%;margin:0 auto;display:flex}.topbar{padding:calc(env(safe-area-inset-top) + .6rem) 1rem .6rem;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.brand{letter-spacing:.02em;font-size:1.15rem;font-weight:700}.brand-lg{text-align:center;margin:0 0 1.2rem;font-size:2.4rem}.content{padding:.8rem 1rem calc(var(--tabbar-h) + 1rem);flex:1;overflow-y:auto}.tabbar{height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--border);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.72rem;display:flex}.tab.active{color:var(--accent)}.badge{color:var(--muted);align-items:center;gap:.35rem;font-size:.8rem;display:inline-flex}.dot{background:var(--muted);border-radius:50%;width:9px;height:9px;display:inline-block}.badge-online .dot,.dot-online{background:var(--ok)}.badge-connecting .dot{background:var(--warn)}.badge-offline .dot,.dot-offline{background:var(--danger)}.banner{padding:.55rem 1rem;font-size:.9rem}.banner-warn{background:color-mix(in srgb, var(--warn) 20%, var(--bg))}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.7rem;margin-bottom:1rem;padding:1rem;display:flex}.card h2{margin:0;font-size:1.05rem}.card-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.card-head select{width:auto}.auth{flex-direction:column;justify-content:center;max-width:420px;min-height:100%;margin:0 auto;padding:1.5rem;display:flex}label{flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row>input,.row>select{flex:1}.stack{flex-direction:column;gap:.6rem;display:flex}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--danger);margin:0}.btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;white-space:nowrap;border-radius:10px;padding:.6rem .95rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, var(--border))}.btn-ghost{color:var(--accent);background:0 0;border-color:#0000}.link{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.7rem 0;display:flex}.list-item:last-child{border-bottom:0}.grow{min-width:0;color:inherit;flex:1}.chips{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:99px;padding:.12rem .5rem;font-size:.72rem}.chip-succeeded{color:var(--ok)}.chip-running,.chip-pending_confirmation{color:var(--warn)}.chip-denied,.chip-failed,.chip-device_offline,.chip-timeout,.chip-unsupported,.chip-rejected{color:var(--danger)}.outcome-failure,.outcome-denied{border-left:3px solid var(--danger);padding-left:.5rem}.chat{flex-direction:column;min-height:calc(100dvh - 190px);display:flex}.chat-head{justify-content:space-between;margin-bottom:.4rem;display:flex}.messages{flex-direction:column;flex:1;gap:.7rem;padding-bottom:1rem;display:flex}.empty{text-align:center;margin-top:18vh}.msg{flex-direction:column;gap:.4rem;max-width:88%;display:flex}.msg-user{align-self:flex-end;align-items:flex-end}.msg-assistant{align-self:flex-start}.bubble{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;word-wrap:break-word;padding:.65rem .9rem}.msg-user .bubble{background:var(--user);border-color:var(--user);color:#fff}.bubble-error{border-color:var(--danger)}.typing:after{content:"…";animation:1s infinite blink}@keyframes blink{50%{opacity:.2}}.tool{border:1px dashed var(--border);background:var(--surface-2);border-radius:12px;padding:.5rem .75rem;font-size:.88rem}.tool-head{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.tool-head .chip{margin-left:auto}.tool-name{font-weight:600}.tool-msg{color:var(--muted);margin:.35rem 0 0}.confirm{flex-direction:column;gap:.4rem;margin-top:.5rem;display:flex}.confirm p{margin:0}.risk{text-transform:uppercase;color:var(--warn);margin-left:.4rem;font-size:.7rem}.sensitive{border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);padding:.8rem}.code{letter-spacing:.2em;margin:.3rem 0 .5rem;font-family:ui-monospace,Menlo,monospace;font-size:1.8rem}.composer{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));background:var(--bg);align-items:center;gap:.5rem;padding:.5rem 0;display:flex;position:sticky}.ptt-wrap{align-items:center;display:flex;position:relative}.ptt{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.ptt-listening{background:var(--danger);color:#fff;animation:1.2s infinite pulse}.ptt-processing{background:var(--warn);color:#000}.ptt-label{white-space:nowrap;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.2rem .5rem;font-size:.8rem;position:absolute;bottom:56px;left:0}@keyframes pulse{50%{box-shadow:0 0 0 10px color-mix(in srgb, var(--danger) 25%, transparent)}}.pairing .code{font-size:2rem}.codes{background:var(--surface-2);border-radius:10px;padding:.8rem;font-size:1rem}.secret{background:var(--surface-2);border-radius:8px;padding:.5rem}.switch input{width:2.4rem;height:1.3rem}@media (min-width:900px){.tabbar{border-top:0;border-bottom:1px solid var(--border);order:-1;height:auto;position:static}.tab{flex-direction:row;gap:.4rem;padding:.6rem;font-size:.9rem}.content{padding-bottom:1rem}.composer{bottom:0}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.pending-confirmations{gap:.5rem;margin-bottom:.5rem;display:grid}.alexa ol{margin:.2rem 0 0;padding-left:1.2rem}
