:root{
  --paper:#f3f2ea;
  --page:#e8e6df;
  --void:#1a1a1a;
  --ink:#1d1b18;
  --muted:#666055;
  --blue:#0055aa;
  --red:#d93025;
  --surface:#e6e4dc;
  --surface-2:#efece4;
  --line:rgba(26,26,26,.16);
  --line-strong:rgba(26,26,26,.42);
  --shadow:10px 10px 0 rgba(0,0,0,.1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.6}
a{color:var(--blue);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{opacity:.88}
.wrap{width:min(1120px,calc(100vw - 28px));margin:0 auto}
body::before{content:'';position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:linear-gradient(rgba(0,85,170,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(0,85,170,.06) 1px, transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom, rgba(0,0,0,.28), transparent 65%)}
header{padding:14px 0 10px}
.topbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--blue);color:#fff;padding:10px 14px;border:1px solid var(--void);border-bottom:none;box-shadow:var(--shadow);font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.16em;text-transform:uppercase}
.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:18px;background:var(--paper);border:1px solid var(--void);box-shadow:var(--shadow);padding:20px 18px 18px;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(0,85,170,.16), rgba(0,85,170,0) 70%);pointer-events:none}
.hero-copy{position:relative;z-index:1}
.hero-aside{display:grid;gap:12px;align-content:start;position:relative;z-index:1}
.hero-card,.brand-strip,.stat,.panel,.card{background:rgba(255,255,255,.72);backdrop-filter:saturate(1.03);border:1px solid var(--line-strong);box-shadow:var(--shadow)}
.hero-card{padding:14px}
.kicker,.section-label,.meta-line,.tag,.tag-strong,.topnote,.section-num,.nav-label{font-family:'Courier Prime','Courier New',monospace}
.kicker{font-size:11px;line-height:1.3;letter-spacing:.2em;text-transform:uppercase;color:var(--red);margin-bottom:10px}
.topnote{display:inline-block;border:1px solid var(--line-strong);padding:5px 8px;margin-bottom:10px;background:var(--surface);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;margin:0;color:var(--void)}
h1{font-size:clamp(2.6rem,7vw,5rem);line-height:.9;max-width:13ch;letter-spacing:-.03em}
h2{font-size:clamp(1.6rem,3.2vw,2.45rem);line-height:1.03}
h3{font-size:1.28rem;line-height:1.15}
p,li{line-height:1.62}
.muted{color:var(--muted)}
.lead{margin:16px 0 0;padding-left:14px;border-left:4px solid var(--red);font-size:18px;font-weight:500;max-width:56ch}
.meta-stack{display:grid;gap:8px}
.meta-line{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(26,26,26,.75)}
.brand-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:16px;padding:0;background:var(--surface)}
.brand-strip div{padding:12px 14px;border-right:1px solid var(--line-strong)}
.brand-strip div:last-child{border-right:none}
.brand-strip strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-family:'Courier Prime','Courier New',monospace;color:var(--red);margin-bottom:6px}
nav.top{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px;padding:12px 0 2px;position:sticky;top:0;z-index:10}
nav.top a{display:inline-block;padding:9px 12px;background:var(--surface-2);border:1px solid var(--line-strong);box-shadow:4px 4px 0 rgba(0,0,0,.06);text-decoration:none;color:var(--void)}
nav.top a:hover{background:#fff}
main{padding:18px 0 64px;counter-reset:section}
.stats,.cards,.grid3{display:grid;gap:16px}.stats{grid-template-columns:repeat(auto-fit,minmax(155px,1fr))}.cards{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.stat,.panel,.card{padding:18px;background:var(--paper)}
.stat .num{font:800 clamp(1.9rem,4vw,2.9rem)/1 Inter,sans-serif;margin-top:8px;color:var(--void)}
.section{margin-top:28px}
.section-head{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:start;margin-bottom:14px}
.section-num{display:flex;align-items:center;justify-content:center;padding-top:2px;font-size:12px;color:var(--red);letter-spacing:.16em;text-transform:uppercase}
.section-num::before{counter-increment:section;content:counter(section, decimal-leading-zero)}
.section-title p{margin:6px 0 0}
.two-col{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}
.tagrow{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag,.tag-strong{display:inline-block;padding:5px 8px;border:1px solid var(--line-strong);background:#fffdf8;font-size:.82rem;text-decoration:none;color:var(--void)}
.tag-strong{background:var(--blue);color:#fff;border-color:var(--blue)}
.search{width:100%;padding:12px 14px;border:1px solid var(--line-strong);background:#fffdf8;font-size:1rem}.clean{list-style:none;padding:0;margin:0;display:grid;gap:10px}.clean li{position:relative;padding-left:18px}.clean li::before{content:'■';position:absolute;left:0;top:0;color:var(--red);font-size:10px;line-height:1.9}
.card h3,.panel h2{margin-bottom:10px}
.card p:last-child,.panel p:last-child{margin-bottom:0}
.quote-panel{background:var(--void);color:var(--paper)}
.quote-panel .kicker{color:#9fc2eb}
.quote-panel blockquote{margin:0;font-size:1.05rem;line-height:1.55}
.rule-list{display:grid;gap:12px}
.rule-item{padding:12px 14px;border:1px solid var(--line-strong);background:#fff}
.footer{padding:22px 0 60px;color:var(--muted);font-size:.95rem}
@media (max-width:860px){
  .hero{grid-template-columns:1fr}
  .brand-strip{grid-template-columns:1fr}
  .brand-strip div{border-right:none;border-bottom:1px solid var(--line-strong)}
  .brand-strip div:last-child{border-bottom:none}
  .two-col{grid-template-columns:1fr}
}
@media (max-width:640px){
  .wrap{width:min(1120px,calc(100vw - 18px))}
  .topbar{font-size:10px;padding:9px 11px}
  .hero{padding:16px 14px}
  h1{max-width:none}
  nav.top{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}
  nav.top a{white-space:nowrap}
}

.diagram-shell{margin-top:18px;background:var(--paper);border:1px solid var(--void);box-shadow:var(--shadow);padding:16px}
.diagram-shell .section-head{margin-bottom:10px}
.diagram-intro{margin:0 0 14px;color:var(--muted)}
.diagram{display:grid;grid-template-columns:minmax(220px,.9fr) 44px minmax(220px,1fr) 44px minmax(220px,.9fr);gap:10px;align-items:stretch}
.diagram-col{display:grid;gap:10px}
.diagram-spine{display:flex;align-items:center;justify-content:center;position:relative}
.diagram-spine::before{content:'';width:2px;height:100%;background:linear-gradient(var(--line-strong), rgba(0,85,170,.18), var(--line-strong))}
.diagram-spine::after{content:'FLOW';position:absolute;transform:rotate(-90deg);font:700 11px/1 'Courier Prime','Courier New',monospace;letter-spacing:.22em;color:var(--red);background:var(--paper);padding:3px 6px}
.diagram-node{display:block;background:#fffdf8;border:1px solid var(--line-strong);box-shadow:6px 6px 0 rgba(0,0,0,.06);padding:12px 12px 11px;text-decoration:none;color:var(--void);position:relative;min-height:118px}
.diagram-node:hover{transform:translate(-1px,-1px);box-shadow:8px 8px 0 rgba(0,0,0,.08);background:#fff}
.diagram-node strong{display:block;font-family:'Source Serif 4',Georgia,serif;font-size:1.08rem;line-height:1.08;margin-bottom:8px}
.diagram-node .node-kicker{display:block;font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.diagram-node .node-copy{display:block;font-size:.93rem;line-height:1.45;color:var(--muted)}
.diagram-node .node-jump{display:inline-block;margin-top:10px;font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.diagram-node.core{background:linear-gradient(180deg,#fffdf8 0%, #f3f7fc 100%)}
.diagram-node.packages{background:linear-gradient(180deg,#fffdf8 0%, #f8f2eb 100%)}
.diagram-node.automation{background:linear-gradient(180deg,#fffdf8 0%, #f2f6ee 100%)}
.diagram-node.interfaces{background:linear-gradient(180deg,#fffdf8 0%, #f5f1f8 100%)}
.diagram-node.safety{background:linear-gradient(180deg,#fffdf8 0%, #faf1ef 100%)}
.diagram-node.brand-hub{display:flex;flex-direction:column;justify-content:center;min-height:246px;background:linear-gradient(180deg,var(--surface) 0%, #f8f6f0 100%);border:1px solid var(--void)}
.diagram-node.brand-hub strong{font-size:1.36rem}
.diagram-key{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.diagram-key span{display:inline-block;padding:5px 8px;border:1px solid var(--line-strong);font:700 11px/1.2 'Courier Prime','Courier New',monospace;text-transform:uppercase;letter-spacing:.08em;background:#fff}
@media (max-width:980px){.diagram{grid-template-columns:1fr}.diagram-spine{display:none}.diagram-node.brand-hub{min-height:unset}}


.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.action-pill{display:inline-block;padding:9px 12px;border:1px solid var(--line-strong);background:#fff;text-decoration:none;color:var(--void);box-shadow:4px 4px 0 rgba(0,0,0,.06);font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase}
.action-pill:hover{background:var(--surface-2)}
.skim-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:18px}
.readme-copy p{margin:0 0 14px}
.readme-copy p:last-child{margin-bottom:0}
.empty-note{padding:12px 14px;border:1px dashed var(--line-strong);background:#fffdf8;color:var(--muted)}
.topic-list{display:flex;flex-wrap:wrap;gap:8px}
.topic-chip{display:inline-block;padding:6px 9px;border:1px solid var(--line-strong);background:#fff;font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--void)}
.code-preview{margin:0;padding:14px;overflow:auto;background:#161616;color:#f3f2ea;border:1px solid var(--void);box-shadow:var(--shadow);font:13px/1.5 'Courier Prime','Courier New',monospace;white-space:pre-wrap}
.source-links{display:grid;gap:10px}
.source-links a{word-break:break-word}
.mini-stat{display:grid;gap:6px}
.mini-stat strong{font:700 11px/1.25 'Courier Prime','Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.related-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.summary-copy{font-size:1.03rem}
@media (max-width:860px){.skim-grid{grid-template-columns:1fr}}


.major-card{display:grid;gap:12px}
.project-scoreline{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.score-pill{display:inline-block;padding:5px 8px;border:1px solid var(--line-strong);background:#fff;font:700 11px/1.2 'Courier Prime','Courier New',monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--void)}
.mini-kicker{font:700 11px/1.2 'Courier Prime','Courier New',monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.card-split{display:grid;gap:12px}
.practice-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.practice-columns .panel{height:100%}
.practice-stack{display:grid;gap:16px}
.practice-note{margin-top:12px;padding:12px 14px;border:1px solid var(--line-strong);background:#fffdf8}
.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
@media (max-width:860px){.practice-columns{grid-template-columns:1fr}}
