:root{--bg:#f4f6f9;--card:#fff;--ink:#1b2430;--dim:#5b6675;--line:#d8dee6;--acc:#1f3864;--err:#b42318;--ok:#067647}
@media (prefers-color-scheme:dark){:root{--bg:#11161d;--card:#1a212b;--ink:#e6ebf1;--dim:#9aa6b4;--line:#2c3643;--acc:#7aa2e3;--err:#f97066;--ok:#47cd89}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.wrap{max-width:420px;margin:0 auto;padding:48px 16px}.wide{max-width:900px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px}
h1{font-size:20px;margin:0 0 4px}p.sub{color:var(--dim);margin:0 0 20px}
label{display:block;font-weight:600;margin:14px 0 6px}input,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:inherit;font:inherit}
button{margin-top:18px;width:100%;padding:11px;border:0;border-radius:8px;background:var(--acc);color:#fff;font:inherit;font-weight:600;cursor:pointer}
button.ghost{background:transparent;color:var(--acc);border:1px solid var(--line);width:auto;padding:6px 10px;margin:0}
.err{color:var(--err);min-height:1.4em;margin-top:10px}.ok{color:var(--ok)}
.lang{float:right;font-size:13px}.lang a{color:var(--dim);margin-left:8px;cursor:pointer}
code{word-break:break-all;background:var(--bg);padding:2px 6px;border-radius:4px}
#qr{display:flex;justify-content:center;margin:12px 0;background:#fff;padding:12px;border-radius:8px}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.row{display:flex;gap:8px;flex-wrap:wrap}.row>*{flex:1;min-width:140px}
