/* Astra geometry, now sharing a display bus. None of these graphics measures hardware. */
.terminal-evolved{--machine-ink:#e4ae4c;--machine-accent:#a4c77d;--machine-alert:#da4c2d;--machine-muted:#806332;--machine-clock:#ddba78;--machine-rgb:228,174,76;--clock-ink:var(--machine-clock)!important}
.terminal-evolved .h5-time{border-color:var(--machine-muted);transition:border-color 3.5s ease,background 3.5s ease}
.terminal-evolved .h5-time-seal,.terminal-evolved .h5-seconds b,.terminal-evolved .h5-seconds .clock-seconds,.terminal-evolved .h5-wordmark{color:var(--machine-ink);transition:color 3.5s ease}
.terminal-evolved .segment-clock{color:var(--machine-clock);transition:color 3.5s ease}
.terminal-evolved .h5-node{background:var(--machine-ink)}.terminal-evolved .h5-node b,.terminal-evolved .h5-core-identity>.h5-unit-label b{color:var(--machine-ink)}.terminal-evolved .h5-core-identity>strong{-webkit-text-stroke-color:var(--machine-ink)}
.terminal-evolved .recovered-wave,.terminal-evolved .recovered-depth{color:var(--machine-ink);transition:color 4s ease,transform 3s ease}
.terminal-evolved .h5-structure{color:var(--machine-muted);transition:color 4s ease}.terminal-evolved .h5-packets{stroke:var(--machine-ink)!important}.terminal-evolved .h5-signal{stroke:var(--machine-accent)}
.terminal-evolved .h5-search input{color:var(--machine-clock)!important}.terminal-evolved .h5-search button,.terminal-evolved .h5-search>span{color:var(--machine-ink)}
.machine-underlay{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;color:var(--machine-ink);transition:color 4s ease}
.machine-underlay svg{position:absolute;fill:none;stroke:currentColor;stroke-width:.55;overflow:visible}.machine-underlay svg text{font:4px Telemetry;fill:currentColor;stroke:none;letter-spacing:.7px}
.machine-contours{left:2%;top:5%;width:54%;height:28%;opacity:.13;transform:rotate(-12deg) skewX(-8deg);transition:opacity 2s ease,transform 3s ease}.machine-contours g{transform-origin:center;animation:contour-breathe 21s ease-in-out infinite alternate}.machine-contours .machine-axis{stroke-width:.8;opacity:.8}
.machine-anatomy{width:24%;height:65%;right:6%;top:28%;opacity:.19;transform:rotate(8deg);transition:opacity 2s ease,transform 3s ease}.machine-armour{fill:rgba(var(--machine-rgb),.045)}.machine-anatomy-register{stroke:var(--machine-alert);fill:none}.machine-anatomy-register text{fill:var(--machine-alert)}
.machine-register{position:absolute;left:34%;top:70%;width:51%;transform:rotate(-5deg);color:var(--machine-muted);opacity:.55;transition:opacity 2s ease,transform 3s ease;font:3.5px Telemetry;letter-spacing:.25px}.machine-register>span{display:block;font-size:3px;color:var(--machine-ink);margin-bottom:3px}.machine-register i{display:flex;gap:4px;font-style:normal;line-height:1.7;white-space:nowrap}.machine-register em{font-style:normal;opacity:.7}.machine-register b{font-weight:400;flex:1}.machine-register u{color:var(--machine-accent);text-decoration:none;font-size:3px}
.machine-seal{right:24%;top:18%;width:16%;height:42%;opacity:.1;transform:rotate(14deg);transition:opacity 2s ease,transform 3s ease}.machine-fiction{position:absolute;bottom:8%;right:3%;font:3px Telemetry;letter-spacing:.45px;color:var(--machine-muted);opacity:.65}
.machine-tube-bank{position:absolute;bottom:10%;left:13%;width:66%;height:26px;display:flex;gap:3px;transform:skewY(-5deg);opacity:.3}.machine-tube-bank>span{position:absolute;left:0;top:-7px;font:3px Telemetry;letter-spacing:1px}.machine-tube-bank>i{display:block;flex:1;position:relative;border:1px solid var(--machine-muted);border-top-width:3px;border-bottom-width:3px;clip-path:polygon(20% 0,80% 0,100% 18%,100% 82%,80% 100%,20% 100%,0 82%,0 18%)}.machine-tube-bank b{position:absolute;inset:2px 0;background:var(--machine-accent);transform-origin:50% 100%;scale:1 .5;animation:lcl-drift 9s ease-in-out infinite alternate;animation-delay:calc(var(--tube)*-.27s)}
[data-machine-detail=parts] .machine-tube-bank{opacity:.65;transition:opacity 2s ease}
@keyframes lcl-drift{0%,10%{scale:1 .12}45%{scale:1 .88}100%{scale:1 .35}}
[data-machine-detail=parts] .machine-anatomy{opacity:.47;transform:rotate(-7deg) translate(-8px,-4px)}[data-machine-detail=parts] .machine-register{opacity:.8;transform:rotate(-3deg) translateY(-9px)}[data-machine-detail=parts] .machine-contours{opacity:.07}
[data-machine-detail=seal] .machine-seal{opacity:.35;transform:rotate(-6deg) translateY(8px)}[data-machine-detail=seal] .machine-contours{opacity:.25;transform:rotate(5deg) skewX(5deg)}[data-machine-detail=seal] .machine-anatomy{opacity:.12}
.terminal-evolved:not([data-context=field]) .machine-underlay{opacity:.12}.terminal-evolved:not([data-context=field]) .machine-fiction{display:none}
@keyframes contour-breathe{to{transform:translate(4px,-3px) scale(1.05,.94)}}

/* Neutralise the old central popup; warnings now attach to outgoing geometry. */
.machine-route-layer.evo-fault-theatre{position:absolute!important;inset:0!important;width:100%;height:100%;z-index:12!important;display:block!important;pointer-events:none!important;overflow:hidden;background:none!important;border:0!important;transform:none!important;opacity:1}
.route-circuit{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--machine-alert);stroke-width:1;opacity:.8;overflow:hidden}
.route-circuit path{stroke-dasharray:3 9 44 9;animation:circuit-run 1.4s linear infinite;animation-delay:calc(var(--route-order)*-.12s)}
.route-tag{position:absolute;width:105px;padding:2px 3px 3px 5px;color:#f17e51;border-left:3px solid var(--machine-alert);background:#080200e8;font:7px Command;letter-spacing:.6px;clip-path:polygon(0 0,92% 0,100% 30%,100% 100%,0 100%);opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .25s ease}
.route-tag b{font-weight:400;display:block;white-space:nowrap}.route-tag small{font:3px Telemetry;display:block;letter-spacing:.5px;color:#bd6650;margin-top:2px}
.route-shard{position:absolute;display:block;height:4px;opacity:0;background:repeating-linear-gradient(120deg,transparent 0 7px,rgba(212,61,29,.6) 7px 8px,transparent 8px 13px);clip-path:polygon(0 0,69% 0,74% 40%,100% 40%,96% 100%,12% 100%,9% 50%,0 50%);transform-origin:15% 50%}
.route-counter{position:absolute;background:#100400ed;color:#ee7142;font:var(--counter-size)/1 Command;text-align:center;border-bottom:1px solid #a33a24;z-index:2}.route-counter b{font-weight:400}.route-counter small{display:block;font:3.5px Telemetry;color:#d6ad70;letter-spacing:.35px;white-space:nowrap}
.route-archive-echo{position:absolute;padding:7px 8px;background:#080200eb;color:#dc6744;border-left:4px solid #c25034;clip-path:polygon(0 0,90% 0,100% 18%,100% 88%,96% 100%,0 100%);transform:rotate(-3deg);font:5px Telemetry}.route-archive-echo>span,.route-archive-echo>small{display:block;font-size:4px;letter-spacing:1px}.route-archive-echo strong{font:28px/1 Command;display:block;letter-spacing:3px;margin:4px 0}.route-archive-echo b{font-size:6px;display:block;margin-bottom:6px}
.route-search-socket{position:absolute;writing-mode:vertical-rl;font:6px Telemetry;letter-spacing:1px;padding:5px;border-left:1px solid #b34c2d;color:#d0a164;background:#050200dd}
.terminal-evolved[data-route-phase=cascade] .h5-charge strong,.terminal-evolved[data-route-phase=isolate] .h5-charge strong,.terminal-evolved[data-route-phase=cascade] .h5-resource em,.terminal-evolved[data-route-phase=isolate] .h5-resource em{opacity:.08}
.terminal-evolved[data-route-phase=cascade] .h5-meter i:nth-child(2n){background:#d9572c!important;animation:buffer-overrun .7s steps(2) 1!important}.terminal-evolved[data-route-phase=isolate] .h5-meter i{background:#773522!important;opacity:.25}
.terminal-evolved[data-route-phase=isolate] .route-archive-echo{translate:3px 0;filter:contrast(1.4)}
.terminal-evolved[data-route-phase=recovery] .route-counter,.terminal-evolved[data-route-phase=recovery] .route-archive-echo,.terminal-evolved[data-route-phase=recovery] .route-search-socket{opacity:0;transition:opacity .4s ease}.terminal-evolved[data-route-phase=settle] :is(.route-counter,.route-archive-echo,.route-search-socket){display:none}
@keyframes buffer-overrun{50%{scale:1 1.8;translate:0 -2px;background:#b5c373}}
.terminal-evolved[data-route-phase=instability] .route-origin{animation:bus-instability .7s steps(1) 1!important}
.terminal-evolved[data-route-phase=cascade] .route-affected{animation:bus-cascade 1.1s steps(1) 1!important;animation-delay:calc(var(--route-order)*.045s)!important}
.terminal-evolved[data-route-phase=cascade] .route-origin{filter:contrast(1.45) saturate(.4);clip-path:polygon(0 0,100% 0,100% 31%,95% 31%,95% 34%,100% 34%,100% 68%,4% 68%,4% 71%,100% 71%,100% 100%,0 100%)}
.terminal-evolved[data-route-phase=cascade] .route-tag,.terminal-evolved[data-route-phase=isolate] .route-tag{opacity:1;transform:none;transition-delay:calc(var(--route-order)*.065s)}
.terminal-evolved[data-route-phase=cascade] .route-shard,.terminal-evolved[data-route-phase=isolate] .route-shard{opacity:.85;animation:fragment-slip .8s steps(3) 1;animation-delay:calc(var(--route-order)*.06s)}
.terminal-evolved[data-route-phase=isolate] .route-origin{opacity:.17;filter:saturate(0);translate:0 -3px;transition:opacity .65s ease,filter .65s ease,translate .65s ease}
.terminal-evolved[data-route-phase=isolate] .h5-time.route-affected{filter:saturate(.35)!important;opacity:.65;animation:none!important;transition:opacity .6s ease}
.terminal-evolved[data-route-phase=isolate] .route-circuit{stroke-width:1.6;stroke:#db5c34}
.terminal-evolved[data-route-phase=recovery] .route-tag{opacity:.8;transform:translateY(3px);color:var(--machine-accent);border-color:var(--machine-accent)}
.terminal-evolved[data-route-phase=recovery] .route-circuit{stroke:var(--machine-accent);opacity:.8;transition:stroke .5s ease}
.terminal-evolved[data-route-phase=recovery] .route-shard{opacity:.3;background:var(--machine-accent);height:1px;transition:opacity .8s ease}
.terminal-evolved[data-route-phase=recovery] .route-origin,.terminal-evolved[data-route-phase=settle] .route-origin{filter:none;clip-path:none;opacity:1;translate:0 0;transition:opacity .8s ease}
.terminal-evolved[data-route-phase=settle] .route-tag,.terminal-evolved[data-route-phase=settle] .route-shard{opacity:0;transition:opacity .7s ease}.terminal-evolved[data-route-phase=settle] .route-circuit{opacity:0;transition:opacity 1.2s ease}
.terminal-evolved[data-route-phase=handoff] .route-origin{opacity:.6;transition:opacity .26s ease}.machine-route-layer[data-intense=false] .route-circuit{stroke:var(--machine-ink);opacity:.3}
/* Old emergency CSS must not shake the clock through the entire reconstruction. */
.terminal-evolved[data-route-phase] .h5-time{animation:none!important}.terminal-evolved[data-route-phase] .h5-bottom .app-button{translate:0!important}
.terminal-evolved[data-route-phase] .h5-packets{stroke:var(--machine-alert)!important}.terminal-evolved[data-route-phase=recovery] .h5-packets,.terminal-evolved[data-route-phase=settle] .h5-packets{stroke:var(--machine-accent)!important}
@keyframes bus-instability{0%,30%,75%,100%{translate:0 0}31%,36%{translate:2px 0;filter:contrast(1.4)}37%,40%{translate:-1px 0}76%,83%{translate:0 -1px;filter:saturate(.3)}}
@keyframes bus-cascade{0%,18%,60%,100%{translate:0 0}19%,24%{translate:-2px 1px;filter:contrast(1.6)}25%,36%{translate:3px -1px}37%,59%{translate:0 1px;filter:saturate(.1)}61%,72%{translate:-1px 0}}
@keyframes fragment-slip{0%{translate:0 0}45%{translate:7px -2px;scale:.96 1}80%{translate:-4px 1px}100%{translate:0 0}}
@keyframes circuit-run{to{stroke-dashoffset:-130}}
.machine-paused .machine-underlay *,.terminal-evolved.evo-contact .machine-underlay *{animation-play-state:paused!important}
.terminal-evolved:not([data-context=field]) .machine-underlay *{animation-play-state:paused!important}
body:is([data-motion=off],[data-motion=low]) .machine-underlay *,body:is([data-motion=off],[data-motion=low]) .route-affected{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.machine-underlay *,.route-affected{animation:none!important;transition:none!important}.machine-route-layer{display:none!important}}
@media(max-height:700px){.machine-register{top:67%;font-size:3px}.machine-fiction{bottom:9%;font-size:2.5px}.machine-anatomy{opacity:.16}}
