/* ==========================================================
   cohesion_patch.css — State Stream V3.2 additions
   Dual-layer DIGEST / STREAM panel styles
   ========================================================== */

/* ── SHARED: existing ssv3-stable-badge, ssv3-title etc. kept as-is ── */

/* ── MODE BUTTON: DIGEST vs STREAM ─────────────────────── */

#ss-trace-toggle[data-mode="digest"] {
    color: rgba(80, 220, 140, 0.72);
    border-color: rgba(80, 220, 140, 0.22);
    background: rgba(80, 220, 140, 0.04);
}

#ss-trace-toggle[data-mode="stream"] {
    color: rgba(100, 160, 255, 0.72);
    border-color: rgba(100, 160, 255, 0.22);
    background: rgba(100, 160, 255, 0.04);
}

/* ── STREAM MODE LABEL ─────────────────────────────────── */

.ssv3-stream-label {
    padding: 10px 18px;
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.56rem;
    letter-spacing: 0.20em;
    text-transform: uppercase;
    color: rgba(100, 160, 255, 0.32);
    border-bottom: 1px solid rgba(100, 160, 255, 0.07);
    background: rgba(100, 160, 255, 0.025);
}

/* ── CANONICAL ANCHOR ──────────────────────────────────── */

.ssv3-entry--canonical {
    background: rgba(80, 220, 140, 0.028);
    border-left: 2px solid rgba(80, 220, 140, 0.32);
    margin-bottom: 2px;
}

.ssv3-entry--canonical .ssv3-title {
    color: rgba(80, 220, 140, 0.82) !important;
    white-space: normal;
}

.ssv3-entry--canonical .ssv3-marker {
    color: rgba(80, 220, 140, 0.45);
}

/* Canonical system-state label */
.ssv3-canonical-label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 4px 0 2px 26px;
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.52rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(80, 220, 140, 0.42);
}

.ssv3-canonical-label::before {
    content: '◆';
    font-size: 0.58rem;
    color: rgba(80, 220, 140, 0.55);
}

/* ── EFFECT LINE (always visible, below title) ─────────── */

.ssv3-effect-line {
    margin: 3px 0 4px 26px;
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.68rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.32);
    letter-spacing: 0.02em;
    /* hidden by default; shown only for canonical or when expanded */
    display: none;
}

/* Show effect line always for canonical entries */
.ssv3-entry--canonical .ssv3-effect-line {
    display: block;
    color: rgba(80, 220, 140, 0.38);
}

/* Show effect line when any entry is expanded */
.ssv3-entry.expanded .ssv3-effect-line {
    display: block;
}

/* ── MORE ROW ───────────────────────────────────────────── */

.ssv3-more-row {
    padding: 9px 18px 9px 44px;
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.60rem;
    letter-spacing: 0.10em;
    color: rgba(100, 160, 255, 0.40);
    cursor: pointer;
    border-bottom: 1px solid rgba(255, 255, 255, 0.02);
    transition: color 0.18s ease, background 0.18s ease;
    user-select: none;
}

.ssv3-more-row:hover {
    color: rgba(100, 160, 255, 0.78);
    background: rgba(100, 160, 255, 0.03);
}

.ssv3-more-row--collapse {
    color: rgba(255, 255, 255, 0.16);
}

.ssv3-more-row--collapse:hover {
    color: rgba(255, 255, 255, 0.42);
    background: rgba(255, 255, 255, 0.02);
}

/* ── EVOLUTION HISTORY ─────────────────────────────────── */

.ssv3-evolution-wrap {
    padding: 6px 0 4px 26px;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    margin-top: 4px;
}

.ssv3-evolution-trigger {
    background: transparent;
    border: none;
    padding: 0;
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.60rem;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.18);
    cursor: pointer;
    transition: color 0.18s ease;
    text-align: left;
    display: block;
}

.ssv3-evolution-trigger:hover {
    color: rgba(100, 160, 255, 0.60);
}

.ssv3-evolution-row {
    display: flex;
    gap: 14px;
    align-items: baseline;
    padding: 5px 0 3px;
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    padding-left: 10px;
    margin-top: 5px;
}

.ssv3-evolution-date {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.55rem;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.22);
    white-space: nowrap;
    flex-shrink: 0;
}

.ssv3-evolution-title {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.66rem;
    color: rgba(255, 255, 255, 0.32);
    line-height: 1.45;
}

/* ── STREAM ENTRY VARIANT ──────────────────────────────── */

.ssv3-entry--stream {
    opacity: 0.78;
}

.ssv3-entry--stream:hover {
    opacity: 1;
}

.ssv3-entry--stream.expanded {
    opacity: 1;
}

/* Timestamp shown in stream detail */
.ssv3-ts {
    font-family: 'JetBrains Mono', 'SF Mono', 'Fira Mono', monospace;
    font-size: 0.55rem;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.22);
    margin-left: auto;
}

/* ── DESCRIPTION (inside expanded details) ─────────────── */

.ssv3-desc-primary {
    color: rgba(255, 255, 255, 0.52);
    font-size: 0.72rem;
    line-height: 1.62;
    margin-bottom: 8px;
}