/* Anime.js owns animated properties; CSS owns layout and immediate state feedback. */
:root{--motion-fast:180ms;--demo-caption-height:58px}
.anime-ready .lab-packets path,.anime-ready .lens-plates,.anime-ready .packet,.anime-ready .node,.anime-ready .chip,.anime-ready .bar,.anime-ready .session,.anime-ready .travel svg path,.anime-ready .travel svg circle,.anime-ready .market-lines b,.anime-ready .product-visual.market:after,.anime-ready .tags span,.anime-ready nav.open{animation:none!important}
.anime-ready .button,.anime-ready .brand .mark i,.anime-ready .text-link span,.anime-ready .quiet-link span,.anime-ready .nav-contact span{transition-property:color,background,border-color}
.anime-ready .brand:hover .mark i,.anime-ready .text-link:hover span,.anime-ready .button:hover span,.anime-ready .quiet-link:hover span,.anime-ready .nav-contact:hover span{transform:none}
.anime-ready .noise-paths,.anime-ready .output-paths{transition:none}
.anime-ready .reveal{opacity:1;transform:none;transition:none}
button{font-family:inherit}.demo-controls{display:flex;gap:var(--s1);flex-wrap:wrap}.demo-controls button,.pulse-button{border:1px solid var(--hairline);border-radius:var(--s1);background:transparent;color:var(--sage);font:var(--t-xs) var(--font-mono);padding:var(--s3);cursor:pointer;min-height:44px;transition:color var(--motion-fast),border-color var(--motion-fast),background var(--motion-fast)}
.demo-controls button[aria-pressed=true]{background:var(--raised);border-color:var(--accent-line);color:var(--signal)}.demo-controls button:hover,.pulse-button:hover{color:var(--chalk);border-color:var(--signal)}
.lab-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--s3);margin-top:var(--s5);flex-wrap:wrap}.pulse-button{color:var(--signal)}.pulse-button span{margin-left:var(--s2)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}
.product-visual .demo-caption{font-size:var(--t-xs);color:var(--sage);line-height:1.7;min-height:var(--demo-caption-height);margin:var(--s4) 0 var(--s3)}.product-visual .mini-bottom{position:static;margin-top:var(--s3);line-height:1.6}
.signal-row{display:flex;align-items:center;gap:var(--s3);width:100%;min-height:48px;border:0;border-top:1px solid var(--hairline);padding:var(--s3) var(--s2);background:transparent;color:var(--sage);font:var(--t-xs) var(--font-mono);cursor:pointer;text-align:left}.signal-row[aria-pressed=true]{background:var(--raised);color:var(--signal)}.signal-row:hover{background:var(--raised)}.signal-row .bar{display:block;flex:1;max-width:46%;height:var(--s1);background:var(--signal);transform-origin:left}.signal-row em{font:9px var(--font-mono);margin-left:auto;text-transform:uppercase;min-width:65px}.signal-row b{font-weight:400;color:var(--signal)}
.product-visual .demo-controls button{flex:1;padding:var(--s3) var(--s2)}.time-grid{margin-bottom:var(--s4)}.trip-marker{fill:var(--signal)!important}.product-visual.travel svg{overflow:visible}.lab-control input{min-height:8px}
a:focus-visible,button:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.text-link:focus-visible{background-size:100% 1px}nav a:focus-visible:after{transform:scaleX(1)}
.motion-paused .closing:after{animation:none!important;transform:translateX(0)}
@media(max-width:760px){.demo-controls button,.pulse-button{font-size:10px}.lab-actions{gap:var(--s2)}.lab-actions .demo-controls{flex:1}.lab-actions .demo-controls button{flex:1;padding:var(--s2)}.pulse-button{padding:var(--s2)}.product-visual .demo-caption{min-height:64px}.signal-row{gap:var(--s2)}}
@media(prefers-reduced-motion:reduce){.closing:after{animation:none!important;transform:translateX(0)}}
