@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans.woff2) format("woff2");font-weight:400 700;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--accent:#C9E36B;--ink:#17181A;--ground:#FBF9F4;--muted:#3C3F44;--green:#2F7A4C}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);font:400 18px/1.55 "Instrument Sans",system-ui,sans-serif}
a{color:var(--ink)}a:hover{color:var(--green)}

/* consent banner (all pages) */
.nt-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:760px;margin:0 auto;background:var(--ink);color:var(--ground);
  border-radius:20px;padding:18px 20px;display:flex;gap:16px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap;
  font:400 15px/1.5 "Instrument Sans",system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.nt-consent[hidden]{display:none}
.nt-consent p{margin:0;flex:1 1 320px}
.nt-consent a{color:var(--accent)}
.nt-consent-actions{display:flex;gap:10px}
.nt-consent button{font:inherit;font-weight:600;padding:10px 20px;border-radius:999px;cursor:pointer;border:2px solid var(--ground);background:transparent;color:var(--ground)}
.nt-consent button[data-a="1"]{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.nt-consent button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* sub pages: footer always at the bottom */
.pg-body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
.pg-body main.pg{flex:1 0 auto;width:100%}
.pg-head{width:100%}
.pg-head{max-width:860px;margin:0 auto;padding:28px 24px;display:flex;justify-content:space-between;align-items:baseline}
.pg-logo{font-weight:700;font-size:30px;letter-spacing:-.03em;text-decoration:none}
.pg-logo span{color:var(--accent);-webkit-text-stroke:0}
.pg-back{font-size:15px;text-decoration:none;font-weight:600}
main.pg{max-width:860px;margin:0 auto;padding:40px 24px 96px}
.pg .eyebrow{margin:0 0 12px;font:500 14px/1.4 "JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.pg h1{margin:0 0 12px;font-size:clamp(40px,6vw,64px);line-height:1;letter-spacing:-.035em}
.pg .updated{margin:0 0 48px;font:400 14px "JetBrains Mono",monospace;color:var(--muted)}
.pg h2{margin:48px 0 12px;font-size:26px;letter-spacing:-.02em;line-height:1.15}
.pg p,.pg li{color:var(--muted)}
.pg ul{padding-left:20px}
.pg table{width:100%;border-collapse:collapse;font-size:15px;margin:12px 0}
.pg th,.pg td{text-align:left;vertical-align:top;padding:12px 10px 12px 0;border-bottom:1px solid #E4E1D9}
.pg th{font-weight:600;color:var(--ink)}
.pg .todo{background:var(--accent);color:var(--ink);padding:0 4px;border-radius:3px}
.pg .btn{display:inline-block;margin-top:8px;text-decoration:none;background:var(--accent);color:var(--ink);font-weight:600;padding:14px 24px;border-radius:999px;border:2px solid var(--ink);cursor:pointer;font-size:16px}
.pg-foot{border-top:2px solid var(--ink);padding:32px 24px}
.pg-foot div{max-width:860px;margin:0 auto;display:flex;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;font-size:14px;color:var(--muted)}
.pg-foot nav{display:flex;gap:20px;flex-wrap:wrap}
.pg-foot a{text-decoration:none}
@media (max-width:640px){.pg table,.pg thead,.pg tbody,.pg tr,.pg th,.pg td{display:block}.pg thead{display:none}.pg td{border:0;padding:2px 0}.pg tr{border-bottom:1px solid #E4E1D9;padding:10px 0}}
