/*
 * Lion2 Signal system — Wave 1 reusable image-part registry.
 *
 * This layer exposes immutable runtime assets and opt-in composition helpers.
 * Route and shell ownership stays in the existing 20/60/90 modules.
 */

body.lion2-skin {
    --signal-part-header-shell: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-header-shell-v2.webp');
    --signal-part-concrete: url('/skin/lion2_main/images/signal/parts-v2/textures/signal-part-concrete-v2.webp');
    --signal-part-divider-x: url('/skin/lion2_main/images/signal/parts-v2/edges/signal-part-divider-x-v2.webp');
    --signal-part-rail-left-top: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-left-top-v2.webp');
    --signal-part-rail-left-mid: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-left-mid-v2.webp');
    --signal-part-rail-left-bottom: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-left-bottom-v2.webp');
    --signal-part-rail-right-top: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-right-top-v2.webp');
    --signal-part-rail-right-mid: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-right-mid-v2.webp');
    --signal-part-rail-right-bottom: url('/skin/lion2_main/images/signal/parts-v2/shell/signal-part-rail-right-bottom-v2.webp');
    --signal-part-frame-heavy: url('/skin/lion2_main/images/signal/parts-v2/frames/signal-part-frame-heavy-9s-v1.webp');
    --signal-part-nav-light: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-nav-light-v1.webp');
    --signal-part-nav-neutral: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-nav-neutral-v1.webp');
    --signal-part-nav-dark: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-nav-dark-v1.webp');
    --signal-part-nav-active: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-nav-active-v1.webp');
    --signal-part-notice-well: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-notice-well-v1.webp');
    --signal-part-input-well: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-input-well-v1.webp');
    --signal-part-title-light: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-title-light-v1.webp');
    --signal-part-title-signal: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-title-signal-v1.webp');
    --signal-part-key-dark: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-key-dark-v1.webp');
    --signal-part-key-yellow: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-key-yellow-v1.webp');
    --signal-part-medallion: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-medallion-v1.webp');
    --signal-part-badge: url('/skin/lion2_main/images/signal/parts-v2/controls/signal-part-badge-v1.webp');
    --signal-part-hardware-atlas: url('/skin/lion2_main/images/signal/parts-v2/hardware/signal-part-hardware-atlas-v1.webp');
    --signal-slice-frame-heavy: 72;
    --signal-slice-control: 24;
    --signal-border-frame-heavy: 24px;
    --signal-border-control: 8px;
}

/* Opt-in helpers: consumers select the asset through the public variables. */
body.lion2-skin .signal-part-surface {
    background-color: #151819;
    background-image: var(--signal-part-concrete);
    background-repeat: repeat;
}

body.lion2-skin .signal-part-frame-heavy {
    border: var(--signal-border-frame-heavy) solid transparent;
    border-image-source: var(--signal-part-frame-heavy);
    border-image-slice: var(--signal-slice-frame-heavy) fill;
    border-image-width: 1;
    border-image-repeat: stretch;
}

body.lion2-skin .signal-part-control {
    background-image: var(--signal-part-control-image, var(--signal-part-nav-neutral));
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
}

body.lion2-skin .signal-part-divider-x {
    background-image: var(--signal-part-divider-x);
    background-repeat: repeat-x;
    background-position: center;
    background-size: auto 100%;
}
