:root {
  --ej-bg: #111514;
  --ej-surface: #171d1b;
  --ej-surface-soft: #1d2522;
  --ej-ink: #edf0e8;
  --ej-muted: #aeb7ae;
  --ej-faint: #6f7d75;
  --ej-rule: #34423b;
  --ej-cyan: #66d4ca;
  --ej-amber: #d8ae61;
  --ej-crimson: #c76b64;
  --ej-measure: 46rem;
  --ej-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ej-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ej-bg); color: var(--ej-ink); font-family: var(--ej-sans); line-height: 1.65; }
a { color: var(--ej-cyan); text-underline-offset: 0.16em; }
a:hover { color: #a3eee6; }
a:focus-visible { outline: 2px solid var(--ej-amber); outline-offset: 3px; }
.ej-skip { position:absolute; left:-9999px; top:0; background:var(--ej-ink); color:var(--ej-bg); padding:.6rem .9rem; z-index:10; }
.ej-skip:focus { left:1rem; top:1rem; }
.ej-shell { width:min(76rem, calc(100% - 2.5rem)); margin:0 auto; }
.ej-top { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; padding:1.1rem 0; border-bottom:1px solid var(--ej-rule); }
.ej-brand { color:var(--ej-ink); font-size:.86rem; font-weight:750; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.ej-brand span { color:var(--ej-cyan); }
.ej-nav { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.25rem 1rem; font-size:.83rem; }
.ej-nav a { color:var(--ej-muted); text-decoration:none; }
.ej-nav a[aria-current="page"], .ej-nav a:hover { color:var(--ej-ink); }
.ej-breadcrumb { display:flex; flex-wrap:wrap; gap:.38rem; padding:1rem 0 0; color:var(--ej-faint); font: .7rem/1.4 var(--ej-mono); letter-spacing:.03em; }
.ej-breadcrumb a { color:var(--ej-muted); text-decoration:none; }
.ej-breadcrumb a:hover { color:var(--ej-cyan); }
.ej-main { padding:4rem 0 5rem; }
.ej-eyebrow { margin:0 0 .8rem; color:var(--ej-cyan); font:700 .73rem/1.3 var(--ej-mono); letter-spacing:.08em; text-transform:uppercase; }
.ej-hero { padding:1rem 0 3rem; border-bottom:1px solid var(--ej-rule); }
h1,h2,h3 { color:var(--ej-ink); line-height:1.14; letter-spacing:0; }
h1 { max-width:16ch; margin:0; font-size:clamp(2.45rem, 6vw, 5.1rem); font-weight:720; }
h2 { margin:0 0 1rem; font-size:clamp(1.45rem, 3vw, 2.2rem); font-weight:700; }
h3 { margin:1.8rem 0 .55rem; font-size:1.02rem; font-weight:720; }
p { max-width:var(--ej-measure); margin:0 0 1rem; }
.ej-lead { max-width:43rem; margin:1.4rem 0 0; color:var(--ej-muted); font-size:1.16rem; }
.ej-meta { display:flex; flex-wrap:wrap; gap:.5rem 1rem; margin:1.6rem 0 0; color:var(--ej-faint); font: .73rem/1.4 var(--ej-mono); }
.ej-status { display:inline-flex; align-items:center; width:max-content; padding:.2rem .46rem; border:1px solid var(--ej-rule); color:var(--ej-cyan); font:700 .68rem/1.1 var(--ej-mono); letter-spacing:.04em; text-transform:uppercase; }
.ej-status--partial { color:var(--ej-amber); border-color:#6f5a34; }
.ej-status--planned { color:var(--ej-muted); }
.ej-status--history { color:#b8a3d8; border-color:#5c4f6b; }
.ej-status--blocked { color:var(--ej-crimson); border-color:#734540; }
.ej-layout { display:grid; grid-template-columns:minmax(0, 1fr) 14.5rem; gap:3.5rem; padding-top:3rem; }
.ej-article > section { padding:0 0 2.4rem; margin-bottom:2.4rem; border-bottom:1px solid var(--ej-rule); }
.ej-article > section:last-child { border-bottom:0; }
.ej-side { align-self:start; position:sticky; top:1rem; padding-left:1rem; border-left:1px solid var(--ej-rule); }
.ej-side h2 { margin:0 0 .6rem; font-size:.77rem; font-family:var(--ej-mono); letter-spacing:.07em; text-transform:uppercase; }
.ej-side ul { margin:0; padding:0; list-style:none; font-size:.82rem; }
.ej-side li + li { margin-top:.45rem; }
.ej-side a { color:var(--ej-muted); text-decoration:none; }
.ej-side a:hover { color:var(--ej-cyan); }
.ej-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1px; margin:1.5rem 0; background:var(--ej-rule); border:1px solid var(--ej-rule); }
.ej-grid > * { min-width:0; padding:1.15rem; background:var(--ej-surface); }
.ej-grid h3 { margin:0 0 .45rem; font-size:.92rem; }
.ej-grid p { margin:0; color:var(--ej-muted); font-size:.9rem; }
.ej-grid a { font-weight:650; }
.ej-table-wrap { overflow-x:auto; margin:1.3rem 0; border:1px solid var(--ej-rule); }
table { width:100%; border-collapse:collapse; font-size:.86rem; }
th,td { padding:.7rem .75rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--ej-rule); }
th { color:var(--ej-muted); background:var(--ej-surface); font:700 .71rem/1.3 var(--ej-mono); letter-spacing:.05em; text-transform:uppercase; }
tr:last-child td { border-bottom:0; }
td code,.ej-code { color:#c0ddd4; font: .76rem/1.4 var(--ej-mono); }
.ej-note { margin:1.2rem 0; padding:1rem 1.1rem; border-left:3px solid var(--ej-amber); background:var(--ej-surface); color:var(--ej-muted); font-size:.92rem; }
.ej-note strong { color:var(--ej-ink); }
.ej-flow { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; margin:1.6rem 0; border:1px solid var(--ej-rule); }
.ej-flow div { position:relative; min-height:6.5rem; padding:1rem; background:var(--ej-surface); border-right:1px solid var(--ej-rule); }
.ej-flow div:last-child { border-right:0; }
.ej-flow strong { display:block; color:var(--ej-cyan); font-size:.83rem; }
.ej-flow span { display:block; margin-top:.45rem; color:var(--ej-muted); font-size:.78rem; line-height:1.45; }
.ej-source { color:var(--ej-faint); font-size:.78rem; }
.ej-source strong { color:var(--ej-muted); }
.ej-list { max-width:var(--ej-measure); padding-left:1.2rem; }
.ej-list li { margin:.4rem 0; }
.ej-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:1.5rem 0 2.5rem; border-top:1px solid var(--ej-rule); color:var(--ej-faint); font-size:.78rem; }
.ej-footer nav { display:flex; flex-wrap:wrap; gap:.5rem 1rem; }
.ej-footer a { color:var(--ej-muted); }
@media (max-width: 760px) {
  .ej-shell { width:min(100% - 1.5rem, 76rem); }
  .ej-top { align-items:flex-start; flex-direction:column; gap:.65rem; }
  .ej-nav { justify-content:flex-start; }
  .ej-main { padding:2.4rem 0 3rem; }
  .ej-layout { display:block; padding-top:2rem; }
  .ej-side { position:static; margin-top:2rem; padding:1rem 0 0; border-left:0; border-top:1px solid var(--ej-rule); }
  .ej-grid { grid-template-columns:1fr; }
  .ej-flow { grid-template-columns:1fr; }
  .ej-flow div { min-height:auto; border-right:0; border-bottom:1px solid var(--ej-rule); }
  .ej-flow div:last-child { border-bottom:0; }
  .ej-table-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .ej-table-wrap table { min-width:38rem; }
  .ej-table-wrap th,
  .ej-table-wrap td { padding:.6rem; font-size:.8rem; }
}
@media print {
  :root { --ej-bg:#fff; --ej-surface:#fff; --ej-ink:#111; --ej-muted:#444; --ej-faint:#555; --ej-rule:#aaa; --ej-cyan:#155a55; }
  body { background:#fff; color:#111; font-size:10.5pt; }
  .ej-nav,.ej-skip { display:none; }
  .ej-main { padding:1.3cm 0; }
  .ej-layout { display:block; }
  .ej-side { display:none; }
  .ej-grid,.ej-flow,.ej-table-wrap { break-inside:avoid; }
  a { color:#111; }
}
