/* Laboratoire et vigie du Studio */
[data-page="studio"] .hero{padding-top:clamp(35px,5vw,65px);padding-bottom:clamp(35px,5vw,62px)}
.hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.hero .hero-copy{max-width:730px;text-align:center;margin-inline:auto}
.hero .hero-top,.hero .hero-actions{justify-content:center}
.hero .hero-sub{margin-inline:auto}
.hero h1 .pixel-title{width:min(100%,430px);margin-inline:auto}
.hero h1 .pixel-tagline{font-size:clamp(2rem,5vw,4rem)}
.hero .hero-live{margin-top:15px}
.hero .factory{width:min(100%,875px);margin-inline:auto}
.factory figcaption{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px 12px}
.factory figcaption b{color:var(--pixel-lime);font:600 10px var(--font-mono,monospace);letter-spacing:.1em}
.lab-gaze{transition:transform .12s cubic-bezier(.2,.7,.3,1)}
.lab-blink,.lab-blink-line{opacity:0}
[data-pixel-motion] .lab-blink,[data-pixel-motion] .lab-blink-line{animation:lab-eye-blink 12s step-end infinite}
[data-pixel-motion] .actor-type{animation:lab-type 4.2s steps(1,end) infinite}
[data-pixel-motion] .actor-laugh{animation:lab-laugh 6.8s steps(1,end) infinite}
[data-pixel-motion] .actor-patrol{animation:lab-patrol 8.6s steps(5,end) infinite}
[data-pixel-motion] .actor-patrol.reverse{animation-direction:reverse;animation-delay:-3s}
[data-pixel-motion] .actor-hop{animation:lab-hop 5.1s steps(1,end) infinite}
[data-pixel-motion] .actor-stomp{animation:lab-stomp 7.2s steps(1,end) infinite}
[data-pixel-motion] .actor-fly{animation:lab-fly 8s steps(5,end) infinite}
[data-pixel-motion] .lab-terminal{animation:lab-terminal-flash 6.6s step-end infinite}
[data-pixel-motion] .terminal-right{animation-delay:-3s}
[data-pixel-motion] .lab-data{animation:lab-data-flow 4.5s steps(12,end) infinite}
[data-pixel-motion] .lab-data-right{animation-direction:reverse}
[data-pixel-motion] .lab-hatch{animation:lab-hatch 9s steps(5,end) infinite}
[data-pixel-motion] .lab-crate{animation:lab-crate 8.6s steps(5,end) -3s infinite reverse}
[data-pixel-motion] .lab-steam{animation:lab-steam 6s steps(8,end) infinite}
[data-pixel-motion="paused"] .lab-gaze{transition:none}
@keyframes lab-eye-blink{0%,67%,71%,100%{opacity:0}68%,70%{opacity:1}}
@keyframes lab-type{0%,31%,47%,62%,100%{transform:none}24%,39%,55%{transform:translate(2px,1px)}}
@keyframes lab-laugh{0%,48%,62%,74%,100%{transform:none}42%,55%,68%{transform:translateY(-3px)}}
@keyframes lab-patrol{0%,100%{transform:translateX(0)}35%,60%{transform:translateX(29px)}}
@keyframes lab-hop{0%,33%,54%,100%{transform:none}38%{transform:translate(6px,-7px)}43%{transform:translate(12px,-9px)}49%{transform:translate(16px,-4px)}}
@keyframes lab-stomp{0%,60%,78%,100%{transform:none}65%{transform:translateY(-5px)}71%{transform:translate(4px,2px)}}
@keyframes lab-fly{0%,100%{transform:none}25%{transform:translate(9px,-9px)}62%{transform:translate(24px,-15px)}}
@keyframes lab-terminal-flash{0%,71%,79%,100%{opacity:1}72%,78%{opacity:.62}}
@keyframes lab-data-flow{0%{opacity:0;transform:translateX(0)}20%,75%{opacity:1}100%{opacity:0;transform:translateX(57px)}}
@keyframes lab-hatch{0%,40%,84%,100%{transform:none}55%,68%{transform:translateY(-17px)}}
@keyframes lab-crate{0%,100%{transform:none}35%,60%{transform:translateX(29px)}}
@keyframes lab-steam{0%,36%{opacity:0;transform:translateY(0)}45%{opacity:.8}80%,100%{opacity:0;transform:translateY(-28px)}}
.lab-route{border-bottom:1px solid var(--border);background:var(--bg-alt);padding-block:clamp(30px,5vw,65px)}
.lab-route .mono-tag{margin-bottom:12px}
.lab-route h2{font-family:var(--font-display);font-size:clamp(1.85rem,4vw,3.4rem);line-height:1.04;letter-spacing:-.045em}
.lab-route-list{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--border-strong);background:var(--border-strong);gap:1px}
.lab-route-list li{min-width:0;background:var(--surface)}
.lab-route-list a{display:grid;gap:7px;height:100%;padding:17px 15px}
.lab-route-list a:hover{background:#e8f6cd}
.lab-route-list a:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}
.lab-route-list .mono{color:var(--accent);font-size:.7rem;letter-spacing:.1em}
.lab-route-list strong{font-family:var(--font-display);font-size:clamp(1.08rem,2.2vw,1.55rem)}
.lab-route-list span:last-child{color:var(--muted);font-size:.9rem;line-height:1.45}
@media(max-width:600px){
  .hero .hero-copy{text-align:left}
  .hero .hero-top,.hero .hero-actions{justify-content:start}
  .hero h1 .pixel-title{width:min(90%,330px);margin-inline:0}
  .hero .hero-sub{margin-inline:0}
  .lab-route-list{grid-template-columns:1fr}
}

