:root{--bg:#f7f8fa;--card:#fff;--ink:#1c2430;--mute:#5b6675;--line:#dfe3e8;--accent:#1f5f8b;--warn:#fff4d6;--warnline:#e3c46a}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent)}header,footer{background:var(--card);border-bottom:1px solid var(--line)}footer{border-top:1px solid var(--line);border-bottom:0;margin-top:48px}
.wrap{max-width:860px;margin:0 auto;padding:16px}nav a{margin-right:14px;text-decoration:none;font-size:15px}
.brand{font-weight:700;font-size:20px;text-decoration:none;color:var(--ink);display:inline-block;margin-bottom:6px}
.banner{background:var(--warn);border:1px solid var(--warnline);padding:12px 16px;border-radius:8px;margin:16px 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin:16px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
label{display:block;font-weight:600;margin:12px 0 4px}input,select{width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;font:inherit;background:#f0f2f5}
.consent{font-size:14px;color:var(--mute);background:#fafbfc;border:1px solid var(--line);padding:12px;border-radius:6px}
.consent label{font-weight:400;display:flex;gap:8px;align-items:flex-start}.consent input{width:auto;margin-top:5px}
button{background:#9aa5b1;color:#fff;border:0;border-radius:6px;padding:12px 20px;font:inherit;cursor:not-allowed;margin-top:14px}
small,.mute{color:var(--mute)}h1{line-height:1.25}code{background:#eef1f4;padding:1px 4px;border-radius:4px}
@media (prefers-color-scheme:dark){:root{--bg:#12161c;--card:#1a2029;--ink:#e6eaef;--mute:#9aa6b4;--line:#2c3440;--accent:#7cb8e4;--warn:#3a321a;--warnline:#7a6526}input,select{background:#222a35;color:var(--ink)}.consent{background:#161b22}code{background:#222a35}}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
input:not([disabled]),select:not([disabled]){background:var(--card)}
button{background:var(--accent);cursor:pointer}button[disabled]{background:#9aa5b1;cursor:wait}
.msg{padding:12px;border-radius:6px;margin-top:12px;display:none}.msg.ok{display:block;background:#e6f4ea;border:1px solid #9ccfa9}.msg.err{display:block;background:#fdecea;border:1px solid #f1a9a0}
@media (prefers-color-scheme:dark){.msg.ok{background:#1d3324;border-color:#2f6b3f}.msg.err{background:#3a1f1c;border-color:#7a3b33}}
.req{color:#b3261e}
