:root{--ground:#F3F5F3;--surface:#FFFFFF;--ink:#17201C;--muted:#5A6660;--line:#D8DED9;--accent:#1F5E4B;--accent-ink:#FFFFFF;--danger:#A3372B;--danger-soft:#F7E4E1;--ok-soft:#E2EDE8;
  --serif:"Source Serif 4",Georgia,serif;--sans:"Source Sans 3","Segoe UI",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Consolas,monospace}
@media (prefers-color-scheme:dark){:root{color-scheme:dark;--ground:#101513;--surface:#171D1A;--ink:#E3E9E5;--muted:#9AA69F;--line:#2A332F;--accent:#72BC9E;--accent-ink:#0E1A15;--danger:#E58A7E;--danger-soft:#33201D;--ok-soft:#1D2D26}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:28px}
.card.wide{max-width:960px}
.mark{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
h1{font-family:var(--serif);font-weight:650;font-size:28px;line-height:1.2;margin:6px 0 4px}
p{margin:0 0 14px}.muted{color:var(--muted)}.small{font-size:14px}
label{display:block;font-size:14px;color:var(--muted);margin:0 0 12px}
input,select{display:block;width:100%;margin-top:4px;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:9px 11px}
button{font:inherit;cursor:pointer;border-radius:6px;padding:9px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600;width:100%}
button:disabled{opacity:.6;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.msg{padding:10px 12px;border-radius:6px;font-size:14px;margin:0 0 14px}
.msg.err{background:var(--danger-soft);color:var(--danger)}.msg.ok{background:var(--ok-soft)}
a{color:var(--accent)}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}
td select{width:auto;display:inline-block;margin:0;padding:5px 8px}td button{padding:5px 10px;font-size:13px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.row>label{flex:1;min-width:180px}
.tw{overflow-x:auto}.link{word-break:break-all;font-family:var(--mono);font-size:12px;background:var(--ground);padding:8px;border-radius:6px;display:block;margin:6px 0}
