.lab-brief{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:36px;display:grid}.lab-brief-copy>p:not(.tag){max-width:54ch}.lab-facts{border-top:1px solid var(--card-line);gap:12px;margin:20px 0 24px;padding:16px 0 0;display:grid}.lab-facts div{grid-template-columns:9.5em minmax(0,1fr);gap:12px;display:grid}.lab-facts dt{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font:500 11px/1.9 Consolas,monospace}.lab-facts dd{margin:0;font-size:15px;line-height:1.5}.lab-brief .actions{margin:0}.play-replay{margin-top:14px}@media (max-width:860px){.lab-brief{grid-template-columns:minmax(0,1fr);gap:28px}}@media (max-width:520px){.lab-facts div{grid-template-columns:minmax(0,1fr);gap:2px}}.incident-heading{grid-template-columns:minmax(0,1fr) clamp(360px,30vw,460px);align-items:center;gap:32px;margin-bottom:28px;display:grid}.incident-heading>.section-object{float:none;grid-area:1/2;width:100%;margin:0}.incident-heading .method-glyph{max-width:none;height:auto}.incident-heading-copy{grid-area:1/1;min-width:0}.incident-heading-copy .lede{margin-bottom:0}@media (max-width:1023px){.incident-heading{grid-template-columns:minmax(0,1fr);gap:16px}.incident-heading>.section-object{grid-column:1;width:min(100%,380px)}.incident-heading-copy{grid-row:2}}.glyph-incident .glyph-signal{stroke-dasharray:.07 2;stroke-linecap:round}.glyph-incident .glyph-signal.technical{stroke:var(--signal);stroke-width:3.5px;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--signal) 45%, transparent))}.glyph-incident .glyph-signal.communication{stroke:color-mix(in srgb, var(--signal) 55%, var(--muted));stroke-width:2.5px}.glyph-incident .glyph-rail.technical{stroke:var(--signal);stroke-width:2px}.glyph-incident .glyph-rail.communication{stroke:var(--muted);stroke-width:1px}.glyph-incident .glyph-cross{fill:color-mix(in srgb, var(--signal) 18%, transparent);stroke:var(--signal);stroke-width:1.5px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:no-preference){.section-object .glyph-incident :is(.glyph-primary,.glyph-secondary){animation:2.96s .35s both incident-trace}.section-object .glyph-incident .glyph-rail{animation:3.65s ease-out incident-rail}.section-object .glyph-incident .glyph-signal{animation:2.96s .35s both incident-head,2.96s .35s incident-signal}.section-object .glyph-incident .glyph-cross{animation:.825s cubic-bezier(.3,0,.2,1) 1.48s incident-cross}.section-object .glyph-incident .glyph-point{transform-box:fill-box;transform-origin:50%;animation:incident-node .45s var(--motion-settle) .765s backwards}.section-object .glyph-incident g:nth-of-type(2) .glyph-point{animation-delay:2.375s}.section-object .glyph-incident g:nth-of-type(3) .glyph-point{animation:incident-land .915s var(--motion-settle) 2.66s backwards}}@keyframes incident-trace{0%{stroke-dashoffset:1px;animation-timing-function:cubic-bezier(.45,0,.5,.88)}38%{stroke-dashoffset:.645px;animation-timing-function:linear}60%{stroke-dashoffset:.595px;animation-timing-function:cubic-bezier(.4,.06,.3,1)}to{stroke-dashoffset:0}}@keyframes incident-head{0%{stroke-dashoffset:.07px;animation-timing-function:cubic-bezier(.45,0,.5,.88)}38%{stroke-dashoffset:-.285px;animation-timing-function:linear}60%{stroke-dashoffset:-.335px;animation-timing-function:cubic-bezier(.4,.06,.3,1)}to{stroke-dashoffset:-.93px}}@keyframes incident-signal{0%,to{opacity:0}8%,86%{opacity:1}}@keyframes incident-rail{0%{opacity:0}10%,to{opacity:.3}}@keyframes incident-cross{0%{opacity:0;transform:scale(.4)}35%{opacity:.8}to{opacity:0;transform:scale(2.6)}}@keyframes incident-node{0%{opacity:.3;transform:scale(.6)}45%{opacity:1;transform:scale(1.3)}}@keyframes incident-land{0%{opacity:.3;transform:scale(.6)}30%{opacity:1;filter:drop-shadow(0 0 5px var(--signal));transform:scale(1.35)}}.dual-track{--dual-node:32px;--dual-drop:38px;border:1px solid var(--card-line);border-radius:var(--radius-card);background:var(--bg);padding:18px 18px 16px}.dual-name{letter-spacing:.08em;text-transform:uppercase;color:var(--alt-text);margin:0 0 12px;font:500 11px/1.4 Consolas,monospace}.dual-name:last-of-type{margin:14px 0 0}.dual-track ol{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid;position:relative}.dual-track ol:before,.dual-track ol:after{content:"";transform-origin:0;border-radius:2px;height:2px;position:absolute;left:16.6%;right:16.6%}.dual-track ol:before{top:calc(var(--dual-node) / 2 - 1px);background:linear-gradient(90deg, var(--tone-ice), var(--tone-lilac))}.dual-track ol:after{top:calc(var(--dual-node) + var(--dual-drop) - 1px);background:linear-gradient(90deg, var(--tone-lilac), var(--signal))}.dual-track li{z-index:1;grid-template-rows:var(--dual-node) var(--dual-drop) auto;text-align:center;justify-items:center;display:grid;position:relative}.dual-node{min-width:84px;height:var(--dual-node);border:1px solid var(--line);background:var(--raised);transition:border-color var(--motion-micro) ease, box-shadow var(--motion-micro) ease;border-radius:999px;place-items:center;padding:0 12px;display:grid}.dual-index{letter-spacing:.04em;font:600 12px/1 Consolas,monospace}.dual-node[data-gate]{border-color:color-mix(in srgb, var(--signal) 55%, var(--line))}.dual-gate{top:calc(var(--dual-node) + 4px);letter-spacing:.04em;text-transform:uppercase;color:var(--accent-text);text-align:left;max-width:12ch;font:500 10px/1.3 Consolas,monospace;position:absolute;left:calc(50% + 8px)}.dual-link{background:color-mix(in srgb, var(--signal) 70%, var(--line));transform-origin:top;width:2px;height:100%}.dual-update{border:1px solid var(--card-line);background:var(--raised);width:100%;transition:border-color var(--motion-micro) ease, box-shadow var(--motion-micro) ease;border-radius:10px;gap:2px;padding:14px 10px 10px;font-size:13px;line-height:1.35;display:grid;position:relative}.dual-update:before{content:"";background:var(--signal);width:8px;height:8px;box-shadow:0 0 0 3px var(--bg);border-radius:50%;position:absolute;top:-5px;left:calc(50% - 4px)}.dual-update strong{font-weight:600}.dual-update span{color:var(--muted)}.dual-track li:hover .dual-node,.dual-track li:hover .dual-update{border-color:var(--signal);box-shadow:0 0 0 3px var(--accent-soft)}@media (max-width:560px){.dual-track ol{grid-template-columns:minmax(0,1fr);gap:14px}.dual-track ol:before,.dual-track ol:after{display:none}.dual-track li{text-align:left;grid-template-rows:none;grid-template-columns:84px 22px minmax(0,1fr);align-items:center}.dual-link{transform-origin:0;width:100%;height:2px}.dual-update{padding:10px 12px}.dual-update:before{top:calc(50% - 4px);left:-5px}.dual-track li:has(.dual-gate){padding-bottom:18px}.dual-gate{white-space:nowrap;max-width:none;top:auto;bottom:0;left:0}}@media (max-width:380px){.dual-track{padding-inline:14px}.dual-track li{grid-template-columns:66px 10px minmax(0,1fr)}.dual-node{min-width:66px;padding:0 6px}.dual-update{padding:10px 8px;font-size:12.5px}}.dual-track[data-play=armed] ol:before,.dual-track[data-play=armed] ol:after{transform:scaleX(0)}.dual-track[data-play=armed] .dual-node,.dual-track[data-play=armed] .dual-update,.dual-track[data-play=armed] .dual-gate{opacity:0}.dual-track[data-play=armed] .dual-link{transform:scaleY(0)}.dual-track[data-play=run] ol:before{animation:dual-draw 1.9s var(--motion-precise) .1s backwards}.dual-track[data-play=run] ol:after{animation:dual-draw 1.7s var(--motion-precise) .55s backwards}.dual-track[data-play=run] .dual-node{animation:dual-land .38s var(--motion-spring) calc(.25s + var(--step,0) * .7s) backwards}.dual-track[data-play=run] .dual-gate{animation:dual-fade .32s ease calc(.52s + var(--step,0) * .7s) backwards}.dual-track[data-play=run] .dual-link{animation:dual-drop .26s var(--motion-precise) calc(.47s + var(--step,0) * .7s) backwards}.dual-track[data-play=run] .dual-update{animation:dual-arrive .36s var(--motion-precise) calc(.68s + var(--step,0) * .7s) backwards, dual-flash .9s ease calc(.68s + var(--step,0) * .7s) backwards}@keyframes dual-draw{0%{transform:scaleX(0)}}@keyframes dual-land{0%{opacity:0;transform:scale(.82)}}@keyframes dual-fade{0%{opacity:0}}@keyframes dual-drop{0%{transform:scaleY(0)}}@keyframes dual-arrive{0%{opacity:0;transform:translateY(8px)}}@keyframes dual-flash{0%,35%{border-color:var(--signal);box-shadow:0 0 0 3px var(--accent-soft)}}@media (max-width:560px){.dual-track[data-play=armed] .dual-link{transform:scaleX(0)}.dual-track[data-play=run] .dual-link{animation-name:dual-draw}}.run-preview figure{border:1px solid var(--card-line);border-radius:var(--radius-card);background:var(--bg);margin:0;overflow:hidden}.run-chrome{border-bottom:1px solid var(--card-line);color:var(--muted);justify-content:space-between;gap:12px;padding:11px 16px;font:500 12px/1.5 Consolas,monospace;display:flex}.run-prompt{overflow-wrap:anywhere;min-width:0}.run-exit{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--text);border-radius:999px;flex:none;align-self:start;padding:0 8px}.run-log{gap:2px;margin:0;padding:12px 16px;font:12.5px/1.55 Consolas,monospace;list-style:none;display:grid}.run-log li{grid-template-columns:6.2em minmax(0,1fr);gap:8px;padding:2px 0;display:grid;position:relative}.run-line{color:var(--muted)}.run-message{overflow-wrap:anywhere}.run-log li:last-child{border-left:2px solid var(--signal);background:color-mix(in srgb, var(--accent-soft) 55%, transparent);margin-top:6px;padding:6px 0 6px 10px}.run-log li:last-child .run-line{color:var(--accent-text)}.run-foot{border-top:1px solid var(--card-line);color:var(--muted);margin:0;padding:10px 16px 12px;font-size:12.5px}.run-preview[data-play=armed] .run-log li,.run-preview[data-play=armed] .run-exit,.run-preview[data-play=armed] .run-foot{opacity:0}.run-preview[data-play=run] .run-log li{animation:run-type .24s linear calc(.3s + var(--step,0) * .26s) backwards}.run-preview[data-play=run] .run-message:after{content:"";vertical-align:-2px;background:var(--signal);opacity:0;width:7px;height:13px;animation:run-caret .3s steps(1) calc(.3s + var(--step,0) * .26s);margin-left:3px;display:inline-block}.run-preview[data-play=run] .run-log li:last-child .run-message:after{animation-duration:1.4s}.run-preview[data-play=run] .run-exit{animation:dual-land .36s var(--motion-spring) calc(.3s + 8 * .26s + .12s) backwards}.run-preview[data-play=run] .run-foot{animation:.4s 2.64s backwards dual-fade}@keyframes run-type{0%{opacity:1;clip-path:inset(0 100% 0 0)}}@keyframes run-caret{0%{opacity:1}}@media (prefers-reduced-motion:reduce){.dual-track *,.dual-track ol:before,.dual-track ol:after,.run-preview *{animation:none!important}}@media print{[data-play-on-view] *{opacity:1!important;animation:none!important;transform:none!important}.play-replay{display:none}}.section-object .glyph-automation{--lane-rest:color-mix(in srgb, var(--text) 55%, var(--muted))}.section-object:has(.glyph-automation) .method-glyph{max-width:none;height:auto}.section-object .glyph-automation .glyph-secondary{stroke:var(--lane-rest);stroke-width:1.75px}.section-object .glyph-automation .glyph-primary{stroke-width:2.5px}.section-object .glyph-automation text{fill:color-mix(in srgb, var(--text) 70%, var(--muted));font-size:13px;font-weight:600}.section-object .glyph-automation .glyph-node{fill:var(--bg);stroke:var(--signal);stroke-width:2.5px;filter:drop-shadow(0 0 6px color-mix(in srgb, var(--signal) 45%, transparent))}.section-object .glyph-automation .glyph-node-halo{fill:color-mix(in srgb, var(--signal) 10%, transparent);stroke:color-mix(in srgb, var(--signal) 40%, transparent);stroke-width:1px}.section-object .glyph-automation .glyph-output{stroke-width:2.75px;filter:drop-shadow(0 0 4px color-mix(in srgb, var(--signal) 40%, transparent))}.section-object .glyph-pulse{fill:var(--signal)}.automation-heading{grid-template-columns:minmax(0,1fr) clamp(340px,29vw,450px);align-items:center;gap:32px;margin-bottom:28px;display:grid}.automation-heading>.section-object{float:none;grid-area:1/2;width:100%;margin:0}.automation-heading-copy{grid-area:1/1;min-width:0}.automation-heading-copy .lede{margin-bottom:0}@media (max-width:1023px){.automation-heading{grid-template-columns:minmax(0,1fr);gap:16px}.automation-heading>.section-object{grid-column:1;width:min(100%,380px)}.automation-heading-copy{grid-row:2}}@media (prefers-reduced-motion:no-preference){.section-object .glyph-automation .glyph-secondary{animation:trace-connect .62s var(--motion-precise) 90ms both, automation-lane .7s ease-out both}.section-object .glyph-automation .glyph-secondary:first-of-type{animation-delay:90ms,.2s}.section-object .glyph-automation .glyph-secondary:nth-of-type(2){animation-delay:90ms,.35s}.section-object .glyph-automation .glyph-secondary:nth-of-type(3){animation-delay:90ms,.5s}.section-object .glyph-automation .glyph-secondary:nth-of-type(4){animation-delay:90ms,.65s}.section-object .glyph-automation .glyph-secondary:nth-of-type(5){animation-delay:90ms,.8s}.section-object .glyph-automation :is(.glyph-node,.glyph-node-halo){transform-box:fill-box;transform-origin:50%;animation:.65s cubic-bezier(.3,0,.2,1) 1.1s backwards automation-node}.section-object .glyph-automation .glyph-pulse{animation:.65s cubic-bezier(.45,0,.3,1) 1.65s automation-pulse}.section-object .glyph-automation .glyph-output{animation:.65s ease-out 2.1s backwards automation-output}}@keyframes automation-lane{0%,to{stroke:var(--lane-rest)}35%{stroke:var(--signal)}}@keyframes automation-node{0%{opacity:.35;transform:scale(.7)}45%{opacity:1;filter:drop-shadow(0 0 12px var(--signal));transform:scale(1.3)}}@keyframes automation-pulse{0%{opacity:0;transform:translate(0)}15%,85%{opacity:1}to{opacity:0;transform:translate(150px)}}@keyframes automation-output{0%{stroke-width:2px;filter:none}35%{stroke-width:4.5px;filter:drop-shadow(0 0 8px var(--signal))}}
