
/* Each essay has a distinct mechanism; motion carries the theme. */
.tile-kinetic{position:relative;margin:18px -6px 17px;padding:9px 8px 0;background:linear-gradient(145deg,#1b2a3b70,#0b121d40);border:1px solid #52627638;overflow:hidden;isolation:isolate;transition:border-color .3s,background .3s}
.tile-kinetic:before{content:'';position:absolute;inset:0;background-image:radial-gradient(#afc4d722 .7px,transparent .7px);background-size:12px 12px;pointer-events:none}
.tile-kinetic svg{width:100%;height:auto;display:block;position:relative;overflow:visible}
.tile-kinetic path,.tile-kinetic rect,.tile-kinetic circle{vector-effect:non-scaling-stroke}
.tile-kinetic .datum{stroke:#90a5b23d;stroke-width:1;fill:none}
.kinetic-meta{position:relative;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;line-height:1.5;color:var(--accent);padding:9px 4px 10px;border-top:1px solid #52627638;opacity:.8}
.live-dot{width:4px;height:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 9px var(--accent);animation:kinetic-breath 3s ease-in-out infinite}
.tile-kinetic .track{stroke:#8195a866;stroke-width:1.15;fill:none}.tile-kinetic .faint{stroke:#8195a84d;stroke-width:1;fill:none}.tile-kinetic .bright{stroke:var(--accent);stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round}.tile-kinetic .muted{fill:#8195a877}
.tile-kinetic .plate,.tile-kinetic .node{fill:#122333;stroke:var(--accent);stroke-width:1.1}.tile-kinetic .signal{fill:var(--accent);stroke:none}.tile-kinetic .flow{stroke:var(--accent);stroke-width:1.6;fill:none;stroke-dasharray:9 46;animation:kinetic-flow 3.2s linear infinite}
.tile-kinetic .breath{animation:kinetic-breath 3s ease-in-out infinite;animation-delay:var(--d,0s)}
.conveyor{animation:convey 4s ease-in-out infinite}.scanner{fill:#a7f5d409;stroke:var(--accent);stroke-dasharray:4 4}.scan-beam{stroke:var(--accent);stroke-width:2;animation:scan-beam 3s ease-in-out infinite}.confirmed{fill:none;stroke:var(--accent);stroke-width:2.2;stroke-dasharray:40;animation:confirm-work 4s ease-in-out infinite}
.token{fill:var(--accent);fill-opacity:.14;stroke:var(--accent)}.token-turn{transform-box:fill-box;transform-origin:center;animation:token-turn 6s ease-in-out infinite}
.source{fill:var(--accent);fill-opacity:.12;stroke:var(--accent)}.share{fill:var(--accent);fill-opacity:.09;stroke:var(--accent);stroke-width:1}.share-float{animation:share-float 4.5s ease-in-out infinite;animation-delay:var(--d)}
.gate{fill:var(--accent);fill-opacity:.09;stroke:var(--accent)}.gate-tick{fill:none;stroke:var(--accent);stroke-dasharray:4 4;animation:kinetic-flow 4s linear infinite}.bridge{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:80;animation:rebuild 4.8s ease-in-out infinite}.step-climb{animation:climb 4.8s ease-in-out infinite}
.human{fill:none;stroke:var(--accent);stroke-width:1.5}.robot{fill:var(--accent);fill-opacity:.08;stroke:var(--accent)}.handoff{fill:none;stroke:var(--accent);stroke-width:1.6}
.wave-draw{stroke-dasharray:200;animation:wave-draw 4s ease-in-out infinite}.memory{fill:var(--accent);stroke:var(--accent);fill-opacity:.08;animation:memory 3s ease-in-out infinite;animation-delay:var(--d)}.scan-line{stroke:var(--accent);stroke-width:1;opacity:.5;animation:sample-scan 4s ease-in-out infinite}
.time-block{fill:var(--accent);fill-opacity:.22;stroke:var(--accent);transform-box:fill-box;transform-origin:bottom;animation:time-return 4s ease-in-out infinite;animation-delay:var(--d)}.clock-face{stroke:var(--accent);stroke-width:1.2;fill:none;stroke-dasharray:175 70;animation:clock-face 6s linear infinite;transform-box:fill-box;transform-origin:center}.clock-hand{transform-origin:221px 72px;animation:clock-hand 12s linear infinite}
.field{fill:var(--accent);fill-opacity:.07;stroke:var(--accent);stroke-width:1.2;transform-box:fill-box;transform-origin:center}.field-a{animation:field-a 5s ease-in-out infinite}.field-b{animation:field-b 5s ease-in-out infinite}.boundary{fill:none;stroke:#d9e3ee80;stroke-dasharray:3 6;stroke-width:1}.connection{fill:none;stroke:var(--accent);stroke-dasharray:3 8;animation:kinetic-flow 6s linear infinite}
.house{fill:var(--accent);fill-opacity:.025;stroke:var(--accent);stroke-width:1.1}.room{stroke:var(--accent);fill:#0c1624}.shutter{fill:var(--accent);fill-opacity:.3;stroke:none}.shutter-left,.shutter-right{transform-box:fill-box;transform-origin:left;animation:shutter 5.5s ease-in-out infinite}.shutter-right{animation-delay:-2.75s;transform-origin:right}
.pulse-line{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:80 320;animation:pulse-line 4s linear infinite}.support{fill:var(--accent)}.fault{fill:#eead9120;stroke:#eead91}.fault-mark{stroke:#eead91;stroke-width:1.2;fill:none}.repair-path{fill:none;stroke:var(--accent);stroke-dasharray:5 9;animation:kinetic-flow 4s linear infinite}
.channel{stroke:var(--accent);stroke-width:1.1;fill:var(--accent);fill-opacity:.025}.packet{stroke:var(--accent);fill:var(--accent);fill-opacity:.15}.queue{animation:queue 3.5s ease-in-out infinite;animation-delay:var(--d)}.through-gate{animation:through-gate 3.5s ease-in-out infinite}
.permit-gate{stroke:var(--accent);fill:var(--accent);fill-opacity:.06}.permit-check{animation:permit-check 4.5s ease-in-out infinite}.payment-packet{animation:payment-packet 4.5s ease-in-out infinite}.constellation{stroke:#8195a84d;fill:none;stroke-width:1}.value-node{fill:var(--accent);fill-opacity:.12;stroke:var(--accent)}.value-rays{stroke:var(--accent);stroke-width:1;fill:none;opacity:.6}.value-breathe{animation:values 5s ease-in-out infinite;animation-delay:var(--d);transform-box:fill-box;transform-origin:center}
.essay-card:hover .tile-kinetic,.essay-card:focus-visible .tile-kinetic{border-color:var(--accent);background-color:#1a2b3b}.essay-card:hover .kinetic-meta,.essay-card:focus-visible .kinetic-meta{opacity:1}.essay-card:hover .tile-kinetic svg,.essay-card:focus-visible .tile-kinetic svg{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--accent) 20%,transparent))}
.tile-kinetic *{animation-play-state:paused}.essay-card.is-in-view .tile-kinetic *{animation-play-state:running}html[data-motion-paused] .tile-kinetic *,html[data-motion-paused] .orbit-pulse{animation-play-state:paused!important}.filterbar .motion-toggle{margin-left:auto;font-size:11px;white-space:nowrap}.search{margin-left:0}
@keyframes kinetic-flow{to{stroke-dashoffset:-110}}@keyframes kinetic-breath{0%,100%{opacity:.35}50%{opacity:1}}@keyframes convey{0%,15%{transform:translateX(-6px)}70%,100%{transform:translateX(26px)}}@keyframes scan-beam{0%,100%{transform:translateY(0);opacity:.45}50%{transform:translateY(55px);opacity:1}}@keyframes confirm-work{0%,35%{stroke-dashoffset:40;opacity:.25}60%,100%{stroke-dashoffset:0;opacity:1}}@keyframes token-turn{0%,35%{transform:rotate(0)}70%,100%{transform:rotate(90deg)}}@keyframes share-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes rebuild{0%,15%{stroke-dashoffset:80;opacity:.3}45%,85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.3}}@keyframes climb{0%,15%{transform:translate(0,0)}40%{transform:translate(52px,-24px)}70%,100%{transform:translate(130px,-48px)}}@keyframes wave-draw{0%{stroke-dashoffset:200;opacity:.3}50%,85%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.3}}@keyframes memory{0%,100%{fill-opacity:.08}45%{fill-opacity:.65}}@keyframes sample-scan{0%,100%{transform:translateX(0)}70%{transform:translateX(110px)}}@keyframes time-return{0%,100%{transform:scaleY(1);opacity:.35}60%{transform:scaleY(.25);opacity:1}}@keyframes clock-face{to{transform:rotate(360deg)}}@keyframes clock-hand{to{transform:rotate(360deg)}}@keyframes field-a{0%,100%{transform:translateX(0) scale(.9,1)}50%{transform:translateX(7px) scale(1,1.1)}}@keyframes field-b{0%,100%{transform:translateX(0) scale(1,1.1)}50%{transform:translateX(-7px) scale(.9,1)}}@keyframes shutter{0%,15%,100%{transform:scaleX(1)}45%,65%{transform:scaleX(.13)}}@keyframes pulse-line{to{stroke-dashoffset:-400}}@keyframes queue{0%,100%{transform:translateX(0)}60%{transform:translateX(23px)}}@keyframes through-gate{0%,30%{transform:translateX(-8px);opacity:0}45%{opacity:1}90%,100%{transform:translateX(88px);opacity:0}}@keyframes permit-check{0%,25%{opacity:.2}40%,85%{opacity:1}100%{opacity:.2}}@keyframes payment-packet{0%,40%{transform:translateX(-14px);opacity:0}50%{opacity:1}85%,100%{transform:translateX(30px);opacity:0}}@keyframes values{0%,100%{transform:scale(.85);opacity:.4}50%{transform:scale(1.15);opacity:1}}
@media(max-width:680px){.tile-kinetic{margin:16px 0 18px}.tile-kinetic svg{max-height:145px}.filterbar .motion-toggle{margin-left:0}.search{margin-left:0}}@media(prefers-reduced-motion:reduce){.tile-kinetic *{animation:none!important}.tile-kinetic .flow,.tile-kinetic .pulse-line{stroke-dasharray:none;opacity:.6}.confirmed,.bridge,.wave-draw{stroke-dashoffset:0}.tile-kinetic,.essay-card{transition:none}.motion-toggle{opacity:.6;cursor:default}}

/* Essay 10: one approach, then rest together; no oscillating penetration. */
.nest-piece{animation:nest-arrive 4.2s cubic-bezier(.22,1,.36,1) both}.nest-receiver{transform-origin:193px 73px;animation:nest-open 4.2s ease both}.nest-aura{animation:nest-light 4.2s ease both}.nest-spark{animation:kinetic-breath 4s ease-in-out infinite;animation-delay:3s}@keyframes nest-arrive{0%,12%{transform:translateX(0)}80%,100%{transform:translateX(138px)}}@keyframes nest-open{0%,100%{transform:scale(1)}45%{transform:scale(1.06)}}@keyframes nest-light{0%,35%{opacity:0;transform:scale(.85);transform-origin:193px 73px}85%,100%{opacity:1;transform:scale(1);transform-origin:193px 73px}}@media(prefers-reduced-motion:reduce){.tile-kinetic .nest-piece{transform:translateX(138px)}.tile-kinetic .nest-aura{opacity:1}}

.nest-piece,.nest-receiver,.nest-aura,.nest-spark{animation-play-state:paused}
