/* Aegis Sentry Magazine - cover art and editorial figures (loaded AFTER style.css).
   Kept in its own file on purpose: the host sends CSS without Cache-Control, so browsers keep an
   old style.css for days. New rules that pages depend on go in a file whose NAME is new, so no
   visitor can be holding a stale copy. If these rules ever change in a way old pages cannot
   tolerate, publish them under a new file name (figures-2.css) rather than editing in place.
   Figures are built by vault-tools/figlib.py. */

/* ---------- Cover art (issues, back issues, The Vault) ----------
   A cover that carries its own picture (set inline) always renders as a dark printed cover,
   whichever theme the reader has chosen, so masthead, title and buttons stay legible. */
.cover[style]{--text:#e2e8f0;--soft:#cbd5e1;--muted:#94a3b8;--gold:#fcd34d;--border:rgba(255,255,255,.16);
  --accent:#22d3ee;--accentText:#06222a;color:var(--text)}
body.india .cover[style]{--accent:#fb923c;--accentText:#2a1402}
.coverstory h1{margin:10px 0 0;font-size:clamp(30px,4vw,54px);line-height:1.1}
.edition-banner .thumb{width:176px;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid var(--border);flex:none}
.edition-banner .bannertext{flex:1;min-width:240px}
@media (max-width:640px){.edition-banner .thumb{width:100%}}

/* ---------- Figures: editorial illustrations inside articles (vault-tools/figlib.py) ---------- */
.fig{margin:30px 0 0;border:1px solid var(--border);border-radius:20px;background:var(--panel2);padding:20px 20px 16px;
  --f-acc:#22d3ee;--f-hot:#fbbf24;--f-red:#f87171;--f-ok:#34d399;--f-ai:#a78bfa;--f-gold:#fcd34d;--f-on:#04121a;
  --f-ink:#e2e8f0;--f-soft:#cbd5e1;--f-mute:#94a3b8;--f-line:rgba(148,163,184,.32);--f-faint:rgba(148,163,184,.08);--f-bg:#0c1424}
body.india .fig{--f-acc:#fb923c}
body .ai-box .fig{--f-acc:#a78bfa}
body .av-box .fig{--f-acc:#34d399}
body .india-box .fig{--f-acc:#fb923c}
body.light .fig{--f-acc:#0e7490;--f-hot:#b45309;--f-red:#b91c1c;--f-ok:#047857;--f-ai:#6d28d9;--f-gold:#a16207;--f-on:#ffffff;
  --f-ink:#0f172a;--f-soft:#334155;--f-mute:#64748b;--f-line:#cbd5e1;--f-faint:#f1f5f9;--f-bg:#ffffff}
body.light.india .fig,body.light .india-box .fig{--f-acc:#c2410c}
body.light .ai-box .fig{--f-acc:#6d28d9}
body.light .av-box .fig{--f-acc:#047857}
.fig svg{display:block;width:100%;height:auto;overflow:visible}
.fig .n{display:none}
.fig figcaption{margin:14px 2px 0;font-size:13px;line-height:1.65;color:var(--muted)}
.fig figcaption b{color:var(--soft)}
.brief .fig,.ai-box .fig,.av-box .fig,.india-box .fig{margin:18px 0 0;border:0;background:transparent;padding:0}
.fig .xa{fill:var(--f-acc)}.fig .xh{fill:var(--f-hot)}.fig .xr{fill:var(--f-red)}.fig .xo{fill:var(--f-ok)}
.fig .xi{fill:var(--f-ai)}.fig .xg{fill:var(--f-gold)}.fig .xk{fill:var(--f-ink)}.fig .xs{fill:var(--f-soft)}
.fig .xm{fill:var(--f-mute)}.fig .xf{fill:var(--f-faint)}.fig .xn{fill:none}.fig .xc{fill:var(--f-on)}.fig .xb{fill:var(--f-bg)}
.fig .ya{stroke:var(--f-acc)}.fig .yh{stroke:var(--f-hot)}.fig .yr{stroke:var(--f-red)}.fig .yo{stroke:var(--f-ok)}
.fig .yi{stroke:var(--f-ai)}.fig .yg{stroke:var(--f-gold)}.fig .yk{stroke:var(--f-ink)}.fig .ys{stroke:var(--f-soft)}
.fig .ym{stroke:var(--f-mute)}.fig .yl{stroke:var(--f-line)}.fig .yc{stroke:var(--f-on)}
@media (max-width:640px){.fig .w{display:none}.fig .n{display:block}.fig{padding:16px 14px 12px}}
