:root{color-scheme:dark;--bg:#091115;--paper:#111e24;--ink:#eef4ef;--muted:#a4bbb9;--line:#38504f;--accent:#c0f866;--teal:#8dd8dc}html[data-theme=light]{color-scheme:light;--bg:#f4f6ee;--paper:#fff;--ink:#173331;--muted:#48635f;--line:#b7ccc2;--accent:#477006;--teal:#176672}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.7 system-ui,sans-serif}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}header{display:flex;align-items:center;gap:20px;padding:20px 5%;border-bottom:1px solid var(--line);flex-wrap:wrap}header nav{display:flex;gap:20px;margin-left:auto;flex-wrap:wrap}.brand{font-size:25px;font-weight:800;text-decoration:none}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:var(--paper);padding:12px;z-index:9}main{max-width:1120px;margin:auto;padding:50px 24px}h1{font-size:clamp(36px,6vw,68px);letter-spacing:-.05em;line-height:1.15;max-width:900px}h2{font-size:30px;letter-spacing:-.03em}h3{font-size:19px}p{max-width:78ch}section{scroll-margin-top:20px}.eyebrow{color:var(--accent);font:600 12px/1.5 monospace;letter-spacing:.12em}.lead{font-size:21px;color:var(--muted);max-width:55ch}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid var(--line);background:var(--paper);border-radius:9px;text-decoration:none;min-height:44px}.primary{background:var(--accent);color:var(--bg);font-weight:750}button:disabled{opacity:.5;cursor:default}.block{margin:60px 0;padding-top:30px;border-top:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--paper);min-width:0}.card p{font-size:14px;color:var(--muted)}.number{font:700 15px monospace;color:var(--accent)}details{border-top:1px solid var(--line);padding:16px 0}summary{cursor:pointer;min-height:44px;font-weight:650}.small{font-size:13px;color:var(--muted)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:14px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);min-width:135px}th{color:var(--teal)}.steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:20px 0}.steps button{display:block;text-align:left;font-size:13px}.steps button[aria-current=step]{border:2px solid var(--accent);background:var(--paper)}.steps small{display:block;color:var(--muted)}.pipeline{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;align-items:center;gap:8px}.pipeline article{border:1px solid var(--line);border-radius:10px;padding:16px;min-width:0}.pipeline p{font-size:14px}.pipeline strong{font:700 14px monospace;color:var(--teal)}.arrow{text-align:center;color:var(--accent);font-size:25px}.notice{border-left:3px solid var(--teal);padding:8px 16px;background:var(--paper)}#demo-status{min-height:1.7em}#stage-panel{border:1px solid var(--line);padding:24px;border-radius:15px;background:var(--paper)}.quotes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.quotes article{padding:15px;border:1px solid var(--line);border-radius:10px}.quotes p{margin:8px 0}.counts{font-size:13px;color:var(--muted)}code{overflow-wrap:anywhere}footer{padding-top:30px;color:var(--muted)}@media(max-width:700px){header{gap:12px;padding:15px}header nav{order:4;width:100%;gap:16px;font-size:14px}main{padding:24px 16px}.grid,.quotes{grid-template-columns:1fr}.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.pipeline{grid-template-columns:1fr}.arrow{transform:rotate(90deg)}#stage-panel{padding:16px}.block{margin:40px 0}.lead{font-size:18px}}@media print{header,button,.actions,.steps{display:none}body{background:white;color:black}main{max-width:none;padding:0}.block{margin:25px 0}.card,#stage-panel{break-inside:avoid}a{color:inherit}details{display:block}}
@media(min-width:360px) and (max-width:700px){.pipeline{grid-template-columns:minmax(0,1fr) 12px minmax(0,1fr) 12px minmax(0,1fr);gap:4px;align-items:stretch}.pipeline article{padding:10px 7px}.pipeline p{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.pipeline strong{font-size:10px}.arrow{transform:none;align-self:center;font-size:18px}}

header nav a,header>#language,header>button{font-size:14px;font-weight:600;line-height:1.4}
