/* ============================================================
   CSP inline-style fix — appended stylesheet, loaded alongside
   styles.css via its own <link> tag on index.html, dashboard.html,
   FirstStrike.html, SecondStrike.html, and ThirdStrike.html.
   These replace inline style="" attributes and an inline <style>
   block that were being silently blocked by netlify.toml's CSP
   (style-src has no 'unsafe-inline').
   ============================================================ */

.nav-signin-btn {
  margin-left: 28px;
}

/* Generic default-hidden utility, replaces every style="display:none;"
   that was setting initial hidden state. JavaScript's existing
   el.style.display = 'block'/'none' calls in app-index.js /
   app-dashboard.js are UNAFFECTED by this — inline styles set via JS
   property assignment always take precedence over a CSS class in the
   cascade, and are not subject to this CSP restriction the way
   HTML-authored style="" attributes are. */
.js-hidden {
  display: none;
}

.pricing-fineprint {
  margin-top: 20px;
  font-size: 13px;
  color: var(--ink-soft);
}

.signin-form-wrap {
  flex: 1;
  min-width: 280px;
  max-width: 420px;
}

/* Evidence-grid layout used by FirstStrike.html, SecondStrike.html, and
   ThirdStrike.html — was originally an inline <style> block, which is
   blocked by style-src the same way a style="" attribute is. */
.evidence-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 28px 0;
}
.evidence-grid figure {
  margin: 0;
  background: var(--paper-raised);
  border: 1px solid var(--rule);
  border-radius: 4px;
  overflow: hidden;
}
.evidence-grid img {
  display: block;
  width: 100%;
  height: auto;
}
.evidence-grid figcaption {
  padding: 10px 12px;
  font-family: var(--font-mono);
  font-size: 11px;
  color: var(--ink-soft);
  line-height: 1.4;
}
@media (max-width: 760px) {
  .evidence-grid { grid-template-columns: 1fr; }
}
