/* Each workspace is a stationary plane in the evidence world. The canvas camera
   supplies its perspective matrix; no independent card animation is applied. */
:root{--bg:#010204;--line:rgba(150,187,195,.14);--muted:#81939b;background:#010204}
body{background:#010204;overflow-x:clip}
.world-shade{background:radial-gradient(ellipse at 17% 46%,rgba(0,1,3,.51),transparent 57%),linear-gradient(0deg,rgba(0,1,3,.48),transparent 21%,transparent 84%,rgba(0,1,3,.25))}
.spatial-enabled.in-transit .world-shade{opacity:calc((1 - var(--light)) * .35)}
.grain{opacity:.016}
.site-header{background:linear-gradient(#010204f2,#010204a6 72%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.experience-bar{background:linear-gradient(#0102042b,#010204df);border-color:#91b2bd1f}
.hero .eyebrow{color:#819b9f}
.hero-description{color:#82949d}
.hero-node{color:#8ba9aa}
.hero-node i{opacity:.65}
.hero h1{font-weight:400}
.hero h1 span{background-image:linear-gradient(100deg,#96bfca,#b2ddcf 72%,#8ab1bb)}
.mission-seed{background:linear-gradient(110deg,#060e12dd,#03090c9e);border-color:#8bbab52e;backdrop-filter:blur(8px);box-shadow:0 20px 65px #0008}
.hero-bottom{border-color:#86abb517}
.ui-window{background:linear-gradient(130deg,#081014f5,#03080bf7);border-color:#a1c2c132;box-shadow:0 30px 100px #0009,0 0 45px #79c7ae04;transform:none}
.window-bar{background:#bdd6de02;border-color:#91b9ba1c}
.window-body .ui-card{background:#a9c7ce03;border-color:#9bb3c424}
.window-body .ui-row{border-color:#91b0b312}
.window-footer{background:#01030433;border-color:#91b9ba1c}
.ui-divider{background:#91b9ba1a}
.field-device-frame{background:linear-gradient(130deg,#1c2b31,#05090c 45%,#203038);border-color:#b0d4cf4f;box-shadow:0 35px 100px #000a}
.field-device-frame .ui-window,.device-top{background:#040b0f}
.field-device-frame .ui-window{border-color:#a1c2c126}
.field-device-frame .field-request{background:#99cfbd04}
.map-display{filter:brightness(.83);background:#020709}
.station-address{display:flex;align-items:center;gap:9px;color:#739895;font-size:7px;letter-spacing:1.5px;line-height:1.8;margin-bottom:13px}
.station-address-node{color:#a6e6cc;font-size:13px;line-height:1}
.station-address-divider{color:#3c5659;margin:0 2px}
.station-address-light{height:3px;width:3px;border-radius:50%;background:#a4dcc4;box-shadow:0 0 9px #a4dcc47a;margin-left:auto}
.spatial-layer{position:fixed;inset:0;z-index:5;pointer-events:none;overflow:hidden;isolation:isolate;perspective:none;contain:layout style}
body:not(.spatial-enabled) .spatial-layer{display:none}
.spatial-enabled #chapters>.chapter{height:160svh;min-height:0;padding:0;margin:0;pointer-events:none}
.spatial-enabled .spatial-layer .chapter-stage{position:absolute;top:0;left:0;width:min(1320px,84vw);height:auto;min-height:0;margin:0;padding:0;display:grid;grid-template-columns:minmax(350px,.74fr) 1.26fr;gap:56px;align-items:center;transform-origin:0 0;transform-style:flat;backface-visibility:hidden;will-change:transform,opacity;transition:none;opacity:0;visibility:hidden;pointer-events:none}
.spatial-enabled .chapter-stage .chapter-copy{max-width:440px;padding-bottom:15px}
.spatial-enabled .spatial-layer .chapter-stage.at-node{will-change:auto}
.spatial-enabled .chapter-stage .eyebrow{font-size:11px;letter-spacing:1.5px;display:flex;gap:17px;align-items:center;color:#a0b8b7;margin-bottom:22px}
.spatial-enabled .chapter-stage .chapter-num{font-size:12px;color:#85bcb0}
.spatial-enabled .chapter-stage h2{font-size:50px;font-weight:400;line-height:1.09;letter-spacing:-2.1px}
.spatial-enabled .chapter-stage h2 em{color:#b2dccc}
.spatial-enabled .chapter-stage .chapter-description{margin-top:22px;font-size:16px;line-height:1.75;color:#91a4aa;max-width:420px}
.spatial-enabled .chapter-stage .chapter-quote{display:block;font-size:13px;line-height:1.7;color:#89aaa5;border-color:#91c7b548;padding-left:16px;margin-top:24px}
.spatial-enabled .chapter-stage .chapter-context{display:flex;margin-top:30px;font-size:10px;color:#658787;letter-spacing:1px}
.spatial-enabled .chapter-stage .scene-panel{position:relative;width:100%;max-width:none;align-self:center;perspective:none;transform-style:flat}
.spatial-enabled .chapter-stage .ui-window{transform:none;backdrop-filter:none;-webkit-backdrop-filter:none;border-radius:5px}
/* Docked panels are read at (or near) true pixel size, so the type scale has a
   readable floor. The mission heading and caption repeat the chapter context and
   footer; hiding them keeps each panel inside the docking height. */
.spatial-enabled .chapter-stage .window-body{padding:14px 22px}
.spatial-enabled .chapter-stage .ui-row{padding-top:7px;padding-bottom:7px}
.spatial-enabled .chapter-stage .ui-divider{margin:10px 0}
.spatial-enabled .chapter-stage .ui-card{padding:10px 13px}
.spatial-enabled .chapter-stage .window-body h3{font-size:19px}
.spatial-enabled .chapter-stage .ui-row strong,.spatial-enabled .chapter-stage .ui-card strong{font-size:13px}
.spatial-enabled .chapter-stage .window-body p{font-size:13px;line-height:1.55}
.spatial-enabled .chapter-stage .ui-row .muted{font-size:12px}
body.spatial-enabled .chapter-stage .ui-label,body.spatial-enabled .chapter-stage .tag,body.spatial-enabled .chapter-stage .window-live,body.spatial-enabled .chapter-stage .mission-link,body.spatial-enabled .chapter-stage .map-legend,body.spatial-enabled .chapter-stage .attachment,body.spatial-enabled .chapter-stage .panel-tabs span,body.spatial-enabled .chapter-stage .panel-note,body.spatial-enabled .chapter-stage .device-top,body.spatial-enabled .chapter-stage .window-footer .mono,body.spatial-enabled .chapter-stage .station-address{font-size:10px;letter-spacing:.6px}
body.spatial-enabled .chapter-stage .tag{padding:3px 6px}
body.spatial-enabled .chapter-stage .mini-btn,body.spatial-enabled .chapter-stage .panel-tabs button,body.spatial-enabled .chapter-stage .brief-number,body.spatial-enabled .chapter-stage .window-body .mono,body.spatial-enabled .chapter-stage .ui-card small,body.spatial-enabled .chapter-stage small.muted{font-size:11px}
body.spatial-enabled .chapter-stage .mini-btn{padding:6px 9px}
body.spatial-enabled .chapter-stage .window-live .status-dot,body.spatial-enabled .chapter-stage .mission-link .status-dot{height:4px;width:4px}
.spatial-enabled .chapter-stage .task-row small,.spatial-enabled .chapter-stage .source-row small,.spatial-enabled .chapter-stage .investigation-link small{font-size:11px!important}
.spatial-enabled .chapter-stage .timeline-now{font-size:10px!important;margin:-2px 0 10px}
.spatial-enabled .chapter-stage .window-bar{min-height:40px;padding:10px 20px;font-size:12px}
.spatial-enabled .chapter-stage .window-footer{padding:9px 20px}
.spatial-enabled .chapter-stage .mission-heading,.spatial-enabled .chapter-stage .panel-caption{display:none}
.spatial-enabled .chapter-stage .claim-card blockquote{font-size:14px;line-height:1.6;margin-top:10px}
.spatial-enabled .chapter-stage .claim-card .ui-row:first-child{padding-top:0}
.spatial-enabled .chapter-stage .claim-card .ui-row:last-child{padding-bottom:0}
.spatial-enabled .chapter-stage .claim-pair{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.spatial-enabled .chapter-stage .claim-pair .claim-card{margin:0;display:flex;flex-direction:column}
.spatial-enabled .chapter-stage .claim-pair blockquote{flex:1}
.spatial-enabled .chapter-stage .claim-pair .ui-row:last-child{flex-wrap:wrap;gap:6px}
.spatial-enabled .chapter-stage .assessment-note p{font-size:13px}
.spatial-enabled .chapter-stage .station-address{margin-bottom:12px}
.spatial-enabled .chapter-stage .map-svg{height:200px}
.spatial-enabled .chapter-stage .field-device-frame{max-width:480px}
.spatial-enabled .field-device-frame .window-body{padding:12px 18px}
.spatial-enabled .field-device-frame .ui-row{padding:6px 0}
.spatial-enabled .field-device-frame .window-body p{font-size:12.5px;line-height:1.55}
.spatial-enabled .field-device-frame .ui-card{padding:9px 12px}
.spatial-enabled .field-device-frame .window-body h3{font-size:18px}
.spatial-enabled .field-device-frame .window-body .ui-row strong,.spatial-enabled .field-device-frame .window-body .ui-card strong{font-size:12.5px}
.spatial-enabled .field-device-frame .window-body .ui-card small,.spatial-enabled .field-device-frame .window-body .queue-row small,.spatial-enabled .field-device-frame .window-body .ui-row .muted{font-size:10.5px!important}
.spatial-enabled .field-device-frame .window-body .queue-row{padding:12px 0 6px}
.spatial-enabled .field-device-frame .window-bar{min-height:34px;padding:9px 16px;font-size:11px}
.spatial-enabled .field-device-frame #sync-status{font-size:10px;line-height:1.6}
.spatial-enabled .chapter-stage .window-body .processing-flow{font-size:11px}
.spatial-enabled .chapter-stage .window-body .processing-preview{min-height:130px}
.spatial-enabled .chapter-stage .window-body .analyst-question .ui-row{padding-bottom:0}
.spatial-enabled .chapter-stage .window-body .brief-assertion{padding-top:12px}
.spatial-enabled .chapter-stage .window-body .brief-assertion p{font-size:13px}
.spatial-enabled .chapter-stage .window-body .brief-assertion .ui-row{padding:8px 0}
.spatial-enabled .chapter-stage .window-body .ui-grid{gap:11px}
.spatial-enabled .chapter-stage .window-body .field-request .ui-row:first-child{padding-top:0}
.spatial-enabled .chapter-stage .window-body .provenance-chain{font-size:10.5px;padding:10px 0}
.spatial-enabled .chapter-stage .window-body .full-width{margin:13px 0 10px}
.spatial-enabled .chapter-stage .window-body #followup-status{font-size:11px;line-height:1.7}
.spatial-enabled .clarity{position:relative;z-index:7}
.spatial-enabled main{z-index:auto}
.spatial-enabled .hero-copy,.spatial-enabled .hero-node{will-change:opacity}
/* Opacity and lift are set per frame from the camera's travel. */
.travel-status{position:fixed;z-index:7;pointer-events:none;top:46%;left:50%;width:min(680px,80vw);transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;opacity:0;text-align:center;text-shadow:0 0 28px rgba(var(--scene-rgb),.95),0 0 8px rgba(var(--scene-rgb),.8)}
body:not(.spatial-enabled) .travel-status{display:none}
.travel-time{font-size:12px;letter-spacing:2.4px;color:var(--copy-accent)}
.travel-beat{margin:0;font-size:27px;font-weight:400;line-height:1.38;letter-spacing:-.4px;color:var(--copy-color);text-wrap:balance}
.travel-next{display:flex;align-items:center;gap:14px;margin-top:6px}
.travel-destination{font-size:10px;letter-spacing:1.8px;color:#9dd2bc}
.travel-line{width:26px;height:1px;background:linear-gradient(90deg,transparent,#87bfa365)}
.travel-line:last-child{transform:rotate(180deg)}
/* In document flow (small screens, reduced motion) each beat leads its chapter. */
.chapter-beat{display:flex;flex-direction:column;gap:6px;margin:0 0 30px;padding-left:14px;border-left:1px solid var(--copy-detail);max-width:440px}
.chapter-beat .mono{font-size:11px;letter-spacing:1.6px;color:var(--copy-accent)}
.chapter-beat span:last-child{font-size:15px;line-height:1.6;color:var(--copy-muted)}
.spatial-enabled .chapter-stage .chapter-beat{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;margin:0;padding:0;border:0}
.light-mode .site-header{background:linear-gradient(#eef4eef5,#eef4eeb3 72%,transparent)}
.light-mode .experience-bar{background:linear-gradient(#edf3ef33,#edf3efdf)}
.chapter-menu{background:#050b10f7;border-color:#91b9b333}
dialog{background:#060d12;border-color:#91b9b333}
.contact-dialog input,.contact-dialog textarea{background:#02070a}
.reading-progress span{background:#97cdb8;box-shadow:0 0 9px #97cdb833}
@media(max-width:899px){.travel-status{display:none}.station-address{font-size:6px;letter-spacing:1px}.world-shade{background:linear-gradient(90deg,#000103a8,transparent),linear-gradient(0deg,#00010366,transparent 40%)}.chapter-stage{padding-top:120px}.ui-window{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}}
@media(max-width:540px){.experience-bar{background:#010204d9}.site-header{background:linear-gradient(#010204f2,#010204d9 72%,#01020455)}.hero-description{font-size:11px}.station-address{font-size:6px;margin-bottom:11px}.light-mode .experience-bar{background:#edf3efdf}.light-mode .site-header{background:#eef4eee0}}
@media(prefers-reduced-motion:reduce){.travel-status{display:none}}

/* The light changes throughout the investigation; the interface follows it. */
:root{--chrome-rgb:1,2,4;--scene-rgb:1,2,4;--web-shade:1;--ambient-light:0}
.world-shade{opacity:calc((1 - var(--light)) * var(--web-shade))}
.spatial-enabled.in-transit .world-shade{opacity:calc((1 - var(--light)) * var(--web-shade) * .25)}
.site-header,.light-mode .site-header{background:linear-gradient(rgba(var(--chrome-rgb),.93),rgba(var(--chrome-rgb),.69) 72%,rgba(var(--chrome-rgb),0))}
.experience-bar,.light-mode .experience-bar{background:linear-gradient(rgba(var(--chrome-rgb),.40),rgba(var(--chrome-rgb),.94))}
.daylight-mode .chapter-copy .context-thread{background:#245947;box-shadow:none}
.daylight-mode .chapter-copy .context-thread:before{background:#245947}
.daylight-mode .chapter-stage .station-address-node{color:#225744}
.daylight-mode .chapter-stage .station-address-divider{color:#376956}
.daylight-mode .chapter-stage .station-address-light{background:#245c45;box-shadow:none}
.daylight-mode .travel-destination{color:#224d3f}
.daylight-mode .reading-progress span{background:#356a53;box-shadow:none}
@media(max-width:540px){.site-header,.light-mode .site-header{background:linear-gradient(rgba(var(--chrome-rgb),.95),rgba(var(--chrome-rgb),.86) 72%,rgba(var(--chrome-rgb),.36))}.experience-bar,.light-mode .experience-bar{background:rgba(var(--chrome-rgb),.92)}}

/* Narrative contrast is calculated against the current scene light. */
:root{--copy-color:#e6edf2;--copy-muted:#97aeb5;--copy-detail:#9dc1b9;--copy-accent:#b2dccc}
body .chapter-copy h2,body.spatial-enabled .chapter-stage .chapter-copy h2{color:var(--copy-color)}
body .chapter-copy h2 em,body.spatial-enabled .chapter-stage .chapter-copy h2 em{color:var(--copy-accent)}
body .chapter-copy .chapter-description,body.spatial-enabled .chapter-stage .chapter-copy .chapter-description{color:var(--copy-muted)}
body .chapter-copy .eyebrow,body .chapter-copy .chapter-num,body .chapter-copy .chapter-context,body.spatial-enabled .chapter-stage .chapter-copy .eyebrow,body.spatial-enabled .chapter-stage .chapter-copy .chapter-num,body.spatial-enabled .chapter-stage .chapter-copy .chapter-context{color:var(--copy-detail)}
body .chapter-copy .chapter-quote,body.spatial-enabled .chapter-stage .chapter-copy .chapter-quote{color:var(--copy-detail);border-color:var(--copy-detail)}
body .chapter-stage .station-address,body.spatial-enabled .chapter-stage .panel-caption{color:var(--copy-detail)}
body .site-header,body.light-mode .site-header{color:var(--copy-color)}
body .site-header nav a,body.light-mode .site-header nav a,body .header-cta{color:var(--copy-muted)}
body .header-cta span,body.light-mode .header-cta span{color:var(--copy-accent)}
body .current-chapter,body .chapter-menu-icon,body .experience-controls button,body.light-mode .current-chapter,body.light-mode .chapter-menu-icon,body.light-mode .experience-controls button{color:var(--copy-detail)}
body .chapter-indicator,body.light-mode .chapter-indicator{color:var(--copy-accent)}
body .mission-progress-label,body.light-mode .mission-progress-label{color:var(--copy-muted)}
body .travel-destination,body.daylight-mode .travel-destination{color:var(--copy-detail)}
body.spatial-enabled .chapter-stage .decision-options button{font-size:11px;padding:6px 10px}
body.spatial-enabled .chapter-stage .decision{padding:10px 0 0}
body.spatial-enabled .chapter-stage .field-response blockquote{font-size:13px}
/* The final picture reads as one wide brief under a short heading, both when
   docked and in document flow; below 900px every chapter already stacks. */
.spatial-enabled .spatial-layer .chapter-stage.chapter-picture{grid-template-columns:1fr;gap:14px;align-items:start}
@media(min-width:900px){
body .chapter-stage.chapter-picture{grid-template-columns:minmax(0,1fr);align-content:center;gap:16px}
body .chapter-stage.chapter-picture .chapter-copy{max-width:none;display:grid;grid-template-columns:auto 1fr;align-items:end;column-gap:40px;padding-bottom:0}
body .chapter-stage.chapter-picture .chapter-beat,body .chapter-stage.chapter-picture .eyebrow{grid-column:1/-1}
body .chapter-stage.chapter-picture .chapter-beat{margin-bottom:18px}
body .chapter-stage.chapter-picture .eyebrow{margin-bottom:10px}
body .chapter-stage.chapter-picture h2{font-size:38px;letter-spacing:-1.4px}
body .chapter-stage.chapter-picture h2 br{display:none}
body .chapter-stage.chapter-picture h2 em{margin-left:.28em}
body .chapter-stage.chapter-picture .chapter-description{margin:0 0 6px;font-size:14px;max-width:460px}
body .chapter-stage.chapter-picture .chapter-quote,body .chapter-stage.chapter-picture .chapter-context{display:none}
}
body.spatial-enabled .chapter-stage .picture-text{font-size:13px}
body.spatial-enabled .chapter-stage .picture-id,body.spatial-enabled .chapter-stage .picture-step,body.spatial-enabled .chapter-stage .picture-head{font-size:10.5px}
body.spatial-enabled .chapter-stage .picture-question{font-size:19px}
/* The bottom bar's background runs edge to edge; its contents keep the page inset. */
.experience-bar{left:0;right:0;padding:0 5.15%}
@media(max-width:850px){.experience-bar{padding:0 6%}}

/* Each story turns the brand mint to its own accent colour and saturation.
   Warning colours and the brand mark are turned back, so amber always reads
   as a warning and the logo stays true. */
:root{--story-hue:0deg;--story-saturation:1}
.story-tinted #world,.story-tinted .spatial-layer,.story-tinted main,.story-tinted .site-header,.story-tinted .experience-bar,.story-tinted .chapter-rail,.story-tinted .travel-status,.story-tinted .chapter-menu,.story-tinted dialog,.story-tinted .toast{filter:hue-rotate(var(--story-hue)) saturate(var(--story-saturation))}
.story-tinted .site-header .brand img,.story-tinted .clarity .brand img,.story-tinted .closing-mark,.story-tinted .tag.amber,.story-tinted .tag.warn,.story-tinted .decision-options button.overreach[aria-checked="true"],.story-tinted .picture-question .mono{filter:saturate(calc(1 / var(--story-saturation))) hue-rotate(calc(var(--story-hue) * -1))}
/* The tinted header and bar would otherwise blur an already-tinted canvas and
   tint it again; without the blur, the scene shows through tinted once. */
.story-tinted .site-header,.story-tinted .experience-bar{backdrop-filter:none;-webkit-backdrop-filter:none}

/* Link to the platform brief: a quiet outlined button in the header, a line in the menu. */
body .site-header nav a.nav-platform{border:1px solid currentColor;border-radius:2px;padding:6px 12px;margin-left:6px;opacity:.9}
body .site-header nav a.nav-platform:hover{opacity:1}
.menu-platform{display:block;margin:18px 0 6px;padding:12px 14px;border:1px solid #91b9b333;border-radius:3px;color:var(--mint);text-decoration:none;font-size:14px}
.menu-platform:hover{border-color:var(--mint)}
