/* Instinct panel — the decision model's reading of each message, in the
   familiar's own palette (--nf-* tokens switch with body.dark-mode). */

.nf-instinct {
  margin: 0.9rem 0;
  padding: 0.85rem 0.9rem;
  border: 1px solid var(--nf-panel-border);
  border-radius: 12px;
  background: var(--nf-stat-bg);
}
.nfi-title { font: 700 0.78rem/1 "Share Tech Mono", ui-monospace, monospace; letter-spacing: 0.1em; text-transform: uppercase; color: var(--nf-cyan); margin: 0 0 0.4rem; }
.nfi-dek, .nfi-status { font-size: 0.85rem; line-height: 1.45; color: var(--nf-muted); margin: 0 0 0.5rem; }
.nfi-load, .nfi-vote {
  font: 600 0.85rem/1 "Source Sans 3", system-ui, sans-serif;
  padding: 0.5rem 0.8rem; border-radius: 8px; cursor: pointer;
  border: 1px solid var(--nf-input-border); background: var(--nf-btn-bg); color: var(--nf-text);
}
.nfi-load { border-color: var(--nf-cyan); color: var(--nf-cyan); }
.nfi-load:disabled { opacity: 0.5; cursor: wait; }
/* The site's button styles set display, which beats the hidden attribute. */
.nf-instinct [hidden] { display: none !important; }

.nfi-said { font-style: italic; color: var(--nf-text); margin: 0.6rem 0 0.25rem; }
.nfi-reading { color: var(--nf-muted); font-size: 0.88rem; margin: 0.5rem 0; }
.nfi-verdict { font-size: 0.9rem; font-weight: 600; margin: 0 0 0.5rem; }
.nfi-agree { color: var(--nf-mint); }
.nfi-disagree { color: var(--nf-warn); }
.nfi-unsure { color: var(--nf-muted); }

.nfi-bars { display: grid; gap: 0.22rem; margin: 0 0 0.6rem; }
.nfi-bar { display: grid; grid-template-columns: 5.6rem 1fr 2.6rem auto; align-items: center; gap: 0.45rem; font: 0.8rem/1.2 "Share Tech Mono", ui-monospace, monospace; color: var(--nf-muted); }
.nfi-bar-track { height: 8px; border-radius: 99px; background: var(--nf-input-bg); overflow: hidden; }
.nfi-bar-fill { display: block; height: 100%; background: var(--nf-cyan); opacity: 0.55; transition: width 0.6s cubic-bezier(0.22, 1, 0.36, 1); }
.nfi-top { color: var(--nf-text); }
.nfi-top .nfi-bar-fill { opacity: 1; background: linear-gradient(90deg, var(--nf-cyan), var(--nf-mint)); }
.nfi-bar-p { text-align: right; font-variant-numeric: tabular-nums; }
.nfi-kw-chip { font-size: 0.66rem; padding: 0.08rem 0.35rem; border-radius: 99px; border: 1px solid var(--nf-warn-border); color: var(--nf-warn); }

.nfi-gauges { display: flex; gap: 0.8rem; flex-wrap: wrap; margin: 0 0 0.4rem; }
.nfi-gauge { margin: 0; flex: 1 1 8rem; text-align: center; }
.nfi-gauge figcaption { font: 0.78rem/1.3 "Share Tech Mono", ui-monospace, monospace; color: var(--nf-muted); }
.nfi-needle { width: 100%; max-width: 150px; height: auto; display: block; margin: 0 auto; overflow: visible; }
.nfi-arc { fill: none; stroke: var(--nf-input-border); stroke-width: 6; stroke-linecap: round; }
.nfi-hand { stroke: var(--nf-cyan); stroke-width: 3; stroke-linecap: round; transition: transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1); }
.nfi-end { fill: var(--nf-muted); font: 7px "Share Tech Mono", ui-monospace, monospace; }
@media (prefers-reduced-motion: reduce) { .nfi-hand, .nfi-bar-fill { transition: none; } }

.nfi-receipt { font: 0.72rem/1.4 "Share Tech Mono", ui-monospace, monospace; color: var(--nf-muted); margin: 0.2rem 0 0.5rem; }
.nfi-ask { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.85rem; color: var(--nf-muted); }
.nfi-tally { font: 0.76rem/1.4 "Share Tech Mono", ui-monospace, monospace; color: var(--nf-muted); margin: 0.5rem 0 0; }
.nfi-export { color: var(--nf-cyan); }
