:root{--bg:#0b0b10;--panel:#14141c;--line:#24242f;--text:#e8e8f0;--dim:#8a8a9c;--accent:#9147ff;--bad:#f06262;--ok:#3ecf8e}
@media (prefers-color-scheme:light){:root{--bg:#f6f6fa;--panel:#fff;--line:#dcdce6;--text:#16161e;--dim:#66667a}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.top h1{font-size:1.1rem;margin:0;flex:1}.top h1 b{color:var(--accent)}
.top a,.top button{font-size:.9rem}
main{max-width:860px;margin:0 auto;padding:16px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;margin:14px 0}
h2{margin:0 0 .5em;font-size:1.05rem}
label{display:block;font-weight:600;margin:12px 0 4px}
.hint{color:var(--dim);font-size:.85rem;margin:2px 0 4px;font-weight:400}
input,textarea{width:100%;background:var(--bg);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px;font:inherit}
textarea{min-height:110px;font:14px/1.45 ui-monospace,Menlo,Consolas,monospace;resize:vertical}
input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.row{grid-template-columns:1fr}}
button,.btn{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 18px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button.ghost,.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.top button.link{background:none;border:0;color:var(--dim);padding:4px 8px;font-weight:400}
.bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.err{background:color-mix(in srgb,var(--bad) 18%,transparent);border:1px solid var(--bad);padding:10px 12px;border-radius:10px;margin:12px 0}
.ok{background:color-mix(in srgb,var(--ok) 16%,transparent);border:1px solid var(--ok);padding:10px 12px;border-radius:10px;margin:12px 0}
table{width:100%;border-collapse:collapse;font-size:.9rem}td,th{padding:6px 4px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
td form{margin:0}td button{padding:4px 12px;font-size:.85rem}
.dim{color:var(--dim)}code{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 6px}
.narrow{max-width:420px;margin:12vh auto 0;padding:0 16px}
