@font-face{font-family:Aeonik;src:url("/font/aeonik-300.woff2")format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Aeonik;src:url("/font/aeonik-400.woff2")format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Aeonik;src:url("/font/aeonik-500.woff2")format("woff2");font-weight:500;font-style:normal;font-display:swap}
:root{color-scheme:light;--ink:#181818;--ink-muted:#5a5f5c;--ink-faint:#6b706d;--surface:#fff;--surface-warm:#f7f6ef;
--green:#126b4e;--green-hover:#0e5a41;--green-tint:#e9f0ec;--line:#e4e4e4;--line-strong:#c9ccc8;--error:#a32f1f;--error-tint:#fdf6f5;
--font:Aeonik,Arial,sans-serif;--t-h1:clamp(1.625rem,1.2rem + 1.5vw,2.125rem);--t-h2:clamp(1.25rem,1.1rem + .7vw,1.5rem);
--t-body:1.125rem;--t-small:1rem;--t-caption:.875rem;--r-card:.625rem;--r-section:1.25rem;--r-pill:2.5rem;--gutter:clamp(1rem,4vw,2.5rem)}
*{box-sizing:border-box}
body{margin:0;background:var(--surface-warm);color:var(--ink);font-family:var(--font);font-size:var(--t-body);line-height:1.55;letter-spacing:-.006em;-webkit-font-smoothing:antialiased}
:is(button,input){letter-spacing:normal;font:inherit}
.bar{padding:1.25rem var(--gutter);border-bottom:1px solid var(--line);background:var(--surface)}
.mark{font-weight:500;font-size:1.125rem;letter-spacing:-.018em}
main{max-width:40rem;margin:0 auto;padding:2.5rem var(--gutter) 4rem}
h1{font-size:var(--t-h1);font-weight:300;line-height:1.12;letter-spacing:-.025em;margin:0 0 .75rem}
.lede{color:var(--ink-muted);margin:0 0 2rem;line-height:1.45}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-section);padding:2rem 1.5rem;margin:0 0 1.5rem}
.card[hidden]{display:none}
.card h2{font-size:var(--t-h2);font-weight:500;line-height:1.12;letter-spacing:-.018em;margin:0 0 .5rem}
.cdesc{color:var(--ink-muted);margin:0 0 1.5rem;line-height:1.45}
.cdesc a,.foot a{color:var(--green);text-underline-offset:2px}
.q{margin:0 0 1.25rem}
label{display:block;font-size:var(--t-small);font-weight:500;margin-bottom:.5rem}
input[type=text]{display:block;width:100%;max-width:16rem;font-size:1.25rem;letter-spacing:.12em;padding:.75rem .875rem;border:1px solid var(--line-strong);border-radius:var(--r-card);background:var(--surface)}
input[type=text]:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}
input[type=file]{font-size:var(--t-small);max-width:100%}
.btn{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:var(--r-pill);padding:.8rem 1.5rem;font-size:var(--t-small);font-weight:500;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--green-hover)}
.btn[disabled]{opacity:.6;cursor:default}
.link{background:none;border:0;color:var(--green);text-decoration:underline;text-underline-offset:2px;cursor:pointer;font-size:var(--t-small);margin-left:1rem;padding:0}
.hint{color:var(--ink-faint);font-size:var(--t-caption);margin:.5rem 0 0}
.msg{margin:1rem 0 0;font-size:var(--t-small)}
.msg:empty{display:none}
.msg.bad{color:var(--error);background:var(--error-tint);border-radius:var(--r-card);padding:.75rem 1rem}
.msg.good{color:var(--green);background:var(--green-tint);border-radius:var(--r-card);padding:.75rem 1rem}
.files{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.files li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.fname{font-weight:500;overflow-wrap:anywhere}
.fmeta{display:block;color:var(--ink-faint);font-size:var(--t-caption);font-weight:400}
.files .btn{padding:.6rem 1.1rem;flex:none}
.foot{color:var(--ink-faint);font-size:var(--t-caption);margin-top:2.5rem}
@media (max-width:30rem){.files li{flex-direction:column;align-items:flex-start}.link{margin:1rem 0 0;display:block}}