:root{--bg: #fafaf7;--fg: #1d1d1b;--muted: #6b6b66;--card: #ffffff;--border: #d9d8d2;--accent: #b5532a;--error: #b3261e;--ok: #2e7d32;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #161614;--fg: #ecebe6;--muted: #9c9b95;--card: #1f1f1c;--border: #3a3935;--accent: #e0835a;--error: #f2b8b5;--ok: #81c784}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}main{max-width:30rem;margin:3rem auto;padding:0 1rem}main.wide{max-width:76rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:1rem;align-items:start}h1{color:var(--accent);margin-bottom:1.5rem}.card{background:var(--card);border:1px solid var(--border);border-radius:.75rem;padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}label{display:flex;flex-direction:column;gap:.3rem;font-weight:500}input,select,button{font:inherit;padding:.55rem .7rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--fg)}button{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600;cursor:pointer}button.secondary{background:transparent;color:var(--fg);border-color:var(--border)}button.danger{background:transparent;color:var(--error);border-color:var(--error)}button:disabled{opacity:.6;cursor:default}.hint{color:var(--muted);font-size:.9rem;margin:0}.error{color:var(--error);margin:0}.blocked{color:var(--muted);text-decoration:line-through}.ok{color:var(--ok);margin:0}.qr{width:12rem;height:12rem;align-self:center;background:#fff;padding:.5rem;border-radius:.5rem}code{word-break:break-all;font-size:.9rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}details>summary{cursor:pointer;color:var(--muted);margin-bottom:.6rem}h2{margin:0;font-size:1.15rem}.part-title{margin:2.5rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--border)}.part-title h2{font-size:1.4rem;color:var(--accent);margin-bottom:.3rem}.download{display:flex;flex-direction:column;gap:.15rem}.download a{color:var(--accent);font-weight:700}input.secret{width:100%;font-family:ui-monospace,monospace;font-size:.85rem}
