/* Founder ruling #6024/#6029 — one green (#CCDE49), six authored signals.
   Keep the canonical root token intact for brand tooling. The application body
   inherits one neutral interaction family; the permitted signals below opt
   back into the canonical green. This makes a newly-added toggle neutral by
   default instead of relying on every caller to remember the exception list. */
:root {
  --ss-reserved-green: #CCDE49;
  --ss-reserved-green-rgb: 204, 222, 73;
  --ss-reserved-green-hover: #D8E574;
  --ss-reserved-green-deep: #A3B520;
  --ss-reserved-selected-bg: #414D3E;
}

body {
  --ss-accent: var(--fg-strong);
  --ss-accent-rgb: 238, 234, 244;
  --ss-accent-hover: var(--fg-strong);
  --ss-accent-deep: var(--bg-sub);
  --ss-accent-bg: rgba(238, 234, 244, .055);
  --ss-accent-line: rgba(238, 234, 244, .22);
  --ss-accent-glow: rgba(238, 234, 244, .09);
  --ss-accent-ring: var(--fg-mute);
  --on-ss-accent: var(--bg-deep);
  --ss-brand: var(--fg-mute);
  --ss-brand-rgb: 161, 159, 173;
  --ss-brand-glow: rgba(161, 159, 173, .12);
  --ss-mark-accent: var(--fg-mute);
  --tc-green: var(--fg-strong);
  --wave-played: var(--fg-mute);
  --link: var(--fg-strong);
  --link-line: var(--line-strong);
  --bg-row-sel: var(--bg-sub);
  --bg-row-multi: var(--bg-row-hover);
  --st-resolved: var(--fg-mute);
  --st-resolved-bg: rgba(161, 159, 173, .10);
  --cat-bg: var(--cat-dx);
  --cat-vfx: var(--cat-mx);
  --as-teal: #6695BD;
  --as-sage: #9080C0;
}

/* Shared opt-in contract for the six legal signals. The raster/vector mark is
   already #CCDE49; .ss-wordmark covers its text companion. */
.ss-wordmark,
.mcs-clock,
.ss-cue-new-note,
.ss-phone-cue,
.ns-list .ci-row.full.sel,
.ns-list .ns-row.sel,
.ss-waveform-playhead,
.mcs-auth.mcs-ptlight.on {
  --ss-accent: var(--ss-reserved-green);
  --ss-accent-rgb: var(--ss-reserved-green-rgb);
  --ss-accent-hover: var(--ss-reserved-green-hover);
  --ss-accent-deep: var(--ss-reserved-green-deep);
  --ss-accent-bg: rgba(var(--ss-reserved-green-rgb), .07);
  --ss-accent-line: rgba(var(--ss-reserved-green-rgb), .32);
  --ss-accent-glow: rgba(var(--ss-reserved-green-rgb), .18);
  --ss-accent-ring: rgba(var(--ss-reserved-green-rgb), .60);
  --on-ss-accent: #1B1825;
  --ss-brand: var(--ss-reserved-green);
  --ss-brand-rgb: var(--ss-reserved-green-rgb);
  --ss-brand-glow: rgba(var(--ss-reserved-green-rgb), .18);
  --tc-green: var(--ss-reserved-green);
  --wave-played: var(--ss-reserved-green);
  --bg-row-sel: var(--ss-reserved-selected-bg);
}

.ss-cue-new-note {
  color: var(--ss-reserved-green) !important;
  border-color: rgba(var(--ss-reserved-green-rgb), .55) !important;
  background: rgba(var(--ss-reserved-green-rgb), .08) !important;
}
.ss-cue-new-note:hover { background: rgba(var(--ss-reserved-green-rgb), .14) !important; }

/* The product-wide ON grammar: neutral fill + stronger outline + type weight.
   These declarations also cover older controls whose local rules predate the
   body-level neutral token contract. */
.ns-check.on,
.ns-foll.on,
.nt-chip.active,
.ci-check.on,
.co-seg-opt.on,
.co-par.on,
.co-tabtoggle.on,
.pp-tabchip.on,
.wcr.on,
.wcl-rung.on,
.ss-layout-seg button.on,
.ss-tl-stems.is-open,
.n-seg button.on,
.nsm-tool.on,
.nsm-tool.has,
.nsm-chip.on,
.video-popout__ontop[data-active="1"],
.video-transport__wavetoggle[data-active="1"],
.video-transport__audiotoggle[data-active="1"] {
  color: var(--fg-strong) !important;
  border-color: var(--line-strong) !important;
  background: var(--bg-sub) !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
  font-weight: 650;
}

/* Resolved is a semantic state, but it is no longer a seventh green. */
.nsm-resolve,
.ns-status-seg .resolved,
.nt-pill.resolved {
  color: var(--fg-mute) !important;
  border-color: var(--line-strong) !important;
  background: var(--bg-sub) !important;
}

@media (max-width: 767px) {
  /* On a phone the floating CUE is the responsive placement of the same
     canonical action; never show two green copies at once. */
  .ss-cue-new-note { display: none !important; }
}
