/* Project previews share the lab's scenes without the homepage's viewport locks. */
.project-preview-card{position:relative}
.project-preview-card:not(#project-atdl){margin-top:24px}
.project-preview-card:not(#project-atdl) .project-stage-frame{position:relative;height:610px;min-height:0;isolation:isolate;overflow:visible}
.project-preview-card:not(#project-atdl) .project-visual{position:absolute;inset:25px 0 35px;height:auto;overflow:visible}
.project-preview-card .visual-object{position:relative;width:100%;height:100%;transform:none!important;filter:none;opacity:1}
.project-preview-card .webgl-host{position:relative;width:100%;height:100%;min-height:0}
.project-preview-card .scene-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-y;mask-image:linear-gradient(transparent,#000 10%,#000 84%,transparent)}
.project-preview-card .scene-canvas.dragging{cursor:grabbing}
.project-preview-card .scene-instructions{display:none}
.project-preview-card .scene-loading{gap:14px;font-size:11px}
.project-preview-card .loading-orbit{width:16px;height:16px;border:1px solid #294457;border-top-color:#9cc6d4;border-radius:50%;animation:preview-orbit 1.2s linear infinite}
.project-preview-card canvas:focus-visible{outline-offset:-8px}
body:has(.project-preview-card:not(#project-atdl)) .project-deck{white-space:normal;max-width:760px}
.preview-scene-heading{display:flex;align-items:baseline;justify-content:space-between;gap:35px;padding-top:55px}
.preview-scene-heading h2{font-size:18px;line-height:1.5;letter-spacing:-.035em;color:#c2d1dc}
.preview-scene-heading p{max-width:510px;font-size:12px;line-height:1.8}

/* Every control has an opaque surface, including inactive and disabled choices. */
.pill-button,.closing-section .pill-button{background:#2457d6;border-color:#2457d6;color:#fff}
.pill-button:hover:not(:disabled),.closing-section .pill-button:hover:not(:disabled){background:#1946b4;border-color:#1946b4;color:#fff}
.pill-button:disabled,.closing-section .pill-button:disabled{background:#173a8c;border-color:#173a8c;color:#bacdf7;opacity:1}
.quiet-button{background:#142232;color:#bacbd9;border:1px solid #293c50;border-radius:30px;padding:12px 17px}
.quiet-button:hover{background:#20364c;color:#fff}
.quiet-button:disabled{background:#111d29;color:#637b90;opacity:1}
.experiment-select{gap:10px}
.experiment-select button,.experiment-select button:last-child{background:#132231;border:1px solid #263b4e;border-radius:10px;padding:25px 48px 25px 23px;color:#b6c9d8;box-shadow:none}
.experiment-select button small{color:#8ca7bc}
.experiment-select button:hover{background:#1c334a;border-color:#3b5670;color:#fff}
.experiment-select button[aria-pressed=true]{padding-left:23px;background:#2457d6;border-color:#2457d6;color:#fff;box-shadow:none}
.experiment-select button[aria-pressed=true] small{color:#e0e9ff}
.experiment-arrow{top:27px;right:19px}
.studio-canvas-modes button,.agent-question-controls button{padding:11px 15px;background:#132a3b;border:1px solid #2c465a;border-radius:24px;color:#adc8d7;min-height:38px}
.studio-canvas-modes button:hover,.agent-question-controls button:hover{background:#20445e;color:#fff}
.studio-canvas-modes button[aria-pressed=true],.agent-question-controls button[aria-pressed=true]{background:#2457d6;border-color:#2457d6;color:#fff}
.studio-canvas-modes button[aria-pressed=true]:after{display:none}
.studio-insight-action{padding:9px 13px;border:1px solid #007f5f;border-radius:20px;background:#007f5f;color:#fff}
.studio-insight-action:hover{background:#00684d;border-color:#00684d}
.studio-insight-action span{color:inherit}
.flidis-keypad button{background:#163649;border-color:#325369;color:#e0eff6}
.flidis-keypad button:hover{background:#244f69;border-color:#608aa2}
.flidis-keypad .flidis-clear{color:#bed4e1}
.flidis-keypad .flidis-confirm{background:#007f5f;border-color:#007f5f;color:#fff}
.flidis-keypad .flidis-confirm:hover{background:#00684d;border-color:#00684d}
.flidis-keypad button:disabled,.flidis-keypad button:disabled:hover{background:#142633;border-color:#253d4c;color:#657f8f;opacity:1}
.flidis-voice{background:#2457d6;border-color:#2457d6;color:#fff}
.flidis-voice:hover{background:#1946b4;border-color:#1946b4}
.flidis-voice[aria-pressed=true],.flidis-next{background:#007f5f;border-color:#007f5f;color:#fff}
.flidis-next:hover{background:#00684d;border-color:#00684d}
.flidis-voice:disabled{background:#173a8c;border-color:#173a8c;color:#b1c5ed;opacity:1}
.cabin-call-button{background:#2457d6;border-color:#2457d6;color:#fff}
.cabin-call-button:hover{background:#1946b4;border-color:#1946b4}
[data-call-state=called] .cabin-call-button{background:#ed9800;border-color:#ed9800;color:#171006}
.schema-source{background:#112534;border-color:#2b4357}
.schema-source:hover{background:#1b3c52;border-color:#5f8caa}
.schema-source[aria-pressed=true]{background:#2457d6;border-color:#2457d6}
.schema-source[aria-pressed=true] strong,.schema-source[aria-pressed=true] .schema-source-cue,.schema-source[aria-pressed=true]>i{color:#fff}
.project-preview-card .airport-audio{background:#142232;border-color:#293c50;color:#c2d7e5}

/* The canvas stays open; telemetry and controls sit alongside the physical scene. */
.project-preview-card#project-rover .project-visual{inset:0 25% 0 -7%}
.project-preview-card#project-rover .rover-advisory{top:60px;right:6%;bottom:auto;width:310px;padding:22px;border-width:1px;box-shadow:0 18px 55px #0003}
.project-preview-card#project-rover .mct-advisory-head{font-size:7px}
.project-preview-card#project-rover .mct-event-title{font-size:16px}
.project-preview-card#project-rover .mct-event-body{font:11px/1.75 Inter,Arial,sans-serif}
.project-preview-card#project-rover .mct-action{font:10px/1.75 Inter,Arial,sans-serif}
.project-preview-card#project-tracker .project-visual{inset:-25px -2% 0}
.project-preview-card#project-studio .project-stage-frame{height:620px}
.project-preview-card#project-studio .project-visual{inset:15px 0 35px}
.project-preview-card#project-studio .studio-canvas-controls{bottom:0;gap:20px}
.project-preview-card#project-studio .studio-canvas-modes{gap:8px}
.project-preview-card#project-studio .studio-canvas-modes button{font-size:9px}
.project-preview-card#project-studio .studio-insight-title{font-size:14px}
.project-preview-card#project-studio .studio-insight-copy{font:11px/1.8 Inter,Arial,sans-serif}
.project-preview-card#project-studio .studio-field-label{font-size:9px}
.project-preview-card#project-studio .studio-field-label small{font-size:7px}
.project-preview-card#project-flidis .project-stage-frame{height:640px}
.project-preview-card#project-flidis .project-visual{inset:35px 6% 40px}
.project-preview-card#project-flidis .flidis-request{top:4%}
.project-preview-card#project-flidis .flidis-keypad button{height:37px}
.project-preview-card#project-flidis .flidis-voice,.project-preview-card#project-flidis .flidis-next{min-height:36px}
.project-preview-card#project-flidis .flidis-manual{bottom:6%}
.project-preview-card#project-dingdong .project-stage-frame{height:660px}
.project-preview-card#project-dingdong .project-visual{inset:0;height:100%;overflow:hidden}
.project-preview-card#project-dingdong .cabin-location{top:12%;font-size:8px}
.project-preview-card#project-dingdong .cabin-action-cue{bottom:10%;font-size:9px}
.project-preview-card#project-dingdong .cabin-insight{top:51%}
.project-preview-card#project-assistant .project-stage-frame{height:640px}
.project-preview-card#project-assistant .project-visual{inset:25px 0 35px}
.project-preview-card#project-assistant .agent-question-controls{gap:9px}
.project-preview-card#project-assistant .agent-question-controls button{font-size:9px}
.project-preview-card#project-assistant .agent-answer p{font:12px/1.85 Inter,Arial,sans-serif}
.project-preview-card#project-assistant .agent-evidence q{font:12px/1.7 Inter,Arial,sans-serif}
.project-preview-card#project-assistant .agent-state{bottom:3.5%;font-size:8px}
.project-preview-card#project-corpus .project-stage-frame{height:640px}
.project-preview-card#project-corpus .project-visual{inset:30px 0 65px}
.project-preview-card#project-corpus .schema-selection p{font-size:12px}
.project-preview-card#project-corpus .schema-footnote{bottom:-35px;font-size:8px}

.environment-features{display:grid;align-content:center;gap:34px;padding-top:8px}
.environment-feature{display:grid;grid-template-columns:44px minmax(0,1fr);gap:23px;align-items:start}
.environment-feature-icon,.environment-feature>.evidence-icon{display:grid;place-items:center;width:44px;height:44px;color:#9fc6da;font:27px var(--mono)}
.environment-feature-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.4}
.environment-feature h3{font-size:19px;line-height:1.5;letter-spacing:-.035em;color:#d0dce6;margin-bottom:10px}
.environment-feature p{font-size:13px;line-height:1.85;max-width:425px}
.next-project-link{display:inline-flex;align-items:center;justify-content:center;gap:16px;color:#9db4c7;font-size:12px;line-height:1.7;padding:14px 0;margin-top:8px}
.next-project-link:hover{color:#fff}
.next-project-link>span:last-child{transition:transform .2s}
.next-project-link:hover>span:last-child{transform:translateX(4px)}
@keyframes preview-orbit{to{transform:rotate(360deg)}}

@media(min-width:1600px){
 .project-preview-card:not(#project-atdl) .project-stage-frame{height:690px}
 .project-preview-card#project-rover .rover-advisory{right:8%;top:90px;width:335px}
 .project-preview-card#project-dingdong .project-stage-frame{height:740px}
}
@media(min-width:601px) and (max-width:1000px){
 .project-preview-card#project-rover .project-visual{inset:20px 28% 15px -16%}
 .project-preview-card#project-rover .rover-advisory{right:5%;top:75px;width:275px;padding:18px}
 .project-preview-card#project-rover .mct-event-title{font-size:14px}
 .project-preview-card#project-rover .mct-event-body{font-size:10px}
 .project-preview-card#project-assistant .agent-answer p,.project-preview-card#project-assistant .agent-evidence q{font-size:10px}
 .project-preview-card#project-studio .studio-canvas-time{width:33%}
 .project-preview-card#project-studio .studio-canvas-time>span{display:none}
}
@media(max-width:650px){
 .preview-scene-heading{display:block;padding-top:38px}
 .preview-scene-heading h2{font-size:16px}
 .preview-scene-heading p{font-size:11px;margin-top:10px;max-width:350px}
 .quiet-button{padding:11px 13px;min-height:42px}
 .play-controls{gap:10px}
 .experiment-select button,.experiment-select button:last-child,.experiment-select button[aria-pressed=true]{padding:22px 42px 22px 20px}
 .experiment-arrow{top:23px;right:16px}
 .environment-features{gap:29px}
 .environment-feature{grid-template-columns:33px minmax(0,1fr);gap:18px}
 .environment-feature-icon,.environment-feature>.evidence-icon{width:33px;height:36px;font-size:25px}
 .environment-feature h3{font-size:17px;margin-bottom:8px}
 .environment-feature p{font-size:12px}
 .next-project-link{font-size:11px;gap:11px;max-width:100%;padding-inline:15px}
}
@media(max-width:600px){
 .project-preview-card:not(#project-atdl){margin-top:18px}
 .project-preview-card:not(#project-atdl) .project-stage-frame{height:700px}
 .project-preview-card:not(#project-atdl) .project-visual{inset:18px 0 30px}
 .project-preview-card#project-tracker .project-stage-frame{height:480px}
 .project-preview-card#project-tracker .project-visual{inset:-10px -12% 0}
 .project-preview-card#project-rover .project-stage-frame{height:760px}
 .project-preview-card#project-rover .project-visual{inset:-15px -14% 350px}
 .project-preview-card#project-rover .rover-advisory{top:auto;bottom:20px;left:6%;right:6%;width:auto;padding:17px 18px;column-gap:20px}
 .project-preview-card#project-rover .mct-event-title{font-size:12px}
 .project-preview-card#project-rover .mct-event-body{font-size:9px;line-height:1.65}
 .project-preview-card#project-rover .mct-metrics b{font-size:18px}
 .project-preview-card#project-rover .mct-metrics span{font-size:6px}
 .project-preview-card#project-rover .mct-advisory-head{font-size:6px}
 .project-preview-card#project-rover .mct-channels{margin-top:17px;gap:8px}
 .project-preview-card#project-rover .mct-channels dt{font-size:6px}
 .project-preview-card#project-rover .mct-channels dd{font-size:9px}
 .project-preview-card#project-rover .mct-decision-heading{font-size:7px}
 .project-preview-card#project-rover .mct-choice-buttons button{font-size:10px;min-height:58px}
 .project-preview-card#project-rover .mct-action{font-size:8px;margin-top:12px}
 .project-preview-card#project-studio .project-stage-frame{height:660px}
 .project-preview-card#project-studio .project-visual{inset:20px 0 25px}
 .project-preview-card#project-studio .studio-field-label{left:7%;right:7%;top:0;font-size:7px}
 .project-preview-card#project-studio .studio-field-label small{font-size:6px}
 .project-preview-card#project-studio .studio-insight,.project-preview-card#project-studio .studio-stage[data-studio-phase] .studio-insight{left:8%;width:84%;top:12%}
 .project-preview-card#project-studio .studio-insight-title{font-size:12px}
 .project-preview-card#project-studio .studio-insight-copy{font-size:10px;max-width:none}
 .project-preview-card#project-studio .studio-canvas-controls{left:7%;right:7%;bottom:0;flex-wrap:wrap;gap:17px}
 .project-preview-card#project-studio .studio-canvas-modes{gap:7px;justify-content:center;width:100%}
 .project-preview-card#project-studio .studio-canvas-modes button{font-size:9px;min-height:40px;padding:10px 15px}
 .project-preview-card#project-studio .studio-canvas-time{width:100%;max-width:none;gap:12px}
 .project-preview-card#project-studio .studio-canvas-time output{font-size:9px}
 .project-preview-card#project-flidis .project-stage-frame{height:780px}
 .project-preview-card#project-flidis .project-visual{inset:20px 6% 35px}
 .project-preview-card#project-flidis .flidis-flight{inset:5% -6% 60%}
 .project-preview-card#project-flidis .flidis-context{font-size:7px}
 .project-preview-card#project-flidis .flidis-context>span{font-size:6px}
 .project-preview-card#project-flidis .flidis-manual{top:45%;left:0;right:57%;bottom:auto;gap:13px}
 .project-preview-card#project-flidis .flidis-guide{font-size:7px}
 .project-preview-card#project-flidis .flidis-stick-pad{width:112px;height:112px}
 .project-preview-card#project-flidis .flidis-stick-readout{font-size:8px}
 .project-preview-card#project-flidis .flidis-stick-help{font-size:10px;max-width:145px}
 .project-preview-card#project-flidis .flidis-keyboard-help{display:block;font-size:8px}
 .project-preview-card#project-flidis .flidis-request{top:43%;left:48%;right:0;padding:0}
 .project-preview-card#project-flidis .flidis-task-message h3{font-size:14px}
 .project-preview-card#project-flidis .flidis-task-message h3 strong{display:block;font-size:21px;margin:4px 0 0}
 .project-preview-card#project-flidis .flidis-request-label,.project-preview-card#project-flidis .flidis-request-type{font-size:7px}
 .project-preview-card#project-flidis .flidis-entry-value{font-size:19px;padding-block:5px 10px}
 .project-preview-card#project-flidis .flidis-keypad{gap:5px}
 .project-preview-card#project-flidis .flidis-keypad button{height:37px;font-size:13px}
 .project-preview-card#project-flidis .flidis-keypad .flidis-clear{font-size:8px}
 .project-preview-card#project-flidis .flidis-voice,.project-preview-card#project-flidis .flidis-next{min-height:39px;font-size:10px}
 .project-preview-card#project-flidis .flidis-voice-note{font-size:8px}
 .project-preview-card#project-flidis .flidis-entry-feedback{font-size:9px}
 .project-preview-card#project-flidis .flidis-insight{display:block;top:auto;bottom:0;left:0;width:42%}
 .project-preview-card#project-flidis .flidis-insight p{font-size:11px}
 .project-preview-card#project-dingdong .project-stage-frame{height:760px}
 .project-preview-card#project-dingdong .project-visual{inset:0;height:100%}
 .project-preview-card#project-dingdong .cabin-location{top:5%;font-size:6px}
 .project-preview-card#project-dingdong .cabin-activity{top:11%;left:auto;right:7%;width:215px;padding:15px}
 .project-preview-card#project-dingdong .cabin-activity dl>div{font-size:9px}
 .project-preview-card#project-dingdong .cabin-activity small{font-size:6px}
 .project-preview-card#project-dingdong .cabin-insight{top:auto;bottom:10%;left:7%;right:7%;width:auto;padding:17px}
 .project-preview-card#project-dingdong .cabin-insight strong{font-size:14px}
 .project-preview-card#project-dingdong .cabin-insight p{font:10px/1.75 Inter,Arial,sans-serif}
 .project-preview-card#project-dingdong .cabin-action-cue{bottom:4%;font-size:8px}
 .project-preview-card#project-assistant .project-stage-frame{height:780px}
 .project-preview-card#project-assistant .project-visual{inset:20px 0 25px}
 .project-preview-card#project-assistant .agent-concept-label{font-size:6px}
 .project-preview-card#project-assistant .agent-question{top:5%;left:7%;width:86%;padding:8px 12px}
 .project-preview-card#project-assistant .agent-question p{font-size:16px;line-height:1.6}
 .project-preview-card#project-assistant .research-agent-world{inset:17% 0 16%;height:67%;mask-image:linear-gradient(#000 0%,#000 66%,transparent 100%)}
 .project-preview-card#project-assistant .agent-evidence{top:auto;bottom:27%;left:8%;right:8%;width:auto;gap:7px}
 .project-preview-card#project-assistant .agent-evidence>div{padding:10px 12px;grid-template-columns:78px minmax(0,1fr)}
 .project-preview-card#project-assistant .agent-evidence span{font-size:6px}
 .project-preview-card#project-assistant .agent-evidence q{font-size:10px}
 .project-preview-card#project-assistant .agent-answer{bottom:10%;padding-top:13px}
 .project-preview-card#project-assistant .agent-answer p{font-size:11px;line-height:1.75}
 .project-preview-card#project-assistant .agent-answer>span,.project-preview-card#project-assistant .agent-answer small{font-size:7px}
 .project-preview-card#project-assistant .agent-question-controls{left:7%;bottom:1%;gap:7px}
 .project-preview-card#project-assistant .agent-question-controls button{font-size:8px;padding:10px 12px}
 .project-preview-card#project-assistant .agent-state{right:7%;bottom:2%;font-size:6px;max-width:84px}
 .project-preview-card#project-corpus .project-stage-frame{height:760px}
 .project-preview-card#project-corpus .project-visual{inset:20px 0 30px}
 .project-preview-card#project-corpus .schema-source{min-height:96px;padding-top:16px;padding-bottom:13px}
 .project-preview-card#project-corpus .schema-source strong{font-size:12px}
 .project-preview-card#project-corpus .schema-source-cue{font-size:9px;line-height:1.55}
 .project-preview-card#project-corpus .schema-source-dot{top:22px}
 .project-preview-card#project-corpus .schema-corpus-name strong{font-size:24px}
 .project-preview-card#project-corpus .schema-entities{top:74px}
 .project-preview-card#project-corpus .schema-entities span{font-size:7px}
 .project-preview-card#project-corpus .schema-provenance{top:104px;font-size:7px}
 .project-preview-card#project-corpus .schema-selection{top:calc(62% + 136px)}
 .project-preview-card#project-corpus .schema-selection-label{font-size:10px}
 .project-preview-card#project-corpus .schema-selection p{font-size:11px;line-height:1.75}
}
@media(max-width:380px){
 .project-preview-card#project-corpus .schema-source strong{font-size:11px}
 .project-preview-card#project-corpus .schema-source-cue{font-size:8px}
 .project-preview-card#project-assistant .agent-question-controls button{font-size:7px;padding-inline:10px}
 .project-preview-card#project-assistant .agent-state{font-size:5px;max-width:69px}
 .project-preview-card#project-flidis .flidis-stick-pad{width:102px;height:102px}
 .project-preview-card#project-flidis .flidis-task-message h3{font-size:12px}
 .project-preview-card#project-flidis .flidis-task-message h3 strong{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.loading-orbit{animation:none}.next-project-link>span{transition:none}}
