/* One continuous night environment, from the neural opening to the last idea. */
:root{color-scheme:dark;--paper:#090d13;--ink:#edf2f7;--muted:#95a4b6;--line:#26313f;--blue:#9bc9e8}
html,body,main,.research,.project-grid{background:#090d13;color:#edf2f7}
::selection{background:#4a789a;color:#fff}
.hero-sticky{background:radial-gradient(ellipse at 49% 62%,#10212b 0,#0c141d 38%,#090d13 73%)}
.hero-copy h1{color:#f0f3f7}.hero-copy h1 span{color:#a7dcf0}.hero-copy h1 em{color:#c0cbd8}.hero-copy p{color:#97aabe}
.hero-foot{color:#8297ac}.hero-scroll-cue i{background:linear-gradient(#7ab6d500,#9abace)}
.intro-controls #motion-toggle{border-color:#627d9145;color:#a6c0d3;background:#11202d80}
.intro-controls #scroll-effects{color:#8da7ba}
.project-card,.project-card:last-child:nth-child(odd),.project-card.interface-chapter,.project-card.interface-chapter:last-child:nth-child(odd),.project-card.object-chapter{--scene-bg:#090d13;--scene-ink:#edf2f7;--scene-sub:#93a4b8;background:#090d13}
.project-stage-frame{background:#090d13}
.story-atmosphere{background:radial-gradient(ellipse at 65% 45%,#a1d7f008,transparent 63%);opacity:.65}
.story-atmosphere:after{background:radial-gradient(ellipse at 25% 65%,#75a8d008,transparent 60%)}
.project-heading h2{color:#edf2f7}.story-stage{color:#8294a9}
.story-replay{position:absolute;top:16%;right:5%;width:34px;height:34px;display:grid;place-items:center;z-index:20;border:1px solid #9ab8d02b;border-radius:50%;background:#0c141bb0;color:#9cb5c7;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.story-replay svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.story-replay:hover{color:#e5f4ff;border-color:#9ab8d06b;background:#15232e}.story-replay[hidden]{display:none}
.story-release{border-color:#8ba4bd3a;color:#a7b5c5;background:#0d172050}
.story-controls{color:#8d9fb3}.story-status i{background:#90c9dd}.story-beats i.passed,.story-progress:after{background:#85bdcf}
.ui-window{box-shadow:0 25px 90px #0007,3px 3px 0 #293646,4px 4px 0 #192634;border-color:#4053694d}
.narrative-strip{background:#172736;color:#bbd0e0;border-left-color:#79a9c2}
.narrative-label{color:#7d9bb3}
[data-beat="1"] .narrative-detection,[data-beat="2"] .narrative-recovery,[data-beat="3"] .narrative-strip mark{background:#36556b;color:#f0f8ff}
[data-story-state=playing][data-beat="2"] #guide-output{background:#34382b;border-color:#8b986657}
.register-note{background:#090d13;color:#677c91;border-color:#25344655;margin:0}
.lab{background:#090d13;color:#dce6ef}.lab .section-label{color:#8499ad}.lab-copy h2{color:#e2ebf3}.lab-copy p{color:#8ca0b5}.lab-copy .serif{color:#a8c6dc}
.lab-art{background:#0c151f;border:1px solid #233140;border-radius:24px}.lab-art svg>path[fill]{fill:#183047;fill-opacity:.35}.lab-art svg text{fill:#7791a8}.lab-art svg pattern circle{fill:#385065}
.lab .text-link{color:#bad5e8;border-color:#3c5265}
footer{background:#090d13;color:#667e94;border-top:1px solid #1c2b39}.footer-brand{color:#c2d7e6}
.neural-fallback i{border-color:#71b4ce}.neural-fallback i:first-child{background:#65768b;border-color:#8fa4b9}
@media(max-width:600px){.story-replay{top:18%;right:7%;width:30px;height:30px}.story-replay svg{width:13px;height:13px}}
@media(prefers-reduced-motion:reduce){.story-replay{transition:none}}

/* A compact mark and a balanced two-line lab name form one identity. */
.hero-copy h1.hero-identity{display:inline-flex;align-items:center;justify-content:center;gap:clamp(12px,1.2vw,17px);font:400 1rem/1 var(--mono);letter-spacing:0;white-space:normal;margin:0}
.hero-copy .hero-identity span{display:block;margin:0;padding:0;font:inherit;letter-spacing:inherit;vertical-align:baseline;color:inherit}
.hero-copy .hero-identity .hero-mark{position:relative;flex:none;padding-right:.29em;font-size:clamp(70px,7.5vw,104px);font-weight:700;line-height:1;letter-spacing:-.11em;color:#f0f3f7}
.hero-copy .hero-identity .hero-mark-plus{position:absolute;right:0;top:.12em;font-size:.33em;font-weight:700;line-height:1;letter-spacing:0;color:#a7dcf0}
.hero-copy .hero-identity .hero-lab-name{flex:none;text-align:left;font-size:clamp(19px,2.3vw,30px);font-weight:400;line-height:1.4;letter-spacing:-.045em;color:#c0cbd8}
.hero-copy .hero-identity .hero-lab-name>span{white-space:nowrap}
@media(max-width:600px){
 .hero-copy h1.hero-identity{gap:clamp(9px,2.7vw,15px)}
 .hero-copy .hero-identity .hero-mark{font-size:clamp(56px,17vw,80px)}
 .hero-copy .hero-identity .hero-lab-name{font-size:clamp(13px,4vw,19px);line-height:1.45}
}

/* Adjacent scenes dissolve into the same environment without coloured seams. */
.project-card,.project-card:last-child:nth-child(odd){border:0;outline:0;margin:0;box-shadow:none}
.project-stage-frame{border:0;box-shadow:none;opacity:var(--chapter-opacity,1);transition:opacity .15s linear}
.hero-sticky:after{content:'';position:absolute;inset:auto 0 0;height:22%;background:linear-gradient(transparent,#090d13);pointer-events:none;z-index:1}
.hero-foot{z-index:2}
.lab{border:0}
.story-progress,.scene-progress,.story-beats{display:none!important}
.story-countdown{margin-left:auto}
.register-note,footer{border:0}
.motion-off .project-stage-frame{opacity:1;transition:none}
@media(prefers-reduced-motion:reduce){.project-stage-frame{opacity:1;transition:none}}
