:root{
  --paper:#FFFFFF; --wash:#F4F7F8; --ink:#0E1517; --ink-2:#4F6266; --rule:#E1E8EA; --aqua:#00A7BC; --aqua-ink:#006C7A;
  --gold:#FFC72C; --late:#B3302A; --late-wash:#FCECEA; --done:#1A7246; --mast:#000000;
  --font-head:"Archivo",Arial,sans-serif; --font-body:"Atkinson Hyperlegible","Segoe UI",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0B1213; --wash:#121D1F; --ink:#E6F0F1; --ink-2:#A5B8BC; --rule:#243538; --aqua:#1BC4D9; --aqua-ink:#66D9E8;
    --gold:#FFD24A; --late:#FF8073; --late-wash:#3A1613; --done:#5DD49C; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0B1213; --wash:#121D1F; --ink:#E6F0F1; --ink-2:#A5B8BC; --rule:#243538; --aqua:#1BC4D9; --aqua-ink:#66D9E8;
  --gold:#FFD24A; --late:#FF8073; --late-wash:#3A1613; --done:#5DD49C; color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0;background:var(--wash);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5}
.band{height:6px;background:linear-gradient(90deg,var(--aqua) 0 33%,var(--gold) 33% 66%,#000 66%)}
.mast{background:var(--mast);color:#fff;padding:14px max(16px,calc((100% - 1040px)/2))}
.mast b{font-family:var(--font-head);font-weight:800;letter-spacing:.06em;margin-right:10px}
.mast a{color:#AEBFC3;margin-left:16px}
main{max-width:1040px;margin:0 auto;padding:32px 16px}
.card{background:var(--paper);border:1px solid var(--rule);border-radius:12px;padding:28px;max-width:420px;margin:40px auto}
h1{font-family:var(--font-head);font-weight:800;font-size:26px;margin:0 0 6px;line-height:1.2}
h2{font-family:var(--font-head);font-weight:700;font-size:20px;margin:28px 0 10px}
p.lede{color:var(--ink-2);margin:0 0 20px}
label{display:block;margin:0 0 14px;font-weight:700;font-size:14px}
label span{display:block;margin-bottom:4px}
input,select{font:inherit;width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:8px;padding:9px 11px}
input[type=checkbox]{width:auto}
:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}
button{font:inherit;cursor:pointer;border-radius:8px;padding:9px 16px;border:1px solid var(--rule);background:var(--paper);color:var(--ink)}
button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:700}
button:disabled{opacity:.6;cursor:default}
.err{color:var(--late);min-height:1.5em;margin:10px 0 0}
.ok{background:var(--wash);border:1px solid var(--rule);border-radius:8px;padding:12px;margin:12px 0}
.ok code{font-size:17px;font-weight:700;user-select:all}
.table{width:100%;border-collapse:collapse;background:var(--paper);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.table th,.table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule);vertical-align:top;font-size:15px}
.table th{font-size:13px;color:var(--ink-2)}
.wrap{overflow-x:auto}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.row label{flex:1 1 180px}
.muted{color:var(--ink-2)}
.small{font-size:14px}
a{color:var(--aqua-ink)}
