/* =========================================================
   SHADOWNET // OVERVIEW V2
   ========================================================= */

.sn-command-center {
    width: 100%;
}


/* =========================================================
   HEADER
   ========================================================= */

.sn-command-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;

    padding-bottom: 0;
    margin-bottom: 12px;

    border-bottom: none;
}

.sn-command-header-kicker {
    display: block;

    margin-bottom: 8px;

    font-size: 11px;
    letter-spacing: .2em;

    opacity: .55;
}

.sn-command-header h1 {
    margin: 0;

    font-size: 38px;
    line-height: 1;

    font-weight: 500;
    letter-spacing: .08em;
}

.sn-command-header-status {
    display: flex;
    align-items: center;
    gap: 9px;

    padding-bottom: 4px;

    font-size: 11px;
    letter-spacing: .12em;
}

.sn-command-header-status i {
    display: block;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: var(--sn-accent);

    box-shadow:
        0 0 10px var(--sn-accent);
}


/* =========================================================
   TOP COMMAND GRID
   ========================================================= */

.sn-command-top {
    display: grid;

    grid-template-columns:
        minmax(0, 1.85fr)
        minmax(300px, .72fr);

    gap: 24px;

    margin-bottom: 24px;
}


/* =========================================================
   QUICK CAPTURE
   ========================================================= */

.sn-quick-capture-hint {
    font-size: 9px;
    letter-spacing: .14em;
    opacity: .45;
}

#sn-quick-capture-text {
    box-sizing: border-box;
    width: 100%;
    min-height: 92px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--sn-accent) 24%, transparent);
    border-radius: 0;
    outline: none;
    resize: vertical;
    background: color-mix(in srgb, var(--sn-accent) 3%, transparent);
    color: var(--sn-accent);
    font: inherit;
    font-size: 11px;
    line-height: 1.5;
    caret-color: var(--sn-accent);
}

#sn-quick-capture-text::placeholder {
    color: var(--sn-accent);
    opacity: .35;
}

#sn-quick-capture-text:focus {
    border-color: var(--sn-accent);
}

.sn-quick-capture-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.sn-quick-capture-destinations {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.sn-quick-capture-destinations input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.sn-quick-capture-destinations label span {
    display: block;
    padding: 6px 8px;
    border: 1px solid color-mix(in srgb, var(--sn-accent) 18%, transparent);
    font-size: 8px;
    letter-spacing: .1em;
    opacity: .5;
    cursor: pointer;
}

.sn-quick-capture-destinations input:checked + span {
    border-color: var(--sn-accent);
    background: color-mix(in srgb, var(--sn-accent) 8%, transparent);
    opacity: 1;
}

#sn-quick-capture-submit {
    flex: 0 0 auto;
    padding: 8px 12px;
    border: 1px solid var(--sn-accent);
    border-radius: 0;
    background: transparent;
    color: var(--sn-accent);
    font: inherit;
    font-size: 9px;
    letter-spacing: .13em;
    cursor: pointer;
}

#sn-quick-capture-submit:disabled { opacity: .4; }
#sn-quick-capture-status { min-height: 12px; margin-top: 8px; font-size: 8px; letter-spacing: .1em; opacity: .65; }
.sn-recent-captures { margin-top: 10px; padding-top: 10px; border-top: 1px solid color-mix(in srgb, var(--sn-accent) 12%, transparent); }
#sn-recent-captures { margin-top: 7px; }
.sn-capture-empty { font-size: 9px; letter-spacing: .1em; opacity: .35; }

.sn-capture-item {
    display: grid;
    grid-template-columns: 75px minmax(0,1fr) 28px;
    align-items: start;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid color-mix(in srgb, var(--sn-accent) 8%, transparent);
}

.sn-capture-dismiss {
    width: 24px;
    height: 24px;
    padding: 0;
    border: 1px solid transparent;
    background: transparent;
    color: var(--sn-accent);
    font: inherit;
    font-size: 15px;
    line-height: 22px;
    text-align: center;
    opacity: .35;
    cursor: pointer;
}

.sn-capture-dismiss:hover,
.sn-capture-dismiss:focus {
    border-color: color-mix(
        in srgb,
        var(--sn-accent) 35%,
        transparent
    );
    opacity: 1;
}

.sn-capture-item span { font-size: 8px; letter-spacing: .1em; opacity: .5; }
.sn-capture-item strong { font-size: 10px; line-height: 1.45; font-weight: 500; }

.sn-session-below {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr);
    gap: 24px;
    align-items: stretch;
    margin-bottom: 24px;
}

.sn-command-top > .sn-geo-locator,
.sn-session-below > .sn-command-panel:first-child {
    grid-column: 1;
}

.sn-command-top > .sn-command-panel,
.sn-session-below > .sn-command-panel:last-child {
    grid-column: 2;
}


/* =========================================================
   SHADOWNET GEO LOCATOR
   ========================================================= */

.sn-geo-locator {
    min-width: 0;
    min-height: 540px;
    padding: 24px;
    overflow: hidden;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 30%,
            transparent
        );

    background:
        radial-gradient(
            circle at 40% 56%,
            color-mix(
                in srgb,
                var(--sn-accent) 4%,
                transparent
            ),
            transparent 48%
        ),
        rgba(0, 0, 0, .20);
}

.sn-geo-locator-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    padding-bottom: 15px;
    margin-bottom: 8px;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 18%,
            transparent
        );
}

.sn-geo-locator-head span {
    display: block;
    margin-bottom: 5px;
    font-size: 10px;
    letter-spacing: .17em;
    opacity: .5;
}

.sn-geo-locator-head strong {
    display: block;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .08em;
}

.sn-geo-status {
    flex: 0 0 auto;
    font-size: 9px !important;
    letter-spacing: .14em !important;
    opacity: .7 !important;
}

.sn-geo-stage {
    position: relative;
    width: 100%;
    height: 450px;
    min-height: 450px;
    overflow: hidden;
}

#sn-geo-globe {
    display: block;
    width: 100%;
    height: 100%;
}

.sn-geo-readout {
    position: absolute;
    top: 50%;
    right: 28px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;

    min-width: 205px;
    padding: 18px 18px 16px;

    border-left: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 28%,
            transparent
        );

    background:
        linear-gradient(
            90deg,
            color-mix(
                in srgb,
                var(--sn-accent) 3%,
                transparent
            ),
            transparent
        );

    transform: translateY(-50%);
    pointer-events: none;
}

.sn-geo-readout::before {
    content: "";
    width: 34px;
    margin-bottom: 12px;

    border-top: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 55%,
            transparent
        );
}

.sn-geo-readout span {
    margin-bottom: 5px;
    font-size: 9px;
    letter-spacing: .18em;
    opacity: .45;
}

.sn-geo-readout strong {
    margin: 2px 0 8px;
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .12em;
}

.sn-geo-readout small {
    font-size: 10px;
    line-height: 1.5;
    letter-spacing: .08em;
    opacity: .62;
}

/* =========================================================
   SHARED PANEL
   ========================================================= */

.sn-command-panel {
    min-width: 0;

    padding: 24px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 30%,
            transparent
        );

    background:
        rgba(0, 0, 0, .20);
}

.sn-command-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding-bottom: 15px;
    margin-bottom: 18px;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 18%,
            transparent
        );
}

.sn-command-panel-head span {
    display: block;

    margin-bottom: 5px;

    font-size: 10px;
    letter-spacing: .17em;

    opacity: .5;
}

.sn-command-panel-head strong {
    display: block;

    font-size: 18px;
    font-weight: 500;

    letter-spacing: .08em;
}

.sn-command-panel-head time {
    font-size: 12px;
    letter-spacing: .1em;

    opacity: .8;
}


/* =========================================================
   NOW / OPERATIONS
   ========================================================= */

.sn-now-next {
    padding: 20px;

    margin-bottom: 14px;

    border-left: 3px solid
        var(--sn-accent);

    background:
        color-mix(
            in srgb,
            var(--sn-accent) 5%,
            transparent
        );
}

.sn-data-label {
    display: block;

    margin-bottom: 9px;

    font-size: 10px;
    letter-spacing: .15em;

    opacity: .5;
}

.sn-now-next strong {
    display: block;

    margin-bottom: 7px;

    font-size: 22px;
    line-height: 1.25;

    font-weight: 500;
}

.sn-now-next small {
    display: block;

    font-size: 12px;
    line-height: 1.5;

    letter-spacing: .05em;

    opacity: .65;
}


/* =========================================================
   OPERATIONS METRICS
   ========================================================= */

.sn-now-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 18px;
}

.sn-now-stat {
    min-width: 0;

    padding: 15px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 16%,
            transparent
        );
}

.sn-now-stat span {
    display: block;

    margin-bottom: 8px;

    font-size: 9px;
    letter-spacing: .13em;

    opacity: .45;
}

.sn-now-stat strong {
    display: block;

    font-size: 14px;
    line-height: 1.35;

    font-weight: 500;
}


/* =========================================================
   UPCOMING EVENTS
   ========================================================= */

.sn-command-upcoming {
    margin-top: 6px;
}

.sn-command-upcoming-title {
    display: block;

    margin-bottom: 12px;

    font-size: 10px;
    letter-spacing: .15em;

    opacity: .5;
}

.sn-command-events {
    display: grid;
    gap: 6px;
}

.sn-command-event {
    display: grid;

    grid-template-columns:
        80px
        92px
        minmax(0, 1fr);

    gap: 12px;

    align-items: start;

    padding: 10px 0;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 12%,
            transparent
        );
}

.sn-command-event time {
    font-size: 11px;
    line-height: 1.4;

    opacity: .55;
}

.sn-command-event strong {
    min-width: 0;

    font-size: 12px;
    line-height: 1.45;

    font-weight: 500;
}


/* =========================================================
   CURRENT SESSION
   ========================================================= */

.sn-session-indicator {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: var(--sn-accent);

    box-shadow:
        0 0 10px var(--sn-accent);
}

.sn-session-row {
    display: grid;

    grid-template-columns:
        minmax(105px, .8fr)
        minmax(0, 1.2fr);

    gap: 16px;

    align-items: center;

    padding: 10px 0;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 11%,
            transparent
        );
}

.sn-session-row span {
    font-size: 9px;
    letter-spacing: .12em;

    opacity: .45;
}

.sn-session-row strong {
    min-width: 0;

    font-size: 11px;
    line-height: 1.4;

    font-weight: 500;

    text-align: right;

    letter-spacing: .05em;

    overflow-wrap: anywhere;
}


/* =========================================================
   ENVIRONMENT
   ========================================================= */

.sn-command-environment {
    margin-bottom: 24px;
}

.sn-environment-v2-grid {
    display: grid;

    grid-template-columns:
        1.2fr
        repeat(4, 1fr);

    align-items: stretch;

    gap: 0;
}

.sn-environment-v2-primary,
.sn-environment-v2-data {
    padding: 18px;

    border-right: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 15%,
            transparent
        );
}

.sn-environment-v2-data:last-child {
    border-right: 0;
}

.sn-environment-v2-primary span,
.sn-environment-v2-data span {
    display: block;

    margin-bottom: 9px;

    font-size: 9px;
    letter-spacing: .13em;

    opacity: .45;
}

.sn-environment-v2-primary strong {
    display: block;

    margin-bottom: 7px;

    font-size: 28px;
    font-weight: 500;
}

.sn-environment-v2-primary em {
    font-size: 11px;

    font-style: normal;
    letter-spacing: .06em;

    opacity: .7;
}

.sn-environment-v2-data strong {
    display: block;

    font-size: 13px;
    line-height: 1.5;

    font-weight: 500;
}


/* =========================================================
   NWS ALERTS
   ========================================================= */

.sn-overview-alerts {
    margin-top: 16px;
}

.sn-overview-alert {
    display: block;

    padding: 14px;

    margin-top: 8px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 35%,
            transparent
        );

    color: inherit;

    text-decoration: none;
}

.sn-overview-alert span {
    display: block;

    margin-bottom: 5px;

    font-size: 9px;
    letter-spacing: .14em;

    opacity: .6;
}

.sn-overview-alert strong {
    display: block;

    margin-bottom: 5px;

    font-size: 13px;
}

.sn-overview-alert em {
    font-size: 11px;
    line-height: 1.5;

    font-style: normal;

    opacity: .7;
}


/* =========================================================
   SITUATIONAL AWARENESS // SUMMARY NODES
   ========================================================= */

.sn-situation-node {
    display: flex;
    flex-direction: column;
    min-height: 250px;
}

.sn-situation-node .sn-command-node-row {
    padding-top: 9px;
    padding-bottom: 9px;
}

.sn-situation-node .sn-command-node-row > span {
    font-size: 8px;
    letter-spacing: .12em;
}

.sn-situation-node .sn-command-node-row > strong {
    font-size: 11px;
    line-height: 1.35;
}

.sn-situation-foot {
    margin-top: auto;
    padding: 10px 12px 11px;
    border-top: 1px solid var(--sn-line);
    font-size: 8px;
    line-height: 1.35;
    letter-spacing: .11em;
    opacity: .42;
}


/* =========================================================
   FOREST GROVE // LIVE STATUS
   ========================================================= */

.sn-command-node-head .sn-node-status {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 8px;
    letter-spacing: .12em;
    opacity: .65;
}

.sn-command-node-head .sn-node-status i {
    flex: 0 0 6px;
}

.sn-command-node-row.sn-node-live strong {
    font-size: 13px;
}

.sn-command-node-row .sn-node-detail {
    display: block;
    margin-top: 4px;
    font-size: 8px;
    line-height: 1.4;
    letter-spacing: .08em;
    opacity: .42;
}


/* =========================================================
   COMMAND NODES
   ========================================================= */

.sn-command-nodes {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;

    margin-bottom: 24px;
}

.sn-command-node {
    min-width: 0;

    padding: 20px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 24%,
            transparent
        );

    background:
        rgba(0, 0, 0, .18);
}

.sn-command-node-head {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 10px;

    margin-bottom: 18px;
}

.sn-command-node-head strong {
    font-size: 15px;
    font-weight: 500;

    letter-spacing: .1em;
}

.sn-command-node-head i {
    width: 6px;
    height: 6px;

    border-radius: 50%;

    background: var(--sn-accent);
}

.sn-command-node-row {
    margin-top: 12px;
}

.sn-command-node-row span {
    display: block;

    margin-bottom: 5px;

    font-size: 9px;
    letter-spacing: .12em;

    opacity: .4;
}

.sn-command-node-row strong {
    display: block;

    font-size: 12px;
    line-height: 1.45;

    font-weight: 500;
}

.sn-command-node button {
    width: 100%;

    margin-top: 18px;
    padding: 10px 12px;

    border: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 35%,
            transparent
        );

    background: transparent;

    color: var(--sn-accent);

    font-family: inherit;

    font-size: 9px;
    letter-spacing: .13em;

    cursor: pointer;
}

.sn-command-node button:hover {
    background: var(--sn-accent);
    color: #000;
}


/* =========================================================
   SITUATIONAL AWARENESS // SCOPE INTERACTION
   ========================================================= */

.sn-situational-awareness {
    margin-bottom: 24px;
}

.sn-situational-awareness > .sn-command-panel-head {
    margin-bottom: 16px;
}

.sn-situational-awareness .sn-command-nodes {
    margin-bottom: 0;
}

.sn-situational-detail {
    position: relative;
    margin-top: 0;
    padding: 18px 16px 0;
    border: 1px solid color-mix(in srgb, var(--sn-accent) 78%, transparent);
    border-top-color: color-mix(in srgb, var(--sn-accent) 78%, transparent);
    background: color-mix(in srgb, var(--sn-accent) 7%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sn-accent) 10%, transparent);
}

/* Active selector + expanded panel read as one connected intelligence surface. */
.sn-situational-awareness .sn-command-nodes {
    position: relative;
    z-index: 2;
}

.sn-situation-node.is-active {
    border-bottom-color: color-mix(in srgb, var(--sn-accent) 78%, transparent);
}

.sn-situational-detail-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 4px;
}

.sn-situational-detail-head span {
    font-size: 8px;
    letter-spacing: .14em;
    opacity: .42;
}

.sn-situational-detail-head strong {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .12em;
}

.sn-situation-node {
    position: relative;
    cursor: pointer;
    transition:
        border-color .16s ease,
        background-color .16s ease,
        box-shadow .16s ease,
        transform .16s ease;
}

.sn-situation-node:hover,
.sn-situation-node:focus-visible {
    border-color: color-mix(in srgb, var(--sn-accent) 58%, transparent);
    background: color-mix(in srgb, var(--sn-accent) 4%, transparent);
    outline: none;
}

.sn-situation-node.is-active {
    border-color: color-mix(in srgb, var(--sn-accent) 78%, transparent);
    background: color-mix(in srgb, var(--sn-accent) 7%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sn-accent) 10%, transparent);
}

.sn-situation-node::after {
    content: "ACTIVE SCOPE";
    position: absolute;
    top: 10px;
    right: 12px;
    width: 78px;
    height: 12px;
    font-size: 7px;
    line-height: 12px;
    letter-spacing: .13em;
    text-align: right;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
}

.sn-situation-node.is-active::after {
    opacity: .42;
}

/*
 * Reserve the ACTIVE SCOPE status cell on every selector.
 * Selection changes state, never geometry.
 */
.sn-situation-node .sn-command-node-head {
    position: relative;
    padding-right: 88px;
    min-height: 24px;
}

.sn-intel-scope-panel[hidden] {
    display: none !important;
}

.sn-intel-scope-panel {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 0 18px;
    margin-bottom: 2px;
    border-bottom: 1px solid color-mix(in srgb, var(--sn-accent) 14%, transparent);
}

.sn-intel-scope-signal {
    min-width: 0;
    padding: 10px 12px;
    border-left: 1px solid color-mix(in srgb, var(--sn-accent) 22%, transparent);
}

.sn-intel-scope-signal span {
    display: block;
    margin-bottom: 6px;
    font-size: 8px;
    letter-spacing: .12em;
    opacity: .42;
}

.sn-intel-scope-signal strong {
    display: block;
    font-size: 11px;
    line-height: 1.45;
    font-weight: 500;
}

.sn-intel-scope-signal.is-attention strong {
    font-weight: 700;
}

.sn-intel-scope-label {
    transition: opacity .12s ease;
}

@media (max-width: 1100px) {
    .sn-intel-scope-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* =========================================================
   INTELLIGENCE
   ========================================================= */

.sn-overview-intelligence {
    margin-bottom: 24px;
}

.sn-intel-v2-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 16px;
}

.sn-intel-v2-column {
    min-width: 0;
}

.sn-intel-v2-column > strong {
    display: block;

    padding-bottom: 10px;
    margin-bottom: 5px;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 18%,
            transparent
        );

    font-size: 11px;
    letter-spacing: .12em;
}

.sn-intel-v2-story {
    display: block;

    padding: 10px 0;

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 10%,
            transparent
        );

    color: inherit;

    text-decoration: none;
}

.sn-intel-v2-story time {
    display: block;

    margin-bottom: 5px;

    font-size: 9px;

    opacity: .4;
}

.sn-intel-v2-story span {
    display: block;

    font-size: 11px;
    line-height: 1.45;
}

.sn-intel-v2-offline {
    padding: 12px 0;

    font-size: 10px;
    letter-spacing: .08em;

    opacity: .4;
}


/* =========================================================
   INTELLIGENCE // SITUATIONAL DETAIL
   ========================================================= */

.sn-intel-v2-context {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 0 18px;
    margin-bottom: 2px;
    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 14%,
            transparent
        );
}

.sn-intel-v2-context-item {
    min-width: 0;
    padding: 10px 12px;
    border-left: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 22%,
            transparent
        );
}

.sn-intel-v2-context-item span {
    display: block;
    margin-bottom: 6px;
    font-size: 8px;
    letter-spacing: .12em;
    opacity: .42;
}

.sn-intel-v2-context-item strong {
    display: block;
    font-size: 10px;
    line-height: 1.45;
    font-weight: 500;
}

.sn-intel-v2-context-item.is-attention strong {
    font-weight: 700;
}

.sn-intel-v2-grid {
    padding-top: 14px;
}

.sn-intel-v2-column > strong {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.sn-intel-v2-count {
    font-size: 8px;
    font-weight: 400;
    letter-spacing: .08em;
    opacity: .38;
}

.sn-intel-v2-story {
    transition:
        background-color .16s ease,
        padding-left .16s ease;
}

.sn-intel-v2-story:hover {
    padding-left: 7px;
    background:
        color-mix(
            in srgb,
            var(--sn-accent) 4%,
            transparent
        );
}


/* =========================================================
   SYSTEM STRIP
   ========================================================= */

.sn-command-system-strip {
    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    border-top: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 20%,
            transparent
        );

    border-bottom: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 20%,
            transparent
        );
}

.sn-command-system-item {
    padding: 14px;

    border-right: 1px solid
        color-mix(
            in srgb,
            var(--sn-accent) 12%,
            transparent
        );
}

.sn-command-system-item:last-child {
    border-right: 0;
}

.sn-command-system-item span {
    display: block;

    margin-bottom: 5px;

    font-size: 8px;
    letter-spacing: .12em;

    opacity: .4;
}

.sn-command-system-item strong {
    display: block;

    font-size: 10px;
    font-weight: 500;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .sn-command-top {
        grid-template-columns: 1fr;
    }

    .sn-session-below {
        grid-template-columns: 1fr;
    }

    .sn-command-top > .sn-geo-locator,
    .sn-command-top > .sn-command-panel,
    .sn-session-below > .sn-command-panel {
        grid-column: 1;
    }

    .sn-command-nodes {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .sn-environment-v2-grid {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .sn-environment-v2-primary {
        grid-column:
            1 / -1;
    }

    .sn-intel-v2-grid {
        grid-template-columns: 1fr;
    }

    .sn-intel-v2-context {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .sn-command-system-strip {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

@media (max-width: 650px) {

    .sn-command-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .sn-command-header h1 {
        font-size: 30px;
    }

    .sn-now-grid,
    .sn-command-nodes,
    .sn-environment-v2-grid,
    .sn-command-system-strip,
    .sn-intel-v2-context {
        grid-template-columns: 1fr;
    }

    .sn-command-event {
        grid-template-columns:
            70px minmax(0, 1fr);
    }

    .sn-command-event-time {
        grid-column: 1;
    }

    .sn-command-event-title {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .sn-session-row {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .sn-session-row strong {
        text-align: left;
    }

}

/* =========================================================
   SHADOWNET // LOCAL NODE DUAL NODE LAYOUT
   CURRENT NODE + HOME NODE
   ========================================================= */

.sn-geo-stage {
    position: relative;
}

.sn-geo-node-stack {
    position: absolute;
    top: 50%;
    right: 4.5%;
    width: 34%;
    transform: translateY(-50%);
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 34px;
    z-index: 4;
}

.sn-geo-node-card {
    box-sizing: border-box;
    width: 100%;
    min-height: 120px;
    padding: 24px 28px 22px;
    border: 1px solid rgba(0, 216, 255, 0.48);
    background: rgba(0, 15, 22, 0.42);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.sn-geo-node-card::before {
    content: "";
    display: block;
    width: 42px;
    height: 2px;
    margin-bottom: 18px;
    background: var(--sn-accent, #00d8ff);
}

.sn-geo-node-card > span {
    margin-bottom: 8px;
    font-size: 12px;
    letter-spacing: 0.22em;
    color: var(--sn-accent, #00d8ff);
}

.sn-geo-node-card > strong {
    display: block;
    margin-bottom: 8px;
    font-size: clamp(16px, 1.15vw, 22px);
    line-height: 1.1;
    font-weight: 400;
    letter-spacing: 0.10em;
    color: var(--sn-accent, #00d8ff);
    white-space: nowrap;
}

.sn-geo-node-card > small {
    display: block;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0.16em;
    color: rgba(0, 216, 255, 0.82);
}

.sn-geo-node-card > small:last-child {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid rgba(0, 216, 255, 0.35);
}

@media (max-width: 1100px) {
    .sn-geo-node-stack {
        right: 3%;
        width: 36%;
        gap: 20px;
    }

    .sn-geo-node-card {
        min-height: 132px;
        padding: 18px 20px;
    }
}

/* =========================================================
   LOCAL NODE // CURRENT vs HOME
   Current = cyan / live
   Home    = amber / fixed
   ========================================================= */

/* CURRENT NODE // LIVE */
.sn-geo-node-card.sn-geo-current {
    border-color: rgba(0, 216, 255, 0.52);
}

.sn-geo-node-card.sn-geo-current::before {
    background: #00d8ff;
}

.sn-geo-node-card.sn-geo-current > span,
.sn-geo-node-card.sn-geo-current > strong {
    color: #00d8ff;
}

.sn-geo-node-card.sn-geo-current > small {
    color: rgba(0, 216, 255, 0.82);
}

.sn-geo-node-card.sn-geo-current > small:last-child {
    border-top-color: rgba(0, 216, 255, 0.35);
}


/* HOME NODE // FIXED */
.sn-geo-node-card.sn-geo-home {
    border-color: rgba(255, 184, 76, 0.52);
}

.sn-geo-node-card.sn-geo-home::before {
    background: #ffb84c;
}

.sn-geo-node-card.sn-geo-home > span,
.sn-geo-node-card.sn-geo-home > strong {
    color: #ffb84c;
}

.sn-geo-node-card.sn-geo-home > small {
    color: rgba(255, 184, 76, 0.82);
}

.sn-geo-node-card.sn-geo-home > small:last-child {
    border-top-color: rgba(255, 184, 76, 0.35);
}

/* =========================================================
   COMMAND PULSE // INTERNAL AWARENESS
   Surfaces context. Never scores or grades the user.
   ========================================================= */

.sn-command-pulse {
    margin-bottom: 24px;
}

.sn-command-pulse-state {
    flex: 0 0 auto;
    font-size: 9px;
    letter-spacing: .14em;
    opacity: .58;
}

.sn-command-pulse-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.sn-command-pulse-item {
    min-width: 0;
    min-height: 118px;
    box-sizing: border-box;
    padding: 16px;
    border-left: 1px solid color-mix(in srgb, var(--sn-accent) 32%, transparent);
    background: color-mix(in srgb, var(--sn-accent) 2.5%, transparent);
}

.sn-command-pulse-source {
    display: block;
    margin-bottom: 12px;
    font-size: 8px;
    letter-spacing: .14em;
    opacity: .48;
}

.sn-command-pulse-item > strong {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
    line-height: 1.4;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.sn-command-pulse-item > small {
    display: block;
    font-size: 9px;
    line-height: 1.45;
    letter-spacing: .08em;
    opacity: .58;
}

.sn-command-pulse-clear {
    grid-column: 1 / -1;
    padding: 20px 0;
    font-size: 10px;
    letter-spacing: .14em;
    opacity: .42;
}

@media (max-width: 1100px) {
    .sn-command-pulse-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .sn-command-pulse-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   FOREST GROVE // LOCAL SEISMIC DETAIL
   ========================================================= */
.sn-intel-seismic small,
.sn-intel-seismic em {
    display: block;
    margin-top: 6px;
    font-size: 8px;
    line-height: 1.45;
    letter-spacing: .09em;
    font-style: normal;
    opacity: .48;
}

.sn-intel-seismic em {
    opacity: .62;
}


/* =========================================================
   SITUATIONAL AWARENESS // ACTIVE SCOPE COLOR NORMALIZATION
   Selected scope always inherits the primary SHADOWNET accent.
   Unselected scopes retain their semantic colors.
   ========================================================= */
.sn-situational-awareness .sn-situation-node.is-active,
.sn-situational-awareness .sn-situation-node.is-active .sn-command-node-head,
.sn-situational-awareness .sn-situation-node.is-active .sn-command-node-head strong,
.sn-situational-awareness .sn-situation-node.is-active .sn-command-node-row,
.sn-situational-awareness .sn-situation-node.is-active .sn-command-node-row > span,
.sn-situational-awareness .sn-situation-node.is-active .sn-command-node-row > strong,
.sn-situational-awareness .sn-situation-node.is-active .sn-situation-foot,
.sn-situational-awareness .sn-situation-node.is-active .sn-node-status,
.sn-situational-awareness .sn-situation-node.is-active::after {
    color: var(--sn-accent) !important;
}

.sn-situational-awareness .sn-situation-node.is-active .sn-node-status i {
    background: var(--sn-accent) !important;
    box-shadow: 0 0 8px var(--sn-accent);
}


/* =========================================================
   TRIPCHECK // LIVE DETAIL
   ========================================================= */
.sn-intel-tripcheck small,
.sn-intel-scope-signal > small {
    display: block;
    margin-top: 6px;
    font-size: 8px;
    line-height: 1.45;
    letter-spacing: .09em;
    font-style: normal;
    opacity: .48;
}


/* =========================================================
   NODE TRAFFIC // observed browser transfers
   ========================================================= */
.sn-node-traffic { border:1px solid color-mix(in srgb,var(--sn-accent) 30%,transparent);padding:20px 22px;margin-bottom:24px;background:rgba(0,0,0,.2);min-width:0; }
.sn-traffic-heading,.sn-traffic-graph-heading { display:flex;align-items:center;justify-content:space-between;gap:12px; }
.sn-traffic-heading { border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 20%,transparent);padding-bottom:13px; }
.sn-traffic-kicker,.sn-traffic-graph-heading,.sn-traffic-state {font-size:9px;letter-spacing:.16em;opacity:.65;}
.sn-traffic-heading h2 {margin:5px 0 0;font-size:18px;letter-spacing:.12em;font-weight:500;}
.sn-traffic-link {display:grid;grid-template-columns:minmax(110px,1fr) minmax(100px,2fr) minmax(110px,1fr);align-items:center;gap:18px;padding:22px 0;}
.sn-traffic-node {border:1px solid color-mix(in srgb,var(--sn-accent) 30%,transparent);padding:14px 10px;text-align:center;font-size:11px;letter-spacing:.13em;}
.sn-traffic-node small {display:block;font-size:8px;letter-spacing:.1em;opacity:.55;margin-top:8px;}
.sn-traffic-channel {display:grid;grid-template-rows:auto 2px auto;gap:8px;text-align:center;}
.sn-traffic-flow {font-size:9px;letter-spacing:.14em;opacity:.55;}
.sn-traffic-track {height:2px;background:color-mix(in srgb,var(--sn-accent) 35%,transparent);position:relative;}
.sn-traffic-track i {position:absolute;width:6px;height:6px;left:50%;top:-2px;border-radius:50%;background:var(--sn-accent);opacity:.2;}
.sn-traffic-rx-active .sn-traffic-flow-rx,.sn-traffic-tx-active .sn-traffic-flow-tx {opacity:1;text-shadow:0 0 8px var(--sn-accent);}
.sn-traffic-rx-active .sn-traffic-track i,.sn-traffic-tx-active .sn-traffic-track i {opacity:1;box-shadow:0 0 10px var(--sn-accent);}
.sn-traffic-rx-active .sn-traffic-track i {animation:sn-traffic-rx .7s linear infinite;}
.sn-traffic-tx-active:not(.sn-traffic-rx-active) .sn-traffic-track i {animation:sn-traffic-tx .7s linear infinite;}
@keyframes sn-traffic-rx {from{left:100%}to{left:0}}
@keyframes sn-traffic-tx {from{left:0}to{left:100%}}
.sn-traffic-stats {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.sn-traffic-stats>div {border:1px solid color-mix(in srgb,var(--sn-accent) 17%,transparent);padding:12px;min-width:0;}
.sn-traffic-stats span {display:block;font-size:8px;letter-spacing:.1em;opacity:.55;line-height:1.5;}
.sn-traffic-stats strong {display:block;margin-top:7px;font-size:16px;font-weight:500;overflow-wrap:anywhere;}
.sn-traffic-graph-heading {margin:22px 0 8px;}
.sn-traffic-graph {width:100%;height:80px;display:block;background:color-mix(in srgb,var(--sn-accent) 2%,transparent);}
.sn-traffic-grid {stroke:var(--sn-accent);stroke-width:.5;opacity:.15;fill:none;}
#sn-traffic-rx-line {stroke:var(--sn-accent);stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke;}
#sn-traffic-tx-line {stroke:#f3ad45;stroke-width:1.5;fill:none;vector-effect:non-scaling-stroke;}
.sn-traffic-note {font-size:9px;line-height:1.65;opacity:.55;margin:12px 0 0;}
@media(max-width:700px){.sn-traffic-link{gap:7px;grid-template-columns:minmax(80px,1fr) minmax(55px,1fr) minmax(80px,1fr)}.sn-traffic-node{font-size:9px;padding:10px 5px}.sn-traffic-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(prefers-reduced-motion:reduce){.sn-traffic-track i{animation:none!important}}

/* TASK 07 // SINGLE FIRE DRILL-DOWN // SHADOWNET */
.sn-fire-trigger{appearance:none;display:block;text-align:left;color:inherit;font:inherit;cursor:pointer;background:color-mix(in srgb,var(--sn-accent) 3%,transparent);width:100%;}
.sn-fire-trigger:hover,.sn-fire-trigger:focus-visible{background:color-mix(in srgb,var(--sn-accent) 12%,transparent);outline:1px solid var(--sn-accent);}
.sn-fire-trigger[aria-expanded="true"]{background:color-mix(in srgb,var(--sn-accent) 12%,transparent);border-left-color:var(--sn-accent);}
.sn-fire-map-panel[hidden]{display:none!important;}
.sn-fire-map-panel{margin:12px 0 18px;padding:16px;border:1px solid color-mix(in srgb,var(--sn-accent) 45%,transparent);background:#061014;min-width:0;}
.sn-fire-map-head,.sn-fire-map-toolbar,.sn-fire-map-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.sn-fire-map-head{padding-bottom:12px;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 20%,transparent);}
.sn-fire-map-head strong{font-size:12px;letter-spacing:.14em;font-weight:500;}
.sn-fire-map-head span,.sn-fire-map-foot{font-size:8px;letter-spacing:.1em;opacity:.62;}
.sn-fire-map-toolbar{justify-content:flex-start;padding:12px 0;}
.sn-fire-map-toolbar label{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.1em;cursor:pointer;}
.sn-fire-map-toolbar input{accent-color:var(--sn-accent);}
.sn-fire-map-toolbar label span{opacity:.55;}
.sn-fire-legend-dot{width:8px;height:8px;border-radius:50%;background:#ffad42;}
.sn-fire-legend-diamond{width:8px;height:8px;background:#f26e5e;transform:rotate(45deg);}
#sn-fire-map-reset{margin-left:auto;border:1px solid color-mix(in srgb,var(--sn-accent) 35%,transparent);background:transparent;color:var(--sn-accent);font:inherit;font-size:9px;letter-spacing:.1em;padding:7px 10px;cursor:pointer;}
#sn-fire-map{height:410px;width:100%;background:#08161b;border:1px solid color-mix(in srgb,var(--sn-accent) 20%,transparent);z-index:0;}
.sn-fire-map-foot{padding-top:12px;line-height:1.6;}
.sn-fire-map-panel p{font-size:10px;opacity:.7;}
.sn-fire-map-panel .leaflet-container{background:#07151a;font-family:inherit;}
.sn-fire-map-panel .leaflet-control-zoom a{background:#081a20;color:#6cdbef;border-color:#315764;}
.sn-fire-map-panel .leaflet-popup-content-wrapper,.sn-fire-map-panel .leaflet-popup-tip{background:#071b22;color:#c5e7ec;border:1px solid #327184;border-radius:0;}
.sn-fire-map-panel .leaflet-popup-content{font-size:11px;line-height:1.6;}
.sn-fire-map-panel .leaflet-popup-content strong{color:#52dbf0;letter-spacing:.06em;}
.sn-fire-map-panel .leaflet-control-attribution{background:rgba(3,12,16,.85);color:#a3b8bd;font-size:9px;}
.sn-fire-map-panel .leaflet-control-attribution a{color:#5dd9ed;}
@media(max-width:650px){#sn-fire-map{height:330px}.sn-fire-map-panel{padding:10px}.sn-fire-map-toolbar{gap:10px}#sn-fire-map-reset{margin-left:0}}

/* PASS 06 // ENCOM // apply a single filter to the tile pane, not individual
   images. Satellite points, Oregon boundary, popups and controls remain vivid. */
#sn-fire-map .leaflet-pane.leaflet-tile-pane.sn-encom-tile-pane {
    filter: grayscale(1) invert(1) hue-rotate(180deg) brightness(.52) contrast(1.28) sepia(.18) !important;
}
#sn-fire-map .leaflet-tile-pane .leaflet-tile { filter: none !important; }
#sn-fire-map { background: #061217; }
#sn-fire-map .leaflet-control-zoom a:focus-visible,
#sn-fire-map-reset:focus-visible,
#sn-fire-map-toggle:focus-visible { outline: 2px solid var(--sn-accent); outline-offset: 2px; }

/* TASK 09 // WATCHTOWER // PUBLISHED POLICE ACTIVITY */
.sn-watchtower-police { grid-column: 1 / -1; }
.sn-watchtower-details { margin-top: 12px; }
.sn-watchtower-details summary { cursor: pointer; padding: 11px 12px; border: 1px solid color-mix(in srgb,var(--sn-accent) 35%,transparent); color: var(--sn-accent); font-size: 10px; letter-spacing: .12em; }
.sn-watchtower-details summary:focus-visible { outline: 2px solid var(--sn-accent); outline-offset: 3px; }
.sn-watchtower-source, .sn-watchtower-empty { padding: 12px 0; font-size: 10px; line-height: 1.6; opacity: .65; }
.sn-watchtower-entry { padding: 14px 0; border-top: 1px solid color-mix(in srgb,var(--sn-accent) 17%,transparent); }
.sn-watchtower-entry time { display:block; margin-bottom: 6px; font-size: 9px; letter-spacing: .12em; opacity: .55; }
.sn-watchtower-entry a, .sn-watchtower-index { display: inline-block; color: var(--sn-accent); text-decoration: none; font-size: 12px; line-height: 1.5; }
.sn-watchtower-entry a:hover, .sn-watchtower-index:hover { text-decoration: underline; }
.sn-watchtower-entry p { margin: 7px 0 0; font-size: 11px; line-height: 1.55; opacity: .75; }
.sn-watchtower-index { margin-top: 10px; font-size: 10px; }

/* TASK 09 // PASS 02 // SEPARATE LOGS FROM NEWS */
.sn-watchtower-details + .sn-watchtower-details {margin-top:10px}
.sn-watchtower-filter-label {display:block;margin:14px 0 6px;font-size:9px;letter-spacing:.13em;opacity:.7}
.sn-watchtower-filter {display:block;max-width:100%;padding:9px 12px;background:#06161b;border:1px solid color-mix(in srgb,var(--sn-accent) 45%,transparent);color:var(--sn-accent);font:inherit;font-size:11px;cursor:pointer}
.sn-watchtower-filter:focus-visible {outline:2px solid var(--sn-accent);outline-offset:2px}
.sn-watchtower-note {display:block;margin:9px 0 15px;opacity:.6;font-size:9px;line-height:1.5}
.sn-watchtower-entry[hidden],.sn-watchtower-empty[hidden]{display:none!important}
.sn-watchtower-period,.sn-watchtower-topic {display:block;font-size:9px;letter-spacing:.09em;opacity:.65;margin:4px 0 7px}
.sn-watchtower-topic{color:var(--sn-accent);opacity:.8}

/* SHADOWNET OVERVIEW 3.0 // WP INTEGRATION */
.sn-geo-locator{padding:14px;min-height:0}
.sn-geo-stage{height:450px;min-height:350px;background:radial-gradient(ellipse at center,rgba(22,85,103,.12),transparent 72%)}
.sn-geo-node-stack{pointer-events:none}
.sn-v3-map{position:absolute;inset:0;z-index:8;background:#081923}
.sn-v3-map[hidden]{display:none!important}
.sn-v3-map-label{position:absolute;z-index:9;top:12px;left:12px;padding:7px 10px;font-size:10px;letter-spacing:.13em;border:1px solid var(--sn-line);background:rgba(3,12,18,.85);color:var(--sn-accent);pointer-events:none}
.sn-v3-controls{margin-top:10px;border:1px solid var(--sn-line);padding:12px;background:rgba(6,22,30,.75)}
.sn-v3-control-heading{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--sn-accent);letter-spacing:.1em;margin-bottom:10px}
.sn-v3-control-row{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.sn-v3-control-row button{border:1px solid var(--sn-line);background:rgba(30,88,105,.14);color:var(--sn-accent);padding:8px 10px;cursor:pointer;font:inherit;font-size:11px}
.sn-v3-control-row button.is-active,.sn-v3-control-row button:hover{border-color:var(--sn-accent);background:rgba(54,141,165,.22)}
.sn-v3-layers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.sn-v3-layers label{font-size:10px;cursor:pointer;white-space:nowrap}
.sn-v3-layers input{accent-color:var(--sn-accent)}
.sn-v3-controls p{font-size:10px;line-height:1.5;opacity:.72;margin:10px 0 0}
.sn-v3-map .leaflet-container{background:#071923}
.sn-geo-stage.sn-v3-transition #sn-geo-globe{transform:scale(3.4);opacity:.12;transition:transform .75s ease,opacity .75s ease}
.sn-geo-stage #sn-geo-globe{transition:transform .4s ease,opacity .4s ease;cursor:grab;touch-action:pan-y}
@media(max-width:700px){.sn-v3-layers{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-geo-stage{height:350px;min-height:350px}}
@media(prefers-reduced-motion:reduce){.sn-geo-stage #sn-geo-globe{transition:none!important}}

/* OVERVIEW 3.0 // COMPACT GLOBE CONTROL DECK */
.sn-v3-controls{padding:10px 12px}
.sn-v3-control-heading{margin-bottom:7px}
.sn-v3-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.sn-v3-toolbar .sn-v3-control-row{margin:0;gap:5px}
.sn-v3-scopes{margin-left:auto!important;justify-content:flex-end}
.sn-v3-control-row button{padding:7px 9px}
.sn-v3-layers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:9px}
.sn-v3-layer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;white-space:nowrap;padding:7px 8px;border:1px solid var(--sn-line);background:rgba(10,35,44,.6);color:var(--sn-accent);cursor:pointer;font-size:10px;letter-spacing:.04em}
.sn-v3-layer:has(input:checked){background:rgba(36,111,130,.18);border-color:var(--sn-accent)}
.sn-v3-layer input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;pointer-events:none}
.sn-v3-layer:has(input:focus-visible){outline:2px solid var(--sn-accent);outline-offset:2px}
.sn-v3-switch{position:relative;display:block;flex:0 0 30px;height:16px;border-radius:12px;background:#344f59;border:1px solid #63808a;transition:background .16s}
.sn-v3-switch::after{content:"";position:absolute;left:2px;top:2px;width:10px;height:10px;border-radius:50%;background:#e3f4f5;transition:transform .16s}
.sn-v3-layer input:checked+.sn-v3-switch{background:#237e95;border-color:var(--sn-accent)}
.sn-v3-layer input:checked+.sn-v3-switch::after{transform:translateX(14px)}
.sn-v3-controls #sn-v3-layer-status{margin:7px 0 0;font-size:9px;line-height:1.35;opacity:.68}
@media(max-width:1400px){.sn-v3-layers{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.sn-v3-layers{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-v3-scopes{margin-left:0!important;justify-content:flex-start}}
@media(max-width:500px){.sn-v3-layers{grid-template-columns:repeat(2,minmax(0,1fr))}.sn-v3-control-row button{font-size:10px;padding:7px}}
@media(prefers-reduced-motion:reduce){.sn-v3-switch,.sn-v3-switch::after{transition:none}}

/* SHADOWNET // COMMAND CENTER TELEMETRY 0.5.3 */
.sn-command-top{grid-template-columns:minmax(0,1.95fr) minmax(285px,.65fr);gap:16px;align-items:start}
.sn-telemetry-rail{min-width:0;padding:18px!important}
.sn-telemetry-rail .sn-command-panel-head{margin-bottom:12px}
.sn-tel-identity{display:flex;align-items:center;gap:10px;padding:10px 0 15px;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 20%,transparent)}
.sn-tel-avatar{display:grid;place-items:center;flex:none;width:37px;height:37px;border:1px solid var(--sn-accent);font-weight:700;font-size:12px;letter-spacing:.12em}
.sn-tel-identity strong,.sn-tel-identity small{display:block;overflow-wrap:anywhere}.sn-tel-identity strong{font-size:12px}.sn-tel-identity small{font-size:9px;opacity:.65;margin-top:5px}
.sn-tel-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 13px;margin:10px 0}
.sn-tel-grid>div{min-width:0;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 12%,transparent);padding:9px 0}
.sn-tel-grid span,.sn-tel-rates span{display:block;opacity:.6;font-size:9px;letter-spacing:.08em;margin-bottom:5px}
.sn-tel-grid strong,.sn-tel-rates strong{display:block;font-size:11px;overflow-wrap:anywhere;font-weight:500}
.sn-tel-section-title{display:flex;justify-content:space-between;gap:8px;font-size:9px;letter-spacing:.08em;margin:20px 0 8px}
.sn-tel-section-title strong{font-size:9px;white-space:nowrap}
.sn-tel-graph{width:100%;height:90px;display:block;background:color-mix(in srgb,var(--sn-accent) 3%,transparent)}
.sn-tel-gridlines{stroke:var(--sn-accent);stroke-width:.4;opacity:.2}
#sn-tel-rx-line{fill:none;stroke:var(--sn-accent);stroke-width:1.5;vector-effect:non-scaling-stroke}
#sn-tel-tx-line{fill:none;stroke:#f4b45b;stroke-width:1.4;vector-effect:non-scaling-stroke}
.sn-tel-rates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.sn-tel-disclaimer{font-size:10px;opacity:.6;line-height:1.55;margin:14px 0}
.sn-tel-probe{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0}.sn-tel-probe button{cursor:pointer;background:transparent;border:1px solid var(--sn-accent);color:var(--sn-accent);padding:9px 10px;font:inherit;font-size:10px}.sn-tel-probe span{font-size:10px;opacity:.8}
.sn-tel-details{margin-top:16px;border-top:1px solid color-mix(in srgb,var(--sn-accent) 22%,transparent);padding-top:12px}.sn-tel-details summary{cursor:pointer;font-size:10px;letter-spacing:.12em}.sn-tel-details .sn-session-row{padding:7px 0;grid-template-columns:1fr 1fr;gap:8px}
/* Original full-size transfer monitor remains the measurement engine, visually suppressed after telemetry starts. */
.sn-command-center #sn-node-traffic.sn-tel-source-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;padding:0!important;margin:0!important;border:0!important}
@media(max-width:1100px){.sn-command-top{grid-template-columns:minmax(0,1fr)}}


/* SHADOWNET // Overview 3.0 sidebar telemetry relocation */
.sn-command-center .sn-command-top{display:block;grid-template-columns:none}
.sn-command-center .sn-command-top>.sn-telemetry-rail{display:none}
body.sn-overview-rail-active .sn-os-status .sn-sidebar-legacy{display:none}
body:not(.sn-overview-rail-active) .sn-os-status .sn-sidebar-health,
body:not(.sn-overview-rail-active) .sn-os-status .sn-sidebar-telemetry-slot{display:none}
.sn-os-status .sn-sidebar-telemetry-slot .sn-telemetry-rail{display:block;min-width:0;padding:0!important;border:0;background:transparent;box-shadow:none}
.sn-os-status .sn-sidebar-telemetry-slot .sn-command-panel-head{margin-bottom:10px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-grid{gap:0 9px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-grid>div{padding:7px 0}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-grid span,
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-rates span{font-size:8px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-grid strong{font-size:10px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-graph{height:70px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-identity{padding:6px 0 10px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-section-title{margin-top:12px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-disclaimer{font-size:9px}
.sn-os-status .sn-sidebar-telemetry-slot .sn-tel-probe button{font-size:9px}
.sn-sidebar-health{margin-top:25px;border-top:1px solid var(--sn-line);padding-top:20px}
.sn-sidebar-health .sn-panel-title{margin-bottom:12px}
.sn-rail-source-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 13%,transparent);font-size:10px;letter-spacing:.04em}
.sn-rail-source-row span{min-width:0}
.sn-rail-source-row strong{font-size:9px;text-align:right;overflow-wrap:anywhere;font-weight:500}
.sn-rail-source-row .is-ok{color:#6bdbab}
.sn-rail-source-row .is-unknown{color:#f1b568}
.sn-rail-health-note{font-size:9px;line-height:1.6;opacity:.65;margin-top:13px}

/* REALcreative // clean SVG in global Node Telemetry identity */
.sn-telemetry-rail .sn-tel-avatar{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:54px;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0!important;overflow:visible;}
.sn-telemetry-rail .sn-tel-avatar .sn-tel-logo{display:block;width:48px;height:54px;max-width:100%;object-fit:contain;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;image-rendering:auto;}

/* SHADOWNET // manual internet-path performance monitor */
.sn-speedtest{min-width:0}.sn-speed-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px 10px;margin:12px 0 18px}
.sn-speed-metrics>div{min-width:0;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 20%,transparent);padding:4px 0 10px}
.sn-speed-metrics span{display:block;font-size:9px;letter-spacing:.1em;opacity:.65;margin-bottom:5px}
.sn-speed-metrics strong{font-size:clamp(12px,1.2vw,17px);font-weight:500;color:var(--sn-accent);overflow-wrap:anywhere}
#sn-speed-down-line{fill:none;stroke:var(--sn-accent);stroke-width:1.8;vector-effect:non-scaling-stroke}
#sn-speed-up-line{fill:none;stroke:#e9aa4d;stroke-width:1.8;vector-effect:non-scaling-stroke}
#sn-speed-run:disabled{opacity:.55;cursor:wait}


/* SHADOWNET // Globe cockpit and two coordinate-tracked node leaders */
.sn-geo-stage .sn-v3-cockpit{position:absolute;left:1.2%;top:22%;width:clamp(128px,17%,210px);z-index:7;display:flex;flex-direction:column;gap:10px;pointer-events:auto}
.sn-v3-cockpit-title{font-size:10px;letter-spacing:.15em;color:var(--sn-accent,#40d6f4);opacity:.9}
.sn-v3-cockpit .sn-v3-toolbar{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.sn-v3-cockpit .sn-v3-control-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%;margin:0!important}
.sn-v3-cockpit .sn-v3-control-row button{font-size:10px;letter-spacing:0;min-width:0;width:100%;padding:9px 3px;white-space:normal;line-height:1.3}
.sn-v3-cockpit .sn-v3-rotation button:nth-child(3),.sn-v3-cockpit .sn-v3-scopes button:last-child{grid-column:1/-1}
.sn-v3-cockpit .sn-v3-scopes{padding-top:12px;border-top:1px solid var(--sn-line);justify-content:stretch!important}
.sn-v3-node-leaders{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.sn-geo-node-stack{z-index:5}
@media(max-width:900px){.sn-geo-stage .sn-v3-cockpit{top:17%;width:135px}.sn-v3-cockpit .sn-v3-control-row button{font-size:9px;padding:6px 2px}}
@media(max-width:650px){.sn-geo-stage .sn-v3-cockpit{position:relative;left:auto;top:auto;width:auto;margin:8px;max-width:100%;background:rgba(0,12,19,.88);padding:8px}.sn-v3-cockpit .sn-v3-toolbar{flex-direction:row;flex-wrap:wrap}.sn-v3-cockpit .sn-v3-control-row{flex:1;min-width:125px}.sn-v3-node-leaders{display:none}.sn-geo-stage{height:auto!important;min-height:350px!important}.sn-geo-stage #sn-geo-globe{height:350px!important}}

/* SHADOWNET // same geographic scope controls in 3D and 2D. */
.sn-geo-stage .sn-v3-map-navigation{position:absolute;right:14px;top:12px;z-index:1100;max-width:calc(100% - 28px);padding:0;background:rgba(2,17,25,.94);box-shadow:0 0 12px rgba(0,0,0,.4)}
.sn-geo-stage .sn-v3-map-navigation[hidden]{display:none!important}
.sn-v3-map-navigation .sn-v3-scopes{display:flex!important;flex-wrap:wrap;gap:5px!important;margin:0!important;padding:5px!important;border:1px solid var(--sn-line)!important;justify-content:flex-end!important}
.sn-v3-map-navigation .sn-v3-scopes button{width:auto!important;min-width:0!important;padding:8px 10px!important;font-size:10px!important;white-space:nowrap!important;line-height:1.3!important;grid-column:auto!important}
@media(max-width:650px){.sn-geo-stage .sn-v3-map-navigation{top:8px;right:8px;left:8px;max-width:none}.sn-v3-map-navigation .sn-v3-scopes{justify-content:center!important}.sn-v3-map-navigation .sn-v3-scopes button{font-size:9px!important;padding:7px 5px!important}}

/* SHADOWNET // stable cockpit, direct regional map transitions */
.sn-geo-stage .sn-v3-cockpit{z-index:1200!important}
.sn-geo-stage.sn-v3-map-active .sn-v3-cockpit{background:rgba(2,17,25,.87);padding:10px;border:1px solid var(--sn-line);box-sizing:border-box}
.sn-geo-stage.sn-v3-map-active .sn-v3-cockpit .sn-v3-scopes{display:grid!important}
.sn-geo-stage.sn-v3-map-active .sn-v3-node-leaders{display:none}
.sn-geo-stage.sn-v3-map-active .sn-geo-node-stack{visibility:hidden;pointer-events:none}
.sn-geo-stage.sn-v3-map-active .sn-v3-map-label{left:auto;right:12px;max-width:55%;text-align:right}
/* No interim globe zoom animation during map-to-map scope changes. */
.sn-geo-stage.sn-v3-map-active #sn-geo-globe{transition:none!important}

/* SHADOWNET // TACTICAL CARTOGRAPHY — 2D geographic map only.
   Base tiles use OpenStreetMap without a key; filter applies ONLY to tile imagery. */
.sn-v3-map, .sn-v3-map.leaflet-container { background:#030e16 !important; }
.sn-v3-map .leaflet-control-zoom {border:1px solid #1d6378 !important;box-shadow:0 0 15px rgba(0,192,230,.09) !important;border-radius:0 !important;overflow:hidden;}
.sn-v3-map .leaflet-control-zoom a {background:#061d29 !important;color:#65dbf2 !important;border-bottom:1px solid #1b5263 !important;border-radius:0 !important;font-family:inherit !important;}
.sn-v3-map .leaflet-control-zoom a:hover,.sn-v3-map .leaflet-control-zoom a:focus-visible {background:#103a4b !important;color:#c5f8ff !important;}
.sn-v3-map .leaflet-control-attribution {background:rgba(2,14,21,.88) !important;color:#789fac !important;font-size:10px !important;padding:3px 6px !important;}
.sn-v3-map .leaflet-control-attribution a {color:#62cfe7 !important;}
.sn-geo-stage.sn-v3-map-active .sn-v3-map-label {border-color:#24677c !important;background:rgba(2,16,25,.94) !important;color:#68d8f1 !important;box-shadow:0 0 12px rgba(0,189,228,.09);}

/* Tactical darkening of base-map imagery only. Leaflet overlays, controls and incident markers stay unfiltered. */
/* Standard OpenStreetMap raster tiles: subdued tactical treatment with less crushing of land/water contrast. */
.sn-v3-map .leaflet-tile-pane {filter: grayscale(.75) invert(1) hue-rotate(180deg) brightness(.76) contrast(1.08) sepia(.08) !important;}
.sn-v3-map .leaflet-overlay-pane,.sn-v3-map .leaflet-marker-pane,.sn-v3-map .leaflet-shadow-pane,.sn-v3-map .leaflet-tooltip-pane,.sn-v3-map .leaflet-popup-pane {filter:none !important;}

/* SHADOWNET 2D // Static weather markers */
.sn-v3-map .sn-v3-weather-icon{background:transparent;border:0;}
.sn-v3-weather-icon span,.sn-v3-weather-icon strong{display:inline-block;vertical-align:middle;}
.sn-v3-weather-icon{white-space:nowrap;text-align:center;line-height:29px;background:rgba(2,22,32,.94)!important;border:1px solid #36b8d3!important;border-radius:4px;color:#7ce9fb!important;box-shadow:0 2px 10px #000a;font-family:monospace;}
.sn-v3-weather-icon .sn-v3-weather-glyph{font-size:16px;margin-right:4px;color:#f5d077;}
.sn-v3-weather-icon strong{font-size:14px;letter-spacing:.02em;}

/* SHADOWNET WEATHER // legible location-by-location intelligence */
.sn-v3-controls .sn-v3-intelligence-list{display:flex;flex-direction:column;gap:0;min-width:0;margin-top:12px;}
.sn-v3-controls .sn-v3-weather-reading{display:grid;grid-template-columns:minmax(145px,1.3fr) minmax(70px,.5fr) minmax(130px,1.15fr) minmax(115px,.8fr) minmax(120px,.85fr) minmax(180px,1.3fr);column-gap:18px;row-gap:5px;align-items:center;padding:11px 12px;border-bottom:1px solid rgba(67,179,204,.17);font-size:12px;line-height:1.5;min-width:0;}
.sn-v3-controls .sn-v3-weather-reading:nth-child(even){background:rgba(26,91,108,.09);}
.sn-v3-controls .sn-v3-weather-reading span{display:block;min-width:0;overflow-wrap:anywhere;}
.sn-v3-controls .sn-v3-weather-city{font-weight:700;letter-spacing:.045em;color:var(--sn-accent);}
.sn-v3-controls .sn-v3-weather-temp{font-weight:700;font-size:15px;color:var(--sn-accent);white-space:nowrap;}
.sn-v3-controls .sn-v3-weather-condition{font-weight:600;}
.sn-v3-controls .sn-v3-weather-wind,.sn-v3-controls .sn-v3-weather-humidity,.sn-v3-controls .sn-v3-weather-time{font-size:11px;letter-spacing:.015em;}
.sn-v3-controls .sn-v3-weather-time{opacity:.75;}
.sn-v3-controls .sn-v3-weather-alert-summary{margin-top:15px;padding:14px 12px;border-top:1px solid var(--sn-line);background:rgba(19,69,84,.17);}
.sn-v3-controls .sn-v3-weather-alert-summary .sn-v3-intel-entry{display:flex;align-items:center;gap:14px;flex-wrap:wrap;line-height:1.7;}
.sn-v3-controls .sn-v3-weather-alert-summary a{margin-left:auto;}
@media(max-width:1150px){.sn-v3-controls .sn-v3-weather-reading{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 16px;}.sn-v3-controls .sn-v3-weather-time{grid-column:span 2;}}
@media(max-width:650px){.sn-v3-controls .sn-v3-weather-reading{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 8px;}.sn-v3-controls .sn-v3-weather-time{grid-column:1/-1;}}

/* SHADOWNET // NWS Weather Alert Intelligence v3 */
.sn-v3-controls .sn-v3-nws-panel{margin-top:22px;padding:16px;border:1px solid rgba(70,188,212,.32);background:rgba(4,23,34,.66);min-width:0;}
.sn-v3-nws-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;color:var(--sn-accent);letter-spacing:.07em;}
.sn-v3-nws-heading small{font-size:11px;opacity:.7;}
.sn-v3-nws-alert{border-left:3px solid var(--sn-alert-color,#7ce9fb);border-top:1px solid rgba(77,160,178,.24);background:rgba(10,45,57,.38);margin:9px 0;}
.sn-v3-nws-alert-title{cursor:pointer;padding:12px 15px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;line-height:1.5;}
.sn-v3-nws-alert-title strong{color:var(--sn-alert-color);font-size:13px;}
.sn-v3-nws-alert-title small{font-size:11px;opacity:.82;max-width:70%;overflow-wrap:anywhere;}
.sn-v3-nws-alert-body{padding:0 15px 16px;display:flex;flex-direction:column;gap:10px;line-height:1.65;font-size:12px;min-width:0;}
.sn-v3-nws-alert-body strong{color:var(--sn-accent);}
.sn-v3-nws-prose{white-space:pre-line;overflow-wrap:anywhere;max-width:100%;}
.sn-v3-nws-unmapped{font-size:11px;opacity:.7;}
.sn-v3-nws-alert-body a{align-self:flex-start;color:#6ce4fb;text-decoration:underline;}
@media(max-width:700px){.sn-v3-nws-alert-title{display:block;}.sn-v3-nws-alert-title small{display:block;max-width:100%;margin-top:5px;}}

/* SHADOWNET // TRAFFIC INTELLIGENCE v1 */
.sn-v3-traffic-marker{background:transparent;border:0}.sn-v3-traffic-marker span{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--sn-traffic-accent);border-radius:6px;background:#06141de8;color:var(--sn-traffic-accent);font:700 17px/1 monospace;box-shadow:0 0 12px #0009}.sn-v3-traffic-panel{display:grid;gap:10px;min-width:0;margin:14px 0;padding:14px;border:1px solid #1c6175;background:#03121bcc;color:#7ad9ed}.sn-v3-traffic-heading{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:baseline;justify-content:space-between;border-bottom:1px solid #225368;padding-bottom:10px}.sn-v3-traffic-heading small,.sn-v3-traffic-footnote{color:#83a4b0;font-size:11px}.sn-v3-traffic-event{display:grid;gap:5px;width:100%;min-width:0;padding:12px;text-align:left;background:#071e29;border:1px solid #1d4757;border-left:3px solid var(--sn-traffic-accent);color:#a7e8f4;cursor:pointer;font:inherit;white-space:normal;overflow-wrap:anywhere}.sn-v3-traffic-event:hover,.sn-v3-traffic-event:focus-visible{background:#10303b;border-color:var(--sn-traffic-accent)}.sn-v3-traffic-event-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--sn-traffic-accent)}.sn-v3-traffic-event small{color:#91aeba;line-height:1.45}.sn-v3-traffic-panel>a{color:#65d5f5;justify-self:start}

/* SHADOWNET // SITUATIONAL AWARENESS 2.0 // COMPACT PRIORITY HEADER */
.sn-situational-awareness .sn-sa-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sn-situational-awareness .sn-sa-tabs {display:flex;flex-wrap:wrap;gap:5px;margin:0;min-width:0}
.sn-situational-awareness .sn-sa-tabs .sn-situation-node {width:auto;min-width:0;padding:10px 12px;font:inherit;font-size:10px;letter-spacing:.09em;line-height:1.2;color:var(--sn-accent);border:1px solid color-mix(in srgb,var(--sn-accent) 26%,transparent);background:transparent;cursor:pointer}
.sn-situational-awareness .sn-sa-tabs .sn-situation-node.is-active {background:color-mix(in srgb,var(--sn-accent) 16%,transparent);border-color:var(--sn-accent);font-weight:700}
.sn-situational-awareness .sn-sa-tabs .sn-situation-node::after {display:none}
.sn-sa-alert-trigger {display:inline-flex;align-items:center;gap:8px;white-space:nowrap;cursor:pointer;padding:9px 11px;border:1px solid color-mix(in srgb,var(--sn-accent) 28%,transparent);background:transparent;color:var(--sn-accent);font:inherit;font-size:10px;letter-spacing:.06em}
.sn-sa-alert-trigger.is-critical {color:#ff5c5c;border-color:#c33;background:rgba(180,0,0,.10)}
.sn-sa-alert-trigger.is-warning {color:#ffb04c;border-color:#b77c2c}
.sn-sa-alert-trigger:hover,.sn-sa-alert-trigger:focus-visible,.sn-sa-tabs button:focus-visible {outline:2px solid currentColor;outline-offset:2px}
.sn-sa-summary {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--sn-accent) 22%,transparent);font-size:10px;letter-spacing:.07em;color:var(--sn-accent)}
.sn-sa-summary>span:nth-child(2) {opacity:.6}
.sn-sa-summary button {font:inherit;color:var(--sn-accent);background:transparent;border:1px solid color-mix(in srgb,var(--sn-accent) 45%,transparent);padding:8px 10px;cursor:pointer}
.sn-sa-dialog[hidden] {display:none!important}
.sn-sa-dialog {position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:20px}
.sn-sa-dialog-backdrop {position:absolute;inset:0;background:rgba(0,0,0,.84)}
.sn-sa-dialog-content {position:relative;width:min(760px,100%);max-height:88vh;overflow:auto;overscroll-behavior:contain;padding:24px;background:#080c10;border:1px solid var(--sn-accent);color:var(--sn-accent);box-shadow:0 0 40px rgba(0,0,0,.7)}
.sn-sa-detail-content {width:min(1250px,100%)}
.sn-sa-dialog-head {display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 30%,transparent);padding-bottom:14px}
.sn-sa-dialog-head small {font-size:9px;letter-spacing:.15em;opacity:.6}
.sn-sa-dialog-head h3 {margin:6px 0 0;font-size:16px;letter-spacing:.1em}
.sn-sa-dialog-head button {font:inherit;font-size:18px;cursor:pointer;background:transparent;color:inherit;border:1px solid currentColor;padding:5px 10px}
.sn-sa-source-note {font-size:11px;line-height:1.6;opacity:.8}
.sn-sa-alert-item {padding:14px 0;border-bottom:1px solid color-mix(in srgb,var(--sn-accent) 22%,transparent);font-size:12px}
.sn-sa-alert-item small {display:block;opacity:.65;margin-top:7px}
.sn-sa-alert-item a,.sn-sa-dialog-content>a {display:inline-block;margin:12px 16px 0 0;color:inherit;font-size:11px}
body.sn-sa-modal-open {overflow:hidden}
.sn-sa-detail-content .sn-situational-detail {border:0;padding:0;background:transparent;box-shadow:none}
@media(max-width:700px){.sn-sa-toolbar{align-items:stretch!important}.sn-sa-alert-trigger{margin-left:auto}.sn-sa-summary>span:nth-child(2){display:none}.sn-sa-dialog{padding:8px}.sn-sa-dialog-content{padding:14px;max-height:94vh}}

/* EARTH TELEMETRY // source labels beside headings only.
   Scoped to telemetry metric buttons; no map or LOCAL NODE rules. */
.sn-earth-metrics > .sn-earth-metric {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  column-gap: 12px !important;
  align-content: start !important;
}
.sn-earth-metrics > .sn-earth-metric > span {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.sn-earth-metrics > .sn-earth-metric > em {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: baseline !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.sn-earth-metrics > .sn-earth-metric > strong,
.sn-earth-metrics > .sn-earth-metric > small {
  grid-column: 1 / -1 !important;
}
.sn-earth-metrics > .sn-earth-metric > strong { grid-row: 2 !important; }
.sn-earth-metrics > .sn-earth-metric > small { grid-row: 3 !important; }
