/* ============================================================================
   Draft Mainframe — Prospect scouting-card shell (shared-shell polish pass)
   Namespaces: dm-prospect / dm-scout / dm-trait-engine / dm-tape-gate /
   dm-fit-resolver / dm-final-read.
   Tokens come from the .dm-home-shell-page scope in control-room.css; prospect
   pages receive that class plus dm-prospect-page via _Layout, so no token
   values are duplicated here. Graphite bolt/plate literals match the
   control-room recipes (not new colors). Shared current, node, pulse, and chip
   keyframes are reused from control-room.css.
   State control: data-state (selected | live | standby) and data-gate
   (pass | watch | fail) only. Selected = focused + expanded, live = expanded,
   standby = collapsed. Expansion is owned by hidden and aria-expanded.
   ========================================================================== */

.dm-prospect-page {
    /* PASS aliases the existing homepage live-green token.
       TODO pending pixel audit against final gate art. */
    --dm-pass-green: var(--dm-green-live);
    /* WATCH/FAIL reuse existing brand oranges until a dedicated audit pass. */
    --dm-watch-tone: var(--dm-orange-hot);
    --dm-fail-tone: var(--dm-orange-deep);
}

/* hidden must beat the display values set on card bodies / resolver panels */
.dm-prospect-page [hidden] {
    display: none !important;
}

.dm-prospect-page .dm-page-return {
    padding: 1rem 0.75rem 0;
    margin-bottom: 0;
}

.dm-prospect-page .dm-page-return__link {
    color: var(--dm-muted);
    font-family: var(--dm-font-display);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    text-decoration: none;
}

.dm-prospect-page .dm-page-return__link:hover {
    color: var(--dm-orange-hot);
}

.dm-prospect-shell {
    display: grid;
    gap: 1.35rem;
    padding: 1rem 0.7rem 1.6rem;
}

.dm-prospect-shell h1,
.dm-prospect-shell h4,
.dm-prospect-shell h5,
.dm-prospect-shell p {
    margin: 0;
}

/* ── Prospect hero — dark bolted loading/readout masthead ──────────────── */

.dm-prospect-hero {
    position: relative;
    display: grid;
    gap: 1rem;
    padding: 1.35rem 1.05rem 1.3rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 7%);
    border-radius: 14px;
    background: linear-gradient(180deg, #201E1B, var(--dm-chassis) 30%, #0D0C0B);
    box-shadow:
        0 18px 40px rgb(0 0 0 / 55%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
}

.dm-prospect-hero > * {
    position: relative;
    z-index: 1;
}

/* inset circuit frame + LED side ladders (homepage module plane 2 recipe) */
.dm-prospect-hero::before {
    content: "";
    position: absolute;
    inset: 6px;
    pointer-events: none;
    border: 1px solid rgb(var(--dm-orange-rgb) / 22%);
    border-radius: 10px;
    box-shadow:
        inset 0 0 12px rgb(var(--dm-orange-rgb) / 5%),
        0 0 8px rgb(var(--dm-orange-rgb) / 5%);
}

.dm-prospect-hero__deck {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

/* corner bolts (graphite recipe from control-room modules) */
.dm-prospect-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px);
    background-size: 10px 10px;
    background-repeat: no-repeat;
    background-position:
        3px 3px,
        calc(100% - 3px) 3px,
        3px calc(100% - 3px),
        calc(100% - 3px) calc(100% - 3px);
    opacity: 0.95;
}

.dm-prospect-hero__eyebrow {
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    color: var(--dm-orange-hot);
}

.dm-prospect-hero__main h1 {
    font-family: var(--dm-font-display);
    font-stretch: condensed;
    font-size: 1.7rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    line-height: 1.1;
    color: var(--dm-bone);
}

.dm-prospect-hero__sub {
    margin-top: 0.25rem;
    color: var(--dm-muted);
    font-size: 0.78rem;
}

/* octagonal position badge */
.dm-prospect-hero__badge {
    --cut: 10px;
    position: relative;
    flex: none;
    display: grid;
    place-items: center;
    gap: 0;
    min-width: 64px;
    min-height: 64px;
    padding: 0.5rem 0.6rem;
    clip-path: var(--dm-oct);
    background: linear-gradient(180deg, var(--dm-orange-hot), var(--dm-orange) 60%, var(--dm-orange-deep));
    text-align: center;
    filter: drop-shadow(0 3px 6px rgb(0 0 0 / 55%));
}

.dm-prospect-hero__badge::before {
    content: "";
    position: absolute;
    inset: 2px;
    z-index: 0;
    --cut: 9px;
    clip-path: var(--dm-oct);
    background: #0C0B0A;
}

.dm-prospect-hero__badge b,
.dm-prospect-hero__badge span {
    position: relative;
    z-index: 1;
    font-family: var(--dm-font-display);
    line-height: 1.05;
}

.dm-prospect-hero__badge b {
    font-size: 1.25rem;
    font-weight: 900;
    color: var(--dm-orange-hot);
    text-shadow: 0 0 8px rgb(var(--dm-orange-rgb) / 45%);
}

.dm-prospect-hero__badge span {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-bone);
}

/* static stack readout — initial load state only (inset well recipe) */
.dm-prospect-hero__readout {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.45rem 0.8rem;
    padding: 0.72rem 0.85rem;
    border: 1px solid rgb(var(--dm-orange-rgb) / 35%);
    border-radius: 8px;
    background: linear-gradient(180deg, var(--dm-panel-deep), #100F0E);
    box-shadow: inset 0 3px 7px rgb(0 0 0 / 45%);
    overflow: hidden;
}

.dm-prospect-hero__readout > * {
    position: relative;
    z-index: 1;
}

.dm-prospect-hero__readout-key {
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    color: var(--dm-orange-hot);
    white-space: nowrap;
}

.dm-prospect-hero__readout-line {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dm-bone);
}

.dm-prospect-hero__readout-led {
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #C9FFA6, var(--dm-pass-green) 60%);
    box-shadow: 0 0 8px rgb(119 225 74 / 60%);
}

/* Load bay circuit: borrowed corridor/contact/node/current recipe, scoped here. */
.dm-prospect-load-circuit {
    position: relative;
    flex: 1 0 100%;
    height: 30px;
    margin-top: 0.1rem;
    pointer-events: none;
    overflow: hidden;
    background-image:
        linear-gradient(180deg, transparent, rgb(74 48 42 / 18%) 30% 70%, transparent),
        linear-gradient(rgb(74 48 42 / 22%), rgb(74 48 42 / 22%)),
        repeating-linear-gradient(90deg, rgb(74 48 42 / 12%) 0 6px, transparent 6px 16px);
    background-size: 100% 100%, 88% 1px, 68% 1px;
    background-position: 0 0, 50% 50%, 50% 72%;
    background-repeat: no-repeat;
}

.dm-prospect-load-circuit::before {
    content: "";
    position: absolute;
    left: 8%;
    right: 8%;
    top: 50%;
    height: 2px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: linear-gradient(90deg,
        transparent,
        rgb(var(--dm-orange-rgb) / 56%) 14%,
        var(--dm-orange-hot) 50%,
        rgb(var(--dm-orange-rgb) / 56%) 86%,
        transparent);
    box-shadow: 0 0 12px rgb(var(--dm-orange-rgb) / 28%);
}

.dm-prospect-load-circuit__contact {
    position: absolute;
    width: 2px;
    background: linear-gradient(180deg,
        var(--dm-orange-hot),
        rgb(var(--dm-orange-rgb) / 46%));
}

.dm-prospect-load-circuit__contact--from {
    left: 18%;
    top: 0;
    height: 50%;
}

.dm-prospect-load-circuit__contact--to {
    right: 18%;
    top: 50%;
    bottom: 0;
    background: linear-gradient(180deg,
        rgb(var(--dm-orange-rgb) / 46%),
        var(--dm-orange-hot));
}

.dm-prospect-load-circuit__contact::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 7px;
    height: 7px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: var(--dm-orange-hot);
    box-shadow: 0 0 10px rgb(var(--dm-orange-rgb) / 52%);
}

.dm-prospect-load-circuit__contact--from::after { bottom: -3px; }
.dm-prospect-load-circuit__contact--to::after { top: -3px; }

.dm-prospect-load-circuit__node {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 10px;
    height: 10px;
    margin: -5px 0 0 -5px;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, var(--dm-bone-hi), var(--dm-orange-hot) 45%, var(--dm-orange-deep) 90%);
    box-shadow: 0 0 12px 2px rgb(var(--dm-orange-rgb) / 58%);
}

.dm-prospect-load-circuit__node::after {
    content: "";
    position: absolute;
    inset: -7px;
    border-radius: 50%;
    background: radial-gradient(circle, rgb(var(--dm-orange-rgb) / 22%), transparent 70%);
    filter: blur(2px);
}

.dm-prospect-load-circuit__current {
    position: absolute;
    top: 50%;
    left: 8%;
    width: 40px;
    height: 5px;
    margin-top: -2.5px;
    border-radius: 999px;
    opacity: 0;
    background: linear-gradient(90deg,
        transparent,
        rgb(var(--dm-orange-rgb) / 52%) 40%,
        var(--dm-orange-hot));
    filter: drop-shadow(0 0 8px rgb(var(--dm-orange-rgb) / 48%));
}

/* ── Scouting stack + card selector ────────────────────────────────────── */

.dm-scout-stack {
    --dm-scout-sticky-clearance: 7rem;
    display: grid;
    gap: 1.15rem;
}

.dm-scout-stack__control {
    position: sticky;
    top: 0;
    z-index: 15;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
    margin-inline: -0.15rem;
    padding: 0.65rem 0.55rem 1rem;
    border-top: 1px solid rgb(var(--dm-bone-rgb) / 7%);
    border-bottom: 1px solid rgb(var(--dm-orange-rgb) / 30%);
    border-radius: 8px;
    background: linear-gradient(180deg, #201E1B, var(--dm-chassis) 48%, #0D0C0B);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%),
        0 8px 18px rgb(0 0 0 / 48%);
    isolation: isolate;
}

.dm-scout-stack__rail {
    position: absolute;
    left: 0.35rem;
    right: 0.35rem;
    top: calc(50% + 8px);
    z-index: 0;
    height: 24px;
    pointer-events: none;
    background-image:
        linear-gradient(180deg, transparent, rgb(74 48 42 / 18%) 28% 72%, transparent),
        repeating-linear-gradient(90deg, rgb(74 48 42 / 12%) 0 6px, transparent 6px 16px);
    background-size: 100% 100%, 64% 1px;
    background-position: 0 0, 50% 72%;
    background-repeat: no-repeat;
}

.dm-scout-stack__rail::before {
    content: "";
    position: absolute;
    left: 7%;
    right: 7%;
    top: 50%;
    height: 2px;
    transform: translateY(-50%);
    border-radius: 999px;
    background: linear-gradient(90deg,
        transparent,
        rgb(var(--dm-orange-rgb) / 42%) 12%,
        rgb(var(--dm-orange-rgb) / 64%) 50%,
        rgb(var(--dm-orange-rgb) / 42%) 88%,
        transparent);
    box-shadow: 0 0 10px rgb(var(--dm-orange-rgb) / 24%);
}

.dm-scout-stack__rail::after {
    content: "";
    position: absolute;
    left: 7%;
    top: 50%;
    width: 38px;
    height: 5px;
    margin-top: -2.5px;
    border-radius: 999px;
    opacity: 0.38;
    background: linear-gradient(90deg, transparent, rgb(var(--dm-orange-rgb) / 64%), var(--dm-orange-hot));
    filter: drop-shadow(0 0 7px rgb(var(--dm-orange-rgb) / 35%));
}

.dm-scout-stack__select {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    min-height: 50px;
    padding: 0.4rem 0.3rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 13%);
    border-radius: 8px;
    background: linear-gradient(180deg, #252529, #18181B);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 46%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 5%);
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: var(--dm-standby);
    cursor: pointer;
    transition: filter 160ms ease-out, transform 140ms ease-out;
}

.dm-scout-stack__select::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    width: 9px;
    height: 9px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, rgb(var(--dm-bone-rgb) / 48%), #3A3A3E 65%);
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 45%);
}

.dm-scout-stack__select::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -4px;
    width: 56%;
    height: 2px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: rgb(var(--dm-bone-rgb) / 14%);
}

/* selected — lit cream command plate (current card) */
.dm-scout-stack__select[data-state="selected"] {
    border-color: rgb(var(--dm-orange-rgb) / 70%);
    background: linear-gradient(180deg, #2A211B, #171411);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 50%),
        inset 0 -2px 0 rgb(var(--dm-orange-rgb) / 62%),
        0 0 10px rgb(var(--dm-orange-rgb) / 35%);
    color: var(--dm-orange-hot);
}

.dm-scout-stack__select[data-state="selected"]::before {
    background: radial-gradient(circle at 35% 30%, var(--dm-bone-hi), var(--dm-orange-hot) 55%, var(--dm-orange-deep));
    box-shadow: 0 0 12px 2px rgb(var(--dm-orange-rgb) / 62%);
}

.dm-scout-stack__select[data-state="selected"]::after {
    width: 74%;
    background: linear-gradient(90deg, transparent, var(--dm-orange-hot) 20% 80%, transparent);
    box-shadow: 0 0 10px rgb(var(--dm-orange-rgb) / 42%);
}

/* live — expanded but not currently focused: quieter powered control */
.dm-scout-stack__select[data-state="live"] {
    border-color: rgb(var(--dm-orange-rgb) / 28%);
    background: linear-gradient(180deg, #29272A, #19191C);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 46%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    color: var(--dm-bone-low);
}

.dm-scout-stack__select[data-state="live"]::before {
    background: radial-gradient(circle at 35% 30%, var(--dm-bone-hi), rgb(var(--dm-orange-rgb) / 66%) 60%);
    box-shadow: 0 0 7px rgb(var(--dm-orange-rgb) / 34%);
}

.dm-scout-stack__select[data-state="live"]::after {
    background: linear-gradient(90deg, transparent, rgb(var(--dm-orange-rgb) / 42%) 22% 78%, transparent);
}

.dm-scout-stack__select:not(:disabled):active {
    transform: translateY(1px);
}

.dm-scout-stack__select:disabled {
    cursor: default;
    color: var(--dm-standby);
    filter: none;
}

.dm-scout-stack__select:disabled.is-pulsing {
    animation: none;
}

/* ── Card chassis ──────────────────────────────────────────────────────── */

.dm-scout-card {
    position: relative;
    scroll-margin-top: var(--dm-scout-sticky-clearance);
    display: grid;
    gap: 1rem;
    padding: 1.2rem 0.95rem 1.3rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 7%);
    border-radius: 14px;
    background: linear-gradient(180deg, #201E1B, var(--dm-chassis) 30%, #0D0C0B);
    box-shadow:
        0 18px 40px rgb(0 0 0 / 55%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    isolation: isolate;
    overflow: hidden;
}

.dm-scout-card[data-state="selected"] {
    border-color: rgb(var(--dm-orange-rgb) / 18%);
    box-shadow:
        0 20px 44px rgb(0 0 0 / 58%),
        0 0 18px rgb(var(--dm-orange-rgb) / 10%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 7%);
}

.dm-scout-card[data-state="live"] {
    border-color: rgb(var(--dm-orange-rgb) / 10%);
}

/* content sits above the frame/bolt pseudo layers */
.dm-scout-card > * {
    position: relative;
    z-index: 1;
}

/* plane 2: inset circuit frame — quiet on live cards, breathing on selected */
.dm-scout-card::before {
    content: "";
    position: absolute;
    inset: 6px;
    pointer-events: none;
    border: 1px solid rgb(var(--dm-orange-rgb) / 26%);
    border-radius: 10px;
    box-shadow:
        inset 0 0 14px rgb(var(--dm-orange-rgb) / 6%),
        0 0 10px rgb(var(--dm-orange-rgb) / 7%);
}

.dm-scout-card[data-state="selected"]::before {
    border-color: rgb(var(--dm-orange-rgb) / 56%);
    box-shadow:
        inset 0 0 18px rgb(var(--dm-orange-rgb) / 12%),
        0 0 18px rgb(var(--dm-orange-rgb) / 20%);
}

.dm-scout-card[data-state="live"]::before {
    border-color: rgb(var(--dm-orange-rgb) / 30%);
    box-shadow:
        inset 0 0 14px rgb(var(--dm-orange-rgb) / 7%),
        0 0 10px rgb(var(--dm-orange-rgb) / 8%);
}

/* corner bolts, trace corners, and live nodes (homepage module plane 3 recipe) */
.dm-scout-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        url('/assets/dm/trace-corner.svg'),
        url('/assets/dm/trace-corner-bl.svg'),
        radial-gradient(circle, var(--dm-bone-hi) 0 1.5px, rgb(var(--dm-orange-rgb) / 40%) 3px, rgb(var(--dm-orange-rgb) / 12%) 5px, transparent 7px),
        radial-gradient(circle, var(--dm-bone-hi) 0 1.5px, rgb(var(--dm-orange-rgb) / 40%) 3px, rgb(var(--dm-orange-rgb) / 12%) 5px, transparent 7px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px),
        radial-gradient(circle at 35% 30%, #4A4A4A 0 1px, #202020 2.5px, #0A0A0A 4px, transparent 4.5px);
    background-size: 92px 64px, 92px 64px, 14px 14px, 14px 14px, 10px 10px, 10px 10px, 10px 10px, 10px 10px;
    background-repeat: no-repeat;
    background-position:
        calc(100% - 9px) 34px,
        9px calc(100% - 9px),
        0 28%,
        100% 74%,
        3px 3px,
        calc(100% - 3px) 3px,
        3px calc(100% - 3px),
        calc(100% - 3px) calc(100% - 3px);
    opacity: 0.95;
}

/* standby — dormant operator-bay chassis, frame stays but goes cold */
.dm-scout-card[data-state="standby"] {
    background: linear-gradient(180deg, #232326, #1A1A1D 40%, #121214);
    box-shadow:
        0 12px 28px rgb(0 0 0 / 50%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 5%);
}

.dm-scout-card[data-state="standby"]::before {
    border-color: rgb(var(--dm-bone-rgb) / 9%);
    box-shadow: none;
    background: none;
    animation: none;
}

.dm-scout-card[data-state="standby"]::after {
    opacity: 0.7;
}

.dm-scout-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    scroll-margin-top: var(--dm-scout-sticky-clearance);
}

.dm-scout-card__headbtn {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex: 1;
    min-width: 0;
    min-height: 52px;
    padding: 0.35rem 0.55rem 0.35rem 0.35rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    border-radius: 8px;
    background: linear-gradient(180deg, #24221F, #151412);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 45%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    text-align: left;
    color: inherit;
    cursor: pointer;
    transition: border-color 140ms ease-out, transform 140ms ease-out;
}

.dm-scout-card[data-state="selected"] .dm-scout-card__headbtn {
    border-color: rgb(var(--dm-orange-rgb) / 62%);
    box-shadow:
        inset 3px 0 0 rgb(var(--dm-orange-rgb) / 72%),
        inset 0 3px 7px rgb(0 0 0 / 45%),
        0 0 10px rgb(var(--dm-orange-rgb) / 16%);
}

.dm-scout-card[data-state="live"] .dm-scout-card__headbtn {
    border-color: rgb(var(--dm-orange-rgb) / 24%);
}

.dm-scout-card__headbtn:not(:disabled):active {
    transform: translateY(1px);
}

.dm-scout-card__headbtn:disabled {
    cursor: default;
    border-color: rgb(var(--dm-bone-rgb) / 9%);
    box-shadow: inset 0 3px 7px rgb(0 0 0 / 38%);
}

.dm-scout-card__number {
    --cut: 9px;
    position: relative;
    flex: none;
    display: grid;
    place-items: center;
    min-width: 44px;
    min-height: 40px;
    padding: 0.2rem 0.45rem;
    clip-path: var(--dm-oct);
    background: linear-gradient(180deg, var(--dm-orange-hot), var(--dm-orange) 60%, var(--dm-orange-deep));
    font-family: var(--dm-font-display);
    font-size: 1.3rem;
    font-weight: 900;
    letter-spacing: var(--dm-track-tight);
    color: var(--dm-orange-hot);
    text-shadow: 0 0 8px rgb(var(--dm-orange-rgb) / 45%);
    filter: drop-shadow(0 3px 6px rgb(0 0 0 / 55%));
}

.dm-scout-card__number::before {
    content: "";
    position: absolute;
    inset: 2px;
    z-index: -1;
    --cut: 8px;
    clip-path: var(--dm-oct);
    background: #0C0B0A;
}

.dm-scout-card[data-state="selected"] .dm-scout-card__number {
    text-shadow:
        0 0 8px rgb(var(--dm-orange-rgb) / 55%),
        0 0 16px rgb(var(--dm-orange-rgb) / 30%);
    filter:
        drop-shadow(0 3px 6px rgb(0 0 0 / 55%))
        drop-shadow(0 0 10px rgb(var(--dm-orange-rgb) / 34%));
}

.dm-scout-card[data-state="live"] .dm-scout-card__number {
    text-shadow: 0 0 8px rgb(var(--dm-orange-rgb) / 34%);
}

.dm-scout-card[data-state="standby"] .dm-scout-card__number {
    background: linear-gradient(180deg, #4A4A4E, #3A3A3E 60%, #2A2A2D);
    color: var(--dm-standby);
    text-shadow: none;
}

.dm-scout-card__title {
    flex: 1;
    min-width: 0;
    font-family: var(--dm-font-display);
    font-stretch: condensed;
    font-size: 1.15rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    color: var(--dm-bone);
}

.dm-scout-card__cue {
    flex: none;
    width: 9px;
    height: 9px;
    margin: -3px 0.2rem 0 0;
    border-right: 2px solid rgb(var(--dm-bone-rgb) / 65%);
    border-bottom: 2px solid rgb(var(--dm-bone-rgb) / 65%);
    transform: rotate(45deg);
    transition: transform 140ms ease-out, border-color 140ms ease-out;
}

.dm-scout-card__headbtn[aria-expanded="true"] .dm-scout-card__cue {
    margin-top: 3px;
    border-color: var(--dm-orange-hot);
    transform: rotate(-135deg);
}

.dm-scout-card__headbtn:disabled .dm-scout-card__cue {
    border-color: rgb(var(--dm-bone-rgb) / 24%);
}

.dm-scout-card[data-state="standby"] .dm-scout-card__title {
    color: var(--dm-standby);
}

/* LIVE / STANDBY flags — hidden state is driven directly by expansion. */
.dm-scout-flag {
    flex: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.32rem 0.6rem;
    border-radius: 7px;
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    white-space: nowrap;
}

.dm-scout-flag::before {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.dm-scout-flag--live {
    border: 1px solid rgb(119 225 74 / 55%);
    background: linear-gradient(180deg, #1A1D16, #101208);
    box-shadow: inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    color: var(--dm-pass-green);
}

.dm-scout-flag--live::before {
    background: radial-gradient(circle at 35% 30%, #C9FFA6, var(--dm-pass-green) 60%);
    box-shadow: 0 0 8px rgb(119 225 74 / 60%);
}

.dm-scout-flag--standby {
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    background: linear-gradient(180deg, #2C2C2F, #222225);
    box-shadow: inset 0 1px 0 rgb(var(--dm-bone-rgb) / 7%);
    color: var(--dm-standby);
}

.dm-scout-flag--standby::before {
    background: radial-gradient(circle at 35% 30%, #8B857C, #4A4A4E 60%);
}

.dm-scout-card__body {
    display: grid;
    gap: 1rem;
}

/* ── Module shell ──────────────────────────────────────────────────────── */

.dm-scout-module {
    position: relative;
    display: grid;
    gap: 0.85rem;
    padding: 1.05rem 0.9rem 1.15rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 8%);
    border-radius: 12px;
    background: linear-gradient(180deg, #1D1B18, #141311 45%, #0E0D0C);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 5%),
        0 8px 18px rgb(0 0 0 / 35%);
    overflow: hidden;
}

.dm-scout-module > * {
    position: relative;
    z-index: 1;
}

.dm-scout-module--opening::before,
.dm-scout-module--raw-evidence::before,
.dm-scout-module--trait-engine::before,
.dm-scout-module--tape-gates::before,
.dm-scout-module--fit-resolver::before,
.dm-scout-module--final-read::before {
    content: "";
    position: absolute;
    inset: 6px;
    pointer-events: none;
    border: 1px solid rgb(var(--dm-orange-rgb) / 16%);
    border-radius: 8px;
    background-image:
        linear-gradient(90deg, transparent, rgb(var(--dm-orange-rgb) / 28%) 24% 76%, transparent),
        linear-gradient(180deg, rgb(var(--dm-orange-rgb) / 20%), rgb(var(--dm-orange-rgb) / 4%)),
        linear-gradient(180deg, rgb(var(--dm-orange-rgb) / 20%), rgb(var(--dm-orange-rgb) / 4%));
    background-size: 46% 1px, 3px 34%, 3px 34%;
    background-position: 50% 8px, 2px 50%, calc(100% - 2px) 50%;
    background-repeat: no-repeat;
    opacity: 0.72;
}

.dm-scout-module--opening::after,
.dm-scout-module--raw-evidence::after,
.dm-scout-module--trait-engine::after,
.dm-scout-module--tape-gates::after,
.dm-scout-module--fit-resolver::after,
.dm-scout-module--final-read::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle, var(--dm-bone-hi) 0 1.2px, rgb(var(--dm-orange-rgb) / 45%) 2.8px, transparent 5.5px),
        radial-gradient(circle, var(--dm-bone-hi) 0 1.2px, rgb(var(--dm-orange-rgb) / 35%) 2.8px, transparent 5.5px),
        linear-gradient(90deg, transparent, rgb(var(--dm-orange-rgb) / 30%) 18% 82%, transparent);
    background-size: 11px 11px, 11px 11px, 62px 1px;
    background-position: 8px 18px, calc(100% - 8px) calc(100% - 18px), 50% calc(100% - 7px);
    background-repeat: no-repeat;
    opacity: 0.8;
}

.dm-scout-module__head {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.dm-scout-module__number {
    flex: none;
    font-family: var(--dm-font-display);
    font-size: 1.35rem;
    font-weight: 900;
    letter-spacing: var(--dm-track-tight);
    line-height: 1;
    color: var(--dm-orange-hot);
    text-shadow: 0 0 8px rgb(var(--dm-orange-rgb) / 40%);
}

.dm-scout-module__label {
    flex: 1;
    min-width: 0;
}

.dm-scout-module__label h4 {
    font-family: var(--dm-font-display);
    font-stretch: condensed;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    line-height: 1.15;
    color: var(--dm-bone);
}

.dm-scout-module__label p {
    margin-top: 0.15rem;
    color: var(--dm-muted);
    font-size: 0.72rem;
}

/* etched card-family plate */
.dm-scout-plate {
    flex: none;
    align-self: flex-start;
    padding: 0.32rem 0.5rem;
    border: 1px solid rgb(var(--dm-orange-rgb) / 40%);
    border-radius: 6px;
    background: linear-gradient(180deg, #16120E, #0C0B0A);
    box-shadow:
        inset 0 2px 4px rgb(0 0 0 / 55%),
        inset 0 -1px 0 rgb(var(--dm-orange-rgb) / 14%);
    font-family: var(--dm-font-display);
    font-size: 0.56rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    color: var(--dm-orange-hot);
    white-space: nowrap;
}

/* ── Opening / quick read ──────────────────────────────────────────────── */

.dm-scout-module--opening {
    gap: 0.95rem;
}

.dm-scout-opening__eyebrow {
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    color: var(--dm-orange-hot);
}

.dm-scout-opening__title {
    font-family: var(--dm-font-display);
    font-stretch: condensed;
    font-size: 1.25rem;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
    color: var(--dm-bone);
}

.dm-scout-opening__sub {
    margin-top: 0.2rem;
    color: var(--dm-muted);
    font-size: 0.76rem;
}

/* ── Cream boards + chips ──────────────────────────────────────────────── */

.dm-scout-board {
    border: 1px solid rgb(94 79 56 / 22%);
    border-radius: 10px;
    padding: 0.5rem 0.9rem;
    background: var(--dm-bone);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 42%),
        inset 0 -1px 0 rgb(94 79 56 / 16%);
    color: var(--dm-ink);
}

.dm-scout-chip-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.dm-scout-chip {
    display: grid;
    align-items: center;
    padding: 0.75rem 0.7rem;
    border: 1px solid rgb(94 79 56 / 22%);
    border-radius: 8px;
    background: var(--dm-bone);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 42%),
        inset 0 -1px 0 rgb(94 79 56 / 14%);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--dm-ink);
}

/* ── 01 Raw evidence table ─────────────────────────────────────────────── */

.dm-scout-evidence__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.65rem 0.15rem;
    border-top: 1px solid rgb(23 18 13 / 14%);
    font-size: 0.85rem;
    font-weight: 700;
}

.dm-scout-evidence__row:first-child {
    border-top: 0;
}

/* ── 02 Metric clusters ────────────────────────────────────────────────── */

.dm-scout-clusters__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.65rem 0.15rem;
    border-top: 1px solid rgb(23 18 13 / 14%);
    font-size: 0.85rem;
    font-weight: 700;
}

.dm-scout-clusters__row:first-child {
    border-top: 0;
}

.dm-scout-clusters__status {
    flex: none;
    padding: 0.32rem 0.6rem;
    border: 1px solid rgb(23 18 13 / 35%);
    border-radius: 6px;
    background: linear-gradient(180deg, #2A2825, #161513);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 8%),
        inset 0 -1px 0 rgb(var(--dm-orange-rgb) / 18%);
    font-family: var(--dm-font-display);
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--dm-bone);
}

/* ── Signal strip (shared) ─────────────────────────────────────────────── */

.dm-scout-signal {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgb(var(--dm-orange-rgb) / 35%);
    border-radius: 8px;
    background: linear-gradient(180deg, var(--dm-panel-deep), #100F0E);
    box-shadow: inset 0 3px 7px rgb(0 0 0 / 45%);
    font-size: 0.8rem;
    line-height: 1.45;
    color: var(--dm-bone);
}

.dm-scout-signal::before {
    content: "i";
    flex: none;
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    margin-top: 0.05rem;
    border: 1px solid rgb(var(--dm-orange-rgb) / 70%);
    border-radius: 50%;
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    font-style: normal;
    color: var(--dm-orange-hot);
}

/* ── 03 Trait engine — the ONLY chip-style module ──────────────────────── */

.dm-trait-engine {
    position: relative;
    padding: 1.05rem 1.25rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 10%);
    border-radius: 10px;
    background:
        linear-gradient(90deg, rgb(var(--dm-orange-rgb) / 5%), transparent 18% 82%, rgb(var(--dm-orange-rgb) / 5%)),
        linear-gradient(180deg, #23211E, #101010);
    box-shadow:
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%),
        inset 0 0 18px rgb(0 0 0 / 45%),
        0 0 12px rgb(var(--dm-orange-rgb) / 10%);
}

/* chip side pins (housing language reserved for module 03) — powered */
.dm-trait-engine::before,
.dm-trait-engine::after {
    content: "";
    position: absolute;
    top: 15%;
    bottom: 15%;
    width: 5px;
    pointer-events: none;
    background: repeating-linear-gradient(180deg,
        var(--dm-orange-hot) 0 5px,
        rgb(var(--dm-orange-rgb) / 22%) 5px 10px);
    box-shadow: 0 0 6px rgb(var(--dm-orange-rgb) / 35%);
    opacity: 0.75;
}

.dm-trait-engine::before {
    left: 2px;
}

.dm-trait-engine::after {
    right: 2px;
}

.dm-trait-engine__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.dm-trait-engine__cell {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.75rem 0.7rem;
    border-radius: 8px;
    border: 1px solid rgb(94 79 56 / 22%);
    background: var(--dm-bone);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 42%),
        inset 0 -1px 0 rgb(94 79 56 / 14%);
    color: var(--dm-ink);
}

.dm-trait-engine__cell b {
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: break-word;
}

.dm-trait-engine__cell span {
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgb(23 18 13 / 65%);
}

/* ── 04 Tape gates — validation rack (must not read as a chip) ─────────── */

.dm-tape-gate {
    display: grid;
    gap: 0.6rem;
}

.dm-tape-gate__row {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgb(94 79 56 / 22%);
    border-radius: 8px;
    background: var(--dm-bone);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 42%),
        inset 0 -1px 0 rgb(94 79 56 / 14%);
    color: var(--dm-ink);
}

.dm-tape-gate__label {
    flex: 1;
    min-width: 0;
    font-size: 0.82rem;
    font-weight: 700;
}

.dm-tape-gate__badge {
    flex: none;
    padding: 0.3rem 0.55rem;
    border-radius: 6px;
    background: linear-gradient(180deg, #1A1D16, #101208);
    box-shadow: inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.dm-tape-gate__badge::after {
    margin-left: 0.3rem;
}

.dm-tape-gate__row[data-gate="pass"] .dm-tape-gate__badge {
    border: 1px solid rgb(119 225 74 / 55%);
    color: var(--dm-pass-green);
}

.dm-tape-gate__row[data-gate="pass"] .dm-tape-gate__badge::after {
    content: "↑";
}

.dm-tape-gate__row[data-gate="watch"] .dm-tape-gate__badge {
    border: 1px solid rgb(var(--dm-orange-rgb) / 60%);
    color: var(--dm-watch-tone);
}

.dm-tape-gate__row[data-gate="watch"] .dm-tape-gate__badge::after {
    content: "→";
}

.dm-tape-gate__row[data-gate="fail"] .dm-tape-gate__badge {
    border: 1px solid rgb(var(--dm-orange-rgb) / 45%);
    color: var(--dm-fail-tone);
}

.dm-tape-gate__row[data-gate="fail"] .dm-tape-gate__badge::after {
    content: "↓";
}

.dm-tape-gate__led {
    flex: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    box-shadow: inset 0 1px 2px rgb(0 0 0 / 45%);
}

.dm-tape-gate__row[data-gate="pass"] .dm-tape-gate__led {
    background: radial-gradient(circle at 35% 30%, #C9FFA6, var(--dm-pass-green) 60%);
    box-shadow: 0 0 7px rgb(119 225 74 / 60%);
}

.dm-tape-gate__row[data-gate="watch"] .dm-tape-gate__led {
    background: radial-gradient(circle at 35% 30%, #FFD9A8, var(--dm-watch-tone) 60%);
    box-shadow: 0 0 7px rgb(var(--dm-orange-rgb) / 60%);
}

.dm-tape-gate__row[data-gate="fail"] .dm-tape-gate__led {
    background: radial-gradient(circle at 35% 30%, var(--dm-watch-tone), var(--dm-fail-tone) 60%);
    box-shadow: 0 0 7px rgb(var(--dm-orange-rgb) / 40%);
}

.dm-tape-gate__legend {
    display: flex;
    justify-content: center;
    gap: 1.1rem;
    font-family: var(--dm-font-display);
    font-size: 0.62rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
}

.dm-tape-gate__legend [data-gate="pass"] {
    color: var(--dm-pass-green);
}

.dm-tape-gate__legend [data-gate="pass"]::before {
    content: "↑ ";
}

.dm-tape-gate__legend [data-gate="watch"] {
    color: var(--dm-watch-tone);
}

.dm-tape-gate__legend [data-gate="watch"]::before {
    content: "→ ";
}

.dm-tape-gate__legend [data-gate="fail"] {
    color: var(--dm-fail-tone);
}

.dm-tape-gate__legend [data-gate="fail"]::before {
    content: "↓ ";
}

/* ── 05 Fit resolver — single-open tabs ────────────────────────────────── */

.dm-fit-resolver {
    display: grid;
    gap: 0.8rem;
}

.dm-fit-resolver__tabs {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
    padding-top: 0.35rem;
}

.dm-fit-resolver__tabs::before {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    top: 0.05rem;
    height: 2px;
    border-radius: 999px;
    background: repeating-linear-gradient(90deg,
        rgb(var(--dm-orange-rgb) / 54%) 0 4px,
        transparent 4px 10px);
    box-shadow: 0 0 8px rgb(var(--dm-orange-rgb) / 24%);
}

.dm-fit-resolver__tab {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 0.8rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    min-height: 46px;
    border-radius: 8px;
    background: linear-gradient(180deg, #24221F, #151412);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 45%),
        inset 0 1px 0 rgb(var(--dm-bone-rgb) / 6%);
    font-family: var(--dm-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    color: var(--dm-bone);
    transition: border-color 140ms ease-out;
}

.dm-fit-resolver__tab::before {
    content: "";
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgb(var(--dm-bone-rgb) / 22%);
}

.dm-fit-resolver__tab[data-state="selected"] {
    border-color: rgb(var(--dm-orange-rgb) / 70%);
    background: linear-gradient(180deg, #2A211B, #171411);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 50%),
        inset 0 -2px 0 rgb(var(--dm-orange-rgb) / 62%),
        0 0 10px rgb(var(--dm-orange-rgb) / 35%);
    color: var(--dm-orange-hot);
}

.dm-fit-resolver__tab[data-state="live"] {
    border-color: rgb(var(--dm-orange-rgb) / 24%);
    color: var(--dm-bone-low);
}

.dm-fit-resolver__tab[data-state="selected"]::before {
    background: radial-gradient(circle at 35% 30%, #FFD9A8, var(--dm-orange-hot) 60%);
    box-shadow: 0 0 7px rgb(var(--dm-orange-rgb) / 60%);
}

.dm-fit-resolver__panel {
    display: grid;
    gap: 0.7rem;
    padding: 1rem 0.9rem;
    border-radius: 10px;
    border: 1px solid rgb(94 79 56 / 22%);
    background: var(--dm-bone);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 42%),
        inset 0 -1px 0 rgb(94 79 56 / 16%);
    color: var(--dm-ink);
}

.dm-fit-resolver__panel h5 {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-family: var(--dm-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: var(--dm-track-wide);
    text-transform: uppercase;
    justify-content: center;
}

.dm-fit-resolver__panel h5::before,
.dm-fit-resolver__panel h5::after {
    content: "";
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgb(var(--dm-orange-rgb) / 55%));
}

.dm-fit-resolver__panel h5::after {
    background: linear-gradient(90deg, rgb(var(--dm-orange-rgb) / 55%), transparent);
}

.dm-fit-resolver__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.dm-fit-resolver__cell {
    padding: 0.65rem 0.6rem;
    border: 1px solid rgb(23 18 13 / 18%);
    border-radius: 8px;
    background: rgb(var(--dm-bone-rgb) / 46%);
    font-size: 0.76rem;
    line-height: 1.4;
    font-weight: 600;
}

/* ── 06 Final read — output bank + action tile + thesis ────────────────── */

.dm-final-read__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.dm-final-read__action {
    display: grid;
    place-items: center;
    padding: 0.75rem 0.7rem;
    border: 1px solid var(--dm-orange-deep);
    border-radius: 9px;
    background: linear-gradient(180deg, #FFC084, var(--dm-orange-hot) 42%, var(--dm-orange) 85%);
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 45%),
        0 0 12px rgb(var(--dm-orange-rgb) / 40%);
    font-family: var(--dm-font-display);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    color: var(--dm-ink);
    transition: filter 160ms ease-out, transform 140ms ease-out;
}

.dm-final-read__action:active {
    transform: translateY(1px);
}

.dm-final-read__thesis {
    display: grid;
    gap: 0.25rem;
    padding: 1rem 0.9rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 10%);
    border-radius: 10px;
    background: linear-gradient(180deg, #0F0E0D, #080808);
    box-shadow:
        inset 0 3px 7px rgb(0 0 0 / 45%),
        inset 0 -1px 0 rgb(var(--dm-orange-rgb) / 14%);
    text-align: center;
    font-family: var(--dm-font-display);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    line-height: 1.6;
    color: var(--dm-bone);
}

/* ── Hover polish (desktop only), triggered pulses + motion safety ─────── */

@media (hover: hover) {
    .dm-scout-stack__select:not(:disabled):hover,
    .dm-scout-card__headbtn:not(:disabled):hover .dm-scout-card__title,
    .dm-fit-resolver__tab:hover,
    .dm-final-read__action:hover {
        filter: brightness(1.07);
    }
}

/* level 4 triggered response — circuit-state.js applies .is-pulsing on tap;
   keyframes are the shared homepage recipes from control-room.css */
@media (prefers-reduced-motion: no-preference) {
    .dm-scout-stack__select.is-pulsing,
    .dm-fit-resolver__tab.is-pulsing,
    .dm-final-read__action.is-pulsing {
        animation: dm-row-pulse 450ms ease-out 1;
    }

    /* restrained idle life on the hero readout LED (status, not a button) */
    .dm-prospect-hero__readout-led {
        animation: dm-chip-alive 4.5s ease-in-out infinite;
    }

    .dm-prospect-load-circuit__current {
        animation: dm-current-a 10s linear infinite;
    }

    .dm-scout-stack__rail::after {
        animation: dm-current-a 12s linear infinite;
    }

    .dm-prospect-load-circuit__node,
    .dm-scout-stack__select[data-state="selected"]::before {
        animation: dm-node-breathe 2.6s ease-in-out infinite alternate;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-scout-stack__select,
    .dm-scout-card__headbtn,
    .dm-fit-resolver__tab,
    .dm-final-read__action {
        transition: none;
    }

    .dm-prospect-load-circuit__current,
    .dm-scout-stack__rail::after,
    .dm-prospect-load-circuit__node,
    .dm-scout-stack__select::before,
    .dm-prospect-page .is-pulsing {
        animation: none !important;
    }
}
