/* A restrained visual language for signals, timing and shared evidence. */
.fx-utilities{display:flex;align-items:center;gap:17px}.fx-motion{color:var(--muted);background:none;border:1px solid var(--line);font-size:9px;letter-spacing:.3px;min-height:36px;padding:7px 10px;white-space:nowrap}.fx-motion:hover{color:var(--accent);border-color:#8a9b70}.fx-atmosphere-host{position:relative;isolation:isolate}.fx-atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;opacity:.5}.fx-blueprint{position:absolute;inset:4% 0;background-image:linear-gradient(#b9c49c08 1px,transparent 1px),linear-gradient(90deg,#b9c49c08 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#0008,black);animation:fx-blueprint-drift 25s linear infinite}.fx-blueprint:after{content:'';position:absolute;inset:20% 12%;border:1px solid #d0d5a512;outline:1px solid #d0d5a508;outline-offset:24px}.fx-sea-contours{position:absolute;inset:24% -15% 0;width:130%;height:76%;animation:fx-wave-drift 18s ease-in-out infinite alternate;mask-image:linear-gradient(90deg,transparent,black)}.fx-sea-contours path{stroke:#c4cda52e;stroke-width:.7;fill:none}.fx-field-grid{position:absolute;inset:12% 0;background-image:radial-gradient(#c2d4b33d .75px,transparent .75px);background-size:55px 55px;mask-image:radial-gradient(ellipse at 80% 50%,black,transparent 70%)}.fx-field-scan{position:absolute;inset:0;background:linear-gradient(110deg,transparent 40%,#d0d5a507 48%,#d0d5a514 50%,transparent 54%);background-size:200% 100%;animation:fx-scan 15s linear infinite}.fx-constellation{position:absolute;inset:6% 0;background-image:radial-gradient(#d0d5a536 1px,transparent 1px),radial-gradient(ellipse at 72% 50%,#71864c12,transparent 58%);background-size:105px 105px,100% 100%;mask-image:linear-gradient(90deg,transparent,black);animation:fx-breathe 12s ease-in-out infinite}.fx-spotlight{position:relative;isolation:isolate}.fx-spotlight:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;opacity:0;background:radial-gradient(320px circle at var(--fx-x,50%) var(--fx-y,50%),#dae7ae0c,transparent 70%);transition:opacity .6s;mix-blend-mode:screen}.fx-spotlight:hover:after{opacity:1}.fx-signal{fill:none!important;stroke:#e0e6b5!important;stroke-width:2.4!important;stroke-dasharray:3 97!important;stroke-dashoffset:100;opacity:.9;filter:drop-shadow(0 0 4px #d0d5a5);animation:fx-signal-travel 3.6s linear infinite;pointer-events:none}.fx-link-base{stroke-opacity:.45;stroke-dasharray:3 7}.fx-hero-signals{opacity:.65}.fx-toolbar{display:flex;align-items:center;gap:12px;padding:16px 25px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,#d0d5a506,transparent)}.fx-view-switch{display:flex;border:1px solid #7c8c6055;padding:3px;gap:3px}.fx-view-switch button{font-size:10px;color:var(--muted);background:none;border:0;min-height:38px;padding:8px 12px;white-space:nowrap}.fx-view-switch button[aria-pressed=true]{color:var(--accent);background:#d0d5a513;box-shadow:inset 0 -1px #d0d5a55c}.fx-replay,.fx-replay-reset{background:none;border:1px solid #73815870;color:var(--accent);font-size:10px;min-height:44px;padding:9px 13px;white-space:nowrap}.fx-replay:hover,.fx-replay-reset:hover{background:#d0d5a50b}.fx-replay[aria-pressed=true]{border-color:var(--accent);background:#d0d5a50a}.fx-replay-reset{border-color:transparent;color:var(--muted);padding-left:3px;padding-right:3px}.fx-playback-status{margin-left:auto;max-width:190px;color:var(--muted);font:8px/1.7 monospace;letter-spacing:.2px}.fx-map{position:relative;isolation:isolate}.fx-clock-halo{pointer-events:none;border:1px solid #ced6a53b;border-radius:50%;position:absolute;opacity:.75;transition:opacity .5s,border-color .5s;box-shadow:0 0 13px #b6cb8a0b}.fx-clock-uncertain>.fx-clock-halo{border-color:#d3b77d88;border-style:dashed;box-shadow:0 0 18px #d3b77d13}.map-node .fx-clock-halo{stroke:#c4d2a84d;stroke-width:1;stroke-dasharray:2 5;transition:r .75s ease,stroke .5s;opacity:.75}.map-node.fx-clock-uncertain .fx-clock-halo{stroke:#d3b77d99;stroke-dasharray:3 5}.map-node[role=button]{cursor:pointer;outline:none}.map-node[role=button]:focus-visible .node-ring{stroke-width:2;stroke:#e3e8b9}.fx-evidence-lens{margin:0 24px 21px;padding:18px 20px;border:1px solid #7f926056;background:linear-gradient(120deg,#d0d5a509,transparent);border-left:2px solid #b8c68b88;min-width:0}.fx-lens-heading{display:flex;gap:15px;align-items:center;justify-content:space-between}.fx-lens-heading .eyebrow{font-size:8px;letter-spacing:1px}.fx-lens-heading strong{font-size:10px;font-weight:500;color:var(--accent)}.fx-lens-chips{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 10px}.fx-lens-chips span{font:8px/1.6 monospace;color:#c3d0b1;border:1px solid #6c805547;padding:4px 7px;background:#d0d5a504}.fx-evidence-lens p{font-size:11px;color:var(--muted);line-height:1.85}.fx-evidence-lens small{display:block;font-size:8px;line-height:1.8;color:#8da183;margin-top:12px}.fx-muted{opacity:.28!important;transition:opacity .35s}.fx-lens-selected{opacity:1!important}.sensor-pin.fx-lens-selected{border-color:#e0e7ae;box-shadow:0 0 23px #d0d5a528}.map-node.fx-lens-selected .node-ring{stroke:#e2e8b9;stroke-width:1.7}.fx-raw-stage{position:absolute;inset:22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:12px;z-index:3}.fx-raw-card{border:1px solid #75875b66;background:#172920e8;color:var(--muted);text-align:left;padding:16px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-width:0}.fx-raw-code{font:9px monospace;color:var(--accent);letter-spacing:.8px}.fx-raw-value{font-size:14px;font-weight:400;line-height:1.5;overflow-wrap:anywhere}.fx-raw-clock{font:9px monospace;color:#b0c2a3}.fx-raw-quality{font-size:9px;color:#8fa485;line-height:1.6}.fx-raw-card[aria-pressed=true]{border-color:var(--accent);background:#203527}.fx-individual .fx-map{min-height:400px}.fx-individual .fx-map>svg,.fx-individual #map-buttons,.fx-individual #offshore-pins{visibility:hidden}.fx-individual .building-metrics,.fx-individual .case-metrics{opacity:.45}.fx-event-time{border-bottom:1px solid var(--line);margin-bottom:20px}.research-console .fx-evidence-lens{margin-top:0}.fx-console[data-replaying=true] .situation-review,.fx-console[data-replaying=true] .case-evidence{background:linear-gradient(100deg,#d0d5a504,transparent 80%)}
@keyframes fx-signal-travel{to{stroke-dashoffset:0}}@keyframes fx-wave-drift{from{transform:translateX(-3%) translateY(3px)}to{transform:translateX(3%) translateY(-4px)}}@keyframes fx-blueprint-drift{to{background-position:72px 72px}}@keyframes fx-breathe{50%{opacity:.4}}@keyframes fx-scan{from{background-position:160% 0}to{background-position:-160% 0}}
html[data-motion=off] .fx-signal{animation:none;opacity:0}html[data-motion=off] .fx-atmosphere *,html[data-fx-visible=no] .fx-atmosphere *,html[data-fx-visible=no] .fx-signal{animation-play-state:paused!important}html[data-motion=off] .fx-spotlight:after{opacity:0}html[data-motion=off] .fx-map *,html[data-motion=off] .fx-clock-halo{transition:none!important}html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] .hero-sensor circle{animation:none}
.fx-individual .fx-map{min-height:max(400px,calc(var(--fx-rows,2)*185px))}.source-select.fx-muted,.inspect-source.fx-muted,.fx-raw-card.fx-muted{opacity:.6!important}
@media(max-width:1100px){.fx-toolbar{gap:9px;padding:15px 18px;flex-wrap:wrap}.fx-view-switch button{font-size:9px;padding:8px 9px}.fx-playback-status{font-size:8px;max-width:170px}.fx-utilities{gap:12px}.fx-utilities .private-label{font-size:8px}.fx-raw-card{padding:13px}.fx-raw-value{font-size:12px}}
@media(max-width:820px){.fx-utilities .private-label{display:none}.fx-evidence-lens{margin-left:24px;margin-right:24px}.fx-playback-status{max-width:none}.fx-raw-stage{inset:24px 35px}.fx-raw-value{font-size:16px}.fx-individual .fx-map{min-height:max(430px,calc(var(--fx-rows,2)*175px))}}
@media(max-width:540px){.fx-utilities{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:0}.fx-utilities .private-label{display:block!important;margin:0!important;font-size:7px!important}.fx-motion{font-size:8px;border-color:transparent;min-height:31px;padding:5px 0}.sector-header .brand{margin-bottom:0}.platform-page .sector-header nav,.sector-header nav{margin-top:5px}.fx-toolbar{padding:14px 14px;gap:10px;align-items:center}.fx-view-switch{width:100%}.fx-view-switch button{flex:1;font-size:10px;min-height:39px;padding:8px 7px}.fx-replay{font-size:10px;min-height:42px;padding:8px 11px}.fx-replay-reset{font-size:9px;min-height:42px}.fx-playback-status{flex-basis:100%;font-size:8px;max-width:none;margin-left:0}.fx-evidence-lens{margin:0 15px 20px;padding:17px 16px}.fx-lens-heading{align-items:flex-start;gap:10px}.fx-lens-heading strong{font-size:9px;max-width:145px;text-align:right}.fx-lens-heading .eyebrow{font-size:7px;white-space:nowrap}.fx-lens-chips{gap:5px;margin-top:12px}.fx-lens-chips span{font-size:7px;padding:4px 6px}.fx-evidence-lens p{font-size:11px}.fx-evidence-lens small{font-size:8px}.fx-raw-stage{inset:18px 15px;gap:10px}.fx-raw-card{padding:13px 10px;gap:10px}.fx-raw-code{font-size:8px}.fx-raw-value{font-size:12px}.fx-raw-clock{font-size:8px;line-height:1.7}.fx-raw-quality{font-size:8px}.fx-individual .fx-map{min-height:max(365px,calc(var(--fx-rows,2)*190px))}.fx-spotlight:after{display:none}}
@media(max-width:360px){.fx-toolbar{padding:13px 12px}.fx-replay{font-size:9px;padding:8px 9px}.fx-replay-reset{font-size:8px}.fx-raw-card{padding:11px 9px}.fx-raw-value{font-size:11px}.fx-lens-heading strong{max-width:125px}.fx-evidence-lens{padding:16px 13px}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=on]) .fx-signal,html:not([data-motion=on]) .fx-atmosphere *{animation:none!important}.fx-muted{transition:none}}
