/* v7.5 / borrowed Wild grammar: thin rules, bracket actions, editorial rows. */
.lab-network-nav { display:flex; flex-wrap:wrap; gap:8px 30px; padding:4px 4%; border-bottom:1px solid #dedbe1; font:500 12px/1.4 var(--mono); }
.lab-network-nav a { display:flex; align-items:center; min-height:44px; text-decoration:none; }
.lab-network-nav a[href="#experiments"] { color:#69429a; }
.lab-network-nav + .hero { padding-top:0; }
.lab-bracket { display:inline-flex; align-items:center; min-height:44px; padding:7px 16px; border-block:1px solid currentColor; position:relative; font:500 12px/1.4 var(--mono); }
.lab-bracket::before,.lab-bracket::after { content:''; position:absolute; height:16px; width:1px; background:currentColor; top:50%; transform:translateY(-50%); }
.lab-bracket::before { left:0; }.lab-bracket::after { right:0; }
html[data-surface="space"] .hero-relations { display:block; pointer-events:none; opacity:.65; }
html[data-surface="space"] .hero-relations path { stroke:#69429a; stroke-width:.8; stroke-dasharray:6 12; }
html[data-surface="space"] .hero-relations { inset:14% 0 12% 48%; width:52%; height:70%; }
.space-story .session-tape[data-lab-timeline] { display:block; min-width:0; width:100%; min-height:0; background:#f8f7fa; border-top:1px solid #bbb3c6; }
.session-tape[data-lab-timeline] .session-tape__preview { display:none!important; }
.lab-timeline__head { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:0 20px; min-height:40px; font:400 11px/1.4 var(--mono); color:#63596d; }
.lab-timeline__head > div { display:flex; }
.lab-timeline__head button { width:44px; min-height:44px; background:none; border:0; font:400 20px/1 var(--mono); cursor:pointer; }
.session-tape[data-lab-timeline] .session-tape__dots { position:relative; display:flex; flex-wrap:nowrap; gap:0; align-items:stretch; overflow-x:auto; overflow-y:hidden; padding:2px 16px 8px; scroll-snap-type:x proximity; scrollbar-width:thin; overscroll-behavior-x:contain; }
.session-tape[data-lab-timeline] .session-dot { display:grid; position:relative; flex:0 0 78px; width:78px; height:66px; min-height:66px; grid-template-rows:18px 18px 18px; gap:2px; padding:4px 0; background:none; border:0; border-radius:0; color:#625a6c; scroll-snap-align:center; }
.session-tape[data-lab-timeline] .session-dot::after { display:none; }
.session-tape[data-lab-timeline] .session-dot small { font:400 10px/18px var(--mono); }
.session-tape[data-lab-timeline] .session-dot b { font:500 10px/18px var(--mono); white-space:nowrap; }
.session-tape[data-lab-timeline] .session-dot i { display:block; align-self:center; height:1px; background:#c7bbd5; position:relative; }
.session-tape[data-lab-timeline] .session-dot i::after { content:''; position:absolute; width:7px; height:7px; top:-3px; left:calc(50% - 4px); border:1px solid #69429a; background:#f8f7fa; transform:rotate(45deg); }
.session-tape[data-lab-timeline] .session-dot:is(.is-active,:focus-visible) { background:#ebe5f2; color:#432567; outline:1px solid #69429a; outline-offset:-1px; }
.session-tape[data-lab-timeline] .session-dot.is-active i::after { background:#69429a; }
@media(min-width:901px) {
  html[data-story-layout="immersive"] .space-story__stage { grid-template-rows:36px 68px minmax(0,1fr) 126px; }
  html[data-story-layout="immersive"] [data-lab-timeline] { grid-area:4 / 1; z-index:9; }
  html[data-story-layout="immersive"] .space-story__chapters { bottom:146px; }
  html[data-story-layout="immersive"] .space-story .space-field { --space-camera-inset-top:34px; --space-camera-inset-bottom:42px; }
  html[data-story-layout="immersive"] .story-chapter h3 { font-size:clamp(26px,2.7vw,40px); }
  html[data-story-layout="immersive"] .story-chapter p { font-size:13px; }
  html[data-story-layout="immersive"] .story-chapter__metric { margin-top:14px; padding-block:8px; }
  html[data-story-layout="immersive"] .story-chapter > b { margin-top:14px; }
}
html[data-surface="space"] .fit { padding-block:36px 0; }
html[data-surface="space"] .fit-grid { grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); border:0; }
html[data-surface="space"] .fit-intro { position:static; padding:26px 30px 26px 0; background:none; border:0; }
html[data-surface="space"] .fit-intro h2 { font-size:clamp(30px,3.4vw,50px); }
html[data-surface="space"] .fit-intro p { font-size:14px; margin-top:24px; }
html[data-surface="space"] .fit-list { display:block; border:0; background:none; }
html[data-surface="space"] .fit-row { display:grid; grid-template-columns:32px 52px minmax(0,1fr); padding:18px 12px; gap:16px; height:auto; min-height:0; border:0; border-top:1px solid #dedbe1; align-items:center; }
html[data-surface="space"] .fit-row > b { position:static; grid-column:1; grid-row:1; color:#78678c; }
html[data-surface="space"] .fit-row__portrait { grid-column:2; grid-row:1; width:52px; height:52px; }
html[data-surface="space"] .fit-row__copy { grid-column:3; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 18px; align-items:center; }
html[data-surface="space"] .fit-row__copy small { grid-column:1; grid-row:1; font-size:11px; }
html[data-surface="space"] .fit-row__copy .case-caption { grid-column:1; grid-row:2; font-size:15px; color:#333; margin:4px 0; }
html[data-surface="space"] .fit-row__copy .case-source { grid-column:2; grid-row:1 / 3; font-size:11px; }
.lab-library { padding-block:44px 32px; }
.lab-library__head { display:grid; grid-template-columns:1fr 1fr; gap:16px 40px; margin-bottom:32px; }
.lab-library__head .kicker { grid-column:1 / -1; margin:0; }
.lab-library h2 { font:600 clamp(28px,3vw,44px)/1.15 var(--mono); letter-spacing:-.045em; margin:0; }
.lab-library__head > p:last-child { font:400 14px/1.7 var(--mono); color:#666; margin:0; }
.lab-resource { display:grid; grid-template-columns:100px 160px minmax(0,1fr); gap:28px; align-items:center; padding:26px 0; border-top:1px solid #d9d9d9; text-decoration:none; }
.lab-resource > small { font:400 11px/1.4 var(--mono); color:#78678c; }
.lab-resource svg { width:160px; height:120px; stroke:#bfaed3; stroke-width:1; background:#141116; padding:8px; }
.lab-resource > span { display:block; }
.lab-resource strong { display:block; font:500 clamp(19px,2vw,28px)/1.3 var(--mono); }
.lab-resource span span { display:block; font:400 14px/1.6 var(--mono); color:#666; margin:8px 0 16px; }
.lab-resource:hover .lab-bracket { background:#111; color:#fff; }
.lab-follow { display:grid; grid-template-columns:1fr 1.5fr; margin:24px 4% 0; background:#111; color:#eee; }
.lab-follow__intro { padding:40px; border-right:1px solid #484848; min-width:0; }
.lab-follow__intro .kicker { color:#bfaed3; font-size:11px; }
.lab-follow h2 { font:500 clamp(32px,4vw,54px)/1.1 var(--mono); letter-spacing:-.045em; margin:30px 0; }
.lab-follow p { font:400 14px/1.8 var(--mono); color:#bcb8c0; }
.lab-follow p a { display:inline-flex; align-items:center; min-height:44px; color:#fff; text-underline-offset:6px; }
.lab-follow__link { display:grid; grid-template-columns:30px minmax(0,1fr) 20px; gap:20px; padding:26px 32px; align-items:center; text-decoration:none; color:#eee; border-bottom:1px solid #484848; min-height:110px; }
.lab-follow__link:last-child { border:0; }
.lab-follow__link small { color:#a19aa8; font:400 11px/1.5 var(--mono); }
.lab-follow__link strong { display:block; font:500 20px/1.3 var(--mono); }
.lab-follow__link span span { display:block; font:400 13px/1.6 var(--mono); color:#bcb8c0; margin-top:6px; }
.lab-follow__link:is(:hover,:focus-visible) { background:#242027; color:#fff; }
.lab-flow { width:100%; margin:12px 0; fill:none; stroke:#cbb5e4; stroke-width:1; }
.lab-flow circle { fill:#cbb5e4; }
@media(prefers-reduced-motion:no-preference) {
  .lab-flow.is-drawn path { stroke-dasharray:1; animation:lab-flow-draw 1.4s ease-out both; }
  .lab-resource svg.is-drawn { animation:lab-ink-in .7s ease-out both; }
  html[data-surface="space"] .hero-relations.is-drawn path { animation:lab-ink-in 1.4s ease-out both; }
  @keyframes lab-flow-draw { from {stroke-dashoffset:1;} to {stroke-dashoffset:0;} }
  @keyframes lab-ink-in { from {opacity:.1;} to {opacity:1;} }
}
@media(max-width:900px) {
  .lab-network-nav { gap:4px 20px; font-size:11px; padding-inline:20px; }
  .lab-network-nav a { min-height:36px; }
  html[data-surface="space"] .hero-relations { inset:40% 0 15%; width:100%; height:45%; }
  .space-story #space-field { height:clamp(180px,25svh,240px); }
  .lab-timeline__head { padding-inline:12px; font-size:10px; min-height:36px; }
  .session-tape[data-lab-timeline] .session-dot { height:58px; min-height:58px; grid-template-rows:14px 14px 18px; }
  .space-story[data-inspect="true"] #space-field { height:180px; }
  .space-story[data-inspect="true"] #space-field-card { height:180px; max-height:180px; align-content:start; padding:10px 16px; grid-template-columns:52px minmax(0,1fr); grid-template-rows:20px auto auto 40px; gap:4px 12px; }
  .space-story #space-field-card .space-field__card-index { grid-column:1 / -1; grid-row:1; padding-right:82px; font-size:10px; }
  .space-story #space-field-card :is(.space-field__card-image,.space-field__card-initials) { grid-column:1; grid-row:2 / 4; width:52px; height:52px; }
  .space-story #space-field-card h3 { grid-column:2; grid-row:2; font-size:14px; line-height:1.2; margin:0; }
  .space-story #space-field-card p { grid-column:2; grid-row:3; font-size:11px; line-height:1.4; margin:0; }
  .space-story #space-field-card .space-field__card-route { grid-column:1 / -1!important; grid-row:4; min-height:40px; margin:0; padding:4px 0; font-size:12px; }
  html[data-surface="space"] .fit-grid { display:block; }
  html[data-surface="space"] .fit-intro { padding:22px 0; }
  html[data-surface="space"] .fit-intro h2 br { display:none; }
  html[data-surface="space"] .fit-row { padding:16px 0; grid-template-columns:24px 44px minmax(0,1fr); gap:10px; }
  html[data-surface="space"] .fit-row__portrait { width:44px; height:44px; }
  html[data-surface="space"] .fit-row__copy { display:block; }
  html[data-surface="space"] .fit-row__copy .case-caption { font-size:14px; }
  .lab-library__head { display:block; }.lab-library__head h2 { margin:18px 0; }
  .lab-resource { grid-template-columns:90px minmax(0,1fr); gap:12px 18px; }
  .lab-resource > small { grid-column:1 / -1; }
  .lab-resource svg { width:90px; height:90px; align-self:start; }
  .lab-resource span span { font-size:13px; }
  .lab-follow { grid-template-columns:1fr; margin:20px 20px 0; }
  .lab-follow__intro { padding:28px 24px; border-right:0; border-bottom:1px solid #484848; }
  .lab-follow__intro .lab-flow { max-width:330px; height:90px; }
  .lab-follow__link { padding:22px 20px; gap:12px; grid-template-columns:22px minmax(0,1fr) 14px; }
}
