/*
 * signals.css — extracted from inline <style> in signals.html on 2026-05-31
 * Tier 2 / P2 of docs/plans/HIGH_PERFORMANCE_CLEANUP_PROGRAM.md.
 *
 * Maintain this file directly; it is no longer regenerated from HTML.
 */

/* === inline block 1/1 from signals.html === */
/* ── Reset/base scoped to v2 prototype ─────────────────────────── */
  .signals-v2 {
    --sv2-side-width: 240px;
    --sv2-detail-width: minmax(360px, 1.2fr);
    font-family: var(--font);
    color: var(--ll-text);
    max-width: var(--content-max);
    margin: 0 auto;
    /* Top padding clears the sticky LL site nav (~6rem tall). The original
       1rem put the hero under the nav, so the user could only see a sliver
       of it. Matches the .page class convention in styles-dataviz.css. */
    padding: 6rem 1.25rem 3rem;
  }
  @media (max-width: 720px) {
    .signals-v2 { padding: 5rem 1rem 2rem; }
  }
  .signals-v2 * { box-sizing: border-box; }

  /* SIG-HOME-1A · signed-out network proof register. The member workspace is
     not painted or exposed to assistive technology until auth is known. */
  html[data-signals-auth="signed_out"] main.signals-v2.shell-content,
  html[data-signals-auth="pending"] main.signals-v2.shell-content { max-width: min(1240px, 100%); }
  html[data-signals-auth="checking"] .sv2-public,
  html[data-signals-auth="checking"] .sv2-member,
  html[data-signals-auth="failure"] .sv2-public,
  html[data-signals-auth="failure"] .sv2-member,
  html[data-signals-auth="signed_out"] .sv2-member,
  html[data-signals-auth="pending"] .sv2-member,
  html[data-signals-auth="member"] .sv2-public { display: none; }
  .sv2-public { min-width: 0; color: var(--ll-text); }
  .sv2-public__opening {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: center;
    min-height: min(670px, calc(100vh - var(--topbar-h) - 2.5rem));
    padding: clamp(2rem, 5vh, 4.5rem) 0 clamp(2.4rem, 7vh, 5.5rem);
    border-bottom: 1px solid var(--ll-border);
  }
  .sv2-public__intro { max-width: 580px; }
  .sv2-public__kicker,
  .sv2-public__register-label {
    margin: 0;
    color: var(--ll-accent);
    font-family: var(--mono);
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .14em;
    line-height: 1.4;
    text-transform: uppercase;
  }
  .sv2-public__intro h1 {
    max-width: 11ch;
    margin: .7rem 0 1.2rem;
    color: var(--ll-text);
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    font-weight: 900;
    letter-spacing: -.04em;
    line-height: .95;
    text-wrap: balance;
  }
  .sv2-public__lede {
    max-width: 56ch;
    margin: 0;
    color: var(--ll-text-muted);
    font-size: clamp(.98rem, 1.7vw, 1.12rem);
    line-height: 1.65;
  }
  .sv2-public__actions { display: flex; align-items: center; gap: 1rem; margin-top: 1.75rem; }
  .sv2-public__start,
  .sv2-public__signin,
  .sv2-public__retry {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--ll-radius-sm);
    font-family: var(--mono);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1;
    text-decoration: none;
    text-transform: uppercase;
  }
  .sv2-public__start { gap: .8rem; padding: .78rem 1rem; background: var(--gold); color: #211704; }
  .sv2-public__start:hover { background: var(--goldHi); color: #160f02; }
  .sv2-public__start span { transition: transform var(--t-fast); }
  .sv2-public__start:hover span { transform: translateX(3px); }
  .sv2-public__signin { padding: .75rem .2rem; color: var(--ll-text-muted); }
  .sv2-public__signin:hover { color: var(--ll-accent); }
  .sv2-public__access { margin: .8rem 0 0; color: var(--ll-text-muted); font-size: .72rem; line-height: 1.5; }
  .sv2-public__snapshot,
  .sv2-public__trace,
  .sv2-public__method {
    min-width: 0;
    background: var(--ll-bg-soft);
    border: 1px solid var(--ll-border);
    border-radius: var(--ll-radius-md);
    box-shadow: var(--sh-sm);
  }
  .sv2-public__snapshot { overflow: hidden; }
  .sv2-public__snapshot-head,
  .sv2-public__trace-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 1.05rem 1.1rem .95rem;
    border-bottom: 1px solid var(--ll-border);
  }
  .sv2-public__snapshot-head h2,
  .sv2-public__trace-head h2,
  .sv2-public__method h2 {
    margin: .25rem 0 0;
    color: var(--ll-text);
    font-size: 1.02rem;
    letter-spacing: -.015em;
    line-height: 1.25;
  }
  .sv2-public__snapshot-state {
    color: var(--ll-text-muted);
    font-family: var(--mono);
    font-size: .625rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
  }
  .sv2-public__snapshot-state[data-state="ready"] { color: var(--green); }
  .sv2-public__snapshot-state[data-state="partial"] { color: var(--ll-accent); }
  .sv2-public__snapshot-state[data-state="error"] { color: var(--red); }
  .sv2-public__snapshot-state:focus-visible { outline: 2px solid var(--ll-accent); outline-offset: 4px; }
  .sv2-public__facts { margin: 0; }
  .sv2-public__fact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 1.2rem;
    margin: 0;
    padding: .82rem 1.1rem;
    border-bottom: 1px solid var(--ll-border-subtle);
  }
  .sv2-public__fact dt {
    min-width: 0;
    display: flex;
    align-items: baseline;
    gap: .6rem;
    color: var(--ll-text-muted);
    font-size: .76rem;
    line-height: 1.4;
  }
  .sv2-public__fact dt::after {
    content: "";
    height: 1px;
    flex: 1;
    border-top: 1px dotted var(--ll-border);
  }
  .sv2-public__fact dd {
    margin: 0;
    color: var(--ll-text);
    font-family: var(--mono);
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;
  }
  .sv2-public__fact--types dd { max-width: 34ch; font-size: .72rem; line-height: 1.5; text-align: right; }
  .sv2-public__freshness { padding: .8rem 1.1rem 1rem; background: var(--ll-bg); }
  .sv2-public__freshness p { display: flex; justify-content: space-between; gap: 1rem; margin: 0; padding: .25rem 0; }
  .sv2-public__freshness span,
  .sv2-public__freshness strong,
  .sv2-public__snapshot-generated {
    font-family: var(--mono);
    font-size: .625rem;
    line-height: 1.5;
  }
  .sv2-public__freshness span { color: var(--ll-text-muted); text-transform: uppercase; }
  .sv2-public__freshness strong { color: var(--ll-text); font-weight: 700; text-align: right; }
  .sv2-public__snapshot-generated { display: block !important; margin-top: .45rem !important; padding-top: .65rem !important; border-top: 1px solid var(--ll-border-subtle); color: var(--ll-text-muted); }
  .sv2-public__retry { width: calc(100% - 2.2rem); margin: 0 1.1rem 1rem; border: 1px solid var(--ll-border); background: var(--ll-bg); color: var(--ll-text); cursor: pointer; }
  .sv2-public__retry:hover { border-color: var(--ll-accent); color: var(--ll-accent); }
  .sv2-public__explain { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 1.4rem; padding: clamp(2.5rem, 6vw, 5.5rem) 0 1rem; align-items: start; }
  .sv2-public__trace { overflow: hidden; }
  .sv2-public__trace-head > span { max-width: 180px; color: var(--ll-text-muted); font-family: var(--mono); font-size: .625rem; line-height: 1.45; text-align: right; text-transform: uppercase; }
  .sv2-public__sample-row { display:grid;grid-template-columns:62px 88px minmax(110px,.8fr) minmax(110px,.8fr) minmax(130px,1fr) minmax(110px,.8fr);gap:.75rem;padding:1rem 1.1rem;align-items:start;color:var(--ll-text);font-family:var(--mono);font-size:.68rem;line-height:1.5; }
  .sv2-public__sample-row > span { min-width:0;overflow-wrap:anywhere; }
  .sv2-public__sample-row small { display:block;margin-bottom:.25rem;color:var(--ll-text-muted);font-size:.56rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase; }
  .sv2-public__sample-row b { color:var(--green);font-weight:800;text-transform:uppercase; }
  .sv2-public__sample-row .sv2-public__sample-tag { grid-column:1 / -1;color:var(--ll-accent);font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase; }
  .sv2-public__method { padding: 1.15rem; }
  .sv2-public__method > p:not(.sv2-public__register-label) { color: var(--ll-text-muted); font-size: .78rem; line-height: 1.65; }
  .sv2-public__method dl { margin: 1.1rem 0 0; border-top: 1px solid var(--ll-border); }
  .sv2-public__method dl > div { padding: .72rem 0; border-bottom: 1px solid var(--ll-border-subtle); }
  .sv2-public__method dt { color: var(--ll-text); font-family: var(--mono); font-size: .625rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
  .sv2-public__method dd { margin: .25rem 0 0; color: var(--ll-text-muted); font-size: .7rem; line-height: 1.5; }

  @media (max-width: 980px) {
    .sv2-public__opening { grid-template-columns: minmax(0, 1fr); min-height: auto; }
    .sv2-public__intro { max-width: 720px; }
    .sv2-public__intro h1 { max-width: 12ch; }
    .sv2-public__explain { grid-template-columns: minmax(0, 1fr); }
    .sv2-public__sample-row { grid-template-columns:repeat(3,minmax(0,1fr)); }
  }
  @media (max-width: 560px) {
    html[data-signals-auth="signed_out"] main.signals-v2.shell-content,
    html[data-signals-auth="pending"] main.signals-v2.shell-content { padding-inline: .75rem; }
    .sv2-public__opening { gap: 2rem; padding-top: 1.35rem; }
    .sv2-public__intro h1 { font-size: clamp(2.55rem, 13vw, 3.7rem); }
    .sv2-public__actions { align-items: stretch; flex-direction: column; gap: .35rem; }
    .sv2-public__signin { justify-content: flex-start; }
    .sv2-public__snapshot-head, .sv2-public__trace-head { align-items: flex-start; flex-direction: column; }
    .sv2-public__trace-head > span { max-width: none; text-align: left; }
    .sv2-public__fact { gap: .7rem; }
    .sv2-public__fact dt::after { display: none; }
    .sv2-public__freshness p { display: block; }
    .sv2-public__freshness strong { display: block; margin-top: .1rem; text-align: left; }
    .sv2-public__fact--types { align-items:start; }
    .sv2-public__fact--types dd { text-align:left; }
    .sv2-public__sample-row { grid-template-columns:1fr 1fr; }
  }
  @media (prefers-reduced-motion: reduce) {
    .sv2-public__start span { transition: none; }
  }
