:root{
  --ink:#01081b;--ink-soft:#18212d;--muted:#4d525f;--faint:#6b7180;
  --shell:#fbfaf9;--paper:#ffffff;--rule:#e7e7e8;--line:#8b909b;
  --espresso:#5e4a37;--deep:#43331f;
}
@media (prefers-color-scheme: dark){
  :root{--ink:#f3f1ee;--ink-soft:#d9d6d1;--muted:#a9aeb8;--faint:#8a8f99;
    --shell:#0d1118;--paper:#0d1118;--rule:#232a35;--line:#4d535f;--espresso:#cdaf8b;--deep:#e2c9a8;}
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--shell);color:var(--ink);
  font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-weight:300;line-height:1.5}
a{color:inherit;text-decoration:none;border-bottom:1px solid var(--rule)}
a:hover{border-color:var(--espresso)}
main{max-width:620px;margin:0 auto;padding:14vh 20px 10vh}
h1{font-weight:400;font-size:clamp(2rem,6vw,3.25rem);letter-spacing:-.02em;line-height:1.1;margin:0 0 .6em}
.sub{color:var(--muted);margin:0 0 12vh}
.micro{font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 1.2em}
section{margin:0 0 10vh}
.signers{list-style:none;margin:0;padding:0}
.signers li{display:grid;grid-template-columns:1fr auto;gap:.25em 1em;padding:.9em 0;border-top:1px solid var(--rule)}
.signers li:last-child{border-bottom:1px solid var(--rule)}
.signers .name{font-weight:400}
.signers .date{color:var(--faint);font-size:.85rem;white-space:nowrap}
.signers .line{grid-column:1/-1;color:var(--muted)}
.signers .empty{border:0;color:var(--faint);padding:.9em 0}
form{display:grid;gap:1.4em}
fieldset{border:0;margin:0;padding:0;display:grid;gap:.5em}
.which label,.attest{display:flex;gap:.7em;align-items:flex-start;cursor:pointer;color:var(--ink-soft)}
input[type=radio],input[type=checkbox]{accent-color:var(--espresso);margin-top:.3em}
input:not([type=radio]):not([type=checkbox]){
  width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);
  padding:.55em 0;font:inherit;color:var(--ink);outline:none;border-radius:0}
input::placeholder{color:var(--faint)}
input:focus-visible{border-bottom-color:var(--espresso)}
input.bad{border-bottom-color:var(--espresso);border-bottom-width:2px}
.vouch{display:grid;gap:1.4em}
button{justify-self:end;background:transparent;border:0;font-size:1.8rem;line-height:1;
  color:var(--espresso);cursor:pointer;padding:.2em .4em}
button:hover{color:var(--deep)}
button:focus-visible{outline:1px solid var(--espresso);outline-offset:4px}
.sent{color:var(--muted)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
footer{max-width:620px;margin:0 auto;padding:0 20px 8vh;display:flex;gap:2em;color:var(--faint);font-size:.85rem}
.terms h1{font-size:clamp(1.6rem,4vw,2.2rem)}
.terms h2{font-weight:500;font-size:1rem;margin:2.4em 0 .5em}
.terms p{color:var(--ink-soft);margin:0 0 1em}
.terms .sub{margin-bottom:2em}
@media (prefers-reduced-motion:no-preference){
  .vouch:not([hidden]){animation:in .2s ease-out}
  @keyframes in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
}
