/* Scoped to the route controller; existing effects use the same visibility clock. */
.tda-motion-managed *,.tda-motion-managed *::before,.tda-motion-managed *::after{animation-play-state:var(--tda-play,paused)!important}
.tda-motion-managed .ticker-window:hover .ticker-items,.tda-motion-managed .ticker-window:focus-within .ticker-items{animation-play-state:paused!important}
.tda-motion-managed .panel,.tda-motion-managed .object-card,.tda-motion-managed .record-row,.tda-motion-managed .curve .chart-line,.tda-motion-managed .weave-line,.tda-motion-managed .timeline-branch:not(.projected),.tda-motion-managed .unlock-banner{animation:none}
.tda-motion-managed .curve .chart-line,.tda-motion-managed .weave-line,.tda-motion-managed .timeline-branch:not(.projected){stroke-dasharray:none}
.tda-motion-managed .chart-scan{animation:none;opacity:.18}
.tda-motion-managed .observer-page .page-heading h1,.tda-motion-managed .restricted-page .page-heading h1{animation:none}
.tda-motion-managed .object-card,.tda-motion-managed .domain-grid>a{position:relative;transform:perspective(1000px) rotateX(var(--tda-rx,0deg)) rotateY(var(--tda-ry,0deg));transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.tda-motion-managed .object-card::after,.tda-motion-managed .domain-grid>a::after{content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:radial-gradient(180px circle at var(--tda-light-x,50%) var(--tda-light-y,50%),#80dfff16,transparent 72%);transition:opacity .2s}
.tda-motion-managed .tda-lit::after,.tda-motion-managed .object-card:focus-visible::after{opacity:1}
.tda-motion-managed .tda-lit{border-color:#60b8dd;box-shadow:0 4px 20px #1b85b518}
.tda-starfield{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:.8}
.research-machine .tda-starfield{z-index:1;opacity:.4}
.tda-trace{pointer-events:none;fill:#b5eeff;filter:drop-shadow(0 0 3px #5bbfff);opacity:.85}
.tda-trace-curve{fill:currentColor}
.tda-path-stream{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:14 130;opacity:.4;pointer-events:none;animation:tda-path-flow 8s linear infinite;animation-delay:var(--tda-stream-delay,0s)}
.tda-motion-managed .timeline-point circle:nth-of-type(2){stroke-dasharray:3 5;animation:tda-node-ring 18s linear infinite;transform-box:fill-box;transform-origin:center}
.tda-motion-managed .timeline-point:hover circle:nth-of-type(1),.tda-motion-managed .timeline-svg a:focus-visible circle:nth-of-type(1){fill:#e6fbff;filter:drop-shadow(0 0 7px #71d5ff)}
.tda-motion-managed .tda-map-scan{position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(90deg,transparent 44%,#71dfff09 48%,#99e7ff38 50%,transparent 51%);transform:translateX(-100%);animation:tda-map-scan 14s linear infinite}
.tda-motion-managed .radar-sweep{opacity:.65}
.tda-hud-boot{position:absolute;inset:10px;pointer-events:none;border:1px solid #6acbff40;opacity:0;z-index:4;background:linear-gradient(90deg,#86e2ff80 0 22px,transparent 22px) top left/64px 1px no-repeat,linear-gradient(90deg,transparent,#66bfff10,transparent)}
.tda-motion-managed .observer-interference{opacity:.24;animation:tda-observer-signal 18s steps(1,end) infinite;background:repeating-linear-gradient(0deg,transparent 0 4px,#8b315616 4px 5px),radial-gradient(ellipse at 20% 55%,#7526530d,transparent 60%)}
.tda-motion-managed .observer-interference::after{content:'';position:absolute;inset:0;opacity:.15;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='1' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E")}
.tda-motion-managed[data-tda-motion=reduced] *,.tda-motion-managed[data-tda-motion=reduced] *::before,.tda-motion-managed[data-tda-motion=reduced] *::after,.tda-motion-managed[data-tda-motion=off] *,.tda-motion-managed[data-tda-motion=off] *::before,.tda-motion-managed[data-tda-motion=off] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.tda-motion-managed:not([data-tda-motion=standard]) .tda-trace,.tda-motion-managed:not([data-tda-motion=standard]) .tda-path-stream,.tda-motion-managed:not([data-tda-motion=standard]) .tda-starfield,.tda-motion-managed:not([data-tda-motion=standard]) .tda-hud-boot{display:none}
.tda-motion-managed:not([data-tda-motion=standard]) .tda-map-scan,.tda-motion-managed:not([data-tda-motion=standard]) .observer-interference::after{display:none}
.tda-motion-managed:not([data-tda-motion=standard]) .object-card,.tda-motion-managed:not([data-tda-motion=standard]) .domain-grid>a{transform:none}
.tda-motion-managed:not([data-tda-motion=standard]) .hero-environment,.tda-motion-managed:not([data-tda-motion=standard]) .globe-caption{transform:none!important}
.tda-data-held .tda-trace{opacity:.3}
@keyframes tda-path-flow{to{stroke-dashoffset:-288}}
@keyframes tda-node-ring{to{rotate:360deg}}
@keyframes tda-map-scan{0%,12%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
@keyframes tda-observer-signal{0%,87%,91%,100%{transform:none;opacity:.24}88%{transform:translateY(2px);opacity:.36}89%{transform:translateY(-1px);opacity:.29}}
@media(prefers-reduced-motion:reduce){.tda-motion-managed *,.tda-motion-managed *::before,.tda-motion-managed *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.tda-motion-managed .tda-starfield,.tda-motion-managed .tda-trace,.tda-motion-managed .tda-path-stream,.tda-motion-managed .tda-hud-boot{display:none}.tda-motion-managed .object-card,.tda-motion-managed .domain-grid>a{transform:none}}
@media(max-width:700px){.tda-path-stream{stroke-width:1.5;stroke-dasharray:8 150}.tda-motion-managed .tda-map-scan{animation-duration:20s}.tda-motion-managed .tda-lit{box-shadow:none}}

/* Registered topology has three real lanes; the offset strokes are visual depth. */
.tda-structure-workspace{width:100%;max-width:100%;min-width:0;min-height:0;border-color:#31546d;background:radial-gradient(ellipse at 42% 43%,#15345168,transparent 66%),#071320}
.tda-structure-workspace .timeline-controls{padding:9px 12px;gap:7px;background:#0b1e2d;border-bottom-color:#33526560}
.tda-structure-workspace .timeline-controls>span{display:block;font:11px var(--mono);color:#8caec1;margin-left:auto}
.tda-structure-hud{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:13px 18px 9px;border-bottom:1px solid #28475b66;line-height:1.6}
.tda-structure-hud small{display:block;font:10px/1.7 var(--mono);letter-spacing:1.3px;color:#668da5}
.tda-structure-hud b{font:14px var(--mono);color:#bad9e9;letter-spacing:2px}
.tda-structure-hud>span{font:11px/1.6 var(--mono);color:#7ea8bf;text-align:right}
.tda-structure-workspace .timeline-canvas{padding:0;min-height:0;width:100%;max-width:100%;overflow:auto;overscroll-behavior:contain;scrollbar-color:#315166 #071320;scrollbar-width:thin}
.tda-structure-svg{min-width:950px!important;width:100%;max-width:none;display:block;overflow:hidden;transform-origin:0 0}
.tda-structure-svg text{font:12px var(--mono);fill:#90afc3;pointer-events:none}
.tda-structure-svg .tda-svg-meta{font-size:11px;fill:#749ab1;letter-spacing:.15px}
.tda-structure-svg .tda-svg-code{font-size:13px;fill:#c5dce7;letter-spacing:.8px}
.tda-structure-svg .tda-svg-date{font-size:12px;fill:#a4c5d8}
.tda-structure-svg .tda-node-title{font:14px var(--body);fill:#cadce7}
.tda-structure-svg .tda-lane-label{font-size:10px;fill:#5d88a0;letter-spacing:2px}
.tda-structure-grid{stroke:#2a4a5d;stroke-width:.5;opacity:.27}
.tda-structure-tick{stroke:#6b93a8;stroke-width:.7;opacity:.5}
.tda-channel-track{fill:none;stroke-width:17;opacity:.07;stroke-linecap:round;animation:tda-channel-breathe 9s ease-in-out infinite}
.tda-depth-track{fill:none;stroke-width:.65;stroke-dasharray:2 9;opacity:.18;animation:tda-depth-flow 22s linear infinite}
.tda-structure-depth{translate:var(--tda-depth-x,0px) var(--tda-depth-y,0px);transition:translate .6s ease-out;pointer-events:none}
.tda-structure-scan{pointer-events:none;animation:tda-structure-scan 16s linear infinite}
.tda-branch-corridor>rect{fill:color-mix(in srgb,var(--lane-color) 6%,transparent);stroke:var(--lane-color);stroke-width:.6;stroke-dasharray:2 7;opacity:.4}
.tda-divergence-wave{fill:none;stroke:var(--lane-color);stroke-width:.8;transform-box:fill-box;transform-origin:center;pointer-events:none;animation:tda-divergence-wave 5.8s ease-out infinite;animation-delay:var(--tda-phase,0s)}
.tda-point-aura{fill:none;stroke:var(--lane-color);stroke-width:.8;opacity:.3;transform-box:fill-box;transform-origin:center;animation:tda-aura 4.8s ease-in-out infinite;animation-delay:var(--tda-phase,0s)}
.tda-world-end>rect{fill:#0b1d2d;stroke:var(--lane-color);stroke-opacity:.42;stroke-width:.8}
.tda-world-current>rect{fill:#10283a;stroke-opacity:.8;stroke-width:1.1}
.tda-structure-svg .tda-world-value{font-size:18px;fill:#d5e9f4}
.tda-material-card>rect{fill:#0a1c2b;stroke:#3a596b;stroke-width:.7}
.tda-structure-svg .tda-material-title{font:13px var(--body);fill:#bdd2df}
.tda-evidence-leader{fill:none;stroke:#4d7892;stroke-width:.65;stroke-dasharray:2 6;opacity:.25;pointer-events:none;animation:tda-depth-flow 28s linear infinite}
.tda-structure-link{cursor:pointer}
.tda-structure-svg .tda-structure-link text{pointer-events:auto}
.tda-structure-link:hover .tda-branch-corridor>rect,.tda-structure-link:focus-visible .tda-branch-corridor>rect{opacity:.7;stroke-width:1.2}
.tda-structure-link:hover .tda-world-end>rect,.tda-structure-link:hover .tda-material-card>rect,.tda-structure-link:focus-visible .tda-world-end>rect,.tda-structure-link:focus-visible .tda-material-card>rect{stroke:#b5e9ff;stroke-opacity:1;fill:#112c40;stroke-width:1.4}
.tda-structure-link:focus-visible .timeline-point circle,.tda-structure-link:active .timeline-point circle{stroke:#e2f8ff;stroke-width:1.6;filter:drop-shadow(0 0 5px #7cdbff)}
.tda-structure-link:focus-visible{outline:1px solid #9fdaee;outline-offset:4px}
.tda-structure-workspace .timeline-legend{font:11px/1.7 var(--body);padding:10px 14px;color:#85a8bd;background:#091a29;border-color:#33526560;gap:8px 18px}
.tda-timeline-projections{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px;padding:14px;border-top:1px dashed #79699670;background:#251e351c}
.tda-timeline-projections>div>b{display:block;font-size:13px;color:#bdb1da}.tda-timeline-projections>div>small{display:block;font-size:11px;color:#948aa8;margin-top:5px}
.tda-projection-record{display:block;min-width:0;border-left:2px solid #7b6e9b;padding:3px 12px;background:#221d2e3b;line-height:1.8}
.tda-projection-record>small,.tda-projection-record>span{display:block;font:11px/1.8 var(--mono);color:#918ba4}.tda-projection-record>b{display:block;font-size:13px;font-weight:500;color:#c1b8d3}
.tda-motion-managed:not([data-tda-motion=standard]) .tda-structure-depth{translate:none;transition:none}
.tda-motion-managed:not([data-tda-motion=standard]) .tda-structure-scan,.tda-motion-managed:not([data-tda-motion=standard]) .tda-divergence-wave{display:none}
.tda-motion-managed:not([data-tda-motion=standard]) .tda-point-aura{opacity:.22}
@keyframes tda-channel-breathe{0%,100%{opacity:.05}50%{opacity:.11}}
@keyframes tda-depth-flow{to{stroke-dashoffset:-88}}
@keyframes tda-aura{0%,100%{scale:1;opacity:.16}50%{scale:1.15;opacity:.42}}
@keyframes tda-divergence-wave{0%{scale:.8;opacity:.48}85%,100%{scale:1.8;opacity:0}}
@keyframes tda-structure-scan{0%,8%{translate:0 0;opacity:0}16%{opacity:.75}85%{translate:694px 0;opacity:.4}100%{translate:694px 0;opacity:0}}
@media(max-width:700px){.tda-structure-hud{padding:11px 12px;gap:12px}.tda-structure-hud>span{font-size:10px}.tda-structure-workspace .timeline-controls>span{font-size:10px}.tda-timeline-projections{grid-template-columns:minmax(0,1fr)}.tda-structure-svg{min-width:950px!important}}
@media(prefers-reduced-motion:reduce){.tda-structure-depth{translate:none!important;transition:none!important}.tda-structure-scan,.tda-divergence-wave{display:none}}
