@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/archivo-latin.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format('woff2')}
:root{
  --ui:Archivo,system-ui,-apple-system,'Segoe UI',sans-serif;--display:var(--ui);--mono:'JetBrains Mono',ui-monospace,monospace;
  --paper:#f5f7f8;--surface:#ffffff;--sunken:#edf1f3;--ink:#18252b;--ink-2:#485b65;--ink-3:#60717a;
  --line:#dce4e8;--line-2:#bac8cf;--accent:#16634f;--accent-hover:#104d3e;--accent-text:#ffffff;--accent-wash:#e5f2ed;
  --live:#16634f;--live-wash:#e5f2ed;--sig:#825409;--sig-wash:#fff5df;--bad:#af302e;--bad-wash:#fceeed;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;
  --text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:20px;--text-title:32px;
  --radius:8px;--gutter:32px;--qr-size:236px;color-scheme:light;
}
:root[data-theme=dark]{
  --paper:#11191d;--surface:#192329;--sunken:#202e35;--ink:#edf3f5;--ink-2:#b5c5cd;--ink-3:#98abb5;
  --line:#304149;--line-2:#536973;--accent:#86d5b7;--accent-hover:#a2e3cb;--accent-text:#10291f;--accent-wash:#203c32;
  --live:#86d5b7;--live-wash:#203c32;--sig:#ecc179;--sig-wash:#3a2d19;--bad:#ffaaa2;--bad-wash:#3e2526;color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:var(--text-sm);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ol,ul,dl,dd{margin:0}
h1,h2,h3{font-weight:600;line-height:1.3;letter-spacing:-.025em;text-wrap:balance}
h1{font-size:var(--text-title)}h2{font-size:var(--text-lg)}h3{font-size:var(--text-base)}
p{max-width:70ch}ul,ol{padding:0;list-style:none}a{color:inherit;text-underline-offset:4px}
strong{font-weight:600}code,kbd,pre{font-family:var(--mono);font-size:var(--text-xs)}
code{background:var(--sunken);border:1px solid var(--line);border-radius:4px;padding:2px 6px;overflow-wrap:anywhere}
button,input,select,textarea{font:inherit;color:inherit}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:500;line-height:1.4;cursor:pointer;text-decoration:none;transition:background 120ms,border-color 120ms}
.button:hover:not(.disabled),button:hover:not(:disabled){background:var(--sunken);border-color:var(--ink-3)}
button:disabled,.disabled{opacity:.5;cursor:not-allowed}
.button.primary,button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}
.button.primary:hover:not(.disabled),button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}
.quiet{background:transparent;border-color:transparent;color:var(--ink-2)}
.quiet:hover:not(:disabled){border-color:transparent;background:var(--sunken);color:var(--ink)}
.danger{color:var(--bad)}.danger:hover:not(:disabled){background:var(--bad-wash);border-color:var(--bad)}
.small{min-height:36px;padding:6px 12px;font-size:var(--text-sm)}
input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--line-2);border-radius:var(--radius);background:var(--surface);line-height:1.4}
input::placeholder,textarea::placeholder{color:var(--ink-3)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;accent-color:var(--accent);flex:none}
.label-mono,.kicker,.micro{font-family:var(--ui);font-size:var(--text-sm);letter-spacing:0;text-transform:none;color:var(--ink-2)}
.label-mono{font-weight:500;color:var(--ink)}.muted{color:var(--ink-2)}
.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--ui);font-size:24px;line-height:1;font-weight:700;letter-spacing:-.06em;text-decoration:none}
.brand-mark{display:grid;place-items:center;color:var(--accent)}.brand svg{flex:none}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.notice{padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);margin-bottom:24px;overflow-wrap:anywhere}
.notice.bad{border-color:var(--bad);background:var(--bad-wash);color:var(--bad)}
.notice.good{border-color:var(--live);background:var(--live-wash)}
.empty{padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--sunken);color:var(--ink-2)}
.check{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink-2);cursor:pointer}
.check input{margin:2px 0 0}.check strong{color:var(--ink)}
.check .hint{font-style:normal;color:var(--ink-3)}
.skip-link{position:fixed;left:16px;top:-100px;z-index:10;background:var(--surface);padding:12px 20px;border:2px solid var(--accent);border-radius:var(--radius)}.skip-link:focus{top:16px}
@media(max-width:600px){:root{--gutter:20px;--text-title:28px;--qr-size:200px}.button,button,.small{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
