:root { --ink:#f1ead9; --muted:#b9ae96; --line:#3a3326; --bg:#14120e; --card:#1b1913; --gold:#d9c79a;
        --ok:#7fd3a0; --bad:#ff9b8f; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); padding:0 20px;
       font:17px/1.7 "EB Garamond", Georgia, "Times New Roman", serif; }
.wrap { max-width:720px; margin:0 auto; padding:40px 0 80px; }
.top { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
       border-bottom:1px solid var(--line); padding-bottom:14px; margin-bottom:34px; }
.top a.brand { font-size:1.5rem; color:var(--gold); text-decoration:none; letter-spacing:.02em; }
.top nav a { color:var(--muted); margin-left:14px; font-size:.95rem; }
.eyebrow { font-size:.78rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
h1 { font-size:clamp(1.8rem,4.5vw,2.5rem); margin:.2em 0 .3em; color:var(--gold); font-weight:600; }
h2 { font-size:1.3rem; margin:1.8em 0 .4em; color:var(--gold); font-weight:600; }
.updated { color:var(--muted); font-size:.92rem; margin-bottom:1.6em; }
.card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px 20px; }
table { width:100%; border-collapse:collapse; font-size:.95rem; }
th, td { text-align:left; vertical-align:top; padding:9px 8px; border-bottom:1px solid var(--line); }
th { color:var(--gold); font-weight:600; }
.muted { color:var(--muted); }
a { color:var(--gold); }
.scroll { overflow-x:auto; }
form { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px; }
label { display:block; font-weight:600; font-size:.95rem; margin:16px 0 6px; }
label:first-of-type { margin-top:0; }
.hint { font-weight:400; color:var(--muted); font-size:.88rem; }
input, select, textarea { width:100%; padding:11px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--bg); color:var(--ink); font:inherit; font-size:1rem; }
textarea { min-height:150px; resize:vertical; }
input:focus, select:focus, textarea:focus { outline:2px solid var(--gold); outline-offset:1px; }
.err { color:var(--bad); font-size:.88rem; margin-top:6px; display:none; }
.field.invalid input, .field.invalid textarea { border-color:var(--bad); }
.field.invalid .err { display:block; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
button { margin-top:22px; width:100%; padding:12px 18px; border:0; border-radius:999px; background:var(--gold);
  color:#14120e; font:inherit; font-weight:700; cursor:pointer; }
button[disabled] { opacity:.6; cursor:progress; }
.note { margin-top:14px; font-size:.9rem; color:var(--muted); }
.result { display:none; border-radius:12px; padding:14px 18px; margin-top:18px; }
.result.ok { display:block; border:1px solid var(--ok); color:var(--ok); }
.result.bad { display:block; border:1px solid var(--bad); color:var(--bad); }
footer { border-top:1px solid var(--line); margin-top:3em; padding-top:1.4em; color:var(--muted); font-size:.92rem; }
footer a { color:inherit; }
