  @font-face { font-family: Sora; font-style: normal; font-weight: 100 800; font-display: swap; src: url(/fonts/sora.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
  @font-face { font-family: Manrope; font-style: normal; font-weight: 200 800; font-display: swap; src: url(/fonts/manrope.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
  @font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 100 800; font-display: swap; src: url(/fonts/jetbrains-mono.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
  /* Dark-first: bare :root is the navy the logo lives in. Light is guarded both ways. */
  :root {
    --ground: #0B1226;
    --surface: #121A33;
    --surface-2: #182242;
    --line: #243059;
    --text: #E8ECF5;
    --muted: #9AA3B8;
    --blue: #246AFB;
    --blue-ink: #FFFFFF;
    --teal: #54C2D0;
    --teal-soft: rgba(84, 194, 208, 0.12);
    --blue-soft: rgba(36, 106, 251, 0.14);
    --blue-ink-soft: #8FB3FF;
    --amber: #E9A94A;
    --amber-soft: rgba(233, 169, 74, 0.14);
    --shadow: 0 1px 0 rgba(255,255,255,0.03) inset, 0 10px 30px rgba(0,0,0,0.35);
  }
  @media (prefers-color-scheme: light) {
    :root:not([data-theme="dark"]) {
      --ground: #F7F9FC;
      --surface: #FFFFFF;
      --surface-2: #EEF2F8;
      --line: #DCE2EE;
      --text: #0B1226;
      --muted: #5B6478;
      --blue: #1F5FE0;
      --blue-ink: #FFFFFF;
      --teal: #178A99;
      --teal-soft: rgba(23, 138, 153, 0.10);
      --blue-soft: rgba(31, 95, 224, 0.10);
      --blue-ink-soft: #1F5FE0;
      --amber: #A8690F;
      --amber-soft: rgba(168, 105, 15, 0.10);
      --shadow: 0 1px 2px rgba(11,18,38,0.05), 0 10px 30px rgba(11,18,38,0.06);
    }
  }
  :root[data-theme="light"] {
    --ground: #F7F9FC;
    --surface: #FFFFFF;
    --surface-2: #EEF2F8;
    --line: #DCE2EE;
    --text: #0B1226;
    --muted: #5B6478;
    --blue: #1F5FE0;
    --blue-ink: #FFFFFF;
    --teal: #178A99;
    --teal-soft: rgba(23, 138, 153, 0.10);
    --blue-soft: rgba(31, 95, 224, 0.10);
    --blue-ink-soft: #1F5FE0;
    --amber: #A8690F;
    --amber-soft: rgba(168, 105, 15, 0.10);
    --shadow: 0 1px 2px rgba(11,18,38,0.05), 0 10px 30px rgba(11,18,38,0.06);
  }

:root{--ink:var(--text);--accent:var(--teal)}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:Arial,Helvetica,sans-serif;background:#fff;color:#243244;margin:0;font-size:16px;line-height:1.65}*{box-sizing:border-box}a{color:var(--accent);text-underline-offset:3px}a:focus-visible,summary:focus-visible{outline:3px solid #216c68;outline-offset:4px}.skip{position:absolute;left:16px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:17px 5%;gap:20px}.brand{font-size:22px;letter-spacing:-.6px;font-weight:700;color:var(--ink);text-decoration:none}.site-header nav{display:flex;gap:22px}.site-header nav a{text-decoration:none}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:280px minmax(0,1fr);gap:48px;padding:36px 5% 70px}.contents{position:sticky;top:94px;align-self:start;max-height:calc(100vh - 115px);overflow:auto;font-size:13px}.contents summary{font-weight:bold;color:var(--ink);font-size:15px;cursor:pointer}.contents a{display:block;padding:7px 0;text-decoration:none;color:var(--muted)}.contents a:hover{color:var(--accent)}article{min-width:0;max-width:1000px}.breadcrumb{font-size:13px;color:var(--muted);margin-bottom:28px}.cover{min-height:0;padding:0;margin-bottom:42px;display:block}.eyebrow,.kicker{color:var(--accent);font-size:12px;letter-spacing:.1em;font-weight:bold;text-transform:uppercase}h1{font-size:clamp(32px,4vw,48px);line-height:1.13;margin:12px 0 18px;color:var(--ink);letter-spacing:-1.2px}h2{font-size:25px;line-height:1.3;color:var(--ink);margin:45px 0 18px;border-bottom:1px solid var(--line);padding-bottom:12px}h3{font-size:19px;color:var(--ink);margin-top:28px}.subtitle{font-size:20px;color:var(--muted);max-width:780px}.meta{font-size:13px;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted)}p{margin:12px 0 16px}.hero{font-size:18px}.callout,.statement{padding:18px 22px;border-left:4px solid #2e6f9e;background:#edf6fc;margin:24px 0}.green,.statement{border-color:#2f7d76;background:#ecf7f1}.amber{border-color:#d39b48;background:#fff7e8}.purple{border-color:#8067a8;background:#f5f1f9}.statement{font-size:19px;color:var(--ink)}figure{margin:28px 0;padding:18px;border:1px solid var(--line);border-radius:10px;overflow-x:auto}.arch-svg{width:100%;height:auto;max-height:none;min-width:580px}figcaption{font-size:13px;color:var(--muted);margin-top:14px;text-align:left;min-width:250px}.table-scroll{overflow-x:auto;margin:20px 0}table{border-collapse:collapse;width:100%;font-size:14px}th{background:var(--ink);color:white;text-align:left;padding:12px}td{border:1px solid var(--line);padding:12px;vertical-align:top}tr:nth-child(even) td{background:#f8fafc}.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.card{border:1px solid var(--line);border-radius:10px;padding:20px;background:#fff}.card b{color:var(--ink)}.small{font-size:13px;color:var(--muted)}footer{font-size:13px;color:var(--muted);padding:24px 5%;border-top:1px solid var(--line)}.home{max-width:1060px;padding:64px 6%;margin:auto;min-height:75vh}.doc-card{display:block;margin-top:32px;padding:28px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit}.doc-card:hover{border-color:var(--accent);background:#f8fbfa}.doc-card h2{margin:8px 0 12px;padding:0;border:0}.doc-card p{color:var(--muted)}.read-link{color:var(--accent);font-weight:bold}.download{font-size:14px;margin-top:24px}@media(max-width:900px){.layout{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 6%}.contents{position:static;max-height:none;padding:18px;background:#f8fafc;border:1px solid var(--line);border-radius:8px}.contents nav{columns:2;column-gap:24px}.contents a{break-inside:avoid}.site-header{position:static}.home{padding:40px 6%}}@media(max-width:540px){.contents nav{columns:1}.cards{grid-template-columns:1fr}.site-header{padding:16px 6%;gap:12px}.site-header nav{font-size:14px;gap:14px}figure{padding:12px}.subtitle{font-size:18px}h2{font-size:23px}}@media print{.site-header,.contents,.breadcrumb,.skip,.download{display:none}.layout{display:block;padding:0}.cover{page-break-after:always;min-height:9in;display:flex;flex-direction:column;justify-content:center}.pagebreak{break-before:page}body{font-size:10.2pt}.arch-svg{min-width:0}figure,.callout,.card{break-inside:avoid}h2,h3{break-after:avoid}footer{padding:10px 0}.table-scroll{overflow:visible}}

/* Use the website's self-hosted type, logos and color scheme. */
:root{--ink:var(--text);--accent:var(--teal)}
body{background:var(--ground);color:var(--text);font-family:Manrope,system-ui,sans-serif}
h1,h2,h3{font-family:Sora,Manrope,system-ui,sans-serif}
.site-header,.skip,.card{background:var(--surface)}
.brand img{display:block;width:auto;height:32px}.brand .logo-light{display:none}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .brand .logo-dark{display:none}:root:not([data-theme="dark"]) .brand .logo-light{display:block}}
:root[data-theme="light"] .brand .logo-dark{display:none}:root[data-theme="light"] .brand .logo-light{display:block}
.callout,.statement{background:var(--teal-soft);border-color:var(--teal)}
.amber{background:var(--amber-soft);border-color:var(--amber)}
.purple{background:var(--blue-soft);border-color:var(--blue-ink-soft)}
th{background:var(--surface-2);color:var(--text)}tr:nth-child(even) td{background:var(--surface)}
.doc-card{background:var(--surface)}.doc-card:hover{background:var(--surface-2)}
/* Original diagrams use dark labels and retain a white drawing surface. */
figure{background:#fff}figcaption{color:#586779}
@media(max-width:900px){.contents{background:var(--surface)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{:root{--ink:#17324d;--text:#243244;--muted:#586779;--line:#dbe3ea;--ground:#fff;--surface:#fff;--surface-2:#eef2f8;--teal:#216c68;--teal-soft:#ecf7f1}body{background:#fff;color:#243244}}
