
@font-face{font-family:Archivo;font-style:normal;font-weight:500 900;font-stretch:62% 125%;font-display:swap;src:url(/nexus/fonts/archivo-500-900-latin.v25.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/nexus/fonts/ibm-plex-sans-400-latin.v23.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/nexus/fonts/ibm-plex-sans-600-latin.v23.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/nexus/fonts/ibm-plex-mono-400-latin.v20.woff2) format('woff2')}
:root{color-scheme:light;--ground:#EDF0F3;--surface:#F9FAFB;--ink:#141C28;--muted:#4A5566;--rule:#CCD4DF;--accent:#8A4B04;--wash:#F7E9D6;--teal:#17564F;--teal-wash:#DDEFEC;--display:Archivo,system-ui,sans-serif;--body:'IBM Plex Sans',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,monospace}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--ground:#0E141C;--surface:#141C27;--ink:#E4E9EF;--muted:#A3ADBA;--rule:#304055;--accent:#F4B360;--wash:#2A2217;--teal:#7ED3C6;--teal-wash:#14302C}}
*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--ink);font:16px/1.6 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--accent)}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}code{font:0.88em var(--mono);overflow-wrap:anywhere}
.wrap,.ld-foot{width:min(1080px,calc(100% - 40px));margin-inline:auto}
.wrap{display:grid;gap:48px;padding-block:48px}.head{display:grid;gap:18px}
.eyebrow,.label{font:400 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
h1{max-width:16ch;font:850 clamp(40px,6.5vw,78px)/1 var(--display);letter-spacing:-.025em;font-stretch:115%}
.lede{max-width:72ch;color:var(--muted);font-size:18px}
section{display:grid;gap:20px}h2{font:760 clamp(25px,3vw,34px)/1.15 var(--display);font-stretch:110%}
h3{font:720 20px/1.25 var(--display)}.sub{max-width:76ch;color:var(--muted)}
.architecture{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:24px;align-items:start}
.path{min-width:0;display:grid;gap:0}.app{padding:18px 20px;background:var(--surface);border:1px solid var(--rule);border-radius:8px;display:grid;gap:6px}
.app p,.db-note{color:var(--muted);font-size:14px}.access{font:400 13px/1.7 var(--mono);color:var(--accent)}.hermes .access{color:var(--teal)}
.connection{padding:12px 20px;display:flex;align-items:center;gap:12px;color:var(--muted);font:400 12px/1.4 var(--mono)}
.connection .arrow{font:28px/1 var(--body);color:var(--accent)}.hermes .arrow{color:var(--teal)}
.postgres{border:1px solid var(--accent);border-radius:10px;background:var(--surface);padding:20px;display:grid;gap:16px}.postgres>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.postgres>header h3{font-size:24px}.hermes .postgres{border-color:var(--teal)}
.database{padding:16px;border:1px solid var(--rule);border-radius:6px;background:var(--ground);display:grid;gap:12px}.database>h4{font:400 15px/1.5 var(--mono);margin:0}
.schema-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.schema{border:1px solid var(--rule);border-radius:5px;padding:12px;background:var(--surface);display:grid;align-content:start;gap:5px}
.schema code{font-size:13px}.schema span{font-size:13px;color:var(--muted)}.schema.prices{grid-column:1/-1;border-color:var(--teal);background:var(--teal-wash)}
.extension{margin-top:4px;border-top:1px solid var(--teal);padding-top:8px;display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.extension b{font-size:14px;color:var(--teal)}
.schema.ops{grid-column:1/-1}.other-dbs{display:flex;flex-wrap:wrap;gap:8px}.other-dbs span{border:1px solid var(--rule);border-radius:5px;padding:6px 9px;font-size:12px}
.storage-list{margin:0;padding:0;list-style:none;display:grid;gap:10px}.storage-list li{padding-bottom:10px;border-bottom:1px solid var(--rule);display:grid;gap:3px}.storage-list li:last-child{border:0;padding-bottom:0}.storage-list span{color:var(--muted);font-size:13px}
.explainers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.explainer{padding:22px;border:1px solid var(--rule);border-radius:8px;background:var(--surface);display:grid;gap:12px;align-content:start}.explainer p{color:var(--muted);font-size:15px}
.schema-table{width:100%;border-collapse:collapse;font-size:15px}.schema-table th,.schema-table td{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid var(--rule)}.schema-table thead th{color:var(--muted);font:400 11px/1.5 var(--mono);text-transform:uppercase;letter-spacing:.08em}.schema-table tbody th{width:24%;font-weight:400}.table-wrap{border:1px solid var(--rule);border-radius:8px;overflow:hidden;background:var(--surface)}.schema-table tbody tr:last-child>*{border:0}
.migrations{padding:24px;border-left:3px solid var(--accent);background:var(--wash);border-radius:0 8px 8px 0;display:grid;gap:10px}.migrations h3{font-size:22px}.migrations p{max-width:78ch}
.related{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px}.ld-foot{padding-block:0 32px;color:var(--muted);font:400 12px/1.6 var(--mono)}.ld-foot-in{border-top:1px solid var(--rule);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ld-nav{display:flex;flex-wrap:wrap;gap:4px 18px}.ld-nav a{font:400 13px/1.5 var(--body);color:rgba(232,237,242,.76);text-decoration:none;white-space:nowrap}.ld-nav a:hover{color:#fff}.ld-nav a[aria-current=page]{color:#F2A43B}
@media(max-width:760px){.architecture,.explainers{grid-template-columns:minmax(0,1fr)}.wrap{gap:36px;padding-top:32px}.postgres{padding:16px}.schema-table th,.schema-table td{padding:12px}.ld-nav{min-width:0;flex-wrap:nowrap;overflow-x:auto;padding-right:24px;scrollbar-width:none}.ld-nav::-webkit-scrollbar{display:none}}
@media(max-width:380px){.schema-grid{grid-template-columns:minmax(0,1fr)}.schema{grid-column:1/-1}.database{padding:12px}.wrap,.ld-foot{width:calc(100% - 32px)}}


/* Site-wide bar, shared with the React pages (src/styles.css .site-bar): brand, main nav, then this section's pages. */
.ld-bar { display: block; position: sticky; top: 0; z-index: 10; padding: 12px var(--ld-gutter, clamp(16px, 4vw, 40px)) 10px; background: rgba(11, 22, 34, 0.96); color: #E8EDF2; border-bottom: 1px solid #1E2A3A; }
.ld-bar-in { max-width: var(--ld-max, 1160px); margin: 0 auto; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.ld-brand { display: flex; flex-direction: column; gap: 3px; letter-spacing: 0; text-transform: none; text-decoration: none; white-space: nowrap; }
.ld-brand b { font: 700 12.5px/1.2 "IBM Plex Sans", system-ui, sans-serif; letter-spacing: 0.18em; text-transform: uppercase; color: #FFFFFF; }
.ld-brand span { font: 400 14px/1.3 "IBM Plex Sans", system-ui, sans-serif; color: rgba(232, 237, 242, 0.72); }
.ld-main { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 22px; }
.ld-main a { font: 500 15px/1.4 "IBM Plex Sans", system-ui, sans-serif; color: rgba(232, 237, 242, 0.76); text-decoration: none; white-space: nowrap; }
.ld-main a:hover { color: #FFFFFF; }
.ld-main a[aria-current] { color: #F2A43B; }
.ld-sub { margin-top: 10px; padding-top: 8px; border-top: 1px solid rgba(232, 237, 242, 0.08); }
.ld-sub .ld-nav a { font-size: 13px; }
.ld-nav .ld-sep { flex: none; width: 1px; align-self: stretch; background: rgba(232, 237, 242, 0.2); }
.ld-bar a:focus-visible { outline: 2px solid #F2A43B; outline-offset: 2px; }
@media (max-width: 720px) {
  .ld-bar-in { flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 6px; }
  .ld-main { min-width: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; padding-right: 48px; -webkit-mask-image: linear-gradient(to right, #000 88%, transparent); mask-image: linear-gradient(to right, #000 88%, transparent); }
  .ld-main::-webkit-scrollbar { display: none; }
}


/* Deep-dive navigation and evidence. */
[hidden]{display:none!important}
.wrap{grid-template-columns:minmax(0,1fr)}
.table-hint{display:none;font-size:12px;color:var(--muted)}
html{scroll-padding-top:150px}
.head h1{max-width:22ch}
.principles{display:flex;flex-wrap:wrap;gap:8px}.principles span{font:400 12px/1.5 var(--mono);padding:7px 10px;border:1px solid var(--rule);border-radius:5px;color:var(--muted)}
.page-contents{display:flex;flex-wrap:wrap;gap:10px 24px;border-block:1px solid var(--rule);padding-block:20px}.page-contents a{font:400 12px/1.5 var(--mono);text-decoration:none}.page-contents a:hover{text-decoration:underline}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.detail-note,.measurement{font-size:14px;color:var(--muted);max-width:90ch}.measurement{font-size:12px}
.revision-strip{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--rule);border-radius:8px}.revision-strip>code{border:1px solid var(--accent);border-radius:4px;background:var(--wash);padding:8px 12px;color:var(--accent)}.revision-note{margin-left:auto;font-size:13px;color:var(--muted)}
.flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0}.flow-grid li{border:1px solid var(--rule);border-radius:8px;background:var(--surface);padding:20px;display:grid;align-content:start;gap:12px}.flow-grid h3{font-size:19px}.flow-grid p{font-size:14px;color:var(--muted)}.step{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--wash);color:var(--accent);font:400 13px var(--mono)}
.implementation{border-block:1px solid var(--rule);padding-block:16px;font-size:14px}.implementation summary{cursor:pointer;color:var(--accent);font-weight:600}.implementation p{margin-top:14px;max-width:85ch;color:var(--muted)}.implementation pre{padding:16px;border-radius:6px;overflow:auto;background:var(--surface);border:1px solid var(--rule);font-size:13px;line-height:1.8}
.clock-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.clock-grid article{display:grid;gap:10px;align-content:start;padding:20px;border:1px solid var(--rule);border-top:3px solid var(--teal);border-radius:6px;background:var(--surface)}.clock-grid code{font-size:12px;color:var(--teal)}.clock-grid p{font-size:14px;color:var(--muted)}
.pit-demo{border:1px solid var(--teal);border-radius:10px;padding:24px;background:var(--surface);display:grid;gap:20px}.pit-demo>header{display:grid;gap:10px}.pit-demo>header p{font-size:14px;max-width:78ch;color:var(--muted)}
.pit-controls{margin:0;padding:0;border:0;min-width:0}.pit-controls legend{font-size:14px;margin-bottom:10px}.date-options{display:flex;flex-wrap:wrap;gap:10px}.date-options label{display:flex;align-items:center;gap:7px;border:1px solid var(--rule);border-radius:5px;padding:8px 14px;cursor:pointer;font:400 13px var(--mono)}.date-options label:has(input:checked){color:var(--teal);border-color:var(--teal);background:var(--teal-wash)}.pit-controls input{accent-color:var(--teal)}.pit-controls input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.pit-table-wrap{overflow-x:auto}.pit-table{width:100%;min-width:570px;border-collapse:collapse;font-size:14px}.pit-table th,.pit-table td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--rule)}.pit-table thead th{font:400 11px/1.5 var(--mono);color:var(--muted);text-transform:uppercase}.pit-table tbody th{font-weight:600}.pit-table tbody tr:last-child>*{border-bottom:0}.selected-revision{background:var(--teal-wash)}.selected-revision .eligibility{color:var(--teal);font-weight:600}
.pit-result{padding:18px 20px;border-radius:6px;background:var(--teal-wash);border-left:3px solid var(--teal);display:grid;gap:5px}.pit-result strong{font:760 32px/1.2 var(--display);color:var(--teal)}.pit-result p{font-size:14px;max-width:80ch}.pit-result .label{color:var(--teal)}
.coverage-note{border-left:3px solid var(--accent);padding:20px 24px;background:var(--wash);border-radius:0 8px 8px 0;display:grid;gap:10px}.coverage-note h3{font-size:20px}.coverage-note p{font-size:14px}
.storage-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.storage-facts>div{border-top:2px solid var(--accent);padding-top:14px;display:grid;gap:6px}.storage-facts strong{font:750 25px/1.2 var(--display)}.storage-facts span{font-size:13px;color:var(--muted)}
.evidence{border-top:1px solid var(--rule);padding-top:20px;display:grid;gap:8px}.evidence p{font-size:12px;color:var(--muted);max-width:100ch}
@media(max-width:900px){.flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clock-grid{grid-template-columns:minmax(0,1fr)}.storage-facts strong{font-size:22px}}
@media(max-width:760px){.duo{grid-template-columns:minmax(0,1fr)}.revision-note{margin-left:0}.storage-facts{grid-template-columns:minmax(0,1fr)}.pit-demo{padding:16px;min-width:0}.pit-table-wrap{max-width:100%}.implementation pre{max-width:calc(100vw - 40px)}html{scroll-padding-top:155px}}
@media(max-width:440px){.flow-grid{grid-template-columns:minmax(0,1fr)}.revision-strip{gap:8px;padding:14px}.revision-strip>code{padding:6px;font-size:11px}.date-options label{padding:8px 10px}.schema-table{font-size:13px}.coverage-note{padding:18px}.pit-result{padding:14px}}
@media(max-width:760px){.table-hint{display:block}}
@media(max-width:440px){.head h1{font-size:clamp(32px,9.8vw,40px)}}

.query-fieldset{margin:0;padding:0;border:0;min-width:0}.query-fieldset+.query-fieldset{margin-top:20px}.query-fieldset legend .label{display:block;margin-top:3px}
