#solar-simulation{--solar-green:#a8f078;--solar-muted:#a9bdc8;background:#0a1822;color:#ecf5f8;border:1px solid #34505f;border-radius:20px;padding:clamp(18px,3vw,42px);margin:30px 0;font-family:system-ui,sans-serif}#solar-simulation *{box-sizing:border-box}.solar-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.solar-kicker,.solar-map-top,.solar-boundary{font-size:11px;letter-spacing:1.7px;font-weight:700}.solar-heading h2{font-size:clamp(32px,4vw,56px);line-height:1.04;margin:16px 0;color:#fff}.solar-heading h2 span{color:var(--solar-green)}.solar-heading p,.solar-map-note{color:var(--solar-muted)}.solar-badge{border:1px solid #4b6d57;padding:16px;color:var(--solar-green);font-size:12px;line-height:1.8;border-radius:8px}.solar-badge small{color:var(--solar-muted)}.solar-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}#solar-simulation button,#solar-simulation select{font:inherit;padding:10px 13px;border:1px solid #526b7a;border-radius:6px;color:#ecf5f8;background:#142c3a;cursor:pointer}#solar-simulation button:focus-visible,#solar-simulation select:focus-visible,#solar-simulation input:focus-visible{outline:3px solid #a8f078;outline-offset:3px}#solar-simulation #solar-play{background:var(--solar-green);color:#102012;font-weight:750}.solar-toolbar label{font-size:13px}#solar-audio-status{font-size:12px;color:var(--solar-muted);min-height:18px}.solar-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;margin:24px 0}.solar-map{border:1px solid #284453;border-radius:12px;padding:20px;background:radial-gradient(ellipse at 40% 70%,#14382f,transparent 65%),#0b1f2c}.solar-map-top{display:flex;justify-content:space-between;color:var(--solar-muted);gap:12px}.solar-network{max-width:360px;margin:20px auto;text-align:center}.solar-node{padding:12px;border:1px solid #527369;border-radius:7px;background:#102a30;font-size:14px;transition:border-color .4s,background .4s}.solar-node small{display:block;color:#b9cbd3;font-size:11px;margin-top:5px}.solar-wire{height:18px;width:2px;background:#a8f078;margin:auto}.solar-boundary{color:#edbd6c;border-top:1px dashed #947750;border-bottom:1px dashed #947750;margin:15px -8px;padding:9px 0;font-size:9px}.solar-panels{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.solar-panel{height:34px;border:1px solid #8ac49e;transform:skew(-12deg);background:repeating-linear-gradient(90deg,transparent 0 13px,#476e73 14px 15px),repeating-linear-gradient(0deg,#184153 0 10px,#476e73 11px 12px);transition:opacity .5s}.solar-panel.off{opacity:.25}.solar-node.alert{border-color:#ff896f;background:#482721}.solar-node.isolated{border-color:#edbd6c;background:#34301c}.solar-map-note{font-size:11px;margin-bottom:0}.solar-story h3{font-size:28px;line-height:1.2;margin:14px 0}.solar-story>p{line-height:1.7}#solar-caption{min-height:170px;color:#cfdee6}.solar-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;border-block:1px solid #34505f;padding:20px 0}.solar-metrics strong{display:block;color:var(--solar-green);font-size:clamp(19px,2.2vw,28px)}.solar-metrics span{display:block;color:var(--solar-muted);font-size:11px;margin-top:6px}#solar-action{font-size:13px;color:#edbd6c}#solar-stages{display:flex;gap:8px;flex-wrap:wrap}#solar-stages button{flex:1;font-size:12px;text-align:left;min-width:120px}#solar-stages button[aria-current=true]{border-color:var(--solar-green);color:var(--solar-green)}.solar-evidence{border-top:1px solid #34505f;margin-top:25px;padding-top:20px;font-size:13px;color:#c4d4dd;line-height:1.7}.solar-evidence summary{cursor:pointer;color:#fff}.solar-evidence a{color:#a8f078}@media(max-width:760px){.solar-layout{grid-template-columns:1fr}.solar-heading{display:block}.solar-badge{display:inline-block;margin-top:10px}#solar-caption{min-height:0}.solar-toolbar{align-items:flex-start}}@media(prefers-reduced-motion:reduce){#solar-simulation *{transition:none!important}}

@keyframes solar-flow{0%,100%{opacity:.35}50%{opacity:1;box-shadow:0 0 12px #a8f078}}@media(prefers-reduced-motion:no-preference){.is-playing .solar-wire{animation:solar-flow 1.8s ease-in-out infinite}}

/* Stage 2 establishing shot overlays the diagram without changing its layout. */
.solar-map{position:relative;overflow:hidden;isolation:isolate}
.solar-drone{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;opacity:0;pointer-events:none;transition:opacity 1s ease;background:#0b1f2c}
.solar-drone.is-visible{opacity:1}
