/* ============================================================================
   Draft Mainframe — Position Room / Prospect Pool shell (v0.6 pass)
   Route-only stylesheet: linked from _Layout solely when
   ViewData["PositionRoomAppShell"] is set (never globally).
   All selectors are scoped under .dm-position-room (page wrapper:
   .dm-position-room-page).
   Tokens come from the .dm-home-shell-page scope in control-room.css; the
   position-room body receives that class via _Layout, so no token values are
   duplicated or invented here.
   Recipe sources (verified selectors):
   - room hero chassis/frame/bolts .......... .dm-prospect-hero (prospect-shell.css)
   - hero octagon badge ..................... .dm-prospect-hero__badge
   - hero status strip (inset well) ......... .dm-prospect-hero__readout
   - section chassis ........................ .dm-scout-card (base planes)
   - section head number/label .............. .dm-scout-module__head/__number/__label
   - draft window / pool panels ............. .dm-scout-module
   - count chip ............................. .dm-scout-flag--standby
   - empty-state well ....................... .dm-expand-card__body (control-room.css)
   - filter tabs ............................ .dm-scout-stack__select (+ data-state)
   - file tile cream plate .................. .dm-scout-chip / .dm-scout-board
   - Open File CTA .......................... .dm-final-read__action
   Shared keyframes (dm-frame-breathe) come from control-room.css.
   State control: data-state (selected | standby) and the hidden attribute.
   ========================================================================== */

/* ── Page wrapper ──────────────────────────────────────────────────────── */

/* mirrors .dm-prospect-page .dm-page-return */
.dm-position-room-page .dm-page-return {
    padding: 1rem 0.75rem 0;
    margin-bottom: 0;
}

.dm-position-room-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-position-room-page .dm-page-return__link:hover {
    color: var(--dm-orange-hot);
}

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

.dm-position-room h1,
.dm-position-room h2,
.dm-position-room h3,
.dm-position-room p {
    margin: 0;
}

/* hidden must beat the display values set on pool panels */
.dm-position-room [hidden] {
    display: none !important;
}

/* ── Room hero — dark bolted masthead (.dm-prospect-hero recipe) ───────── */

.dm-position-room .dm-room-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-position-room .dm-room-hero > * {
    position: relative;
    z-index: 1;
}

/* inset circuit frame + LED side ladders (.dm-prospect-hero::before recipe) */
.dm-position-room .dm-room-hero::before {
    content: "";
    position: absolute;
    inset: 6px;
    pointer-events: none;
    border: 1px solid rgb(var(--dm-orange-rgb) / 34%);
    border-radius: 10px;
    box-shadow:
        inset 0 0 14px rgb(var(--dm-orange-rgb) / 7%),
        0 0 10px rgb(var(--dm-orange-rgb) / 8%);
    background-image:
        repeating-linear-gradient(180deg, rgb(var(--dm-orange-rgb) / 18%) 0 4px, rgb(var(--dm-orange-rgb) / 6%) 4px 8px),
        repeating-linear-gradient(180deg, rgb(var(--dm-orange-rgb) / 18%) 0 4px, rgb(var(--dm-orange-rgb) / 6%) 4px 8px),
        radial-gradient(14px 46% at 0% 50%, rgb(var(--dm-orange-rgb) / 8%), transparent 70%),
        radial-gradient(14px 46% at 100% 50%, rgb(var(--dm-orange-rgb) / 8%), transparent 70%);
    background-size: 4px 32%, 4px 32%, 26px 62%, 26px 62%;
    background-position: 1px 50%, calc(100% - 1px) 50%, 0 50%, 100% 50%;
    background-repeat: no-repeat;
    animation: dm-frame-breathe 3.2s ease-in-out infinite alternate;
}

/* graphite corner bolts (.dm-prospect-hero::after recipe) */
.dm-position-room .dm-room-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-position-room .dm-room-hero__deck {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.9rem;
}

.dm-position-room .dm-room-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-position-room .dm-room-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-position-room .dm-room-hero__sub {
    margin-top: 0.25rem;
    color: var(--dm-muted);
    font-size: 0.78rem;
}

/* octagonal room badge (.dm-prospect-hero__badge recipe) */
.dm-position-room .dm-room-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-position-room .dm-room-hero__badge::before {
    content: "";
    position: absolute;
    inset: 2px;
    z-index: 0;
    --cut: 9px;
    clip-path: var(--dm-oct);
    background: #0C0B0A;
}

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

.dm-position-room .dm-room-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-position-room .dm-room-hero__badge span {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: var(--dm-track-wide);
    color: var(--dm-bone);
}

.dm-position-room .dm-room-hero__note {
    color: var(--dm-bone);
    font-size: 0.85rem;
    line-height: 1.5;
}

/* status strip — inset readout well (.dm-prospect-hero__readout recipe) */
.dm-position-room .dm-room-hero__status {
    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-position-room .dm-room-hero__status-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-position-room .dm-room-hero__status-led {
    flex: none;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 30%, #C9FFA6, var(--dm-green-live) 60%);
    box-shadow: 0 0 8px rgb(119 225 74 / 60%);
}

/* ── Section chassis (.dm-scout-card base planes) ──────────────────────── */

.dm-position-room .dm-room-section {
    position: relative;
    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%);
}

.dm-position-room .dm-room-section > * {
    position: relative;
    z-index: 1;
}

/* graphite corner bolts (.dm-prospect-hero::after recipe) */
.dm-position-room .dm-room-section::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;
}

/* section head (.dm-scout-module__head/__number/__label recipe) */
.dm-position-room .dm-room-section__head {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
}

.dm-position-room .dm-room-section__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-position-room .dm-room-section__label {
    flex: 1;
    min-width: 0;
}

.dm-position-room .dm-room-section__label h2 {
    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-position-room .dm-room-section__label p {
    margin-top: 0.15rem;
    color: var(--dm-muted);
    font-size: 0.72rem;
}

/* ── Draft Window panels (.dm-scout-module recipe) ─────────────────────── */

.dm-position-room .dm-draft-window {
    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-position-room .dm-draft-window > * {
    position: relative;
    z-index: 1;
}

/* inset trace accents (.dm-scout-module--*::before recipe) */
.dm-position-room .dm-draft-window::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-position-room .dm-draft-window__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
}

.dm-position-room .dm-draft-window__head h3 {
    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);
}

/* count chip (.dm-scout-flag--standby recipe, no LED) */
.dm-position-room .dm-draft-window__count {
    flex: none;
    display: inline-flex;
    align-items: center;
    padding: 0.32rem 0.6rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    border-radius: 7px;
    background: linear-gradient(180deg, #2C2C2F, #222225);
    box-shadow: inset 0 1px 0 rgb(var(--dm-bone-rgb) / 7%);
    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;
    color: var(--dm-standby);
}

/* ── Empty-state wells (.dm-expand-card__body inset well recipe) ───────── */

.dm-position-room .dm-room-empty {
    display: grid;
    gap: 0.3rem;
    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%);
    color: var(--dm-bone);
    font-size: 0.85rem;
    line-height: 1.5;
}

.dm-position-room .dm-room-empty p:last-child {
    color: var(--dm-muted);
    font-size: 0.78rem;
}

/* ── Prospect Pool filter tabs (.dm-scout-stack__select recipe) ────────── */

.dm-position-room .dm-pool-filters {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.6rem;
}

.dm-position-room .dm-pool-filter {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    gap: 0.15rem;
    min-height: 50px;
    padding: 0.4rem 0.3rem;
    border: 1px solid rgb(var(--dm-bone-rgb) / 14%);
    border-radius: 9px;
    background: linear-gradient(180deg, #2C2C2F, #222225);
    box-shadow: inset 0 1px 0 rgb(var(--dm-bone-rgb) / 7%);
    font-family: var(--dm-font-display);
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--dm-standby);
    transition: filter 160ms ease-out, transform 140ms ease-out;
}

.dm-position-room .dm-pool-filter b {
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: var(--dm-track-tight);
}

/* selected — lit cream command plate (.dm-scout-stack__select[data-state="selected"]) */
.dm-position-room .dm-pool-filter[data-state="selected"] {
    border-color: rgb(var(--dm-orange-rgb) / 70%);
    background: linear-gradient(180deg, var(--dm-bone-hi), var(--dm-bone) 52%, var(--dm-bone-low));
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 70%),
        inset 0 -3px 5px rgb(94 79 56 / 30%),
        0 0 10px rgb(var(--dm-orange-rgb) / 35%);
    color: var(--dm-ink);
}

.dm-position-room .dm-pool-filter:active {
    transform: translateY(1px);
}

/* ── Pool panels ───────────────────────────────────────────────────────── */

.dm-position-room .dm-pool-panel {
    display: grid;
    gap: 0.85rem;
}

.dm-position-room .dm-pool-panel__head h3 {
    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-position-room .dm-pool-panel__head p {
    margin-top: 0.15rem;
    color: var(--dm-muted);
    font-size: 0.72rem;
}

/* ── Prospect file tiles (cream plate: .dm-scout-chip/.dm-scout-board) ─── */

.dm-position-room .dm-file-tile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.6rem;
}

.dm-position-room .dm-file-tile {
    display: grid;
    align-content: start;
    gap: 0.3rem;
    padding: 0.75rem 0.7rem;
    border-radius: 9px;
    background: linear-gradient(180deg, var(--dm-bone-hi), var(--dm-bone) 52%, var(--dm-bone-low));
    box-shadow:
        inset 0 1px 0 rgb(255 255 255 / 70%),
        inset 0 -3px 5px rgb(94 79 56 / 30%);
    color: var(--dm-ink);
    transition: filter 160ms ease-out, transform 140ms ease-out;
}

.dm-position-room .dm-file-tile:active {
    transform: translateY(1px);
}

.dm-position-room .dm-file-tile__id {
    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-deep);
}

.dm-position-room .dm-file-tile__name {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--dm-ink);
}

.dm-position-room .dm-file-tile__school {
    font-size: 0.72rem;
    font-weight: 600;
    color: rgb(23 18 13 / 65%);
}

.dm-position-room .dm-file-tile__meta {
    display: grid;
    gap: 0.1rem;
    font-size: 0.68rem;
    font-weight: 600;
    color: rgb(23 18 13 / 65%);
}

/* Open File CTA (.dm-final-read__action recipe, compact) */
.dm-position-room .dm-file-tile__cta {
    display: grid;
    place-items: center;
    margin-top: 0.3rem;
    padding: 0.45rem 0.5rem;
    border: 1px solid var(--dm-orange-deep);
    border-radius: 7px;
    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.68rem;
    font-weight: 800;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-align: center;
    color: var(--dm-ink);
}

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

@media (hover: hover) {
    .dm-position-room .dm-pool-filter:hover,
    .dm-position-room .dm-file-tile:hover {
        filter: brightness(1.07);
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-position-room .dm-pool-filter,
    .dm-position-room .dm-file-tile {
        transition: none;
    }

    .dm-position-room .dm-room-hero::before {
        animation: none !important;
    }
}
