/* Motion is progressive enhancement: static content stays readable without JS. */
.network-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.65}
main,.footer{position:relative;z-index:1}
.coding-stage{display:grid;grid-template-columns:.7fr 1.3fr;gap:48px;align-items:center;margin-bottom:46px}
.coding-stage h2{font-size:30px;letter-spacing:-.8px;margin-bottom:14px}
.coding-stage .coding-description{font-size:15px;color:var(--muted);max-width:300px;margin-bottom:18px}
.terminal-window{min-width:0;overflow:hidden;background:#0b1420;border:1px solid #33475b;border-radius:12px;box-shadow:0 15px 40px #0002}
.terminal-titlebar{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#142132;border-bottom:1px solid #293b50;padding:12px 18px;font-size:12px;color:#b0c1d4}
.terminal-dots{display:flex;gap:6px}.terminal-dots i{width:7px;height:7px;border-radius:50%;background:#78929c}.terminal-dots i:nth-child(2){background:#499d92}.terminal-dots i:nth-child(3){background:#2dd4bf}
.terminal-titlebar>span:last-child{color:#95b1c1;font-size:11px}
.terminal-body{padding:24px;font-family:Consolas,"Cascadia Code",monospace;font-size:15px;line-height:1.7}
.terminal-command{display:flex;gap:10px;align-items:center;min-height:29px;white-space:pre;overflow:hidden;margin-bottom:18px}
.terminal-prompt{color:var(--accent)}.terminal-typed{color:#e5edf5}.terminal-cursor{display:inline-block;width:7px;height:18px;margin-left:3px;background:var(--accent);vertical-align:-3px;opacity:0}
[data-motion="running"] .terminal-cursor{animation:cursor-blink 1s steps(1,end) infinite}
.compiler-steps{display:flex;gap:12px;align-items:center;color:#758aa3;font-size:13px;flex-wrap:wrap}
.compiler-step{display:inline-flex;align-items:center;gap:7px;transition:color .35s}
.compiler-step.is-active{color:#d2efe9}.compiler-step.is-complete{color:var(--accent)}
.compiler-dot{width:7px;height:7px;border:1px solid currentColor;border-radius:50%}.is-complete .compiler-dot{background:currentColor}
[data-motion="running"] .compiler-step.is-active .compiler-dot{animation:compiler-pulse 1.3s ease-in-out infinite}
.compiler-track{height:3px;background:#263647;border-radius:3px;margin-top:20px;overflow:hidden}
.compiler-fill{height:100%;width:100%;background:var(--accent);transform-origin:left;transform:scaleX(1)}
.compiler-caption{margin:12px 0 0;color:#98aec6;font-family:"Segoe UI",sans-serif;font-size:12px;min-height:20px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}
@keyframes compiler-pulse{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:1000px){.coding-stage{gap:28px;grid-template-columns:.75fr 1.25fr}.compiler-steps{gap:7px;font-size:12px}.terminal-body{padding:20px}}
@media(max-width:700px){.coding-stage{grid-template-columns:1fr;gap:20px;margin-bottom:34px}.coding-stage h2{font-size:28px}.coding-stage .coding-description{max-width:450px}.coding-intro{position:relative}.terminal-body{padding:20px 17px;font-size:13px}.terminal-titlebar{padding:11px 15px}.terminal-titlebar>span:last-child{display:none}.compiler-steps{font-size:11px;gap:8px}.compiler-step{gap:5px}.network-canvas{opacity:.42}}
@media(prefers-reduced-motion:reduce){.terminal-cursor{display:none}.compiler-dot,.compiler-step{animation:none!important;transition:none!important}}
