@font-face{font-family:Atkinson Hyperlegible Next;src:url(/fonts/atkinson-next.woff2)format("woff2");font-weight:200 800;font-display:swap}@font-face{font-family:Young Serif;src:url(/fonts/young-serif.woff2)format("woff2");font-weight:400;font-display:swap}:root{--ink:#18211d;--muted:#56615b;--line:#dce1dd;--bg:#f4f6f4;--card:#fff;--accent:#1f5a43;--accent-hover:#174634;--accent-ink:#fff;--accent-soft:#e3eee8;--slip:#f3efe4;--brass:#b8913f;--danger:#a3261b;--danger-soft:#fbeae8;--ok:#1f5a43;--radius:10px;--radius-sm:6px;--shadow:0 1px 2px #18211d0f, 0 4px 16px #18211d0d;--serif:"Young Serif", Georgia, serif;color:var(--ink);background:var(--bg);font-family:Atkinson Hyperlegible Next,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:18px;line-height:1.5}*{box-sizing:border-box}body{background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}main{max-width:960px;margin:0 auto;padding:16px}h1,h2,h3{font-family:var(--serif);letter-spacing:-.005em;font-weight:400;line-height:1.2}h1{margin:.5rem 0 1.25rem;font-size:1.9rem}h2{margin:1.75rem 0 .75rem;font-size:1.3rem}h3{margin:0 0 .5rem;font-size:1.1rem}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}.muted{color:var(--muted)}:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:16px;padding:20px}.card>h2:first-child{margin-top:0}button,.button{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-ink);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 18px;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s;display:inline-flex}button:hover,.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-ink)}button.secondary,.button.secondary{background:var(--card);color:var(--ink);border-color:var(--line)}button.secondary:hover,.button.secondary:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-hover)}button.danger{background:var(--card);color:var(--danger);border-color:#e6c3bf}button.danger:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.6;cursor:default}label{margin:14px 0 6px;font-weight:600;display:block}label.inline{align-items:center;gap:10px;font-weight:400;display:flex}input,select,textarea{font:inherit;border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #c9d0cb;padding:8px 12px}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:24px;accent-color:var(--accent);box-shadow:none;flex:none;padding:0}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row>*{flex:160px;min-width:0}.row>button{flex:none}.actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.msg{border-radius:var(--radius-sm);background:var(--card);border-left:4px solid;margin:12px 0;padding:12px 16px}.msg.ok{background:var(--accent-soft);color:var(--ok)}.msg.error{background:var(--danger-soft);color:var(--danger)}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--line);padding:14px 0}.list>li:first-child{border-top:0;padding-top:0}.list>li:last-child{padding-bottom:0}.tag{background:var(--accent-soft);color:var(--accent-hover);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-top:1px solid var(--line);vertical-align:top;padding:10px 8px}th{color:var(--muted);border-top:0;font-weight:600}.brand{color:var(--ink);font-family:var(--serif);align-items:center;gap:6px;font-size:1.3rem;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand svg{flex:none;width:28px;height:28px}.brand img{flex:none}.brand.on-dark,.brand.on-dark:hover{color:var(--accent-ink)}.brand.on-dark img{background:var(--slip);border-radius:var(--radius-sm)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
