/* ═══════════════════════════════════════════════════════════════════════════════
   ANALYSE OUTPUT — what one call produced                             26 Aug 2026
   ═══════════════════════════════════════════════════════════════════════════════
   NO ARTBOARD EXISTS FOR THIS SCREEN either. Plate 07 is the spec, and on this one
   surface that matters more than anywhere else, because the analyse output is where
   the old palette's overload was worst:

     · a DARK NAVY hero with white text. There is no dark surface in the system
       until plate 10, which is deferred to cycle two, and Chad rejected a dark hero
       on the marketing site for the same reason it fails here — it is a second
       visual language wearing the first one's colours.
     · win probability drawn in green / amber / red.
     · the call score drawn in green / amber / red.
       Plate 07 is explicit: "the four semantic values are now DEAL STATE ONLY.
       Green no longer means 'good', amber no longer means 'warning'." A win
       probability is not a deal state and a call score is not a deal state, so
       neither may borrow those colours. They are measurements, and measurements are
       drawn in ink against a neutral track.

   WHAT KEEPS ITS COLOUR: the methodology dimensions, because those ARE deal state —
   `validated` on a call's scoring is the same fact dealDimensionEvidence reads to
   decide 'established'. Four words, four marks, one meaning across every screen.
   ═══════════════════════════════════════════════════════════════════════════════ */

.an { display:flex; flex-direction:column; gap:var(--sp-4); }
.an-card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-card);
           padding:var(--sp-5); min-width:0; }
.an-h { font-family:var(--face-ui); font-size:var(--fs-card); line-height:var(--lh-card);
        font-weight:600; color:var(--ink); margin:0 0 var(--sp-3); }
.an-head { display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-3);
           flex-wrap:wrap; margin-bottom:var(--sp-3); }
.an-head .an-h { margin:0; }
.an-meta { font-family:var(--face-ui); font-size:var(--fs-meta); line-height:var(--lh-meta);
           color:var(--ink-3); font-variant-numeric:tabular-nums; }

/* ── THE ONE MOVE ─────────────────────────────────────────────────────────────
   The recessed plane, not a dark slab. It reads as the thing this call is asking
   for without becoming a second design. */
.an-move { background:var(--recessed); border:1px solid var(--line); border-radius:var(--r-card);
           padding:var(--sp-5); }
.an-eyebrow { font-family:var(--face-ui); font-size:var(--fs-eyebrow); letter-spacing:var(--tracking-eyebrow);
              text-transform:uppercase; color:var(--ink-3); margin:0 0 var(--sp-2); }
.an-headline { font-family:var(--face-serif); font-size:var(--fs-quote); line-height:var(--lh-quote);
               color:var(--ink); margin:0; text-wrap:balance; }
.an-do { margin-top:var(--sp-4); border-left:2px solid var(--accent); padding-left:var(--sp-4); }
.an-do-text { font-family:var(--face-ui); font-size:var(--fs-card); line-height:var(--lh-card);
              color:var(--ink); margin:3px 0 0; max-width:62ch; }

/* ── THE VITALS ───────────────────────────────────────────────────────────────
   Ink and a neutral track. The score's bar is the only thing that varies, and it
   varies by LENGTH, which is what a measurement out of ten actually is. Length is
   also the one encoding that survives greyscale and a colour-blind reader without
   needing a second channel. */
.an-vitals { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:var(--sp-4); }
.an-vital { min-width:0; }
.an-vital-k { font-family:var(--face-ui); font-size:var(--fs-eyebrow); letter-spacing:var(--tracking-eyebrow);
              text-transform:uppercase; color:var(--ink-3); margin:0 0 var(--sp-2); }
.an-vital-v { font-family:var(--face-serif); font-size:var(--fs-quote); line-height:1.1; color:var(--ink);
              font-variant-numeric:tabular-nums; }
.an-vital-v small { font-family:var(--face-ui); font-size:var(--fs-row); font-weight:400; color:var(--ink-3); }
.an-vital-v.is-word { font-family:var(--face-ui); font-size:var(--fs-card); font-weight:600; }
.an-track { height:5px; border-radius:var(--r-pill); background:var(--track); margin-top:var(--sp-3);
            overflow:hidden; }
.an-fill { height:100%; background:var(--ink-2); border-radius:var(--r-pill); }

/* ── WHAT THE CALL ESTABLISHED ───────────────────────────────────────────────*/
.an-dim { display:grid; grid-template-columns:minmax(96px,auto) 116px minmax(0,1fr); gap:var(--sp-3);
          align-items:baseline; padding:9px 0; border-bottom:1px solid var(--line);
          font-family:var(--face-ui); font-size:var(--fs-row); line-height:var(--lh-row); color:var(--ink-2); }
.an-dim:last-child { border-bottom:0; }
.an-dim > span { min-width:0; }
.an-dim-k { color:var(--ink); font-weight:600; text-transform:capitalize; }
/* The strength band is a WORD, in ink. It is not a deal state and does not take a
   state colour; the state chip beside it is where the colour lives. */
.an-dim-band { color:var(--ink-2); }

/* ── LISTS ────────────────────────────────────────────────────────────────────*/
.an-p { font-family:var(--face-ui); font-size:var(--fs-row); line-height:var(--lh-row); color:var(--ink-2);
        margin:0; max-width:70ch; }
.an-li { display:grid; grid-template-columns:14px minmax(0,1fr); gap:var(--sp-3); align-items:baseline;
         padding:5px 0; font-family:var(--face-ui); font-size:var(--fs-row); line-height:var(--lh-row);
         color:var(--ink-2); }
.an-li-mark { color:var(--ink-3); }
.an-li-sub { display:block; font-size:var(--fs-meta); color:var(--ink-3); margin-top:2px; }

/* ── THE MIRROR BLOCK ─────────────────────────────────────────────────────────
   The manager's coaching prep, rendered to whoever can see the call — including the
   rep it is about. This block used to be stripped for reps in routes/calls.js, which
   made the marketing site's "no manager-only text exists" claim false; the strip is
   gone and this is the surface where its absence is visible. It is styled as part of
   the page rather than as a privileged panel, because that is what it now is. */
.an-mirror { border-left:2px solid var(--line); padding-left:var(--sp-4); }
.an-mirror-note { font-family:var(--face-ui); font-size:var(--fs-meta); line-height:var(--lh-meta);
                  color:var(--ink-3); margin:0 0 var(--sp-3); }

/* ── PLATE 08 ─────────────────────────────────────────────────────────────────*/
.an-empty { font-family:var(--face-ui); font-size:var(--fs-row); line-height:var(--lh-row);
            color:var(--ink-2); margin:0; max-width:64ch; }
.an-notset { color:var(--ink-3); }
