@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=DM+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f5f5f0;--surface:#fffefa;--ink:#183c36;--ink-deep:#102c29;--text:#253b36;--muted:#74857c;--line:#d9e3da;--tint:#e8f3e9;--accent:#9fd8ba;--aqua:#c1ebdc;--red:#a94639;--radius:16px;color-scheme:light dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font:15px/1.6 "DM Sans",system-ui,sans-serif}
a{color:inherit;text-decoration:none}a:hover{text-decoration:none}button,a{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #35997e;outline-offset:4px}
.site{max-width:1480px;min-height:100vh;margin:auto;padding:0 48px;display:flex;flex-direction:column}
.skip{position:absolute;top:-100px;left:16px;z-index:100;background:var(--ink);color:white;padding:10px 20px}.skip:focus{top:12px}
.topbar{height:96px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:5px;font-size:28px;letter-spacing:-1.7px;font-weight:700;color:var(--ink);white-space:nowrap}
.brand-mark{width:30px;height:30px;background:var(--ink);border-radius:8px;margin-right:10px;display:flex;gap:3px;align-items:center;justify-content:center;transform:rotate(-8deg)}
.brand-mark span{width:4px;height:15px;background:var(--aqua);border-radius:3px;transform:skewY(18deg)}.brand-mark span:nth-child(2){height:21px}
.brand-muted{font-weight:400}.brand-note{font:10px "DM Mono",monospace;letter-spacing:2px;margin-left:12px;color:var(--muted)}
.navigation{display:flex;gap:30px;margin-left:auto;align-items:center}.navigation a{font-size:13px;font-weight:600;color:#6c7b73;white-space:nowrap;padding:9px 0;border-bottom:2px solid transparent}
.navigation a:hover,.navigation a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--ink)}
.top-source{font-size:12px;font-weight:700;border:1px solid var(--line);padding:10px 16px;border-radius:999px;white-space:nowrap}
.top-source:hover{background:var(--surface)}#main{flex:1;outline:none}
.eyebrow,.mono{font:11px/1.5 "DM Mono",ui-monospace,monospace;letter-spacing:1.5px;text-transform:uppercase;overflow-wrap:anywhere}.eyebrow{color:#477b67;font-weight:500}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center;padding:78px 0 66px;border-bottom:1px solid var(--line)}
.hero h1,.page-head h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-2.5px;color:var(--ink-deep);line-height:1.04}
.hero h1{font-size:clamp(60px,7.1vw,111px);margin:18px 0 28px;max-width:790px}.hero h1 em{color:#4b927b;font-weight:400}
.lede{font-size:17px;line-height:1.7;color:#63746d;max-width:575px;margin:0 0 28px}
.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.action{display:inline-flex;align-items:center;gap:14px;background:var(--ink);color:#fff;border-radius:999px;padding:13px 20px;font-weight:600;font-size:13px}
.action:hover{background:#286359}.action.outline{background:transparent;color:var(--ink);border:1px solid #acc7b7}.action.outline:hover{background:var(--tint)}
.panel,.metric,.entry,.step,.source-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.diagram{padding:28px 30px;background:#173b36;color:#e7eee8;border-radius:24px;box-shadow:0 18px 60px #284e3a20;position:relative;overflow:hidden}
.diagram:before{content:"";position:absolute;width:250px;height:250px;border:1px solid #85d8ad40;border-radius:100%;top:-150px;right:-100px}
.diagram-head{display:flex;justify-content:space-between;gap:12px;color:#bce1c8;padding-bottom:20px;border-bottom:1px solid #ffffff27}
.diagram .eyebrow{color:#bce1c8}.loop-step{display:flex;align-items:center;gap:16px;margin:18px 0;font-size:14px;position:relative}
.loop-no{font:11px "DM Mono",monospace;color:#a0ccb8;border:1px solid #6a9b85;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;flex:none}
.loop-step strong{display:block;font-weight:600}.loop-step small{display:block;color:#b2c9be;font-size:12px}
.loop-arrow{color:#94baaa;font-size:13px;padding-left:11px}.loop-foot{display:flex;align-items:center;gap:8px;padding-top:16px;border-top:1px solid #ffffff27;color:#bcd6c8;font-size:12px}
.dot{width:7px;height:7px;border-radius:50%;background:#a4d8b9;display:inline-block;flex:none}
.section{padding:58px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.section-title h2{font:400 38px/1.15 "Instrument Serif",Georgia,serif;letter-spacing:-.6px;color:var(--ink);margin:7px 0 0}
.section-title .hint{font-size:12px;color:var(--muted);max-width:370px;text-align:right}.section-link{font-size:12px;font-weight:700;color:#34775e}
.grid{display:grid;gap:16px}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.metric{padding:24px;min-height:152px;display:flex;flex-direction:column;justify-content:space-between}
.metric .label{font-size:12px;color:#708278}.metric .value{font:400 43px/1 "Instrument Serif",Georgia,serif;color:var(--ink);letter-spacing:-1px;margin:18px 0 10px}
.metric .note{font:11px "DM Mono",monospace;color:#829288}
.page-head{padding:78px 0 56px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(60px,7vw,94px);margin:12px 0 16px}.page-head .lede{margin:0;max-width:800px}
.list{display:grid;gap:12px}.entry{padding:21px 24px;display:flex;align-items:center;gap:22px;justify-content:space-between;min-width:0}
.entry-main{min-width:0}.entry-main strong{display:block;color:var(--ink);font-size:15px;line-height:1.5;overflow-wrap:anywhere}.entry-main small{display:block;color:var(--muted);margin-top:7px}
.entry-right{text-align:right;flex:none;font-size:12px;color:var(--muted)}.entry-right strong{font-size:14px;color:var(--ink);display:block}
.tag{display:inline-block;border-radius:999px;background:#e5f0e6;color:#356e58;padding:3px 9px;font:10px "DM Mono",monospace;letter-spacing:.2px;white-space:nowrap}
.tag.neutral{background:#eceee9;color:#667a70}.tag.warn{background:#f5eae2;color:#945e42}
.entry a:hover strong{text-decoration:underline}.panel{padding:27px}.panel h3{font:400 29px "Instrument Serif",Georgia,serif;color:var(--ink);margin:0 0 12px}
.panel p{color:#6c7d72;font-size:13px;line-height:1.7;margin:0}.stack{display:grid;gap:15px}.divider{height:1px;background:var(--line);margin:22px 0}
.statement{font-size:21px;line-height:1.5;color:var(--ink);max-width:800px}.callout{padding:18px 23px;background:var(--tint);border:1px solid #d3e4d7;border-radius:14px;font-size:13px;color:#507261;margin-top:22px}
.source-card{padding:25px}.source-card strong{display:block;margin:8px 0;font-size:17px;color:var(--ink)}.source-card p{font-size:12px;color:var(--muted)}.source-card a{display:inline-block;font-size:12px;color:#30735b;font-weight:700;margin-top:14px}
.footer{display:flex;justify-content:space-between;gap:22px;padding:35px 0;color:#87968b;font:10px "DM Mono",monospace;letter-spacing:.5px;flex-wrap:wrap}
.footer a{color:#407d65}.loading,.failure{padding:110px 0;color:var(--muted)}.failure{color:var(--red)}
@media(max-width:1100px){.site{padding:0 25px}.topbar{height:auto;min-height:90px;flex-wrap:wrap;gap:12px;padding:20px 0}.navigation{order:3;width:100%;min-width:0;overflow:auto;gap:22px;margin-left:0}.top-source{margin-left:auto}.hero{grid-template-columns:1fr;gap:35px}.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.site{padding:0 18px}.brand{font-size:24px}.brand-note{display:none}.top-source{padding:7px 10px}.navigation{gap:19px}.hero{padding:46px 0}.hero h1{font-size:64px}.lede{font-size:15px}.diagram{padding:24px}.section{padding:38px 0}.section-title{align-items:start;flex-direction:column}.section-title h2{font-size:34px}.section-title .hint{text-align:left}.grid.four,.grid.three,.grid.two{grid-template-columns:1fr}.metric{min-height:130px}.page-head{padding:48px 0 35px}.page-head h1{font-size:59px}.entry{align-items:flex-start;flex-direction:column;gap:12px}.entry-right{text-align:left}.footer{padding:28px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Independent public-only source evidence; not the product Web design system. */
.work-evidence{display:flex;flex-wrap:wrap;gap:7px 14px;align-items:center;margin-top:9px;font-size:12px;color:#72827a}
.work-evidence a{color:#286e56;text-decoration:underline;text-underline-offset:3px}
.work-evidence .mono{font-size:10px;color:#65786c}

/* Public-only GitHub Timeline cross-reference surface. Never uses product Web styles. */
.issue-pr-evidence{display:flex;flex-wrap:wrap;align-items:center;gap:7px 14px;margin-top:9px;font-size:12px;color:#72827a}
.issue-pr-evidence a{color:#286e56;text-decoration:underline;text-underline-offset:3px}
.issue-pr-evidence .issue-pr-source{flex-basis:100%;font-size:11px;opacity:.9}

/* Independent public Pages dark palette. No product Web tokens or assets. */
@media (prefers-color-scheme: dark){
 :root{--paper:#0d1513;--surface:#15201c;--ink:#dbe9e2;--ink-deep:#eef7f2;--text:#c2d1c9;--muted:#8ea198;--line:#2a3b34;--tint:#15271f;--accent:#69b894;--aqua:#8fd9bd;--red:#e08a7c;color-scheme:dark}
 body{background:var(--paper);color:var(--text)}
 .skip{background:var(--ink);color:var(--paper)}
 .brand-mark{background:#a6dcc0}.brand-mark span{background:#123c31}
 .hero h1 em{color:#82c9ab}
 .lede{color:#a6b8ae}
 .action{background:var(--ink);color:var(--paper)}
 .action:hover{background:#c7e7d8}
 .action.outline{border-color:#3a5449;color:var(--ink)}
 .diagram{background:#102a25;box-shadow:0 18px 60px #00000059}
 .eyebrow{color:#80c1a4}
 .section-link{color:#7cc6a5}
 .metric .label{color:#94a79c}
 .metric .note{color:#8c9e93}
 .tag{background:#1d332a;color:#9fd3b8}
 .tag.neutral{background:#202d28;color:#a6b5ab}
 .tag.warn{background:#33251f;color:#d8a086}
 .panel p{color:#a3b6ab}
 .callout{background:#15271f;border-color:#2f4839;color:#a9c6b6}
 .source-card a{color:#7fc4a4}
 .footer{color:#84968c}.footer a{color:#71bb9a}
 .work-evidence,.issue-pr-evidence{color:#93a69b}
 .work-evidence a,.issue-pr-evidence a{color:#71bb9a}
 .work-evidence .mono{color:#899d91}
}
