/* Navy flavor — the canonical night palette for the Society register.
   BFC brand navy as the floor; cream body text, gilt accents, brighter
   rules so hairlines read at density. Mirrors day mode's structure
   (same elevations, same hierarchy, same rules-driven differentiation)
   with the palette inverted. Apply via `is-navy` on the body or a
   wrapping container.  */

.is-navy {
  --soc-bg:        #1a1f3c;   /* BFC brand navy — Society at night */
  --soc-bg-elev:   #222748;   /* secondary columns / asides — separate field */
  --soc-card:      #262c52;   /* despatch / chamber lift, mirrors day's elevation */
  --soc-text:      #e8e3d3;   /* warm cream body — Society warmth survives */
  --soc-text-soft: #c8c0aa;
  --soc-muted:     #9da3c0;   /* navy-tinted muted, lifted for legibility */
  --soc-structural:#f0e7d0;
  --soc-accent:    #d4a647;   /* gilt, same as flame role on warm-dark */
  --soc-rule:      #3d4470;   /* hairlines that read on the lifted floor */
  --soc-rule-soft: #2c324e;
  --soc-pulse-on:    #84d68a; /* lifted green so the pip reads on navy */
  --soc-pulse-away:  #e6c95a; /* warmed gilt for away under navy */
}

/* ─────────────────────────────────────────────────────────────────────
   Society chrome under navy.
   ───────────────────────────────────────────────────────────────────── */
.is-navy .society-topbar {
  background: var(--soc-bg);
  color: var(--soc-muted);
  border-bottom-color: var(--soc-rule);
}

.is-navy .society-header {
  background: var(--soc-bg);
  border-bottom: 2px double var(--soc-accent);
}

.is-navy .society-nameplate { color: var(--soc-structural); }
.is-navy .society-nameplate .nameplate-sub { color: var(--soc-accent); }
.is-navy .society-nameplate .nameplate-sub .silentio { color: var(--soc-muted); }
.is-navy .society-nameplate .nameplate-tagline { color: var(--soc-text-soft); }

.is-navy .society-nav { color: var(--soc-text); }
.is-navy .society-nav .is-active,
.is-navy .society-nav a:hover { color: var(--soc-accent); border-bottom-color: var(--soc-accent); }

.is-navy .society-crest path[stroke="#1a1f3c"] { stroke: var(--soc-structural); }
.is-navy .society-crest path[stroke="#b88a2c"] { stroke: var(--soc-accent); }
.is-navy .society-crest text[fill="#1a1f3c"] { fill: var(--soc-structural); }
.is-navy .society-crest text[fill="#b88a2c"] { fill: var(--soc-accent); }

/* Class-based crest selectors (preferred over attribute selectors above). */
.is-navy .society-crest .crest-outer  { stroke: var(--soc-structural); }
.is-navy .society-crest .crest-inner  { stroke: var(--soc-accent); }
.is-navy .society-crest .crest-letter { fill: var(--soc-structural); }
.is-navy .society-crest .crest-gilt   { fill: var(--soc-accent); }

.is-navy .society-colophon {
  background: var(--soc-bg);
  color: var(--soc-muted);
  border-top-color: var(--soc-rule);
}
.is-navy .society-colophon-imprint .imprint-label,
.is-navy .society-colophon-imprint .imprint-name { color: var(--soc-structural); }
.is-navy .society-colophon-imprint .imprint-est,
.is-navy .society-colophon-imprint .imprint-registry { color: var(--soc-muted); }

/* ─────────────────────────────────────────────────────────────────────
   Cable form under navy.
   ───────────────────────────────────────────────────────────────────── */
.is-navy .cable-stage { background: var(--soc-bg); }

.is-navy .cable-stage::before {
  background-image:
    radial-gradient(circle at 18% 22%, rgba(212, 166, 71, 0.04) 0 1px, transparent 1.5px),
    radial-gradient(circle at 72% 64%, rgba(232, 227, 211, 0.025) 0 1px, transparent 1.5px),
    radial-gradient(circle at 42% 88%, rgba(232, 227, 211, 0.02) 0 1px, transparent 1.5px);
  opacity: 0.85;
}

.is-navy .despatch {
  background: var(--soc-card);
  border-color: var(--soc-rule);
  box-shadow:
    0 1px 0 rgba(212, 166, 71, 0.05),
    0 18px 42px -20px rgba(0, 0, 0, 0.7);
}

.is-navy .despatch::before { opacity: 0.55; }

.is-navy .despatch-head { border-bottom-color: var(--soc-accent); }
.is-navy .despatch-name { color: var(--soc-structural); }
.is-navy .despatch-name span { color: var(--soc-accent); }
.is-navy .despatch-dateline { color: var(--soc-muted); }
.is-navy .despatch-dateline strong { color: var(--soc-structural); }
.is-navy .despatch-eyebrow { color: var(--soc-accent); }

.is-navy .cable-line { border-bottom-color: var(--soc-rule); }
.is-navy .cable-line:focus-within { border-bottom-color: var(--soc-accent); }
.is-navy .cable-label { color: var(--soc-muted); }
.is-navy .cable-input { color: var(--soc-text); }
.is-navy .cable-input::placeholder { color: rgba(128, 134, 163, 0.65); }

.is-navy .transmit { background: var(--soc-accent); color: var(--soc-bg); }
.is-navy .transmit:hover { background: #e0b75a; }
.is-navy .transmit:active { background: #b88a2c; }

.is-navy .despatch-aside { color: var(--soc-text-soft); }
.is-navy .despatch-aside a {
  color: var(--soc-structural);
  border-bottom-color: rgba(212, 166, 71, 0.5);
}
.is-navy .despatch-aside a:hover { border-bottom-color: var(--soc-accent); }

/* ─────────────────────────────────────────────────────────────────────
   Common Room under navy.
   ───────────────────────────────────────────────────────────────────── */
.is-navy .common-room { border-bottom-color: var(--soc-rule); }
.is-navy .common-aside {
  background: var(--soc-bg-elev);
  border-left-color: var(--soc-rule);
}

.is-navy .room-eyebrow { color: var(--soc-accent); }
.is-navy .room-title { color: var(--soc-structural); }
.is-navy .room-title-meta { color: var(--soc-muted); }
.is-navy .room-section + .room-section { border-top-color: var(--soc-rule); }

.is-navy .despatch-card {
  background: var(--soc-card);
  border-color: var(--soc-rule);
}
.is-navy .despatch-card-title { color: var(--soc-structural); }
.is-navy .despatch-card-meta { color: var(--soc-muted); }
.is-navy .despatch-card-meta .meta-channel { color: var(--soc-text); }
.is-navy .despatch-card-meta .meta-sep { color: var(--soc-rule); }
.is-navy .despatch-card-summary { color: var(--soc-text-soft); }
.is-navy .despatch-card-idea { color: var(--soc-text); }
.is-navy .despatch-card-idea .pip { color: var(--soc-accent); }
.is-navy .despatch-card-idea .pip-empty { color: var(--soc-muted); }
.is-navy .despatch-card-idea code {
  background: var(--soc-bg);
  border: 1px solid var(--soc-rule);
  padding: 0 4px;
  border-radius: 2px;
  color: var(--soc-structural);
}

/* Category labels — dark-mode jewels, lifted hues so they read on navy. */
.is-navy .despatch-card-section.cat-trade .section-label    { color: #6dd0e8; }
.is-navy .despatch-card-section.cat-strategy .section-label { color: #e6c95a; }
.is-navy .despatch-card-section.cat-tool .section-label     { color: #84d68a; }
.is-navy .despatch-card-section.cat-insight .section-label  { color: #d987dc; }
.is-navy .despatch-card-section.cat-other .section-label    { color: var(--soc-muted); }

.is-navy .chamber {
  background: var(--soc-card);
  border-color: var(--soc-rule);
}
.is-navy .chamber:hover {
  border-color: var(--soc-accent);
  box-shadow: 0 1px 0 rgba(212, 166, 71, 0.08), 0 14px 32px -18px rgba(0, 0, 0, 0.6);
}
.is-navy .chamber-name { color: var(--soc-structural); }
.is-navy .chamber-host { color: var(--soc-muted); }
.is-navy .chamber-gist { color: var(--soc-text-soft); }
.is-navy .chamber-status { color: var(--soc-muted); }
.is-navy .chamber-status .pip { background: #84d68a; }
.is-navy .chamber-status .pip.is-pending { background: var(--soc-accent); }
.is-navy .chamber-cta {
  color: var(--soc-structural);
  border-bottom-color: rgba(212, 166, 71, 0.55);
}
.is-navy .chamber-cta:hover { color: var(--soc-accent); border-bottom-color: var(--soc-accent); }

.is-navy .notice { border-bottom-color: rgba(44, 50, 78, 0.7); color: var(--soc-text); }
.is-navy .notice-when { color: var(--soc-muted); }
.is-navy .notice-tag { color: var(--soc-accent); }
.is-navy .notice-body a {
  color: var(--soc-structural);
  border-bottom: 1px dotted rgba(212, 166, 71, 0.5);
  text-decoration: none;
}
.is-navy .notice-body a:hover { border-bottom-color: var(--soc-accent); }
.is-navy .notice-body code {
  background: var(--soc-card);
  border: 1px solid var(--soc-rule);
  color: var(--soc-structural);
  padding: 0 4px;
  border-radius: 2px;
}

.is-navy .aside-block { border-bottom-color: var(--soc-rule); }
.is-navy .aside-eyebrow { color: var(--soc-accent); }
.is-navy .aside-quote { color: var(--soc-structural); border-left-color: var(--soc-accent); }
.is-navy .aside-attribution { color: var(--soc-muted); }
.is-navy .aside-attribution strong { color: var(--soc-structural); }
.is-navy .common-room-domain-note { color: var(--soc-text-soft); }
.is-navy .common-room-domain-note code {
  background: var(--soc-card);
  border-color: var(--soc-rule);
  color: var(--soc-structural);
}

.is-navy .employee-login {
  background: var(--soc-bg);
  border-top-color: var(--soc-rule);
}
.is-navy .employee-login a {
  color: var(--soc-text-soft);
  border-bottom-color: rgba(212, 166, 71, 0.45);
}
.is-navy .employee-login a:hover { border-bottom-color: var(--soc-accent); }
