@font-face { font-family: "Space Grotesk"; src: url("/fonts/space-grotesk-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Space Grotesk"; src: url("/fonts/space-grotesk-500.woff2") format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Space Grotesk"; src: url("/fonts/space-grotesk-600.woff2") format("woff2"); font-weight: 600; font-display: swap; }
@font-face { font-family: "IBM Plex Sans"; src: url("/fonts/ibm-plex-sans-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("/fonts/ibm-plex-mono-400.woff2") format("woff2"); font-weight: 400; font-display: swap; }

:root { --ink:#0c0c0b; --ink-2:#171716; --steel:#676c72; --gray-500:#bcc1c6; --gray-300:#c4c8cc; --gray-100:#e9ebed; --paper:#f1f2f3; --white:#fff; --orange:#ff5a1f; --orange-deep:#dc3f08; --display:"Space Grotesk",sans-serif; --sans:"IBM Plex Sans",sans-serif; --mono:"IBM Plex Mono",monospace; --shell:min(1180px,calc(100vw - 80px)); }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { min-width:320px; margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; } p,h1,h2,h3,blockquote,dl,dd,ol,ul { margin:0; } img,svg { display:block; }
::selection { color:var(--ink); background:var(--orange); } :focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.journal-shell { width:var(--shell); margin-inline:auto; }
.journal-skip { position:fixed; top:10px; left:10px; z-index:1000; padding:10px 14px; color:var(--white); background:var(--orange-deep); font-size:12px; transform:translateY(-160%); transition:transform 180ms ease; }.journal-skip:focus { transform:translateY(0); }
.journal-header { position:relative; z-index:10; height:80px; color:var(--white); border-bottom:1px solid rgba(255,255,255,.15); background:var(--ink); }
.journal-header__inner { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:100%; }
.journal-brand { display:inline-flex; align-items:center; width:fit-content; }
.journal-brand svg { width:32px; height:32px; margin-right:11px; }.journal-brand svg rect { fill:var(--white); }.journal-brand svg path { fill:none; stroke:var(--orange); stroke-width:4.5; stroke-linecap:round; stroke-linejoin:round; }.journal-brand svg circle { fill:var(--orange); }.journal-brand svg circle.core { fill:var(--white); }
.journal-brand strong { font-family:var(--display); font-size:17px; letter-spacing:.18em; }.journal-brand > span { margin-left:14px; padding-left:14px; color:var(--gray-500); border-left:1px solid rgba(255,255,255,.3); font-family:var(--mono); font-size:7px; letter-spacing:.08em; }
.journal-header nav { display:flex; gap:32px; color:#dadddf; font-size:12px; }.journal-header nav a[aria-current="page"] { padding-bottom:5px; border-bottom:1px solid var(--orange); }
.journal-state { justify-self:end; display:inline-flex; gap:8px; align-items:center; color:#c4c8cc; font-family:var(--mono); font-size:7px; }.journal-state i { width:6px; height:6px; border-radius:50%; background:var(--orange); box-shadow:0 0 12px rgba(255,90,31,.75); }

.journal-index__cover { position:relative; min-height:690px; padding:110px 0 80px; overflow:hidden; color:var(--white); background:var(--ink); }
.journal-index__cover::after,.journal-post__cover::after { position:absolute; top:-470px; right:-260px; width:900px; height:900px; border:1px solid rgba(255,90,31,.25); border-radius:50%; content:""; }
.journal-kicker { position:relative; z-index:2; display:flex; justify-content:space-between; padding-bottom:23px; color:var(--gray-500); border-bottom:1px solid rgba(255,255,255,.17); font-family:var(--mono); font-size:7px; letter-spacing:.08em; }.journal-kicker span:first-child { color:var(--orange); }
.journal-index h1 { position:relative; z-index:2; max-width:1060px; margin-top:70px; font-family:var(--display); font-size:clamp(72px,8.2vw,118px); font-weight:500; letter-spacing:-.075em; line-height:.88; }.journal-index h1 em { color:var(--orange); font-style:normal; }
.journal-index__cover .journal-shell > div:last-child { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:50px; max-width:700px; margin:70px 0 0 auto; padding-top:26px; color:#c4c8cc; border-top:1px solid rgba(255,255,255,.17); font-size:13px; line-height:1.75; }
.journal-ledger { padding:90px 0 130px; background:var(--paper); }
.journal-ledger header,.journal-row > a { display:grid; grid-template-columns:.55fr 1fr 3.4fr 1fr .55fr 25px; gap:20px; align-items:center; }
.journal-ledger header { min-height:48px; color:var(--steel); border-top:1px solid var(--gray-300); border-bottom:1px solid var(--gray-300); font-family:var(--mono); font-size:7px; }.journal-ledger header span:nth-child(3) { padding-left:10px; }
.journal-row > a { min-height:190px; border-bottom:1px solid var(--gray-300); transition:padding 180ms ease,background-color 180ms ease; }.journal-row > a:hover { padding:0 18px; background:var(--white); }
.journal-row > a > span { color:var(--steel); font-family:var(--mono); font-size:7px; }.journal-row > a > span:first-child { color:var(--orange-deep); }.journal-row h2 { font-family:var(--display); font-size:37px; font-weight:500; letter-spacing:-.045em; line-height:1.04; }.journal-row p { max-width:620px; margin-top:12px; color:var(--steel); font-size:11px; line-height:1.6; }.journal-row b { color:var(--orange-deep); font-size:22px; font-weight:400; }
.journal-taxonomy { padding:100px 0; color:var(--white); background:var(--ink); }.journal-taxonomy .journal-shell { display:grid; grid-template-columns:.7fr 1.3fr; gap:8vw; }.journal-taxonomy .journal-shell > span { color:var(--orange); font-family:var(--mono); font-size:8px; }.journal-taxonomy .journal-shell > div { display:grid; grid-template-columns:1fr 1fr; }.journal-taxonomy p { min-height:70px; padding:22px 0; border-bottom:1px solid rgba(255,255,255,.18); font-family:var(--display); font-size:20px; }

.journal-post__cover { position:relative; min-height:760px; padding:110px 0 80px; overflow:hidden; color:var(--white); background:var(--ink); }
.journal-post__cover h1 { position:relative; z-index:2; max-width:1130px; margin-top:75px; font-family:var(--display); font-size:clamp(70px,8.4vw,122px); font-weight:500; letter-spacing:-.078em; line-height:.87; }
.journal-post__cover .journal-shell > p { position:relative; z-index:2; max-width:700px; margin:50px 0 0 auto; color:#c4c8cc; font-family:var(--display); font-size:23px; letter-spacing:-.025em; line-height:1.35; }
.journal-post__meta { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-top:75px; border-top:1px solid rgba(255,255,255,.17); border-bottom:1px solid rgba(255,255,255,.17); }.journal-post__meta span { display:flex; align-items:center; min-height:64px; padding:0 17px; color:var(--gray-500); border-right:1px solid rgba(255,255,255,.17); font-family:var(--mono); font-size:7px; }.journal-post__meta span:first-child { padding-left:0; color:var(--orange); }.journal-post__meta span:last-child { border-right:0; }
.journal-post__layout { display:grid; grid-template-columns:250px minmax(0,740px); gap:90px; justify-content:center; padding:110px 0 130px; }
.journal-post__layout aside { align-self:start; position:sticky; top:40px; color:var(--steel); border-top:1px solid var(--gray-300); font-family:var(--mono); font-size:7px; }.journal-post__layout aside > span { display:block; padding:17px 0; color:var(--orange-deep); border-bottom:1px solid var(--gray-300); }.journal-post__layout aside nav { display:grid; }.journal-post__layout aside nav a { padding:14px 0; border-bottom:1px solid var(--gray-300); }.journal-post__layout aside p { margin-top:32px; line-height:1.7; }.journal-post__layout aside strong { color:var(--ink); font-weight:400; }
.journal-prose { font-size:17px; line-height:1.85; }.journal-prose > p:first-child { font-family:var(--display); font-size:30px; letter-spacing:-.035em; line-height:1.3; }.journal-prose h2 { margin:85px 0 28px; padding-top:22px; border-top:1px solid var(--gray-300); font-family:var(--display); font-size:43px; font-weight:500; letter-spacing:-.05em; line-height:1.05; }.journal-prose p { margin-top:25px; }.journal-prose blockquote { margin:60px 0; padding:35px 0 35px 35px; color:var(--orange-deep); border-left:3px solid var(--orange); font-family:var(--display); font-size:32px; letter-spacing:-.04em; line-height:1.25; }.journal-prose ul,.journal-prose ol { display:grid; gap:14px; margin:30px 0; padding-left:25px; }.journal-prose ul { list-style:square; }.journal-prose ol { list-style:decimal; }.journal-prose li { padding-left:8px; }.journal-prose code { padding:2px 6px; color:var(--orange-deep); background:var(--white); font-family:var(--mono); font-size:.8em; }.journal-prose hr { height:1px; margin:80px 0 40px; border:0; background:var(--gray-300); }.journal-prose strong { font-weight:600; }
.journal-share { padding:100px 0; color:var(--white); background:var(--ink); }.journal-share .journal-shell > span { color:var(--orange); font-family:var(--mono); font-size:8px; }.journal-share h2 { margin-top:28px; font-family:var(--display); font-size:clamp(50px,6vw,82px); font-weight:500; letter-spacing:-.06em; }.journal-share .journal-shell > div { display:flex; gap:12px; margin-top:55px; }.journal-share button,.journal-share a { min-width:145px; padding:15px 18px; color:var(--white); border:1px solid rgba(255,255,255,.3); background:transparent; font-family:var(--mono); font-size:8px; text-align:left; cursor:pointer; }.journal-share button { color:var(--ink); border-color:var(--orange); background:var(--orange); }
.journal-next { background:var(--gray-100); }.journal-next > a { display:grid; grid-template-columns:.6fr 1.4fr 30px; gap:30px; align-items:center; min-height:160px; }.journal-next span { color:var(--orange-deep); font-family:var(--mono); font-size:8px; }.journal-next strong { font-family:var(--display); font-size:33px; font-weight:500; letter-spacing:-.04em; }.journal-next b { color:var(--orange-deep); font-size:22px; font-weight:400; }

.journal-footer { padding:50px 0 22px; background:var(--paper); }.journal-footer > .journal-shell:first-child { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding-bottom:42px; border-bottom:1px solid var(--gray-300); }.journal-footer .journal-brand svg rect { fill:var(--ink); }.journal-footer .journal-brand svg circle.core { fill:var(--ink); }.journal-footer .journal-brand > span { border-color:var(--gray-300); }.journal-footer p { max-width:310px; justify-self:center; color:var(--steel); font-size:11px; line-height:1.6; }.journal-footer nav { justify-self:end; display:flex; gap:22px; font-size:10px; }.journal-footer__base { display:flex; justify-content:space-between; padding-top:20px; color:var(--steel); font-family:var(--mono); font-size:6px; }

@media (max-width:900px) {
  :root { --shell:calc(100vw - 48px); }
  .journal-header__inner { grid-template-columns:1fr auto; }.journal-header nav { display:none; }
  .journal-index__cover,.journal-post__cover { min-height:auto; padding:90px 0 75px; }.journal-index__cover .journal-shell > div:last-child { margin-left:0; }.journal-ledger header { display:none; }.journal-row > a { grid-template-columns:.55fr 1fr 25px; min-height:230px; }.journal-row > a > span:nth-of-type(2),.journal-row > a > span:nth-of-type(3),.journal-row > a > span:nth-of-type(4) { display:none; }.journal-row > a > div { grid-column:2; }.journal-row b { grid-column:3; grid-row:1; }
  .journal-post__meta { grid-template-columns:1fr 1fr; }.journal-post__meta span:nth-child(2) { border-right:0; }.journal-post__meta span:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.17); }
  .journal-post__layout { grid-template-columns:1fr; gap:50px; }.journal-post__layout aside { position:static; }.journal-post__layout aside nav { grid-template-columns:repeat(3,1fr); gap:20px; }.journal-post__layout aside p { display:none; }
  .journal-footer > .journal-shell:first-child { grid-template-columns:1fr auto; }.journal-footer p { display:none; }
}

@media (max-width:600px) {
  :root { --shell:calc(100vw - 32px); }
  .journal-header { height:68px; }.journal-state { display:none; }.journal-brand strong { font-size:15px; }.journal-brand > span { font-size:6px; }
  .journal-kicker { gap:18px; }.journal-kicker span:last-child { text-align:right; }.journal-index h1,.journal-post__cover h1 { margin-top:55px; font-size:clamp(52px,15vw,74px); }.journal-index__cover .journal-shell > div:last-child { grid-template-columns:1fr; gap:20px; margin-top:50px; }.journal-post__cover .journal-shell > p { margin-top:38px; font-size:19px; }
  .journal-post__meta { grid-template-columns:1fr; margin-top:50px; }.journal-post__meta span { min-height:48px; padding:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.17); }
  .journal-ledger { padding:65px 0 90px; }.journal-row > a { grid-template-columns:42px 1fr 20px; gap:12px; min-height:240px; }.journal-row h2 { font-size:30px; }
  .journal-taxonomy { padding:75px 0; }.journal-taxonomy .journal-shell { grid-template-columns:1fr; }.journal-taxonomy .journal-shell > div { grid-template-columns:1fr; margin-top:35px; }
  .journal-post__layout { padding:75px 0 95px; }.journal-post__layout aside nav { grid-template-columns:1fr; gap:0; }.journal-prose { font-size:16px; line-height:1.8; }.journal-prose > p:first-child { font-size:25px; }.journal-prose h2 { margin-top:65px; font-size:35px; }.journal-prose blockquote { margin:45px 0; padding-left:22px; font-size:27px; }
  .journal-share { padding:75px 0; }.journal-share h2 { font-size:48px; }.journal-share .journal-shell > div { flex-direction:column; }.journal-share button,.journal-share a { width:100%; }.journal-next > a { grid-template-columns:1fr 25px; }.journal-next span { grid-column:1 / -1; align-self:end; }.journal-next strong { font-size:26px; }
  .journal-footer > .journal-shell:first-child { grid-template-columns:1fr; gap:35px; }.journal-footer nav { justify-self:start; flex-wrap:wrap; }.journal-footer__base span:nth-child(2) { display:none; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Readability baseline for navigation, metadata, diagrams, and record controls. */
.journal-brand > span { font-size:13px; }
.journal-header nav { font-size:18px; }
.journal-state { font-size:13.5px; }
.journal-kicker { font-size:14px; }
.journal-ledger header { min-height:72px; font-size:13px; }
.journal-row > a > span { font-size:13.5px; }
.journal-taxonomy .journal-shell > span { font-size:13.5px; }
.journal-post__meta span { min-height:96px; font-size:15px; }
.journal-post__layout aside { font-size:13.5px; }
.journal-share .journal-shell > span,
.journal-share button,
.journal-share a,
.journal-next span { font-size:13.5px; }
.journal-footer nav { font-size:16px; }
.journal-footer__base { font-size:12.5px; }

@media (max-width:600px) {
  .journal-brand > span { font-size:11.5px; }
  .journal-kicker { gap:12px; font-size:12px; line-height:1.5; }
  .journal-post__meta span { min-height:64px; font-size:13px; }
  .journal-post__layout aside { font-size:12.5px; }
  .journal-footer__base { font-size:11px; }
}
