@font-face{font-family:"Courier Prime";src:url(/fonts/courier-prime-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Courier Prime";src:url(/fonts/courier-prime-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Homemade Apple";src:url(/fonts/homemade-apple-latin-400-normal.woff2) format("woff2");font-display:swap}
:root{--paper:#faf8f2;--ink:#222;--pen:#23407a;--faint:#6b6860}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.7 "Courier Prime","Courier New",monospace}
main{max-width:29rem;margin:0 auto;padding:3rem 1.5rem 5rem;outline:0}
main.wide{max-width:36rem}
h1,h2,h3{font:inherit;font-weight:700;margin:0}
h2{margin:3rem 0 .75rem}
p{margin:0 0 1rem}
a{color:inherit;text-underline-offset:.2em}
:focus-visible{outline:2px solid var(--pen);outline-offset:3px}

.pen{font-family:"Homemade Apple",cursive;color:var(--pen);font-size:1.3rem;line-height:2.2;font-weight:400;margin:0}
.written{display:inline-block;animation:write 1.1s steps(22) both}
@keyframes write{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(-20% -5% -20% 0)}}

.top{margin-bottom:3rem}
.top p{margin:0}
.faint,.hint,.fine,label small,footer{color:var(--faint)}
.space{margin-bottom:3rem}
.pair{display:flex;justify-content:space-between;gap:1rem}

.btn{display:block;width:100%;appearance:none;background:none;border:1px solid var(--ink);color:var(--ink);font:inherit;font-weight:700;padding:.9rem 1rem;text-align:center;text-decoration:none;cursor:pointer;border-radius:0;margin:0 0 .75rem}
.btn.quiet{border-color:transparent;font-weight:400;text-decoration:underline;text-underline-offset:.2em}
.btn.small{display:inline-block;width:auto;padding:.4rem .7rem;margin:0}
.btn[disabled]{opacity:.45;cursor:default}

label{display:block;margin:0 0 1.5rem}
label small,.hint{display:block;font-size:.9rem;line-height:1.45}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],input:not([type]),textarea,select{display:block;width:100%;margin-top:.1rem;font:inherit;color:var(--pen);background:none;border:0;border-bottom:1px solid var(--ink);padding:.4rem 0;border-radius:0}
textarea{min-height:7rem;border:1px solid var(--ink);padding:.5rem}
input[type=file]{font:inherit;font-size:.9rem;max-width:100%;margin-top:.3rem}
.check{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.75rem}
.check input{width:1.15rem;height:1.15rem;margin:.2rem 0 0;flex:none;accent-color:var(--ink)}
fieldset{border:0;padding:0;margin:0 0 1.5rem}
legend{padding:0;margin-bottom:.4rem}
details{margin:0 0 1.5rem}
summary{cursor:pointer;text-decoration:underline;text-underline-offset:.2em}
details form{margin-top:1.25rem}
.err{color:#8c2626}
.err:empty{display:none}
.fine{font-size:.9rem;line-height:1.5}

.ledger{width:100%;border-collapse:collapse}
.ledger td{padding:.1rem 0;vertical-align:top}
.ledger td:last-child{text-align:right;padding-left:1rem;white-space:nowrap}
.plain{margin:0 0 1rem;padding:0;list-style:none}
.plain li{margin-bottom:.75rem}

.exhibit{margin-bottom:2rem}
.doc{white-space:pre-wrap;margin:.75rem 0 0}
.doc.space{margin-bottom:3rem}
.doc img{display:block;max-width:100%;height:auto}
.row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
footer{margin-top:4rem;font-size:.9rem}

.task{padding:.75rem 0}
.gap{display:flex;gap:.5rem;flex-wrap:wrap}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.poster{padding:2rem 0}
.poster img{width:min(70vw,20rem);display:block;margin:2rem 0}
hr{border:0;margin:2rem 0}
@media print{.noprint{display:none}}
@media (prefers-reduced-motion:reduce){.written{animation:none}}
