:root{color-scheme:light dark;--bg:#f4f5f7;--fg:#1d2330;--card:#fff;--mut:#667;--acc:#c2410c;--err:#b91c1c}
@media (prefers-color-scheme:dark){:root{--bg:#12151b;--fg:#e8eaee;--card:#1c2029;--mut:#99a}}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.card{background:var(--card);padding:28px;border-radius:14px;box-shadow:0 4px 24px #0002;width:100%;max-width:380px}.card.wide{max-width:520px}
h1{margin:0 0 4px;font-size:1.6rem}.sub{margin:0 0 18px;color:var(--mut)}label{display:block;margin:12px 0;font-weight:600;font-size:.9rem}
input{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #8886;border-radius:9px;font:inherit;background:transparent;color:inherit}
button{margin-top:14px;width:100%;padding:12px;border:0;border-radius:9px;background:var(--acc);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.err{background:#fee2e2;color:var(--err);padding:10px 12px;border-radius:8px}.qr{background:#fff;padding:12px;border-radius:10px;width:220px;margin:8px auto}.qr svg{width:100%;height:auto;display:block}
.key{text-align:center;font-size:.85rem;color:var(--mut)}.key code{word-break:break-all;user-select:all;-webkit-user-select:all;font-size:1rem;color:var(--fg)}
.keyrow{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap}.keyrow button{width:auto;margin:0;padding:8px 14px}
.copied{display:block;min-height:1.2em;text-align:center;font-size:.85rem;color:var(--mut)}.applink{display:block;text-align:center;margin:8px 0 4px;font-weight:600}
.steps{padding-left:20px;color:var(--mut)}a{color:var(--acc)}