.built-head{padding-bottom:8px}.built-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px;list-style:none;padding:0}.built-stack li{padding:7px 10px;border:1px solid var(--line);font-family:var(--font-mono);font-size:11px;color:var(--fg-2)}.built-stack li b{font-weight:400;color:var(--accent)}.built-stages{padding-inline:40px}.stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:56px;align-items:start;padding:56px 0;border-top:1px solid var(--line)}.stage-copy .num{margin-bottom:16px}.stage-copy h2{font-size:26px;line-height:1.3;margin-bottom:16px;max-width:460px}.stage-copy p{color:var(--fg-2);font-size:15px;line-height:1.7}.stage-why{margin-top:24px;padding:16px 18px;border-left:2px solid var(--accent);background:#c5f04a08}.stage-why h3{font-family:var(--font-mono);font-weight:400;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.stage-why p{font-size:14px}.diagram{background:var(--panel);border:1px solid var(--line);box-shadow:0 24px 80px #0003;transition:border-color .6s ease}.is-active .diagram{border-color:#c5f04a55}.diagram-bar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line);font-family:var(--font-mono);font-size:10px;color:var(--fg-3)}.diagram-live{display:flex;align-items:center;gap:8px}.diagram-live:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--fg-3)}.is-active .diagram-live{color:var(--accent)}.is-active .diagram-live:before{background:var(--accent);box-shadow:0 0 10px #c5f04a80;animation:intro-pulse 1.4s infinite}.diagram svg{display:block;width:100%;height:auto;font-family:var(--font-mono)}.diagram-controls{display:flex;align-items:center;gap:6px}.diagram-controls button{color:var(--fg-2);font:inherit;background:none;border:1px solid transparent;padding:4px 8px;cursor:pointer;min-height:28px}.diagram-controls button:hover{color:var(--fg)}.diagram-controls button[aria-pressed=true]{color:var(--accent);border-color:#c5f04a44}.d-node{fill:var(--panel-2);stroke:var(--line)}.d-node.hot{stroke:var(--accent)}.d-inner{fill:#0a0b09;stroke:var(--line)}.d-boundary{fill:none;stroke:var(--accent);stroke-opacity:.35;stroke-dasharray:3 5}.d-edge{fill:none;stroke:var(--line);stroke-width:1.25}.d-flow{fill:none;stroke:var(--fg-3);stroke-width:1.25;stroke-dasharray:4 5}.d-flow.bad{stroke:var(--accent-red);stroke-opacity:.6}.is-active .d-flow{animation:d-march 1.2s linear infinite}.d-packet{fill:var(--accent);opacity:0}.d-packet.bad{fill:var(--accent-red)}.is-active .d-packet{opacity:1}.d-title{fill:var(--fg);font-size:12px}.d-sub{fill:var(--fg-3);font-size:9.5px}.d-label{fill:var(--fg-2);font-size:10px}.d-tag{fill:var(--accent);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.d-ok{fill:var(--accent);font-size:9.5px}.d-bad{fill:var(--accent-red);font-size:9.5px}.d-warm{fill:var(--accent-warm)}.d-chip{fill:#0a0b09;stroke:var(--line)}.d-x{stroke:var(--accent-red);stroke-width:1.5}.d-tick{fill:none;stroke:var(--accent);stroke-width:1.5}.d-meter-on{fill:var(--accent)}.d-meter-mid{fill:var(--accent-warm)}.d-meter-off{fill:var(--fg-3)}.d-switch{fill:#0a0b09;stroke:var(--line)}.d-switch-knob{fill:var(--fg-3)}.d-switch-knob.armed{fill:var(--accent-red)}@keyframes d-march{to{stroke-dashoffset:-18}}.d-row text{transition:opacity .4s ease}.d-row .d-deny{opacity:0}[data-tenant=a] .d-row[data-tenant=b] text,[data-tenant=b] .d-row[data-tenant=a] text{opacity:.14}[data-tenant=a] .d-row[data-tenant=b] .d-cell,[data-tenant=b] .d-row[data-tenant=a] .d-cell{opacity:0}[data-tenant=a] .d-row[data-tenant=b] .d-deny,[data-tenant=b] .d-row[data-tenant=a] .d-deny{opacity:1}[data-tenant=a] .d-row[data-tenant=a] .d-tenant,[data-tenant=b] .d-row[data-tenant=b] .d-tenant{fill:var(--accent)}.compile{display:grid;grid-template-columns:1fr 1.25fr;gap:0}.compile pre{margin:0;padding:16px;overflow-x:auto;font-family:var(--font-mono);font-size:10px;line-height:1.75;color:var(--fg-2);background:#0a0b09}.compile pre+pre{border-left:1px solid var(--line)}.compile .k{color:var(--fg-3)}.compile .v{color:var(--fg)}.compile .ln{display:block;padding:0 6px;margin:0 -6px;transition:background .3s ease,color .3s ease}.compile .ln.on{background:#c5f04a14;color:var(--accent)}.compile .ln.on .v,.compile .ln.on .k{color:var(--accent)}.compile-foot{display:flex;flex-wrap:wrap;gap:6px 18px;padding:12px 16px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:10px;color:var(--fg-3)}.compile-foot b{font-weight:400;color:var(--accent)}.decisions{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:36px}.decision{border-top:1px solid var(--line);padding-top:20px}.decision h3{font-size:17px;line-height:1.4;margin-bottom:10px}.decision p{color:var(--fg-2);font-size:14px;line-height:1.7}@media(max-width:1100px){.stage{gap:32px}}@media(max-width:1000px){.built-stages{padding-inline:24px}}@media(max-width:900px){.stage{grid-template-columns:1fr;gap:24px;padding:44px 0}.stage-copy h2{max-width:none}.decisions{grid-template-columns:1fr;gap:20px}.compile{grid-template-columns:1fr}.compile pre+pre{border-left:0;border-top:1px solid var(--line)}}@media(max-width:640px){.diagram{overflow-x:auto}.diagram svg{min-width:560px}}@media(max-width:480px){.built-stages{padding-inline:20px}.stage-copy h2{font-size:22px}}@media(prefers-reduced-motion:reduce){.is-active .d-flow,.is-active .diagram-live:before{animation:none}.d-packet{display:none}.diagram{transition:none}}
