/* Timed, full-viewport project stories. Text is a subtitle, never an overlay sheet. */
.project-card,.project-card:last-child:nth-child(odd),.motion-off .project-card,.motion-off .project-card:last-child:nth-child(odd){height:100svh;min-height:600px}
.project-card.interface-chapter,.project-card.interface-chapter:last-child:nth-child(odd){--scene-bg:#eef1f5;--scene-ink:#253447;--scene-sub:#75849a;background:var(--scene-bg)}
.project-stage-frame,.motion-off .project-stage-frame{position:relative;top:0;height:100%;min-height:600px;padding:0;overflow:hidden}
.project-heading,.motion-off .project-heading{top:6.5%;left:6%;right:6%;opacity:1}
.project-heading h2{font-size:clamp(24px,3vw,42px)}
.story-stage{display:block;margin-top:13px;font-size:8px;line-height:1.6;color:var(--scene-sub);letter-spacing:.015em}
.project-visual,.object-chapter .project-visual,.interface-chapter .project-visual,.motion-off .project-visual{top:20%;right:0;bottom:21%;left:0;height:auto;opacity:1;filter:none;overflow:visible;transition:none}
.object-chapter .project-visual{top:15%;bottom:19%}
.project-card .visual-object{width:100%;height:100%}
.story-subtitles{position:absolute;left:8%;right:8%;bottom:11%;z-index:5;text-align:center;pointer-events:none}
.story-beat{font-size:7px;color:var(--scene-sub);letter-spacing:.12em}
.project-card p.story-caption{font-size:clamp(12px,1.35vw,18px);font-weight:400;line-height:1.6;letter-spacing:-.025em;color:var(--scene-ink);max-width:900px;margin:13px auto 0;text-wrap:balance}
.story-controls{position:absolute;left:6%;right:6%;bottom:3%;display:flex;align-items:center;gap:18px;z-index:15;color:var(--scene-sub);font-size:10px;line-height:1.6;letter-spacing:.02em}
.story-status{display:flex;align-items:center;gap:9px;min-width:150px}
.story-status i{height:5px;width:5px;background:#7ea5ca;border-radius:50%;flex:none}
[data-story-state=playing] .story-status i{animation:guide-pulse 2s infinite}
.story-beats{display:flex;gap:5px;flex:1;max-width:200px;margin:auto;opacity:.7}
.story-beats i{height:2px;flex:1;background:#8093ac30;position:relative}
.story-beats i.passed{background:#7fa2c6}
.story-release{padding:10px 13px;border:1px solid #8399b43d;border-radius:22px;background:transparent;color:var(--scene-sub);font:inherit;cursor:pointer}
.story-release[hidden]{display:none}
.story-countdown{font-variant-numeric:tabular-nums;min-width:30px;text-align:right}
.story-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#7d96b31a}
.story-progress:after{content:'';display:block;width:100%;height:100%;transform:scaleX(var(--scene-progress,0));transform-origin:left;background:#81a7cb}
[data-story-state=playing] .reset-scene{opacity:0;pointer-events:none}
.story-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:.65;background:radial-gradient(ellipse at 75% 30%,#abc9ee17,transparent 55%)}
.story-atmosphere:after{content:'';position:absolute;inset:10% 0;background:radial-gradient(ellipse at 30% 65%,#94b6e018,transparent 55%);transform:translateX(calc(var(--scene-progress,0)*12%))}
.scene-unavailable{font-size:11px;line-height:1.9}
.interface-chapter .project-visual{perspective:1600px}
.interface-chapter .visual-object{transition:transform 1.3s cubic-bezier(.2,.65,.2,1)!important;transform:translateY(calc((.5 - var(--scene-progress,0))*10px))!important}
.studio-concept{width:min(1080px,92%,calc((100svh - 290px)*1.75));transition:transform 1.5s,box-shadow 1.5s}
[data-story-state=playing][data-beat="0"] .studio-sources,[data-story-state=playing][data-beat="1"] .studio-inspector{background:#dfeaf4;border-radius:6px;box-shadow:0 0 25px #7ba1c325}
.studio-sources,.studio-inspector,.gaze-layer{transition:opacity 1s,background 1s,box-shadow 1s}
[data-story-state=playing][data-beat="0"] .gaze-layer,[data-story-state=playing][data-beat="1"] .gaze-layer{opacity:0}
[data-story-state=playing] .studio-concept{transform:translateY(-50%) perspective(1600px) rotateX(2deg) rotateY(calc((.5 - var(--scene-progress,0))*6deg))}
.phone-device,.crew-device{transition:opacity 1.2s,filter 1.2s,transform 1.2s}
[data-story-state=playing][data-beat="0"] .crew-device{opacity:.2;filter:blur(3px);transform:translateX(35px)}
[data-story-state=playing][data-beat="1"] .request-ring{animation:request-signal 1.4s infinite}
[data-story-state=playing][data-beat="2"] .crew-request{box-shadow:0 0 35px #83a5d045}
.signal-packet{position:absolute;left:38%;top:45%;width:7px;height:7px;border-radius:50%;background:#6b9dc8;box-shadow:0 0 16px #6b9dc8;opacity:0;pointer-events:none}
[data-story-state=playing][data-beat="1"] .signal-packet{animation:packet-travel 1.5s ease-in-out infinite}
.assistant-chat .user-bubble,.guide-response,.guide-actions,#guide-output,.evidence-card{transition:opacity 1s,transform 1s,filter 1s}
[data-story-state=playing][data-beat="0"] .guide-response,[data-story-state=playing][data-beat="0"] .guide-actions,[data-story-state=playing][data-beat="0"] #guide-output{opacity:.15;filter:blur(2px);transform:translateY(10px)}
[data-story-state=playing][data-beat="2"] #guide-output{background:#eef1e3;border-color:#b9bf9b}
[data-story-state=playing][data-beat="3"] .evidence-card{box-shadow:0 0 24px #6c9abe25}
.narrative-strip{padding:17px 20px;margin:0 0 18px;border-left:2px solid #a0bad3;background:#f2f5f8;font-size:10px;line-height:1.9;color:#65758a;transition:background 1s}
.narrative-label{display:block;font-size:6px;letter-spacing:.1em;color:#8b9bab;margin-bottom:8px}
.narrative-strip mark{background:transparent;color:inherit;transition:background 1s,color 1s;padding:2px 0}
[data-beat="1"] .narrative-detection,[data-beat="2"] .narrative-recovery,[data-beat="3"] .narrative-strip mark{background:#d4e5f3;color:#3a5b7e}
[data-story-state=playing][data-beat="0"] #corpus-table,[data-story-state=playing][data-beat="0"] .corpus-tabs,[data-story-state=playing][data-beat="0"] .corpus-evidence{opacity:.15}
#corpus-table,.corpus-tabs,.corpus-evidence{transition:opacity 1s}
.corpus-preview>.ui-window{max-width:950px}
.corpus-table-row{padding:9px 6px}
.corpus-head h4{font-size:26px;margin-bottom:14px}
.corpus-body{padding:20px 30px}
.corpus-tabs{margin-bottom:12px}
.corpus-evidence>div{margin-top:8px}
.corpus-evidence{margin-top:13px;padding:13px}
.motion-off .story-status i{animation:none}
.motion-off .story-progress{display:none}
@keyframes packet-travel{0%{transform:translate(0,0);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translate(220px,-40px);opacity:0}}
@keyframes request-signal{0%{transform:scale(.7);opacity:1}100%{transform:scale(1.7);opacity:0}}
@media(max-width:600px){
 .project-card,.project-card:last-child:nth-child(odd),.motion-off .project-card,.motion-off .project-card:last-child:nth-child(odd){min-height:650px}
 .project-stage-frame,.motion-off .project-stage-frame{min-height:650px}
 .project-heading,.motion-off .project-heading{top:7%;left:7%;right:7%}
 .project-heading h2{font-size:25px;line-height:1.2}
 .story-stage{font-size:7px;margin-top:12px;max-width:270px;margin-left:auto;margin-right:auto}
 .project-visual,.object-chapter .project-visual,.interface-chapter .project-visual,.motion-off .project-visual{top:23%;bottom:24%;height:auto}
 .object-chapter .project-visual{top:19%;bottom:21%}
 .story-subtitles{bottom:12%;left:7%;right:7%}
 .project-card p.story-caption{font-size:12px;line-height:1.7;max-width:340px}
 .story-controls{left:7%;right:7%;bottom:4%;gap:10px;font-size:8px;flex-wrap:wrap}
 .story-status{min-width:0;flex:1}
 .story-beats{display:none}
 .story-release{font-size:8px;padding:9px}
 .story-countdown{min-width:22px}
 .studio-concept{width:94%;transform:translateY(-50%)}
 [data-story-state=playing] .studio-concept{transform:translateY(-50%)}
 .studio-stimulus{aspect-ratio:1.4}
 .cabin-preview{transform:scale(.74)}
 .assistant-preview>.ui-window,.corpus-preview>.ui-window{transform:scale(.9)}
 .narrative-strip{font-size:8px;padding:12px;margin-bottom:12px}
 .corpus-head h4{font-size:21px}
 .corpus-table-row{padding:7px 3px;font-size:6px}
 .corpus-evidence{padding:10px;margin-top:10px}
 .corpus-body{padding:14px}
}
@media(prefers-reduced-motion:reduce){.project-card *{animation:none!important;transition:none!important}.interface-chapter .visual-object{transform:none!important}}
