@charset "UTF-8";
/* Each program has a named accent. Pale accents belong on navy; darker related
   colors are used for text on cream so links and labels keep readable contrast. */
body{--accent:#84e0df;--accent-rgb:132,224,223;--accent-ink:#176d70;--accent-soft:#e3f2ef;--cyan:var(--accent);--gold:var(--accent)}
body[data-theme="home"]{--accent:#84e0df;--accent-rgb:132,224,223;--accent-ink:#176d70;--accent-soft:#e3f2ef}
body[data-theme="fortress"]{--accent:#eac489;--accent-rgb:234,196,137;--accent-ink:#765116;--accent-soft:#f3ebdb}
body[data-theme="magnitude"]{--accent:#9dd7a5;--accent-rgb:157,215,165;--accent-ink:#2e653e;--accent-soft:#e7f0e5}
body[data-theme="demo"]{--accent:#bca8f5;--accent-rgb:188,168,245;--accent-ink:#674396;--accent-soft:#eee8f6}
body[data-theme="fury"]{--accent:#f09583;--accent-rgb:240,149,131;--accent-ink:#973f31;--accent-soft:#f7e8e2}
.site-header nav a[aria-current="page"]{color:var(--accent);border-color:var(--accent)}
.site-header{border-top-color:var(--accent)}.page-color-tag{display:inline-block;margin-left:10px;color:var(--accent)}
.hero .entry-frame{border-color:rgba(var(--accent-rgb),.43);background:linear-gradient(140deg,rgba(var(--accent-rgb),.06),transparent 48%,rgba(var(--accent-rgb),.025))}
.hero .entry-frame:before,.hero .entry-frame:after{border-color:var(--accent)}
.hero .scene-wrapper{border-color:rgba(var(--accent-rgb),.35)}
.hero .scene-label span:last-child,.hero .phase-label,.hero .phase-steps span,.hero .entry-frame>span{color:var(--accent)}
.feed-card .feed-status,.feed-card[data-program] .feed-status{background:var(--accent-ink);box-shadow:0 0 0 5px var(--accent-soft)}
.feed-chip{color:var(--accent-ink);background:var(--accent-soft);border-color:var(--accent-ink)}
.feed-summary,.feed-link{color:var(--accent-ink)}
.feed-context{background:var(--accent-soft);border-color:var(--accent-ink)}
.feed-switch[aria-pressed="true"]{border-color:var(--accent-ink);box-shadow:inset 0 -2px var(--accent)}
.page-section h2 em,.page-closing h2 em,.step-number,.feature-link span,.inline-link,.source-link{color:var(--accent-ink)}
.color-key{display:flex;gap:10px 19px;align-items:center;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0 23px;font-size:10px;line-height:1.5;color:#385664}
.color-key li{display:inline-flex;gap:7px;align-items:center;padding:4px 0;border-bottom:1px solid transparent}
.color-key li.is-current{border-color:var(--accent-ink);font-weight:700}
.color-dot{display:inline-block;width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:var(--key-color);box-shadow:0 0 0 1px #29425230}
[data-color-key="home"]{--key-color:#84e0df}[data-color-key="fortress"]{--key-color:#eac489}[data-color-key="magnitude"]{--key-color:#9dd7a5}[data-color-key="demo"]{--key-color:#bca8f5}[data-color-key="fury"]{--key-color:#f09583}
.theme-status{font-size:9px;line-height:1.5;color:#aac2cf;margin:9px 0 0;letter-spacing:.04em}
.theme-status strong{color:var(--accent);font-weight:400;margin-left:6px}
/* Program descriptions retain their own identities even when the active feed
   changes, so users can compare FORTRESS with MAGNITUDE side by side. */
.page-section[data-program="fortress"],.demo-panel[data-program="fortress"]{--program-color:#eac489;--program-ink:#765116}
.page-section[data-program="magnitude"],.demo-panel[data-program="magnitude"]{--program-color:#9dd7a5;--program-ink:#2e653e}
.demo-panel[data-program="fury"]{--program-color:#f09583;--program-ink:#973f31}
.page-section[data-program] .section-label>span:first-child,.page-section[data-program] .program-tag,.page-section[data-program] .program-copy h2 em,.page-section[data-program] .feature-link span{color:var(--program-ink)}
.page-section[data-program] .program-tag{border-color:var(--program-ink);background:transparent}
.page-section[data-program] .program-tag{color:var(--program-ink)!important}
.page-section[data-program] .program-media{border-top:3px solid var(--program-color)}
.demo-tabs button[data-program-target="fortress"]{--program-color:#eac489}.demo-tabs button[data-program-target="magnitude"]{--program-color:#9dd7a5}.demo-tabs button[data-program-target="fury"]{--program-color:#f09583}
.demo-player .demo-tabs button{border-bottom:3px solid var(--program-color);color:var(--program-color)}
.demo-player .demo-tabs button[aria-pressed="true"]{background:var(--program-color);color:#102f40;border-color:var(--program-color);box-shadow:none}
.demo-panel h3,.demo-panel .inline-link{color:var(--program-color)}
.demo-panel .inline-link{border-color:var(--program-color)}
body[data-page="demo"] .feed-row:nth-child(1){--row-accent:#765116;--row-soft:#f3ebdb}
body[data-page="demo"] .feed-row:nth-child(2){--row-accent:#2e653e;--row-soft:#e7f0e5}
body[data-page="demo"] .feed-row:nth-child(3){--row-accent:#973f31;--row-soft:#f7e8e2}
body[data-page="demo"] .feed-number,body[data-page="demo"] .feed-row-title,body[data-page="demo"] .feed-link{color:var(--row-accent)}
body[data-page="demo"] .feed-chip{color:var(--row-accent);background:var(--row-soft);border-color:var(--row-accent)}
.source-visuals{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin:25px 0 28px}
.source-visuals figure{min-width:0;margin:0;background:#0b2639;border:1px solid #355366;border-bottom:3px solid var(--accent);overflow:hidden}
.source-visuals img{display:block;width:100%;height:130px;object-fit:contain;padding:10px 12px;background:radial-gradient(ellipse at 50% 55%,rgba(var(--accent-rgb),.1),transparent 72%)}
.source-visuals figcaption{padding:11px 13px 13px;border-top:1px solid #274759;color:var(--accent);font-size:10px;letter-spacing:.08em;line-height:1.45;text-transform:uppercase}
.source-visuals figcaption small{display:block;margin-top:4px;color:#c0d2dc;font-size:9px;letter-spacing:0;text-transform:none}
@media(max-width:740px){.color-key{gap:8px 14px;margin-top:17px;margin-bottom:19px;font-size:9px}.theme-status{font-size:9px}}
@media(max-width:740px){.source-visuals{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.source-visuals img{height:123px;padding:8px}.source-visuals figcaption{padding:9px 10px 11px;font-size:9px}}
@media(max-width:480px){.source-visuals{grid-template-columns:repeat(2,minmax(0,1fr))}.source-visuals img{height:125px}}

/* The second page keeps the five infrared subjects in its simplified feed.
   Theme colors identify Fortress/Magnitude; thermal colors remain illustrative. */
.feed-image-sources{margin:16px 0 0}
.feed-image-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0}
.feed-image-source,.feed-image-source figure{min-width:0;margin:0}
.feed-image-source figure{height:100%;background:#0b2639;border:1px solid #355366;border-bottom:2px solid var(--accent)}
.feed-image-frame{position:relative;height:76px}
.feed-image-frame img{position:relative;display:block;width:100%;height:70px;object-fit:contain;padding:8px 5px;z-index:1}
.feed-image-frame svg{position:absolute;inset:4px;width:calc(100% - 8px);height:calc(100% - 8px);fill:none;stroke:var(--accent);stroke-width:1.5;opacity:.65}
.feed-image-source figcaption{color:var(--accent);padding:2px 4px 6px;text-align:center;font-size:8px;line-height:1.3;overflow-wrap:anywhere;min-height:27px}
.feed-image-note{font-size:8px;line-height:1.45;color:#536b79;margin:7px 0 0}
@media(max-width:740px){.feed-image-frame{height:56px}.feed-image-frame img{height:50px;padding:6px 3px}.feed-image-source figcaption{font-size:7px;padding-left:3px;padding-right:3px}.feed-image-list{gap:4px}}

/* A message is shown beside the original infrared sources as an explicit,
   static example. The feed grows with its content on every viewport. */
.feed-message{display:flex;align-items:center;gap:10px;border:1px solid #bdcece;border-left:3px solid var(--accent-ink);background:#edf3ee;padding:9px 11px;margin:13px 0 0}
.feed-message-icon{display:block;width:43px;height:43px;flex:0 0 43px;object-fit:contain;background:#10283a;border-radius:2px;padding:3px}
.feed-message-copy{min-width:0}
.feed-message-label{font-size:8px;letter-spacing:.07em;color:var(--accent-ink);line-height:1.4;margin:0 0 4px}
.feed-message-body{font-size:11px;line-height:1.45;color:#23485a;margin:0}
.feed-message-note{font-size:8px;line-height:1.4;color:#536b79;margin:4px 0 0}
body[data-page="programs"] .scene-wrapper,body[data-page="demo"] .scene-wrapper{height:auto;overflow:visible}
@media(max-width:740px){.feed-message{gap:8px;padding:8px}.feed-message-icon{width:38px;height:38px;flex-basis:38px}.feed-message-body{font-size:10px}}
