.oss-page .article-hero {
  background:var(--ink);
  color:var(--cream);
  border-color:rgba(255,253,247,.45);
}
.oss-page .hero-inner { padding-top:74px; padding-bottom:68px; }
.oss-page .hero-copy { max-width:1000px; }
.oss-page .hero-kicker { color:rgba(255,253,247,.52); }
.oss-page .hero-kicker::before { background:var(--orange); }
.oss-page .hero-copy h1 {
  max-width:980px;
  margin:28px 0 26px;
  color:var(--cream);
  font-size:clamp(65px,8.2vw,112px);
  line-height:.82;
}
.oss-page .hero-copy h1 em {
  display:block;
  max-width:820px;
  margin-top:26px;
  color:var(--cream);
  font-size:clamp(31px,4vw,54px);
  line-height:1.02;
  letter-spacing:-.035em;
  text-decoration:none;
}
.oss-page .hero-dek {
  max-width:780px;
  color:rgba(255,253,247,.82);
  font-size:clamp(20px,1.8vw,25px);
}
.oss-page .hero-meta { color:rgba(255,253,247,.5); }
.oss-page .hero-meta span + span::before { color:rgba(255,253,247,.28); }
.oss-page .hero-actions .action { border-color:rgba(255,253,247,.5); color:var(--cream); }
.oss-page .hero-actions .action--primary { background:var(--cream); color:var(--ink); }
.oss-page .hero-actions .action--paper { border-color:var(--orange); }
.oss-page .share-menu[open] summary { background:var(--cream); color:var(--ink); }
.oss-page .share-panel { color:var(--ink); }
.oss-page .hero-abstract { border-color:rgba(255,253,247,.4); }
.oss-page .hero-abstract p { color:rgba(255,253,247,.74); font-size:16px; line-height:1.62; }
.oss-page .hero-ledger { border-color:rgba(255,253,247,.46); }
.oss-page .hero-ledger__head,
.oss-page .hero-ledger dl > div { border-color:rgba(255,253,247,.16); }
.oss-page .hero-ledger__head > span,
.oss-page .hero-ledger dt,
.oss-page .hero-ledger small,
.oss-page .hero-caveat { color:rgba(255,253,247,.5); }
.oss-page .hero-ledger__head a { color:var(--cream); }
.oss-page .hero-ledger dd { color:var(--orange); }

.oss-example {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) 42px minmax(220px,.8fr);
  gap:18px;
  align-items:center;
  margin-top:46px;
  padding:27px 0;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.oss-example > div { min-width:0; }
.oss-example span { display:block; color:var(--muted); }
.oss-example p { margin:10px 0 0; font:400 24px/1.35 "Newsreader",Georgia,serif; }
.oss-example strong { display:block; margin-top:10px; font:600 16px/1.35 "General Sans",sans-serif; }
.oss-example__arrow { color:var(--orange); font:400 31px/1 Georgia,serif; text-align:center; }

.trace-ledger {
  margin-top:42px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.trace-row {
  display:grid;
  grid-template-columns:78px minmax(0,1fr) minmax(170px,.5fr);
  gap:20px;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  align-items:baseline;
}
.trace-row:last-child { border-bottom:0; }
.trace-row > span { color:var(--muted); }
.trace-row p { margin:0; color:var(--soft); font:400 17px/1.45 "Newsreader",Georgia,serif; }
.trace-row code { color:var(--ink); font:500 12px/1.4 "JetBrains Mono",monospace; }

.route-figure { margin:52px auto 0; }
.route-figure figcaption {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding-bottom:14px;
  border-bottom:1px solid var(--ink);
}
.route-figure figcaption span { color:var(--muted); }
.route-track {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-bottom:1px solid var(--ink);
}
.route-step { position:relative; min-height:142px; padding:22px 32px 22px 0; }
.route-step + .route-step { padding-left:26px; border-left:1px solid var(--line); }
.route-step:not(:last-child)::after {
  content:"→";
  position:absolute;
  top:55px;
  right:8px;
  color:var(--muted);
  font:400 21px/1 Georgia,serif;
}
.route-step > span { color:var(--orange); }
.route-step strong { display:block; margin:23px 0 7px; font:600 14px/1.3 "General Sans",sans-serif; }
.route-step p { margin:0; color:var(--muted); font-size:12px; line-height:1.5; }
.route-branches { display:grid; grid-template-columns:1fr 1fr; margin-left:50%; border-bottom:1px solid var(--ink); }
.route-branch { padding:18px 18px 20px; }
.route-branch + .route-branch { border-left:1px solid var(--ink); }
.route-branch span { color:var(--muted); }
.route-branch strong { display:block; margin:10px 0 5px; font:500 19px/1.2 "Newsreader",Georgia,serif; }
.route-branch p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.route-branch--local { box-shadow:inset 0 4px 0 var(--sky); }
.route-branch--teacher { box-shadow:inset 0 4px 0 var(--red); }

.oss-equation-card { margin-top:48px; border-top:5px solid var(--orange); border-bottom:1px solid var(--ink); }
.oss-equation-card figcaption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  min-height:48px;
  border-bottom:1px solid var(--line);
}
.oss-equation-card figcaption span { color:var(--muted); }
.oss-equation-scroll { max-width:100%; overflow-x:auto; padding:34px 20px; text-align:center; }
.piecewise-formula {
  display:inline-grid;
  min-width:560px;
  grid-template-columns:auto 40px auto;
  align-items:center;
  color:var(--ink);
  font:400 clamp(25px,3vw,37px)/1.1 Georgia,"Times New Roman",serif;
  text-align:left;
}
.piecewise-lhs { white-space:nowrap; }
.piecewise-brace { font-size:82px; line-height:.8; transform:scaleY(1.2); transform-origin:center; }
.piecewise-cases { display:grid; gap:7px; }
.piecewise-cases > span { display:grid; grid-template-columns:120px 1fr; gap:18px; align-items:baseline; }
.piecewise-cases i { font-style:italic; }
.piecewise-cases small { font:400 .72em/1.2 Georgia,"Times New Roman",serif; white-space:nowrap; }
.oss-equation-words {
  display:grid;
  grid-template-columns:115px 1fr;
  gap:20px;
  padding:18px 0;
  border-top:1px solid var(--line);
  color:var(--soft);
  font:400 17px/1.55 "Newsreader",Georgia,serif;
}
.oss-equation-words span { color:var(--muted); }
.oss-objective {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-bottom:1px solid var(--ink);
}
.oss-objective div { padding:20px 24px 23px 0; }
.oss-objective div + div { padding-left:24px; border-left:1px solid var(--ink); }
.oss-objective span { color:var(--muted); }
.oss-objective code { display:block; margin-top:11px; font:500 20px/1.35 Georgia,"Times New Roman",serif; }

.alpha-explorer {
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);
  margin-top:44px;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
}
.alpha-controls { padding:31px 5vw 35px 0; }
.alpha-controls fieldset { margin:0; padding:0; border:0; }
.alpha-controls legend { max-width:420px; padding:0; font:500 25px/1.15 "Newsreader",Georgia,serif; }
.alpha-controls > p { margin:12px 0 25px; color:var(--muted); font-size:12px; line-height:1.55; }
.alpha-options { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.alpha-option { position:relative; }
.alpha-option input { position:absolute; opacity:0; pointer-events:none; }
.alpha-option label {
  display:grid;
  min-height:48px;
  place-items:center;
  border:1px solid var(--line-strong);
  cursor:pointer;
  font:500 11px/1 "JetBrains Mono",monospace;
}
.alpha-option input:checked + label { border-color:var(--ink); background:var(--ink); color:var(--cream); }
.alpha-option input:focus-visible + label { outline:2px solid var(--sky); outline-offset:3px; }
.alpha-output { padding:31px 0 35px 5vw; border-left:1px solid var(--ink); }
.alpha-output__headline { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.alpha-output__headline span { color:var(--muted); }
.alpha-output__headline strong { font:500 58px/.85 "Newsreader",Georgia,serif; letter-spacing:-.05em; }
.traffic-bar { display:flex; height:28px; margin:25px 0 18px; overflow:hidden; border:1px solid var(--ink); }
.traffic-bar span { display:grid; min-width:0; place-items:center; overflow:hidden; white-space:nowrap; font:500 9px/1 "JetBrains Mono",monospace; }
.traffic-local { width:83.2%; background:var(--sky); color:var(--ink); }
.traffic-teacher { width:16.8%; background:var(--red); color:var(--cream); }
.alpha-stats { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.alpha-stat { padding-top:12px; border-top:1px solid var(--line); }
.alpha-stat span { display:block; color:var(--muted); }
.alpha-stat strong { display:block; margin-top:7px; font:500 28px/1 "Newsreader",Georgia,serif; }
.alpha-output > p { margin:22px 0 0; color:var(--muted); font-size:11px; line-height:1.6; }

.regime-list { margin-top:44px; border-top:1px solid var(--ink); }
.regime {
  display:grid;
  grid-template-columns:120px minmax(170px,.52fr) 115px minmax(0,1.48fr);
  gap:24px;
  align-items:baseline;
  padding:23px 0;
  border-bottom:1px solid var(--line);
}
.regime > span { color:var(--muted); }
.regime h3 { margin:0; font:500 23px/1.15 "Newsreader",Georgia,serif; }
.regime strong { font:500 29px/1 "Newsreader",Georgia,serif; }
.regime p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.regime--full strong { color:var(--sky); }
.regime--partial strong { color:var(--orange); }
.regime--refused strong { color:var(--red); }

.flywheel { margin-top:42px; border-top:1px solid var(--ink); }
.flywheel-row {
  display:grid;
  grid-template-columns:76px 95px minmax(120px,1fr) 64px 58px;
  gap:16px;
  align-items:center;
  min-height:52px;
  border-bottom:1px solid var(--line);
}
.flywheel-row span { color:var(--muted); }
.flywheel-track { height:10px; background:rgba(17,17,15,.08); }
.flywheel-track i { display:block; width:var(--coverage); height:100%; background:var(--sky); }
.flywheel-row strong { font:500 13px/1 "JetBrains Mono",monospace; }
.flywheel-row small { color:var(--muted); font:500 10px/1 "JetBrains Mono",monospace; }

.boundary-pair { display:grid; grid-template-columns:1fr 1fr; margin-top:44px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.boundary-item { padding:27px 34px 30px 0; }
.boundary-item + .boundary-item { padding-left:34px; border-left:1px solid var(--ink); }
.boundary-item > span { color:var(--muted); }
.boundary-item blockquote { margin:19px 0; font:400 25px/1.32 "Newsreader",Georgia,serif; }
.boundary-item p { margin:0; color:var(--muted); font-size:12px; line-height:1.55; }
.boundary-item--handled { box-shadow:inset 0 5px 0 var(--sky); }
.boundary-item--deferred { box-shadow:inset 0 5px 0 var(--red); }

.artifact-list { display:grid; grid-template-columns:repeat(5,1fr); margin-top:44px; border-top:1px solid var(--ink); }
.artifact-list article { padding:22px 21px 0 0; }
.artifact-list span { color:var(--orange); }
.artifact-list h3 { margin:24px 0 8px; font:500 19px/1.15 "Newsreader",Georgia,serif; }
.artifact-list p { margin:0; color:var(--muted); font-size:11px; line-height:1.55; }

.software-split { display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr); gap:7vw; align-items:start; }
.software-updates { border-top:1px solid var(--ink); }
.software-update { display:grid; grid-template-columns:28px 1fr; gap:14px; padding:17px 0; border-bottom:1px solid var(--line); }
.software-update > span { padding-top:4px; color:var(--orange); }
.software-update strong { display:block; font-size:14px; }
.software-update p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.55; }
.install-block { background:var(--ink); color:var(--cream); }
.install-block__head { display:flex; align-items:center; justify-content:space-between; gap:18px; min-height:48px; padding:0 20px; border-bottom:1px solid rgba(255,253,247,.2); }
.install-block__head span { color:rgba(255,253,247,.5); }
.copy-command { border:0; background:none; color:var(--orange); cursor:pointer; }
.install-block pre { margin:0; padding:28px 20px; overflow-x:auto; font:500 15px/1.6 "JetBrains Mono",monospace; }
.install-links { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid rgba(255,253,247,.2); }
.install-links a { padding:17px 20px; color:var(--cream); font-size:12px; text-decoration:none; }
.install-links a + a { border-left:1px solid rgba(255,253,247,.2); }
.install-links a:hover { color:var(--orange); }

.oss-page .limits-grid { grid-template-columns:repeat(3,1fr); gap:34px 0; }
.oss-page .paper-state { display:flex; flex-wrap:wrap; gap:9px; align-items:flex-start; }
.oss-page .paper-state strong,
.oss-page .paper-state p { width:100%; }
.oss-page .paper-state a {
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:0 16px;
  border:1px solid var(--ink);
  color:var(--ink);
  font:500 9px/1 "JetBrains Mono",monospace;
  letter-spacing:.1em;
  text-decoration:none;
  text-transform:uppercase;
}
.citation-block { margin-top:28px; }
.citation-block summary { cursor:pointer; font:500 10px/1.4 "JetBrains Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }
.citation-block pre { margin:17px 0 0; padding:20px; overflow-x:auto; background:var(--ink); color:var(--cream); font:400 11px/1.55 "JetBrains Mono",monospace; }

@media (max-width:980px) {
  .artifact-list { grid-template-columns:repeat(3,1fr); gap:30px 0; }
  .regime { grid-template-columns:100px 160px 92px 1fr; gap:17px; }
  .route-step { padding-right:26px; }
  .route-step + .route-step { padding-left:19px; }
}

@media (max-width:720px) {
  .oss-page .hero-inner { padding-top:54px; padding-bottom:44px; }
  .oss-page .hero-copy h1 { font-size:clamp(58px,19vw,76px); }
  .oss-page .hero-copy h1 em { margin-top:20px; font-size:clamp(29px,9vw,39px); }
  .oss-page .hero-dek { font-size:19px; }
  .oss-page .hero-abstract p { font-size:15px; }
  .oss-page .hero-actions > .action:nth-child(3) { grid-column:1 / -1; }

  .oss-example { grid-template-columns:1fr; gap:12px; }
  .oss-example__arrow { transform:rotate(90deg); text-align:left; }
  .trace-row { grid-template-columns:62px 1fr; gap:9px 13px; }
  .trace-row code { grid-column:2; }

  .route-track { grid-template-columns:1fr; }
  .route-step { min-height:auto; padding:20px 0 23px 44px; }
  .route-step + .route-step { padding-left:44px; border-top:1px solid var(--line); border-left:0; }
  .route-step:not(:last-child)::after { top:auto; right:auto; bottom:-12px; left:14px; z-index:2; transform:rotate(90deg); background:var(--paper); }
  .route-step strong { margin-top:10px; }
  .route-branches { grid-template-columns:1fr; margin-left:0; }
  .route-branch + .route-branch { border-top:1px solid var(--ink); border-left:0; }

  .oss-equation-scroll { padding:27px 0; overflow-x:visible; text-align:left; }
  .piecewise-formula {
    min-width:0;
    grid-template-columns:auto 28px minmax(0,1fr);
    width:100%;
    font-size:25px;
  }
  .piecewise-brace { font-size:68px; }
  .piecewise-cases > span { grid-template-columns:50px minmax(0,1fr); gap:10px; }
  .piecewise-cases small { font-size:15px; white-space:normal; }
  .oss-equation-words { grid-template-columns:1fr; gap:7px; }
  .oss-objective { grid-template-columns:1fr; }
  .oss-objective div { padding:17px 0 19px; }
  .oss-objective div + div { padding-left:0; border-top:1px solid var(--line); border-left:0; }

  .alpha-explorer { grid-template-columns:1fr; }
  .alpha-controls { padding:27px 0; }
  .alpha-output { padding:28px 0; border-top:1px solid var(--ink); border-left:0; }
  .alpha-output__headline strong { font-size:49px; }
  .alpha-options { gap:6px; }
  .alpha-option label { min-height:50px; }

  .regime { grid-template-columns:1fr auto; gap:8px 18px; }
  .regime h3 { grid-column:1; }
  .regime strong { grid-column:2; grid-row:1 / span 2; }
  .regime p { grid-column:1 / -1; }

  .flywheel-row { grid-template-columns:54px 74px minmax(70px,1fr) 47px; gap:9px; }
  .flywheel-row small { display:none; }
  .flywheel-row strong { font-size:10px; }

  .boundary-pair { grid-template-columns:1fr; }
  .boundary-item { padding:24px 0 27px; }
  .boundary-item + .boundary-item { padding-left:0; border-top:1px solid var(--ink); border-left:0; }
  .boundary-item blockquote { font-size:22px; }

  .artifact-list { grid-template-columns:1fr 1fr; gap:29px 0; }
  .software-split { grid-template-columns:1fr; gap:42px; }
  .oss-page .limits-grid { grid-template-columns:1fr; gap:27px; }
}

@media (max-width:420px) {
  .oss-page .hero-copy h1 { font-size:56px; }
  .oss-page .hero-copy h1 em { font-size:28px; }
  .artifact-list { grid-template-columns:1fr; }
  .alpha-stats { grid-template-columns:1fr; gap:10px; }
  .install-links { grid-template-columns:1fr; }
  .install-links a + a { border-top:1px solid rgba(255,253,247,.2); border-left:0; }
}
