:root{color-scheme:dark light;--bg:#14161a;--fg:#e8e9ec;--mut:#9aa0aa;--card:#1d2026;--acc:#6aa3ff;--bad:#ff6b6b;--ok:#52d273}
@media (prefers-color-scheme:light){:root{--bg:#f6f7f9;--fg:#15171b;--mut:#5b6270;--card:#fff;--acc:#1f5fd6;--bad:#c62828;--ok:#1b8a3a}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.4 -apple-system,system-ui,sans-serif;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}
header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}h1{font-size:18px;margin:0}h2{font-size:17px}h3{font-size:15px;color:var(--mut)}
main{padding:0 16px 32px;max-width:640px;margin:auto}section{background:var(--card);border-radius:14px;padding:14px;margin:12px 0}
.pill{font-size:12px;padding:3px 10px;border-radius:99px;background:var(--card);color:var(--mut)}.pill.on{color:var(--ok)}
button{font:inherit;padding:12px 16px;border:0;border-radius:10px;background:var(--acc);color:#fff;min-height:44px}button.ghost{background:transparent;border:1px solid var(--mut);color:var(--fg)}button.danger{background:var(--bad)}button.ghost.danger{background:transparent;color:var(--bad);border-color:var(--bad)}
input,textarea{width:100%;font:inherit;padding:10px;border-radius:10px;border:1px solid var(--mut);background:transparent;color:var(--fg)}
.row{display:flex;gap:8px;align-items:center;margin:8px 0}.row.wrap{flex-wrap:wrap}.row>input{flex:1}
#chat{min-height:120px;max-height:40vh;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:8px;border-radius:8px;background:var(--bg)}
pre{white-space:pre-wrap;word-break:break-all;background:var(--bg);padding:8px;border-radius:8px;font-size:12px}.mono{font-family:ui-monospace,monospace;font-size:11px;color:var(--mut);word-break:break-all}
#sas{font-size:36px;letter-spacing:4px;text-align:center;font-variant-numeric:tabular-nums}#checks{padding-left:18px}#checks li.ok::marker{color:var(--ok)}#checks li.no::marker{color:var(--bad)}
video{width:100%;border-radius:10px}
.banner{background:#b3261e;color:#fff;text-align:center;font-weight:700;letter-spacing:.04em;padding:6px 12px;position:sticky;top:0;z-index:10}
