:root{--bg:#eef1f5;--card:#fff;--ink:#121a23;--muted:#5a6672;--line:#d3d9e0;--ok:#1b7350;--bad:#9a2e21;--warn:#8f5400;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#0d1218;--card:#151c24;--ink:#e3e8ee;--muted:#9ba6b2;--line:#27313c;--ok:#74d4a9;--bad:#f39383;--warn:#f2b860}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif}
main{max-width:560px;margin:0 auto;padding:24px 16px 48px}
header{margin-bottom:8px}
.brand{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
h1{font-size:26px;margin:4px 0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0}
.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 12px;font-size:15px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;overflow-wrap:anywhere}
.flag{background:#fbeed6;color:var(--warn);padding:8px 10px;border-radius:8px;font-weight:600;font-size:15px;margin:8px 0}
@media (prefers-color-scheme:dark){.flag{background:#372710}}
label.opt{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--card)}
button{font:inherit;font-weight:700;border-radius:12px;border:1px solid var(--line);padding:14px 18px;width:100%;margin-top:10px;background:var(--card);color:var(--ink)}
button.primary{background:var(--ok);border-color:var(--ok);color:#fff}
button.danger{color:var(--bad)}
button:disabled{opacity:.5}
.muted{color:var(--muted);font-size:15px}
.bad{color:var(--bad);font-weight:600}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:var(--bg);padding:10px;border-radius:8px}
#result{font-weight:600;white-space:pre-wrap}
