:root{--bg:#04091F;--panel:#0B1233;--ink:#E9EDF8;--ink2:#C3CAE0;--ink3:#8E97B8;--rule:#2C3560;--rule-light:#1B2348;--link:#8FB8FF;--accent:#3ED6C0;--accent-bg:#0F3A3A;--warn:#E9A24B;--warn-bg:#3C2A12;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--serif:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;--sans:"Source Sans 3",system-ui,"Helvetica Neue",Arial,sans-serif;--code-bg:#0A1030;--code-ink:#CBD5E1;--code-key:#93C5FD;--code-str:#A5D6B0;--code-punct:#8A95B8;--cat-discover-dark:#5888F0;--cat-identify-dark:#9E6DF2;--cat-permit-dark:#E25393;--cat-read-dark:#099DC1;--cat-act-dark:#17A74C;--cat-coordinate-dark:#CA8A04;--cat-pay-dark:#F35C0E;--cat-present-dark:#0EA295;--cat-account-dark:#E55656;--cat-discover:#5888F0;--cat-discover-tint:#13213A;--cat-discover-ink:#5888F0;--cat-identify:#9E6DF2;--cat-identify-tint:#211A3A;--cat-identify-ink:#9E6DF2;--cat-permit:#E25393;--cat-permit-tint:#301727;--cat-permit-ink:#E25393;--cat-read:#099DC1;--cat-read-tint:#0F2831;--cat-read-ink:#099DC1;--cat-act:#17A74C;--cat-act-tint:#112B20;--cat-act-ink:#17A74C;--cat-coordinate:#CA8A04;--cat-coordinate-tint:#2E2715;--cat-coordinate-ink:#CA8A04;--cat-pay:#F35C0E;--cat-pay-tint:#331F16;--cat-pay-ink:#F35C0E;--cat-present:#0EA295;--cat-present-tint:#10282A;--cat-present-ink:#0EA295;--cat-account:#E55656;--cat-account-tint:#2B1519;--cat-account-ink:#E55656}
/* dark-only by design (2026-09-07): the navy starfield of the brand poster is the page. */
body{background-color:var(--bg);background-image:url(/static/brand/stars.png),radial-gradient(ellipse at 20% 0%,#0E1640 0%,var(--bg) 55%),linear-gradient(#04091F,#02061A);background-attachment:fixed;background-size:640px 640px,auto,auto}
*{box-sizing:border-box}
.hidden{display:none}
/* the header is sticky: keep anchor targets (#ref-n, /news/#item-…) clear of it */
html{scroll-padding-top:96px}
:target,[id]{scroll-margin-top:96px}
body{margin:0;color:var(--ink);font:15px/1.6 var(--sans)}
main{max-width:1040px;margin:0 auto;padding:20px 20px 64px}
a{color:var(--link)}
.top{position:sticky;top:0;z-index:20;display:flex;gap:24px;align-items:center;justify-content:space-between;
 padding:10px 20px;border-bottom:1px solid var(--rule);background:rgba(6,11,38,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.top nav{display:flex;flex-wrap:wrap;gap:16px;font-size:13px}
.top a{color:var(--ink);text-decoration:none}.top nav a:hover{text-decoration:underline}
.brand{display:inline-flex;align-items:center;gap:9px;font-family:var(--serif);font-weight:600;font-size:19px;letter-spacing:-.01em}
.brand .dot{color:var(--cat-present);font-weight:400}
@media (max-width:640px){.top{flex-wrap:wrap;gap:8px}.brand{font-size:17px}}

h1,h2,h3{text-wrap:balance;font-variation-settings:"SOFT" 30}
h1{font-family:var(--serif);font-size:40px;font-weight:400;line-height:1.12;letter-spacing:-.01em;margin:18px 0 8px;border-bottom:1px solid var(--rule-light);padding-bottom:8px}
h1 small{color:var(--ink3);font-size:.5em;font-family:var(--sans);margin-left:8px}
h2{font-family:var(--serif);font-size:26px;font-weight:400;line-height:1.2;margin:30px 0 10px;border-bottom:1px solid var(--rule-light);padding-bottom:5px}
h3{font-family:var(--serif);font-size:19px;font-weight:600;margin:18px 0 5px}

.crumbs{font-size:12.5px;color:var(--ink3);margin-bottom:6px}
footer{border-top:1px solid var(--rule-light);padding:16px 20px;font-size:12px;color:var(--ink3);background:var(--panel)}

/* infobox */
.infobox{float:right;width:22em;margin:0 0 12px 16px;border:1px solid var(--rule);background:var(--panel);font-size:13px}
.infobox table{width:100%;border-collapse:collapse}
.infobox th{background:var(--rule-light);font-family:var(--serif);font-size:16px;font-weight:400;padding:8px;text-align:center}
.infobox td{border-top:1px solid var(--rule-light);padding:5px 8px;vertical-align:top}
.infobox td:first-child{color:var(--ink3);width:9em;font-weight:600;font-size:12px}
@media (max-width:640px){.infobox{float:none;width:100%;margin:0 0 16px}}

.lead{max-width:70ch}
section{max-width:70ch;clear:none}
section.lead,section:has(h2){clear:left}
p.q{font-size:16px}
.analog{color:var(--ink3);font-family:var(--mono);font-size:12px}
.q .analog{margin-left:8px}
dl{display:grid;grid-template-columns:140px 1fr;gap:4px 12px}dt{color:var(--ink3)}dd{margin:0}
pre.probe{background:var(--panel);border:1px solid var(--rule-light);padding:10px;font:12px/1.5 var(--mono);overflow-x:auto;max-width:70ch}
.none{color:var(--ink3);font-style:italic}
.dispute{background:var(--warn-bg);color:var(--warn);padding:8px 12px;border-radius:2px;max-width:70ch}
.ev{font-family:var(--mono);font-size:10.5px;padding:1px 5px;border:1px solid var(--rule-light);border-radius:2px;background:var(--accent-bg);color:var(--accent)}
.machine{font-size:12px;color:var(--ink3)}

/* references */
section h2 + ol,section:has(h2:only-of-type) ol{font-size:13px}
ol{font-size:13px;line-height:1.6;padding-left:1.6em}
ol li{margin-bottom:4px}

table{border-collapse:collapse;width:100%;font-size:13px}
th,td{border-bottom:1px solid var(--rule-light);padding:6px 8px;text-align:left;vertical-align:top}
th{background:var(--panel);position:sticky;top:0}
td.m,th.m{font-family:var(--mono);font-size:12px;white-space:nowrap}
.scroll{overflow-x:auto}
tr.deprecated{opacity:.6}

.lede{max-width:640px}
ul.children li.child{border-left:2px solid var(--rule-light);padding-left:8px}
.group-heading{display:block;font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3);margin-top:6px}

/* ---- category identity */
.cat-discover{--cat:var(--cat-discover);--cat-tint:var(--cat-discover-tint);--cat-ink:var(--cat-discover-ink);--cat-dark:var(--cat-discover-dark)}
.cat-identify{--cat:var(--cat-identify);--cat-tint:var(--cat-identify-tint);--cat-ink:var(--cat-identify-ink);--cat-dark:var(--cat-identify-dark)}
.cat-permit{--cat:var(--cat-permit);--cat-tint:var(--cat-permit-tint);--cat-ink:var(--cat-permit-ink);--cat-dark:var(--cat-permit-dark)}
.cat-read{--cat:var(--cat-read);--cat-tint:var(--cat-read-tint);--cat-ink:var(--cat-read-ink);--cat-dark:var(--cat-read-dark)}
.cat-act{--cat:var(--cat-act);--cat-tint:var(--cat-act-tint);--cat-ink:var(--cat-act-ink);--cat-dark:var(--cat-act-dark)}
.cat-coordinate{--cat:var(--cat-coordinate);--cat-tint:var(--cat-coordinate-tint);--cat-ink:var(--cat-coordinate-ink);--cat-dark:var(--cat-coordinate-dark)}
.cat-pay{--cat:var(--cat-pay);--cat-tint:var(--cat-pay-tint);--cat-ink:var(--cat-pay-ink);--cat-dark:var(--cat-pay-dark)}
.cat-present{--cat:var(--cat-present);--cat-tint:var(--cat-present-tint);--cat-ink:var(--cat-present-ink);--cat-dark:var(--cat-present-dark)}
.cat-account{--cat:var(--cat-account);--cat-tint:var(--cat-account-tint);--cat-ink:var(--cat-account-ink);--cat-dark:var(--cat-account-dark)}
.chip{display:inline-block;font:600 11px/1.5 var(--sans);letter-spacing:.06em;text-transform:uppercase;
 padding:1px 7px;border-radius:2px;background:var(--cat-tint);color:var(--cat-ink);
 border:1px solid var(--cat);text-decoration:none;white-space:nowrap;vertical-align:2px}
a.chip:hover{text-decoration:underline}
.lead .chip{margin-right:8px}
.cat-h1{border-bottom:4px solid var(--cat);padding-bottom:8px}
.cat-eyebrow{margin:0 0 2px}
.infobox-band{background:var(--cat-tint);border-bottom:1px solid var(--cat);padding:7px 9px;
 font:600 11px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--cat-ink)}
.infobox-band a{color:inherit;text-decoration:none}
.infobox-band a:hover{text-decoration:underline}
.records .chip,.map-cat .chip{vertical-align:0}

/* ---- home: browse by category */
.browse{margin:0}
.browse h2{border:none;padding:0;margin:0 0 4px}
.browse .browse-note{color:var(--ink3);font-size:13px;margin:0 0 18px}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}
.cat-button{display:block;text-decoration:none;color:var(--ink);background:var(--cat-tint);
 border:1px solid var(--rule-light);border-left:4px solid var(--cat);border-radius:3px;padding:11px 14px}
.cat-button:hover{border-color:var(--cat);border-left-color:var(--cat)}
.cat-button .n{font-family:var(--mono);font-size:11px;color:var(--cat-ink);margin-right:7px}
.cat-button .name{font-family:var(--serif);font-size:19px;font-weight:600}
.cat-button .q{display:block;margin-top:2px;font-size:12.5px;color:var(--ink2)}
.cat-all{display:inline-block;margin-top:14px;font-size:14px}
@media (max-width:860px){.cat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.cat-grid{grid-template-columns:1fr}}

/* ---- home: two-column intro with the JSON panel */
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:34px;align-items:start;margin:0}
.intro .prose{max-width:60ch}
.intro .prose p{margin:0 0 14px}
.json-card{margin:0}
.json-head{display:flex;align-items:center;gap:8px;background:var(--code-bg);color:#94A3B8;
 border-radius:3px 3px 0 0;padding:8px 12px;font:11.5px/1.4 var(--mono);letter-spacing:.02em}
.json-head .verb{color:#F8FAFC;font-weight:700}
pre.json-panel{margin:0;background:var(--code-bg);color:var(--code-ink);border-radius:0 0 3px 3px;
 padding:12px 14px;font:12px/1.45 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;max-width:none}
.json-panel .k{color:var(--code-key)}
.json-panel .s{color:var(--code-str)}
.json-panel .p{color:var(--code-punct)}
.json-panel .c{color:var(--code-punct);font-style:italic}
.json-panel .cat-value{color:var(--cat-dark,var(--code-str))}
.json-note{margin:10px 0 0;font-size:12.5px;color:var(--ink3)}
@media (max-width:860px){.intro{grid-template-columns:1fr;gap:22px}}

/* ---- vertical rhythm on the home page */
.home-section{margin:56px 0 0;padding:56px 0 0;border-top:1px solid var(--rule-light);max-width:none}
.home-section:first-of-type{margin-top:0;padding-top:0;border-top:none}

/* article category/list pages */
ul.articles{list-style:none;margin:0;padding:0}
ul.articles > li{padding:4px 0;border-bottom:1px solid var(--rule-light)}
ul.articles ul.children{list-style:none;margin:4px 0 4px 18px;padding:0}
ul.articles li.child{border-left:2px solid var(--rule-light);padding-left:8px}
ul.articles li.group{border-bottom:none}

/* ---- home: ticker */
.ticker{overflow:hidden;border-bottom:1px solid var(--rule-light);margin:-20px -20px 22px;padding:7px 0;background:var(--panel)}
.ticker-track{display:flex;gap:34px;white-space:nowrap;width:max-content;animation:ticker 90s linear infinite}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker a{color:var(--ink2);text-decoration:none;font-size:12.5px}
.ticker a:hover{text-decoration:underline}
.ticker .m{font-family:var(--mono);font-size:11px;color:var(--ink3);margin-right:6px}
.ticker .tick-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cat,var(--rule));margin-right:7px;vertical-align:1px}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
 .ticker{overflow-x:auto}
 .ticker-track{animation:none;width:auto}
 .ticker-track a[aria-hidden="true"]{display:none}
}

/* ---- home: hero */
.hero{max-width:none;margin:0;border:none}
.hero-row>div{max-width:60ch}
.hero h1{font-size:40px;border:none;margin:0 0 4px;padding:0}
.tagline{font-family:var(--serif);font-size:23px;font-weight:400;color:var(--ink2);margin:0 0 20px;text-wrap:balance}
form.search{position:relative;display:flex;gap:8px;max-width:46em}
form.search input[type=search]{flex:1;font:15px/1.4 var(--sans);color:var(--ink);background:var(--bg);
 border:1px solid var(--rule);border-radius:3px;padding:9px 11px}
form.search input[type=search]:focus{outline:2px solid var(--accent);outline-offset:-1px}
form.search button{font:14px var(--sans);border:1px solid var(--accent);background:var(--accent);color:#fff;
 border-radius:3px;padding:9px 16px;cursor:pointer}
.search-results{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:5;list-style:none;margin:0;padding:0;
 background:var(--bg);border:1px solid var(--rule);border-radius:3px;box-shadow:0 6px 20px rgba(0,0,0,.10);font-size:14px}
.search-results li{display:flex;justify-content:space-between;gap:12px;padding:7px 11px;border-bottom:1px solid var(--rule-light)}
.search-results li:last-child{border-bottom:none}
.search-results .m{font-family:var(--mono);font-size:11px;color:var(--ink3);white-space:nowrap}
.hero-buttons{display:flex;gap:10px;margin:16px 0 0}
.btn{display:inline-block;text-decoration:none;font-size:14px;padding:8px 16px;border-radius:3px;
 border:1px solid var(--accent);background:var(--accent);color:#fff}
.btn:hover{opacity:.9}
.btn-quiet{background:transparent;color:var(--link);border-color:var(--rule)}

/* ---- home: preview columns */
.previews{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:0}
.previews .preview{max-width:none}
.previews h2{font-size:17px;border:none;border-top:2px solid var(--rule);padding:8px 0 0;margin:0 0 8px}
.previews h2 a{color:var(--ink);text-decoration:none}
.previews ul{list-style:none;margin:0;padding:0;font-size:13.5px}
.previews li{padding:3px 0;border-bottom:1px solid var(--rule-light)}
.previews .m{font-family:var(--mono);font-size:11px;color:var(--ink3)}
.previews .more{font-size:12.5px;margin:8px 0 0}
@media (max-width:760px){.previews{grid-template-columns:1fr}}

/* ---- home: newsletter */
.newsletter{max-width:none;background:var(--panel);border:1px solid var(--rule-light);border-radius:3px;
 padding:20px 22px}
.newsletter h2{border:none;margin:0 0 4px;padding:0}
.newsletter p{margin:0 0 12px;color:var(--ink2)}
.newsletter form{display:flex;gap:8px;max-width:34em}
.newsletter input[type=email]{flex:1;font:15px var(--sans);color:var(--ink);background:var(--bg);
 border:1px solid var(--rule);border-radius:3px;padding:9px 11px}
.newsletter button{font:14px var(--sans);border:1px solid var(--accent);background:var(--accent);color:#fff;
 border-radius:3px;padding:9px 16px;cursor:pointer}

/* ---- resources / instances / news lists */
ul.records{list-style:none;margin:0 0 18px;padding:0;max-width:70ch}
ul.records > li{padding:10px 0;border-bottom:1px solid var(--rule-light)}
ul.records > li > a{font-weight:600}
ul.records p{margin:3px 0 0}
ul.records .meta{font-size:12.5px;color:var(--ink3)}
ul.records .meta a{color:var(--link)}
p.meta{font-size:12.5px;color:var(--ink3)}
/* ---- instances: tight card grid */
.inst-grid{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.inst-card{display:flex;flex-direction:column;gap:3px;padding:9px 11px 10px;background:var(--panel);border:1px solid var(--rule-light);border-top:2px solid var(--cat,var(--rule));border-radius:3px;font-size:13px;line-height:1.45;min-width:0}
.inst-head{display:flex;justify-content:space-between;align-items:center;gap:6px}
.inst-date{font-size:11px;color:var(--ink3);white-space:nowrap}
.inst-name{font-weight:600;color:var(--ink);text-decoration:none;overflow-wrap:anywhere}
.inst-name:hover{text-decoration:underline}
.inst-note{margin:0;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.inst-meta{margin:auto 0 0;padding-top:4px;font-size:11.5px;color:var(--ink3);overflow-wrap:anywhere}
.inst-meta a{color:var(--link)}
@media (max-width:900px){.inst-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.inst-grid{grid-template-columns:1fr}}
@media (max-width:640px){h1,.hero h1{font-size:31px}h2{font-size:22px}form.search{flex-wrap:wrap}}
.brand-img{display:block;height:30px;width:auto;border-radius:3px}
.hero-row{display:flex;align-items:center;gap:36px}
.hero-mark{display:flex;flex-direction:column;align-items:center;gap:6px;flex:none}
.hero-img{width:300px;height:auto;display:block;border-radius:6px}
.hero-wordmark{font-family:var(--serif);font-weight:600;font-size:28px;letter-spacing:-.01em;color:var(--ink)}
.hero-wordmark .dot{color:var(--cat-present);font-weight:400}
.hero h1 .hl{color:var(--accent);font-weight:600}
.home-two{max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:28px 0 26px;padding-top:32px;border-top:1px solid var(--rule-light)}
.home-two .col{border-top:2px solid var(--ink);padding-top:12px;display:flex;flex-direction:column;gap:10px}
.home-two .col-probe{border-top-color:var(--cat-present)}
.home-two h2{margin:0;border:0;padding:0;font-size:22px;font-weight:600}
.probe-example{margin:0;background:var(--code-bg);color:var(--code-ink);font-family:var(--mono);font-size:12.5px;line-height:1.5;padding:12px 14px;border-radius:2px;overflow-x:auto}
.probe-rule{background:var(--panel);border:1px solid var(--rule-light);padding:10px 12px;font-family:var(--mono);font-size:12.5px;overflow-x:auto}
@media (max-width:760px){.hero-row{flex-direction:column;align-items:flex-start;gap:16px}.hero-img{width:220px}.home-two{grid-template-columns:1fr}}
