/* === xnova-tokens.css === */

/* X Nova 0.8 — D1 semantic token authority.
   These tokens are additive so legacy rendering remains stable while new/refactored
   components gain one vocabulary. Do not redefine historical --bg/--panel tokens here. */
:root {
    --xn-space-1:4px;
    --xn-space-2:8px;
    --xn-space-3:12px;
    --xn-space-4:16px;
    --xn-space-5:24px;
    --xn-space-6:32px;
    --xn-radius-sm:4px;
    --xn-radius-md:8px;
    --xn-radius-lg:12px;
    --xn-control-min:36px;
    --xn-touch-target:44px;
    --xn-focus-ring:0 0 0 2px rgba(53,194,255,.34);
    --xn-layer-nav:20;
    --xn-layer-notice:30;
    --xn-layer-modal:50;
    --xn-content-max:1920px;
}

/* X Nova 0.10 — D3 workstation convergence tokens. */
:root {
    --xn-surface-0:#02070d;
    --xn-surface-1:rgba(5,16,27,.94);
    --xn-surface-2:rgba(8,24,39,.92);
    --xn-surface-3:rgba(11,31,49,.88);
    --xn-line-soft:rgba(92,181,226,.16);
    --xn-line-mid:rgba(83,194,244,.30);
    --xn-line-hot:rgba(91,212,255,.58);
    --xn-cyan:#58d6ff;
    --xn-cyan-soft:#9aeaff;
    --xn-green:#61dca3;
    --xn-amber:#f0c96b;
    --xn-red:#ff6d83;
    --xn-text-strong:#eef9ff;
    --xn-text-body:#c5dceb;
    --xn-text-muted:#7594a9;
    --xn-shadow-panel:0 16px 42px rgba(0,0,0,.28);
    --xn-shadow-float:0 22px 64px rgba(0,0,0,.38);
    --xn-grid-line:rgba(76,177,224,.055);
    --xn-panel-pad:clamp(14px,1.3vw,22px);
    --xn-gap:clamp(10px,1vw,16px);
}

/* X Nova 0.23 — D18 canonical responsive geometry tokens. */
:root {
    --xn-shell-left-fluid:clamp(208px,calc(154px + 3.75vw),226px);
    --xn-shell-right-fluid:clamp(250px,calc(90px + 12.5vw),300px);
    --xn-header-inline-fluid:clamp(12px,1.5vw,24px);
    --xn-header-gap-fluid:clamp(10px,1.25vw,22px);
    --xn-stage-pad-fluid:clamp(10px,1.15vw,18px);
    --xn-body-pad-fluid:clamp(12px,1.25vw,20px);
}

/* X Nova 0.24 — D19 canonical motion vocabulary.
   Values preserve certified timings; semantics replace scattered duration literals. */
:root {
    --xn-motion-micro:.12s;
    --xn-motion-quick:.14s;
    --xn-motion-fast:.16s;
    --xn-motion-standard:.18s;
    --xn-motion-emphasis:.22s;
    --xn-motion-progress:.48s;
    --xn-ease-standard:ease;
    --xn-ease-progress:cubic-bezier(.2,.75,.25,1);
}

/* X Nova 0.25 — D20 canonical typography and editorial vocabulary.
   Semantic aliases preserve certified geometry while removing literal type decisions
   from component/domain authorities. Ultra-compact telemetry remains domain-owned. */
:root {
    --xn-type-display:clamp(44px,7vw,92px);
    --xn-type-page:clamp(32px,4vw,62px);
    --xn-type-page-compact:clamp(28px,3.3vw,54px);
    --xn-type-page-command:clamp(30px,4vw,58px);
    --xn-type-page-commerce:clamp(38px,5vw,70px);
    --xn-type-page-feed:clamp(36px,4.8vw,68px);
    --xn-type-page-admin:clamp(38px,5vw,72px);
    --xn-type-section:22px;
    --xn-type-card-title:18px;
    --xn-type-control:11px;
    --xn-type-body:13px;
    --xn-type-body-sm:12px;
    --xn-type-meta:10px;
    --xn-type-micro:9px;
    --xn-type-telemetry:8px;
    --xn-type-display-leading:.98;
    --xn-type-body-leading:1.45;
    --xn-tracking-display:-.045em;
    --xn-tracking-heading:-.022em;
    --xn-tracking-label:.13em;
    --xn-tracking-eyebrow:.19em;
    --xn-tracking-control:.055em;
    --xn-icon-inline:1em;
    --xn-icon-control:18px;
}

/* === xnova-foundation.css === */

/* ===== app.css ===== */
:root {
    --bg:#050912;
    --panel:rgba(10,24,43,.91);
    --panel2:#0e2036;
    --line:#1f4968;
    --accent:#35c2ff;
    --accent2:#8be8ff;
    --text:#dceeff;
    --muted:#7696ad;
    --ok:#52d69a;
    --danger:#ff627e
}
* {
    box-sizing:border-box
}
html,body {
    margin:0;
    min-height:100%;
    font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;
    background:radial-gradient(circle at 70% 0,#0b2340 0,#050912 45%,#02050a 100%);
    color:var(--text)
}
a {
    color:var(--accent2);
    text-decoration:none
}
.stars {
    position:fixed;
    inset:0;
    pointer-events:none;
    opacity:.25;
    background-image:radial-gradient(#fff 1px,transparent 1px);
    background-size:37px 37px
}
.topbar {
    height:64px;
    position:sticky;
    top:0;
    z-index:20;
    display:flex;
    align-items:center;
    gap:28px;
    padding:0 22px;
    background:rgba(3,9,17,.92);
    backdrop-filter:blur(14px);
    border-bottom:1px solid #15334c
}
.brand {
    font-size:20px;
    letter-spacing:2px;
    color:#fff
}
.brand b {
    color:var(--accent)
}
.topbar nav {
    display:flex;
    gap:18px;
    flex:1
}
.shell {
    display:grid;
    grid-template-columns:220px minmax(0,1fr);
    max-width:1500px;
    margin:auto
}
.sidebar {
    min-height:calc(100vh - 64px);
    padding:24px 14px;
    border-right:1px solid #142d42;
    display:flex;
    flex-direction:column;
    gap:6px
}
.sidebar a {
    padding:12px 14px;
    border-radius:8px;
    color:#a9c5d8
}
.sidebar a:hover {
    background:#0d2137;
    color:#fff
}
.content {
    padding:24px;
    min-width:0
}
.resources {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:18px
}
.resources>div,.panel,.tech,.cards article,.messages article {
    background:linear-gradient(180deg,rgba(16,39,65,.95),rgba(8,19,34,.95));
    border:1px solid #1b4767;
    box-shadow:0 8px 28px #0006;
    border-radius:10px
}
.resources>div {
    padding:13px 16px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center
}
.resources span {
    color:var(--muted);
    font-size:var(--xn-type-body-sm);
    text-transform:uppercase;
    letter-spacing:1px
}
.resources b {
    font-size:var(--xn-type-card-title)
}
.resources small {
    grid-column:2;
    color:var(--ok)
}
.hero {
    min-height:250px;
    padding:36px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    overflow:hidden;
    border:1px solid #205175;
    border-radius:12px;
    background:linear-gradient(90deg,rgba(11,28,49,.98),rgba(11,32,55,.5)),radial-gradient(circle at 80% 50%,#174c74,transparent 40%)
}
.hero.mini {
    min-height:160px
}
.hero h1 {
    font-size:42px;
    margin:8px 0
}
.eyebrow {
    color:var(--accent);
    font-size:var(--xn-type-body-sm);
    letter-spacing:1.4px
}
.planet-orb {
    width:190px;
    height:190px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#87ddff 0,#236b96 22%,#102d49 55%,#050910 75%);
    box-shadow:0 0 70px #28bfff55,inset -30px -20px 45px #000
}
.grid {
    display:grid;
    gap:14px
}
.cards {
    grid-template-columns:repeat(3,1fr);
    margin-top:16px
}
.cards article {
    padding:20px
}
.tech-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(220px,1fr));
    gap:12px
}
.tech {
    padding:18px
}
.tech h3 {
    margin:0 0 8px
}
.tech form {
    display:flex;
    gap:8px;
    align-items:center
}
.panel {
    padding:20px;
    margin-bottom:16px
}
button {
    border:1px solid #2a8ec1;
    background:linear-gradient(#168bc2,#0c608f);
    color:#fff;
    border-radius:6px;
    padding:10px 16px;
    font-weight:700;
    cursor:pointer
}
button:hover {
    filter:brightness(1.15)
}
button.ghost {
    background:transparent;
    border-color:#31556c
}
input,select,textarea {
    width:100%;
    border:1px solid #25506e;
    background:#071523;
    color:#dbeeff;
    border-radius:6px;
    padding:10px
}
.qty {
    max-width:90px
}
.fleet-form {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:10px;
    align-items:end
}
.stack {
    display:grid;
    gap:10px
}
.stack textarea {
    min-height:120px
}
.table-wrap {
    overflow:auto;
    border:1px solid #173c58;
    border-radius:8px
}
table {
    width:100%;
    border-collapse:collapse;
    background:#081521
}
th,td {
    padding:12px;
    border-bottom:1px solid #163249;
    text-align:left;
    white-space:nowrap
}
th {
    color:#80cceb;
    background:#0d2134
}
.messages {
    display:grid;
    gap:10px
}
.messages article {
    padding:16px
}
.messages small {
    display:block;
    color:var(--muted);
    margin-top:4px
}
.auth-card {
    width:min(440px,calc(100% - 32px));
    margin:12vh auto;
    padding:32px;
    border:1px solid #245b7e;
    border-radius:14px;
    background:rgba(7,20,34,.94);
    box-shadow:0 20px 80px #000
}
.auth-card form {
    display:grid;
    gap:14px
}
.auth-card label {
    display:grid;
    gap:6px;
    color:#9fbdd1
}
.flash {
    position:fixed;
    z-index:30;
    right:20px;
    top:80px;
    padding:12px 16px;
    border-radius:8px;
    background:#132c40;
    border:1px solid #326382
}
.flash.error {
    border-color:#a7334a
}
.flash.success {
    border-color:#2e8a67
}
.mobile-nav {
    display:none
}
@media(max-width:900px) {
    .topbar nav,.sidebar {
        display:none
    }
    .shell {
        display:block
    }
    .content {
        padding:14px 12px 78px
    }
    .tech-grid,.cards {
        grid-template-columns:repeat(2,1fr)
    }
    .fleet-form {
        grid-template-columns:repeat(2,1fr)
    }
    .mobile-nav {
        position:fixed;
        display:flex;
        z-index:20;
        bottom:0;
        left:0;
        right:0;
        height:62px;
        background:#06111def;
        border-top:1px solid #20445f;
        justify-content:space-around;
        align-items:center;
        font-size:var(--xn-type-section)
    }
    .hero {
        min-height:200px;
        padding:24px
    }
    .hero h1 {
        font-size:30px
    }
    .planet-orb {
        width:120px;
        height:120px
    }

}
@media(max-width:560px) {
    .topbar {
        height:54px;
        padding:0 12px
    }
    .content {
        padding-top:10px
    }
    .resources {
        grid-template-columns:1fr
    }
    .resources>div {
        padding:8px 12px
    }
    .tech-grid,.cards {
        grid-template-columns:1fr
    }
    .hero {
        padding:20px
    }
    .planet-orb {
        width:90px;
        height:90px
    }
    .fleet-form {
        grid-template-columns:1fr 1fr
    }
    .fleet-form button {
        grid-column:1/-1
    }
    .brand {
        font-size:16px
    }

}

.fleet-units {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,minmax(180px,1fr));
    gap:8px
}
.fleet-cargo {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px
}
@media(max-width:900px) {
    .fleet-units {
        grid-template-columns:repeat(2,1fr)
    }
    .fleet-cargo {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:560px) {
    .fleet-units,.fleet-cargo {
        grid-template-columns:1fr
    }

}

.grid2 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px
}
.coords {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}
.muted {
    opacity:.72
}
.table {
    width:100%;
    border-collapse:collapse
}
.table th,.table td {
    padding:10px;
    border-bottom:1px solid #1b3950;
    text-align:left
}
pre {
    white-space:pre-wrap;
    overflow:auto
}
@media(max-width:780px) {
    .grid2 {
        grid-template-columns:1fr
    }

}

.rank-editor {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:.5rem;
    padding:1rem;
    border-top:1px solid rgba(255,255,255,.08)
}
.rank-editor input[type=text],.rank-editor>input:not([type]) {
    grid-column:1/-1
}
.row {
    display:flex;
    gap:.5rem;
    align-items:center;
    flex-wrap:wrap;
    padding:.5rem 0;
    border-bottom:1px solid rgba(255,255,255,.06)
}

/* === xnova.css === */

/* X Nova legacy visual layers. D1 authority: new shared rules belong in xnova-system.css; preserve cascade order. */
/* v7.16 Empire Command Center & multi-planet UX */
.planet-context {
    display:flex;
    gap:12px;
    
    justify-content:space-between;
    
}
.planet-switcher {
    display:flex;


}
.planet-switcher label {
    
    
    flex:1;
    color:var(--muted);
    
    text-transform:uppercase;
    
}
.ghost-link {
    border:1px solid #31556c;
    border-radius:6px;
    
    color:#a9dfff
}
.danger {
    border-color:#8f354d!important;
    background:linear-gradient(180deg,rgba(70,20,36,.94),rgba(31,12,23,.94))!important
}
.command-alert h2 {
    color:#ff9bae
}
.command-kpis article strong {
    font-size:28px
}
.empire-planets {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:10px
}
.empire-planet {
    margin:0
}
.empire-planet .planet-button {
    width:100%;
    min-height:105px;
    text-align:left;
    display:grid;
    gap:5px;
    background:linear-gradient(180deg,#0b2942,#081a2c);
    border-color:#1d5477
}
.empire-planet.active .planet-button {
    border-color:#50c9ff;
    box-shadow:0 0 0 1px #50c9ff55 inset,0 0 24px #36bfff22
}
.planet-button span,.planet-button small {
    font-weight:400;
    color:#9fc4da
}
.mission-origin {
    padding:12px 16px
}
.action-links {
    white-space:nowrap
}
@media(max-width:700px) {
    .planet-context {
        display:grid
    }
    .planet-switcher {
        min-width:0;
        width:100%
    }
    .ghost-link {
        text-align:center
    }
    .empire-planets {
        grid-template-columns:1fr
    }

}
/* v7.17 Fleet Operations UX */
.fleet-full {
    grid-column:1/-1
}
.unit-picker {
    display:grid;
    
    
}
.unit-picker label {
    display:grid;
    
}
.unit-picker small,.fleet-preview span,.preset-list small {
    color:var(--muted);
    display:block
}
.cargo-grid,.preview-grid {
    display:grid;
    
    
}
.fleet-actions,.preset-save {
    display:flex;
    gap:10px;
    align-items:center
}
.preset-save input {
    max-width:360px
}
.preview-head,.section-head,.preset-list article,.guidance-list article {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px
}
.preview-grid article {
    
    background:#071523;
    border:1px solid #1a405b;
    
    display:grid;
    gap:4px
}

.risk {
    
    border:1px solid #31556c;
    
}
.danger-text {
    color:#ff9aad
}
.route-options {
    padding:8px 0
}
.preset-list,.guidance-list {
    display:grid;
    gap:9px
}
.preset-list article,.guidance-list article {
    
    border:1px solid #173c58;
    
    background:#081521
}
.preset-actions {
    display:flex;
    gap:8px;
    align-items:center
}
.preset-actions form {
    margin:0
}
.button-link {
    display:inline-block;
    border:1px solid #2a8ec1;
    background:linear-gradient(#168bc2,#0c608f);
    color:#fff;
    border-radius:6px;
    padding:9px 14px;
    font-weight:700
}
.guidance-list p {
    margin:5px 0;
    color:#9fbdd1
}

@media(max-width:900px) {
    .preview-grid,.cargo-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:560px) {
    .unit-picker,.preview-grid,.cargo-grid {
        grid-template-columns:1fr
    }
    .fleet-actions,.preset-save,.preview-head,.section-head,.preset-list article,.guidance-list article {
        align-items:stretch;
        flex-direction:column
    }
    .preset-save input {
        max-width:none
    }

}

/* v7.18 Strategic Operations Awareness + responsive visual system */
:root {
    --surface-glass:rgba(8,20,35,.82);
    --surface-elevated:rgba(13,34,56,.96);
    --warning:#ffbc62;
    --critical:#ff627e;
    --info:#67d6ff;
    
    
}
body {
    overflow-x:hidden
}

.panel,.hero,.resources>div,.tech,.cards article,.messages article {
    border-radius:var(--radius-md)
}

.topbar nav a {
    position:relative;
    
}
.sidebar {
    position:sticky;
    
    
    overflow:auto;
    scrollbar-width:thin
}
.sidebar a {
    transition:background var(--xn-motion-fast) ease,transform var(--xn-motion-fast) ease,color var(--xn-motion-fast) ease
}
.ops-hero {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    padding:28px 30px;
    margin-bottom:14px;
    border:1px solid #24658b;
    border-radius:var(--radius-lg);
    background:linear-gradient(120deg,rgba(8,27,48,.98),rgba(10,55,78,.68)),radial-gradient(circle at 85% 25%,#1c7490aa,transparent 38%);
    box-shadow:0 20px 60px #0007;
    overflow:hidden
}
.ops-hero h1 {
    font-size:clamp(28px,4vw,46px);
    margin:5px 0
}
.ops-hero p {
    max-width:720px;
    color:#a9c9dc
}
.ops-pulse {
    width:132px;
    height:132px;
    flex:0 0 132px;
    border-radius:50%;
    display:grid;
    place-content:center;
    text-align:center;
    border:1px solid #4ed7ff66;
    background:radial-gradient(circle,#163d58,#081927 68%);
    box-shadow:0 0 0 12px #42cfff0a,0 0 48px #42cfff22
}
.ops-pulse strong {
    font-size:38px
}
.ops-pulse span {
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--muted)
}
.ops-status-strip {
    display:grid;
    grid-template-columns:repeat(5,minmax(120px,1fr));
    gap:10px;
    margin-bottom:16px
}
.status-chip {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    background:var(--surface-glass);
    border:1px solid #214863;
    border-radius:999px
}
.status-chip span {
    font-size:12px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.65px
}
.status-chip strong {
    font-size:20px
}
.status-chip.critical {
    border-color:#a94158;
    background:#3b1421cc
}
.status-chip.warning {
    border-color:#8d672e;
    background:#392a13cc
}
.operations-timeline {
    display:grid;
    gap:8px;
    margin-top:16px
}
.timeline-item {
    position:relative;
    display:grid;
    grid-template-columns:12px minmax(0,1fr) auto;
    gap:14px;
    align-items:center;
    padding:13px 14px;
    border:1px solid #193d57;
    border-radius:10px;
    background:#071522
}
.timeline-marker {
    width:10px;
    height:10px;
    border-radius:50%;
    background:var(--info);
    box-shadow:0 0 16px currentColor
}
.severity-critical .timeline-marker {
    background:var(--critical)
}
.severity-warning .timeline-marker {
    background:var(--warning)
}
.severity-progress .timeline-marker {
    background:var(--ok)
}
.timeline-copy {
    display:grid;
    gap:3px;
    min-width:0
}
.timeline-copy p {
    margin:0;
    color:#a7bfd0;
    overflow:hidden;
    text-overflow:ellipsis
}
.timeline-time {
    display:grid;
    justify-items:end;
    gap:5px;
    min-width:128px
}
.timeline-time time,[data-countdown] {
    font-variant-numeric:tabular-nums;
    font-weight:800;
    color:#dff6ff
}
.timeline-time a {
    font-size:12px
}
.countdown-urgent {
    color:#ff92a7!important
}
.countdown-due {
    color:var(--warning)!important
}
.strategic-map {
    overflow:hidden
}
.galaxy-fronts {
    display:grid;
    grid-template-columns:repeat(3,minmax(260px,1fr));
    gap:12px;
    margin-top:16px
}
.galaxy-front {
    border:1px solid #204e6c;
    background:linear-gradient(180deg,#0a1e31,#07131f);
    border-radius:13px;
    padding:15px;
    min-width:0
}
.galaxy-front header {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center
}
.galaxy-front h3 {
    margin:4px 0 10px
}
.influence-bars {
    display:grid;
    gap:9px
}
.influence-row {
    display:grid;
    gap:5px
}
.influence-label {
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:12px
}
.influence-label span {
    color:var(--muted)
}
.influence-track {
    height:8px;
    border-radius:999px;
    background:#030a11;
    overflow:hidden;
    border:1px solid #173247
}
.influence-track span {
    display:block;
    width:var(--influence);
    height:100%;
    border-radius:inherit;
    background:linear-gradient(90deg,#1b789e,#54d4ff);
    box-shadow:0 0 16px #45cbff66
}
.front-assets {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin:12px 0
}
.front-assets span {
    padding:5px 8px;
    border-radius:999px;
    background:#10283b;
    color:#9bc5db;
    font-size:11px
}
.front-events {
    display:grid;
    gap:6px
}
.front-events a {
    display:grid;
    gap:2px;
    padding:8px 10px;
    border:1px solid #694d25;
    border-radius:8px;
    background:#271c0d
}
.front-events span {
    color:#d9ba87;
    font-size:12px
}
.empty-state {
    text-align:center;
    padding:30px;
    color:var(--muted)
}
.empty-state strong {
    display:block;
    color:var(--text);
    font-size:18px
}
.overview-actions {
    display:flex;
    gap:9px;
    justify-content:flex-end;
    margin:12px 0
}
.overview-actions .ghost-link {
    display:inline-flex;
    align-items:center
}
/* Responsive strategy: desktop density -> tablet cards -> mobile touch-first */
@media(max-width:1100px) {
    .shell {
        grid-template-columns:190px minmax(0,1fr)
    }
    .sidebar {
        padding-inline:9px
    }
    .galaxy-fronts {
        grid-template-columns:repeat(2,minmax(250px,1fr))
    }
    .ops-status-strip {
        grid-template-columns:repeat(3,1fr)
    }
    .topbar {
        gap:18px
    }
    .topbar nav {
        gap:12px
    }

}
@media(max-width:900px) {
    .ops-hero {
        padding:22px
    }
    .ops-pulse {
        width:104px;
        height:104px;
        flex-basis:104px
    }
    .ops-pulse strong {
        font-size:30px
    }
    .galaxy-fronts {
        grid-template-columns:1fr
    }
    .ops-status-strip {
        grid-template-columns:repeat(2,1fr)
    }
    .timeline-item {
        grid-template-columns:10px minmax(0,1fr)
    }
    .timeline-time {
        grid-column:2;
        justify-items:start;
        display:flex;
        gap:12px;
        align-items:center
    }
    .topbar {
        justify-content:space-between
    }
    .topbar form {
        margin-left:auto
    }

}
@media(max-width:560px) {
    body {
        background:radial-gradient(circle at 70% 0,#0a2038 0,#040812 48%,#02050a 100%)
    }
    .content {
        padding-left:10px;
        padding-right:10px
    }
    .ops-hero {
        align-items:flex-start;
        padding:18px;
        min-height:0
    }
    .ops-pulse {
        width:78px;
        height:78px;
        flex-basis:78px
    }
    .ops-pulse strong {
        font-size:24px
    }
    .ops-pulse span {
        font-size:8px
    }
    .ops-status-strip {
        grid-template-columns:1fr 1fr;
        gap:7px
    }
    .status-chip {
        border-radius:10px;
        padding:10px
    }
    .status-chip span {
        font-size:10px
    }
    .status-chip strong {
        font-size:18px
    }
    .timeline-item {
        padding:11px 10px;
        gap:9px
    }
    .timeline-copy p {
        white-space:normal
    }
    .timeline-time {
        flex-wrap:wrap
    }
    .galaxy-front {
        padding:12px
    }
    .overview-actions {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .overview-actions a {
        text-align:center;
        justify-content:center
    }
    .mobile-nav {
        height:66px;
        padding-bottom:env(safe-area-inset-bottom);
        box-shadow:0 -12px 30px #0008
    }
    .mobile-nav a {
        min-width:44px;
        min-height:44px;
        display:grid;
        place-items:center;
        border-radius:12px
    }
    .mobile-nav a:active {
        background:#12334c
    }
    .table-wrap {
        border-radius:10px
    }
    th,td {
        padding:10px 9px
    }
    .hero {
        border-radius:14px
    }

}
/* v7.19 moving territorial convoys */
.moving-convoys {
    display:grid;
    gap:.75rem;
    margin-top:1rem
}
.convoy-card {
    padding:1rem;
    border:1px solid rgba(113,196,255,.22);
    border-radius:16px;
    background:linear-gradient(145deg,rgba(14,31,53,.92),rgba(8,18,33,.88));
    box-shadow:0 12px 28px rgba(0,0,0,.18)
}
.convoy-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem
}
.convoy-head strong {
    display:block
}
.convoy-progress {
    font-weight:800;
    font-size:1.05rem
}
.intercept-windows {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.55rem;
    margin-top:.75rem
}
.intercept-windows a {
    display:flex;
    flex-direction:column;
    gap:.25rem;
    padding:.65rem .75rem;
    border-radius:12px;
    background:rgba(79,165,255,.08);
    border:1px solid rgba(117,188,255,.16);
    text-decoration:none
}
.intercept-windows a:hover {
    background:rgba(79,165,255,.15)
}
.intercept-windows span {
    font-weight:750
}
.intercept-windows small {
    opacity:.78
}
@media(max-width:760px) {
    .intercept-windows {
        grid-template-columns:1fr
    }
    .convoy-card {
        padding:.85rem
    }
    .convoy-head {
        align-items:flex-start
    }
    .convoy-progress {
        font-size:.95rem
    }
    .moving-convoys {
        margin-inline:-.1rem
    }

}
/* v7.19 convoy route progress: touch-safe and responsive without a second map runtime. */
.convoy-track {
    height:7px;
    margin:.7rem 0 .2rem;
    border-radius:999px;
    overflow:hidden;
    background:rgba(255,255,255,.07)
}
.convoy-track>span {
    display:block;
    height:100%;
    width:var(--convoy-progress,0%);
    border-radius:inherit;
    background:linear-gradient(90deg,#4fa5ff,#71e1cf);
    box-shadow:0 0 16px rgba(79,165,255,.35)
}
@media(max-width:560px) {
    .convoy-card .intercept-windows a {
        min-height:58px;
        justify-content:center
    }
    .convoy-track {
        height:8px
    }
    .convoy-card p {
        line-height:1.45
    }

}

/* v7.20 Territorial Infrastructure */
.outpost-infrastructure {
    display:grid;
    gap:.7rem;
    margin:.8rem 0
}
.outpost-card {
    padding:.9rem;
    border:1px solid rgba(93,205,181,.22);
    border-radius:14px;
    background:linear-gradient(145deg,rgba(10,32,42,.94),rgba(7,20,31,.9))
}
.outpost-card header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem
}
.outpost-card header strong {
    display:block;
    margin-top:.15rem
}
.supply-stock {
    font-size:.8rem;
    padding:.35rem .55rem;
    border-radius:999px;
    background:rgba(82,214,154,.08);
    border:1px solid rgba(82,214,154,.2)
}
.module-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.4rem;
    margin:.7rem 0
}
.module-chip {
    display:grid;
    gap:.15rem;
    padding:.55rem;
    border-radius:10px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.08)
}
.module-chip span,.module-chip small {
    font-size:.7rem;
    color:var(--muted)
}
.module-chip strong {
    font-size:1rem
}
.module-chip.upgrading {
    border-color:rgba(53,194,255,.35);
    box-shadow:inset 0 0 18px rgba(53,194,255,.05)
}
.module-chip.damaged {
    border-color:rgba(255,98,126,.38)
}
.outpost-effects {
    display:flex;
    flex-wrap:wrap;
    gap:.35rem;
    margin-bottom:.7rem
}
.outpost-effects span {
    font-size:.7rem;
    padding:.3rem .45rem;
    border-radius:999px;
    background:#0d2635;
    color:#a9d9e9
}
@media(max-width:760px) {
    .module-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .outpost-card header {
        flex-direction:column
    }
    .supply-stock {
        align-self:flex-start
    }

}
@media(max-width:420px) {
    .module-grid {
        grid-template-columns:1fr
    }
    .module-chip {
        grid-template-columns:1fr auto;
        align-items:center
    }
    .module-chip small,.module-chip time {
        grid-column:1/-1
    }
    .outpost-card {
        padding:.75rem
    }

}

/* v7.21 Alliance Territorial Ownership */
.territory-claim-grid,.alliance-outpost-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:.75rem;
    margin:.8rem 0 1.2rem
}
.claim-card,.alliance-outpost-card {
    padding:1rem;
    border:1px solid rgba(76,205,255,.18);
    border-radius:16px;
    background:linear-gradient(145deg,rgba(8,27,39,.96),rgba(6,17,28,.92));
    box-shadow:0 12px 30px rgba(0,0,0,.16)
}
.claim-card {
    display:grid;
    gap:.55rem
}
.alliance-outpost-card header {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:.75rem
}
.supply-form {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:.5rem;
    margin-top:.7rem
}
.operations-timeline.compact .timeline-item {
    padding:.7rem
}
.alliance-territory h4 {
    margin-top:1.1rem
}
@media(max-width:720px) {
    .territory-claim-grid,.alliance-outpost-grid {
        grid-template-columns:1fr
    }
    .alliance-outpost-card header {
        flex-direction:column
    }
    .supply-form {
        grid-template-columns:1fr
    }
    .supply-form button {
        min-height:44px
    }
    .claim-card button,.module-chip button {
        min-height:42px;
        width:100%
    }

}

/* v7.22 Alliance Territorial Warfare */
.territorial-war-pvp {
    border-color:rgba(255,104,104,.26);
    background:linear-gradient(145deg,rgba(27,12,20,.94),rgba(8,18,31,.95))
}
.enemy-grid .alliance-outpost-card.enemy,.convoy-card.enemy {
    border-color:rgba(255,102,102,.28);
    box-shadow:0 14px 34px rgba(80,0,18,.18)
}
.danger-link {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:42px;
    padding:.65rem .85rem;
    margin-top:.65rem;
    border-radius:12px;
    border:1px solid rgba(255,108,108,.38);
    background:rgba(255,74,74,.09);
    color:#ffd3d3;
    text-decoration:none;
    font-weight:800
}
.danger-link:hover {
    background:rgba(255,74,74,.17)
}
@media(max-width:720px) {
    .territorial-war-pvp .section-head {
        align-items:flex-start;
        gap:.45rem
    }
    .territorial-war-pvp .enemy-grid {
        grid-template-columns:1fr
    }
    .territorial-war-pvp .danger-link {
        width:100%;
        min-height:48px
    }
    .territorial-war-pvp .intercept-windows {
        grid-template-columns:1fr
    }
    .territorial-war-pvp .convoy-card {
        padding:.85rem
    }

}

/* v7.23 Mission Command + Visual Identity System -------------------------------- */
:root {


     --radius-lg:20px;
    --radius-md:14px;

}
body {
    
    letter-spacing:.01em
}

.stars {
    
    
    mask-image:linear-gradient(to bottom,#000,transparent 88%)
}
.topbar {
    
    
    border-color:#153650;
    
    
}

.brand-mark {


    border-radius:10px;
    
    box-shadow:0 0 26px #32bfff25;
    
    font-weight:900
}
.brand>span:last-child {
    display:grid;
    line-height:1
}

.topbar nav {
    justify-content:center
}


.top-icon {


    color:#a8dff2
}

.sidebar {


    border-color:#10283b;
    
}
.nav-section {
    display:grid;
    gap:3px
}
.nav-section>span,.nav-section summary {


    font-weight:850;
    cursor:pointer;
    list-style:none
}

.nav-section summary:after {
    content:"+";
    float:right;
    color:#477087
}
.nav-section[open] summary:after {
    content:"–"
}
.nav-section a {
    
    border:1px solid transparent;


}
.nav-section a b {
    
    color:#bdd8e7
}
.nav-section a:hover {
    border-color:#173d58;
    
    transform:translateX(2px);
    
}

.panel,.resources>div,.cards article,.tech,.messages article {
    background:linear-gradient(155deg,rgba(11,30,49,.94),rgba(5,14,25,.94));
    border-color:#173f5c;
    box-shadow:0 14px 38px #0005,inset 0 1px rgba(255,255,255,.025)
}
.page-head {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-end;
    margin:4px 0 22px
}
.page-head h1 {
    
    line-height:1;
    
}
.page-head p {
    max-width:720px
}
.eyebrow {
    font-size:10px;
    
    font-weight:850;
    
}
.button-link,button {
    border-radius:10px;
    background:linear-gradient(180deg,#149fd4,#08719e);
    box-shadow:0 8px 20px #006da133;
    border-color:#35bfea
}
.ghost-link,button.ghost {
    border-radius:10px;
    background:rgba(10,32,50,.5);
    border-color:#28536d
}
.hero {
    position:relative;


}
.hero:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(120deg,transparent 55%,rgba(105,224,255,.06) 55.2% 55.6%,transparent 55.8%);
    border-radius:inherit
}
.planet-orb {
    width:210px;
    height:210px;
    position:relative;
    background:radial-gradient(circle at 30% 25%,#b8f4ff 0,#5acbdf 9%,#18718f 27%,#0d334d 52%,#03101d 74%);
    box-shadow:0 0 80px #25c5ff4a,inset -38px -26px 58px #000
}
.planet-orb:before {
    content:"";
    position:absolute;
    inset:43% -34%;
    height:15%;
    border:2px solid #62d9ff88;
    border-radius:50%;
    transform:rotate(-15deg);
    box-shadow:0 0 20px #4ecfff44
}

.resources>div:after {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:45%;
    height:2px;
    background:linear-gradient(90deg,var(--accent),transparent)
}
/* Mission Command */
.mission-hero {
    min-height:300px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 320px;
    align-items:center;
    padding:clamp(28px,5vw,58px);
    overflow:hidden;
    border:1px solid #234e70;
    border-radius:24px;
    background:linear-gradient(110deg,rgba(4,18,32,.98),rgba(7,25,43,.84) 56%,rgba(14,24,55,.7)),radial-gradient(circle at 82% 50%,#1a5c86,transparent 38%);
    box-shadow:0 28px 70px #0009
}
.mission-hero h1 {
    font-size:clamp(40px,6vw,72px);
    line-height:.95;
    margin:10px 0 14px;
    letter-spacing:-2px
}
.mission-hero p {
    max-width:760px;
    color:#9ab8ca;
    font-size:16px;
    line-height:1.65
}
.mission-hero-actions {
    display:flex;
    gap:10px;
    margin-top:24px
}
.mission-radar {
    position:relative;
    width:min(32vw,300px);
    aspect-ratio:1;
    border-radius:50%;
    justify-self:end;
    border:1px solid #48cfff44;
    background:repeating-radial-gradient(circle,transparent 0 23%,#47cfff20 23.5% 24%,transparent 24.5% 47%,#47cfff1a 47.5% 48%,transparent 48.5%),conic-gradient(from 20deg,transparent 0 77%,#5ad9ff22 82%,transparent 88%);
    box-shadow:0 0 70px #1ebeff20,inset 0 0 50px #0ecbff0f
}
.mission-radar:before,.mission-radar:after {
    content:"";
    position:absolute;
    background:#4bd8ff33
}
.mission-radar:before {
    left:50%;
    top:5%;
    bottom:5%;
    width:1px
}
.mission-radar:after {
    top:50%;
    left:5%;
    right:5%;
    height:1px
}
.mission-radar b {
    position:absolute;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#72ecff;
    top:27%;
    left:66%;
    box-shadow:0 0 18px #72ecff
}
.mission-radar i:nth-child(1) {
    position:absolute;
    width:6px;
    height:6px;
    border-radius:50%;
    background:#ffbf63;
    left:32%;
    top:60%;
    box-shadow:0 0 14px #ffbf63
}
.mission-radar i:nth-child(2) {
    position:absolute;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#ff6984;
    left:73%;
    top:67%;
    box-shadow:0 0 14px #ff6984
}
.mission-recommend {
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);
    gap:20px;
    align-items:center;
    padding:20px 22px;
    margin:14px 0 24px;
    border:1px solid #274d68;
    border-radius:16px;
    background:linear-gradient(90deg,#0a2033dd,#081522dd)
}
.mission-recommend h2 {
    margin:5px 0
}
.mission-recommend p {
    margin:0;
    color:#92afc2
}
.mission-kpis {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}
.mission-kpis span {
    display:grid;
    gap:3px;
    padding:12px;
    border:1px solid #173c55;
    border-radius:11px;
    background:#06131f;
    text-align:center;
    color:#7293a8;
    font-size:10px;
    text-transform:uppercase
}
.mission-kpis strong {
    font-size:20px;
    color:#e8f8ff
}
.mission-groups {
    display:grid;
    gap:18px
}
.mission-group {
    padding:22px;
    border:1px solid #163c58;
    border-radius:18px;
    background:linear-gradient(155deg,rgba(8,24,39,.92),rgba(4,12,22,.92))
}
.mission-group>header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:14px
}
.mission-group h2 {
    margin:5px 0;
    font-size:24px
}
.mission-group header p {
    margin:0;
    color:#7898ac
}
.mission-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
}
.mission-tile {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    min-height:92px;
    padding:15px;
    border:1px solid #173b54;
    border-radius:13px;
    background:linear-gradient(135deg,#091a2a,#06111d);
    transition:var(--xn-motion-fast) ease
}
.mission-tile:hover {
    transform:translateY(-2px);
    border-color:#3385ad;
    background:linear-gradient(135deg,#0d2539,#071521);
    box-shadow:0 14px 26px #0005
}
.mission-tile strong {
    color:#eaf8ff
}
.mission-tile p {
    margin:4px 0 0;
    color:#7795a8;
    font-size:12px;
    line-height:1.45
}
.mission-glyph {
    width:38px;
    height:38px;
    border-radius:50%;
    border:1px solid #3a7897;
    background:radial-gradient(circle,#45d9ff 0 8%,transparent 10% 34%,#45d9ff22 36% 38%,transparent 40%),#071b2a;
    box-shadow:0 0 18px #26c9ff18
}
.kind-combat .mission-glyph {
    border-color:#9c4458;
    background:radial-gradient(circle,#ff6982 0 9%,transparent 11% 35%,#ff698222 37% 39%,transparent 41%),#22101a
}
.kind-territory .mission-glyph {
    border-color:#8d6936;
    background:radial-gradient(circle,#ffc76b 0 9%,transparent 11% 35%,#ffc76b22 37% 39%,transparent 41%),#21180c
}
.kind-intel .mission-glyph {
    border-color:#6c61a8;
    background:radial-gradient(circle,#988aff 0 9%,transparent 11% 35%,#988aff22 37% 39%,transparent 41%),#16132b
}
.kind-salvage .mission-glyph {
    border-color:#4f946f
}
.mission-arrow {
    font-size:22px;
    color:#3b88aa
}
.sector-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(245px,1fr));
    gap:12px
}
.sector-card {
    position:relative;
    overflow:hidden;
    min-height:250px;
    padding:22px;
    border:1px solid #1d4863;
    border-radius:16px;
    background:linear-gradient(145deg,#0a2235,#07121e);
    display:flex;
    flex-direction:column;
    justify-content:flex-end
}
.sector-card.hostile {
    border-color:#69384b;
    background:linear-gradient(145deg,#25101b,#081522)
}
.sector-card.locked {
    filter:saturate(.55);
    opacity:.7
}
.sector-card h3 {
    font-size:24px;
    margin:5px 0
}
.sector-card p {
    color:#88a7ba;
    line-height:1.5
}
.sector-card small {
    letter-spacing:1.4px;
    color:#58d6ff
}
.sector-card.hostile small {
    color:#ff7c95
}
.sector-meta {
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:10px 0
}
.sector-meta span {
    font-size:10px;
    padding:5px 7px;
    border-radius:999px;
    background:#06111c;
    border:1px solid #1d4057;
    color:#7799ad
}
.sector-orbit {
    position:absolute;
    right:-35px;
    top:-55px;
    width:170px;
    height:170px;
    border-radius:50%;
    border:1px solid #4bd6ff25;
    box-shadow:0 0 50px #1fc8ff12
}
.sector-orbit:before,.sector-orbit:after {
    content:"";
    position:absolute;
    border-radius:50%;
    border:1px solid #52d8ff1d
}
.sector-orbit:before {
    inset:25px
}
.sector-orbit:after {
    inset:52px
}
.sector-orbit span {
    position:absolute;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#69e3ff;
    left:18px;
    top:90px;
    box-shadow:0 0 16px #69e3ff
}
.hostile .sector-orbit {
    border-color:#ff6b8425
}
.hostile .sector-orbit span {
    background:#ff687f;
    box-shadow:0 0 16px #ff687f
}
.sector-page-head {
    margin-top:6px
}
.report-deck {
    margin-top:18px
}
.report-list {
    display:grid;
    gap:7px
}
.report-list article {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:12px;
    align-items:center;
    padding:12px;
    border:1px solid #16364d;
    border-radius:11px;
    background:#06131f
}
.report-list article>div {
    display:grid
}
.report-list small {
    color:#698ba1
}
.result-badge {
    font-size:10px;
    letter-spacing:1px;
    padding:6px 8px;
    border-radius:999px;
    border:1px solid #2a536c;
    color:#9cc7dc
}
/* Daily missions */
.daily-reward {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    margin-bottom:16px;
    padding:18px 20px;
    border:1px solid #315774;
    border-radius:16px;
    background:linear-gradient(110deg,#10253b,#091521)
}
.daily-reward>div {
    display:flex;
    align-items:baseline;
    gap:7px
}
.daily-reward small {
    font-size:9px;
    letter-spacing:1.4px;
    color:#7195aa
}
.daily-reward strong {
    font-size:36px;
    color:#7be6ff
}
.daily-reward span {
    color:#86a5b7
}
.daily-reward p {
    color:#88a6b8
}
.task-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
}
.task-card {
    display:grid;
    grid-template-columns:48px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    padding:16px;
    border:1px solid #173c56;
    border-radius:14px;
    background:linear-gradient(145deg,#0a1f31,#06121e)
}
.task-card.complete {
    opacity:.62
}
.task-state {
    width:42px;
    height:42px;
    border-radius:50%;
    display:grid;
    place-items:center;
    border:1px solid #2e718f;
    background:#071825;
    color:#63dfff;
    font-size:20px
}
.task-card.complete .task-state {
    color:#68dfad;
    border-color:#448c70
}
.task-card h3 {
    margin:3px 0
}
.task-card p {
    margin:0;
    color:#7899ad
}
.task-card small {
    color:#54809a;
    letter-spacing:1px
}
@media(max-width:1050px) {
    .mission-hero {
        grid-template-columns:minmax(0,1fr) 220px
    }
    .mission-radar {
        width:210px
    }
    .mission-grid {
        grid-template-columns:1fr
    }
    .mission-recommend {
        grid-template-columns:1fr
    }
    .task-grid {
        grid-template-columns:1fr
    }

}
@media(max-width:900px) {
    .topbar nav {
        display:none
    }
    .topbar-actions .top-icon {
        display:none
    }
    .brand-mark {
        width:32px;
        height:32px
    }
    .sidebar {
        display:none
    }
    .mobile-nav {
        height:70px;
        display:grid;
        grid-template-columns:repeat(5,1fr);
        padding:5px 8px calc(5px + env(safe-area-inset-bottom));
        background:rgba(3,10,18,.96);
        backdrop-filter:blur(16px)
    }
    .mobile-nav a {
        display:grid;
        place-items:center;
        gap:0;
        color:#6f91a8;
        font-size:18px;
        min-height:52px
    }
    .mobile-nav small {
        font-size:9px
    }
    .mission-hero {
        grid-template-columns:1fr;
        min-height:0;
        padding:30px 24px
    }
    .mission-radar {
        position:absolute;
        right:-50px;
        top:-60px;
        width:190px;
        opacity:.46
    }
    .mission-hero-copy {
        position:relative;
        z-index:1
    }
    .mission-hero p {
        max-width:80%
    }
    .mission-kpis {
        grid-template-columns:repeat(3,1fr)
    }
    .page-head {
        align-items:flex-start
    }
    .sector-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:600px) {
    .topbar {
        padding:0 10px
    }
    .brand small {
        display:none
    }
    .topbar-actions form button {
        padding:8px 10px
    }
    .content {
        padding-inline:9px
    }
    .resources {
        grid-template-columns:repeat(2,1fr);
        gap:6px
    }
    .resources>div {
        padding:10px
    }
    .resources b {
        font-size:15px
    }
    .resources small {
        font-size:9px
    }
    .mission-hero {
        border-radius:17px;
        padding:24px 18px
    }
    .mission-hero h1 {
        font-size:42px
    }
    .mission-hero p {
        max-width:none;
        font-size:14px
    }
    .mission-hero-actions {
        display:grid
    }
    .mission-recommend {
        padding:16px
    }
    .mission-kpis {
        grid-template-columns:1fr 1fr 1fr
    }
    .mission-kpis span {
        padding:9px 5px
    }
    .mission-kpis strong {
        font-size:17px
    }
    .mission-group {
        padding:15px;
        border-radius:14px
    }
    .mission-group>header {
        align-items:flex-start;
        flex-direction:column
    }
    .mission-tile {
        grid-template-columns:36px minmax(0,1fr) auto;
        padding:12px;
        min-height:84px
    }
    .mission-glyph {
        width:34px;
        height:34px
    }
    .sector-grid {
        grid-template-columns:1fr
    }
    .sector-card {
        min-height:220px
    }
    .daily-reward {
        grid-template-columns:1fr
    }
    .daily-reward form button {
        width:100%;
        min-height:46px
    }
    .task-card {
        grid-template-columns:40px minmax(0,1fr)
    }
    .task-card form {
        grid-column:1/-1
    }
    .task-card form button {
        width:100%;
        min-height:46px
    }
    .report-list article {
        grid-template-columns:1fr auto
    }
    .report-list .ghost-link {
        grid-column:1/-1;
        text-align:center
    }
    .page-head {
        display:grid
    }
    .page-head>a {
        justify-self:stretch;
        text-align:center
    }

}
/* v7.24 Combat Intelligence + i18n */


/* v7.24 Combat Intelligence + i18n */
.locale-switch {
    margin:0
}
.locale-switch select {
    width:auto;
    min-width:64px;
    padding:.55rem .65rem;
    background:rgba(8,18,36,.9);
    border:1px solid rgba(91,190,255,.25);
    color:var(--text);
    border-radius:10px
}
.page-actions {
    
    
    flex-wrap:wrap
}
.combat-intel-head,.debris-head {
    position:relative;
    overflow:hidden
}
.combat-intel-head:after,.debris-head:after {
    content:"";
    position:absolute;
    width:260px;
    height:260px;
    border-radius:50%;
    right:-70px;
    top:-130px;
    border:1px solid rgba(89,206,255,.22);
    box-shadow:0 0 80px rgba(66,151,255,.12) inset
}
.intel-warning {
    
    
    border:1px solid rgba(255,190,74,.3);
    background:rgba(255,165,0,.06);
    
}
.sim-toolbar {


    flex-wrap:wrap;
    
}

.sim-columns {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    
}
.unit-input-grid {
    display:grid;
    gap:.45rem
}
.unit-input-grid label {
    display:grid;
    grid-template-columns:minmax(0,1fr) 92px;
    gap:.55rem;
    align-items:center
}
.unit-input-grid input {
    text-align:right
}
.combat-results {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.75rem;
    margin:1rem 0
}
.combat-results .kpi {
    
    
    background:linear-gradient(145deg,rgba(17,34,57,.92),rgba(8,17,31,.92));
    border:1px solid rgba(95,188,255,.14)
}
.combat-results .kpi small,.combat-results .kpi strong {
    display:block
}

.debris-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:1rem
}
.debris-card {
    display:grid;
    grid-template-columns:72px 1fr;
    gap:1rem;
    padding:1rem;
    border:1px solid rgba(70,203,255,.16);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(13,31,52,.95),rgba(7,15,29,.95))
}
.debris-orbit {
    width:64px;
    height:64px;
    border-radius:50%;
    border:1px solid rgba(94,210,255,.3);
    display:grid;
    place-items:center
}
.debris-orbit span {
    width:16px;
    height:16px;
    border-radius:50%;
    background:#83d8ff;
    box-shadow:0 0 24px #49b9ff
}
.resource-strip {
    display:flex;
    gap:.7rem;
    flex-wrap:wrap
}
.resource-strip span {
    padding:.35rem .55rem;
    border-radius:8px;
    background:rgba(100,190,255,.07)
}
@media(max-width:980px) {
    .sim-columns {
        grid-template-columns:1fr
    }
    .combat-results {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:640px) {
    .topbar .locale-switch {
        display:block
    }
    .sim-toolbar>* {
        width:100%
    }
    .combat-results {
        grid-template-columns:1fr 1fr
    }
    .debris-card {
        grid-template-columns:48px 1fr
    }
    .debris-orbit {
        width:44px;
        height:44px
    }
    .unit-input-grid label {
        grid-template-columns:minmax(0,1fr) 78px
    }

}
/* v7.25 account/protection */
.vacation-banner {
    position:sticky;
    top:64px;
    z-index:25;
    padding:.7rem 1rem;
    text-align:center;
    background:rgba(122,72,20,.94);
    border-bottom:1px solid rgba(255,190,82,.45);
    font-size:.9rem;
    letter-spacing:.03em
}
.vacation-banner a {
    margin-left:.7rem;
    font-weight:800
}
.account-grid {
    align-items:start
}
.vacation-card.is-active {
    box-shadow:inset 3px 0 0 rgba(255,170,70,.8)
}
.status-line {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:.9rem 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    margin:1rem 0
}
.warning-box {
    padding:.85rem 1rem;
    border:1px solid rgba(255,174,70,.35);
    background:rgba(130,78,22,.14);
    border-radius:14px;
    margin:1rem 0
}
.warning-box ul {
    margin:.6rem 0 0;
    padding-left:1.2rem
}
.check {
    display:flex!important;
    align-items:center;
    gap:.65rem
}
.check input {
    width:auto
}
.ui-compact .panel {
    padding:14px
}
.ui-compact .content {
    gap:12px
}
.reduce-motion *, .reduce-motion *::before,.reduce-motion *::after {
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important
}
@media(max-width:720px) {
    .account-grid {
        grid-template-columns:1fr
    }
    .vacation-banner {
        top:56px;
        font-size:.78rem
    }
    .account-hero .mission-radar {
        display:none
    }

}
/* v7.26 universe/security/battle chronicle */
.universe-badge,.universe-switch select {
    min-height:36px;
    border:1px solid rgba(112,199,255,.24);
    border-radius:999px;
    background:rgba(8,22,39,.82);
    padding:0 12px;
    color:var(--text,#eaf6ff);
    font-size:.78rem;
    letter-spacing:.05em
}
.battle-hall-list {
    display:grid;
    
}
.battle-hall-row {
    display:grid;
    
    align-items:center;
    
}

.battle-rounds {
    display:grid;
    gap:14px
}
.battle-round header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    
}
.combat-kpis {
    display:grid;
    
    
}
.combat-kpis>div {
    
    
    background:rgba(7,22,38,.55);
    border:1px solid rgba(111,195,255,.13)
}
.combat-kpis small {
    display:block;
    opacity:.68
}
.combat-kpis strong {
    display:block;
    
    
}
.round-effect {
    
    
    border-left:3px solid #d59cff;
    background:rgba(98,48,130,.18);
    
}
.vs-mark {
    opacity:.45;
    font-size:.7em
}
@media(max-width:900px) {
    .combat-kpis {
        grid-template-columns:repeat(3,1fr)
    }

}
@media(max-width:620px) {
    .battle-hall-row {
        grid-template-columns:1fr
    }
    .battle-round header {
        align-items:flex-start;
        flex-direction:column
    }
    .combat-kpis {
        grid-template-columns:repeat(2,1fr)
    }
    .universe-switch select {
        max-width:118px
    }

}
/* v7.27 Progression Core visual language */
.progression-hero {
    position:relative;
    overflow:hidden;


    border:1px solid #285b7d;
    border-radius:18px;
    background:linear-gradient(110deg,rgba(7,20,36,.98),rgba(10,38,61,.88) 58%,rgba(17,59,83,.58));
    box-shadow:0 18px 55px #0007;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.progression-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent 0 58%,rgba(53,194,255,.07)),radial-gradient(circle at 82% 45%,rgba(53,194,255,.17),transparent 34%);
    pointer-events:none
}
.progression-hero>div:first-child {
    position:relative;
    z-index:1;
    
}


.progression-hero small {
    color:#6f92aa
}
.progression-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px
}
.progression-card {
    position:relative;
    overflow:hidden;
    padding:20px;
    border:1px solid #1c4969;
    border-radius:14px;
    background:linear-gradient(155deg,rgba(15,37,61,.98),rgba(6,17,30,.98));
    box-shadow:0 12px 38px #0005
}
.progression-card:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:linear-gradient(var(--accent),transparent)
}
.progression-card.is-locked {
    border-color:#394756
}
.progression-card.is-locked:before {
    background:linear-gradient(#6d7580,transparent)
}
.progression-card header {
    display:flex;
    gap:15px;
    justify-content:space-between;
    align-items:flex-start
}
.progression-card h2 {
    font-size:20px;
    margin:4px 0 0
}
.progression-role {
    
    letter-spacing:1.4px;
    text-transform:uppercase;
    
}
.level-badge {
    flex:0 0 auto;
    border:1px solid #2c6689;
    
    
    color:#a8dcf3;
    font-size:11px
}

.effect-strip {
    display:grid;
    gap:4px;
    
    
    border-left:2px solid #42d39b;
    background:#0b302d88;
    
}
.effect-strip.research-effect {
    border-color:#9b7cff;
    background:#211b3b88
}
.effect-strip b {
    
    letter-spacing:1px;
    text-transform:uppercase;
    color:#7ee9be
}
.research-effect b {
    color:#baa9ff
}

.progression-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px
}
.progression-columns h3 {
    margin:9px 0 7px;
    color:#7ca9c3;
    font-size:10px;
    letter-spacing:1.1px;
    text-transform:uppercase
}
.requirements,.unlock-list {
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:5px
}
.requirements li,.unlock-list li {
    display:flex;
    justify-content:space-between;
    gap:8px;
    padding:7px 8px;
    border-radius:7px;
    background:#071625;
    color:#9eb7c8;
    font-size:12px
}
.requirements li.ok {
    color:#83dbae
}
.requirements li.missing {
    color:#ff9aa9;
    background:#29141d99
}
.unlock-list li {
    justify-content:flex-start
}
.unlock-list li span {
    display:inline-grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:5px;
    background:#143c58;
    color:#7cd7ff;
    font-size:9px
}
.progression-card footer {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:17px;
    padding-top:14px;
    border-top:1px solid #173b55
}
.resource-cost {
    display:grid;
    grid-template-columns:repeat(2,max-content);
    gap:4px 11px;
    color:#83a6bb;
    font-size:11px
}
.progression-card button:disabled {
    opacity:.38;
    cursor:not-allowed;
    filter:none
}
.state-pill {
    padding:8px 10px;
    border-radius:7px;
    font-size:10px;
    font-weight:800;
    letter-spacing:.8px
}
.state-pill.max {
    background:#193529;
    color:#7fe0aa
}
.muted {
    
    font-size:12px
}
.progression-orbit {
    position:relative;
    width:170px;
    height:170px;
    margin-right:25px;
    border:1px solid #2a6b9444;
    border-radius:50%;
    box-shadow:0 0 65px #23baff22
}
.progression-orbit:after {
    content:"";
    position:absolute;
    inset:45px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#8be8ff,#21658a 32%,#07101b 72%);
    box-shadow:0 0 35px #39c9ff66
}
.progression-orbit span {
    position:absolute;
    inset:15px;
    border:1px solid #3b9ccb55;
    border-radius:50%;
    transform:rotate(25deg)
}
.progression-orbit span:nth-child(2) {
    inset:30px;
    transform:rotate(-35deg)
}
.progression-orbit span:nth-child(3) {
    inset:4px;
    transform:rotate(70deg)
}
.research-glyph {
    position:relative;
    width:170px;
    height:170px;
    margin-right:25px
}
.research-glyph i {
    position:absolute;
    inset:20px;
    border:1px solid #987dff66;
    border-radius:22px;
    transform:rotate(45deg)
}
.research-glyph i:nth-child(2) {
    inset:40px;
    transform:rotate(15deg)
}
.research-glyph i:nth-child(3) {
    inset:55px;
    transform:rotate(75deg)
}
.research-glyph b {
    position:absolute;
    left:72px;
    top:72px;
    width:26px;
    height:26px;
    border-radius:50%;
    background:#aa95ff;
    box-shadow:0 0 40px #8f77ff
}
.research-card:before {
    background:linear-gradient(#9a7cff,transparent)
}
/* D18: dead responsive legacy retired by D18. */
@media(max-width:620px) {
    .progression-hero {
        min-height:auto;
        padding:22px 18px
    }
    .progression-orbit,.research-glyph {
        display:none
    }
    .progression-hero h1 {
        font-size:34px
    }
    .progression-grid {
        gap:10px
    }
    .progression-card {
        padding:16px
    }
    .progression-card header {
        align-items:center
    }
    .progression-card h2 {
        font-size:18px
    }
    .progression-description {
        min-height:0
    }
    .progression-columns {
        grid-template-columns:1fr
    }
    .progression-card footer {
        align-items:stretch;
        flex-direction:column
    }
    .progression-card footer form,.progression-card footer button {
        width:100%
    }
    .resource-cost {
        grid-template-columns:repeat(4,1fr);
        text-align:center
    }
    .level-badge {
        font-size:10px
    }

}
/* v7.28 Empire Progression Mechanics + Unit Codex */
.mechanics-strip {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    
    
}
.mechanics-strip>div {
    display:grid;
    gap:4px;
    
    border:1px solid #1d4968;
    
    
}
.mechanics-strip small {
    color:#789eb6;
    text-transform:uppercase;
    letter-spacing:.9px;
    
}
.mechanics-strip strong {
    font-size:20px
}
.mechanics-strip span {
    color:#7fc7df;
    
}
.progression-card h2 a {
    color:inherit
}
.progression-card h2 a:hover {
    color:#8be8ff
}
.secondary-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid #315f7b;
    border-radius:7px;
    padding:8px 10px;
    color:#a9dfff;
    font-size:11px;
    font-weight:700;
    position:relative;
    z-index:2
}
.unit-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:15px
}
.unit-card {
    position:relative;
    overflow:hidden;
    padding:20px;
    border:1px solid #1c4969;
    border-radius:15px;
    background:linear-gradient(150deg,rgba(15,37,61,.98),rgba(6,17,30,.98));
    box-shadow:0 12px 38px #0005
}
.unit-card:before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:3px;
    background:linear-gradient(#48cfff,transparent)
}
.defense-card:before {
    background:linear-gradient(#ffb75f,transparent)
}
.unit-card.is-locked {
    opacity:.72;
    border-color:#3b4650
}
.unit-card-open {
    position:absolute;
    inset:0;
    z-index:1
}
.unit-card header,.unit-card footer,.unit-card form,.unit-card input,.unit-card button,.unit-card .secondary-action {
    position:relative;
    z-index:2
}
.unit-card header {
    display:flex;
    justify-content:space-between;
    gap:14px
}
.unit-card h2 {
    margin:4px 0 0;
    font-size:20px
}
.class-badge {
    height:max-content;
    padding:6px 9px;
    border:1px solid #2b688c;
    border-radius:999px;
    color:#8ddcff;
    font-size:10px;
    letter-spacing:1px
}
.unit-kpis {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:6px;
    margin:12px 0
}
.unit-kpis.defense {
    grid-template-columns:repeat(3,1fr)
}
.unit-kpis span {
    display:grid;
    gap:2px;
    padding:8px;
    border-radius:8px;
    background:#071725;
    border:1px solid #17384e;
    text-align:center
}
.unit-kpis small {
    font-size:9px;
    color:#6f94aa
}
.unit-kpis b {
    font-size:13px
}
.unit-meta {
    display:flex;
    justify-content:space-between;
    gap:12px;
    color:#789db3;
    font-size:11px;
    margin:9px 0
}
.unit-card footer {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:center;
    margin-top:14px;
    padding-top:13px;
    border-top:1px solid #173b55
}
.unit-card footer form {
    display:flex;
    gap:8px;
    align-items:center
}
.requirements.compact {
    margin-top:10px
}
.shipyard-hero {
    background:linear-gradient(110deg,rgba(7,20,36,.98),rgba(9,39,66,.90) 58%,rgba(12,79,106,.45))
}
.defense-hero {
    background:linear-gradient(110deg,rgba(19,18,28,.98),rgba(48,31,29,.90) 58%,rgba(112,67,23,.40))
}
.unit-silhouette,.defense-radar {
    position:relative;
    width:180px;
    height:140px;
    margin-right:20px
}
.unit-silhouette:before {
    content:"";
    position:absolute;
    left:20px;
    right:20px;
    top:58px;
    height:24px;
    background:linear-gradient(90deg,transparent,#50cfff 20%,#8ee9ff 50%,#50cfff 80%,transparent);
    clip-path:polygon(0 50%,28% 0,72% 0,100% 50%,72% 100%,28% 100%);
    filter:drop-shadow(0 0 18px #41c9ff)
}
.unit-silhouette i {
    position:absolute;
    left:50%;
    top:8px;
    width:1px;
    height:124px;
    background:#3ec9ff55;
    transform:rotate(55deg)
}
.unit-silhouette i:nth-child(2) {
    transform:rotate(-55deg)
}
.defense-radar {
    border:1px solid #ffae5455;
    border-radius:50%
}
.defense-radar:before,.defense-radar:after {
    content:"";
    position:absolute;
    inset:25px;
    border:1px solid #ffae5444;
    border-radius:50%
}
.defense-radar:after {
    inset:55px
}
.defense-radar b {
    position:absolute;
    left:50%;
    top:50%;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ffc277;
    box-shadow:0 0 22px #ff9f35
}
.codex-detail-hero {
    min-height:240px;
    padding:34px;
    border:1px solid #285b7d;
    border-radius:18px;
    background:linear-gradient(115deg,rgba(7,20,36,.98),rgba(13,41,66,.92),rgba(24,83,111,.38));
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px
}
.codex-detail-hero h1 {
    font-size:clamp(32px,5vw,58px);
    margin:6px 0 10px
}
.codex-detail-hero p {
    max-width:760px;
    color:#a8c5d7;
    line-height:1.6
}
.codex-emblem {
    display:grid;
    place-items:center;
    width:150px;
    height:150px;
    border:1px solid #49c9ff55;
    border-radius:50%;
    box-shadow:inset 0 0 35px #2bbcf822,0 0 55px #1ba8e522
}
.codex-emblem span {
    font-size:12px;
    letter-spacing:2px;
    color:#94e6ff
}
.codex-back {
    margin:12px 0 16px
}
.codex-stat-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-bottom:14px
}
.codex-stat-grid>div {
    padding:14px;
    border-radius:12px;
    background:#081a2a;
    border:1px solid #1c4663
}
.codex-stat-grid small,.codex-stat-grid strong {
    display:block
}
.codex-stat-grid small {
    color:#7496aa;
    font-size:10px;
    text-transform:uppercase
}
.codex-stat-grid strong {
    font-size:22px;
    margin-top:4px
}
.codex-columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px
}
.codex-panel h2 {
    font-size:12px;
    letter-spacing:1.1px;
    text-transform:uppercase;
    color:#83bedb;
    margin:0 0 10px
}
.codex-panel h2:not(:first-child) {
    margin-top:20px
}
.resource-cost.large {
    font-size:13px;
    grid-template-columns:repeat(4,max-content);
    gap:7px 14px
}
.weapon-bars {
    display:grid;
    gap:8px
}
.weapon-bars div {
    display:grid;
    grid-template-columns:90px 45px 1fr;
    gap:8px;
    align-items:center
}
.weapon-bars i {
    height:6px;
    border-radius:99px;
    background:linear-gradient(90deg,#44c8ff var(--value),#0c2638 var(--value))
}
.matchup-chips {
    display:flex;
    flex-wrap:wrap;
    gap:6px
}
.matchup-chips span {
    padding:6px 8px;
    border-radius:7px;
    background:#0b2234;
    border:1px solid #214e69;
    font-size:11px
}
.matchup-chips .good {
    color:#83e0ae;
    border-color:#2d7356
}
.matchup-chips .bad {
    color:#ff9ca8;
    border-color:#743745
}
.matchup-list {
    display:grid;
    gap:6px
}
.matchup-list>div {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:8px 10px;
    border-radius:8px;
    background:#071725
}
.level-display {
    font-size:28px;
    font-weight:800;
    margin-bottom:12px
}
@media(max-width:980px) {
    .unit-grid {
        grid-template-columns:1fr
    }
    .unit-kpis {
        grid-template-columns:repeat(3,1fr)
    }
    .codex-stat-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .codex-columns {
        grid-template-columns:1fr
    }
    .unit-silhouette,.defense-radar {
        width:130px;
        height:110px
    }
    .mechanics-strip {
        grid-template-columns:1fr 1fr 1fr
    }

}
@media(max-width:620px) {
    .mechanics-strip {
        grid-template-columns:1fr
    }
    .unit-card {
        padding:16px
    }
    .unit-kpis,.unit-kpis.defense {
        grid-template-columns:repeat(3,1fr)
    }
    .unit-card footer {
        align-items:stretch;
        flex-direction:column
    }
    .unit-card footer form {
        width:100%
    }
    .unit-card footer form button {
        flex:1
    }
    .codex-detail-hero {
        min-height:auto;
        padding:22px 18px
    }
    .codex-emblem,.unit-silhouette,.defense-radar {
        display:none
    }
    .codex-stat-grid {
        grid-template-columns:1fr 1fr
    }
    .resource-cost.large {
        grid-template-columns:repeat(2,1fr)
    }
    .weapon-bars div {
        grid-template-columns:75px 40px 1fr
    }

}

/* v7.30 Desktop Command Grid — dense strategic catalog without sacrificing mobile reflow */
.catalog-facts,.tactical-facts {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:9px 0
}
.catalog-facts span,.tactical-facts span {
    min-width:0;
    padding:7px 8px;
    border:1px solid #173b55;
    border-radius:8px;
    background:#071725;
    display:grid;
    gap:2px
}
.catalog-facts small,.tactical-facts small {
    font-size:8px;
    letter-spacing:.8px;
    text-transform:uppercase;
    color:#6d91a8
}
.catalog-facts b,.tactical-facts b {
    font-size:11px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.tactical-facts {
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.tactical-facts b {
    color:#9edfff
}
@media(min-width:1180px) {

     .shell {
        max-width:1760px;
        grid-template-columns:216px minmax(0,1fr)
    }

     .content {
        padding:20px 22px 30px
    }

     .progression-hero {
        min-height:176px;
        padding:22px 28px;
        margin-bottom:13px
    }
    .progression-hero h1 {
        font-size:clamp(30px,3vw,44px)
    }
    .progression-hero p {
        font-size:14px;
        line-height:1.45;
        margin-bottom:5px
    }
    .progression-orbit,.research-glyph {
        width:132px;
        height:132px
    }
    .progression-orbit:after {
        inset:35px
    }
    .research-glyph i {
        inset:17px
    }
    .research-glyph i:nth-child(2) {
        inset:32px
    }
    .research-glyph i:nth-child(3) {
        inset:44px
    }
    .research-glyph b {
        left:55px;
        top:55px
    }

     .mechanics-strip {
        margin:0 0 12px;
        gap:8px
    }
    .mechanics-strip>div {
        padding:9px 12px
    }
    .mechanics-strip strong {
        font-size:17px
    }

     .progression-grid,.unit-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:10px
    }

     .progression-card,.unit-card {
        padding:13px 14px;
        border-radius:11px;
        box-shadow:0 7px 22px #0004
    }

     .progression-card h2,.unit-card h2 {
        font-size:16px;
        line-height:1.15
    }
    .progression-role {
        font-size:8px
    }
    .level-badge,.class-badge {
        padding:4px 7px;
        font-size:9px
    }

     .progression-description {
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden;
        min-height:36px;
        margin:8px 0;
        color:#91adbe;
        font-size:12px;
        line-height:1.45
    }

     .effect-strip {
        margin:8px 0;
        padding:7px 9px
    }
    .effect-strip b {
        font-size:8px
    }
    .effect-strip span {
        font-size:11px;
        line-height:1.35;
        display:-webkit-box;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        overflow:hidden
    }

     .progression-columns {
        gap:7px
    }
    .progression-columns h3 {
        margin:6px 0 4px;
        font-size:8px
    }
    .requirements,.unlock-list {
        gap:3px
    }
    .requirements li,.unlock-list li {
        padding:5px 6px;
        font-size:10px
    }
    .unlock-list li span {
        width:17px;
        height:17px
    }

     .progression-card footer,.unit-card footer {
        margin-top:9px;
        padding-top:8px;
        gap:7px
    }
    .resource-cost {
        font-size:9px;
        gap:2px 8px
    }
    .secondary-action {
        padding:6px 7px;
        font-size:9px
    }
    .progression-card button,.unit-card button {
        padding:7px 9px;
        font-size:10px
    }
    .unit-card .qty {
        max-width:62px;
        padding:7px
    }

     .unit-kpis {
        grid-template-columns:repeat(3,1fr);
        gap:4px;
        margin:8px 0
    }
    .unit-kpis.defense {
        grid-template-columns:repeat(3,1fr)
    }
    .unit-kpis span {
        padding:5px
    }
    .unit-kpis small {
        font-size:8px
    }
    .unit-kpis b {
        font-size:11px
    }
    .unit-meta {
        font-size:9px;
        margin:6px 0
    }
    .catalog-facts,.tactical-facts {
        margin:6px 0;
        gap:4px
    }
    .catalog-facts span,.tactical-facts span {
        padding:5px 6px
    }

     .codex-detail-hero {
        min-height:170px;
        padding:22px 28px
    }
    .codex-detail-hero h1 {
        font-size:clamp(30px,4vw,46px)
    }
    .codex-detail-hero p {
        font-size:13px;
        line-height:1.45
    }
    .codex-emblem {
        width:112px;
        height:112px
    }

     .codex-stat-grid {
        grid-template-columns:repeat(8,minmax(0,1fr));
        gap:7px
    }
    .codex-stat-grid>div {
        padding:9px 10px
    }
    .codex-stat-grid strong {
        font-size:17px
    }
    .codex-columns {
        gap:10px
    }
    .codex-panel {
        padding:15px
    }
    .codex-panel h2:not(:first-child) {
        margin-top:13px
    }
    .codex-lore {
        margin-top:12px
    }

}
@media(min-width:1550px) {
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .progression-card h2,.unit-card h2 {
        font-size:15px
    }
    .progression-columns {
        grid-template-columns:1fr 1fr
    }
    .unit-kpis {
        grid-template-columns:repeat(3,1fr)
    }

}
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */
/* v7.30 Combat phase readability + post-battle intelligence */
.phase-strip {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    
    
}
.phase-strip span,.post-battle-intel>div {
    display:grid;
    gap:3px;
    padding:8px 10px;
    border:1px solid #183d58;
    border-radius:9px;
    background:#071725
}
.phase-strip small,.post-battle-intel small {
    font-size:8px;
    letter-spacing:1px;
    color:#7098b0
}

.post-battle-intel {
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:8px;
    align-items:stretch;
    margin-top:12px
}

.post-battle-intel span {
    font-size:10px;
    color:#7798ac
}
.post-battle-intel .button-link {
    display:grid;
    place-items:center
}
@media(max-width:760px) {
    .phase-strip {
        grid-template-columns:repeat(2,1fr)
    }
    .phase-strip span:last-child {
        grid-column:1/-1
    }
    .post-battle-intel {
        grid-template-columns:1fr
    }
    .post-battle-intel .button-link {
        min-height:44px
    }

}

/* v7.31 — Communications / Legacy / Command Staff */
.comms-head,.officer-head {
    align-items:center
}
.comms-signal {
    display:flex;
    gap:6px;
    align-items:end;
    padding:12px 16px;
    border:1px solid rgba(86,203,255,.2);
    border-radius:14px;
    background:rgba(6,16,31,.7)
}
.comms-signal i {
    display:block;
    width:4px;
    background:#58d6ff;
    border-radius:4px
}
.comms-signal i:nth-child(1) {
    height:9px
}
.comms-signal i:nth-child(2) {
    height:17px
}
.comms-signal i:nth-child(3) {
    height:25px
}
.comms-signal b {
    font-size:11px;
    letter-spacing:.14em;
    margin-left:7px
}
.comms-tabs,.comms-filters {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin-bottom:10px
}
.comms-tabs a,.comms-filters a {
    padding:8px 11px;
    border:1px solid rgba(135,174,218,.16);
    border-radius:10px;
    background:rgba(8,19,34,.72);
    font-size:12px
}
.comms-tabs a.active,.comms-filters a.active {
    border-color:rgba(81,205,255,.52);
    background:rgba(34,136,188,.15);
    color:#c9f3ff
}
.comms-filters em {
    font-style:normal;
    margin-left:6px;
    background:#dc4966;
    color:#fff;
    padding:1px 6px;
    border-radius:99px
}
.comms-layout {
    display:grid;
    grid-template-columns:minmax(360px,.82fr) minmax(480px,1.18fr);
    gap:14px
}
.comms-list-panel {
    padding:11px
}
.comms-list {
    display:flex;
    flex-direction:column;
    max-height:70vh;
    overflow:auto
}
.comms-row {
    display:grid;
    grid-template-columns:minmax(90px,.28fr) 1fr auto;
    gap:3px 9px;
    padding:11px 12px;
    border-bottom:1px solid rgba(127,170,210,.1);
    color:inherit;
    text-decoration:none
}
.comms-row:hover,.comms-row.selected {
    background:rgba(42,119,170,.12)
}
.comms-row.unread {
    box-shadow:inset 3px 0 #46d2ff
}
.comms-row strong {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.comms-row small {
    opacity:.55
}
.comms-row p {
    grid-column:2/4;
    margin:2px 0 0;
    font-size:12px;
    opacity:.66
}
.comms-origin {
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#7fdfff;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.comms-reader {
    min-height:610px
}
.comms-meta {
    opacity:.58;
    font-size:12px;
    margin-bottom:18px
}
.comms-body {
    line-height:1.72;
    white-space:normal;
    padding:16px 0 22px;
    border-bottom:1px solid rgba(135,174,218,.12)
}
.comms-actions {
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin:14px 0 24px;
    flex-wrap:wrap
}
.comms-actions form {
    display:flex;
    gap:7px
}
.comms-compose {
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid rgba(135,174,218,.12)
}
.comms-placeholder {
    text-align:center;
    padding:70px 20px;
    opacity:.65
}
.orbital-glyph {
    font-size:58px;
    color:#67d8ff
}
.comms-bulk {
    display:flex;
    gap:8px;
    padding:10px 4px 0
}
.comms-bulk select {
    flex:1
}
.achievement-total,.officer-wallet {
    display:flex;
    gap:14px;
    align-items:center;
    padding:12px 16px;
    border-radius:14px;
    border:1px solid rgba(102,199,255,.18);
    background:rgba(8,19,35,.75)
}
.achievement-total b {
    font-size:26px;
    color:#f7cb67
}
.achievement-total span,.achievement-total small {
    font-size:11px;
    letter-spacing:.1em
}
.achievement-grid,.officer-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
.achievement-card,.officer-card {
    border:1px solid rgba(135,174,218,.14);
    border-radius:16px;
    background:linear-gradient(150deg,rgba(15,31,52,.94),rgba(6,14,26,.94));
    padding:15px
}
.achievement-card header,.officer-card header {
    display:flex;
    align-items:center;
    gap:10px
}
.achievement-card header>strong,.officer-card header>b {
    margin-left:auto
}
.achievement-rune,.officer-sigil {
    width:42px;
    height:42px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:rgba(72,184,231,.12);
    border:1px solid rgba(72,184,231,.22);
    color:#76dcff
}
.achievement-progress {
    height:6px;
    background:rgba(255,255,255,.06);
    border-radius:99px;
    overflow:hidden;
    margin:14px 0 7px
}
.achievement-progress i {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#3da7e2,#72e9d2)
}
.achievement-card.completed .achievement-progress i {
    background:linear-gradient(90deg,#e4a849,#ffe59b)
}
.achievement-numbers {
    display:flex;
    justify-content:space-between
}
.achievement-steps {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:12px
}
.achievement-steps span {
    padding:6px 8px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:8px;
    font-size:11px;
    opacity:.45
}
.achievement-steps span.done {
    opacity:1;
    border-color:rgba(84,218,173,.35);
    color:#8af0ca
}
.achievement-steps span small {
    display:block;
    font-size:9px;
    opacity:.7
}
.officer-doctrine div {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:8px
}
.officer-doctrine div span {
    padding:7px 9px;
    border-radius:9px;
    background:rgba(69,188,225,.08);
    font-size:11px
}
.officer-card.active {
    border-color:rgba(90,225,184,.35);
    box-shadow:0 0 30px rgba(27,152,126,.08)
}
.officer-card p {
    min-height:82px;
    line-height:1.55;
    color:rgba(220,231,244,.74)
}
.officer-effect {
    padding:11px;
    border-radius:11px;
    background:rgba(22,52,75,.55)
}
.officer-effect span,.officer-effect small {
    display:block;
    font-size:10px;
    letter-spacing:.08em;
    opacity:.62
}
.officer-effect b {
    display:block;
    margin:4px 0;
    color:#8ee4ff
}
.officer-status {
    font-size:11px;
    margin:11px 0
}
.status-live {
    color:#75ebbf
}
.officer-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px
}
.officer-actions form,.officer-actions button {
    width:100%
}
@media(max-width:1180px) {
    .achievement-grid,.officer-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .comms-layout {
        grid-template-columns:1fr
    }
    .comms-list {
        max-height:43vh
    }

}
@media(max-width:700px) {
    .achievement-grid,.officer-grid {
        grid-template-columns:1fr
    }
    .comms-row {
        grid-template-columns:1fr auto
    }
    .comms-origin {
        grid-column:1/2
    }
    .comms-row strong {
        grid-column:1/3
    }
    .comms-row p {
        grid-column:1/3
    }
    .comms-reader {
        min-height:auto
    }
    .officer-actions {
        grid-template-columns:1fr
    }
    .achievement-total,.officer-wallet {
        width:100%;
        justify-content:space-between
    }

}

/* v7.32 — Galaxy Command + Fleet Center desktop operational density */
.galaxy-command-shell {
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:14px;
    align-items:start
}

.galaxy-nav-command {
    display:grid;
    grid-template-columns:1fr 1fr;
    
}
.galaxy-nav-command button {
    grid-column:1/-1
}
.stellar-core {
    height:180px;
    margin:14px 0;
    display:grid;
    place-items:center;
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:radial-gradient(circle at 50% 50%,rgba(100,216,255,.25),rgba(13,28,49,.55) 35%,rgba(4,9,18,.94) 72%);
    border:1px solid rgba(109,202,255,.16)
}
.stellar-core i {
    width:74px;
    height:74px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#fff 0,#bbf2ff 18%,#4aa9dd 48%,rgba(47,116,165,.2) 70%);
    box-shadow:0 0 45px rgba(105,218,255,.55),0 0 100px rgba(65,142,210,.18)
}
.stellar-core span {
    position:absolute;
    bottom:13px;
    font-size:10px;
    letter-spacing:.18em;
    opacity:.66
}
.galaxy-env-kpis {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    
}
.galaxy-env-kpis div {
    padding:9px;
    border-radius:10px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(130,186,229,.09)
}
.galaxy-env-kpis small,.galaxy-env-kpis b {
    display:block
}
.galaxy-env-kpis small {
    
    letter-spacing:.08em;
    opacity:.6
}
.galaxy-phenomena {
    font-size:11px;
    line-height:1.5
}
.galaxy-orbit-board {
    min-width:0
}
.orbit-command-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(150px,1fr));
    gap:9px
}
.orbit-command-card {
    min-height:174px;
    padding:11px;
    border-radius:14px;
    border:1px solid rgba(113,165,207,.11);
    background:linear-gradient(155deg,rgba(13,27,46,.92),rgba(5,12,23,.96));
    display:flex;
    flex-direction:column;
    gap:9px
}
.orbit-command-card:hover {
    border-color:rgba(106,211,255,.34);
    transform:translateY(-1px)
}
.orbit-command-card.unknown {
    opacity:.62
}
.orbit-command-card.mine {
    border-color:rgba(94,227,180,.32);
    box-shadow:inset 0 0 24px rgba(29,143,112,.06)
}
.orbit-command-card header {
    display:flex;
    justify-content:space-between;
    gap:7px
}
.orbit-no {
    font-size:10px;
    letter-spacing:.12em;
    color:#82ddff
}
.orbit-state {
    font-size:8px;
    letter-spacing:.1em;
    opacity:.5
}
.orbit-object {
    display:flex;
    gap:9px;
    align-items:center
}
.orbit-object>div {
    min-width:0
}
.orbit-object strong,.orbit-object span,.orbit-object small {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.orbit-object strong {
    text-transform:uppercase;
    font-size:11px
}
.orbit-object span {
    font-size:12px;
    margin-top:3px
}
.orbit-object small {
    font-size:9px;
    opacity:.55
}
.orbit-icon {
    width:35px;
    height:35px;
    border-radius:50%;
    flex:0 0 35px;
    background:radial-gradient(circle at 35% 30%,rgba(197,239,255,.9),rgba(70,135,179,.45) 35%,rgba(15,38,62,.1) 72%);
    box-shadow:0 0 18px rgba(64,172,225,.15)
}
.orbit-asteroid_belt {
    border-radius:40%;
    background:radial-gradient(ellipse,rgba(193,163,119,.7),rgba(75,59,47,.15) 65%)
}
.orbit-metrics {
    display:flex;
    gap:5px;
    flex-wrap:wrap
}
.orbit-metrics span {
    font-size:9px;
    padding:4px 6px;
    border-radius:6px;
    background:rgba(255,255,255,.035);
    opacity:.72
}
.orbit-actions {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:auto
}
.orbit-actions a,.orbit-actions span {
    font-size:10px;
    padding:6px 7px;
    border-radius:7px;
    background:rgba(69,181,226,.08)
}
.orbit-actions .danger-link {
    background:rgba(229,75,91,.09);
    color:#ff9aa6
}
.galaxy-alert {
    margin-bottom:10px
}
.galaxy-alert-row {
    display:grid;
    grid-template-columns:1fr 1.4fr 1.3fr auto;
    gap:8px;
    padding:8px 0;
    border-top:1px solid rgba(255,255,255,.06);
    font-size:11px
}
.fleet-command-deck {
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);
    
}

.mission-quickbar {
    display:flex;
    
    flex-wrap:wrap;
    margin-top:12px
}
.mission-quickbar a.active {
    background:rgba(82,211,185,.14);
    color:#8ff0d1;
    border:1px solid rgba(82,211,185,.22)
}
.fleet-live-summary {
    display:grid;
    
    
    align-content:center
}
.fleet-live-summary>.eyebrow {
    grid-column:1/-1
}
.fleet-live-summary div {
    padding:10px;
    border-radius:10px;
    background:rgba(255,255,255,.035)
}
.fleet-live-summary small,.fleet-live-summary strong {
    display:block
}
.fleet-live-summary small {
    
    opacity:.55
}
.fleet-live-summary strong {
    margin-top:4px;
    
}

.fleet-section-head {
    display:flex;
    align-items:end;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:11px
}
.fleet-section-head h2 {
    margin:0
}
.fleet-section-head small {
    margin-left:auto;
    opacity:.55
}
.fleet-form-command {
    display:grid;
    
    
}
.fleet-form-command .fleet-full {
    grid-column:1/-1
}
.fleet-form-command label {
    margin:0
}
.fleet-form-command .unit-picker {
    display:grid;
    grid-template-columns:repeat(6,minmax(130px,1fr));
    gap:6px
}
.fleet-form-command .unit-picker label {
    padding:7px 8px;
    border-radius:8px;
    background:rgba(255,255,255,.025);
    border:1px solid rgba(118,170,210,.08)
}
.fleet-form-command .unit-picker span {
    font-size:10px
}
.fleet-form-command .unit-picker input {
    margin-top:5px
}
.fleet-traffic-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px
}
.fleet-traffic-card {
    padding:11px;
    border-radius:12px;
    border:1px solid rgba(112,171,215,.11);
    background:rgba(7,17,29,.72)
}
.fleet-traffic-card header,.fleet-route {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:7px
}
.fleet-status {
    font-size:8px;
    letter-spacing:.08em;
    opacity:.6
}
.fleet-route {
    padding:12px 0;
    color:#87ddff
}
.fleet-route i {
    opacity:.35
}
.fleet-traffic-card dl {
    display:grid;
    gap:5px;
    margin:0
}
.fleet-traffic-card dl div {
    display:flex;
    justify-content:space-between;
    gap:8px;
    font-size:9px
}
.fleet-traffic-card dt {
    opacity:.48
}
.fleet-traffic-card dd {
    margin:0;
    text-align:right
}
@media(min-width:1550px) {
    .orbit-command-grid {
        grid-template-columns:repeat(6,minmax(155px,1fr))
    }
    .fleet-form-command .unit-picker {
        grid-template-columns:repeat(9,minmax(120px,1fr))
    }
    .fleet-traffic-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }

}
@media(max-width:1250px) {
    .galaxy-command-shell {
        grid-template-columns:240px minmax(0,1fr)
    }
    .orbit-command-grid {
        grid-template-columns:repeat(4,minmax(150px,1fr))
    }
    .fleet-form-command {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .fleet-form-command .unit-picker {
        grid-template-columns:repeat(4,minmax(130px,1fr))
    }
    .fleet-traffic-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }

}
@media(max-width:900px) {
    .galaxy-command-shell {
        grid-template-columns:1fr
    }
    .galaxy-system-console {
        position:static
    }
    .orbit-command-grid {
        grid-template-columns:repeat(3,minmax(145px,1fr))
    }
    .fleet-command-deck {
        grid-template-columns:1fr
    }
    .fleet-form-command .unit-picker {
        grid-template-columns:repeat(3,minmax(120px,1fr))
    }
    .fleet-traffic-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:650px) {
    .orbit-command-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .orbit-command-card {
        min-height:155px
    }
    .galaxy-alert-row {
        grid-template-columns:1fr
    }
    .fleet-live-summary {
        grid-template-columns:repeat(3,1fr)
    }
    .fleet-form-command {
        grid-template-columns:1fr
    }
    .fleet-form-command .unit-picker {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .fleet-traffic-grid {
        grid-template-columns:1fr
    }

}
/* v7.33 Imperium Matrix */
.imperium-hero {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:end;
    margin-bottom:18px;
    padding:22px;
    border:1px solid rgba(95,196,255,.18);
    background:linear-gradient(135deg,rgba(9,25,44,.92),rgba(13,15,34,.82));
    border-radius:16px
}
.imperium-hero h1 {
    margin:.25rem 0 .5rem;
    font-size:clamp(1.8rem,3vw,3rem)
}
.imperium-hero p {
    max-width:850px;
    color:#91a5bd
}
.imperium-kpis {
    display:flex;
    gap:10px
}
.imperium-kpis b {
    min-width:90px;
    padding:12px;
    text-align:center;
    background:rgba(0,0,0,.22);
    border:1px solid rgba(255,255,255,.08);
    border-radius:12px;
    font-size:1.35rem
}
.imperium-kpis small {
    display:block;
    font-size:.68rem;
    color:#7990a9;
    text-transform:uppercase;
    letter-spacing:.08em
}
.imperium-toolbar {
    position:sticky;
    top:64px;
    z-index:12;
    display:flex;
    gap:8px;
    align-items:center;
    padding:10px;
    background:rgba(5,11,22,.94);
    backdrop-filter:blur(14px);
    border:1px solid rgba(108,190,255,.16);
    border-radius:12px;
    margin-bottom:10px
}
.imperium-toolbar button {
    padding:8px 12px;
    border-radius:8px
}
.imperium-toolbar button.active {
    background:rgba(64,181,255,.16);
    border-color:rgba(64,181,255,.5)
}
.imperium-toolbar label {
    margin-left:auto;
    color:#8ba0b6;
    font-size:.8rem
}
.imperium-research-strip {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:16px;
    padding:12px 14px;
    margin-bottom:10px;
    border:1px solid rgba(139,102,255,.18);
    background:rgba(18,15,38,.72);
    border-radius:12px
}
.imperium-research-strip strong {
    display:block
}
.imperium-research-scroll {
    display:flex;
    gap:8px;
    overflow:auto;
    padding-bottom:2px
}
.imperium-research-scroll span {
    white-space:nowrap;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;
    color:#9cacc0;
    font-size:.72rem
}
.imperium-matrix-wrap {
    overflow:auto;
    max-height:calc(100vh - 210px);
    border:1px solid rgba(102,187,255,.15);
    border-radius:14px;
    background:rgba(4,10,20,.7)
}
.imperium-matrix {
    border-collapse:separate;
    border-spacing:0;
    min-width:100%;
    width:max-content;
    font-size:.74rem
}
.imperium-matrix th,.imperium-matrix td {
    min-width:112px;
    padding:7px 9px;
    border-right:1px solid rgba(255,255,255,.05);
    border-bottom:1px solid rgba(255,255,255,.05);
    text-align:right
}
.imperium-matrix thead th {
    position:sticky;
    top:0;
    z-index:5;
    background:#081323
}
.imperium-matrix .sticky-col {
    position:sticky;
    left:0;
    z-index:7;
    min-width:210px;
    max-width:260px;
    text-align:left;
    background:#091625
}
.imperium-matrix thead .sticky-col {
    z-index:9
}
.imperium-total {
    position:sticky;
    left:210px;
    z-index:6;
    background:#10182d!important;
    font-weight:700;
    color:#c7d5e6
}
.world-head {
    min-width:132px!important;
    text-align:center!important;
    background:linear-gradient(#0b1727,#07101d)!important
}
.world-head a {
    display:grid;
    justify-items:center;
    gap:2px
}
.world-head small,.world-head em {
    font-size:.66rem;
    color:#6f849b;
    font-style:normal
}
.world-orb {
    
    
    border-radius:50%;
    
    background:radial-gradient(circle at 32% 30%,#9fe8ff 0 8%,#287eb1 22%,#122e52 58%,#050915 72%);
    box-shadow:0 0 16px rgba(56,175,255,.32)
}
.world-head.is-moon .world-orb {
    background:radial-gradient(circle at 32% 30%,#d8e0e8 0 8%,#677583 25%,#273341 60%,#080b10 72%)
}
.group-row th {
    position:sticky;
    left:0!important;
    text-align:left!important;
    background:#0d1e31!important;
    color:#74c9f4;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:.65rem
}
.imperium-mobile-worlds {
    display:none
}
.mini-kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px
}
.mini-kpis b {
    padding:8px;
    background:rgba(0,0,0,.18);
    border-radius:8px
}
.mini-kpis small {
    display:block;
    color:#71869c;
    font-size:.62rem
}
@media(max-width:820px) {
    .imperium-matrix-wrap,.imperium-research-strip {
        display:none
    }
    .imperium-mobile-worlds {
        display:grid;
        gap:10px
    }
    .imperium-mobile-worlds article {
        padding:14px;
        border:1px solid rgba(98,184,255,.14);
        background:rgba(8,18,32,.78);
        border-radius:12px
    }
    .imperium-mobile-worlds header {
        display:flex;
        justify-content:space-between;
        align-items:center;
        margin-bottom:10px
    }
    .imperium-mobile-worlds header>div {
        display:grid;
        grid-template-columns:auto 1fr;
        column-gap:9px;
        align-items:center
    }
    .imperium-mobile-worlds h3 {
        margin:0
    }
    .imperium-mobile-worlds header small {
        grid-column:2
    }
    .imperium-hero {
        display:block
    }
    .imperium-kpis {
        margin-top:12px
    }
    .imperium-toolbar {
        overflow:auto;
        top:0
    }
    .imperium-toolbar label {
        display:none
    }

}
/* v7.34 Galaxy Tactical Command: dense 1080p command surface + touch-safe mobile cards */
.galaxy-tactical-table-wrap {
    overflow:auto;
    max-height:calc(100vh - 152px);
    border:1px solid rgba(83,156,204,.16);
    
    background:rgba(5,13,24,.78)
}
.galaxy-tactical-table {
    min-width:1180px;
    font-size:10px;
    background:transparent
}
.galaxy-tactical-table thead {
    position:sticky;
    top:0;
    z-index:4
}
.galaxy-tactical-table th {
    padding:8px 9px;
    
    
    text-transform:uppercase;
    background:#0b2135;
    color:#75cfee;
    border-bottom:1px solid #24516c
}
.galaxy-tactical-table td {
    padding:6px 8px;
    vertical-align:middle;
    border-bottom:1px solid rgba(102,154,190,.08);
    background:rgba(5,15,27,.48)
}
.galaxy-tactical-table tr:hover td {
    background:rgba(21,57,83,.5)
}
.galaxy-tactical-table tr.mine td {
    background:rgba(21,79,64,.16)
}
.galaxy-tactical-table tr.unknown {
    opacity:.68
}
.galaxy-tactical-table td:nth-child(1) {
    width:66px
}
.galaxy-tactical-table td:nth-child(2) {
    min-width:220px
}
.galaxy-tactical-table td:nth-child(3) {
    min-width:125px
}
.galaxy-tactical-table td:nth-child(4) {
    min-width:95px
}
.galaxy-tactical-table td:nth-child(5) {
    min-width:195px
}
.galaxy-tactical-table td:nth-child(6) {
    min-width:80px
}
.galaxy-tactical-table td:nth-child(7) {
    min-width:370px
}
.galaxy-tactical-table small,.galaxy-tactical-table strong,.galaxy-tactical-table em {
    display:block
}
.galaxy-tactical-table small {
    font-size:8.5px;
    color:#7191a7;
    margin-top:2px
}
.galaxy-tactical-table em {
    font-style:normal;
    color:#a4d9f1;
    font-size:9px;
    margin-top:3px
}
.orbit-number {
    font-size:14px;
    color:#85defc
}
.own-label {
    color:#79e4b7!important
}
.galaxy-body-cell {
    display:flex;
    align-items:center;
    
}
.galaxy-body-cell .orbit-icon {
    width:28px;
    height:28px;
    flex:0 0 28px
}
.galaxy-body-cell>span {
    min-width:0
}
.galaxy-body-cell strong {
    
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    max-width:175px
}
.galaxy-row-actions {
    display:flex;
    
    align-items:center;
    
}
.galaxy-row-actions a,.galaxy-row-actions button {
    
    min-height:27px;
    
    
    line-height:1;
    background:rgba(55,153,203,.08);
    border:1px solid rgba(82,181,224,.14);
    color:#9ae4ff;
    font-weight:600
}
.galaxy-row-actions form {
    margin:0
}
.galaxy-row-actions button.quick {
    cursor:pointer
}
.galaxy-row-actions .danger-link {
    color:#ff9aa7;
    background:rgba(201,53,70,.09);
    border-color:rgba(230,75,94,.18)
}
.galaxy-row-actions .missile {
    color:#ffd183;
    background:rgba(189,122,31,.1);
    border-color:rgba(226,156,65,.18)
}
.galaxy-row-actions .recycle {
    color:#8ce9c0;
    background:rgba(49,167,122,.1);
    border-color:rgba(71,205,154,.2)
}
.galaxy-row-actions .colonize {
    color:#b9e9ff
}
.galaxy-action-legend {
    display:grid;
    gap:6px;
    margin-top:12px;
    font-size:9px;
    letter-spacing:.06em;
    color:#7e9db1
}
.galaxy-action-legend span {
    display:flex;
    gap:7px;
    align-items:center
}
.galaxy-action-legend i {
    width:7px;
    height:7px;
    border-radius:50%;
    display:inline-block;
    background:#7591a3
}
.galaxy-action-legend .ok {
    background:#52d69a
}
.galaxy-action-legend .warn {
    background:#ff8b9d
}
.galaxy-action-legend .debris {
    background:#e8b561
}

.mobile-debris {
    padding:7px 8px;
    border-radius:8px;
    background:rgba(47,160,121,.08);
    border:1px solid rgba(71,205,154,.12)
}
.mobile-debris strong,.mobile-debris small {
    display:block
}
.mobile-debris small {
    font-size:9px;
    opacity:.65
}
@media(min-width:1500px) {
    .galaxy-command-shell-v734 {
        grid-template-columns:270px minmax(0,1fr)
    }
    .galaxy-tactical-table {
        font-size:10.5px
    }
    .galaxy-tactical-table td:nth-child(7) {
        min-width:430px
    }

}

@media(max-width:650px) {
    .galaxy-mobile-orbits .orbit-actions form {
        display:inline-flex
    }
    .galaxy-mobile-orbits .orbit-actions button {
        padding:6px 7px;
        font-size:10px
    }
    .galaxy-command-head .page-actions {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .galaxy-command-head .page-actions .button-link:last-child {
        grid-column:1/-1;
        text-align:center
    }

}
/* v7.34 Phalanx / intelligence synthesis */
.phalanx-command-layout {
    display:grid;
    
    
}
.phalanx-history {
    
    overflow:auto;
    position:sticky;
    
}
.phalanx-history h2 {
    margin-top:0
}
.phalanx-scan-row {
    display:grid;


    border:1px solid transparent;
    
    background:rgba(255,255,255,.025)
}
.phalanx-scan-row:hover,.phalanx-scan-row.selected {
    border-color:rgba(71,190,235,.28);
    background:rgba(46,132,177,.08)
}

.phalanx-scan-row span,.phalanx-scan-row small {
    
    color:#7798ad
}
.phalanx-kpis {
    display:grid;


}
.phalanx-kpis>div {
    
    
    background:#071725;
    border:1px solid #183c55
}
.phalanx-kpis small,.phalanx-kpis strong {
    display:block
}
.phalanx-kpis small {
    font-size:9px;
    color:#7696ad;
    text-transform:uppercase
}

.phalanx-contact-list {
    display:grid;
    
}
.phalanx-contact-list article {
    
    border:1px solid #183a52;
    background:#061420;
    
}
.phalanx-contact-list header,.phalanx-contact-list article>div {
    display:flex;
    justify-content:space-between;
    gap:9px;
    flex-wrap:wrap
}
.phalanx-contact-list article>div {
    
    
    color:#86a6b9
}

.phalanx-contact-list pre {
    font-size:10px;
    margin-bottom:0
}
@media(max-width:900px) {
    .phalanx-kpis {
        grid-template-columns:repeat(2,1fr)
    }

}

/* v7.35 Commander Identity & Social Discovery */
.commander-hero {
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:24px;
    align-items:center;
    background:radial-gradient(circle at 82% 20%,rgba(93,119,255,.2),transparent 34%),linear-gradient(145deg,rgba(9,29,49,.98),rgba(6,17,31,.98))
}
.commander-hero h1 {
    font-size:clamp(2rem,4vw,4.4rem);
    margin:.1em 0
}
.commander-title {
    font-size:1.1rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--accent,#7edcff)
}
.commander-motto {
    margin:16px 0 0;
    padding-left:16px;
    border-left:2px solid rgba(126,220,255,.35);
    opacity:.82
}
.commander-meta {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
    font-size:.82rem;
    opacity:.72
}
.commander-rank-core {
    min-height:180px;
    border:1px solid rgba(126,220,255,.18);
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    background:radial-gradient(circle,rgba(39,91,137,.3),rgba(5,17,30,.2) 68%)
}
.commander-rank-core strong {
    font-size:3.2rem
}
.commander-score-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:14px 0
}
.score-card {
    display:grid;
    grid-template-columns:1fr auto;
    gap:5px 12px;
    align-items:end
}
.score-card small {
    grid-column:1/-1
}
.score-card strong {
    font-size:1.35rem
}
.score-card span {
    opacity:.62
}
.commander-two-col {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:14px
}
.record-kpis {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px
}
.record-kpis>div {
    padding:13px;
    background:rgba(8,24,39,.55);
    border:1px solid rgba(126,220,255,.1);
    border-radius:12px
}
.record-kpis small,.record-kpis strong {
    display:block
}
.record-kpis strong {
    font-size:1.35rem;
    margin-top:4px
}
.medal-grid {
    display:flex;
    flex-wrap:wrap;
    gap:9px
}
.medal {
    padding:9px 12px;
    border-radius:999px;
    border:1px solid rgba(237,205,107,.2);
    background:rgba(143,107,24,.12)
}
.commander-timeline {
    display:grid;
    gap:8px
}
.timeline-event {
    display:grid;
    grid-template-columns:170px 120px minmax(0,1fr) auto;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid rgba(255,255,255,.06);
    align-items:center
}
.timeline-event time {
    opacity:.55;
    font-size:.78rem
}
.social-command-hero {
    background:radial-gradient(circle at 85% 10%,rgba(95,104,255,.18),transparent 38%),rgba(7,22,38,.92)
}
.social-tabs {
    display:flex;
    
    flex-wrap:wrap;
    
}
.social-tabs a {
    
    border:1px solid rgba(126,220,255,.17);
    
}
.leaderboard-board {
    margin-top:14px
}
.leaderboard-list {
    display:grid
}
.leader-row {
    display:grid;
    grid-template-columns:64px minmax(180px,1fr) 150px 60px;
    gap:12px;
    align-items:center;
    padding:9px 5px;
    border-bottom:1px solid rgba(255,255,255,.055)
}
.leader-rank {
    font-size:1.1rem;
    color:#91dfff
}
.leader-name {
    font-weight:700
}
.record-wall {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px
}
.record-category {
    min-width:0
}
.record-holder {
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    gap:8px;
    padding:9px 0;
    border-bottom:1px solid rgba(255,255,255,.055)
}
.record-holder.rank-1>b {
    color:#f2d676
}
.record-holder.rank-2>b {
    color:#c6d2df
}
.record-holder.rank-3>b {
    color:#cf956e
}
.battle-record {
    grid-template-columns:50px minmax(0,1fr) 150px auto
}
.global-search {
    display:flex;
    gap:8px;
    margin:18px 0
}
.global-search input {
    flex:1;
    min-width:0;
    font-size:1.05rem
}
.search-results-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px
}
.search-result {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid rgba(255,255,255,.06)
}
.search-result span {
    opacity:.62;
    text-align:right;
    font-size:.82rem
}
.commander-edit details>summary {
    cursor:pointer;
    font-weight:700
}
@media(max-width:1100px) {
    .commander-score-grid,.record-wall {
        grid-template-columns:repeat(2,1fr)
    }
    .search-results-grid {
        grid-template-columns:1fr
    }
    .commander-two-col {
        grid-template-columns:1fr
    }
    .timeline-event {
        grid-template-columns:135px 110px minmax(0,1fr)
    }

}
@media(max-width:700px) {
    .commander-hero {
        grid-template-columns:1fr
    }
    .commander-rank-core {
        width:170px;
        min-height:170px
    }
    .commander-score-grid,.record-wall,.record-kpis {
        grid-template-columns:repeat(2,1fr)
    }
    .timeline-event {
        grid-template-columns:1fr;
        gap:3px
    }
    .leader-row,.battle-record {
        grid-template-columns:44px minmax(0,1fr) auto
    }
    .leader-row>span:last-child {
        display:none
    }
    .global-search {
        flex-direction:column
    }

}
.statistics-index,.record-type-tabs {
    display:flex;
    flex-wrap:wrap;
    
}
.statistics-index a,.record-type-tabs a {
    
    border:1px solid rgba(126,220,255,.15);
    
    
}
.element-record-section {
    scroll-margin-top:90px
}
.element-record-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px
}
.element-record-card {
    padding:12px;
    border:1px solid rgba(126,220,255,.11);
    border-radius:12px;
    background:rgba(5,19,33,.48)
}
.element-record-card header {
    min-height:42px;
    margin-bottom:5px
}
.element-record-card .record-holder {
    grid-template-columns:30px minmax(0,1fr) auto;
    padding:6px 0;
    font-size:.82rem
}
.alliance-leaders .leader-row {
    grid-template-columns:64px minmax(180px,1fr) 150px 90px
}
@media(max-width:1200px) {
    .element-record-grid {
        grid-template-columns:repeat(3,1fr)
    }

}
@media(max-width:850px) {
    .element-record-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:560px) {
    .element-record-grid {
        grid-template-columns:1fr
    }
    .alliance-leaders .leader-row {
        grid-template-columns:44px minmax(0,1fr) auto
    }
    .alliance-leaders .leader-row>span {
        display:none
    }

}
/* v7.36 Economy Command + Visual Technology Tree */
.economy-kpis {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:10px
}
.economy-kpis>div,.economy-mobile-grid>div {
    padding:12px;
    border:1px solid var(--line);
    background:rgba(4,12,24,.55)
}
.economy-kpis small,.economy-kpis strong,.economy-mobile-grid small,.economy-mobile-grid strong,.economy-mobile-grid span {
    display:block
}
.economy-kpis strong {
    font-size:1.35rem
}
.economy-matrix-scroll {
    overflow:auto;
    max-height:68vh
}
.economy-matrix {
    border-collapse:separate;
    border-spacing:0;
    min-width:max(1200px,100%);
    font-size:.82rem
}
.economy-matrix th,.economy-matrix td {
    padding:8px 10px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    vertical-align:top;
    white-space:nowrap
}
.economy-matrix thead th {
    position:sticky;
    top:0;
    z-index:5;
    background:#071522
}
.economy-matrix th:first-child {
    position:sticky;
    left:0;
    z-index:4;
    background:#071522
}
.economy-matrix thead th:first-child {
    z-index:7
}
.economy-matrix th:nth-child(2),.economy-matrix td:nth-child(2) {
    background:rgba(40,120,170,.08)
}
.economy-matrix th small,.economy-matrix td small {
    display:block;
    opacity:.66;
    margin-top:3px
}
.econ-section th {
    position:sticky!important;
    left:0!important;
    background:#0a2030!important;
    color:#93d9ff;
    letter-spacing:.08em
}
.economy-mobile-worlds {
    display:none
}
.visual-tech-tree {
    display:grid;
    gap:18px
}
.tech-domain {
    padding:16px;
    border:1px solid var(--line);
    background:linear-gradient(180deg,rgba(9,25,42,.88),rgba(4,12,23,.9));
    border-radius:14px
}
.tech-node-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px
}
.tech-node {
    padding:12px;
    border:1px solid var(--line);
    border-radius:10px;
    background:rgba(3,10,20,.72);
    min-height:170px;
    display:flex;
    flex-direction:column;
    gap:8px
}
.tech-node.status-fulfilled {
    box-shadow:inset 3px 0 rgba(90,220,155,.7)
}
.tech-node.status-available {
    box-shadow:inset 3px 0 rgba(79,188,255,.8)
}
.tech-node.status-next {
    box-shadow:inset 3px 0 rgba(240,180,70,.8)
}
.tech-node.status-blocked {
    opacity:.7
}
.tech-node-head {
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap
}
.tech-node-head h3 {
    margin:0;
    flex:1
}
.tech-status {
    display:inline-flex;
    padding:3px 7px;
    border:1px solid var(--line);
    border-radius:999px;
    font-size:.68rem;
    text-transform:uppercase;
    letter-spacing:.06em
}
.tech-status.fulfilled {
    color:#7de5ae
}
.tech-status.available {
    color:#79d8ff
}
.tech-status.next {
    color:#f5c96a
}
.tech-status.blocked {
    color:#9aa7b3
}
.tech-links {
    display:flex;
    flex-wrap:wrap;
    gap:5px
}
.tech-links small {
    width:100%;
    opacity:.6;
    text-transform:uppercase
}
.tech-links span {
    font-size:.72rem;
    padding:3px 6px;
    border:1px solid var(--line);
    border-radius:6px
}
.tech-links .ok {
    color:#7de5ae
}
.tech-links .missing {
    color:#f09b9b
}
.tech-node .button-link {
    margin-top:auto
}
.tech-tree-legend {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
@media(max-width:1100px) {
    .economy-kpis {
        grid-template-columns:repeat(2,1fr)
    }
    .tech-node-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:720px) {
    .economy-matrix-wrap {
        display:none
    }
    .economy-mobile-worlds {
        display:grid;
        gap:10px
    }
    .economy-mobile-grid {
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:7px
    }
    .economy-kpis {
        grid-template-columns:1fr 1fr
    }
    .tech-node-grid {
        grid-template-columns:1fr
    }

}
/* v7.37 Active Fleet Command / Commander Log / Combat Integration */
.fleet-command-hero,.fleet-command-summary,.fleet-command-grid,.commander-log-layout,.modifier-source-grid {
    display:grid;
    gap:14px
}
.fleet-command-hero {
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end
}
.fleet-command-summary {
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:14px 0
}
.fleet-command-summary article,.fleet-command-kpis>div {
    padding:12px 14px;
    border:1px solid var(--line);
    background:rgba(9,20,36,.72);
    border-radius:12px
}
.fleet-command-summary small,.fleet-command-kpis small {
    display:block;
    color:var(--muted);
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.08em
}
.fleet-command-summary strong,.fleet-command-kpis strong {
    font-size:1.25rem
}
.fleet-command-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.fleet-command-card {


    padding:15px;
    
}
.fleet-command-card>header,.fleet-command-route,.fleet-command-actions {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:center
}
.fleet-command-route {
    padding:11px 0;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line)
}
.fleet-command-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px;
    margin:11px 0
}
.fleet-command-times {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px
}
.fleet-command-times div {
    min-width:0
}
.fleet-command-times dt {
    color:var(--muted);
    font-size:.7rem;
    text-transform:uppercase
}
.fleet-command-times dd {
    margin:2px 0;
    font-variant-numeric:tabular-nums
}
.fleet-command-actions {
    align-items:stretch;
    flex-wrap:wrap;
    margin-top:12px
}
.fleet-command-actions form {
    display:flex;
    gap:7px;
    align-items:center
}
.fleet-command-actions input,.fleet-command-actions select {
    min-width:140px
}
.fleet-group-note {
    padding:8px 10px;
    border-left:3px solid var(--accent);
    background:rgba(50,130,210,.08)
}
.commander-log-layout {
    grid-template-columns:minmax(280px,.72fr) minmax(0,1.6fr);
    align-items:start
}
.commander-notes {
    display:grid;
    gap:10px
}
.commander-note {
    padding:15px;
    border:1px solid var(--line);
    background:rgba(8,19,34,.88);
    border-radius:14px
}
.commander-note header {
    display:flex;
    justify-content:space-between;
    gap:10px
}
.commander-note.priority-3 {
    border-color:rgba(255,95,95,.55)
}
.commander-note.priority-2 {
    border-color:rgba(255,180,70,.45)
}
.coord-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}
.coord-chip {
    display:inline-flex;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(71,155,255,.1);
    margin:4px 0
}
.note-tags {
    display:block;
    color:var(--muted);
    margin:8px 0
}
.combat-integration-panel {
    margin-top:14px
}
.modifier-source-grid {
    grid-template-columns:repeat(5,minmax(0,1fr));
    margin-top:10px
}
.modifier-source-grid article {
    min-width:0;
    padding:10px;
    background:rgba(0,0,0,.16);
    border-radius:10px
}
.modifier-source-grid code {
    display:block;
    white-space:pre-wrap;
    word-break:break-word;
    font-size:.72rem;
    margin-top:5px
}
.rapid-fire-table-wrap {
    overflow:auto;
    max-height:620px
}
.rapid-fire-table {
    width:100%;
    border-collapse:collapse;
    font-variant-numeric:tabular-nums
}
.rapid-fire-table th {
    position:sticky;
    top:0;
    background:var(--surface,#0c1b2e);
    z-index:1
}
.rapid-fire-table th,.rapid-fire-table td {
    padding:8px 10px;
    border-bottom:1px solid var(--line);
    text-align:left;
    white-space:nowrap
}
.rapid-fire-table td:first-child {
    white-space:normal
}
.rapid-fire-table td small {
    display:block;
    color:var(--muted)
}
.rf-on {
    font-weight:700
}
.rf-off {
    color:var(--muted)
}
.alliance-hierarchy-strip {
    
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:9px;
    margin:12px 0
}
.alliance-hierarchy-strip article {
    padding:11px;
    border:1px solid var(--line);
    border-radius:11px;
    background:rgba(8,20,36,.8)
}
.alliance-hierarchy-strip small {
    display:block;
    color:var(--muted)
}
@media(min-width:1500px) {
    .fleet-command-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .commander-log-layout {
        grid-template-columns:380px minmax(0,1fr)
    }

}
@media(max-width:900px) {
    .fleet-command-hero,.commander-log-layout {
        grid-template-columns:1fr
    }
    .fleet-command-grid {
        grid-template-columns:1fr
    }
    .modifier-source-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .alliance-hierarchy-strip {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:620px) {
    .fleet-command-summary,.fleet-command-kpis,.fleet-command-times {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .fleet-command-card>header,.fleet-command-route {
        align-items:flex-start;
        flex-direction:column
    }
    .fleet-command-actions form {
        width:100%;
        flex-wrap:wrap
    }
    .fleet-command-actions input,.fleet-command-actions select,.fleet-command-actions button {
        width:100%
    }
    .modifier-source-grid {
        grid-template-columns:1fr
    }

}

/* v7.38 Alliance Command information hierarchy */
.alliance-subnav {
    display:flex;
    gap:.45rem;
    overflow-x:auto;
    padding:.65rem;
    margin:0 0 1rem;
    border:1px solid var(--line,#26384d);
    border-radius:12px;
    background:rgba(8,18,31,.76);
    position:sticky;
    top:64px;
    z-index:8;
    scrollbar-width:thin
}
.alliance-subnav a {
    white-space:nowrap;
    padding:.55rem .75rem;
    border-radius:8px;
    color:var(--muted,#9eb0c3);
    text-decoration:none;
    font-size:.86rem
}
.alliance-subnav a:hover,.alliance-subnav a.active {
    background:rgba(96,165,250,.12);
    color:var(--text,#e8f0fa);
    box-shadow:inset 0 0 0 1px rgba(96,165,250,.25)
}
.alliance-command-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:1rem
}
.command-list {
    display:grid;
    gap:.5rem
}
.command-list>div,.dense-table>div,.alliance-member-row,.war-row,.history-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:.75rem;
    padding:.7rem 0;
    border-bottom:1px solid rgba(148,163,184,.14)
}
.command-list dt,.command-list dd {
    margin:0
}
.command-link-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.65rem
}
.command-link-grid a {
    display:block;
    padding:.85rem;
    border:1px solid rgba(148,163,184,.18);
    border-radius:9px;
    text-decoration:none
}
.alliance-member-row {
    grid-template-columns:minmax(180px,1fr) auto auto
}
.alliance-member-row>div {
    display:flex;
    flex-direction:column
}
.history-row {
    grid-template-columns:1fr auto
}
.history-row code {
    grid-column:1/-1;
    overflow-wrap:anywhere;
    white-space:normal
}
.war-row {
    grid-template-columns:1fr auto
}
.war-row small {
    grid-column:1/-1
}

.alliance-hierarchy-strip {
    overflow-x:auto
}
@media(max-width:900px) {
    .alliance-subnav {
        top:52px
    }
    .alliance-command-grid {
        grid-template-columns:1fr
    }
    .alliance-member-row {
        grid-template-columns:1fr
    }
    .alliance-member-row form {
        width:100%
    }
    .command-link-grid {
        grid-template-columns:1fr
    }
    .alliance-hierarchy-strip {
        display:flex
    }
    .alliance-hierarchy-strip article {
        min-width:105px
    }
    .rank-editor {
        grid-template-columns:1fr
    }
    .dense-table>div {
        grid-template-columns:1fr auto
    }
    .alliance-command-hero p {
        max-width:60ch
    }

}
/* v7.43 Administrator Command + compact scientific Overview */
.admin-command-head {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:24px;
    margin:0 0 18px;
    padding:22px 24px;
    border:1px solid #1b587a;
    background:linear-gradient(110deg,rgba(8,28,47,.96),rgba(5,13,24,.95));
    border-radius:16px;
    box-shadow:0 18px 45px #0007
}
.admin-command-head h1 {
    font-size:clamp(30px,4vw,52px);
    margin:4px 0 6px;
    letter-spacing:-.035em
}
.admin-command-head p {
    max-width:840px;
    margin:0;
    color:#8fb0c4
}
.admin-seal {
    min-width:150px;
    padding:12px 14px;
    border-left:2px solid #39d5ff;
    background:#071724;
    display:grid;
    gap:2px
}
.admin-seal small,.admin-seal span {
    font-size:9px;
    letter-spacing:1.6px;
    color:#668ba2
}
.admin-seal strong {
    font-size:30px;
    color:#8be8ff
}
.admin-kpi-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:9px;
    margin-bottom:14px
}
.admin-kpi-grid article {
    padding:13px 15px;
    border:1px solid #173f5c;
    background:#071522;
    border-radius:10px
}
.admin-kpi-grid small {
    display:block;
    color:#5f8196;
    font-size:9px;
    letter-spacing:1.4px
}
.admin-kpi-grid strong {
    font-size:24px
}
.admin-module-grid {
    display:grid;


}
.admin-module {
    display:grid;
    
    
    align-items:center;
    
    border:1px solid #1d4f70;
    background:linear-gradient(145deg,#0b2136,#07131f);
    
}
.admin-module>span {
    font:800 18px ui-monospace,monospace;
    color:#3dd8ff
}
.admin-module b {
    display:block;
    color:#dff6ff
}
.admin-module small {
    display:block;
    color:#7397ad;
    
}
.admin-param-section {
    padding:14px 0;
    border-top:1px solid #17364b
}
.admin-param-section h3 {
    margin:0 0 10px
}
.admin-param-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(160px,1fr));
    gap:10px
}
.admin-param-grid label {
    font-size:12px;
    color:#9bb7c8
}
.admin-param-grid label small {
    display:block;
    font-size:10px;
    color:#608296;
    margin-top:4px
}
.admin-inline-form {
    display:grid;
    grid-template-columns:1fr 1fr auto;
    gap:12px;
    align-items:end
}
.universe-control-title {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:start
}
.universe-control-title h2 {
    margin:4px 0
}
.admin-status-form {
    display:grid;
    grid-template-columns:130px 240px auto;
    gap:8px
}
.admin-security-grid {
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:14px
}
.abuse-signal {
    padding:12px;
    margin:8px 0;
    border:1px solid #224a63;
    background:#071522;
    border-radius:10px
}
.abuse-signal>div {
    display:flex;
    justify-content:space-between;
    gap:10px
}
.abuse-signal span {
    font-size:11px;
    color:#7fa1b5
}
.abuse-signal pre {
    max-height:240px;
    font-size:11px
}
.admin-signal-review {
    display:grid;
    grid-template-columns:120px 1fr auto;
    gap:8px;
    margin-top:8px
}
.score-high {
    border-color:#8a3144
}
.score-review {
    border-color:#765f2e
}
.overview-command-deck {
    display:grid;
    
    
    align-items:center;


}
.overview-planet-identity {
    display:flex;
    align-items:center;
    
}

.overview-planet-identity p {
    margin:0;
    color:#7696ad;
    font-family:ui-monospace,monospace;
    
}
.overview-mini-orb {
    
    
    flex:0 0 82px;


}
.overview-science-grid {
    display:grid;
    
    
}
.overview-science-grid div {
    
    border-left:1px solid #1d5676;
    
}
.overview-science-grid small {
    display:block;
    
    
    color:#5e849a
}

.overview-primary-actions {
    display:grid;
    
}
.overview-primary-actions a {
    
    border:1px solid #1d5877;
    background:#082035;


}
.overview-alert-strip {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:14px;
    align-items:center;
    
    
    border:1px solid #8b3850;
    background:#36121d;
    
    
}
.overview-alert-strip div {
    display:flex;
    gap:14px;
    overflow:auto
}
.overview-dense-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    
}
.overview-queue-row,.overview-fleet-row {
    display:grid;
    
    
    align-items:center;
    
    border-bottom:1px solid #123249;
    
}
.overview-queue-row time,.overview-fleet-row time {
    font-family:ui-monospace,monospace;
    color:#6fdfff
}
.overview-news-item {
    
    border-bottom:1px solid #123249
}
.overview-news-item>div {
    display:flex;
    justify-content:space-between;
    gap:10px
}
.overview-news-item small {
    color:#5f849a
}
.overview-news-item p {
    
    color:#9bb9ca;
    
    
}
.overview-news-item.pinned b:before {
    content:"◆ ";
    color:#3dd8ff
}
.overview-world-grid {
    display:grid;
    
    
}
.overview-world button {
    width:100%;
    text-align:left;
    background:#071725;
    border:1px solid #1d4560;
    box-shadow:none;
    
}
.overview-world.active button {
    
    background:#0a2a3e
}
.overview-world button span {
    display:flex;
    justify-content:space-between;
    gap:8px
}
.overview-world button small {
    color:#6e93a9
}
.overview-world button em {
    display:block;
    
    
    font-style:normal;
    color:#81a7bc
}
.overview-guidance-row {
    display:flex;
    justify-content:space-between;
    gap:12px;
    
    border-bottom:1px solid #123249
}
.overview-guidance-row b,.overview-guidance-row small {
    display:block
}
.overview-guidance-row small {
    color:#718fa2;
    margin-top:3px
}
.overview-guidance-row em {
    font-size:11px;
    font-style:normal;
    white-space:nowrap
}
.page-actions {
    display:flex;
    gap:8px;
    align-items:center
}
.page-actions form {
    margin:0
}
@media(max-width:1100px) {
    .overview-command-deck {
        grid-template-columns:1fr 1fr
    }
    .overview-primary-actions {
        grid-column:1/-1;
        grid-template-columns:repeat(4,1fr)
    }
    .admin-param-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .admin-kpi-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .overview-world-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:720px) {
    .admin-command-head,.universe-control-title {
        align-items:stretch;
        flex-direction:column
    }
    .admin-module-grid,.admin-security-grid,.overview-dense-grid {
        grid-template-columns:1fr
    }
    .admin-param-grid {
        grid-template-columns:1fr 1fr
    }
    .admin-inline-form,.admin-status-form {
        grid-template-columns:1fr
    }
    .overview-command-deck {
        grid-template-columns:1fr;
        padding:14px
    }
    .overview-primary-actions {
        grid-column:auto;
        grid-template-columns:1fr 1fr
    }
    .overview-science-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .overview-world-grid {
        grid-template-columns:1fr
    }
    .overview-queue-row,.overview-fleet-row {
        grid-template-columns:90px 1fr
    }
    .overview-queue-row time,.overview-fleet-row time {
        grid-column:2
    }
    .admin-signal-review {
        grid-template-columns:1fr
    }

}
/* v7.44 i18n audit */
.admin-audit-list {
    display:grid;
    gap:.4rem;
    max-height:28rem;
    overflow:auto;
    padding:.5rem 0
}
.admin-audit-list code {
    display:block;
    padding:.5rem .65rem;
    border:1px solid rgba(125,211,252,.13);
    background:rgba(3,11,20,.45);
    white-space:normal;
    overflow-wrap:anywhere
}
.two-col {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem
}
@media(max-width:760px) {
    .two-col {
        grid-template-columns:1fr
    }

}

/* v8.0 LiveOps */
.liveops-banner {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:.8rem;
    align-items:center;
    padding:.65rem .9rem;
    margin:.65rem 0;
    border:1px solid rgba(120,190,255,.25);
    background:rgba(8,22,38,.86);
    font-size:.9rem
}
.liveops-banner.warning {
    border-color:rgba(255,190,80,.55)
}
.liveops-banner.critical {
    border-color:rgba(255,80,100,.7);
    box-shadow:0 0 22px rgba(255,70,90,.08)
}
.liveops-banner strong {
    letter-spacing:.04em
}
.liveops-banner small {
    opacity:.7
}
/* D18: dead responsive legacy retired by D18. */

/* v8.2 Desktop Command Surface — Nova-native, informed by z1 density but not its assets/runtime */
:root {

     --bg:#02060d;
    --panel:rgba(5,17,31,.94);
    --panel2:#071a2c;
    --line:#163b56;
    --line-hot:#267ba1;

     --accent:#44d9ff;
    --accent2:#b8f3ff;
    --text:#d8e9f5;
    --muted:#6e91a8;
    --ok:#58d9a6;
    --danger:#ff6078;

     --violet:#8d63ff;
    --amber:#efc06a;
    --deck:#06111e;
    --deck2:#030a12;

}

body {
    font-size:13px;
    
     radial-gradient(ellipse at 8% 55%,rgba(77,36,112,.12),transparent 34%),
     linear-gradient(180deg,#030914,#01040a 65%,#02060c);

}
body:before {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background-image:linear-gradient(rgba(76,178,221,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(76,178,221,.018) 1px,transparent 1px);
    background-size:36px 36px;
    mask-image:linear-gradient(to bottom,#0008,transparent 75%)
}


.brand {


    font-size:13px;
    
    white-space:nowrap
}
.brand-mark {
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border:1px solid #27698b;
    background:#071d2e;
    color:#78e6ff;
    font:800 13px ui-monospace,monospace;
    clip-path:polygon(18% 0,82% 0,100% 50%,82% 100%,18% 100%,0 50%)
}


.topbar nav a {
    
    font-size:11px;


    border-bottom:2px solid transparent
}
.topbar nav a:hover {
    color:#dff8ff;
    border-bottom-color:#3ccff8;
    background:linear-gradient(180deg,transparent,rgba(50,183,226,.06))
}
.topbar-actions {
    display:flex;
    align-items:center;
    
}

.top-icon {


    padding:0!important;
    border:1px solid #183e57;
    background:#061522;
    
    font-size:13px
}
.topbar .ghost {
    height:30px;
    
    border-radius:2px;
    font-size:10px
}
.shell {
    grid-template-columns:186px minmax(0,1fr);
    max-width:none;
    width:100%;
    margin:0
}
.sidebar {


    gap:3px
}
.nav-section {
    border-bottom:1px solid rgba(52,111,145,.16);
    padding:5px 0
}

.nav-section summary {
    
    list-style:none
}
.nav-section summary::-webkit-details-marker {
    display:none
}
.sidebar a {
    padding:5px 8px;
    border-radius:2px;
    color:#799eb4;
    font-size:11px;
    line-height:1.35
}
.sidebar a b {
    font-weight:600
}
.sidebar a:hover {
    background:linear-gradient(90deg,rgba(37,139,183,.16),transparent);
    box-shadow:inset 2px 0 #3ed4ff;
    color:#e5f8ff;
    transform:none
}

.content {


    margin:0 auto
}
.panel {
    
    
    border-radius:3px;
    border-color:#123a56;
    background:linear-gradient(180deg,rgba(7,24,42,.96),rgba(4,14,25,.96));
    box-shadow:inset 0 1px rgba(121,213,255,.025),0 4px 18px #0005
}
.section-head {
    
    
    margin-bottom:5px;
    
}
.section-head h2 {
    margin:1px 0;
    font-size:14px;
    
    font-weight:650
}

.muted {
    color:#66879b!important;
    
}

.resources>div {
    position:relative;
    
    border-radius:2px!important;
    border:1px solid #123850!important;
    background:linear-gradient(180deg,#071a2a,#04111d)!important;
    box-shadow:none!important;
    overflow:hidden
}
.resources>div:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#28bce8
}
.resources>div:nth-child(2):before {
    background:#6bbdf6
}
.resources>div:nth-child(3):before {
    background:#6ad5bf
}
.resources>div:nth-child(4):before {
    background:#9b78ff
}
.resources span {
    
    
    color:#577a91
}
.resources b {
    font:650 14px ui-monospace,SFMono-Regular,Consolas,monospace;
    color:#dff7ff
}
.resources small {
    font-size:9px;
    color:#4acb9c
}

.planet-switcher {
    
    gap:7px
}

.planet-switcher select {
    
    
    border-radius:2px;
    
}
.ghost-link,.button-link,button {
    border-radius:2px;
    padding:7px 10px;
    font-size:11px;
    box-shadow:none
}
.ghost-link {
    padding:7px 9px
}


.cards {
    gap:7px;
    
}
.cards article {
    padding:11px;
    border-radius:3px!important
}
.tech-grid {
    grid-template-columns:repeat(4,minmax(190px,1fr));
    gap:6px
}
.tech {
    padding:10px;
    border-radius:3px!important
}
.tech h3 {
    font-size:13px
}
.grid,.grid2 {
    gap:7px
}

table {
    font-size:11px;
    
}
th,td {
    padding:6px 8px;
    border-bottom-color:#102f44
}
th {
    font-size:9px;


    position:sticky;
    top:0;
    z-index:1
}
tr:hover td {
    background:rgba(37,133,177,.045)
}

.qty {
    max-width:110px
}
.fleet-form {
    gap:6px
}


.cargo-grid,.preview-grid {
    grid-template-columns:repeat(4,minmax(120px,1fr));
    gap:5px
}


.preset-list article,.guidance-list article {
    padding:7px;
    border-radius:2px
}
.risk {
    padding:4px 7px;
    border-radius:2px
}
.overview-command-deck {


    border-color:#18506e;
    
    
}


.overview-science-grid div {
    
    background:#041522;
    border-left-color:#17455f
}


.overview-alert-strip {
    margin-bottom:6px;
    padding:6px 8px;
    border-radius:2px;
    font-size:10px
}


.overview-world button small {
    font-size:8px
}
.overview-world button em {
    margin-top:3px;
    font-size:8px
}

.admin-command-head,.ops-command-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin:0 0 7px;
    padding:10px 12px;
    border:1px solid #184c69;
    background:linear-gradient(105deg,#071c2e,#030d17);
    border-radius:3px;
    box-shadow:0 5px 20px #0007
}
.admin-command-head h1,.ops-command-head h1 {
    font-size:23px;
    margin:1px 0 2px;
    letter-spacing:-.02em
}
.admin-command-head p,.ops-command-head p {
    font-size:10px;
    max-width:900px;
    margin:0;
    color:#7798ab
}
.admin-seal,.ops-health {
    min-width:145px;
    padding:7px 9px;
    border-left:2px solid #3acff2;
    background:#04131f;
    display:grid;
    gap:1px
}
.admin-seal strong,.ops-health strong {
    font-size:18px
}
.admin-kpi-grid,.ops-kpi-grid {
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:4px;
    margin-bottom:6px
}
.admin-kpi-grid article,.ops-kpi-grid article {
    padding:7px 8px;
    border:1px solid #123950;
    background:#04131f;
    border-radius:2px
}
.admin-kpi-grid small,.ops-kpi-grid small {
    display:block;
    color:#56778d;
    font:700 7px ui-monospace,monospace;
    letter-spacing:1px
}
.admin-kpi-grid strong,.ops-kpi-grid strong {
    font:650 16px ui-monospace,monospace
}
.ops-kpi-grid span {
    display:block;
    font-size:8px;
    color:#658ba1;
    margin-top:2px
}
.admin-module-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    margin-bottom:6px
}
.admin-module {
    grid-template-columns:28px 1fr;
    gap:7px;
    padding:8px;
    border-radius:2px
}
.admin-module>span {
    font-size:11px
}
.admin-module b {
    font-size:10px
}
.admin-module small {
    font-size:8px;
    margin-top:2px
}
.admin-ops-strip a {
    display:flex;
    align-items:center;
    gap:7px;
    padding:6px 8px;
    border:1px solid #183b50;
    background:#04111c;
    color:#9fc7da;
    font-size:10px
}
.admin-ops-strip small {
    margin-left:auto
}
.status-dot {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#788896
}
.status-dot.ok {
    background:#43d39b;
    box-shadow:0 0 8px #43d39b88
}
.status-dot.warning {
    background:#efbd58
}
.status-dot.critical {
    background:#ff5c74
}
.ops-health.ok {
    border-color:#47d49e
}
.ops-health.warning {
    border-color:#efbb58
}
.ops-health.critical {
    border-color:#ff5d75
}
.ops-health small,.ops-health span {
    font-size:7px;
    color:#65879a
}
.ops-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px
}
.ops-grid>.panel {
    margin:0
}
.ops-facts {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
    margin:5px 0
}
.ops-facts>div {
    min-width:0;
    padding:6px;
    background:#03101a;
    border:1px solid #10334a
}
.ops-facts small {
    display:block;
    font-size:7px;
    color:#557a90;
    letter-spacing:.8px
}
.ops-facts b {
    display:block;
    margin-top:2px;
    font-size:10px;
    overflow-wrap:anywhere
}
.ops-table>div,.ops-problem-row,.ops-run-row {
    display:grid;
    grid-template-columns:1.2fr .65fr .65fr 1fr;
    gap:7px;
    padding:5px 0;
    border-bottom:1px solid #0e2d41;
    font-size:9px
}
.ops-hash {
    font-family:ui-monospace,monospace;
    font-size:8px!important;
    word-break:break-all
}
@media(min-width:1600px) {
    .content {
        max-width:none
    }
    .overview-dense-grid {
        grid-template-columns:1fr 1fr
    }

}
@media(max-width:1200px) {
    .admin-kpi-grid,.ops-kpi-grid {
        grid-template-columns:repeat(4,1fr)
    }
    .admin-module-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .overview-command-deck {
        grid-template-columns:1fr 1fr
    }
    .overview-primary-actions {
        grid-column:1/-1;
        grid-template-columns:repeat(4,1fr)
    }
    .overview-world-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .unit-picker {
        grid-template-columns:repeat(4,1fr)
    }

}
@media(max-width:900px) {
    .topbar {
        height:54px
    }
    .shell {
        display:block
    }
    .overview-command-deck {
        grid-template-columns:1fr
    }
    .overview-science-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .overview-dense-grid,.ops-grid {
        grid-template-columns:1fr
    }
    .admin-kpi-grid,.ops-kpi-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:560px) {
    .overview-world-grid,.admin-module-grid,.ops-facts {
        grid-template-columns:1fr
    }
    .overview-science-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .overview-planet-identity {
        align-items:flex-start
    }
    .admin-ops-strip a {
        align-items:flex-start;
        flex-direction:column
    }
    .admin-ops-strip small {
        margin-left:0
    }

}

/* v8.3.2 Visual Command Surface I — guest/auth correction + desktop visual hierarchy */
body.app-guest {
    min-height:100vh;
    background:#02060c;
    overflow-x:hidden
}
body.app-guest .stars {
    opacity:.42;
    background-size:31px 31px;
    background-image:radial-gradient(rgba(180,231,255,.42) .7px,transparent .8px)
}
body.app-guest .space-haze {
    position:fixed;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 18% 24%,rgba(25,126,190,.16),transparent 34%),radial-gradient(circle at 78% 28%,rgba(98,61,173,.13),transparent 31%),linear-gradient(180deg,rgba(2,8,16,.1),rgba(1,4,9,.82));
    z-index:0
}
.shell.guest-shell {
    display:block;
    max-width:none;
    width:100%;
    min-height:100vh;
    margin:0
}
.app-guest .content {
    position:relative;
    z-index:1;
    width:100%;
    min-height:100vh;
    padding:0
}
.auth-stage {
    position:relative;
    isolation:isolate;
    min-height:100vh;
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(390px,520px);
    grid-template-rows:1fr auto;
    align-items:center;
    gap:42px;
    padding:clamp(40px,6vw,96px) clamp(34px,7vw,124px) 34px;
    overflow:hidden
}
.auth-stage:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-3;
    background:linear-gradient(90deg,rgba(2,7,14,.16) 0%,rgba(2,7,14,.15) 46%,rgba(2,7,14,.78) 72%,rgba(2,7,14,.94) 100%)
}
.auth-space {
    position:absolute;
    inset:0;
    z-index:-4;
    overflow:hidden;
    background:radial-gradient(circle at 24% 49%,rgba(26,104,159,.20),transparent 25%),linear-gradient(180deg,#020915 0%,#02060d 62%,#010308 100%)
}
.auth-space:before {
    content:"";
    position:absolute;
    left:-7vw;
    bottom:-36vh;
    width:75vw;
    height:75vw;
    border-radius:50%;
    background:radial-gradient(circle at 58% 29%,rgba(104,203,240,.92) 0 1%,rgba(47,127,176,.84) 3%,rgba(20,58,90,.96) 15%,#091827 32%,#030811 57%,#010205 68%);
    box-shadow:0 0 120px rgba(48,164,224,.18),inset -80px -55px 140px #000;
    filter:saturate(.86)
}
.auth-space:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:16%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(70,185,235,.25),transparent);
    box-shadow:0 -110px 90px rgba(24,91,136,.05)
}
.auth-orbit {
    position:absolute;
    border:1px solid rgba(92,197,239,.18);
    border-radius:50%;
    transform:rotate(-19deg)
}
.auth-orbit-a {
    left:-10vw;
    bottom:-18vw;
    width:77vw;
    height:34vw
}
.auth-orbit-b {
    left:-1vw;
    bottom:-9vw;
    width:59vw;
    height:24vw;
    border-color:rgba(146,112,232,.13)
}
.auth-beacon {
    position:absolute;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#85e9ff;
    box-shadow:0 0 18px #35c2ff
}
.auth-beacon-a {
    left:38%;
    top:24%
}
.auth-beacon-b {
    left:57%;
    top:62%;
    background:#a992ff;
    box-shadow:0 0 18px #826aff
}
.auth-intro {
    max-width:760px;
    align-self:center;
    padding-bottom:8vh;
    text-shadow:0 4px 28px #000
}
.auth-kicker {
    display:inline-flex;
    align-items:center;
    gap:10px;
    font:700 11px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.27em;
    color:#64d7ff;
    text-transform:uppercase
}
.auth-kicker:before {
    content:"";
    width:38px;
    height:1px;
    background:#35c2ff;
    box-shadow:0 0 8px #35c2ff
}
.auth-intro h1 {
    margin:20px 0 16px;
    font-size:clamp(48px,6vw,92px);
    line-height:.86;
    letter-spacing:-.055em;
    color:#eff9ff;
    font-weight:850
}
.auth-intro h1 b {
    display:block;
    color:#52ceff;
    font-weight:850;
    text-shadow:0 0 36px rgba(53,194,255,.25)
}
.auth-intro p {
    max-width:630px;
    margin:0;
    color:#9db8c9;
    font-size:clamp(16px,1.4vw,21px);
    line-height:1.65
}
.auth-telemetry {
    display:flex;
    flex-wrap:wrap;
    gap:8px 18px;
    margin-top:32px;
    padding-top:18px;
    border-top:1px solid rgba(82,177,218,.18);
    font:650 10px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.13em;
    color:#66869c
}
.auth-telemetry span {
    display:flex;
    align-items:center;
    gap:7px
}
.auth-telemetry i {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4cdda0;
    box-shadow:0 0 12px #4cdda0
}
.auth-console {
    justify-self:end;
    width:min(100%,480px);
    padding:0;
    border:1px solid rgba(71,166,211,.44);
    background:linear-gradient(180deg,rgba(7,20,35,.91),rgba(3,11,21,.96));
    box-shadow:0 32px 90px rgba(0,0,0,.62),0 0 0 1px rgba(100,215,255,.035) inset;
    backdrop-filter:blur(18px);
    clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))
}
.auth-console header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:27px 30px 22px;
    border-bottom:1px solid rgba(66,154,197,.22);
    background:linear-gradient(90deg,rgba(29,104,143,.13),transparent)
}
.auth-console h2 {
    margin:5px 0 0;
    font-size:25px;
    letter-spacing:-.02em
}
.auth-console .eyebrow {
    font:700 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.23em
}
.auth-console-mark {
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border:1px solid #2c91bd;
    color:#8ee8ff;
    font-weight:900;
    font-size:20px;
    background:#071725;
    box-shadow:0 0 24px rgba(53,194,255,.09)
}
.auth-console form {
    display:grid;
    gap:18px;
    padding:28px 30px 30px
}
.auth-console label {
    display:grid;
    gap:8px
}
.auth-console label>span {
    font:650 10px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#7fa4bb
}
.auth-console input {
    height:48px;
    padding:0 14px;
    border-radius:2px;
    border-color:#1e526f;
    background:rgba(2,11,20,.9);
    font-size:15px;
    outline:none;
    transition:border .15s,box-shadow .15s,background .15s
}
.auth-console input:focus {
    border-color:#4ac9ff;
    background:#061725;
    box-shadow:0 0 0 2px rgba(53,194,255,.12),0 0 24px rgba(53,194,255,.08)
}
.auth-submit {
    height:50px;
    margin-top:4px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 17px;
    border-radius:2px;
    border-color:#38bde9;
    background:linear-gradient(90deg,#087aa7,#0b9bc7);
    font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.13em;
    text-transform:uppercase;
    box-shadow:0 7px 28px rgba(0,137,190,.16)
}
.auth-submit span {
    font-size:18px
}
.auth-submit:hover {
    filter:brightness(1.1);
    transform:translateY(-1px)
}
.auth-console footer {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:18px 30px 20px;
    border-top:1px solid rgba(66,154,197,.17);
    background:rgba(2,8,15,.5);
    font-size:12px;
    color:#68879c
}
.auth-console footer a {
    font-weight:700;
    color:#72ddff
}
.auth-footerline {
    grid-column:1/-1;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:18px;
    border-top:1px solid rgba(65,142,180,.16);
    font:650 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.2em;
    color:#405d70
}
.auth-stage-register .auth-intro {
    padding-bottom:3vh
}
.auth-register-console form {
    gap:14px
}
/* Desktop command surface: less card-like, more instrument-like. */
.app-authenticated .shell.command-shell {
    max-width:none;
    width:100%;
    grid-template-columns:186px minmax(0,1fr)
}
.app-authenticated .topbar {
    height:50px;
    padding:0 14px;
    background:rgba(2,8,15,.96);
    border-bottom-color:#12334a;
    box-shadow:0 10px 35px #0007
}
.app-authenticated .brand-mark {
    width:30px;
    height:30px;
    border-radius:4px
}
.app-authenticated .brand {
    font-size:15px
}
.app-authenticated .brand small {
    font-size:6px
}
.app-authenticated .topbar nav a {
    padding:17px 0;
    font-size:11px
}
.app-authenticated .top-icon {
    width:31px;
    height:31px;
    border-radius:4px
}
.app-authenticated .topbar button.ghost {
    padding:7px 9px;
    border-radius:3px;
    font-size:11px
}
.app-authenticated .sidebar {
    top:50px;
    min-height:calc(100vh - 50px);
    max-height:calc(100vh - 50px);
    padding:10px 8px;
    background:linear-gradient(180deg,rgba(4,15,26,.96),rgba(2,8,15,.98));
    border-right-color:#14364d
}
.app-authenticated .sidebar a {
    padding:7px 8px;
    border-radius:3px;
    font-size:11px
}
.app-authenticated .nav-section {
    gap:1px
}
.app-authenticated .nav-section>span,.app-authenticated .nav-section summary {
    font-size:8px;
    letter-spacing:.13em;
    padding:8px 7px 5px
}
.app-authenticated .content {
    padding:12px 14px 28px
}
.app-authenticated .panel,.app-authenticated .hero,.app-authenticated .resources>div,.app-authenticated .tech,.app-authenticated .cards article,.app-authenticated .messages article {
    border-radius:3px;
    box-shadow:0 7px 24px #0003
}
.app-authenticated .panel {
    padding:13px;
    margin-bottom:10px
}
.app-authenticated .resources {
    gap:6px;
    margin-bottom:9px
}
.app-authenticated .resources>div {
    padding:8px 10px
}
.app-authenticated .resources span {
    font-size:9px
}
.app-authenticated .resources b {
    font-size:14px
}
.app-authenticated .section-head h2 {
    margin:2px 0;
    font-size:16px
}
.app-authenticated .eyebrow {
    font-size:9px;
    
}
.app-authenticated table th,.app-authenticated table td {
    padding:7px 8px;
    font-size:11px
}
.app-authenticated input,.app-authenticated select,.app-authenticated textarea {
    border-radius:3px;
    padding:7px 8px
}
.app-authenticated button,.app-authenticated .button-link {
    border-radius:3px;
    padding:7px 10px;
    font-size:11px
}
@media(max-width:900px) {
    .auth-stage {
        grid-template-columns:1fr;
        align-content:center;
        gap:28px;
        padding:40px 22px 28px
    }
    .auth-intro {
        padding:0;
        max-width:650px
    }
    .auth-intro h1 {
        font-size:clamp(46px,13vw,74px)
    }
    .auth-console {
        justify-self:start;
        width:min(100%,560px)
    }
    .auth-space:before {
        left:-42vw;
        bottom:-18vw;
        width:118vw;
        height:118vw;
        opacity:.72
    }
    .auth-footerline {
        margin-top:8px
    }
    .app-authenticated .content {
        padding:10px 10px calc(82px + env(safe-area-inset-bottom))
    }

}
@media(max-width:560px) {
    .auth-stage {
        padding:28px 14px 20px
    }
    .auth-intro p {
        font-size:14px
    }
    .auth-telemetry {
        display:none
    }
    .auth-console header,.auth-console form {
        padding-left:20px;
        padding-right:20px
    }
    .auth-console footer {
        align-items:flex-start;
        flex-direction:column;
        padding-left:20px;
        padding-right:20px
    }
    .auth-footerline {
        font-size:7px;
        letter-spacing:.12em
    }
    .auth-space:before {
        left:-60vw;
        bottom:-8vw;
        width:150vw;
        height:150vw
    }
    .auth-console {
        clip-path:none
    }

}

/* v8.3.11 — Buildings Command Density: canonical operational order + 4/5-column desktop grid */
.compact-building-hero {
    min-height:132px;
    padding:16px 22px;
    margin-bottom:9px
}
.compact-building-hero h1 {
    font-size:36px;
    margin:3px 0 5px
}
.compact-building-hero p {
    font-size:12px;
    line-height:1.35;
    margin:0 0 4px
}
.compact-building-hero .progression-orbit {
    width:104px;
    height:104px;
    margin-right:12px
}
.compact-building-hero .progression-orbit:after {
    inset:29px
}
.compact-building-hero .progression-orbit span {
    inset:10px
}
.compact-building-hero .progression-orbit span:nth-child(2) {
    inset:21px
}
.compact-building-hero .progression-orbit span:nth-child(3) {
    inset:3px
}
.building-mechanics {
    margin-bottom:8px
}
.building-mechanics>div {
    padding:8px 10px
}
.building-mechanics strong {
    font-size:16px
}
.building-command-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    align-items:start
}
.building-command-card {
    padding:10px 10px 9px;
    border-radius:4px;
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:6px;
    box-shadow:0 5px 16px #0003
}
.building-card-head {
    gap:7px!important;
    min-height:38px
}
.building-card-title {
    min-width:0
}
.building-command-card h2 {
    font-size:14px!important;
    line-height:1.1;
    margin:2px 0 0!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.building-command-card h2 a {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.building-command-card .progression-role {
    font-size:7px;
    letter-spacing:.11em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    display:block
}
.building-command-card .level-badge {
    display:flex;
    align-items:baseline;
    gap:2px;
    padding:3px 6px;
    border-radius:3px;
    font-size:9px
}
.building-command-card .level-badge b {
    font-size:12px;
    color:#dcefff
}
.building-command-card .level-badge small {
    font-size:8px;
    color:#6f9ab3
}
.building-description {
    font-size:10px!important;
    line-height:1.35!important;
    min-height:27px!important;
    margin:0!important;
    -webkit-line-clamp:2!important
}
.building-fast-facts {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px
}
.building-fast-facts span {
    padding:5px 6px;
    border:1px solid #163b54;
    background:#061522;
    min-width:0
}
.building-fast-facts small,.building-fast-facts b {
    display:block
}
.building-fast-facts small {
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#688da5
}
.building-fast-facts b {
    margin-top:2px;
    font-size:10px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.building-fast-facts .ready b {
    color:#73dfb1
}
.building-fast-facts .blocked b {
    color:#ff97a7
}
.building-effect {
    margin:0!important;
    padding:6px 7px!important;
    border-radius:0 3px 3px 0!important;
    gap:2px!important;
    min-height:39px
}
.building-effect b {
    font-size:7px!important
}
.building-effect span {
    font-size:9px!important;
    line-height:1.3;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden
}
.building-blockers {
    display:flex;
    
    flex-wrap:wrap
}
.building-blockers span {
    
    padding:3px 5px;
    background:#29141d99;
    color:#ff9aaa;
    border:1px solid #5a2735;
    white-space:nowrap;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis
}
.building-blockers b {
    color:#ffd1d7
}
.building-cost-row {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    
}
.building-cost-row span {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:3px;
    
    background:#071725;
    border:1px solid #15384f;
    font-size:8px;
    min-width:0
}
.building-cost-row i {
    font-style:normal;
    font-weight:800;
    color:#63cce9;
    
}
.building-card-actions {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch!important;
    gap:4px!important;
    margin:0!important;
    
}
.building-card-actions form,.building-card-actions button {
    width:100%
}
.building-card-actions button,.building-card-actions .secondary-action,.building-card-actions .state-pill {
    min-height:27px;
    padding:5px 7px;
    border-radius:2px;
    font-size:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap
}
.building-card-actions .secondary-action {
    max-width:88px;
    overflow:hidden;
    text-overflow:ellipsis
}
.building-card-detail {
    border-top:1px solid #14354a;
    padding-top:5px
}
.building-card-detail summary {
    cursor:pointer;
    display:flex;
    justify-content:space-between;
    gap:6px;
    color:#75a8c3;
    
    text-transform:uppercase;
    letter-spacing:.06em;
    list-style:none
}
.building-card-detail summary::-webkit-details-marker {
    display:none
}
.building-card-detail summary:before {
    content:"+";
    color:#55d5ff;
    font-weight:900;
    margin-right:2px
}
.building-card-detail[open] summary:before {
    content:"−"
}
.building-card-detail summary span {
    margin-left:auto;
    color:#55788d
}
.building-card-detail .progression-columns {
    grid-template-columns:1fr;
    gap:3px;
    margin-top:5px
}
.building-card-detail .progression-columns h3 {
    font-size:7px;
    margin:3px 0
}
.building-card-detail .requirements li,.building-card-detail .unlock-list li {
    padding:4px 5px;
    font-size:8px
}
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */

/* v8.3.12 — Progression Command Density II: Research / Shipyard / Defenses */
.command-density-hero {
    min-height:146px;
    padding:18px 24px;
    margin-bottom:10px;
    border-radius:16px
}
.command-density-hero h1 {
    font-size:clamp(28px,2.6vw,40px);
    margin:4px 0 6px
}
.command-density-hero p {
    max-width:820px;
    margin:0;
    color:#91adbf;
    font-size:13px;
    line-height:1.4
}
.command-density-hero .research-glyph,.command-density-hero .unit-silhouette,.command-density-hero .defense-radar {
    transform:scale(.78);
    transform-origin:center right;
    margin-right:0
}
.command-density-mechanics {
    margin-bottom:10px
}
.command-density-mechanics>div {
    min-height:58px;
    padding:9px 12px
}
.command-density-mechanics small {
    font-size:9px
}
.command-density-mechanics strong {
    font-size:18px
}
.command-density-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:8px
}
.command-density-card {
    min-width:0;
    padding:11px 12px;
    border-radius:9px;
    display:flex;
    flex-direction:column
}
.command-card-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:7px
}
.command-card-head>div {
    min-width:0
}
.command-card-head h2 {
    margin:2px 0 0;
    font-size:14px!important;
    line-height:1.12
}
.command-card-head h2 a {
    color:inherit
}
.command-card-head .level-badge,.command-card-head .class-badge {
    flex:none;
    padding:3px 5px;
    font-size:8px
}
.command-card-head .level-badge b {
    font-size:12px
}
.command-card-head .level-badge small {
    font-size:8px
}
.command-description {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    min-height:31px;
    margin:6px 0 7px;
    font-size:11px;
    line-height:1.38;
    color:#7f9caf
}
.command-fast-facts {
    display:grid;
    grid-template-columns:1.3fr .75fr .65fr;
    gap:4px;
    margin-bottom:6px
}
.command-fast-facts span {
    min-width:0;
    padding:6px 7px;
    border:1px solid #17394f;
    border-radius:6px;
    background:#061624
}
.command-fast-facts small,.command-fast-facts b {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.command-fast-facts small {
    font-size:7px;
    letter-spacing:.7px;
    text-transform:uppercase;
    color:#587d94
}
.command-fast-facts b {
    margin-top:2px;
    font-size:10px;
    color:#d9f4ff
}
.command-fast-facts .ready b {
    color:#74e2b3
}
.command-fast-facts .blocked b {
    color:#ff9daf
}
.command-effect {
    min-height:46px;
    padding:7px 8px;
    margin:0 0 6px;
    border-radius:6px
}
.command-effect b {
    font-size:7px
}
.command-effect span {
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
    overflow:hidden;
    font-size:10px;
    line-height:1.3
}
.command-blockers {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    margin:0 0 6px
}
.command-blockers span {
    max-width:100%;
    padding:4px 6px;
    border:1px solid #693245;
    border-radius:5px;
    background:#24111a;
    color:#ff9aad;
    font-size:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.command-blockers b {
    color:#ffc1ca
}
.command-cost-row {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
    margin-top:auto
}
.command-cost-row span {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:3px;
    min-width:0;
    padding:5px 5px;
    border:1px solid #16364c;
    border-radius:5px;
    background:#06131f;
    color:#a6c0cf;
    font-size:8px;
    overflow:hidden
}
.command-cost-row i {
    font-style:normal;
    font-weight:850;
    color:#5ed9ff
}
.command-card-actions {
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:5px!important;
    margin-top:6px!important;
    padding-top:6px!important
}
.command-card-actions form {
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0
}
.command-card-actions button,.command-card-actions .secondary-action {
    min-height:29px;
    padding:5px 7px;
    font-size:9px;
    border-radius:6px
}
.command-card-actions .qty {
    width:50px;
    max-width:50px;
    padding:5px 5px;
    font-size:9px
}
.command-card-detail {
    margin-top:5px;
    border-top:1px solid #123248;
    padding-top:5px
}
.command-card-detail>summary {
    display:flex;
    justify-content:space-between;
    gap:6px;
    cursor:pointer;
    color:#638aa1;
    font-size:8px;
    letter-spacing:.7px;
    text-transform:uppercase;
    list-style:none
}
.command-card-detail>summary::-webkit-details-marker {
    display:none
}
.command-card-detail>summary:before {
    content:"+";
    margin-right:4px;
    color:#55cdef
}
.command-card-detail[open]>summary:before {
    content:"−"
}
.command-card-detail .progression-columns {
    margin-top:7px
}
.command-card-detail .progression-columns h3 {
    font-size:8px
}
.command-card-detail .requirements,.command-card-detail .unlock-list {
    font-size:8px
}
.command-unit-kpis {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:3px;
    margin:0 0 6px
}
.command-unit-kpis span {
    padding:5px 4px;
    border-radius:5px
}
.command-unit-kpis small {
    font-size:7px
}
.command-unit-kpis b {
    font-size:10px
}
.command-unit-meta {
    margin:5px 0 0;
    font-size:8px;
    gap:7px
}
.unit-tactical-detail {
    margin-top:5px
}
.unit-tactical-detail .tactical-facts {
    margin:6px 0 0
}
.unit-tactical-detail .tactical-facts span {
    padding:5px
}
.defense-kpis {
    grid-template-columns:repeat(3,minmax(0,1fr))
}
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */
/* D18: dead responsive legacy retired by D18. */

/* v8.3.13 — Command Surface Density III: Overview + navigation + resources + Fleet/Galaxy */
@media(min-width:1280px) {

      .app-authenticated .shell.command-shell {
        grid-template-columns:172px minmax(0,1fr)
    }

      .app-authenticated .sidebar {
        padding:7px 6px;
        gap:2px
    }

      .app-authenticated .sidebar a {
        padding:5px 6px;
        font-size:10px;
        line-height:1.12;
        border-left:2px solid transparent
    }

      .app-authenticated .sidebar a:hover {
        border-left-color:#35c2ff;
        background:#071b2a;
        transform:none
    }

      .app-authenticated .nav-section>span,.app-authenticated .nav-section summary {
        padding:7px 5px 4px;
        font-size:7px;
        letter-spacing:.15em
    }

      .app-authenticated .content {
        padding:8px 10px 22px
    }

      .app-authenticated .topbar {
        gap:18px
    }
    .app-authenticated .topbar nav {
        gap:11px
    }
    .app-authenticated .topbar nav a {
        font-size:10px;
        letter-spacing:.025em
    }

}
.planet-context {
    
    margin-bottom:5px;
    
}
.planet-switcher {
    min-width:min(430px,100%)
}
.planet-switcher label {


    font-size:8px;
    
}
.planet-switcher select {
    
    padding:4px 8px;
    font-size:11px
}
.planet-context .ghost-link {
    
    border-radius:2px;
    
}
.resource-command-strip {
    
    margin-bottom:6px
}
.resource-command-strip>div {


    grid-template-columns:1fr auto;


}
.resource-command-strip>div:before {


    bottom:0;
    
    
}
.resource-command-strip .res-titanium:before {
    background:#9a7cff
}
.resource-command-strip .res-crystal:before {
    background:#67e3f0
}
.resource-command-strip .res-deuterium:before {
    background:#55dca1
}
.resource-command-strip span {
    font-size:7px;
    
}
.resource-command-strip b {
    font-size:13px;
    font-variant-numeric:tabular-nums
}
.resource-command-strip small {
    font-size:8px;
    line-height:1;
    color:#5fdaa5
}
.overview-command-deck {
    grid-template-columns:minmax(250px,.8fr) minmax(460px,1.45fr) auto;
    gap:8px;
    padding:9px 11px;
    margin-bottom:6px;
    border-radius:4px;
    
}
.overview-mini-orb {
    
    
    flex-basis:50px
}
.overview-planet-identity {
    gap:9px
}
.overview-planet-identity h1 {
    font-size:21px;
    margin:1px 0
}
.overview-planet-identity p {
    font-size:9px
}
.overview-science-grid {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:3px
}
.overview-science-grid div {
    padding:5px 6px
}
.overview-science-grid small {
    font-size:6.5px;
    letter-spacing:.08em
}
.overview-science-grid strong {
    font-size:10px
}
.overview-primary-actions {
    grid-template-columns:repeat(2,minmax(70px,1fr));
    gap:3px
}
.overview-primary-actions a {
    padding:5px 7px;
    
    font-size:7px;
    text-align:center
}
.overview-dense-grid {
    gap:6px
}
.app-authenticated .overview-dense-grid .panel {
    padding:8px 10px;
    margin-bottom:6px
}
.overview-queue-row,.overview-fleet-row {
    grid-template-columns:85px 1fr auto;
    gap:6px;
    padding:5px 0;
    font-size:10px
}
.overview-news-item {
    padding:5px 0
}
.overview-news-item p {
    font-size:9px;
    line-height:1.3;
    margin:3px 0
}
.overview-world-grid {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px
}
.overview-world button {
    padding:6px 7px;
    border-radius:2px
}
.overview-world button b {
    font-size:9px
}
.overview-world button small,.overview-world button em {
    font-size:7px
}
.overview-guidance-row {
    padding:5px 0;
    font-size:10px
}
.overview-guidance-row small {
    font-size:8px
}
.page-head {
    margin-bottom:6px!important
}
.page-head h1 {
    font-size:25px!important;
    margin:2px 0!important
}
.fleet-origin-strip {
    padding:6px 9px!important;
    margin-bottom:6px!important;
    font-size:9px
}
.fleet-command-deck {
    gap:6px!important;
    margin-bottom:6px!important
}
.fleet-command-deck>.panel {
    padding:8px 10px!important;
    margin-bottom:0!important
}
.fleet-command-primary h2 {
    margin:3px 0;
    font-size:16px
}
.fleet-command-primary p {
    font-size:9px;
    margin:3px 0 6px
}
.mission-quickbar {
    gap:3px!important
}
.mission-quickbar a {
    padding:5px 7px!important;
    font-size:8px!important
}
.fleet-live-summary {
    grid-template-columns:repeat(3,1fr)!important;
    gap:4px!important
}
.fleet-live-summary>div {
    padding:5px 6px!important
}
.fleet-live-summary small {
    font-size:7px!important
}
.fleet-live-summary strong {
    font-size:12px!important
}
.fleet-composer-panel {
    padding:9px!important
}
.fleet-form-command {
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:5px!important
}
.fleet-form-command>label {
    font-size:8px
}
.fleet-form-command input,.fleet-form-command select {
    height:31px;
    padding:4px 6px;
    font-size:9px
}
.unit-picker {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px
}
.unit-picker label {
    gap:2px;
    padding:5px;
    border:1px solid #15374d;
    background:#06131f;
    font-size:8px
}
.unit-picker label span {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.unit-picker input {
    height:28px
}
.cargo-grid {
    gap:4px
}
.fleet-actions {
    gap:5px
}
.fleet-preview {
    padding:8px 10px!important
}
.preview-grid {
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:3px
}

.preview-grid strong {
    font-size:11px
}
.preview-grid small,.preview-grid span {
    font-size:7px
}
.galaxy-command-head {
    margin-bottom:5px!important
}
.galaxy-system-console {
    padding:8px 10px!important
}
.galaxy-nav-command {
    gap:4px!important;
    margin-bottom:5px!important
}
.galaxy-env-kpis {
    gap:4px!important
}
.galaxy-env-kpis>div {
    padding:5px 7px!important;
    min-height:0!important
}
.galaxy-env-kpis small {
    font-size:7px!important
}
.galaxy-env-kpis strong {
    font-size:10px!important
}
.galaxy-tactical-table-wrap {
    border-radius:2px
}
.galaxy-tactical-table th,.galaxy-tactical-table td {
    padding:5px 6px;
    font-size:9px;
    line-height:1.15
}
.galaxy-tactical-table th {
    font-size:7px;
    letter-spacing:.08em
}
.galaxy-body-cell {
    gap:6px!important
}
.galaxy-body-cell .orbit-icon {
    transform:scale(.74);
    transform-origin:center
}
.galaxy-body-cell strong {
    font-size:9px
}
.galaxy-body-cell small,.galaxy-tactical-table small {
    font-size:7px
}
.galaxy-row-actions {
    gap:2px!important;
    flex-wrap:wrap!important
}
.galaxy-row-actions a,.galaxy-row-actions button {
    padding:3px 5px;
    font-size:7px;
    border-radius:2px
}
.galaxy-mobile-orbits {
    display:none!important
}
@media(min-width:1850px) {
    .overview-world-grid {
        grid-template-columns:repeat(8,minmax(0,1fr))
    }
    .unit-picker {
        grid-template-columns:repeat(7,minmax(0,1fr))
    }
    .app-authenticated .shell.command-shell {
        grid-template-columns:168px minmax(0,1fr)
    }

}
@media(max-width:1279px) {
    .overview-science-grid {
        grid-template-columns:repeat(3,1fr)
    }
    .overview-world-grid {
        grid-template-columns:repeat(4,1fr)
    }
    .fleet-form-command {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .unit-picker {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .preview-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .galaxy-mobile-orbits {
        display:grid!important
    }
    .galaxy-tactical-table-wrap {
        display:none
    }

}
@media(max-width:900px) {
    .overview-world-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .fleet-form-command {
        grid-template-columns:repeat(2,1fr)
    }
    .unit-picker {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:560px) {
    .resource-command-strip>div {
        min-height:39px;
        padding:5px 7px
    }
    .overview-world-grid {
        grid-template-columns:1fr
    }
    .unit-picker {
        grid-template-columns:1fr
    }
    .preview-grid {
        grid-template-columns:repeat(2,1fr)
    }

}

/* v8.3.14 — Consultation Surface Density IV: Imperium + Economy + Technology Tree */
@media(min-width:1280px) {

     .imperium-command-head {
        padding:10px 12px;
        margin-bottom:5px;
        border-radius:4px;
        align-items:center;
        min-height:72px
    }
    .imperium-command-head h1 {
        font-size:22px;
        margin:1px 0 2px
    }
    .imperium-command-head p {
        font-size:9px;
        line-height:1.25;
        margin:0;
        max-width:720px
    }
    .imperium-kpis {
        gap:3px
    }
    .imperium-kpis b {
        min-width:64px;
        padding:6px 7px;
        border-radius:2px;
        font-size:14px
    }
    .imperium-kpis small {
        font-size:6px
    }
    .imperium-toolbar {
        top:51px;
        padding:4px 6px;
        gap:3px;
        margin-bottom:4px;
        border-radius:2px
    }
    .imperium-toolbar button {
        padding:5px 7px;
        border-radius:2px;
        font-size:8px
    }
    .imperium-toolbar label {
        font-size:8px
    }
    .imperium-research-strip {
        grid-template-columns:130px 1fr auto;
        gap:6px;
        padding:5px 7px;
        margin-bottom:4px;
        border-radius:2px
    }
    .imperium-research-strip .eyebrow {
        font-size:6px
    }
    .imperium-research-strip strong {
        font-size:9px
    }
    .imperium-research-scroll {
        gap:3px
    }
    .imperium-research-scroll span {
        padding:3px 5px;
        border-radius:2px;
        font-size:7px
    }
    .imperium-research-strip>a {
        font-size:8px
    }
    .imperium-matrix-wrap {
        max-height:calc(100vh - 172px);
        border-radius:2px
    }
    .imperium-matrix {
        font-size:9px
    }
    .imperium-matrix th,.imperium-matrix td {
        min-width:92px;
        padding:4px 6px
    }
    .imperium-matrix .sticky-col {
        min-width:164px;
        max-width:190px
    }
    .imperium-total {
        left:164px
    }
    .world-head {
        min-width:105px!important
    }
    .world-orb {
        width:17px;
        height:17px
    }
    .world-head small,.world-head em {
        font-size:6px
    }
    .group-row th {
        font-size:6px;
        padding-top:4px;
        padding-bottom:4px
    }

     .economy-command-kpis {
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:3px;
        padding:4px!important;
        margin-bottom:4px!important
    }
    .economy-command-kpis>div {
        padding:6px 7px
    }
    .economy-command-kpis small {
        font-size:7px
    }
    .economy-command-kpis strong {
        font-size:13px
    }
    .economy-command-matrix {
        padding:0!important;
        border-radius:2px
    }
    .economy-matrix-scroll {
        max-height:calc(100vh - 180px)
    }
    .economy-dense-matrix {
        font-size:9px;
        min-width:max(980px,100%)
    }
    .economy-dense-matrix th,.economy-dense-matrix td {
        padding:5px 6px;
        vertical-align:middle
    }
    .economy-dense-matrix th:first-child {
        min-width:145px
    }
    .economy-dense-matrix td {
        min-width:112px
    }
    .economy-dense-matrix td b,.economy-dense-matrix td span,.economy-dense-matrix td small {
        display:block
    }
    .economy-dense-matrix td b {
        font-size:10px
    }
    .economy-dense-matrix td span {
        font-size:8px;
        color:#68dca8
    }
    .economy-dense-matrix td small {
        font-size:7px;
        margin-top:1px
    }
    .economy-resource-row>th {
        box-shadow:inset 2px 0 #35c2ff
    }
    .economy-resource-row.resource-titanium>th {
        box-shadow:inset 2px 0 #9a7cff
    }
    .economy-resource-row.resource-crystal>th {
        box-shadow:inset 2px 0 #67e3f0
    }
    .economy-resource-row.resource-deuterium>th {
        box-shadow:inset 2px 0 #55dca1
    }
    .economy-resource-row>th small {
        font-size:6px
    }
    .economy-dense-matrix .econ-section th {
        padding:3px 6px;
        font-size:6px
    }
    .economy-energy-row td,.economy-modifier-row td {
        font-size:8px
    }

     .tech-command-toolbar {
        position:sticky;
        top:51px;
        z-index:10;
        display:flex;
        justify-content:space-between;
        align-items:center;
        gap:6px;
        padding:4px 6px!important;
        margin-bottom:4px!important;
        border-radius:2px
    }
    .tech-domain-filters,.tech-status-legend {
        display:flex;
        gap:3px;
        flex-wrap:wrap
    }
    .tech-domain-filters button {
        padding:5px 7px;
        border-radius:2px;
        font-size:8px
    }
    .tech-domain-filters button.active {
        border-color:#35c2ff;
        background:#0a2638;
        color:#bfefff
    }
    .tech-status {
        padding:2px 4px;
        border-radius:2px;
        font-size:6px
    }
    .visual-tech-tree {
        gap:6px
    }
    .tech-domain {
        padding:7px;
        border-radius:3px
    }
    .tech-domain>header {
        display:flex;
        align-items:baseline;
        gap:7px;
        margin-bottom:5px
    }
    .tech-domain>header .eyebrow {
        font-size:6px
    }
    .tech-domain>header h2 {
        font-size:13px;
        margin:0
    }
    .tech-node-grid {
        grid-template-columns:repeat(5,minmax(0,1fr));
        gap:4px
    }
    .tech-node {
        min-height:112px;
        padding:7px;
        border-radius:2px;
        gap:4px
    }
    .tech-node-head {
        gap:4px;
        align-items:flex-start
    }
    .tech-node-head h3 {
        font-size:10px;
        line-height:1.15
    }
    .tech-node-head>b {
        font-size:8px
    }
    .tech-links {
        gap:2px
    }
    .tech-links small {
        font-size:6px
    }
    .tech-links span {
        font-size:7px;
        padding:2px 3px;
        border-radius:2px;
        max-width:100%;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap
    }
    .tech-node .button-link {
        padding:4px 5px;
        font-size:7px;
        border-radius:2px;
        text-align:center
    }

}
@media(min-width:1850px) {
    .tech-node-grid {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
    .imperium-matrix th,.imperium-matrix td {
        min-width:88px
    }
    .world-head {
        min-width:100px!important
    }

}
@media(max-width:1279px) and (min-width:901px) {
    .tech-node-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .tech-command-toolbar {
        display:flex;
        justify-content:space-between
    }
    .imperium-matrix th,.imperium-matrix td {
        padding:5px 7px
    }

}
@media(max-width:900px) {
    .tech-command-toolbar {
        position:static;
        display:block
    }
    .tech-status-legend {
        margin-top:5px
    }
    .tech-node-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:560px) {
    .tech-node-grid {
        grid-template-columns:1fr
    }
    .tech-domain-filters {
        display:grid;
        grid-template-columns:repeat(2,1fr)
    }

}

/* v8.3.15 Social & Trade Command Density V */
@media(min-width:1280px) {

     .alliance-command-hero {
        min-height:64px!important;
        padding:8px 11px!important;
        margin-bottom:5px!important;
        border-radius:3px!important
    }
    .alliance-command-hero h2 {
        font-size:18px;
        margin:2px 0
    }
    .alliance-command-hero p {
        font-size:8px;
        margin:2px 0
    }
    .alliance-subnav {
        top:51px;
        display:grid;
        grid-template-columns:repeat(6,minmax(0,1fr));
        gap:2px;
        padding:3px;
        margin:0 0 4px;
        border-radius:2px;
        overflow:visible
    }
    .alliance-subnav a {
        padding:4px 5px;
        border-radius:2px;
        font-size:7px;
        text-align:center;
        overflow:hidden;
        text-overflow:ellipsis
    }
    .alliance-hierarchy-strip {
        grid-template-columns:repeat(7,minmax(0,1fr));
        gap:3px;
        margin:4px 0
    }
    .alliance-hierarchy-strip article {
        padding:5px 6px;
        border-radius:2px
    }
    .alliance-hierarchy-strip small {
        font-size:6px
    }
    .alliance-hierarchy-strip strong {
        font-size:11px
    }
    .alliance-command-grid {
        gap:5px
    }
    .alliance-command-grid>.panel,.alliance-territory,.app-authenticated .alliance-member-row {
        border-radius:2px
    }
    .alliance-member-row,.war-row,.history-row,.dense-table>div {
        padding:5px 0;
        gap:5px;
        font-size:9px
    }
    .alliance-member-row small {
        font-size:7px
    }
    .alliance-member-row button,.alliance-member-row select {
        height:27px;
        padding:3px 5px;
        font-size:8px
    }
    .command-link-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:3px
    }
    .command-link-grid a {
        padding:6px;
        border-radius:2px;
        font-size:8px
    }
    .rank-editor {
        gap:4px!important;
        padding:5px 0!important
    }
    .territory-claim-grid,.alliance-outpost-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
        gap:4px
    }
    .claim-card,.alliance-outpost-card {
        padding:7px;
        border-radius:2px
    }
    .supply-form {
        margin-top:4px
    }

     .comms-head {
        min-height:62px;
        padding:7px 10px!important;
        margin-bottom:4px!important
    }
    .comms-head h1 {
        font-size:20px!important
    }
    .comms-head p {
        font-size:8px!important;
        margin:2px 0!important
    }
    .comms-signal {
        padding:5px 8px;
        border-radius:2px
    }
    .comms-signal i:nth-child(1) {
        height:5px
    }
    .comms-signal i:nth-child(2) {
        height:9px
    }
    .comms-signal i:nth-child(3) {
        height:13px
    }
    .comms-signal b {
        font-size:7px
    }
    .comms-tabs,.comms-filters {
        gap:2px;
        margin-bottom:4px
    }
    .comms-tabs a,.comms-filters a {
        padding:4px 6px;
        border-radius:2px;
        font-size:7px
    }
    .comms-filters em {
        padding:0 4px;
        margin-left:3px
    }
    .comms-layout {
        grid-template-columns:minmax(390px,.78fr) minmax(520px,1.22fr);
        gap:5px
    }
    .comms-list-panel,.comms-reader {
        padding:7px!important;
        border-radius:2px!important
    }
    .comms-list {
        max-height:calc(100vh - 184px)
    }
    .comms-row {
        grid-template-columns:90px minmax(0,1fr) auto;
        gap:1px 5px;
        padding:6px 7px
    }
    .comms-row strong {
        font-size:9px
    }
    .comms-row small,.comms-origin {
        font-size:7px
    }
    .comms-row p {
        font-size:8px;
        line-height:1.2;
        margin:1px 0 0
    }
    .comms-reader {
        min-height:0;
        max-height:calc(100vh - 132px);
        overflow:auto
    }
    .comms-reader h2 {
        font-size:17px;
        margin:3px 0
    }
    .comms-meta {
        font-size:8px;
        margin-bottom:7px
    }
    .comms-body {
        font-size:10px;
        line-height:1.45;
        padding:8px 0 10px
    }
    .comms-actions {
        margin:7px 0 9px
    }
    .comms-actions button,.comms-actions .button {
        padding:5px 7px;
        font-size:8px
    }
    .comms-compose {
        margin-top:8px;
        padding-top:0;
        border-top:1px solid rgba(135,174,218,.12)
    }
    .comms-compose summary {
        display:flex;
        justify-content:space-between;
        align-items:center;
        cursor:pointer;
        padding:7px 2px;
        list-style:none
    }
    .comms-compose summary::-webkit-details-marker {
        display:none
    }
    .comms-compose summary b {
        font-size:16px;
        color:#67d8ff
    }
    .comms-compose:not([open]) form,.comms-compose:not([open])>span.eyebrow {
        display:none
    }
    .comms-compose form {
        gap:6px!important
    }
    .comms-compose textarea {
        min-height:86px;
        max-height:140px
    }
    .comms-placeholder {
        padding:40px 15px
    }
    .orbital-glyph {
        font-size:36px
    }
    .comms-bulk {
        gap:4px;
        padding:5px 0 0
    }
    .comms-bulk select,.comms-bulk button {
        height:28px;
        font-size:8px;
        padding:3px 5px
    }

     .market-command-head {
        display:flex;
        justify-content:space-between;
        align-items:center;
        padding:7px 10px!important;
        border:1px solid var(--line);
        background:linear-gradient(90deg,#071726,#06121e);
        border-radius:3px
    }
    .market-command-head h1 {
        font-size:20px!important
    }
    .market-command-head p {
        font-size:8px;
        margin:2px 0
    }
    .market-kpi {
        display:grid;
        text-align:right
    }
    .market-kpi small {
        font-size:6px;
        color:var(--muted);
        letter-spacing:.12em
    }
    .market-kpi strong {
        font-size:18px
    }
    .market-create-panel {
        padding:6px 8px!important;
        margin-bottom:5px!important;
        border-radius:2px!important
    }
    .market-create-form {
        display:grid;
        grid-template-columns:1fr 1fr auto 1fr 1fr auto;
        gap:4px;
        align-items:end
    }
    .market-create-form label {
        margin:0;
        font-size:7px
    }
    .market-create-form label>span {
        display:block;
        margin-bottom:2px;
        color:var(--muted);
        letter-spacing:.1em
    }
    .market-create-form input,.market-create-form select,.market-create-form button {
        height:30px;
        padding:3px 6px;
        font-size:9px
    }
    .market-arrow {
        align-self:end;
        height:30px;
        display:grid;
        place-items:center;
        color:#67d8ff;
        font-size:17px
    }
    .market-book-panel {
        padding:7px 9px!important;
        border-radius:2px!important
    }
    .market-book-panel .section-head {
        margin-bottom:4px
    }
    .market-book-panel .section-head h2 {
        font-size:13px;
        margin:1px 0
    }
    .market-table {
        width:100%;
        border-collapse:collapse;
        font-size:9px
    }
    .market-table th {
        padding:4px 6px;
        text-align:left;
        font-size:6px;
        letter-spacing:.1em;
        color:var(--muted);
        border-bottom:1px solid var(--line)
    }
    .market-table td {
        padding:5px 6px;
        border-bottom:1px solid rgba(135,174,218,.09)
    }
    .market-table td strong,.market-table td b,.market-table td span {
        display:block
    }
    .market-table td small {
        display:block;
        font-size:6px;
        color:#58d6ff
    }
    .market-table td span {
        font-size:7px;
        color:var(--muted)
    }
    .market-table code {
        font-size:7px;
        color:#88dfff
    }
    .market-action {
        text-align:right
    }
    .market-action form {
        margin:0
    }
    .market-action button {
        height:26px;
        padding:3px 7px;
        font-size:8px
    }
    .market-mobile-grid {
        display:none
    }

}
@media(max-width:1279px) {
    .market-table-wrap {
        display:none
    }
    .market-mobile-grid {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:6px
    }
    .market-mobile-grid article {
        padding:9px;
        border:1px solid var(--line);
        border-radius:4px
    }
    .market-mobile-grid header {
        display:flex;
        justify-content:space-between
    }
    .market-mobile-grid form {
        margin-top:7px
    }
    .market-create-form {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:6px
    }
    .market-arrow {
        display:none
    }
    .alliance-subnav {
        position:static
    }
    .comms-compose summary {
        display:flex;
        justify-content:space-between;
        align-items:center
    }
    .comms-compose summary b {
        font-size:18px
    }

}
@media(max-width:650px) {
    .market-mobile-grid {
        grid-template-columns:1fr
    }
    .market-create-form {
        grid-template-columns:1fr
    }
    .comms-layout {
        grid-template-columns:1fr
    }
    .comms-reader {
        min-height:360px
    }
    .alliance-hierarchy-strip {
        grid-template-columns:repeat(2,1fr)
    }

}

/* v8.3.16 — Exploration & Inventory Command Density VI */
.inventory-command-head,.discovery-command-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:8px 11px!important;
    margin-bottom:7px!important;
    border:1px solid var(--line);
    background:linear-gradient(90deg,#071726,#06121e);
    border-radius:3px
}
.inventory-command-head h1,.discovery-command-head h1 {
    font-size:20px!important;
    margin:1px 0 2px
}
.inventory-command-head p,.discovery-command-head p {
    font-size:9px;
    line-height:1.35;
    margin:0;
    max-width:900px
}
.inventory-kpi {
    min-width:82px;
    text-align:right
}
.inventory-kpi small {
    display:block;
    font-size:6px;
    letter-spacing:.12em;
    color:var(--muted)
}
.inventory-kpi strong {
    font-size:21px;
    color:#7ce4ff
}
.inventory-command-grid,.contract-command-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    align-items:start
}
.inventory-command-card,.contract-command-card {
    min-width:0;
    padding:8px;
    border:1px solid #15384f;
    background:linear-gradient(180deg,#071725,#04101b);
    border-radius:3px;
    box-shadow:0 4px 14px #0003
}
.inventory-command-card>header,.contract-command-card>header {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:7px;
    padding-bottom:5px;
    border-bottom:1px solid #123247
}
.inventory-command-card h3,.contract-command-card h3 {
    margin:2px 0 0;
    font-size:12px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.inventory-count,.contract-goal {
    padding:3px 5px;
    border:1px solid #21506b;
    background:#081d2c;
    color:#82def8;
    font:800 9px/1 ui-monospace,Consolas,monospace;
    white-space:nowrap
}
.inventory-meta {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
    margin-top:5px
}
.inventory-meta span {
    padding:4px 5px;
    background:#06131f;
    border:1px solid #112f43;
    font-size:7px;
    color:var(--muted)
}
.inventory-meta b {
    float:right;
    color:#d9eff9;
    font-size:9px
}
.inventory-actions {
    display:grid;
    grid-template-columns:1.35fr .8fr .55fr;
    gap:3px;
    margin-top:5px
}
.inventory-actions form {
    display:flex;
    gap:3px;
    margin:0;
    min-width:0
}
.inventory-actions input {
    min-width:0;
    width:100%;
    height:27px;
    padding:3px 5px;
    font-size:8px
}
.inventory-actions button {
    width:100%;
    height:27px;
    padding:3px 5px;
    font-size:8px
}
.inventory-detail {
    margin-top:5px;
    padding-top:4px;
    border-top:1px solid #123247
}
.inventory-detail summary,.discovery-secondary summary,.discovery-lore>summary {
    cursor:pointer;
    list-style:none;
    font-size:8px;
    letter-spacing:.06em;
    color:#6ea9c5
}
.inventory-detail summary::-webkit-details-marker,.discovery-secondary summary::-webkit-details-marker,.discovery-lore>summary::-webkit-details-marker {
    display:none
}
.inventory-detail p {
    margin:4px 0;
    font-size:8px;
    line-height:1.35
}
.artifact-bonus {
    display:grid;
    gap:3px;
    margin-top:5px;
    padding:5px 6px;
    background:#06131f;
    border-left:2px solid #5d63d8
}
.artifact-bonus small {
    font-size:6px;
    color:var(--muted);
    letter-spacing:.08em
}
.artifact-bonus code {
    font-size:8px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#c7d8ff
}
.artifact-actions {
    grid-template-columns:1fr 1fr;
    align-items:center
}
.artifact-card.is-equipped {
    border-color:#28644e;
    box-shadow:inset 2px 0 #55d9a2
}
.contract-summary {
    display:flex;
    gap:4px
}
.contract-summary span {
    min-width:68px;
    padding:4px 7px;
    border:1px solid #173c54;
    background:#061522;
    text-align:right
}
.contract-summary small {
    display:block;
    font-size:6px;
    color:var(--muted)
}
.contract-summary b {
    font-size:16px
}
.contract-progress {
    display:grid;
    grid-template-columns:auto minmax(50px,1fr) auto;
    align-items:center;
    gap:5px;
    margin-top:6px;
    font-size:7px
}
.contract-progress>div {
    height:4px;
    background:#0a2130;
    overflow:hidden
}
.contract-progress>div span {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#2da4d0,#8b63df)
}
.contract-actions {
    margin-top:6px
}
.contract-actions form {
    margin:0
}
.contract-actions button,.contract-actions .state-pill {
    width:100%;
    min-height:27px;
    display:grid;
    place-items:center;
    font-size:8px
}
.status-active {
    border-left:2px solid #54d6a1
}
.status-offered {
    border-left:2px solid #5fcffc
}
.discovery-command-head {
    position:sticky;
    top:50px;
    z-index:12
}
.discovery-jumpbar {
    display:flex;
    gap:3px;
    align-self:center
}
.discovery-jumpbar a {
    padding:5px 7px;
    border:1px solid #17415a;
    background:#061522;
    font:700 7px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.08em;
    color:#7ccbe7
}
.discovery-lore {
    padding:6px 9px!important
}
.discovery-lore>summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px
}
.discovery-lore>summary b {
    font-size:10px;
    color:#b7d7e7
}
.discovery-lore[open]>.grid,.discovery-lore[open]>p {
    margin-top:6px
}
.discovery-lore .cards {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px
}
.discovery-lore .card {
    padding:7px
}
.discovery-lore .card p {
    font-size:8px;
    margin:3px 0
}
.discovery-ops {
    padding:8px 9px!important
}
.discovery-ops>h2 {
    font-size:14px;
    margin:0 0 2px
}
.discovery-ops>p {
    font-size:8px;
    margin:0 0 5px
}
.discovery-kpis {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px
}
.discovery-kpis .card {
    padding:5px 7px;
    min-height:0
}
.discovery-kpis .card b {
    font-size:7px;
    color:#86a9bc
}
.discovery-kpis .card p {
    font-size:15px;
    margin:2px 0 0
}
.discovery-secondary {
    margin-top:5px;
    padding:5px 0;
    border-top:1px solid #13364c;
    border-bottom:1px solid #13364c
}
.discovery-secondary>.discovery-kpis {
    margin-top:5px
}
.discovery-ops h3 {
    font-size:10px;
    margin:7px 0 3px
}
.discovery-ops table th,.discovery-ops table td {
    padding:4px 5px;
    font-size:8px
}
.discovery-ops table select,.discovery-ops table button {
    height:25px;
    padding:2px 5px;
    font-size:7px
}
.discovery-threat-panel {
    padding:8px!important
}
.discovery-threat-panel>h2 {
    font-size:13px;
    margin:0 0 4px
}
.discovery-threat-panel>.cards {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px
}
.discovery-threat-panel .card {
    padding:7px;
    font-size:8px
}
.discovery-threat-panel .card p {
    margin:3px 0;
    font-size:8px;
    line-height:1.3
}
.discovery-threat-panel .card small {
    font-size:7px
}
.discovery-watch-panel {
    padding:8px!important
}
.discovery-watch-panel>h2 {
    font-size:13px;
    margin:0 0 4px
}
.discovery-watch-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px
}
.discovery-watch-grid>.card {
    padding:7px
}
.discovery-watch-grid p {
    font-size:8px;
    line-height:1.3;
    margin:3px 0
}
.discovery-watch-grid form {
    display:grid;
    grid-template-columns:.7fr .9fr 1.4fr auto;
    gap:3px;
    margin-top:5px!important
}
.discovery-watch-grid input,.discovery-watch-grid select,.discovery-watch-grid button {
    height:26px;
    padding:2px 4px;
    font-size:7px
}
.discovery-journal {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px
}
.discovery-journal-row {
    padding:7px 8px!important;
    margin:0!important
}
.discovery-journal-row h3 {
    font-size:11px;
    margin:0
}
.discovery-journal-row p {
    font-size:8px;
    line-height:1.35;
    margin:4px 0
}
.discovery-journal-row form {
    display:grid;
    grid-template-columns:.55fr 1.4fr auto;
    gap:3px
}
.discovery-journal-row input,.discovery-journal-row select,.discovery-journal-row button {
    height:26px;
    padding:2px 4px;
    font-size:7px
}
@media(min-width:1850px) {
    .inventory-command-grid,.contract-command-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .discovery-threat-panel>.cards,.discovery-watch-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .discovery-lore .cards {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }

}
@media(max-width:1279px) {
    .inventory-command-grid,.contract-command-grid,.discovery-threat-panel>.cards,.discovery-watch-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .discovery-journal {
        grid-template-columns:1fr
    }
    .discovery-command-head {
        position:static
    }
    .discovery-jumpbar {
        display:none
    }

}
@media(max-width:850px) {
    .inventory-command-grid,.contract-command-grid,.discovery-threat-panel>.cards,.discovery-watch-grid,.discovery-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .inventory-command-head,.discovery-command-head {
        align-items:flex-start
    }
    .inventory-actions {
        grid-template-columns:1fr 1fr
    }
    .inventory-actions form:first-child {
        grid-column:1/-1
    }
    .discovery-watch-grid form {
        grid-template-columns:1fr 1fr
    }
    .discovery-watch-grid form input {
        grid-column:1/-1
    }

}
@media(max-width:560px) {
    .inventory-command-grid,.contract-command-grid,.discovery-threat-panel>.cards,.discovery-watch-grid,.discovery-kpis {
        grid-template-columns:1fr
    }
    .inventory-command-head,.discovery-command-head {
        display:block
    }
    .inventory-kpi,.contract-summary {
        margin-top:6px;
        text-align:left
    }
    .contract-summary {
        display:flex
    }
    .inventory-actions {
        grid-template-columns:1fr
    }
    .inventory-actions form:first-child {
        grid-column:auto
    }
    .discovery-watch-grid form,.discovery-journal-row form {
        grid-template-columns:1fr
    }

}

/* v8.3.17 Tactical Intelligence & Records Density VII */
.tactical-section-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px
}
.tactical-section-head h2 {
    margin:0
}
.tactical-section-head small {
    font-size:9px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#6f91a7
}
.phalanx-command-layout {
    grid-template-columns:minmax(230px,.55fr) minmax(0,1.8fr);
    gap:8px
}
.phalanx-history {
    padding:10px;
    max-height:calc(100vh - 122px);
    top:58px
}
.phalanx-scan-row {
    padding:7px 8px;
    margin-bottom:4px;
    gap:1px;
    border-radius:5px
}
.phalanx-scan-row strong {
    font-size:11px
}
.phalanx-scan-row span,.phalanx-scan-row small {
    font-size:8px
}
.phalanx-result {
    padding:12px
}
.phalanx-kpis {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    margin:8px 0
}
.phalanx-kpis>div {
    padding:7px 8px;
    border-radius:5px
}
.phalanx-kpis strong {
    font-size:15px;
    margin-top:1px
}
.phalanx-contact-list {
    gap:5px
}
.phalanx-contact-list article {
    padding:7px 9px;
    border-radius:6px
}
.phalanx-contact-list article>div {
    padding-top:4px;
    font-size:9px
}
.phalanx-contact-list details {
    margin-top:4px
}
.combat-intel-head {
    padding-top:8px;
    padding-bottom:8px
}
.intel-warning {
    padding:6px 9px;
    margin-bottom:7px;
    border-radius:6px;
    font-size:10px
}
.sim-toolbar {
    display:grid;
    grid-template-columns:110px 110px 150px minmax(170px,1fr) auto;
    gap:6px;
    margin-bottom:7px;
    align-items:end
}
.sim-toolbar label {
    min-width:0;
    font-size:9px
}
.sim-toolbar select,.sim-toolbar input,.sim-toolbar button {
    min-height:32px;
    padding:5px 7px
}
.sim-columns {
    gap:7px
}
.combat-loadout {
    padding:9px
}
.combat-loadout h2 {
    font-size:12px;
    margin:0 0 6px
}
.combat-loadout .unit-input-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:3px 6px
}
.combat-loadout .unit-input-grid label {
    grid-template-columns:minmax(0,1fr) 70px;
    gap:4px;
    font-size:9px
}
.combat-loadout .unit-input-grid input {
    min-height:28px;
    padding:4px 6px
}
.combat-result-strip {
    gap:5px;
    margin:7px 0
}
.combat-results .kpi {
    padding:7px 8px;
    border-radius:6px
}
.combat-results .kpi strong {
    font-size:1.05rem;
    margin-top:1px
}
.combat-results .kpi small {
    font-size:8px;
    letter-spacing:.05em;
    text-transform:uppercase
}
.battle-hero {
    min-height:auto;
    padding:10px 12px
}
.battle-hero h1 {
    margin:.1rem 0;
    font-size:clamp(1.2rem,2vw,2rem)
}
.battle-round-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px
}
.tactical-round {
    padding:9px
}
.battle-round header {
    margin-bottom:6px
}
.combat-kpis {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px
}
.combat-kpis>div {
    padding:6px;
    border-radius:5px
}
.combat-kpis small {
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.04em
}
.combat-kpis strong {
    font-size:.86rem;
    margin-top:1px
}
.phase-strip {
    gap:3px;
    margin-top:5px
}
.phase-strip span {
    padding:5px 6px;
    border-radius:4px
}
.phase-strip small {
    font-size:7px
}
.phase-strip b {
    font-size:9px
}
.round-effect {
    margin-top:5px;
    padding:5px 7px;
    font-size:9px
}
.battle-consequence-command {
    padding:10px
}
.battle-consequence-command .post-battle-intel {
    margin-top:6px
}
.post-battle-intel>div {
    padding:6px 7px;
    border-radius:5px
}
.post-battle-intel strong {
    font-size:14px
}
.post-battle-intel .page-actions {
    gap:3px
}
.post-battle-intel .button-link {
    padding:5px 7px;
    font-size:9px
}
.battle-hall-command {
    padding:10px
}
.battle-hall-list {
    gap:0;
    margin-top:6px;
    border-top:1px solid rgba(111,195,255,.10)
}
.battle-hall-row {
    grid-template-columns:minmax(260px,1.5fr) minmax(220px,.8fr) 125px 72px;
    gap:8px;
    padding:6px 4px;
    border-bottom:1px solid rgba(255,255,255,.055);
    border-radius:0;
    background:transparent
}
.battle-hall-row>div {
    font-size:10px
}
.battle-hall-row small {
    font-size:9px
}
.battle-hall-row>a {
    font-size:9px;
    text-align:right
}
.battle-hall-row .status-chip {
    font-size:8px;
    padding:2px 5px
}
.social-command-hero {
    padding:10px 12px
}
.social-command-hero h1 {
    margin:.1rem 0;
    font-size:1.45rem
}
.social-command-hero p {
    margin:.2rem 0;
    font-size:10px
}
.social-tabs {
    margin-top:7px;
    gap:4px
}
.social-tabs a {
    padding:5px 8px;
    border-radius:5px;
    font-size:9px
}
.statistics-index,.record-type-tabs {
    gap:4px
}
.statistics-index a,.record-type-tabs a {
    padding:4px 7px;
    border-radius:5px;
    font-size:9px
}
.statistics-board-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-top:7px
}
.statistics-board-grid .leaderboard-board {
    margin:0;
    padding:8px
}
.statistics-board-grid .section-head {
    margin-bottom:3px
}
.statistics-board-grid .section-head h2 {
    font-size:11px
}
.statistics-board-grid .section-head small {
    font-size:8px
}
.statistics-board-grid .leader-row {
    grid-template-columns:27px minmax(0,1fr) auto;
    gap:5px;
    padding:4px 1px;
    font-size:9px
}
.statistics-board-grid .leader-row>span {
    display:none
}
.statistics-board-grid .leader-rank {
    font-size:10px
}
.statistics-board-grid .leader-name {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.statistics-board-grid .leader-row strong {
    font-size:9px
}
.record-command-wall {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px
}
.record-command-wall .record-category {
    padding:8px
}
.record-command-wall .record-holder {
    grid-template-columns:25px minmax(0,1fr) auto;
    padding:4px 0;
    gap:4px;
    font-size:9px
}
.element-record-command-grid {
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:6px
}
.element-record-command-grid .element-record-card {
    padding:7px;
    border-radius:6px
}
.element-record-command-grid .element-record-card header {
    min-height:28px;
    font-size:10px
}
.element-record-command-grid .record-holder {
    font-size:8px;
    padding:3px 0
}
@media(min-width:1850px) {
    .statistics-board-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .record-command-wall,.element-record-command-grid {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
    .phalanx-command-layout {
        grid-template-columns:240px minmax(0,1fr)
    }

}
@media(max-width:1280px) {
    .statistics-board-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .record-command-wall,.element-record-command-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .battle-round-grid {
        grid-template-columns:1fr
    }
    .combat-loadout .unit-input-grid {
        grid-template-columns:1fr
    }
    .sim-toolbar {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .sim-toolbar button {
        grid-column:auto
    }

}
@media(max-width:900px) {
    .statistics-board-grid {
        grid-template-columns:1fr
    }
    .record-command-wall,.element-record-command-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .sim-toolbar {
        grid-template-columns:1fr 1fr
    }
    .phalanx-command-layout {
        grid-template-columns:1fr
    }
    .phalanx-history {
        position:static;
        max-height:none
    }
    .battle-hall-row {
        grid-template-columns:1fr 1fr
    }

}
@media(max-width:560px) {
    .record-command-wall,.element-record-command-grid {
        grid-template-columns:1fr
    }
    .sim-toolbar {
        grid-template-columns:1fr
    }
    .combat-kpis {
        grid-template-columns:repeat(2,1fr)
    }
    .battle-hall-row {
        grid-template-columns:1fr
    }
    .combat-loadout .unit-input-grid {
        grid-template-columns:1fr
    }

}

/* v8.3.18 Hall / Commander / Strategic Map / Administrator Density VIII */
.hall-command-head {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 11px
}
.hall-command-head h1 {
    font-size:1.55rem
}
.hall-command-head p {
    margin:.15rem 0;
    font-size:9px;
    max-width:780px
}
.hall-season-panel {
    padding:8px;
    margin-top:7px
}
.hall-season-head {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:end;
    gap:8px;
    padding-bottom:5px;
    border-bottom:1px solid rgba(111,195,255,.11)
}
.hall-season-head .eyebrow {
    grid-column:1
}
.hall-season-head h2 {
    grid-column:2;
    margin:0;
    font-size:12px
}
.hall-season-head small {
    grid-column:3;
    font-size:8px
}
.hall-award-ledger {
    margin-top:0
}
.hall-award-row {
    grid-template-columns:minmax(180px,.8fr) minmax(220px,1.25fr) minmax(160px,.75fr) 70px;
    padding:5px 3px
}
.hall-award-row strong {
    font-size:9px
}
.hall-award-row small,.hall-award-row a {
    font-size:8px
}
.commander-command-head {
    grid-template-columns:minmax(0,1fr) 150px;
    gap:12px;
    padding:10px 12px
}
.commander-command-head h1 {
    font-size:clamp(1.55rem,2.4vw,2.4rem);
    margin:0
}
.commander-command-head .commander-title {
    font-size:9px;
    margin:2px 0
}
.commander-command-head .commander-motto {
    font-size:10px;
    margin:5px 0 0;
    padding-left:8px
}
.commander-command-head .commander-meta {
    margin-top:6px;
    font-size:8px;
    gap:7px
}
.commander-command-head .commander-rank-core {
    min-height:92px;
    border-radius:6px
}
.commander-command-head .commander-rank-core strong {
    font-size:1.7rem
}
.commander-command-head .commander-rank-core small,.commander-command-head .commander-rank-core span {
    font-size:8px
}
.commander-score-matrix {
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:4px;
    margin:6px 0
}
.commander-score-matrix .score-card {
    padding:6px 7px;
    grid-template-columns:1fr auto;
    gap:1px 4px;
    border-radius:4px
}
.commander-score-matrix .score-card small {
    font-size:7px
}
.commander-score-matrix .score-card strong {
    font-size:12px
}
.commander-score-matrix .score-card span {
    font-size:8px
}
.commander-service-grid {
    grid-template-columns:1.45fr .55fr;
    gap:6px
}
.commander-service-grid>.panel {
    padding:8px
}
.commander-service-grid h2 {
    font-size:11px;
    margin:0 0 5px
}
.commander-service-grid .record-kpis {
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px
}
.commander-service-grid .record-kpis>div {
    padding:5px 6px;
    border-radius:4px
}
.commander-service-grid .record-kpis small {
    font-size:7px
}
.commander-service-grid .record-kpis strong {
    font-size:12px;
    margin-top:1px
}
.commander-service-grid .medal-grid {
    gap:4px
}
.commander-service-grid .medal {
    padding:4px 6px;
    font-size:8px;
    border-radius:4px
}
.commander-history-panel {
    padding:8px;
    margin-top:6px
}
.commander-history-panel .section-head {
    margin-bottom:2px
}
.commander-history-panel .timeline-event {
    grid-template-columns:118px 92px minmax(0,1fr) 50px;
    gap:6px;
    padding:5px 2px;
    font-size:9px
}
.commander-history-panel .timeline-event time {
    font-size:7px
}
.strategic-command-map {
    padding:8px
}
.strategic-command-map>.section-head {
    margin-bottom:4px
}
.strategic-front-grid {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:5px;
    margin-top:5px
}
.strategic-front {
    padding:7px;
    border-radius:4px
}
.strategic-front header {
    gap:5px
}
.strategic-front h3 {
    font-size:11px;
    margin:1px 0 4px
}
.strategic-front header a {
    font-size:8px
}
.strategic-front .influence-bars {
    gap:4px
}
.strategic-front .influence-label {
    font-size:8px
}
.strategic-front .influence-track {
    height:5px
}
.strategic-front .front-assets {
    gap:3px;
    margin:5px 0
}
.strategic-front .front-assets span {
    padding:3px 5px;
    font-size:7px;
    border-radius:3px
}
.strategic-front .front-events {
    gap:3px
}
.strategic-front .front-events a {
    padding:4px 5px;
    border-radius:3px;
    font-size:8px
}
.strategic-outpost-grid,.strategic-convoy-grid,.strategic-alliance-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px
}
.strategic-command-map .outpost-card,.strategic-command-map .convoy-card,.strategic-command-map .alliance-outpost-card {
    padding:7px;
    border-radius:4px
}
.strategic-command-map .module-grid {
    gap:3px
}
.strategic-command-map .module-chip {
    padding:4px 5px;
    border-radius:3px;
    font-size:7px
}
.strategic-command-map .outpost-effects {
    gap:3px
}
.strategic-command-map .outpost-effects span {
    font-size:7px;
    padding:3px 4px
}
.strategic-command-map .intercept-windows {
    gap:3px
}
.strategic-command-map .intercept-windows a {
    padding:4px 5px;
    font-size:8px
}
.admin-control-head {
    padding:8px 10px
}
.admin-control-head h1 {
    font-size:20px
}
.admin-control-head p {
    font-size:9px
}
.admin-control-kpis {
    grid-template-columns:repeat(8,minmax(0,1fr));
    gap:3px;
    margin-bottom:4px
}
.admin-control-kpis article {
    padding:5px 6px
}
.admin-control-kpis small {
    font-size:6px
}
.admin-control-kpis strong {
    font-size:14px
}
.admin-control-modules {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px;
    margin-bottom:4px
}
.admin-control-modules .admin-module {
    grid-template-columns:24px minmax(0,1fr);
    gap:5px;
    padding:6px
}
.admin-control-modules .admin-module>span {
    font-size:10px
}
.admin-control-modules .admin-module b {
    font-size:9px
}
.admin-control-modules .admin-module small {
    font-size:7px;
    line-height:1.25
}
.admin-architecture-brief {
    padding:6px 8px;
    margin:4px 0
}
.admin-architecture-brief .section-head {
    margin-bottom:1px
}
.admin-architecture-brief h2 {
    font-size:10px
}
.admin-architecture-brief p {
    margin:2px 0;
    font-size:8px
}
@media(min-width:1850px) {
    .strategic-front-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .strategic-outpost-grid,.strategic-convoy-grid,.strategic-alliance-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }

}
@media(max-width:1280px) {
    .commander-score-matrix {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .strategic-front-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .strategic-outpost-grid,.strategic-convoy-grid,.strategic-alliance-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .admin-control-kpis {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .admin-control-modules {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:800px) {
    .hall-command-head,.commander-command-head {
        grid-template-columns:1fr
    }
    .hall-season-head {
        grid-template-columns:1fr
    }
    .hall-season-head>* {
        grid-column:1!important
    }
    .hall-award-row {
        grid-template-columns:1fr 1fr
    }
    .commander-score-matrix {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .commander-service-grid {
        grid-template-columns:1fr
    }
    .commander-service-grid .record-kpis {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .commander-history-panel .timeline-event {
        grid-template-columns:1fr
    }
    .strategic-front-grid,.strategic-outpost-grid,.strategic-convoy-grid,.strategic-alliance-grid {
        grid-template-columns:1fr
    }
    .admin-control-kpis {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .admin-control-modules {
        grid-template-columns:1fr
    }

}

/* v8.3.19 — Visual System Rebuild I: spatial art direction, framing and component language */
:root {

     --nova-void:#02050a;
    --nova-deep:#04101a;
    --nova-steel:#0a1b29;
    --nova-panel:#071622;

     --nova-line:#153e58;
    --nova-line-hi:#2c7ca4;


     --nova-gold:#d7b66f;
    
    
    --nova-text:#d8edf8;
    --nova-dim:#698ca0;

     --nova-shadow:0 12px 36px rgba(0,0,0,.38);
    --nova-cut:10px;

}

body.app-authenticated:before {


     radial-gradient(circle at 22% 72%,rgba(95,64,150,.10),transparent 26%),
     linear-gradient(180deg,rgba(2,8,14,.30),rgba(1,4,8,.82)),
     repeating-linear-gradient(90deg,rgba(77,169,213,.018) 0 1px,transparent 1px 64px),
     repeating-linear-gradient(0deg,rgba(77,169,213,.014) 0 1px,transparent 1px 64px)
}
body.app-authenticated .stars {
    opacity:.20;
    background-size:43px 43px;
    mask-image:linear-gradient(to bottom,#000 0 68%,transparent)
}
body.app-authenticated .space-haze {
    position:fixed;
    inset:0;
    z-index:-4;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 0 56%,rgba(48,185,239,.025) 56% 56.3%,transparent 56.3% 100%)
}
body.app-authenticated .space-haze:before,body.app-authenticated .space-haze:after {
    content:"";
    position:absolute;
    border:1px solid rgba(67,183,231,.055);
    border-radius:50%
}
body.app-authenticated .space-haze:before {
    width:620px;
    height:620px;
    right:-260px;
    top:110px;
    box-shadow:0 0 0 100px rgba(68,183,232,.012),0 0 0 220px rgba(68,183,232,.008)
}
body.app-authenticated .space-haze:after {
    width:360px;
    height:360px;
    left:15%;
    bottom:-230px;
    box-shadow:0 0 0 70px rgba(139,116,255,.012)
}

/* Global command shell: flatter, sharper, more game-like than SaaS cards. */
.topbar {
    height:48px;
    padding:0 12px 0 10px;
    gap:14px;
    background:linear-gradient(180deg,rgba(5,15,25,.985),rgba(2,8,14,.985));
    border-bottom:1px solid #174059;
    box-shadow:0 9px 24px #0008
}
.topbar:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-2px;
    height:1px;
    background:linear-gradient(90deg,transparent 0 10%,var(--nova-cyan) 24%,transparent 58%,var(--nova-violet) 78%,transparent)
}
.brand {
    height:48px;
    display:flex;
    align-items:center;
    gap:8px;
    min-width:172px;
    font:700 12px/1 ui-monospace,Consolas,monospace;
    letter-spacing:1.4px
}
.brand .brand-mark {
    width:26px;
    height:26px;
    display:grid;
    place-items:center;
    clip-path:polygon(20% 0,100% 0,100% 80%,80% 100%,0 100%,0 20%);
    border:1px solid #42c9f6;
    background:radial-gradient(circle at 35% 30%,#1d6689,#071521 67%);
    color:#8eeaff;
    box-shadow:inset 0 0 14px #2bcaff28,0 0 14px #30c8ff18
}
.brand small {
    display:block;
    margin-top:2px;
    color:#4f7588;
    font-size:6px;
    letter-spacing:1.7px;
    font-weight:600
}
.brand b {
    color:#75ddff
}
.topbar nav {
    gap:2px;
    height:100%;
    align-items:stretch
}
.topbar nav a {
    display:flex;
    align-items:center;
    padding:0 10px;
    border-left:1px solid transparent;
    border-right:1px solid transparent;
    color:#7899aa;
    font:700 8px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.11em;
    text-transform:uppercase
}
.topbar nav a:hover,.topbar nav a.active {
    color:#dff7ff;
    background:linear-gradient(180deg,rgba(45,155,205,.10),rgba(28,91,120,.05));
    border-color:#143950;
    box-shadow:inset 0 -2px #46cdfa
}

.top-icon,.universe-badge,.topbar .ghost,.locale-switch select,.universe-switch select {
    height:28px;
    border-radius:2px;
    background:#04111b;
    border:1px solid #163b50;
    color:#8fb6c9;
    font-size:8px
}
.top-icon {
    
    display:grid;
    place-items:center
}
.top-icon:hover {
    border-color:#2a789d!important;
    color:#d8f5ff!important;
    background:#082031!important
}
.topbar .ghost {
    padding:0 8px!important
}
.command-shell {
    
    
    margin:0;
    
}
.sidebar {
    top:48px;
    min-height:calc(100vh - 48px);
    max-height:calc(100vh - 48px);
    padding:8px 6px 28px;
    background:linear-gradient(90deg,rgba(3,10,17,.985),rgba(5,16,25,.965));
    border-right:1px solid #153a50;
    box-shadow:10px 0 28px #0004
}
.sidebar:before {
    content:"COMMAND RAIL / NX-01";
    display:block;
    margin:1px 5px 7px;
    padding:0 0 6px;
    border-bottom:1px solid #123147;
    color:#426c81;
    font:600 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.16em
}

.nav-section>span,.nav-section summary {
    
    
    font:700 6px/1 ui-monospace,Consolas,monospace;
    
    text-transform:uppercase
}
.nav-section summary {
    cursor:pointer;
    border-top:1px solid #0d293a
}
.nav-section a {
    
    display:flex;
    align-items:center;
    gap:6px;


    color:#7598aa;
    
    line-height:1.05
}
.nav-section a b {
    font-weight:650
}
.nav-section a:hover {
    
    border-left-color:#2ea4d4;
    color:#d7eef7
}
.nav-section a.active {


    box-shadow:inset 12px 0 22px rgba(39,161,208,.06)
}
.nav-section a.active:after {
    content:"";
    margin-left:auto;
    width:4px;
    height:4px;
    background:#55d9ff;
    box-shadow:0 0 8px #55d9ff
}
.admin-nav {
    border:1px solid #3f315a;
    background:linear-gradient(180deg,rgba(48,31,71,.13),transparent);
    padding:3px
}
.admin-nav>span {
    color:#8a71b2
}
.content {


    width:100%;
    overflow:visible
}
.content:before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:28px;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(54,185,231,.035),transparent 35%)
}

/* Command framing vocabulary. D17 separates canonical material from protected geometry. */
.panel,.record-category,.progression-card,.unit-card,.inventory-command-card,.contract-command-card,.strategic-front,.element-record-card,.leaderboard-board,.overview-world button,.messages article,.cards article,.tech {
    border-radius:2px!important
}
.panel,.record-category {
    border-color:#153a50;
    background:linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985));
    box-shadow:var(--nova-shadow)
}
.progression-card,.unit-card,.inventory-command-card,.contract-command-card,.strategic-front,.element-record-card,.leaderboard-board,.overview-world button,.messages article,.cards article,.tech {
    border-color:#153a50!important;
    background:linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985))!important;
    box-shadow:var(--nova-shadow)!important
}
.panel,.progression-card,.unit-card,.inventory-command-card,.contract-command-card {
    clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))
}
.panel {
    position:relative
}
.panel:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:74px;
    height:1px;
    background:linear-gradient(90deg,#4fcff6,transparent)
}

.section-head h2 {
    font:700 11px/1.1 ui-monospace,Consolas,monospace;
    letter-spacing:.07em;
    text-transform:uppercase;
    color:#cbe6f2
}
.section-head .eyebrow,.eyebrow {
    color:#4facce;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.18em;
    text-transform:uppercase
}
button,.button-link,.secondary-action,.ghost-link{
    border-radius:2px;
    clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));
    box-shadow:none
}
button {
    background:linear-gradient(180deg,#177ba5,#0b4f70);
    border-color:#2a8cb5;
    font:700 9px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.04em;
    text-transform:uppercase
}
button:hover {
    background:linear-gradient(180deg,#1e94c4,#0d6489);
    filter:none
}
.ghost,.secondary-action,.ghost-link{
    background:#06131e;
    border-color:#244c62;
    color:#8bbbd0
}
input,select,textarea{
    border-radius:2px;
    
    
    font-size:10px;
    
}
input:focus,select:focus,textarea:focus {
    border-color:#2d8ab1;
    box-shadow:0 0 0 1px rgba(76,205,246,.10),inset 0 1px 7px #0008
}

table {
    background:#030d15
}
th {
    background:linear-gradient(180deg,#0a2130,#061622);
    color:#76b9d5;
    font:700 7px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.10em;
    text-transform:uppercase
}

th,td {
    border-color:#102e40
}

/* Planet/resource command strip becomes an instrument rail, not four independent cards. */
.planet-context {
    min-height:34px;
    margin:0 0 4px;
    padding:4px 6px;
    border:1px solid #12384e;
    background:linear-gradient(90deg,#04121d,#061826 60%,#04111b);
    align-items:center
}
.planet-switcher {
    align-items:center
}
.planet-switcher label {
    display:flex;
    align-items:center;
    gap:7px;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.13em
}
.planet-switcher select {
    height:25px;
    max-width:340px
}
.planet-context .ghost-link {
    padding:7px 9px;
    font-size:8px
}
.resource-command-strip {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:0;
    margin:0 0 7px;
    border:1px solid #16425a;
    background:#030c14;
    box-shadow:0 8px 24px #0004
}
.resource-command-strip>div {
    position:relative;
    min-height:42px;
    padding:5px 8px 5px 35px!important;
    border:0!important;
    border-right:1px solid #13364b!important;
    border-radius:0!important;
    background:linear-gradient(180deg,#071824,#04111b)!important;
    box-shadow:none!important
}
.resource-command-strip>div:last-child {
    border-right:0!important
}
.resource-command-strip>div:before {
    content:"";
    position:absolute;
    left:8px;
    top:9px;
    width:19px;
    height:19px;
    transform:rotate(45deg);
    border:1px solid currentColor;
    background:rgba(255,255,255,.02);
    box-shadow:inset 0 0 10px currentColor
}
.resource-command-strip>div:after {
    content:"";
    position:absolute;
    left:14px;
    top:15px;
    width:7px;
    height:7px;
    border:1px solid currentColor;
    transform:rotate(45deg)
}
.resource-command-strip span {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.14em
}
.resource-command-strip b {
    font:700 14px/1 ui-monospace,Consolas,monospace;
    color:#dff5ff
}
.resource-command-strip small {
    font:600 7px/1 ui-monospace,Consolas,monospace
}


/* Page heroes: command banners with art direction instead of oversized empty blocks. */
.progression-hero,.codex-detail-hero,.social-command-hero,.inventory-command-head,.discovery-command-head,.admin-control-head,.commander-command-head,.hall-command-head {
    position:relative;
    overflow:hidden;
    border-radius:2px!important;
    clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,13px 100%,0 calc(100% - 13px))
}
.progression-hero,.codex-detail-hero,.inventory-command-head,.discovery-command-head,.admin-control-head,.commander-command-head,.hall-command-head {
    border:1px solid #1d4c65!important;
    background:linear-gradient(100deg,#061622 0,#09263a 46%,#071624 75%,#06101a 100%)!important;
    box-shadow:0 10px 30px #0005!important
}
.social-command-hero {
    border:1px solid #1d4c65;
    background:linear-gradient(100deg,#061622 0,#09263a 46%,#071624 75%,#06101a 100%);
    box-shadow:0 10px 30px #0005
}
.progression-hero:after,.codex-detail-hero:after,.social-command-hero:after,.inventory-command-head:after,.discovery-command-head:after,.admin-control-head:after,.commander-command-head:after,.hall-command-head:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(115deg,transparent 0 62%,rgba(72,198,239,.06) 62% 62.3%,transparent 62.3%),repeating-linear-gradient(90deg,transparent 0 54px,rgba(104,202,236,.018) 55px)
}
.progression-hero {
    
    
    margin-bottom:7px!important
}
.progression-hero>div:first-child {
    max-width:900px
}
.progression-hero h1 {
    font:750 23px/1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.04em!important;
    margin:3px 0 5px!important;
    text-transform:uppercase
}
.progression-hero p {
    font-size:9px!important;
    line-height:1.35!important;
    
    margin:0!important;
    color:#8cacbd!important
}
.progression-hero small {
    font-size:7px!important
}
.progression-orbit,.research-glyph,.unit-silhouette,.defense-radar {
    transform:scale(.52);
    margin:-36px -17px -36px 0!important;
    opacity:.72;
    filter:saturate(.75)
}
.mechanics-strip {
    gap:3px;
    margin:0 0 6px
}
.mechanics-strip>div {
    padding:5px 8px;
    border-radius:1px;
    background:#06141f;
    border-color:#14394e
}
.mechanics-strip small {
    font-size:6px
}
.mechanics-strip strong {
    font:700 12px/1 ui-monospace,Consolas,monospace
}
.mechanics-strip span {
    font-size:7px
}


.progression-card,.unit-card {
    min-height:188px;
    padding:8px 8px 8px 58px!important;
    position:relative;
    overflow:hidden
}
.progression-card:after,.unit-card:after {
    
    
    left:0;
    top:0;
    bottom:0;
    width:49px;
    
    border-right:1px solid #184158;
    box-shadow:inset -12px 0 24px #0003
}
.progression-card:before,.unit-card:before {
    z-index:2;
    width:2px!important;
    background:linear-gradient(#60d9ff 0 35%,transparent 82%)!important
}
.progression-card .building-card-head,.unit-card header {
    position:relative;
    z-index:3
}
.progression-card h2,.unit-card h2 {
    font:700 12px/1.12 ui-monospace,Consolas,monospace!important;
    letter-spacing:.015em
}
.progression-role,.class-badge {
    font-size:6px!important;
    letter-spacing:.12em
}
.level-badge {
    border-radius:1px;
    padding:3px 5px
}
.level-badge b {
    font:800 13px/1 ui-monospace,Consolas,monospace
}
.progression-description {
    font-size:8px!important;
    line-height:1.3!important;
    min-height:21px!important;
    margin:5px 0!important;
    color:#7898aa!important
}
.catalog-facts {
    margin:4px 0!important;
    gap:3px!important
}
.catalog-facts span {
    padding:3px 4px!important;
    border-radius:1px!important
}
.catalog-facts small {
    font-size:6px!important
}
.catalog-facts b {
    font-size:8px!important
}
.effect-strip {
    margin:4px 0!important;
    padding:4px 6px!important;
    border-radius:0!important
}
.effect-strip b {
    font-size:6px
}
.effect-strip span {
    font-size:7px
}
.building-blockers {
    margin:3px 0!important;
    gap:2px!important
}
.building-blockers span {
    font-size:7px!important
}
.building-cost-row {
    gap:2px!important;
    margin:4px 0!important
}
.building-cost-row span {
    padding:3px 4px!important;
    border-radius:1px!important;
    font:700 7px/1 ui-monospace,Consolas,monospace
}
.building-cost-row i {
    font-size:6px!important
}
.building-card-actions {
    margin-top:4px!important;
    padding-top:4px!important
}
.building-card-actions button,.building-card-actions .secondary-action {
    height:24px;
    padding:3px 6px;
    font-size:7px
}
.building-card-detail {
    margin-top:4px!important
}
.building-card-detail summary {
    font-size:7px!important
}
.progression-card[data-building-key]:before {
    box-shadow:0 0 12px rgba(81,210,250,.25)
}
.progression-card[data-building-key="metal_mine"]:after {
    background:linear-gradient(180deg,rgba(80,128,145,.38),rgba(4,17,27,.20))
}
.progression-card[data-building-key="titanium_mine"]:after {
    background:linear-gradient(180deg,rgba(163,139,65,.35),rgba(4,17,27,.20))
}
.progression-card[data-building-key="crystal_mine"]:after {
    background:linear-gradient(180deg,rgba(92,69,180,.36),rgba(4,17,27,.20))
}
.progression-card[data-building-key="deuterium_synthesizer"]:after {
    background:linear-gradient(180deg,rgba(38,143,111,.36),rgba(4,17,27,.20))
}

/* Overview gets a true command-deck silhouette. */
.overview-command-deck {
    position:relative;
    min-height:104px;
    border:1px solid #1b4a63;
    background:linear-gradient(105deg,#061522 0,#09283d 58%,#05121d 100%);
    clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,11px 100%,0 calc(100% - 11px));
    box-shadow:0 10px 30px #0005
}
.overview-command-deck:after {
    content:"";
    position:absolute;
    right:0;
    top:0;
    width:34%;
    height:100%;
    pointer-events:none;
    background:radial-gradient(circle at 70% 50%,rgba(64,187,231,.10),transparent 40%),repeating-linear-gradient(90deg,transparent 0 28px,rgba(100,195,230,.025) 29px)
}
.overview-planet-identity {
    position:relative;
    z-index:2
}
.overview-mini-orb {
    border:1px solid #3cb5e3;
    
    
}
.overview-planet-identity h1 {
    font:750 18px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.035em
}
.overview-science-grid {
    position:relative;
    z-index:2
}
.overview-science-grid>div {
    border-radius:1px!important;
    background:rgba(3,14,23,.66)!important;
    border-color:#14384c!important
}
.overview-primary-actions {
    position:relative;
    z-index:2
}
.overview-primary-actions a {
    border-radius:1px!important;
    font:700 7px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.12em;
    clip-path:polygon(0 0,calc(100% - 4px) 0,100% 4px,100% 100%,4px 100%,0 calc(100% - 4px))
}
.overview-world button {
    clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px))
}
.overview-world.active button {
    border-color:#49c9ef;
    box-shadow:inset 3px 0 #49cff4,0 0 18px rgba(52,190,235,.08)
}

/* Small ambient details that make the UI feel built, not default. */
::-webkit-scrollbar {
    width:6px;
    height:6px
}
::-webkit-scrollbar-track {
    background:#020910
}
::-webkit-scrollbar-thumb {
    background:#18475f;
    border:1px solid #256a88
}
::selection {
    background:#2d93bc;
    color:#fff
}
.flash {
    
    clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));
    font:700 9px/1.3 ui-monospace,Consolas,monospace
}
@media(min-width:1850px) {
    .command-shell {
        grid-template-columns:178px minmax(0,1fr)
    }
    .content {
        padding-left:12px;
        padding-right:12px
    }
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))!important
    }

}
@media(max-width:1279px) {
    .command-shell {
        grid-template-columns:160px minmax(0,1fr)
    }
    .resource-command-strip>div {
        padding-left:30px!important
    }
    .resource-command-strip>div:before {
        left:7px;
        width:16px;
        height:16px
    }
    .resource-command-strip>div:after {
        left:12px;
        top:14px;
        width:6px;
        height:6px
    }

}
@media(max-width:900px) {
    .content {
        padding:7px 7px 72px
    }
    .resource-command-strip {
        grid-template-columns:repeat(2,1fr)
    }
    .resource-command-strip>div:nth-child(2) {
        border-right:0!important
    }
    .progression-card,.unit-card {
        padding-left:45px!important
    }
    .progression-card:after,.unit-card:after {
        width:37px
    }

}
@media(max-width:560px) {
    .resource-command-strip {
        grid-template-columns:1fr
    }
    .resource-command-strip>div {
        border-right:0!important;
        border-bottom:1px solid #13364b!important
    }
    .progression-hero {
        min-height:auto!important
    }
    .progression-orbit,.research-glyph,.unit-silhouette,.defense-radar {
        display:none!important
    }

}

/* v8.3.20 Visual System Rebuild II — domain identity */
:root {
    --nova-cyan:#72ddff;
    --nova-violet:#9c7cff;
    --nova-amber:#e8bd67;
    --nova-green:#79e3b0;
    --nova-red:#ff7b83
}
.nova-emblem {
    position:relative;
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    color:var(--nova-cyan);
    border:1px solid color-mix(in srgb,currentColor 42%,transparent);
    background:radial-gradient(circle at 50% 40%,color-mix(in srgb,currentColor 17%,transparent),transparent 57%),linear-gradient(145deg,rgba(8,24,39,.98),rgba(3,10,18,.98));
    clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
    box-shadow:inset 0 0 22px color-mix(in srgb,currentColor 9%,transparent),0 0 22px #0005
}
.nova-emblem:before,.nova-emblem:after {
    content:"";
    position:absolute;
    pointer-events:none
}
.nova-emblem:before {
    inset:5px;
    border:1px solid color-mix(in srgb,currentColor 20%,transparent);
    clip-path:inherit
}
.nova-emblem:after {
    left:6px;
    right:6px;
    bottom:5px;
    height:1px;
    background:linear-gradient(90deg,transparent,currentColor,transparent);
    opacity:.55
}
.nova-emblem svg {
    width:31px;
    height:31px;
    filter:drop-shadow(0 0 7px currentColor)
}
.nova-emblem b {
    position:absolute;
    right:4px;
    bottom:2px;
    font:700 6px/1 ui-monospace,monospace;
    letter-spacing:.08em;
    opacity:.65
}
.nova-emblem-research {
    color:#a993ff
}
.nova-emblem-ships {
    color:#65d8ff
}
.nova-emblem-defenses {
    color:#ffb465
}
.nova-emblem-alliance {
    color:#b895ff
}
.nova-emblem-combat {
    color:#ff7e88
}
.nova-emblem-moon {
    color:#b9c8df
}
.domain-visual-card {
    position:relative;
    
    
    overflow:hidden
}
.domain-visual-band {
    
    z-index:2;


    justify-content:center;
    border-right:1px solid #21485f;
    
    
}
.domain-visual-band .nova-emblem {
    margin-top:2px
}
.domain-visual-scan {
    position:absolute;
    left:7px;
    right:7px;
    top:68px;
    bottom:8px;
    background:repeating-linear-gradient(180deg,transparent 0 7px,rgba(104,219,255,.08) 7px 8px);
    opacity:.7
}
.domain-visual-scan:after {
    content:"";
    position:absolute;
    left:50%;
    top:8px;
    bottom:8px;
    width:1px;
    background:linear-gradient(transparent,currentColor,transparent);
    opacity:.18
}
.building-command-card[data-building-key="metal_mine"] .nova-emblem {
    color:#8cdcff
}
.building-command-card[data-building-key="titanium_mine"] .nova-emblem {
    color:#e7bf6d
}
.building-command-card[data-building-key="crystal_mine"] .nova-emblem {
    color:#aa8cff
}
.building-command-card[data-building-key*="deuter"] .nova-emblem {
    color:#78e2b0
}
.research-card[data-research-key*="energy"] .nova-emblem,.research-card[data-research-key*="laser"] .nova-emblem {
    color:#7be9ff
}
.research-card[data-research-key*="gravity"] .nova-emblem {
    color:#c88cff
}
.research-card[data-research-key*="attack"] .nova-emblem {
    color:#ff818c
}
.unit-card[data-unit-key*="solar"] .nova-emblem {
    color:#f0d873
}
.unit-card[data-unit-key*="hunter"] .nova-emblem,.unit-card[data-unit-key*="cerberus"] .nova-emblem {
    color:#ff8b89
}
.unit-card[data-unit-key*="titan"] .nova-emblem,.unit-card[data-unit-key*="death_star"] .nova-emblem {
    color:#c39aff
}
.defense-card[data-defense-key*="dome"] .nova-emblem {
    color:#8ce6ff
}
.defense-card[data-defense-key*="prometheus"] .nova-emblem,.defense-card[data-defense-key*="armageddon"] .nova-emblem {
    color:#ff7f6e
}
.overview-mini-orb {
    width:72px!important;
    height:72px!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    display:grid!important;
    place-items:center
}
.overview-mini-orb .nova-emblem {
    width:66px;
    height:66px;
    color:#78ddff
}
.overview-mini-orb .nova-emblem svg {
    width:41px;
    height:41px
}
.alliance-domain-hero {
    display:flex;
    align-items:center;
    gap:16px
}
.alliance-domain-emblem .nova-emblem {
    width:72px;
    height:72px
}
.alliance-domain-emblem .nova-emblem svg {
    width:42px;
    height:42px
}
.combat-domain-radar {
    display:grid!important;
    grid-template-columns:auto auto;
    grid-template-rows:auto auto;
    gap:2px 8px;
    align-items:center!important
}
.combat-domain-radar .nova-emblem {
    grid-row:1/3;
    width:56px;
    height:56px
}
.combat-domain-radar span,.combat-domain-radar b {
    position:static!important
}
.galaxy-body-cell .orbit-icon,.orbit-command-card .orbit-icon {
    position:relative;
    overflow:hidden;
    background:radial-gradient(circle at 36% 31%,#baf4ff 0 3%,#4d93b6 4% 17%,#173a54 47%,#07131e 69%);
    box-shadow:inset -6px -6px 10px #0008,0 0 12px #55cfff44;
    border:1px solid #62cfff66
}
.orbit-icon.orbit-asteroid_belt {
    border-radius:30% 55% 40% 60%;
    background:linear-gradient(135deg,#755c43,#2f2d2a 55%,#111)
}
.orbit-icon.orbit-unknown {
    background:repeating-radial-gradient(circle,#173246 0 2px,#07121d 3px 6px);
    filter:saturate(.5)
}
.orbit-command-card.mine .orbit-icon,.galaxy-tactical-table tr.mine .orbit-icon {
    box-shadow:inset -6px -6px 10px #0008,0 0 16px #77e7ff88;
    border-color:#88eaff
}
@media(min-width:1850px) {
    .nova-emblem {
        width:50px;
        height:50px;
        flex-basis:50px
    }
    .nova-emblem svg {
        width:29px;
        height:29px
    }

}
/* D18: dead responsive legacy retired by D18. */

/* v8.3.21 — entity art + cinematic composition */
.domain-visual-card {
    padding-left:108px!important;
    
}
.domain-visual-band {
    
    
    align-items:stretch;
    padding:0!important
}
.domain-visual-band>.nova-emblem {


    flex-basis:27px;
    
    
    opacity:.78;
    
}


.nova-entity-art {


    overflow:hidden;
    
    
}
.nova-entity-art:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(105deg,transparent 55%,rgba(102,221,255,.08)),repeating-linear-gradient(0deg,transparent 0 8px,rgba(120,220,255,.035) 9px);
    pointer-events:none
}
.nova-entity-art svg {
    position:absolute;
    left:4px;
    right:4px;
    top:8px;
    width:80px;
    height:105px;
    filter:drop-shadow(0 0 7px currentColor)
}
.nova-entity-art .entity-main {
    fill:currentColor;
    fill-opacity:.20;
    stroke:currentColor;
    stroke-width:1.4;
    stroke-linejoin:round
}
.nova-entity-art .entity-cut {
    fill:#020911;
    fill-opacity:.82;
    stroke:currentColor;
    stroke-opacity:.65;
    stroke-width:1
}
.nova-entity-art .entity-wing,.nova-entity-art .entity-ground {
    fill:none;
    stroke:currentColor;
    stroke-width:1.2;
    stroke-linecap:round
}
.nova-entity-art .entity-core {
    fill:#e6fbff;
    stroke:currentColor;
    stroke-width:2;
    filter:drop-shadow(0 0 5px currentColor)
}
.nova-entity-art .entity-orbit {
    fill:none;
    stroke:currentColor;
    stroke-width:1;
    stroke-opacity:.65
}
.nova-entity-art .entity-orbit.second {
    stroke-dasharray:3 4
}
.nova-entity-art .entity-node {
    fill:#effcff;
    filter:drop-shadow(0 0 3px currentColor)
}
.nova-entity-art>i {
    position:absolute;
    left:0;
    right:0;
    bottom:29px;
    height:1px;
    background:linear-gradient(90deg,transparent,currentColor,transparent);
    opacity:.4
}

.entity-accent-1 {
    color:#b486ff
}
.entity-accent-2 {
    color:#efbb67
}
.entity-accent-3 {
    color:#70e69b
}
.entity-accent-4 {
    color:#ff7c75
}
.entity-domain-ships {
    background:radial-gradient(circle at 65% 45%,rgba(81,153,255,.17),transparent 36%),linear-gradient(180deg,#081b30,#020810)
}
.entity-domain-defenses {
    background:radial-gradient(circle at 50% 52%,rgba(255,116,91,.12),transparent 38%),linear-gradient(180deg,#211019,#07080d)
}
.entity-domain-research {
    background:radial-gradient(circle at 48% 45%,rgba(174,105,255,.15),transparent 40%),linear-gradient(180deg,#12152d,#050812)
}

.cinematic-command-deck,.cinematic-galaxy-head,.cinematic-combat-head,.cinematic-battle-hero {
    position:relative;
    isolation:isolate;
    overflow:hidden
}
.cinematic-command-deck>*:not(.nova-cinematic-scene),.cinematic-galaxy-head>*:not(.nova-cinematic-scene),.cinematic-combat-head>*:not(.nova-cinematic-scene),.cinematic-battle-hero>*:not(.nova-cinematic-scene) {
    position:relative;
    z-index:3
}
.nova-cinematic-scene {
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    overflow:hidden;
    background:radial-gradient(circle at var(--p1) var(--p2),rgba(56,167,222,.19),transparent 23%),radial-gradient(circle at var(--p3) 78%,rgba(112,74,180,.13),transparent 28%),linear-gradient(110deg,#030912,#071928 56%,#02060c)
}
.scene-starfield {
    position:absolute;
    inset:0;
    opacity:.72;
    background-image:radial-gradient(circle,#d8f7ff 0 1px,transparent 1.2px),radial-gradient(circle,#7ccfff 0 .7px,transparent 1px);
    background-position:7px 11px,31px 39px;
    background-size:53px 47px,79px 71px
}
.scene-grid {
    position:absolute;
    inset:0;
    background:linear-gradient(rgba(73,184,224,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(73,184,224,.035) 1px,transparent 1px);
    background-size:31px 31px;
    mask-image:linear-gradient(90deg,transparent,#000 38%,#000 80%,transparent)
}
.scene-body {
    position:absolute;
    width:150px;
    height:150px;
    border-radius:50%;
    right:6%;
    top:50%;
    transform:translateY(-48%);
    background:radial-gradient(circle at 35% 27%,#a7eaff 0 2%,#3983a7 4% 13%,#113c5b 38%,#071623 62%,#01040a 69%);
    box-shadow:inset -24px -18px 30px #000c,0 0 42px rgba(69,197,242,.22);
    opacity:.62
}
.scene-body:after {
    content:"";
    position:absolute;
    inset:42% -26%;
    border:1px solid rgba(115,218,255,.28);
    border-radius:50%;
    transform:rotate(-13deg)
}
.scene-orbit {
    position:absolute;
    width:310px;
    height:88px;
    border:1px solid rgba(94,205,244,.17);
    border-radius:50%;
    right:-18px;
    top:50%;
    transform:translateY(-50%) rotate(-9deg)
}
.scene-combat .scene-body {
    border-radius:9% 72% 13% 76%;
    width:185px;
    height:55px;
    right:4%;
    background:linear-gradient(160deg,#395c72 0 14%,#0b1a25 15% 36%,#5c8194 37% 40%,#071018 41% 100%);
    box-shadow:0 0 32px rgba(255,91,69,.22);
    transform:translateY(-50%) skewX(-18deg);
    opacity:.72
}
.scene-combat .scene-body:after {
    inset:16px -42px auto 28px;
    width:80px;
    height:1px;
    border:0;
    background:linear-gradient(90deg,#ff8068,transparent);
    box-shadow:0 8px #ff8068aa,0 -8px #ff806855;
    transform:none
}
.scene-combat .scene-orbit {
    border-color:rgba(255,100,78,.18);
    transform:translateY(-50%) rotate(9deg)
}
.scene-galaxy .scene-body {
    width:112px;
    height:112px;
    background:radial-gradient(circle at 40% 40%,#fff4cf 0 5%,#efb35c 12%,#9c4d24 28%,#36121d 50%,transparent 66%);
    box-shadow:0 0 60px #e17c3b40;
    opacity:.75
}
.cinematic-galaxy-head {
    min-height:80px;
    padding-right:190px!important
}
.cinematic-combat-head,.cinematic-battle-hero {
    min-height:92px
}
.cinematic-command-deck .nova-cinematic-scene {
    opacity:.72
}
.cinematic-command-deck {
    background:#05111dbf!important
}

@media(min-width:1850px) {
    .domain-visual-card {
        padding-left:106px!important
    }
    .domain-visual-band {
        width:86px
    }
    .nova-entity-art svg {
        width:78px
    }

}
@media(max-width:900px) {
    .domain-visual-card {
        padding-left:10px!important;
        padding-top:92px!important
    }
    .domain-visual-band {
        
        width:auto;
        right:9px
    }
    .nova-entity-art svg {
        width:92px;
        height:88px;
        left:auto;
        right:5px;
        top:-7px
    }
    .domain-visual-band>.nova-emblem {
        left:6px;
        bottom:6px
    }
    .nova-entity-art>b {
        right:8px
    }
    .scene-body,.scene-orbit {
        opacity:.28
    }
    .cinematic-galaxy-head {
        padding-right:10px!important
    }

}

/* v8.3.22 — Visual System Rebuild IV: primary-view composition */
.primary-game-scene {
    position:relative;
    
    margin-bottom:8px;
    
    background:#04101b;
    
    
}
.primary-game-scene:after {
    
    
    z-index:2;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:linear-gradient(90deg,#55d8ff,transparent 38%,#8f69ff 72%,transparent);
    opacity:.65;
    
}
.primary-game-scene h1 {
    letter-spacing:.035em;
    text-shadow:0 0 18px #4fd9ff2e
}
.primary-game-scene .eyebrow {
    letter-spacing:.16em
}
.scene-command-caption {
    position:absolute!important;
    z-index:4!important;
    right:18px;
    bottom:11px;
    text-align:right;
    display:grid;
    gap:1px;
    pointer-events:none
}
.scene-command-caption span {
    font:700 8px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.22em;
    color:#78dfff
}
.scene-command-caption b {
    font:600 11px/1.2 ui-monospace,Consolas,monospace;
    color:#dff8ff;
    opacity:.82
}
.scene-workspace {
    position:relative
}
.scene-workspace:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:0;
    background:linear-gradient(90deg,rgba(56,181,226,.025),transparent 17%,transparent 83%,rgba(111,80,195,.025))
}
.scene-workspace>* {
    position:relative;
    z-index:1
}
/* Overview = planetary bridge */
.overview-game-scene {
    min-height:166px;
    padding-right:235px!important
}
.overview-game-scene .scene-body {
    width:205px;
    height:205px;
    right:1.8%;
    opacity:.78
}
.overview-game-scene .scene-orbit {
    right:-22px;
    width:390px;
    height:104px
}
.overview-game-scene .overview-planet-identity h1 {
    font-size:24px
}
.overview-game-scene .overview-science-grid {
    max-width:980px;
    background:#03101ab8;
    border-top:1px solid #23546b;
    border-bottom:1px solid #173b4d
}
.overview-primary-actions a {
    position:relative;
    overflow:hidden
}
.overview-primary-actions a:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#60ddff;
    opacity:.65
}
/* Buildings = industrial surface */
.buildings-game-scene {
    min-height:126px;
    padding-right:255px!important;
    background:linear-gradient(90deg,#07131eeb,#081825c9)
}
.buildings-game-scene .nova-cinematic-scene {
    background:radial-gradient(circle at 83% 48%,rgba(235,168,74,.16),transparent 21%),linear-gradient(110deg,#06111a,#0a1b25 58%,#160f0b)
}
.buildings-game-scene .scene-body {
    border-radius:4px;
    width:202px;
    height:76px;
    right:2.5%;
    background:linear-gradient(180deg,#6f8792 0 9%,#183443 10% 63%,#071018 64%);
    box-shadow:0 18px 0 -13px #c78543aa,0 0 34px #eda95620;
    transform:translateY(-50%) skewX(-8deg)
}
.buildings-game-scene .scene-body:after {
    inset:auto 10px 11px 14px;
    height:28px;
    border:0;
    border-left:10px solid #315566;
    border-right:18px solid #172f3d;
    border-radius:0;
    transform:none
}
.building-command-grid {
    perspective:1200px
}
.building-command-card {
    background-image:linear-gradient(145deg,rgba(255,255,255,.018),transparent 42%)
}
/* Research = orbital laboratory */
.research-game-scene {
    min-height:126px;
    padding-right:245px!important
}
.research-game-scene .nova-cinematic-scene {
    background:radial-gradient(circle at 83% 50%,rgba(144,93,235,.22),transparent 22%),linear-gradient(110deg,#050c18,#0c1129 58%,#130c24)
}
.research-game-scene .scene-body {
    width:116px;
    height:116px;
    right:5%;
    background:radial-gradient(circle,#d9fbff 0 3%,#714ed1 4% 8%,transparent 9%),radial-gradient(circle at 50% 50%,transparent 0 35%,#815fea66 36% 37%,transparent 38%);
    box-shadow:0 0 35px #9b68ff30
}
.research-game-scene .scene-orbit {
    right:-10px;
    border-color:#ae80ff55;
    transform:translateY(-50%) rotate(18deg)
}
/* Shipyard = naval drydock */
.shipyard-game-scene {
    min-height:130px;
    padding-right:270px!important
}
.shipyard-game-scene .nova-cinematic-scene,.fleet-game-scene .nova-cinematic-scene {
    background:radial-gradient(circle at 83% 42%,rgba(53,151,231,.19),transparent 25%),linear-gradient(110deg,#030b14,#071827 58%,#06111b)
}
.shipyard-game-scene .scene-body,.fleet-game-scene .scene-body {
    border-radius:2% 68% 8% 68%;
    width:218px;
    height:58px;
    right:2.5%;
    background:linear-gradient(165deg,#63869a 0 10%,#102535 11% 40%,#86b5c6 41% 44%,#07121b 45%);
    box-shadow:0 0 34px #4acfff30;
    transform:translateY(-50%) skewX(-19deg)
}
.shipyard-game-scene .scene-body:after,.fleet-game-scene .scene-body:after {
    inset:17px -40px auto 40px;
    width:95px;
    height:1px;
    border:0;
    border-radius:0;
    background:linear-gradient(90deg,#68dcff,transparent);
    box-shadow:0 9px #68dcff55,0 -9px #68dcff33;
    transform:none
}
.unit-command-card:hover,.building-command-card:hover,.research-card:hover {
    transform:translateY(-2px);
    border-color:#3f85a3;
    box-shadow:0 10px 24px #0005,inset 0 1px #84dfff12
}
/* Galaxy = tactical star chart */
.galaxy-game-scene {
    min-height:112px
}
.galaxy-scene-workspace {
    display:grid;
    grid-template-columns:minmax(184px,220px) minmax(0,1fr);
    gap:8px
}
.galaxy-system-console {
    position:sticky;
    top:55px;
    align-self:start;
    
    
}
.galaxy-orbit-board {
    background:linear-gradient(180deg,#04101b99,#02070c66);
    border-left:1px solid #173647;
    padding-left:8px
}
.galaxy-tactical-table tr:hover {
    background:linear-gradient(90deg,#0b2c3cdd,#0a1722)
}
.galaxy-tactical-table tbody tr {
    transition:background var(--xn-motion-quick) ease,box-shadow var(--xn-motion-quick) ease
}
.galaxy-tactical-table tbody tr.mine {
    box-shadow:inset 3px 0 #62dcff
}
/* Fleet = launch control */
.fleet-game-scene {
    min-height:118px;
    padding-right:270px!important
}
.fleet-game-scene .scene-orbit {
    right:-24px;
    width:390px
}
.fleet-scene-workspace {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);
    gap:8px
}
.fleet-command-primary,.fleet-live-summary {
    margin:0!important
}

.fleet-launch-console:before {
    content:"FLIGHT CONTROL / AUTHORITATIVE PLAN";
    display:block;
    margin:-2px 0 7px;
    color:#6bdcff;
    font:700 8px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.2em
}

.fleet-form-command label {
    border-left:1px solid #1d4053;
    padding-left:7px
}
.fleet-actions button:first-child {
    box-shadow:0 0 0 1px #4dd8ff44,0 0 18px #36caff20
}
@media(min-width:1850px) {
    .overview-game-scene {
        padding-right:285px!important
    }
    .overview-game-scene .scene-body {
        width:238px;
        height:238px
    }
    .galaxy-scene-workspace {
        grid-template-columns:220px minmax(0,1fr)
    }
    .fleet-scene-workspace {
        grid-template-columns:minmax(0,1.7fr) 360px
    }

}
@media(max-width:1279px) {
    .galaxy-scene-workspace {
        display:block
    }
    .galaxy-system-console {
        position:relative;
        top:auto
    }
    .fleet-scene-workspace {
        grid-template-columns:1fr
    }
    .primary-game-scene {
        padding-right:12px!important
    }
    .overview-game-scene {
        min-height:140px
    }
    .scene-command-caption {
        display:none
    }

}
@media(max-width:720px) {
    .primary-game-scene {
        clip-path:none;
        min-height:auto
    }
    .primary-game-scene .nova-cinematic-scene {
        opacity:.28
    }
    .overview-game-scene .scene-body,.buildings-game-scene .scene-body,.research-game-scene .scene-body,.shipyard-game-scene .scene-body,.fleet-game-scene .scene-body {
        opacity:.24
    }
    .galaxy-orbit-board {
        border-left:0;
        padding-left:0
    }

}

/* v8.3.23 — Visual System Rebuild V: illustrated catalog language */
:root {
    --catalog-frame:#173b51;
    --catalog-frame-hot:#3caed4;
    --catalog-surface:#06131e;
    --catalog-deep:#02070c
}
.primary-game-scene {
    min-height:78px!important
}
.progression-hero {
    min-height:78px!important;
    padding:9px 13px!important
}
.progression-hero h1 {
    font-size:20px!important
}
.progression-hero p {
    max-width:720px!important
}
.progression-orbit,.research-glyph,.unit-silhouette,.defense-radar {
    display:none!important
}
/* Catalogs now read as game inventories, with an actual illustrated entity window instead of an abstract side stripe. */
.progression-grid,.unit-grid {
    gap:8px!important;
    align-items:stretch
}
.domain-visual-card {
    padding:0!important;
    min-height:0!important;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#081725 0,#04101a 42%,#030b12 100%)!important;
    border:1px solid var(--catalog-frame)!important;
    border-radius:2px!important;
    clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,0 100%)!important;
    box-shadow:inset 0 1px #92e7ff10,0 7px 18px #0005;
    transition:border-color var(--xn-motion-quick) ease,box-shadow var(--xn-motion-quick) ease,transform var(--xn-motion-quick) ease
}
.domain-visual-card:hover {
    transform:translateY(-2px);
    border-color:var(--catalog-frame-hot)!important;
    box-shadow:inset 0 1px #a9efff1b,0 10px 26px #0008,0 0 18px #39bde515
}
.domain-visual-card:before {
    content:""!important;
    position:absolute!important;
    z-index:8!important;
    left:0!important;
    top:0!important;
    width:3px!important;
    height:38%!important;
    background:linear-gradient(#69dcff,transparent)!important
}
.domain-visual-card:after {
    content:""!important;
    position:absolute!important;
    inset:0!important;
    z-index:7!important;
    pointer-events:none!important;
    background:linear-gradient(110deg,rgba(96,220,255,.035),transparent 28%,transparent 76%,rgba(128,88,220,.025))!important
}
.domain-visual-band {
    position:relative!important;
    left:auto!important;
    top:auto!important;
    bottom:auto!important;
    right:auto!important;
    width:100%!important;
    height:112px!important;
    display:block!important;
    overflow:hidden!important;
    border:0!important;
    border-bottom:1px solid #1c465e!important;
    background:#02080e!important;
    clip-path:none!important
}
.domain-visual-band:before {
    content:"";
    position:absolute;
    z-index:4;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 52%,rgba(2,8,13,.28) 68%,rgba(2,8,13,.95) 100%),linear-gradient(90deg,rgba(87,207,247,.06),transparent 28%,transparent 72%,rgba(140,95,230,.05))
}
.domain-visual-band:after {
    content:"";
    position:absolute;
    z-index:5;
    left:9px;
    right:9px;
    bottom:7px;
    height:1px;
    background:linear-gradient(90deg,#59d8ff,transparent 46%,#9c78ff);
    opacity:.48
}
.nova-entity-art {
    position:absolute!important;
    inset:0!important;
    display:block!important;
    background:#02080e!important;
    color:inherit!important
}
.nova-entity-art img {
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    filter:saturate(.92) contrast(1.06)!important
}
.nova-entity-art .entity-art-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(2,7,12,.02),transparent 48%,rgba(2,7,12,.18)),linear-gradient(180deg,transparent 58%,rgba(2,7,12,.8));
    pointer-events:none
}
.nova-entity-art>b {
    position:absolute!important;
    z-index:3!important;
    right:9px!important;
    bottom:8px!important;
    color:#bcefff!important;
    font:700 7px/1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.18em!important;
    text-shadow:0 0 8px #48d9ff99!important;
    opacity:.7!important
}
.domain-visual-band>.nova-emblem {
    position:absolute!important;
    z-index:6!important;
    left:8px!important;
    bottom:8px!important;
    width:25px!important;
    height:25px!important;
    display:grid!important;
    margin:0!important;
    background:#03101add!important;
    border-color:#5bd8ff55!important
}
.domain-visual-band>.nova-emblem svg {
    width:15px!important;
    height:15px!important
}
.domain-visual-band>.nova-emblem b {
    display:none!important
}
.domain-visual-scan {
    display:none!important
}
/* The card header becomes the title bar, like a tactical catalogue plate. */
.domain-visual-card>.building-card-head,.domain-visual-card>.command-card-head,.domain-visual-card>header {
    order:-1;
    position:relative!important;
    z-index:10!important;
    min-height:31px;
    margin:0!important;
    padding:6px 9px!important;
    border-bottom:1px solid #183d52;
    background:linear-gradient(180deg,#0b2232,#071824)!important
}

.domain-visual-card h2 {
    font:700 11px/1.1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.01em!important
}
.domain-visual-card h2 a {
    color:#d9eef7!important
}
.progression-role {
    font-size:5.5px!important;
    color:#60c9ed!important
}
.level-badge,.class-badge {
    background:#06131e!important;
    border-color:#2c6079!important
}
/* Put the illustrated window immediately below the title bar even though markup keeps it first. */
.domain-visual-card>.domain-visual-band {
    order:0
}
.domain-visual-card>.progression-description,.domain-visual-card>.command-description {
    order:1;
    margin:0!important;
    padding:6px 9px 5px!important;
    min-height:31px!important;
    font-size:7.5px!important;
    line-height:1.3!important;
    color:#7d9baa!important;
    border-bottom:1px solid #0f2a3a
}
.domain-visual-card>.catalog-facts,.domain-visual-card>.command-fast-facts,.domain-visual-card>.unit-kpis {
    order:2;
    margin:0!important;
    padding:5px 7px!important;
    gap:3px!important;
    background:#04101a!important;
    border-bottom:1px solid #102c3d
}
.domain-visual-card>.catalog-facts span,.domain-visual-card>.command-fast-facts span,.domain-visual-card>.unit-kpis span {
    padding:3px 4px!important;
    background:#071723!important;
    border:1px solid #15394d!important
}
.domain-visual-card>.effect-strip {
    order:3;
    margin:0 7px 5px!important;
    padding:5px 7px!important
}
.domain-visual-card>.building-blockers,.domain-visual-card>.command-blockers {
    order:4;
    margin:0 7px 5px!important
}
.domain-visual-card>.building-cost-row,.domain-visual-card>.command-cost-row {
    order:5;
    margin:auto 0 0!important;
    padding:6px 7px!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:3px!important;
    background:#020a11!important;
    border-top:1px solid #123246;
    border-bottom:1px solid #123246
}
.domain-visual-card>.building-cost-row span,.domain-visual-card>.command-cost-row span {
    display:grid!important;
    grid-template-columns:auto 1fr!important;
    align-items:center!important;
    gap:3px!important;
    padding:3px 4px!important;
    background:#061722!important;
    border:1px solid #17394c!important
}
.domain-visual-card>.unit-meta {
    order:6;
    margin:0!important;
    padding:5px 7px!important;
    background:#041019;
    border-bottom:1px solid #102c3d
}
.domain-visual-card>.command-card-detail,.domain-visual-card>.building-card-detail {
    order:7;
    margin:0!important;
    border-top:0!important
}
.domain-visual-card>.building-card-actions,.domain-visual-card>.command-card-actions,.domain-visual-card>footer {
    order:8;
    margin:0!important;
    padding:6px 7px!important;
    background:linear-gradient(180deg,#061621,#030c13)!important;
    border-top:1px solid #173a4d!important
}
.domain-visual-card footer form {
    gap:4px!important
}
.domain-visual-card footer button {
    min-height:27px;
    background:linear-gradient(180deg,#1387b6,#07597b);
    border:1px solid #39bde7;
    box-shadow:inset 0 1px #aeefff30
}
.domain-visual-card footer button:hover {
    background:linear-gradient(180deg,#1ba6db,#08749e)
}
.domain-visual-card footer button:disabled {
    background:#101820;
    border-color:#25313a;
    box-shadow:none
}
.secondary-action {
    background:#07141e!important;
    border-color:#24495c!important
}
/* Domain-specific material language. */
.building-command-card .domain-visual-band {
    border-bottom-color:#2a6d88!important
}
.research-card .domain-visual-band {
    border-bottom-color:#6556a1!important
}
.unit-card[data-unit-key] .domain-visual-band {
    border-bottom-color:#327a9c!important
}
.defense-card .domain-visual-band {
    border-bottom-color:#7d5360!important
}
.building-command-card[data-building-key="metal_mine"] {
    --catalog-frame-hot:#70d8ff
}
.building-command-card[data-building-key="titanium_mine"] {
    --catalog-frame-hot:#e5bd65
}
.building-command-card[data-building-key="crystal_mine"] {
    --catalog-frame-hot:#aa87ff
}
.building-command-card[data-building-key="deuterium_synthesizer"] {
    --catalog-frame-hot:#62ddb0
}
/* Page canvases become textured game surfaces rather than flat web backgrounds. */
body.authenticated .content {
    background-image:linear-gradient(rgba(4,11,17,.93),rgba(4,11,17,.96)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(71,143,170,.025) 6px),repeating-linear-gradient(90deg,transparent 0 5px,rgba(71,143,170,.018) 6px)!important;
    background-blend-mode:normal
}
.scene-workspace {
    padding:7px;
    background:linear-gradient(180deg,rgba(5,16,25,.7),rgba(2,8,13,.52));
    border:1px solid #102f42
}
/* 4 cards at ordinary 1920-class desktop; 5 only when there is genuinely enough usable width. */
@media(min-width:1280px) {
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))!important
    }

}
@media(min-width:2100px) {
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))!important
    }

}
@media(max-width:1279px) {
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(3,minmax(0,1fr))!important
    }

}
@media(max-width:900px) {
    .progression-grid,.unit-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .domain-visual-band {
        height:128px!important
    }

}
@media(max-width:560px) {
    .progression-grid,.unit-grid {
        grid-template-columns:1fr!important
    }
    .domain-visual-band {
        height:142px!important
    }

}

/* v8.3.24 — Visual System Rebuild VI: catalog structure + game framing */
.catalog-surface {
    display:grid;
    gap:12px;
    margin-top:9px
}
.catalog-class-section {
    position:relative;
    border:1px solid #17394c;
    background:linear-gradient(180deg,rgba(7,23,35,.96),rgba(2,9,15,.9));
    box-shadow:0 10px 28px #0005,inset 0 1px #9be9ff0b;
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)
}
.catalog-class-section:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:linear-gradient(#54d7ff,rgba(84,215,255,.1) 52%,transparent)
}
.catalog-class-header {
    min-height:49px;
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:7px 10px;
    border-bottom:1px solid #1a455d;
    
}
.catalog-class-header:after {
    content:"";
    position:absolute;
    left:48px;
    right:48px;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,#54d7ff55,transparent 70%)
}
.catalog-class-code {
    display:grid;
    place-items:center;
    width:34px;
    height:30px;
    border:1px solid #2e7897;
    background:#04131e;
    color:#7bdfff;
    font:800 8px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.14em;
    clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,0 100%)
}
.catalog-class-header h2 {
    margin:0;
    color:#d9f2fb;
    font:800 13px/1.1 ui-monospace,Consolas,monospace;
    letter-spacing:.035em
}
.catalog-class-header p {
    margin:3px 0 0;
    color:#688a9c;
    font-size:8px;
    line-height:1.25
}
.catalog-class-header>b {
    min-width:26px;
    padding:5px 7px;
    border:1px solid #245873;
    background:#04131e;
    color:#8de5ff;
    text-align:center;
    font:800 9px/1 ui-monospace,Consolas,monospace
}
.catalog-class-section>.progression-grid,.catalog-class-section>.unit-grid {
    padding:8px;
    margin:0!important
}
.catalog-class-section[data-catalog-class="combat"],.catalog-class-section[data-catalog-class="heavy"],.catalog-class-section[data-catalog-class="special"] {
    border-color:#49374e
}
.catalog-class-section[data-catalog-class="combat"] .catalog-class-header,.catalog-class-section[data-catalog-class="heavy"] .catalog-class-header,.catalog-class-section[data-catalog-class="special"] .catalog-class-header {
    background:linear-gradient(90deg,#251720,#111523 50%,#06111b)
}
.catalog-class-section[data-catalog-class="weapons"] .catalog-class-header {
    background:linear-gradient(90deg,#201b37,#101827 52%,#06111b)
}
/* Visual requirement rail: requirements become recognisable game tokens rather than a prose blocker list. */
.catalog-requirement-rail {
    order:1;
    display:flex;
    align-items:stretch;
    gap:4px;
    min-height:40px;
    padding:5px 6px;
    background:linear-gradient(180deg,#06131d,#030c13);
    border-bottom:1px solid #153446;
    overflow:hidden
}
.catalog-requirement {
    position:relative;
    display:grid;
    grid-template-columns:29px minmax(0,1fr);
    align-items:center;
    gap:5px;
    min-width:0;
    flex:1;
    padding:3px 5px 3px 3px;
    border:1px solid #1b4358;
    background:#071824
}
.catalog-requirement .nova-emblem {
    width:25px!important;
    height:25px!important;
    margin:0!important;
    border-radius:2px!important
}
.catalog-requirement .nova-emblem svg {
    width:15px!important;
    height:15px!important
}
.catalog-requirement .nova-emblem b {
    display:none!important
}
.catalog-requirement-copy {
    min-width:0;
    display:grid;
    gap:2px
}
.catalog-requirement-copy b {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#a8c4d2;
    font-size:6.8px;
    font-weight:700
}
.catalog-requirement-copy small {
    color:#7894a4;
    font:800 7px/1 ui-monospace,Consolas,monospace
}
.catalog-requirement.ok {
    border-color:#245846;
    background:#061a18
}
.catalog-requirement.ok .catalog-requirement-copy small {
    color:#62dca6
}
.catalog-requirement.missing {
    border-color:#713747;
    background:#1a0b12
}
.catalog-requirement.missing .catalog-requirement-copy small {
    color:#ff8197
}
.catalog-requirement-more,.catalog-requirement-empty {
    display:grid;
    place-items:center;
    padding:0 7px;
    border:1px solid #243f50;
    background:#06121b;
    color:#7695a7;
    font:700 7px/1.1 ui-monospace,Consolas,monospace
}
.catalog-action-status {
    order:6;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    padding:5px 7px;
    background:#041019;
    border-bottom:1px solid #102c3d
}
.catalog-action-status>span {
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    padding:3px 5px;
    border:1px solid #153548;
    background:#061722
}
.catalog-action-status small {
    color:#63869a;
    font-size:6px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.catalog-action-status b {
    font-size:8px;
    color:#b9d7e6
}
.catalog-action-status .ready b {
    color:#58dda4
}
.catalog-action-status .blocked b {
    color:#ff8197
}
/* V23 description blocks are intentionally removed from catalogue cards in V24; art + requirements + mechanics lead, Codex carries prose. */
.catalog-surface .domain-visual-card>.progression-description,.catalog-surface .domain-visual-card>.command-description {
    display:none!important
}
.catalog-surface .domain-visual-band {
    height:124px!important
}
.catalog-surface .domain-visual-card>.unit-kpis {
    order:2!important
}
.catalog-surface .domain-visual-card>.effect-strip {
    order:3!important
}
.catalog-surface .domain-visual-card>.building-cost-row,.catalog-surface .domain-visual-card>.command-cost-row {
    order:5!important
}
.catalog-surface .domain-visual-card>.unit-meta {
    order:6!important
}
.catalog-surface .domain-visual-card>footer {
    order:8!important
}
.catalog-surface .domain-visual-card {
    min-width:0
}
@media(max-width:900px) {
    .catalog-class-header {
        grid-template-columns:30px minmax(0,1fr) auto
    }
    .catalog-class-header p {
        display:none
    }
    .catalog-requirement-rail {
        flex-wrap:wrap
    }
    .catalog-requirement {
        min-width:calc(50% - 3px);
        flex:1 1 calc(50% - 3px)
    }

}
.catalog-unlock-tray {
    order:7;
    margin:0!important;
    border-top:1px solid #102c3d!important;
    background:#030c13
}
.catalog-unlock-tray summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:5px 7px;
    color:#6e93a7;
    font:700 6.5px/1 ui-monospace,Consolas,monospace;
    text-transform:uppercase;
    letter-spacing:.08em;
    cursor:pointer
}
.catalog-unlock-tray summary b {
    color:#8bdfff
}
.catalog-unlock-tray>div {
    display:flex;
    gap:4px;
    padding:0 6px 6px;
    overflow:hidden
}
.catalog-unlock-tray>div>span {
    display:grid;
    grid-template-columns:23px minmax(0,1fr);
    align-items:center;
    gap:4px;
    min-width:0;
    flex:1;
    padding:3px;
    border:1px solid #183a4d;
    background:#061722
}
.catalog-unlock-tray .nova-emblem {
    width:21px!important;
    height:21px!important;
    margin:0!important
}
.catalog-unlock-tray .nova-emblem svg {
    width:13px!important;
    height:13px!important
}
.catalog-unlock-tray .nova-emblem b {
    display:none!important
}
.catalog-unlock-tray small {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#89a8b8;
    font-size:6.5px
}

/* v8.3.25 — Visual System Rebuild VII: unified cockpit shell */
:root {
    --cockpit-edge:#214963;
    --cockpit-cyan:#43d7ff;
    --cockpit-deep:#02070d;
    --cockpit-panel:#061521;
    --cockpit-line:rgba(86,190,231,.26)
}
body.app-authenticated {
    background-color:#02070c;
    background-image:linear-gradient(rgba(39,94,120,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(39,94,120,.035) 1px,transparent 1px),radial-gradient(circle at 65% 10%,rgba(21,97,136,.12),transparent 30%),radial-gradient(circle at 15% 70%,rgba(72,43,123,.08),transparent 27%);
    background-size:5px 5px,5px 5px,auto,auto
}
.cockpit-topbar {


    position:sticky;
    top:0;
    z-index:80
}
.cockpit-topbar:before,.cockpit-topbar:after {
    content:"";
    position:absolute;
    bottom:-6px;
    width:22%;
    height:7px;
    border-top:1px solid #4eaed5;
    background:linear-gradient(180deg,#12364b,#06121d);
    clip-path:polygon(0 0,100% 0,95% 100%,5% 100%)
}

.cockpit-brand .brand-mark {
    
    
    filter:drop-shadow(0 0 10px #32c7ff55)
}

.cockpit-primary-nav {
    align-self:stretch;
    
    
    gap:0!important
}
.cockpit-primary-nav a {


    border-bottom:2px solid transparent!important;
    clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)
}
.cockpit-primary-nav a.active {
    
    border-bottom-color:#45d8ff!important;
    
    text-shadow:0 0 14px #49d8ff55
}
.top-icon.active {
    border-color:#3bcff3!important;
    color:#e8fbff!important;
    box-shadow:inset 0 0 12px #2bc8f322
}
.cockpit-underbar {
    
    margin:0 0 -10px 186px;
    position:relative;
    z-index:60;
    display:flex;
    align-items:center;
    justify-content:center;
    pointer-events:none
}
.cockpit-underbar i {
    height:1px;
    width:min(26vw,340px);
    background:linear-gradient(90deg,transparent,#367795)
}
.cockpit-underbar i:last-child {
    transform:scaleX(-1)
}
.cockpit-underbar span {
    font:700 6px ui-monospace,monospace;
    letter-spacing:.28em;
    
    
}


.cockpit-rail:before {
    content:"";
    position:fixed;
    left:0;
    top:52px;
    width:186px;
    height:4px;
    background:linear-gradient(90deg,#2f7898,#61d7f5 42%,#12394f);
    clip-path:polygon(0 0,100% 0,95% 100%,5% 100%)
}
.rail-cap {
    
    
    display:grid;
    grid-template-columns:30px 1fr;
    grid-template-rows:1fr 1fr;
    align-items:center;


}
.rail-cap>span {
    grid-row:1/3;
    display:grid;
    place-items:center;
    height:100%;
    border-right:1px solid #23506a;
    
    font:900 11px ui-monospace
}
.rail-cap b {
    align-self:end;
    padding-left:8px;
    font:800 8px ui-monospace;
    
    color:#b9e8f6
}
.rail-cap small {
    align-self:start;
    padding-left:8px;
    font:700 6px ui-monospace;
    letter-spacing:.12em;
    
}
.rail-quick-grid {
    display:grid;


}
.rail-quick-grid a {
    
    
    display:grid!important;
    
    align-items:center;
    
    
    clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)
}
.rail-quick-grid a span {
    display:grid;
    place-items:center;
    
    
}
.rail-quick-grid a b {
    
    
    font-weight:600!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.rail-quick-grid a:hover,.rail-quick-grid a.active {
    background:linear-gradient(180deg,#0d3550,#071c2d)!important;
    border-color:#43bee8!important;
    box-shadow:inset 0 0 18px rgba(58,199,242,.1)!important
}
.rail-quick-grid a.active b {
    color:#e7faff!important
}
.cockpit-rail .nav-section a.active {
    
    
    color:#e7fbff!important
}
.cockpit-rail .nav-section a.active b {
    color:#fff!important
}
.rail-footer {
    position:fixed;


    display:grid;
    
    gap:3px;
    padding:4px;
    border:1px solid #1d4b64;
    
    clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 50%,calc(100% - 7px) 100%,7px 100%,0 50%)
}
.rail-footer a {
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:1px solid #173b50!important;
    
    color:#68bad4!important
}
.rail-footer a:hover {
    color:#e7fbff!important;
    border-color:#3ecff6!important
}
.content {
    padding-top:13px!important;
    max-width:none!important
}
.world-status-console {
    
    grid-template-columns:minmax(260px,360px) minmax(440px,1fr) 84px;
    gap:0;
    align-items:stretch;
    
    border:1px solid #214b63;


}
.world-node-selector {
    display:grid;
    grid-template-columns:42px 1fr;
    align-items:center;
    gap:7px;
    
    border-right:1px solid #1c4358;
    
}
.world-orb {
    grid-row:1;
    display:grid;
    place-items:center;
    
    
}

.world-node-selector label {
    display:grid;
    gap:1px;
    min-width:0
}
.world-node-selector label small {
    font:700 6px ui-monospace;
    letter-spacing:.16em;
    
    text-transform:uppercase
}
.world-node-selector select {
    
    padding:3px 21px 3px 5px;
    
    border-bottom:1px solid #26516a;


    border-radius:0;
    min-width:0
}
.world-resource-bus {
    margin:0!important;
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important
}
.world-resource-bus>div {
    border:0!important;
    border-right:1px solid #17394d!important;
    border-radius:0!important;


}
.world-resource-bus>div:last-child {
    border-right:0!important
}
.world-resource-bus>div:after {
    display:none
}
.world-resource-bus span {
    font-size:6px!important;
    letter-spacing:.16em!important
}
.world-resource-bus b {
    font-size:13px!important
}
.world-resource-bus small {
    font-size:8px!important
}
.world-system-jump {
    display:grid;
    place-items:center;
    align-content:center;
    gap:0;
    border-left:1px solid #23526b;
    
    color:#8ed8ed;
    text-align:center
}
.world-system-jump>span {
    font-size:14px;
    color:#54d9ff
}
.world-system-jump small {
    font:700 6px ui-monospace;
    letter-spacing:.14em;
    color:#527d94
}
.world-system-jump b {
    font:700 9px ui-monospace;
    color:#d9f6ff
}
.panel,.game-section-frame,.catalog-section {
    clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)
}
@media(max-width:1180px) {
    .world-status-console {
        grid-template-columns:280px 1fr
    }
    .world-system-jump {
        display:none
    }
    .cockpit-primary-nav a {
        padding:0 8px!important
    }
    .cockpit-brand {
        min-width:140px
    }
    .cockpit-underbar {
        margin-left:172px
    }
    .cockpit-rail:before {
        width:172px
    }
    .rail-footer {
        width:158px
    }

}
@media(max-width:900px) {
    .cockpit-primary-nav {
        display:none!important
    }
    .world-status-console {
        grid-template-columns:1fr;
        clip-path:none
    }
    .world-node-selector {
        border-right:0;
        border-bottom:1px solid #1c4358
    }
    .cockpit-underbar {
        display:none
    }

}
@media(max-width:760px) {
    .world-resource-bus {
        grid-template-columns:repeat(2,1fr)!important
    }
    .cockpit-rail {
        display:none!important
    }
    .shell.command-shell {
        display:block!important
    }
    .content {
        padding:8px 7px 70px!important
    }

}

/* v8.4.1 — Visual Convergence Gate I: game chassis, not web-app chrome */
:root {

     --nx-metal-0:#02060a;
    --nx-metal-1:#07131d;
    --nx-metal-2:#0c2230;
    --nx-metal-3:#16394d;

     --nx-edge:#315b70;
    --nx-edge-hi:#6ba8bd;
    --nx-ice:#bde9f2;
    --nx-cyan:#42d7ff;
    --nx-amber:#d5a85a;
    --nx-red:#d45c61;

}
body.app-authenticated {
    
     radial-gradient(ellipse at 25% 95%,rgba(62,35,106,.13),transparent 31%),
     linear-gradient(180deg,#010408 0,#02070b 44%,#010306 100%)!important;

     
}
body.app-authenticated:before {


    opacity:.7;
    
    
}
.stars,.space-haze {
    opacity:.34!important
}

.cockpit-topbar:before {
    left:186px;
    width:270px;
    height:7px;
    bottom:-7px;
    background:linear-gradient(180deg,#315d72,#07141d);
    border-color:#6c9bae
}
.cockpit-topbar:after {
    right:12px;
    width:34%;
    height:7px;
    bottom:-7px;
    background:linear-gradient(180deg,#214759,#06121a);
    border-color:#426f82
}
.cockpit-brand {
    
    
    padding-right:13px;
    
    position:relative
}
.cockpit-brand:after {
    content:"";
    position:absolute;
    right:-7px;
    top:0;
    width:8px;
    height:100%;
    background:linear-gradient(180deg,#234b5d,#09151e);
    clip-path:polygon(0 0,100% 13%,100% 87%,0 100%)
}
.cockpit-brand .brand-mark {
    
    
    border:1px solid #5da8c2!important;


}

.cockpit-commander-id {
    
    min-width:150px;
    margin:8px 9px 8px 5px;


    position:relative;
    border-top:1px solid #234556;
    border-bottom:1px solid #142e3b;
    
    clip-path:polygon(8px 0,100% 0,calc(100% - 7px) 100%,0 100%,0 8px)
}
.commander-chevron {
    position:absolute;
    left:7px;
    top:7px;
    width:22px;
    height:26px;
    display:grid;
    place-items:center;
    color:#62d9f3;
    border:1px solid #315e70;
    background:#071922;
    clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%)
}
.cockpit-commander-id small {
    font:700 6px ui-monospace,Consolas,monospace;
    
    
}
.cockpit-commander-id b {
    font:800 10px/1.2 ui-monospace,Consolas,monospace;
    
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.cockpit-primary-nav {
    margin-left:2px
}
.cockpit-primary-nav a {
    min-width:72px;
    justify-content:center;
    
    
    color:#668895!important;
    
    border-right:1px solid #08131a!important;
    position:relative
}
.cockpit-primary-nav a:before {
    content:"";
    width:4px;
    height:4px;
    border:1px solid #315469;
    transform:rotate(45deg);
    margin-right:6px
}
.cockpit-primary-nav a.active:before {
    background:#65e7ff;
    border-color:#aaf4ff;
    box-shadow:0 0 8px #54dfff
}

.topbar-actions {
    margin-left:auto;
    
}
.top-icon,.topbar-actions .ghost,.universe-badge,.locale-switch select,.universe-switch select {
    border-radius:0;
    border-color:#244758;
    background:linear-gradient(180deg,#0c202c,#06131c);
    color:#8fb8c7;
    box-shadow:inset 0 1px #183647
}
.top-icon:hover,.topbar-actions .ghost:hover {
    border-color:#54b7d5!important;
    color:#e8fbff!important
}
.cockpit-underbar {
    top:0;
    
    margin-left:186px
}
.cockpit-underbar span {
    background:#03090e;
    padding:1px 12px;
    border:1px solid #193747;
    border-top:0;
    color:#41697d!important;
    clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 100%,0 100%)
}
.shell.command-shell {
    grid-template-columns:186px minmax(0,1fr)!important;
    gap:0;
    max-width:none!important
}

.cockpit-rail:after {
    
    
    left:181px;
    
    bottom:0;
    
    pointer-events:none;
    
    opacity:.7
}
.rail-cap {
    
    
    border-color:#34586a!important;
    
    
}
.rail-cap>span {
    
    color:#9aeaff!important
}


.rail-telemetry {
    
    grid-template-columns:1fr 1fr;
    
    
}
.rail-telemetry>span {
    height:30px;
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    padding:0 7px;
    border:1px solid #173545;
    
    position:relative
}
.rail-telemetry>span:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#2e6f89
}
.rail-telemetry small {
    font:700 5.5px ui-monospace;
    letter-spacing:.1em;
    color:#507487
}
.rail-telemetry b {
    font:800 10px ui-monospace;
    color:#9bdff0
}

.rail-quick-grid a {
    
    grid-template-columns:30px minmax(0,1fr)!important;
    
    border-color:#173747!important;
    
    position:relative;
    overflow:hidden
}
.rail-quick-grid a:after {
    content:"";
    position:absolute;
    right:-12px;
    bottom:-10px;
    width:34px;
    height:34px;
    border:1px solid #234b5e;
    transform:rotate(45deg);
    opacity:.45
}
.rail-quick-grid a span {
    height:31px;
    width:28px;
    border:1px solid #285266;
    background:radial-gradient(circle,#123348,#07141d 70%);
    
    
    box-shadow:inset 0 0 9px #0a2634
}
.rail-quick-grid a b {
    
    
    color:#9ebdca!important
}

.rail-quick-grid a.active span {
    color:#e5fbff!important;
    border-color:#5ab8d0;
    box-shadow:0 0 12px #39cfff30,inset 0 0 9px #174b60
}
.cockpit-rail .nav-section {
    
    border-top:1px solid #163443
}
.cockpit-rail .nav-section>span,.cockpit-rail .nav-section>summary {
    
    
    font:800 6px ui-monospace!important;
    letter-spacing:.16em!important;
    
    
}
.cockpit-rail .nav-section a {


    border-left:1px solid transparent
}
.cockpit-rail .nav-section a:hover {
    background:linear-gradient(90deg,#102a38,transparent)!important;
    color:#c6edf6!important
}
.cockpit-rail .nav-section a.active {
    background:linear-gradient(90deg,#123548 0,#091a24 75%,transparent)!important;
    border-left-color:#66e1fa!important;
    box-shadow:inset 3px 0 #3ac5e8!important
}
.rail-footer {
    bottom:8px!important;
    
    
    border-color:#31596c!important;
    box-shadow:0 -7px 20px #000a
}
.rail-footer a {
    background:#071621!important;
    border-color:#173b4b!important
}
.content {
    padding:14px 14px 28px!important;
    min-width:0;
    position:relative;
    background:linear-gradient(90deg,rgba(2,7,11,.55),rgba(2,8,13,.18) 7%,rgba(2,8,13,.18) 93%,rgba(2,7,11,.55))
}
.game-view-frame {
    min-height:calc(100vh - 88px);
    position:relative;


    clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)
}
.game-view-frame:before,.game-view-frame:after {
    content:"";
    position:absolute;
    z-index:2;
    pointer-events:none
}
.game-view-frame:before {
    inset:4px;
    border:1px solid rgba(61,104,122,.22);
    clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)
}
.game-view-frame:after {
    left:15px;
    right:15px;
    top:35px;
    height:1px;
    background:linear-gradient(90deg,#46788d 0,transparent 20%,transparent 80%,#46788d 100%)
}
.game-view-bezel {
    
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    
    position:relative;
    
    
    clip-path:polygon(0 0,100% 0,100% 100%,24px 100%,16px 73%,0 73%)
}
.game-view-bezel:before {
    content:"";
    position:absolute;
    left:7px;
    top:8px;
    width:4px;
    height:18px;
    background:#49cce9;
    box-shadow:0 0 9px #4bdfff66
}
.game-view-bezel span {
    font:800 5.7px ui-monospace;
    
    
}
.game-view-bezel b {
    font:800 11px ui-monospace;
    
    color:#d7f0f6;
    text-transform:uppercase
}
.game-view-bezel em {
    font:700 6px ui-monospace;
    letter-spacing:.13em;
    color:#5c869a;
    font-style:normal
}
.game-view-body {
    
    
    z-index:1
}
.game-view-footer {
    
    position:absolute;
    left:18px;
    right:18px;
    bottom:1px;
    display:flex;
    align-items:center;
    gap:10px;
    
}
.game-view-footer i {
    height:1px;
    flex:1;
    background:linear-gradient(90deg,transparent,#31576a)
}
.game-view-footer i:last-child {
    transform:scaleX(-1)
}
.game-view-footer span {
    font:700 5px ui-monospace;
    letter-spacing:.19em;
    color:#3f687c
}
.world-status-console {
    margin:0 0 7px!important;
    min-height:57px;
    border-color:#31596b!important;
    background:linear-gradient(180deg,#0a202c,#051019)!important;
    box-shadow:0 7px 20px #0009,inset 0 1px #40677a!important;
    clip-path:polygon(9px 0,calc(100% - 9px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 9px) 100%,9px 100%,0 calc(100% - 9px),0 9px)
}
.world-node-selector {
    min-height:57px;
    padding:6px 10px;
    background:linear-gradient(90deg,#0d2939,#07151f 80%)
}
.world-orb {
    width:42px!important;
    height:42px!important;
    position:relative
}
.world-orb:after {
    content:"";
    position:absolute;
    inset:-3px;
    border:1px solid #315c70;
    border-radius:50%;
    border-left-color:transparent;
    transform:rotate(-25deg);
    box-shadow:0 0 14px #34cfff20
}
.world-orb .nova-emblem {
    width:40px!important;
    height:40px!important
}
.world-node-selector label small {
    font-size:5.7px;
    color:#64889a
}
.world-node-selector select {
    height:29px;
    font-size:9px;
    background:linear-gradient(180deg,#0a1e2a,#06131c);
    border:1px solid #24495b;
    color:#d0edf4
}
.world-resource-bus>div {
    min-height:55px!important;
    padding:7px 10px 5px 34px!important;
    position:relative;
    background:linear-gradient(180deg,#091d29,#05121b)!important
}
.world-resource-bus>div:before {
    content:"";
    display:block!important;
    position:absolute;
    left:8px;
    top:14px;
    width:17px;
    height:17px;
    border:1px solid currentColor;
    opacity:.82;
    transform:rotate(45deg);
    box-shadow:inset 0 0 7px currentColor
}
.world-resource-bus>div span {
    font-size:5.5px!important
}
.world-resource-bus>div b {
    font:800 13px/1.2 ui-monospace!important
}
.world-resource-bus>div small {
    font:600 7px ui-monospace!important
}
.res-metal {
    color:#87d6ed
}
.res-titanium {
    color:#d7b970
}
.res-crystal {
    color:#a98bea
}
.res-deuterium {
    color:#66cfa4
}
.world-system-jump {
    background:linear-gradient(180deg,#0d2837,#06141d)!important;
    border-left-color:#31576a!important
}
/* turn generic panels into recessed game modules */
.game-view-body .panel,.game-view-body .game-section-frame,.game-view-body .catalog-section{
    border-color:#24495a;
    background:linear-gradient(180deg,rgba(8,25,35,.93),rgba(4,13,20,.96));
    box-shadow:inset 0 1px rgba(105,165,187,.08),inset 0 -1px #010407,0 6px 20px #0004;
    border-radius:0
}
.game-view-body .panel:before,.game-view-body .game-section-frame:before {
    border-color:#47758a!important
}
.section-head {
    min-height:31px;
    padding-bottom:5px!important;
    border-bottom:1px solid #173b4c!important;
    background:linear-gradient(90deg,rgba(18,49,65,.5),transparent 58%)
}
.section-head h1,.section-head h2,.section-head h3 {
    font-family:ui-monospace,Consolas,monospace!important;
    letter-spacing:.045em!important;
    text-transform:uppercase
}
.eyebrow {
    font:800 5.5px ui-monospace!important;
    letter-spacing:.18em!important;
    
}
button,.btn,.button,input,select,textarea{
    border-radius:0
}
.btn,button:not(.ghost):not(.top-icon),.button {
    clip-path:polygon(4px 0,100% 0,100% calc(100% - 4px),calc(100% - 4px) 100%,0 100%,0 4px)
}
/* stronger catalog/game object material */
.catalog-surface .domain-visual-card {
    border-color:#315366!important;
    background:linear-gradient(180deg,#0b222f 0,#06141d 52%,#040c12 100%)!important;
    box-shadow:inset 0 1px #3a6275,inset 0 0 34px #021018,0 7px 20px #0006!important;
    clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)
}
.catalog-surface .domain-visual-card:hover {
    transform:translateY(-2px);
    border-color:#5594ac!important;
    box-shadow:inset 0 1px #73aabe,inset 0 0 34px #062032,0 11px 27px #0009,0 0 17px #2bcdf01a!important
}
.catalog-surface .domain-visual-card>.entity-art-stage {
    background:radial-gradient(ellipse at 52% 60%,#153d4d 0,#081a25 41%,#03090e 76%)!important;
    border-color:#234a5d!important
}
.catalog-surface .domain-visual-card header {
    background:linear-gradient(90deg,#102c3b,#071720 70%,#0d2734)!important;
    border-bottom-color:#2d5669!important
}
.catalog-surface .domain-visual-card header h3 {
    font:800 10px ui-monospace!important;
    letter-spacing:.045em
}
.catalog-surface .domain-visual-card footer {
    background:linear-gradient(180deg,#07151e,#03090e)!important;
    border-top-color:#1e4355!important
}
.catalog-class-header {
    background:linear-gradient(90deg,#102c3c,#06131c 76%,transparent)!important;
    border-color:#315568!important;
    box-shadow:inset 0 1px #52768a!important;
    clip-path:polygon(7px 0,100% 0,calc(100% - 8px) 100%,0 100%)
}
/* scene surfaces get framed viewport rather than dashboard cards */
.primary-game-scene {
    border:1px solid #315568!important;
    box-shadow:inset 0 1px #5a7e90,inset 0 0 70px #03131e,0 8px 26px #0009!important;
    clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 10px,100% calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 10px),0 10px)!important
}
.primary-game-scene:after {
    content:"";
    position:absolute;
    inset:6px;
    border:1px solid rgba(84,128,148,.19);
    pointer-events:none;
    clip-path:inherit
}
.overview-primary-actions a,.scene-command-actions a {
    background:linear-gradient(180deg,#123547,#081923)!important;
    border-color:#3c687b!important;
    color:#bdeaf5!important;
    box-shadow:inset 0 1px #5d8797!important;
    clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)
}
/* Galaxy becomes a tactical scope, not a data table in empty space */
.galaxy-game-scene,.galaxy-shell,.galaxy-command-surface {
    background-image:radial-gradient(circle at 68% 43%,rgba(70,169,207,.12),transparent 23%),linear-gradient(rgba(55,118,145,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(55,118,145,.035) 1px,transparent 1px);
    background-size:auto,24px 24px,24px 24px
}
.galaxy-game-scene .table-wrap,.galaxy-table {
    border:1px solid #244b5c;
    box-shadow:inset 0 0 35px #031018
}
.galaxy-game-scene table thead,.galaxy-table thead {
    background:linear-gradient(180deg,#102c3b,#071721)
}
.galaxy-game-scene table tbody tr:hover,.galaxy-table tbody tr:hover {
    background:#0d2a39;
    box-shadow:inset 3px 0 #4bd9f7
}
/* Fleet reads as flight console */
.fleet-game-scene,.fleet-command-deck {
    background:radial-gradient(ellipse at 88% 30%,rgba(36,135,171,.12),transparent 28%),linear-gradient(180deg,#071721,#030a10)!important
}
.fleet-game-scene .panel,.fleet-command-deck .panel {
    border-color:#294f60!important
}
.fleet-game-scene input,.fleet-game-scene select,.fleet-command-deck input,.fleet-command-deck select {
    background:#041018;
    border-color:#24495a;
    color:#c9eaf2
}
@media(min-width:1700px) {
    .game-view-body {
        padding-left:12px;
        padding-right:12px
    }
    .cockpit-primary-nav a {
        min-width:82px
    }

}
@media(max-width:1180px) {
    .cockpit-commander-id {
        display:none
    }
    .cockpit-topbar:before {
        left:170px
    }
    .shell.command-shell {
        grid-template-columns:172px minmax(0,1fr)!important
    }
    .cockpit-rail {
        width:172px
    }
    .cockpit-rail:after {
        left:167px
    }
    .content {
        padding:12px 9px 24px!important
    }

}
@media(max-width:900px) {
    .game-view-frame {
        clip-path:none;
        border-left:0;
        border-right:0
    }
    .game-view-bezel {
        grid-template-columns:1fr auto
    }
    .game-view-bezel span {
        display:none
    }
    .game-view-body {
        padding:7px 5px 18px
    }
    .world-resource-bus>div {
        padding-left:28px!important
    }
    .world-resource-bus>div:before {
        left:6px;
        width:14px;
        height:14px
    }

}

/* v8.4.2 Nova Kernel + Game Frontend Prototype I
   Structural game cockpit inspired by proven MMO information architecture.
   No OGameX/z1 artwork is copied; Nova assets and server-authoritative data only. */
:root {
    --nx-rail:176px;
    --nx-worldrail:198px;
    --nx-top:48px;
    --nx-metal:#71d8ef;
    --nx-titanium:#e1b96c;
    --nx-crystal:#ad86ff;
    --nx-deut:#6ee0a8;
    --nx-frame:#1b526f;
    --nx-frame2:#0b2b3e;
    --nx-ink:#c7e8f3;
    --nx-dim:#6e91a3
}
.app-authenticated {
    background:#02080e radial-gradient(circle at 52% -15%,rgba(27,88,121,.24),transparent 42%) fixed;
    color:var(--nx-ink)
}
.app-authenticated .stars {
    opacity:.34
}
.app-authenticated .space-haze {
    opacity:.42
}
.nova-game-shell-v2 {
    display:grid!important;
    
    gap:0!important;


    padding:0!important;
    
    border-top:1px solid rgba(91,196,236,.16)
}
.nova-stage {
    min-width:0!important;
    
    
    border-left:1px solid rgba(71,147,181,.13);
    border-right:1px solid rgba(71,147,181,.13)
}
.cockpit-rail {
    
    min-width:0;
    position:relative!important;
    
    
    border-radius:0!important;
    border:0!important;
    
    
    box-shadow:inset -8px 0 24px rgba(0,0,0,.4)!important;
    overflow:auto!important;
    padding-bottom:48px!important
}
.cockpit-rail:after {
    content:"";
    position:absolute;
    right:-1px;
    top:0;
    width:1px;
    height:100%;
    background:linear-gradient(transparent,#4ac9f0 15%,rgba(74,201,240,.12) 70%,transparent)
}
.cockpit-topbar {


    border-bottom:1px solid #245a75!important;
    
}
.cockpit-underbar {
    height:6px!important;
    background:linear-gradient(90deg,#06131e,#0d3348 38%,#164e68 50%,#0d3348 62%,#06131e)!important;
    border-bottom:1px solid rgba(99,205,239,.14)!important
}
.cockpit-underbar span {
    display:none!important
}

.cockpit-brand .brand-mark {
    
    
    border-radius:2px!important;


}

.cockpit-primary-nav {
    height:100%;
    align-items:stretch!important
}
.cockpit-primary-nav a {
    display:flex!important;
    align-items:center!important;
    padding:0 13px!important;
    border-left:1px solid rgba(117,205,238,.06)!important;
    border-radius:0!important;
    font:700 8px/1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important
}
.cockpit-primary-nav a.active {
    background:linear-gradient(180deg,rgba(27,126,167,.22),rgba(5,26,39,.3))!important;
    color:#d9f5ff!important;
    box-shadow:inset 0 -2px #5bd5ff!important
}
.cockpit-commander-id {
    height:32px!important;
    border-radius:2px!important;
    background:#061722!important;
    border:1px solid #173f56!important
}
.top-icon,.universe-badge,.locale-switch select,.topbar-actions .ghost {
    border-radius:2px
}
.rail-cap {
    margin:7px 7px 4px!important;
    
    
    clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
    
    
    box-shadow:inset 0 0 0 1px #214f66!important
}
.rail-cap>span {
    font-size:20px!important
}

.rail-telemetry {
    margin:0 7px 6px!important;
    gap:2px!important
}
.rail-telemetry>span {
    border-radius:0!important;
    background:#04101a!important;
    border-color:#123c52!important
}

.rail-quick-grid a {
    min-height:45px!important;


    box-shadow:inset 0 1px rgba(255,255,255,.025)!important
}
.rail-quick-grid a span {
    
    color:#61c9ec!important
}
.rail-quick-grid a b {
    
    letter-spacing:.08em!important
}

.nav-section {
    margin:0!important;
    border-radius:0!important;
    border:0!important;
    border-top:1px solid rgba(74,137,166,.12)!important
}
.nav-section>span,.nav-section summary {
    height:24px!important;
    padding:0 8px!important;
    display:flex!important;
    align-items:center!important;
    font-size:6.5px!important;
    letter-spacing:.18em!important;
    color:#527c91!important;
    background:#030b12!important
}
.nav-section a {
    min-height:25px!important;
    padding:5px 8px!important;
    border-radius:0!important;
    font-size:8px!important;
    border-left:2px solid transparent!important
}
.nav-section a:hover {
    background:#071a27!important
}
.nav-section a.active {
    background:linear-gradient(90deg,rgba(38,145,188,.27),rgba(8,28,42,.22))!important;
    border-left-color:#63d9ff!important;
    color:#e4f8ff!important
}
.rail-footer {
    background:#02090e!important;
    border-top:1px solid #173b4e!important
}
.nova-hud {
    
    display:grid;
    
    align-items:stretch;


}
.nova-hud-world {
    display:grid;
    grid-template-columns:52px 1fr;
    gap:8px;
    align-items:center;
    padding:5px 9px;
    background:linear-gradient(90deg,#092536,#061722);
    border-right:1px solid #1c4c63
}
.nova-hud-orb {
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border-radius:50%;
    border:1px solid #397e9b;
    background:radial-gradient(circle at 35% 30%,#2f829d,#071621 65%);
    box-shadow:0 0 17px rgba(69,179,219,.18)
}
.nova-hud-orb svg {
    width:42px;
    height:42px
}
.nova-hud-world small,.nova-hud-world em {
    display:block;
    font:600 6px/1.2 ui-monospace,Consolas,monospace;
    letter-spacing:.13em;
    color:#6b98aa;
    font-style:normal
}
.nova-hud-world b {
    display:block;
    font-size:12px;
    color:#d7f4ff;
    margin:2px 0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.nova-hud-resources {
    display:grid;
    
    min-width:0
}
.nova-hud-resources>div {
    position:relative;


    overflow:hidden
}
.nova-hud-resources>div:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:currentColor;
    opacity:.8
}
.nova-hud-resources small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.14em;
    color:#658d9e
}
.nova-hud-resources b {
    display:block;
    
    font:700 14px/1 ui-monospace,Consolas,monospace;
    color:currentColor
}
.nova-hud-resources em {
    display:block;
    
    font:600 6px/1 ui-monospace,Consolas,monospace;
    font-style:normal;
    
}
.nova-hud-resources .metal {
    color:var(--nx-metal)
}
.nova-hud-resources .titanium {
    color:var(--nx-titanium)
}
.nova-hud-resources .crystal {
    color:var(--nx-crystal)
}
.nova-hud-resources .deuterium {
    color:var(--nx-deut)
}
.nova-hud-resources .energy {
    color:#c77dff
}
.nova-hud-resources .dark-matter {
    color:#e276ff
}
.nova-hud-resources .antimatter {
    color:#ff7fc8
}
.nova-hud-galaxy {
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:7px 10px;
    background:linear-gradient(135deg,#082435,#040f17);
    text-decoration:none;
    border-left:1px solid #1a4d66
}
.nova-hud-galaxy small {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#668fa1;
    letter-spacing:.12em
}
.nova-hud-galaxy b {
    font:700 15px/1 ui-monospace,Consolas,monospace;
    color:#bfefff;
    margin:5px 0
}
.nova-hud-galaxy span {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#59c7ed;
    letter-spacing:.1em
}
.nova-game-viewport {
    margin:0!important;
    border-radius:0!important;
    border:1px solid #1b4b64!important;
    background:rgba(3,12,19,.84)!important;
    box-shadow:0 0 0 1px #02070b,0 8px 26px rgba(0,0,0,.28),inset 0 0 32px rgba(2,9,14,.45)!important;
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px))
}
.game-view-bezel {
    
    min-height:28px!important;
    
    border-radius:0!important;
    
    
}
.game-view-bezel span {
    
    letter-spacing:.16em!important
}


.game-view-footer {
    
    opacity:.5!important
}
.game-view-footer span {
    font-size:5px!important
}
.app-authenticated .game-view-body>.world-status-console {
    display:none!important
}
.nova-world-rail {
    
    position:relative;
    overflow:auto;
    
    
    box-shadow:inset 8px 0 24px rgba(0,0,0,.32);
    
}
.nova-world-rail:before {
    content:"";
    position:absolute;
    left:-1px;
    top:0;
    width:1px;
    height:100%;
    background:linear-gradient(transparent,#44c7f0 14%,rgba(68,199,240,.1) 74%,transparent)
}
.world-rail-title {
    
    
    border-bottom:1px solid #1c4a60;
    background:#071a27
}
.world-rail-title small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.17em;
    
}
.world-rail-title b {
    display:block;
    margin-top:5px;
    font:700 9px/1 ui-monospace,Consolas,monospace;
    color:#c4eaf7
}
.world-rail-active {
    text-align:center;
    
    background:radial-gradient(circle at 50% 26%,rgba(44,132,164,.2),transparent 56%),#04111a;
    border-bottom:1px solid #173f55
}
.world-rail-art {
    
    
    margin:0 auto 5px;
    display:grid;
    place-items:center;
    background:radial-gradient(ellipse at center,rgba(49,145,179,.13),transparent 62%)
}
.world-rail-art svg {
    
    
    filter:drop-shadow(0 5px 12px rgba(0,0,0,.5))
}
.world-rail-active strong {
    display:block;
    
    color:#d6f3ff
}
.world-rail-active span,.world-rail-active small {
    display:block;
    margin-top:3px;
    font:600 6.5px/1.2 ui-monospace,Consolas,monospace;
    color:#7093a3;
    letter-spacing:.06em
}
.world-rail-list {
    padding:5px 0
}
.world-rail-node {
    margin:0 0 2px
}
.world-rail-node button {
    width:100%;
    
    display:grid;
    grid-template-columns:36px 1fr;
    gap:5px;
    align-items:center;
    padding:3px 5px;
    border:1px solid #123448;
    border-radius:0;
    background:#041019;
    color:#9cc6d6;
    text-align:left;
    cursor:pointer
}
.world-rail-node button>span {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:50%;
    background:#071b27;
    overflow:hidden
}
.world-rail-node svg {
    width:27px;
    height:27px
}
.world-rail-node em {
    min-width:0;
    font-style:normal
}
.world-rail-node b {
    display:block;
    
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.world-rail-node small {
    display:block;
    margin-top:3px;
    font:600 6px/1 ui-monospace,Consolas,monospace;
    color:#597d8e
}
.world-rail-node.active button {
    border-color:#44bfe9;
    background:linear-gradient(90deg,rgba(37,136,176,.25),#06131d);
    box-shadow:inset 2px 0 #5bd8ff
}
.world-rail-status {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    padding:5px 0;
    border-top:1px solid #173c50
}
.world-rail-status a {
    
    padding:5px 6px;
    text-decoration:none;
    background:#04111a;
    border:1px solid #123549;
    display:flex;
    align-items:center;
    justify-content:space-between
}
.world-rail-status span {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.08em;
    color:#648ca0
}
.world-rail-status b {
    font:700 12px/1 ui-monospace,Consolas,monospace;
    color:#b9e8f7
}
.world-rail-actions {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    margin-top:5px
}
.world-rail-actions a {
    
    display:grid;
    place-items:center;
    text-decoration:none;
    background:linear-gradient(180deg,#0b2637,#04111a);
    border:1px solid #17465e;
    color:#83cce7;
    font:700 6.5px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.08em
}
.world-rail-actions a:hover {
    border-color:#52c9ef;
    color:#e0f8ff;
    background:#0c3044
}
/* Make gameplay surfaces feel like game slots rather than generic web cards. */
.app-authenticated .panel,.app-authenticated .card,.app-authenticated .game-section-frame{
    border-radius:0
}
.app-authenticated .panel{
    background:linear-gradient(180deg,rgba(6,23,34,.94),rgba(3,12,19,.94));
    border-color:#16455d;
    box-shadow:inset 0 1px rgba(118,219,255,.025)
}
.app-authenticated .card{
    background:linear-gradient(180deg,#071b29,#041019);
    border-color:#17465e
}
.app-authenticated .button-link,.app-authenticated button:not(.ghost):not(.top-icon){
    border-radius:1px
}
.app-authenticated h1,.app-authenticated h2,.app-authenticated h3 {
    letter-spacing:.035em
}
.app-authenticated .eyebrow {
    font-family:ui-monospace,Consolas,monospace!important;
    letter-spacing:.14em!important
}
/* Illustrated catalog: stronger art-to-data ratio and framed slot treatment. */
.progression-card,.inventory-card,.unit-card {
    position:relative!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#081d2a 0,#04101a 100%)!important;
    border:1px solid #1a4b63!important;
    box-shadow:inset 0 0 0 1px rgba(125,216,247,.025),0 5px 13px rgba(0,0,0,.16)!important
}
.progression-card:after,.unit-card:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(135deg,rgba(94,203,241,.045),transparent 34%)
}
.entity-art-stage {
    min-height:118px!important;
    background:radial-gradient(ellipse at 50% 45%,rgba(37,118,151,.16),rgba(2,9,14,.96) 70%)!important;
    border-top:1px solid rgba(92,182,216,.12)!important;
    border-bottom:1px solid #164258!important
}
.entity-art-stage img,.entity-art-stage svg {
    max-height:108px!important;
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.45))!important
}
@media(max-width:1450px) {
    :root {
        --nx-worldrail:168px
    }
    .nova-hud {
        grid-template-columns:180px minmax(360px,1fr) 110px
    }
    .world-rail-art {
        width:92px;
        height:70px
    }
    .world-rail-art svg {
        width:75px;
        height:64px
    }

}
/* D18: dead responsive legacy retired by D18. */
@media(max-width:850px) {
    .nova-hud {
        
        grid-template-columns:1fr;
        margin-top:4px
    }
    .nova-hud-world {
        display:none
    }
    .game-view-body {
        padding:4px!important
    }

}

/* v8.4.3 Player-first Game Surface I -------------------------------------------------
   Purpose: replace dashboard/card language on Overview + progression catalogs with
   a space-MMO console composition benchmarked against actual game UX patterns.
*/
.nx-overview-console,.nx-tech-console {
    font-family:Inter,Segoe UI,Arial,sans-serif;
    color:#b8d4df;
    background:#020910;
    border:1px solid #1d4c63;
    box-shadow:0 0 0 1px #010407,inset 0 0 38px rgba(1,8,13,.75)
}
.nx-planet-bar,.nx-tech-top {
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:7px 12px;
    background:linear-gradient(180deg,#0c2939,#06141e);
    border-bottom:1px solid #2b6078;
    box-shadow:inset 0 1px rgba(132,221,255,.08)
}
.nx-planet-bar>div:first-child small,.nx-tech-top>div:first-child small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.17em;
    color:#62caef
}
.nx-planet-bar h1,.nx-tech-top h1 {
    margin:3px 0 0!important;
    font-size:19px!important;
    line-height:1!important;
    color:#dff8ff;
    text-transform:uppercase;
    text-shadow:0 0 14px rgba(84,204,245,.13)
}
.nx-planet-facts,.nx-tech-metrics {
    display:flex;
    align-self:stretch
}
.nx-planet-facts span,.nx-tech-metrics span {
    min-width:105px;
    padding:9px 12px;
    border-left:1px solid rgba(69,142,169,.25)
}
.nx-planet-facts small,.nx-tech-metrics small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.12em;
    color:#6d97a8
}
.nx-planet-facts b,.nx-tech-metrics b {
    display:block;
    margin-top:5px;
    font:700 10px/1 ui-monospace,Consolas,monospace;
    color:#d7eff8
}
.nx-command-scene {
    display:grid;
    
    height:310px;
    background:#020810;
    border-bottom:1px solid #1d4d63
}
.nx-planet-visual {
    position:relative;
    overflow:hidden;
    background:#01070d
}
.nx-planet-visual:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(1,8,13,.35),transparent 26%,transparent 75%,rgba(1,8,13,.35)),linear-gradient(0deg,rgba(2,9,15,.48),transparent 35%);
    pointer-events:none
}
.nx-planet-visual img {
    width:100%;
    
    
    display:block;
    filter:saturate(.95) contrast(1.08) brightness(.88)
}
/* OGame-like icon catalog: artwork first, details selected once, no wall of SaaS cards. */
.nx-tech-top>div:first-child span {
    display:block;
    margin-top:5px;
    font:600 7px/1 ui-monospace,Consolas,monospace;
    color:#6f9cad
}
.nx-tech-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    align-items:start;
    min-height:640px
}
.nx-tech-catalog {
    padding:5px;
    background:#020910
}
.nx-tech-group {
    margin-bottom:5px;
    
    
}
.nx-tech-group>header {
    height:31px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 9px;
    background:linear-gradient(180deg,#0a2839,#061824);
    border-bottom:1px solid #20526a
}
.nx-tech-group>header h2 {
    margin:0!important;
    font-size:12px!important;
    font-weight:500!important;
    color:#d7eef7
}
.nx-tech-group>header span {
    font:700 7px/1 ui-monospace,Consolas,monospace;
    color:#6e9db0
}
.nx-tech-grid {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
    padding:4px
}
.nx-tech-slot {
    position:relative;
    min-height:138px;
    display:block;
    overflow:hidden;
    text-decoration:none;


}
.nx-tech-slot:hover,.nx-tech-slot.selected {
    border-color:#58c9ed;
    box-shadow:inset 0 0 0 1px rgba(89,207,242,.18),0 0 13px rgba(55,174,214,.11)
}
.nx-tech-slot.selected:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:2px;
    background:#59d2fa;
    box-shadow:0 0 8px #59d2fa
}
.nx-tech-slot.locked {
    filter:saturate(.35) brightness(.72)
}
.nx-tech-art {
    display:block;
    height:96px;
    overflow:hidden;
    background:radial-gradient(ellipse at 50% 40%,rgba(39,133,168,.22),rgba(2,8,13,.96) 72%);
    border-bottom:1px solid #173b4d
}
.nx-tech-art .nova-entity-art {
    width:100%!important;
    height:100%!important;
    display:block!important;
    position:relative!important
}
.nx-tech-art .nova-entity-art img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
    filter:saturate(.88) contrast(1.12) brightness(.88)!important
}
.nx-tech-art .nova-entity-art>b,.nx-tech-art .entity-art-shade {
    display:none!important
}
.nx-tech-level {
    position:absolute;
    top:5px;
    right:5px;
    z-index:3;
    min-width:34px;
    padding:4px 5px;
    text-align:center;
    background:rgba(1,8,13,.82);
    border:1px solid #315e70
}
.nx-tech-level small {
    display:block;
    font:700 5px/1 ui-monospace,Consolas,monospace;
    color:#6794a5
}
.nx-tech-level b {
    display:block;
    margin-top:2px;
    font:800 11px/1 ui-monospace,Consolas,monospace;
    color:#e0f7ff
}
.nx-tech-slot>strong {
    display:block;
    padding:6px 7px 0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:8px;
    color:#badbe8
}
.nx-tech-slot>em {
    display:block;
    padding:4px 7px 6px;
    font:700 5.5px/1 ui-monospace,Consolas,monospace;
    font-style:normal;
    letter-spacing:.08em;
    color:#59d58a
}
.nx-tech-slot.locked>em {
    color:#ad5e61
}
.nx-tech-inspector {
    position:sticky;
    top:4px;
    min-height:640px;
    border-left:1px solid #21526a;
    
    
}
.nx-inspector-art {
    position:relative;
    height:225px;
    overflow:hidden;
    background:#020910;
    border-bottom:1px solid #1c4c64
}
.nx-inspector-art .nova-entity-art {
    display:block;
    width:100%;
    height:100%
}
.nx-inspector-art img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:saturate(.9) contrast(1.1) brightness(.88)!important
}
.nx-inspector-art .entity-art-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,#04131f 0,transparent 58%)
}
.nx-inspector-art .nova-entity-art>b {
    display:none
}
.nx-inspector-art>span {
    position:absolute;
    left:10px;
    bottom:9px;
    z-index:3;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#70d4f5;
    letter-spacing:.14em
}
.nx-tech-inspector>header {
    position:relative;
    padding:10px;
    border-bottom:1px solid #173f54
}
.nx-tech-inspector>header small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.12em;
    color:#688fa0
}
.nx-tech-inspector>header h2 {
    margin:5px 45px 0 0!important;
    font-size:17px!important;
    color:#e0f7ff
}
.nx-tech-inspector>header>b {
    position:absolute;
    right:10px;
    top:18px;
    font:800 10px/1 ui-monospace,Consolas,monospace;
    color:#76dcfc
}
.nx-inspector-effect {
    margin:0;
    padding:9px 10px;
    border-bottom:1px solid #173b4e;
    background:#051521;
    font-size:8px;
    line-height:1.45;
    color:#8eb3c2
}
.nx-tech-inspector>section {
    padding:9px 10px;
    border-bottom:1px solid #163a4d
}
.nx-tech-inspector>section h3 {
    margin:0 0 7px!important;
    font:700 6px/1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.13em;
    color:#6ba8be
}
.nx-inspector-req {
    display:grid;
    gap:3px
}
.nx-inspector-req .catalog-requirement {
    min-height:34px!important
}
.nx-inspector-cost {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px
}
.nx-inspector-cost span {
    padding:7px;
    
    border:1px solid #15384a;
    font:700 9px/1 ui-monospace,Consolas,monospace;
    color:#bcdce8
}
.nx-inspector-cost i {
    display:inline-grid;
    place-items:center;
    width:23px;
    margin-right:5px;
    font-style:normal;
    color:#64c8e9
}
.nx-inspector-time {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px;
    border-bottom:1px solid #163a4d
}
.nx-inspector-time small {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#6f9cad;
    letter-spacing:.12em
}
.nx-inspector-time b {
    font:800 11px/1 ui-monospace,Consolas,monospace;
    color:#dceff7
}
.nx-tech-inspector>footer {
    display:grid;
    grid-template-columns:1fr 105px;
    gap:4px;
    padding:9px 10px
}
.nx-tech-inspector>footer form {
    margin:0
}
.nx-tech-inspector>footer button,.nx-tech-inspector>footer>a {
    width:100%;
    height:34px;
    display:grid;
    place-items:center;
    border:1px solid #2a6b84;
    background:linear-gradient(180deg,#0a4d33,#06321f);
    color:#dcffea;
    text-decoration:none;
    font:800 7px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.06em
}
.nx-tech-inspector>footer>a {
    background:linear-gradient(180deg,#0b2b3d,#061722);
    color:#9edcf2
}
.nx-tech-inspector>footer button:disabled {
    background:#171d21;
    border-color:#30383c;
    color:#727b7f
}
@media(min-width:1900px) {
    .nx-tech-grid {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
    .nx-command-scene {
        height:335px
    }

}
@media(max-width:1450px) {
    .nx-tech-layout {
        grid-template-columns:minmax(0,1fr) 290px
    }
    .nx-tech-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .nx-command-scene {
        grid-template-columns:160px minmax(0,1fr) 165px
    }
    .nx-quick-ops i {
        font-size:19px
    }

}
@media(max-width:1050px) {
    .nx-planet-facts,.nx-tech-metrics {
        display:none
    }
    .nx-command-scene {
        grid-template-columns:1fr;
        height:auto
    }
    .nx-production-panel,.nx-planet-info {
        display:none
    }
    .nx-planet-visual {
        height:280px
    }
    .nx-tech-layout {
        grid-template-columns:1fr
    }
    .nx-tech-inspector {
        position:relative;
        top:auto;
        min-height:0;
        border-left:0;
        border-top:1px solid #21526a
    }
    .nx-tech-grid {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .nx-overview-lower,.nx-overview-bottom {
        grid-template-columns:1fr
    }

}
@media(max-width:720px) {
    .nx-tech-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .nx-quick-ops {
        grid-template-columns:repeat(3,1fr);
        height:auto
    }
    .nx-quick-ops a {
        height:62px
    }
    .nx-planet-visual {
        height:220px
    }
    .nx-inspector-art {
        height:190px
    }

}

/* v8.4.4 Player-First Game Surface II — Shipyard / Defense / Fleet / Galaxy */
.nx-unit-console {
    border:1px solid #1b4a61;
    background:#020910;
    box-shadow:0 14px 44px rgba(0,0,0,.42)
}
.nx-unit-top {
    min-height:69px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 13px;
    border-bottom:1px solid #245c74;
    background:linear-gradient(100deg,#081d2b,#06131e 55%,#0b2533)
}
.nx-unit-top small,.nx-fleet-bridge-head small {
    display:block;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.14em;
    color:#67c9eb
}
.nx-unit-top h1,.nx-fleet-bridge-head h1 {
    margin:5px 0!important;
    font:800 22px/1 ui-monospace,Consolas,monospace!important;
    letter-spacing:.035em;
    color:#e4f7ff
}
.nx-unit-top>div:first-child>span,.nx-fleet-bridge-head>div:first-child>span {
    font:600 7px/1 ui-monospace,Consolas,monospace;
    color:#7399a8
}
.nx-unit-top-metrics {
    display:flex;
    height:46px;
    border:1px solid #193f52;
    background:#03101a
}
.nx-unit-top-metrics>span {
    min-width:105px;
    padding:7px 10px;
    border-right:1px solid #17394b
}
.nx-unit-top-metrics>span:last-child {
    border:0
}
.nx-unit-top-metrics small {
    font-size:5.5px;
    color:#668fa1
}
.nx-unit-top-metrics b {
    display:block;
    margin-top:6px;
    font:800 11px/1 ui-monospace,Consolas,monospace;
    color:#d6f2fc
}
.nx-unit-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 330px;
    align-items:start
}
.nx-unit-main {
    min-width:0;
    padding:5px;
    background:#020910
}
.nx-unit-stage {
    height:320px;
    display:grid;
    grid-template-columns:minmax(0,1.58fr) minmax(250px,.72fr);


    margin-bottom:5px
}
.nx-unit-art-hero {
    position:relative;
    overflow:hidden;
    background:radial-gradient(ellipse at 48% 45%,rgba(41,135,174,.22),transparent 50%),linear-gradient(180deg,#06131d,#02070c)
}
.nx-unit-art-hero>.nova-entity-art {
    display:block!important;
    width:100%!important;
    height:100%!important
}
.nx-unit-art-hero .nova-entity-art img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:brightness(.84) contrast(1.16) saturate(.92)!important;
    transform:scale(1.04)
}
.nx-unit-art-hero .nova-entity-art>b {
    display:none!important
}
.nx-unit-art-hero .entity-art-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent 45%,rgba(2,8,13,.72) 92%),linear-gradient(0deg,#020910 0,transparent 35%)
}
.nx-stage-grid {
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(rgba(84,191,225,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(84,191,225,.035) 1px,transparent 1px);
    background-size:36px 36px;
    mask-image:linear-gradient(to right,#000,transparent 78%)
}
.nx-stage-label {
    position:absolute;
    left:10px;
    bottom:9px;
    padding:5px 7px;
    border:1px solid #2c6a83;
    background:#03121cbd;
    font:800 6px/1 ui-monospace,Consolas,monospace;
    color:#77d9f8;
    letter-spacing:.14em
}
.nx-defense-console .nx-stage-label {
    color:#ffd28a;
    border-color:#775a2e
}
.nx-unit-identity {
    padding:17px 14px;
    background:linear-gradient(180deg,#071b27,#030c13);
    border-left:1px solid #1b455b
}
.nx-unit-identity>small {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#6a9aad;
    letter-spacing:.13em
}
.nx-unit-identity h2 {
    margin:7px 0 9px!important;
    font:800 20px/1.05 ui-monospace,Consolas,monospace!important;
    color:#e2f7ff
}
.nx-unit-identity p {
    font-size:8px;
    line-height:1.5;
    color:#799baa
}
.nx-combat-strip {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
    margin-top:16px
}
.nx-combat-strip span {
    padding:8px;
    border:1px solid #173a4c;
    background:#020b12
}
.nx-combat-strip small {
    display:block;
    font:700 5px/1 ui-monospace,Consolas,monospace;
    color:#668fa0
}
.nx-combat-strip b {
    display:block;
    margin-top:5px;
    font:800 10px/1 ui-monospace,Consolas,monospace;
    color:#cfeef8
}
.nx-unit-catalog {
    display:grid;
    gap:5px
}
.nx-unit-group {
    border:1px solid #173f53;
    background:#03101a
}
.nx-unit-group>header {
    height:30px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 9px;
    background:linear-gradient(180deg,#092638,#061723);
    border-bottom:1px solid #1c4c63
}
.nx-unit-group h3 {
    margin:0!important;
    font-size:11px!important;
    font-weight:600!important;
    color:#d5eef7
}
.nx-unit-group>header span {
    font:700 7px/1 ui-monospace,Consolas,monospace;
    color:#6397aa
}
.nx-unit-strip {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:3px;
    padding:4px
}
.nx-unit-slot {
    position:relative;
    min-height:116px;
    overflow:hidden;
    text-decoration:none;
    border:1px solid #15394a;
    background:#020b12
}
.nx-unit-slot:hover,.nx-unit-slot.selected {
    border-color:#5ad1f5;
    box-shadow:0 0 13px rgba(79,200,239,.12),inset 0 -2px #54cdec
}
.nx-unit-slot.locked {
    filter:saturate(.35) brightness(.68)
}
.nx-unit-slot>span {
    display:block;
    height:76px;
    overflow:hidden;
    background:radial-gradient(ellipse,#0d3345,#02080d 70%)
}
.nx-unit-slot .nova-entity-art {
    width:100%!important;
    height:100%!important;
    display:block!important
}
.nx-unit-slot img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:brightness(.82) contrast(1.13)!important
}
.nx-unit-slot .nova-entity-art>b,.nx-unit-slot .entity-art-shade {
    display:none!important
}
.nx-unit-slot>strong {
    display:block;
    padding:6px 6px 0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:7.5px;
    color:#b9dce8
}
.nx-unit-slot>em {
    display:block;
    padding:4px 6px 6px;
    font:700 5.5px/1 ui-monospace,Consolas,monospace;
    font-style:normal;
    color:#69cbea
}
.nx-unit-inspector {
    position:sticky;
    top:4px;
    min-height:645px;
    border-left:1px solid #21546b;
    background:linear-gradient(180deg,#061925,#02090f);
    box-shadow:inset 10px 0 28px rgba(0,0,0,.28)
}
.nx-unit-inspector>header {
    padding:12px 10px;
    border-bottom:1px solid #183e52
}
.nx-unit-inspector>header small {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.13em;
    color:#68a3ba
}
.nx-unit-inspector>header h2 {
    margin:6px 0 7px!important;
    font-size:17px!important;
    color:#e1f7ff
}
.nx-unit-inspector>header b {
    font:700 7px/1 ui-monospace,Consolas,monospace;
    color:#77d7f6
}
.nx-unit-inspector>section {
    padding:9px 10px;
    border-bottom:1px solid #173b4e
}
.nx-unit-inspector>section h3 {
    margin:0 0 7px!important;
    font:700 6px/1 ui-monospace,Consolas,monospace!important;
    color:#6ba8be;
    letter-spacing:.12em
}
.nx-tactical-readout>div {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px
}
.nx-tactical-readout span {
    padding:7px 5px;
    border:1px solid #15394b;
    background:#020b12;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#7199aa
}
.nx-tactical-readout b {
    display:block;
    margin-top:4px;
    color:#d7eff8
}
.nx-build-order {
    display:grid;
    grid-template-columns:85px 1fr;
    gap:4px;
    padding:10px
}
.nx-build-order label {
    font:700 5.5px/1 ui-monospace,Consolas,monospace;
    color:#6f98a8
}
.nx-build-order input {
    width:100%;
    height:29px;
    margin-top:4px
}
.nx-build-order button {
    height:43px;
    align-self:end;
    border:1px solid #2c7a58;
    background:linear-gradient(180deg,#0b5b38,#073621);
    font:800 7px/1 ui-monospace,Consolas,monospace;
    color:#e2ffea;
    letter-spacing:.08em
}
.nx-build-order button:disabled {
    background:#171d21;
    border-color:#333;
    color:#737d81
}
.nx-inspector-link {
    display:grid;
    place-items:center;
    margin:0 10px 10px;
    height:30px;
    border:1px solid #245f78;
    background:#071d2a;
    text-decoration:none;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#8edaf5
}
/* Fleet becomes a flight bridge instead of a form-first page. */
.nx-fleet-bridge {
    border:1px solid #1b4a61;
    background:#020910;
    margin-bottom:5px
}
.nx-fleet-bridge-head {
    min-height:66px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    
    border-bottom:1px solid #245b73;
    
}
.nx-fleet-status {
    display:flex;
    height:43px;
    border:1px solid #183d50
}
.nx-fleet-status>span {
    min-width:105px;
    padding:7px 9px;
    border-right:1px solid #17394a
}
.nx-fleet-status small {
    font-size:5px
}
.nx-fleet-status b {
    display:block;
    margin-top:5px;
    font:800 9px/1 ui-monospace,Consolas,monospace;
    color:#d8eef7
}
.nx-fleet-status>a {
    display:grid;
    place-items:center;
    padding:0 11px;
    text-decoration:none;
    background:#0a2c3d;
    font:800 6px/1 ui-monospace,Consolas,monospace;
    color:#8cdaf5
}
.nx-fleet-stage {
    height:225px;
    display:grid;
    grid-template-columns:minmax(0,1.3fr) minmax(320px,.82fr) 210px;
    
    
}
.nx-fleet-ship {
    position:relative;
    overflow:hidden;
    border-right:1px solid #173f53
}
.nx-fleet-ship .nova-entity-art {
    width:100%!important;
    height:100%!important;
    display:block!important
}
.nx-fleet-ship img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    filter:brightness(.72) contrast(1.18)!important;
    transform:scale(1.06)
}
.nx-fleet-ship .nova-entity-art>b {
    display:none!important
}
.nx-fleet-ship .entity-art-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent 48%,#030d15 98%),linear-gradient(0deg,#020910,transparent 55%)
}
.nx-fleet-stage-copy {
    padding:16px 14px
}
.nx-fleet-stage-copy>small,.nx-fleet-target>small {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#67a5bb;
    letter-spacing:.13em
}
.nx-fleet-stage-copy h2 {
    margin:7px 0!important;
    font:800 19px/1 ui-monospace,Consolas,monospace!important;
    color:#e0f7ff
}
.nx-fleet-stage-copy p {
    font-size:8px;
    color:#7597a5
}
.nx-fleet-stage .mission-quickbar {
    margin-top:16px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px
}
.nx-fleet-stage .mission-quickbar a {
    padding:7px 5px;
    text-align:center;
    border:1px solid #174258;
    background:#04121c;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#77b9cf;
    text-decoration:none
}
.nx-fleet-stage .mission-quickbar a.active {
    border-color:#61d0f2;
    background:#0a3042;
    color:#d9f7ff
}
.nx-fleet-target {
    padding:16px 12px;
    border-left:1px solid #173f53;
    background:#04131e
}
.nx-fleet-target strong {
    display:block;
    margin:10px 0;
    font:800 18px/1 ui-monospace,Consolas,monospace;
    color:#8fe2ff
}
.nx-fleet-target span {
    display:block;
    font-size:7px;
    color:#7599a8
}
.nx-fleet-target a {
    display:grid;
    place-items:center;
    height:29px;
    margin-top:18px;
    border:1px solid #2a627b;
    background:#082438;
    text-decoration:none;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#8fdcf6
}
.fleet-origin-strip {
    margin-top:0
}
.fleet-command-deck {
    margin-top:4px
}
.fleet-launch-console {
    border-color:#1d4e66!important;
    background:#03101a!important
}
.fleet-form-command {
    background:linear-gradient(180deg,#04141f,#020a11)
}
/* Galaxy gains a real orbital stage above the tactical ledger. */
.nx-system-stage {
    position:relative;
    height:290px;
    overflow:hidden;
    border:1px solid #1a475d;
    background:radial-gradient(circle at 50% 50%,rgba(18,91,124,.18),transparent 22%),radial-gradient(circle at 50% 50%,#071723 0,#02080e 58%,#010407 100%);
    margin-bottom:5px
}
.nx-system-stage:before {
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(#d8f7ff 0.65px,transparent .8px);
    background-size:39px 37px;
    opacity:.16
}
.nx-system-star {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:5;
    text-align:center
}
.nx-system-star>i {
    display:block;
    width:56px;
    height:56px;
    border-radius:50%;
    background:radial-gradient(circle,#fff8cc 0 7%,#ffcb5d 14%,#dc6e25 35%,#6f1e11 56%,transparent 70%);
    box-shadow:0 0 22px #ff9f42,0 0 62px #e76d2d77
}
.nx-system-star strong {
    display:block;
    margin-top:8px;
    font:800 7px/1 ui-monospace,Consolas,monospace;
    color:#ffd18b;
    letter-spacing:.12em
}
.nx-system-star small {
    display:block;
    margin-top:4px;
    font:600 6px/1 ui-monospace,Consolas,monospace;
    color:#6d93a2
}
.nx-system-orbits {
    position:absolute;
    inset:0
}
.nx-system-orbits:before,.nx-system-orbits:after {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid rgba(76,164,197,.16);
    border-radius:50%;
    transform:translate(-50%,-50%)
}
.nx-system-orbits:before {
    width:70%;
    height:64%
}
.nx-system-orbits:after {
    width:91%;
    height:84%
}
.nx-orbit-node {
    --a:calc((var(--orbit) - 1) * 24deg);
    --r:calc(74px + var(--orbit) * 7px);
    position:absolute;
    left:50%;
    top:50%;
    z-index:6;
    width:31px;
    height:31px;
    margin:-15px;
    transform:rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a) * -1));
    display:grid;
    place-items:center;
    border:1px solid #24546a;
    border-radius:50%;
    background:#04121c;
    text-decoration:none;
    box-shadow:0 0 10px #000
}
.nx-orbit-node:hover,.nx-orbit-node.occupied {
    border-color:#65cff0;
    box-shadow:0 0 15px rgba(88,202,239,.25)
}
.nx-orbit-node.mine {
    border-color:#58db91;
    box-shadow:0 0 14px rgba(65,215,131,.22)
}
.nx-orbit-node>.orbit-icon {
    transform:scale(.58);
    margin:0
}
.nx-orbit-node>span {
    position:absolute;
    left:23px;
    top:20px;
    padding:2px 3px;
    background:#02080dbd;
    font:700 5px/1 ui-monospace,Consolas,monospace;
    color:#85bcd0
}
.nx-system-stage-legend {
    position:absolute;
    left:9px;
    right:9px;
    bottom:8px;
    z-index:7;
    display:flex;
    align-items:center;
    gap:12px;
    padding:6px 8px;
    border:1px solid #174057;
    background:#020a11d9
}
.nx-system-stage-legend span {
    font:800 6px/1 ui-monospace,Consolas,monospace;
    color:#6ec8e8;
    letter-spacing:.12em
}
.nx-system-stage-legend b {
    font:700 7px/1 ui-monospace,Consolas,monospace;
    color:#b7dbe7
}
.nx-system-stage-legend em {
    margin-left:auto;
    font:600 6px/1 ui-monospace,Consolas,monospace;
    color:#668b9a;
    font-style:normal
}
.galaxy-tactical-table-wrap {
    border-color:#1c4c63
}
.galaxy-tactical-table tr:target {
    outline:1px solid #66d4f4;
    background:#0b2735
}
@media(max-width:1450px) {
    .nx-unit-layout {
        grid-template-columns:minmax(0,1fr) 290px
    }
    .nx-unit-strip {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .nx-unit-stage {
        grid-template-columns:minmax(0,1.4fr) 240px
    }
    .nx-fleet-stage {
        grid-template-columns:minmax(0,1fr) 290px 190px
    }
    .nx-system-stage {
        height:255px
    }
    .nx-orbit-node {
        --r:calc(65px + var(--orbit) * 6px)
    }

}
@media(max-width:1050px) {
    .nx-unit-layout {
        grid-template-columns:1fr
    }
    .nx-unit-inspector {
        position:relative;
        top:auto;
        min-height:0;
        border-left:0;
        border-top:1px solid #21546b
    }
    .nx-unit-strip {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .nx-fleet-stage {
        grid-template-columns:1fr 1fr;
        height:auto
    }
    .nx-fleet-target {
        grid-column:1/-1;
        border-left:0;
        border-top:1px solid #173f53
    }
    .nx-system-stage {
        display:none
    }

}
@media(max-width:720px) {
    .nx-unit-top,.nx-fleet-bridge-head {
        align-items:flex-start;
        gap:8px
    }
    .nx-unit-top-metrics,.nx-fleet-status {
        display:none
    }
    .nx-unit-stage {
        grid-template-columns:1fr;
        height:auto
    }
    .nx-unit-art-hero {
        height:220px
    }
    .nx-unit-identity {
        border-left:0;
        border-top:1px solid #1b455b
    }
    .nx-unit-strip {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .nx-fleet-stage {
        grid-template-columns:1fr
    }
    .nx-fleet-ship {
        height:190px
    }
    .nx-fleet-stage-copy,.nx-fleet-target {
        border-left:0;
        border-top:1px solid #173f53
    }

}

/* v8.4.5 Player-First Game Surface III — Galaxy/Fleet mission experience */
.nx-galaxy-focus-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) 286px;
    gap:5px;
    margin-bottom:5px
}
.nx-galaxy-focus-grid .nx-system-stage {
    margin:0;
    height:365px
}
.nx-target-intel-panel {
    position:relative;
    min-height:365px;
    border:1px solid #1f536a;
    background:linear-gradient(180deg,#071b28,#020a11);
    box-shadow:inset 9px 0 24px rgba(0,0,0,.28)
}
.nx-target-intel-panel>header {
    padding:12px 11px 9px;
    border-bottom:1px solid #174257;
    background:linear-gradient(180deg,#0a2535,#061723)
}
.nx-target-intel-panel>header small {
    font:800 5.5px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.15em;
    color:#68c8e8
}
.nx-target-intel-panel>header h2 {
    margin:5px 0!important;
    font:800 17px/1 ui-monospace,Consolas,monospace!important;
    color:#e4f8ff
}
.nx-target-intel-panel>header b {
    font:700 7px/1 ui-monospace,Consolas,monospace;
    color:#7ea9b9
}
.nx-target-orb {
    height:70px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:8px 11px;
    border-bottom:1px solid #163c4d;
    background:radial-gradient(circle at 18% 50%,rgba(43,146,183,.15),transparent 34%)
}
.nx-target-orb .orbit-icon {
    transform:scale(1.1);
    margin:0 4px
}
.nx-target-orb span {
    font:800 7px/1 ui-monospace,Consolas,monospace;
    color:#f2b45d;
    letter-spacing:.12em
}
.nx-target-readout {
    margin:0;
    padding:7px 10px;
    border-bottom:1px solid #163c4d
}
.nx-target-readout>div {
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:5px 0;
    border-bottom:1px solid #0d2734
}
.nx-target-readout>div:last-child {
    border:0
}
.nx-target-readout dt {
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#6b95a7
}
.nx-target-readout dd {
    margin:0;
    font:800 7px/1 ui-monospace,Consolas,monospace;
    color:#d7edf5
}
.nx-target-actions {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
    padding:8px
}
.nx-target-actions a,.nx-target-actions button {
    height:28px;
    display:grid;
    place-items:center;
    border:1px solid #245c74;
    background:#071d2a;
    text-decoration:none;
    font:800 5.5px/1 ui-monospace,Consolas,monospace;
    color:#9ee2f7;
    letter-spacing:.06em
}
.nx-target-actions a.danger {
    border-color:#75402d;
    background:#25120c;
    color:#ffad7f
}
.nx-target-actions form {
    margin:0
}
.nx-target-actions button {
    width:100%;
    cursor:pointer
}
.nx-target-launch {
    display:grid;
    place-items:center;
    margin:0 8px 8px;
    height:34px;
    border:1px solid #287851;
    background:linear-gradient(180deg,#0b633d,#063923);
    text-decoration:none;
    font:900 6.5px/1 ui-monospace,Consolas,monospace;
    color:#e3ffeb;
    letter-spacing:.09em
}
.nx-flight-path-console {
    display:grid;
    grid-template-columns:minmax(0,1fr) 250px;
    border:1px solid #1e5169;
    
    margin-top:5px
}
.nx-flight-route-visual {
    min-height:96px;
    display:grid;
    grid-template-columns:180px minmax(180px,1fr) 180px;
    align-items:center;
    padding:10px 16px;
    background:radial-gradient(ellipse at center,rgba(36,135,177,.14),transparent 52%),linear-gradient(180deg,#061722,#020910)
}
.nx-route-node {
    position:relative;
    padding-left:32px
}
.nx-route-node i {
    position:absolute;
    left:0;
    top:8px;
    width:22px;
    height:22px;
    border:2px solid #5ad0ef;
    border-radius:50%;
    box-shadow:0 0 15px rgba(80,203,239,.34),inset 0 0 10px rgba(75,194,228,.24)
}
.nx-route-node.target i {
    border-color:#f28b4b;
    box-shadow:0 0 15px rgba(242,127,66,.34)
}
.nx-route-node small {
    display:block;
    font:800 5.5px/1 ui-monospace,Consolas,monospace;
    color:#608ea2;
    letter-spacing:.12em
}
.nx-route-node strong {
    display:block;
    margin-top:5px;
    font:800 10px/1 ui-monospace,Consolas,monospace;
    color:#d9f3fb
}
.nx-route-node span {
    display:block;
    margin-top:4px;
    font:700 6px/1 ui-monospace,Consolas,monospace;
    color:#6ea2b4
}
.nx-route-lane {
    position:relative;
    height:56px;
    display:grid;
    place-items:center
}
.nx-route-lane:before {
    content:"";
    position:absolute;
    left:10px;
    right:10px;
    top:26px;
    height:1px;
    background:linear-gradient(90deg,#4dd1f0,#447c96 45%,#f28a48);
    box-shadow:0 0 7px #4ec9e95e
}
.nx-route-lane:after {
    content:"";
    position:absolute;
    left:24%;
    top:22px;
    width:9px;
    height:9px;
    border-radius:50%;
    background:#8ce9ff;
    box-shadow:0 0 13px #63d9f8;
    animation:nxTransitPulse 2.6s ease-in-out infinite
}
.nx-route-lane span {
    position:absolute;
    left:17%;
    right:17%;
    top:16px;
    height:21px;
    border-top:1px dashed rgba(90,203,239,.35);
    border-radius:50%
}
.nx-route-lane b {
    z-index:2;
    margin-top:-22px;
    padding:3px 6px;
    background:#020a11;
    font:800 6px/1 ui-monospace,Consolas,monospace;
    color:#b9e7f4
}
.nx-route-lane em {
    z-index:2;
    margin-top:26px;
    font:700 5.5px/1 ui-monospace,Consolas,monospace;
    color:#668e9d;
    font-style:normal
}
.nx-route-authority {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1px;
    padding:8px;
    border-left:1px solid #1d5067;
    background:#05141e
}
.nx-route-authority>small {
    grid-column:1/-1;
    font:800 5.5px/1 ui-monospace,Consolas,monospace;
    color:#64bedf;
    letter-spacing:.12em;
    padding:2px 2px 6px
}
.nx-route-authority>div {
    padding:7px;
    border:1px solid #15384a;
    background:#020a11
}
.nx-route-authority span {
    display:block;
    font:700 5px/1 ui-monospace,Consolas,monospace;
    color:#638899
}
.nx-route-authority b {
    display:block;
    margin-top:5px;
    font:800 7px/1 ui-monospace,Consolas,monospace;
    color:#d5eef7
}
.nx-transit-ribbon {
    display:grid;
    grid-template-columns:105px 1fr 92px;
    align-items:stretch;
    margin-top:5px;
    border:1px solid #17465b;
    background:#031019
}
.nx-transit-ribbon>header {
    display:grid;
    place-content:center;
    padding:7px;
    border-right:1px solid #17465b
}
.nx-transit-ribbon>header small {
    font:800 5px/1 ui-monospace,Consolas,monospace;
    color:#68a7bd;
    letter-spacing:.1em
}
.nx-transit-ribbon>header b {
    font:900 14px/1 ui-monospace,Consolas,monospace;
    color:#d6eff7;
    margin-top:5px
}
.nx-transit-ribbon>div {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.nx-transit-ribbon article {
    position:relative;
    padding:8px 8px 8px 17px;
    border-right:1px solid #123646
}
.nx-transit-status {
    position:absolute;
    left:7px;
    top:10px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#6ecff0;
    box-shadow:0 0 9px #69d2f0
}
.nx-transit-ribbon strong,.nx-transit-ribbon small,.nx-transit-ribbon em {
    display:block;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.nx-transit-ribbon strong {
    font:800 6.5px/1 ui-monospace,Consolas,monospace;
    color:#cce8f2
}
.nx-transit-ribbon small {
    margin-top:4px;
    font:600 5.5px/1 ui-monospace,Consolas,monospace;
    color:#6f9aad
}
.nx-transit-ribbon em {
    margin-top:4px;
    font:700 5px/1 ui-monospace,Consolas,monospace;
    color:#6fd9a3;
    font-style:normal
}
.nx-transit-ribbon>a {
    display:grid;
    place-items:center;
    text-decoration:none;
    font:800 5.5px/1 ui-monospace,Consolas,monospace;
    color:#8eddf5;
    background:#061923
}
.nx-fleet-ship-v845 {
    position:relative;
    background:#01070c!important
}
.nx-fleet-ship-v845>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:brightness(.74) contrast(1.14) saturate(.9);
    opacity:.9
}
.nx-fleet-entity-overlay {
    position:absolute;
    inset:0;
    display:grid;
    place-items:center;
    background:linear-gradient(90deg,transparent 55%,rgba(2,8,13,.55))
}
.nx-fleet-entity-overlay .nova-entity-art {
    width:52%!important;
    height:70%!important;
    margin-left:42%!important;
    opacity:.38!important;
    mix-blend-mode:screen
}
.ship-stage .nx-unit-art-hero:before {
    content:"";
    position:absolute;
    inset:0;
    background:url("../generated/fleet-hangar-v845.webp") center/cover no-repeat;
    opacity:.72;
    filter:saturate(.85) brightness(.62)
}
.ship-stage .nx-unit-art-hero>.nova-entity-art {
    position:relative;
    z-index:2;
    mix-blend-mode:screen;
    opacity:.82
}
.nx-defense-console .nx-unit-art-hero {
    background-image:linear-gradient(90deg,rgba(2,8,13,.2),rgba(2,8,13,.72)),url("../generated/overview-surface-city.webp");
    background-size:cover;
    background-position:center
}
.nx-defense-console .nx-unit-art-hero>.nova-entity-art {
    position:relative;
    z-index:2;
    mix-blend-mode:screen;
    opacity:.86
}
@keyframes nxTransitPulse {
    0%,100% {
        left:18%;
        opacity:.7
    }
    50% {
        left:77%;
        opacity:1
    }

}
@media(max-width:1450px) {
    .nx-galaxy-focus-grid {
        grid-template-columns:minmax(0,1fr) 245px
    }
    .nx-flight-path-console {
        grid-template-columns:1fr 220px
    }
    .nx-flight-route-visual {
        grid-template-columns:145px 1fr 145px
    }
    .nx-transit-ribbon>div {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:980px) {
    .nx-galaxy-focus-grid,.nx-flight-path-console {
        grid-template-columns:1fr
    }
    .nx-target-intel-panel {
        min-height:0
    }
    .nx-route-authority {
        border-left:0;
        border-top:1px solid #1d5067
    }
    .nx-flight-route-visual {
        grid-template-columns:1fr;
        gap:8px
    }
    .nx-route-lane {
        height:42px
    }
    .nx-transit-ribbon {
        grid-template-columns:1fr
    }
    .nx-transit-ribbon>header {
        border-right:0;
        border-bottom:1px solid #17465b
    }
    .nx-transit-ribbon>div {
        grid-template-columns:1fr
    }
    .nx-transit-ribbon article {
        border-right:0;
        border-bottom:1px solid #123646
    }
    .nx-transit-ribbon>a {
        min-height:34px
    }

}

/* v8.4.6 — Player-First Battle Reports */
.battle-report-command {
    
    
    border:1px solid rgba(106,180,220,.34);
    background:linear-gradient(180deg,rgba(3,16,28,.96),rgba(2,10,18,.98));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.025),0 18px 48px rgba(0,0,0,.34);
    clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));

}
.battle-report-command:before {


    opacity:.62;
    

}
.battle-report-command:after {
    content:"";
    position:absolute;
    inset:0;
    background-image:linear-gradient(rgba(77,184,230,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(77,184,230,.025) 1px,transparent 1px);
    background-size:36px 36px;
    pointer-events:none;

}
.battle-report-header,.battle-report-versus,.battle-performance-strip {
    position:relative;
    z-index:1;

}
.battle-report-header {
    display:flex;
    justify-content:space-between;
    gap:24px;
    align-items:flex-start;
    padding:20px 24px 16px;
    border-bottom:1px solid rgba(82,164,205,.28);
    background:linear-gradient(90deg,rgba(5,26,43,.92),rgba(4,15,26,.64));

}
.battle-report-title h1 {
    margin:3px 0 4px;
    font-size:clamp(25px,2.2vw,42px);
    letter-spacing:.045em;
    text-transform:uppercase;
    color:#d8f4ff;
    text-shadow:0 0 24px rgba(71,190,240,.26)
}
.battle-report-attacker .battle-report-title h1 {
    color:#7ef0bc
}
.battle-report-defender .battle-report-title h1 {
    color:#ff8b83
}
.battle-report-draw .battle-report-title h1 {
    color:#ffd77a
}
.battle-report-meta {
    display:grid;
    grid-template-columns:repeat(4,minmax(92px,1fr));
    gap:7px;
    min-width:min(520px,52vw)
}
.battle-report-meta span {
    padding:8px 10px;
    border:1px solid rgba(94,173,215,.2);
    background:rgba(2,12,22,.72)
}
.battle-report-meta small,.battle-force-heading span,.battle-force-heading small {
    display:block;
    color:#6f9fbb;
    font-size:10px;
    letter-spacing:.11em;
    text-transform:uppercase
}
.battle-report-meta b {
    display:block;
    margin-top:3px;
    color:#e1f5ff;
    font-size:13px
}
.battle-report-versus {
    display:grid;
    grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);
    gap:12px;
    padding:18px 20px 20px
}
.battle-force {
    min-width:0;
    border:1px solid rgba(94,173,215,.22);
    background:rgba(1,9,16,.78)
}
.battle-force-attacker {
    box-shadow:inset 3px 0 0 rgba(48,201,151,.7)
}
.battle-force-defender {
    box-shadow:inset -3px 0 0 rgba(239,82,77,.72)
}
.battle-force-heading {
    display:grid;
    grid-template-columns:1fr auto;
    gap:2px 12px;
    padding:10px 12px;
    border-bottom:1px solid rgba(94,173,215,.16);
    background:rgba(10,34,50,.52)
}
.battle-force-heading span {
    grid-column:1/3
}
.battle-force-heading strong {
    font-size:17px;
    color:#d8f4ff
}
.battle-force-heading small {
    align-self:center;
    text-align:right
}
.battle-unit-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:9px;
    max-height:370px;
    overflow:auto
}
.battle-unit-card {
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    min-height:78px;
    border:1px solid rgba(83,157,195,.18);
    background:linear-gradient(135deg,rgba(7,25,38,.88),rgba(2,10,18,.92));
    overflow:hidden
}
.battle-unit-card img {
    width:88px;
    height:78px;
    object-fit:cover;
    background:radial-gradient(circle at 50% 50%,rgba(28,98,130,.2),rgba(2,9,16,.96));
    border-right:1px solid rgba(83,157,195,.18)
}
.battle-unit-card>div {
    padding:7px 8px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:2px 7px;
    align-content:center
}
.battle-unit-card strong {
    grid-column:1/3;
    color:#d9effa;
    font-size:12px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.battle-unit-card small {
    color:#7898ab
}
.battle-unit-card .loss {
    color:#ff756f;
    font-size:11px
}
.battle-unit-card b {
    color:#78e8bb;
    font-size:12px;
    text-align:right
}
.battle-versus-core {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center
}
.battle-versus-core span {
    font-size:32px;
    font-weight:900;
    color:#ffb24c;
    text-shadow:0 0 20px rgba(255,142,45,.38)
}
.battle-versus-core b {
    margin-top:8px;
    padding:4px 8px;
    border:1px solid rgba(255,183,81,.26);
    background:rgba(42,23,3,.58);
    font-size:10px;
    letter-spacing:.12em;
    color:#ffce7e
}
.battle-versus-core small {
    margin-top:5px;
    color:#64889d;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.battle-performance-strip {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid rgba(82,164,205,.26);
    background:rgba(1,10,17,.9)
}
.battle-performance-strip>div {
    padding:11px 12px;
    border-right:1px solid rgba(82,164,205,.16)
}
.battle-performance-strip small {
    display:block;
    color:#7297ac;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.1em
}
.battle-performance-strip strong {
    display:block;
    margin-top:2px;
    color:#d9f2ff;
    font-size:15px
}
.battle-round-command {
    margin-top:12px
}
.battle-round-timeline {
    display:grid;
    gap:6px
}
.battle-round-line {
    display:grid;
    grid-template-columns:68px minmax(220px,.7fr) minmax(300px,1fr);
    gap:12px;
    align-items:center;
    padding:8px 10px;
    border:1px solid rgba(80,153,191,.17);
    background:linear-gradient(90deg,rgba(5,25,38,.72),rgba(2,10,17,.8))
}
.battle-round-number {
    display:flex;
    align-items:baseline;
    gap:6px
}
.battle-round-number small {
    font-size:9px;
    color:#7695a7
}
.battle-round-number strong {
    font-size:20px;
    color:#ccefff
}
.battle-round-balance {
    display:grid;
    grid-template-columns:1fr 76px 1fr;
    align-items:center;
    gap:8px
}
.battle-round-balance span {
    display:flex;
    gap:7px;
    align-items:baseline
}
.battle-round-balance .defender {
    justify-content:flex-end;
    text-align:right
}
.battle-round-balance i {
    height:3px;
    background:linear-gradient(90deg,#36c89f 0 50%,#e5534c 50%);
    box-shadow:0 0 10px rgba(81,193,217,.22)
}
.battle-round-balance small {
    color:#ff7770
}
.battle-round-events {
    display:flex;
    justify-content:flex-end;
    gap:5px;
    flex-wrap:wrap
}
.battle-round-events span {
    padding:4px 7px;
    border:1px solid rgba(80,153,191,.16);
    background:rgba(4,18,28,.75);
    font-size:10px;
    color:#88b4cb
}
.battle-round-line details {
    grid-column:2/4
}
.battle-round-line code {
    display:block;
    white-space:normal;
    color:#8eb6c9;
    font-size:10px
}
.battle-consequence-grid {
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:12px;
    margin-top:12px
}
.battle-resource-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px
}
.battle-resource-grid>div {
    padding:10px;
    border:1px solid rgba(80,153,191,.18);
    background:rgba(3,15,24,.68)
}
.battle-resource-grid small {
    display:block;
    color:#7898aa;
    font-size:9px;
    text-transform:uppercase
}
.battle-resource-grid strong {
    display:block;
    margin-top:3px;
    color:#e3f6ff;
    font-size:16px
}
.battle-followup-card .page-actions {
    margin-top:12px;
    display:flex;
    gap:6px;
    flex-wrap:wrap
}
@media(max-width:1180px) {
    .battle-report-header {
        display:block
    }
    .battle-report-meta {
        margin-top:12px;
        min-width:0
    }
    .battle-report-versus {
        grid-template-columns:1fr
    }
    .battle-versus-core {
        min-height:58px
    }
    .battle-unit-grid {
        grid-template-columns:repeat(3,minmax(0,1fr));
        max-height:none
    }
    .battle-round-line {
        grid-template-columns:60px 1fr
    }
    .battle-round-events {
        grid-column:2
    }
    .battle-consequence-grid {
        grid-template-columns:1fr
    }

}
@media(max-width:760px) {
    .battle-report-meta {
        grid-template-columns:repeat(2,1fr)
    }
    .battle-unit-grid {
        grid-template-columns:1fr
    }
    .battle-performance-strip {
        grid-template-columns:repeat(2,1fr)
    }
    .battle-round-line {
        grid-template-columns:1fr
    }
    .battle-round-events,.battle-round-line details {
        grid-column:auto;
        justify-content:flex-start
    }
    .battle-resource-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
.battle-hall-visual-list {
    display:grid;
    gap:7px
}
.battle-hall-visual-row {
    display:grid;
    grid-template-columns:150px minmax(220px,1fr) 170px auto;
    gap:12px;
    align-items:center;
    padding:7px 9px!important;
    background:linear-gradient(90deg,rgba(4,20,32,.88),rgba(2,11,19,.94))!important;
    border:1px solid rgba(81,155,193,.18)!important
}
.battle-hall-force-art {
    display:grid;
    grid-template-columns:1fr 28px 1fr;
    align-items:center;
    height:52px;
    overflow:hidden
}
.battle-hall-force-art img {
    width:100%;
    height:52px;
    object-fit:cover;
    background:#020b12
}
.battle-hall-force-art span {
    text-align:center;
    color:#ffb554;
    font-size:10px;
    font-weight:800
}
.battle-hall-match {
    min-width:0
}
.battle-hall-match>div {
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.battle-hall-match small {
    color:#688ca1
}
.battle-hall-outcome {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:2px 8px;
    align-items:center
}
.battle-hall-outcome b {
    color:#d8f2ff;
    text-align:right
}
.battle-hall-outcome small {
    grid-column:1/3;
    text-align:right;
    color:#6f91a4
}
.winner-attacker {
    box-shadow:inset 3px 0 0 rgba(45,201,149,.55)
}
.winner-defender {
    box-shadow:inset 3px 0 0 rgba(233,79,72,.58)
}
.winner-draw {
    box-shadow:inset 3px 0 0 rgba(235,174,67,.52)
}
@media(max-width:900px) {
    .battle-hall-visual-row {
        grid-template-columns:110px 1fr
    }
    .battle-hall-outcome {
        grid-column:2
    }
    .battle-hall-visual-row>.button-link {
        grid-column:1/3
    }

}

/* v8.4.7 Visual Continuity & Live State I */
.nova-operational-pulse {
    margin:5px 0 0;
    display:grid;
    grid-template-columns:92px repeat(4,minmax(0,1fr));
    min-height:48px;
    border:1px solid #173f55;
    background:linear-gradient(180deg,rgba(5,19,29,.98),rgba(2,10,16,.98));
    box-shadow:0 0 0 1px #02070b,inset 0 0 24px rgba(29,145,190,.035);
    overflow:hidden;
    clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))
}
.pulse-cap {
    display:grid;
    place-items:center;
    align-content:center;
    gap:2px;
    border-right:1px solid #1d4c63;
    background:linear-gradient(135deg,#09273a,#04131e);
    text-align:center
}
.pulse-cap i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#39e69a;
    box-shadow:0 0 9px #39e69a
}
.pulse-cap span {
    font:700 6px ui-monospace;
    letter-spacing:.14em;
    color:#78bad4
}
.pulse-cap b {
    font:800 7px ui-monospace;
    color:#53dfa2
}
.nova-operational-pulse.pulse-offline .pulse-cap i {
    background:#e78849;
    box-shadow:0 0 9px #e78849
}
.nova-operational-pulse.pulse-offline .pulse-cap b {
    color:#e8a66a
}
.pulse-cell {
    min-width:0;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    align-items:center;
    gap:7px;
    padding:5px 9px;
    border-right:1px solid #15394c;
    color:#bcd5df;
    text-decoration:none;
    background:linear-gradient(180deg,rgba(8,26,39,.82),rgba(4,15,23,.88));
    transition:var(--xn-motion-standard) ease
}
.pulse-cell:last-child {
    border-right:0
}
.pulse-cell:hover {
    background:linear-gradient(180deg,rgba(12,42,59,.95),rgba(5,21,31,.95));
    box-shadow:inset 0 0 18px rgba(58,180,224,.08)
}
.pulse-cell>span {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid #24566d;
    background:#061722;
    color:#67d9f4;
    font-size:14px;
    clip-path:polygon(7px 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,0 100%,0 7px)
}
.pulse-cell>div {
    min-width:0;
    display:grid;
    gap:1px
}
.pulse-cell small {
    font:700 5.5px ui-monospace;
    letter-spacing:.14em;
    color:#537f94
}
.pulse-cell b {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font:800 8px ui-monospace;
    color:#d9f3fb
}
.pulse-cell em {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font:600 6.5px ui-monospace;
    font-style:normal;
    color:#789bad
}
.pulse-flight>span {
    color:#75d9ff
}
.pulse-queue>span {
    color:#d6b86b
}
.pulse-combat.victory>span {
    color:#5ce293
}
.pulse-combat.defeat>span {
    color:#ef6767
}
.pulse-combat.draw>span {
    color:#d2b970
}
.pulse-comms>span {
    color:#a893f0
}
.pulse-comms small strong {
    display:inline-grid;
    place-items:center;
    min-width:14px;
    height:13px;
    margin-left:4px;
    padding:0 3px;
    border-radius:8px;
    background:#8c2730;
    color:#fff;
    font-size:6px
}
.battle-continuity-bar {
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:8px;
    margin:0 0 6px;
    padding:5px 7px;
    border:1px solid #214a60;
    background:linear-gradient(180deg,#071d2b,#04121b);
    clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px))
}
.battle-continuity-bar .battle-theater {
    min-width:0;
    display:flex;
    align-items:center;
    gap:8px
}
.battle-continuity-bar .battle-theater>span {
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    border:1px solid #315a6e;
    background:radial-gradient(circle,#173e52,#06131d);
    color:#70d9ef
}
.battle-continuity-bar small {
    font:700 5.5px ui-monospace;
    letter-spacing:.14em;
    color:#5d8ea5
}
.battle-continuity-bar strong {
    display:block;
    font-size:9px;
    color:#d8eff7
}
.battle-continuity-bar em {
    font:600 7px ui-monospace;
    font-style:normal;
    color:#82a7b8
}
.battle-continuity-actions {
    display:flex;
    gap:4px
}
.battle-continuity-actions a {
    padding:5px 8px;
    border:1px solid #24556c;
    background:#071a26;
    color:#9ed8ea;
    text-decoration:none;
    font:700 6px ui-monospace;
    letter-spacing:.08em
}
.battle-continuity-actions a:hover {
    border-color:#4a9cba;
    color:#e1f8ff
}
.battle-report-command {
    position:relative;
    overflow:hidden
}
.battle-report-command:before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:130px;
    pointer-events:none;
    background:radial-gradient(circle at 50% -20%,rgba(66,164,204,.15),transparent 58%),linear-gradient(90deg,rgba(44,126,169,.05),transparent 45%,rgba(185,57,57,.06));
    z-index:0
}
.battle-report-command>* {
    position:relative;
    z-index:1
}
@media(max-width:900px) {
    .nova-operational-pulse {
        grid-template-columns:repeat(2,1fr);
        clip-path:none
    }
    .pulse-cap {
        display:none
    }
    .pulse-cell {
        border-bottom:1px solid #15394c
    }
    .battle-continuity-bar {
        grid-template-columns:1fr;
        clip-path:none
    }
    .battle-continuity-actions {
        flex-wrap:wrap
    }

}

/* v8.4.8 Command Feed & Persistent Notifications I */
.command-feed-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:12px 15px;
    border:1px solid #214d64;
    background:linear-gradient(110deg,#082236,#04131e 58%,#071927);
    box-shadow:inset 0 -1px #102f40,0 12px 34px rgba(0,0,0,.25);
    clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)
}
.command-feed-head h1 {
    margin:3px 0!important;
    font-size:22px!important;
    color:#e3f6ff
}
.command-feed-head p {
    margin:0;
    color:#789daf;
    font-size:9px
}
.feed-priority-summary {
    display:flex;
    gap:5px
}
.feed-priority-summary span {
    min-width:72px;
    padding:7px 10px;
    border:1px solid #20485c;
    background:#04121c;
    text-align:center
}
.feed-priority-summary b {
    display:block;
    font:800 16px/1 ui-monospace;
    color:#d9f2fb
}
.feed-priority-summary small {
    font:700 6px ui-monospace;
    letter-spacing:.1em;
    color:#608ba0
}
.feed-priority-summary .critical {
    border-color:#6e2c32
}
.feed-priority-summary .critical b {
    color:#ff756f
}
.feed-priority-summary .high {
    border-color:#6e5224
}
.feed-priority-summary .high b {
    color:#ffc969
}
.command-feed-tabs {
    margin:5px 0!important
}
.command-feed-layout {
    display:grid;
    grid-template-columns:minmax(430px,.88fr) minmax(480px,1.12fr);
    gap:6px;
    min-height:650px
}
.command-feed-stream,.command-feed-reader {
    border:1px solid #173f54;
    background:linear-gradient(180deg,#04131f,#020a11);
    box-shadow:inset 0 0 30px rgba(34,126,164,.025)
}
.feed-filters {
    padding:5px;
    border-bottom:1px solid #173f54;
    background:#061722
}
.command-feed-list {
    display:grid;
    max-height:650px;
    overflow:auto
}
.command-feed-item {
    position:relative;
    display:grid;
    grid-template-columns:47px minmax(0,1fr) 58px;
    gap:8px;
    align-items:center;
    min-height:78px;
    padding:8px 9px;
    border-bottom:1px solid #123445;
    text-decoration:none;
    color:#a8c5d1;
    background:linear-gradient(90deg,rgba(5,20,31,.92),rgba(2,10,17,.96));
    transition:.15s
}
.command-feed-item:before {
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:2px;
    background:#4298b8;
    opacity:.45
}
.command-feed-item:hover,.command-feed-item.selected {
    background:linear-gradient(90deg,rgba(8,34,49,.98),rgba(3,15,23,.98));
    box-shadow:inset 0 0 18px rgba(70,177,216,.07)
}
.command-feed-item.selected {
    outline:1px solid #2e6d88;
    outline-offset:-1px
}
.command-feed-item.unread strong {
    color:#effbff
}
.command-feed-item.unread:after {
    content:"";
    position:absolute;
    right:7px;
    top:7px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#57d9ff;
    box-shadow:0 0 7px #57d9ff
}
.feed-icon {
    display:grid;
    place-items:center;
    width:43px;
    height:43px;
    border:1px solid #28586c;
    background:radial-gradient(circle,#12394b,#05131d 70%);
    font-size:19px;
    color:#72d9f0;
    clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)
}
.feed-item-copy {
    min-width:0
}
.feed-item-copy small {
    display:block;
    font:700 5.5px ui-monospace;
    letter-spacing:.08em;
    color:#658da0
}
.feed-item-copy strong {
    display:block;
    margin:4px 0 3px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#c9e5ef;
    font-size:10px
}
.feed-item-copy p {
    margin:0!important;
    color:#718f9e;
    font-size:8px;
    line-height:1.35
}
.feed-priority {
    font:800 5.5px ui-monospace;
    letter-spacing:.09em;
    text-align:right;
    color:#668c9c
}
.command-feed-item.critical .feed-priority {
    color:#ff7770
}
.command-feed-item.critical:before {
    background:#e75654;
    opacity:.9
}
.command-feed-item.high .feed-priority {
    color:#e9bb63
}
.command-feed-item.high:before {
    background:#d99a36;
    opacity:.75
}
.command-feed-item.red .feed-icon {
    color:#ff736f;
    border-color:#6b3338;
    background:radial-gradient(circle,#39171b,#11080b 72%)
}
.command-feed-item.violet .feed-icon {
    color:#b6a2ff;
    border-color:#594a80
}
.command-feed-item.amber .feed-icon {
    color:#ffc76b;
    border-color:#6d532e
}
.command-feed-reader {
    position:relative;
    overflow:hidden
}
.feed-reader-hero {
    display:grid;
    grid-template-columns:76px 1fr;
    gap:12px;
    align-items:center;
    min-height:104px;
    padding:12px;
    border-bottom:1px solid #24556a;
    background:radial-gradient(circle at 12% 50%,rgba(48,147,184,.18),transparent 28%),linear-gradient(110deg,#082438,#06131e)
}
.feed-reader-hero.red {
    background:radial-gradient(circle at 12% 50%,rgba(205,64,59,.22),transparent 30%),linear-gradient(110deg,#241014,#07121c)
}
.feed-reader-hero.violet {
    background:radial-gradient(circle at 12% 50%,rgba(119,82,190,.22),transparent 30%),linear-gradient(110deg,#151127,#07121c)
}
.feed-reader-icon {
    display:grid;
    place-items:center;
    width:70px;
    height:70px;
    border:1px solid #376f86;
    background:radial-gradient(circle,#16475d,#06141e 70%);
    font-size:31px;
    color:#74ddf4;
    clip-path:polygon(13px 0,100% 0,100% calc(100% - 13px),calc(100% - 13px) 100%,0 100%,0 13px)
}
.feed-reader-hero small {
    font:700 6px ui-monospace;
    letter-spacing:.11em;
    color:#6ca6bc
}
.feed-reader-hero h2 {
    margin:5px 0!important;
    font-size:18px!important;
    color:#e4f7ff
}
.feed-reader-hero p {
    margin:0!important;
    color:#86a7b4;
    font-size:8px
}
.feed-reader-body {
    min-height:250px;
    padding:18px 16px;
    background:linear-gradient(180deg,rgba(4,17,27,.82),rgba(2,9,15,.9));
    color:#b6ced8;
    font-size:10px;
    line-height:1.65;
    white-space:normal
}
.feed-context-actions {
    display:flex;
    gap:6px;
    padding:9px 12px;
    border-top:1px solid #173e52;
    border-bottom:1px solid #173e52;
    background:#061621
}
.feed-context-actions .button {
    min-width:130px
}
.feed-empty {
    min-height:420px;
    display:grid;
    place-items:center;
    align-content:center;
    text-align:center;
    color:#668a9b
}
.feed-empty>span {
    font-size:54px;
    color:#28627a
}
.feed-empty h2 {
    margin:8px!important;
    color:#cce7f2
}
.feed-empty p {
    max-width:360px;
    margin:0!important;
    font-size:9px
}
.command-feed-reader .comms-actions,.command-feed-reader .comms-compose {
    margin:9px 12px
}
.command-feed-stream .comms-bulk {
    margin:6px
}
@media(max-width:1050px) {
    .command-feed-layout {
        grid-template-columns:1fr
    }
    .command-feed-list {
        max-height:430px
    }
    .command-feed-reader {
        min-height:520px
    }
    .feed-priority-summary {
        display:none
    }

}
@media(max-width:650px) {
    .command-feed-head {
        display:block
    }
    .command-feed-item {
        grid-template-columns:42px minmax(0,1fr)
    }
    .feed-priority {
        display:none
    }
    .feed-reader-hero {
        grid-template-columns:54px 1fr
    }
    .feed-reader-icon {
        width:50px;
        height:50px;
        font-size:22px
    }

}

/* v8.4.9 Empire Command Map + Production Control Surface */
.empire-command-surface,.production-control-surface {
    display:grid;
    gap:6px
}
.empire-command-header,.production-command-header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    padding:10px 13px;
    border:1px solid #24546b;
    background:linear-gradient(110deg,#08243a,#04121d 58%,#071a28);
    box-shadow:inset 0 -1px #12384b,0 12px 34px rgba(0,0,0,.26);
    clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)
}
.empire-command-header h1,.production-command-header h1 {
    margin:2px 0!important;
    font-size:22px!important;
    color:#e5f8ff
}
.empire-command-header p,.production-command-header p {
    margin:0!important;
    color:#789eaf;
    font-size:9px
}
.empire-command-kpis,.production-total-strip {
    display:flex;
    gap:4px;
    flex-wrap:wrap;
    justify-content:flex-end
}
.empire-command-kpis span,.production-total-strip span {
    min-width:82px;
    padding:7px 9px;
    border:1px solid #1e485c;
    background:#04131e;
    text-align:center
}
.empire-command-kpis b,.production-total-strip b {
    display:block;
    color:#e2f5fc;
    font:800 14px/1.1 ui-monospace
}
.empire-command-kpis small,.production-total-strip small {
    display:block;
    margin-top:3px;
    color:#648fa2;
    font:700 5.5px ui-monospace;
    letter-spacing:.09em
}
.empire-command-kpis .danger {
    border-color:#6b3036
}
.empire-command-kpis .danger b {
    color:#ff7770
}
.empire-command-grid {
    display:grid;
    grid-template-columns:minmax(620px,1.5fr) minmax(330px,.55fr);
    gap:6px
}
.empire-orbit-map {
    position:relative;
    min-height:500px;
    overflow:hidden;
    border:1px solid #1d4d64;
    background:radial-gradient(circle at 50% 48%,rgba(24,102,139,.12),transparent 31%),#020912;
    box-shadow:inset 0 0 80px rgba(22,105,147,.06)
}
.empire-orbit-map:before,.empire-orbit-map:after {
    content:"";
    position:absolute;
    inset:10% 15%;
    border:1px solid rgba(74,154,194,.16);
    border-radius:50%;
    transform:rotate(-8deg)
}
.empire-orbit-map:after {
    inset:21% 27%;
    border-color:rgba(74,154,194,.1);
    transform:rotate(17deg)
}
.empire-orbit-core {
    position:absolute;
    left:50%;
    top:50%;
    translate:-50% -50%;
    display:grid;
    place-items:center;
    width:74px;
    height:74px;
    border:1px solid #327596;
    border-radius:50%;
    background:radial-gradient(circle,#3faed6 0 4%,#154d69 5% 16%,#071722 44%,#020911 68%);
    box-shadow:0 0 38px rgba(75,185,231,.28);
    z-index:3
}
.empire-orbit-core span {
    font:900 14px ui-monospace;
    color:#8fe7ff
}
.empire-orbit-core b {
    font:700 7px ui-monospace;
    color:#568ca1
}
.empire-world-node {
    --a:var(--node-angle);
    position:absolute;
    left:50%;
    top:50%;
    z-index:5;
    width:116px;
    min-height:75px;
    padding:7px;
    border:1px solid #23546a;
    background:linear-gradient(145deg,rgba(6,28,42,.96),rgba(2,10,17,.96));
    text-align:center;
    text-decoration:none;
    color:#b8d6df;
    transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--node-radius)) rotate(calc(-1 * var(--a)));
    box-shadow:0 8px 24px rgba(0,0,0,.32)
}
.empire-world-node.active {
    border-color:#4dc5ef;
    box-shadow:0 0 22px rgba(57,180,226,.24),inset 0 0 18px rgba(57,180,226,.08)
}
.empire-world-node.under-threat {
    border-color:#983b42;
    animation:nxThreat 1.8s ease-in-out infinite
}
.empire-world-node strong,.empire-world-node small,.empire-world-node em {
    display:block
}
.empire-world-node strong {
    margin-top:3px;
    color:#e5f8ff;
    font-size:9px
}
.empire-world-node small {
    font:6px ui-monospace;
    color:#6a91a2
}
.empire-world-node em {
    margin-top:4px;
    font:700 6px ui-monospace;
    color:#68d6a4;
    font-style:normal
}
.empire-world-node.under-threat em {
    color:#ff7970
}
.empire-world-orb {
    display:inline-block;
    width:28px;
    height:28px;
    border-radius:50%;
    background:radial-gradient(circle at 32% 28%,#b6efff 0 5%,#3d95b6 13%,#153c57 36%,#071422 67%,#01050a 73%);
    box-shadow:inset -6px -8px 10px rgba(0,0,0,.5),0 0 15px rgba(77,181,223,.28)
}
.empire-world-node.moon .empire-world-orb {
    filter:grayscale(.8)
}
.empire-map-legend {
    position:absolute;
    left:10px;
    bottom:9px;
    display:flex;
    gap:10px;
    padding:5px 7px;
    border:1px solid #173a4c;
    background:rgba(2,10,16,.82);
    font:700 6px ui-monospace;
    z-index:6
}
.empire-map-legend .own {
    color:#74d7ef
}
.empire-map-legend .queue {
    color:#c2a4ff
}
.empire-map-legend .danger {
    color:#ff7169
}
@keyframes nxThreat {
    50% {
        box-shadow:0 0 24px rgba(229,71,68,.25)
    }

}
.empire-world-inspector {
    border:1px solid #1e4b61;
    background:linear-gradient(180deg,#061a28,#020b12);
    display:flex;
    flex-direction:column;
    min-width:0
}
.empire-world-visual {
    position:relative;
    min-height:170px;
    overflow:hidden;
    border-bottom:1px solid #24566c
}
.empire-world-visual img {
    position:absolute;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.85) brightness(.68)
}
.empire-world-visual>span {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(1,8,13,.08),rgba(2,10,17,.86) 82%)
}
.empire-world-visual>div {
    position:absolute;
    left:13px;
    bottom:12px
}
.empire-world-visual small {
    font:700 6px ui-monospace;
    color:#64abc4
}
.empire-world-visual h2 {
    margin:4px 0 1px!important;
    font-size:19px!important
}
.empire-world-visual b {
    font:700 7px ui-monospace;
    color:#78a2b2
}
.empire-resource-bars {
    display:grid;
    gap:6px;
    padding:9px
}
.empire-resource-bars>div label {
    display:flex;
    justify-content:space-between;
    font-size:7px
}
.empire-resource-bars i,.storage-bar {
    display:block;
    height:4px;
    margin:4px 0;
    background:#0a202d;
    overflow:hidden
}
.empire-resource-bars u,.storage-bar u {
    display:block;
    height:100%;
    background:#46b8e8
}
.resource-titanium u {
    background:#72d47e!important
}
.resource-crystal u {
    background:#58aaf3!important
}
.resource-deuterium u {
    background:#e69644!important
}
.resource-energy u {
    background:#c77dff!important
}
.empire-resource-bars small {
    font:6px ui-monospace;
    color:#5f8798
}
.empire-world-status {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:4px;
    padding:0 9px 9px
}
.empire-world-status span {
    padding:7px;
    border:1px solid #163b4d;
    background:#04131d;
    text-align:center
}
.empire-world-status small,.empire-world-status b {
    display:block
}
.empire-world-status small {
    font:6px ui-monospace;
    color:#60899b
}
.empire-world-status b {
    margin-top:3px;
    font:800 10px ui-monospace;
    color:#d2ebf4
}
.empire-world-queues {
    margin:0 9px 9px;
    border:1px solid #163d50
}
.empire-world-queues h3 {
    margin:0!important;
    padding:6px 8px;
    border-bottom:1px solid #163d50;
    font-size:8px!important;
    color:#81cfe9
}
.empire-world-queues a {
    display:flex;
    align-items:center;
    gap:7px;
    padding:6px 8px;
    border-bottom:1px solid #102e3c
}
.empire-world-queues .nova-emblem {
    width:28px;
    height:28px
}
.empire-world-queues b,.empire-world-queues small {
    display:block
}
.empire-world-queues b {
    font-size:8px
}
.empire-world-queues small {
    font:6px ui-monospace;
    color:#69a1b3
}
.empire-world-queues p {
    margin:8px!important;
    color:#638898;
    font-size:8px
}
.empire-world-inspector>footer {
    display:flex;
    gap:5px;
    margin-top:auto;
    padding:9px
}
.empire-world-deck {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:5px
}
.empire-world-card {
    border:1px solid #183f52;
    background:linear-gradient(180deg,#061823,#020a11);
    min-width:0
}
.empire-world-card.active {
    border-color:#3f9fbe
}
.empire-world-card.danger {
    border-color:#7d3037
}
.empire-world-card header {
    display:flex;
    justify-content:space-between;
    padding:7px
}
.empire-world-card header>div {
    display:grid;
    grid-template-columns:31px 1fr;
    column-gap:6px;
    align-items:center
}
.empire-world-card header .empire-world-orb {
    grid-row:1/3
}
.empire-world-card h3 {
    margin:0!important;
    font-size:9px!important
}
.empire-world-card header small {
    font:6px ui-monospace;
    color:#60899a
}
.world-alert {
    color:#ff756e
}
.empire-world-card-resources,.empire-world-card-state {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:3px;
    padding:0 7px 6px
}
.empire-world-card-resources span,.empire-world-card-state span {
    padding:4px;
    border:1px solid #102f3d;
    font:6px ui-monospace;
    color:#668d9d
}
.empire-world-card b {
    color:#cce6ef
}
.empire-world-card footer {
    display:flex;
    border-top:1px solid #153646
}
.empire-world-card footer a {
    flex:1;
    padding:6px;
    text-align:center;
    font:700 6px ui-monospace;
    color:#76cce8
}
.empire-legacy-matrix,.production-matrix-detail {
    margin-top:1px
}
.empire-legacy-matrix>summary,.production-matrix-detail>summary {
    cursor:pointer;
    padding:7px 9px;
    font:700 7px ui-monospace;
    color:#7197a7
}
.production-command-grid {
    display:grid;
    grid-template-columns:minmax(620px,1.35fr) minmax(280px,.55fr);
    grid-template-areas:"stage resources" "facilities status";
    gap:6px
}
.production-world-stage {
    grid-area:stage;
    position:relative;
    min-height:285px;
    overflow:hidden;
    border:1px solid #1d4d63;
    background:#020a11
}
.production-world-stage img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(.82) brightness(.66)
}
.production-stage-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(1,7,12,.18),rgba(2,10,17,.22) 50%,rgba(2,10,17,.94))
}
.production-stage-copy {
    position:absolute;
    left:15px;
    top:16px;
    max-width:390px
}
.production-stage-copy small {
    font:700 6px ui-monospace;
    color:#72cae9
}
.production-stage-copy h2 {
    margin:5px 0!important;
    font-size:23px!important
}
.production-stage-copy h2 b {
    font:700 8px ui-monospace;
    color:#82a9b9
}
.production-stage-copy p {
    max-width:330px;
    margin:0!important;
    color:#7fa0ae;
    font-size:8px
}
.production-energy-gauge {
    position:absolute;
    right:15px;
    bottom:14px;
    width:210px;
    padding:8px;
    border:1px solid #265a70;
    background:rgba(2,12,19,.88)
}
.production-energy-gauge small,.production-energy-gauge strong,.production-energy-gauge span {
    display:block
}
.production-energy-gauge small {
    font:6px ui-monospace;
    color:#9b75d8
}
.production-energy-gauge strong {
    font:800 24px/1 ui-monospace;
    color:#d6a7ff
}
.production-energy-gauge i {
    display:block;
    height:6px;
    margin:7px 0;
    background:#172335
}
.production-energy-gauge u {
    display:block;
    height:100%;
    background:#b66df0
}
.production-energy-gauge span {
    font:6px ui-monospace;
    color:#789dad
}
.production-resource-stack {
    grid-area:resources;
    display:grid;
    gap:4px
}
.production-resource-stack article {
    padding:8px;
    border:1px solid #183f52;
    background:#04131e
}
.production-resource-stack article header {
    display:grid;
    grid-template-columns:34px 1fr auto;
    gap:7px;
    align-items:center
}
.production-resource-stack .nova-emblem {
    width:30px;
    height:30px
}
.production-resource-stack small,.production-resource-stack b,.production-resource-stack strong {
    display:block
}
.production-resource-stack small {
    font:6px ui-monospace;
    color:#668d9e
}
.production-resource-stack b {
    font:800 12px ui-monospace;
    color:#dceff6
}
.production-resource-stack strong {
    font:800 8px ui-monospace;
    color:#62db99
}
.production-resource-stack footer {
    display:flex;
    justify-content:space-between;
    font:6px ui-monospace;
    color:#668c9c
}
.production-facilities {
    grid-area:facilities;
    border:1px solid #183f52;
    background:#03101a
}
.production-facilities>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px;
    border-bottom:1px solid #183f52
}
.production-facilities h2 {
    margin:1px 0!important;
    font-size:13px!important
}
.production-facilities>header>a {
    font:700 6px ui-monospace;
    color:#6dcce9
}
.production-facility-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    padding:5px
}
.production-facility {
    display:grid;
    grid-template-columns:76px 1fr 24px;
    gap:7px;
    align-items:center;
    min-height:78px;
    border:1px solid #173b4c;
    background:linear-gradient(145deg,#061824,#020a11);
    color:#a9c8d3;
    text-decoration:none;
    overflow:hidden
}
.production-facility:hover {
    border-color:#3a89a5
}
.production-facility-art {
    height:76px;
    overflow:hidden
}
.production-facility-art .nova-entity-art {
    height:100%
}
.production-facility-art img {
    width:100%;
    height:100%;
    object-fit:cover
}
.production-facility small,.production-facility strong,.production-facility em {
    display:block
}
.production-facility small {
    font:6px ui-monospace;
    color:#6b92a2
}
.production-facility strong {
    font-size:8px;
    color:#d4e9f1
}
.production-facility em {
    font:700 5.5px ui-monospace;
    color:#58d690;
    font-style:normal
}
.production-facility>b {
    font:900 15px ui-monospace;
    color:#6fd3f0
}
.production-world-status {
    grid-area:status;
    border:1px solid #183f52;
    background:#03101a;
    padding:8px;
    align-self:stretch
}
.production-world-status h3 {
    margin:0 0 6px!important;
    font-size:9px!important;
    color:#82cde7
}
.production-world-status>div {
    display:flex;
    justify-content:space-between;
    padding:7px 2px;
    border-bottom:1px solid #102f3d;
    font-size:7px
}
.production-world-status>div span {
    color:#668c9c
}
.production-world-status>div b {
    color:#d4eaf2
}
.production-world-status footer {
    display:flex;
    gap:4px;
    margin-top:9px
}
.production-world-deck {
    border:1px solid #183f52;
    background:#020b12
}
.production-world-deck>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding:7px 9px;
    border-bottom:1px solid #183f52
}
.production-world-deck h2 {
    margin:0!important;
    font-size:11px!important
}
.production-world-deck header small {
    font:6px ui-monospace;
    color:#66899a
}
.production-world-deck>div {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:4px;
    padding:5px
}
.production-world-card {
    display:grid;
    grid-template-columns:34px 1fr;
    gap:2px 6px;
    padding:7px;
    border:1px solid #163948;
    background:#04121c;
    text-decoration:none;
    color:#9dbbc6
}
.production-world-card.active {
    border-color:#3f9dbb;
    background:#061b29
}
.production-world-card .empire-world-orb {
    grid-row:1/3
}
.production-world-card strong {
    font-size:8px;
    color:#d9edf4
}
.production-world-card small {
    font:6px ui-monospace;
    color:#648b9b
}
.production-world-card>div {
    grid-column:1/3;
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:2px;
    margin-top:4px
}
.production-world-card em {
    padding:3px;
    border:1px solid #102e3b;
    font:6px ui-monospace;
    font-style:normal
}
.production-world-card>b {
    grid-column:1/3;
    margin-top:3px;
    font:700 6px ui-monospace;
    color:#7bddaa
}
@media(max-width:1400px) {
    .empire-command-grid {
        grid-template-columns:1fr
    }
    .empire-world-inspector {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .empire-world-visual {
        grid-row:1/4
    }
    .empire-world-inspector>footer {
        grid-column:2
    }
    .empire-world-deck,.production-world-deck>div {
        grid-template-columns:repeat(3,1fr)
    }
    .production-command-grid {
        grid-template-columns:1fr;
        grid-template-areas:"stage" "resources" "facilities" "status"
    }
    .production-resource-stack {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:900px) {
    .empire-command-header,.production-command-header {
        display:block;
        clip-path:none
    }
    .empire-command-kpis,.production-total-strip {
        justify-content:flex-start;
        margin-top:7px
    }
    .empire-orbit-map {
        min-height:420px
    }
    .empire-world-node {
        width:92px
    }
    .empire-world-deck,.production-world-deck>div {
        grid-template-columns:1fr 1fr
    }
    .empire-world-inspector {
        display:block
    }
    .production-facility-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:620px) {
    .empire-orbit-map {
        display:none
    }
    .empire-world-deck,.production-world-deck>div,.production-resource-stack,.production-facility-grid {
        grid-template-columns:1fr
    }
    .production-world-stage {
        min-height:230px
    }
    .production-energy-gauge {
        position:relative;
        right:auto;
        bottom:auto;
        margin:150px 8px 8px;
        width:auto
    }
    .production-stage-copy {
        max-width:75%
    }

}

/* v8.4.10 — Alliance Operations / Trade Exchange / Commander Identity */
.alliance-ops-stage,.trade-exchange-stage,.commander-identity-stage {
    position:relative;
    overflow:hidden;
    border:1px solid #1d536d;
    background:#020a11;
    min-height:260px;
    box-shadow:inset 0 0 50px #0008,0 10px 30px #0005
}
.alliance-ops-stage:before,.trade-exchange-stage:before,.commander-identity-stage:before {
    content:"";
    position:absolute;
    inset:0;
    background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(95,203,241,.025) 8px),linear-gradient(135deg,rgba(63,202,255,.04),transparent 50%,rgba(163,96,255,.05));
    pointer-events:none;
    z-index:3
}
.alliance-ops-shade,.trade-exchange-shade,.commander-stage-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(1,7,12,.95) 0%,rgba(2,10,17,.42) 44%,rgba(1,7,12,.88) 100%);
    z-index:2
}
.alliance-ops-art,.trade-exchange-scene,.commander-starfield {
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 68% 44%,#1c4965 0 1px,transparent 2px),radial-gradient(circle at 23% 26%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 76% 19%,#79dcff 0 1px,transparent 2px),radial-gradient(ellipse at 62% 46%,rgba(66,139,190,.20),transparent 40%),linear-gradient(180deg,#061723,#01060a)
}
.alliance-ops-star {
    position:absolute;
    left:62%;
    top:47%;
    width:84px;
    height:84px;
    border-radius:50%;
    background:radial-gradient(circle,#fff 0 3%,#9ee9ff 5%,#247899 14%,#102c40 34%,transparent 68%);
    box-shadow:0 0 60px #39c5ff55
}
.alliance-ops-ring {
    position:absolute;
    left:62%;
    top:47%;
    border:1px solid #57c8ec55;
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-10deg)
}
.alliance-ops-ring.ring-a {
    width:330px;
    height:120px
}
.alliance-ops-ring.ring-b {
    width:520px;
    height:190px;
    border-style:dashed
}
.alliance-ops-fleet {
    position:absolute;
    width:105px;
    height:16px;
    background:linear-gradient(90deg,transparent,#95e9ff 25%,#1e607d 70%,transparent);
    clip-path:polygon(0 45%,28% 20%,75% 0,100% 50%,75% 100%,28% 80%);
    filter:drop-shadow(0 0 8px #5bd8ff)
}
.alliance-ops-fleet.fleet-a {
    left:53%;
    top:30%;
    transform:rotate(-11deg)
}
.alliance-ops-fleet.fleet-b {
    left:72%;
    top:67%;
    transform:rotate(168deg) scale(.7)
}
.alliance-ops-identity {
    position:relative;
    z-index:4;
    display:flex;
    align-items:center;
    gap:17px;
    padding:22px;
    max-width:730px
}
.alliance-crest-xl .nova-emblem {
    width:92px;
    height:92px;
    color:#bd8cff
}
.alliance-crest-xl .nova-emblem svg {
    width:55px;
    height:55px
}
.alliance-ops-identity h1 {
    margin:4px 0 5px!important;
    font-size:25px!important
}
.alliance-ops-identity p {
    max-width:540px;
    margin:0!important;
    color:#87a6b4
}
.alliance-doctrine-line {
    display:flex;
    gap:6px;
    flex-wrap:wrap;
    margin-top:9px
}
.alliance-doctrine-line span,.alliance-doctrine-line b {
    padding:4px 7px;
    border:1px solid #274b62;
    background:#04131d;
    font:700 6px ui-monospace;
    color:#8db5c5
}
.alliance-doctrine-line b {
    color:#d0a6ff;
    border-color:#624381
}
.alliance-ops-kpis {
    position:absolute;
    z-index:4;
    right:13px;
    top:14px;
    display:grid;
    grid-template-columns:repeat(2,95px);
    gap:4px
}
.alliance-ops-kpis article {
    padding:9px;
    border:1px solid #204b61;
    background:rgba(3,15,24,.88)
}
.alliance-ops-kpis small,.alliance-ops-kpis strong {
    display:block
}
.alliance-ops-kpis small {
    font:6px ui-monospace;
    color:#6f98a9
}
.alliance-ops-kpis strong {
    margin-top:3px;
    font:900 15px ui-monospace;
    color:#d8eff7
}
.alliance-subnav {
    margin-top:6px!important
}
.alliance-hierarchy-strip {
    display:none!important
}
.trade-exchange-stage {
    min-height:285px
}
.trade-exchange-scene {
    background:radial-gradient(circle at 64% 50%,rgba(226,154,69,.18),transparent 19%),radial-gradient(ellipse at 65% 54%,rgba(75,173,220,.18),transparent 39%),linear-gradient(180deg,#071725,#01070c)
}
.trade-station-core {
    position:absolute;
    left:62%;
    top:43%;
    width:260px;
    height:86px;
    border:2px solid #4c91ad;
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-7deg);
    box-shadow:inset 0 0 30px #000,0 0 24px #44b8e344
}
.trade-station-core:before,.trade-station-core:after {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    border:2px solid #c28d49;
    border-radius:50%
}
.trade-station-core:before {
    width:145px;
    height:45px
}
.trade-station-core:after {
    width:42px;
    height:42px;
    background:#173342;
    box-shadow:0 0 25px #ed9d51
}
.trade-lane {
    position:absolute;
    left:38%;
    top:50%;
    width:48%;
    height:1px;
    background:linear-gradient(90deg,transparent,#54c9e5aa,transparent);
    transform-origin:left
}
.trade-lane.l1 {
    transform:rotate(-14deg)
}
.trade-lane.l2 {
    transform:rotate(7deg)
}
.trade-lane.l3 {
    transform:rotate(25deg)
}
.trade-cargo {
    position:absolute;
    width:40px;
    height:12px;
    background:#90ddf0;
    clip-path:polygon(0 45%,25% 15%,80% 0,100% 50%,80% 100%,25% 85%);
    filter:drop-shadow(0 0 6px #48c9ef)
}
.trade-cargo.c1 {
    left:39%;
    top:30%
}
.trade-cargo.c2 {
    left:74%;
    top:31%;
    transform:scale(.7) rotate(175deg)
}
.trade-cargo.c3 {
    left:70%;
    top:70%;
    transform:scale(.55) rotate(160deg)
}
.trade-exchange-copy {
    position:relative;
    z-index:4;
    padding:22px;
    width:50%
}
.trade-exchange-copy h1 {
    margin:4px 0!important;
    font-size:24px!important
}
.trade-exchange-copy p {
    max-width:520px;
    color:#85a3b0
}
.trade-market-status {
    display:flex;
    gap:5px;
    margin-top:15px
}
.trade-market-status span {
    padding:7px 9px;
    border:1px solid #245069;
    background:#03121c;
    font:6px ui-monospace;
    color:#6f94a4
}
.trade-market-status b {
    color:#73dfad
}
.trade-resource-tape {
    position:absolute;
    z-index:4;
    right:12px;
    bottom:12px;
    display:grid;
    grid-template-columns:repeat(2,150px);
    gap:4px
}
.trade-resource-tape article {
    display:flex;
    gap:7px;
    align-items:center;
    padding:7px;
    border:1px solid #244c61;
    background:rgba(2,13,21,.9)
}
.trade-resource-tape .nova-emblem {
    width:32px;
    height:32px
}
.trade-resource-tape small,.trade-resource-tape strong,.trade-resource-tape span {
    display:block
}
.trade-resource-tape small {
    font:6px ui-monospace;
    color:#6e94a4
}
.trade-resource-tape strong {
    font:900 12px ui-monospace;
    color:#d5eaf2
}
.trade-resource-tape span {
    font:5px ui-monospace;
    color:#597c8c
}
.trade-order-console {
    margin-top:6px;
    border:1px solid #214c61;
    background:#03101a
}
.trade-order-console>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding:8px 10px;
    border-bottom:1px solid #214c61
}
.trade-order-console h2 {
    margin:1px 0!important;
    font-size:12px!important
}
.trade-order-console>header small {
    font:6px ui-monospace;
    color:#638797
}
.trade-create-form {
    padding:8px
}
.market-book-panel {
    margin-top:6px!important
}
.commander-identity-stage {
    min-height:330px
}
.commander-starfield i {
    position:absolute;
    width:2px;
    height:2px;
    border-radius:50%;
    background:#e9fbff;
    box-shadow:44px 20px #78dfff,130px 80px #fff,270px 35px #9f80ff,390px 120px #fff,560px 55px #67dfff,720px 95px #fff,880px 40px #c6a3ff
}
.commander-starfield i:nth-child(2) {
    left:130px;
    top:90px;
    opacity:.6
}
.commander-starfield i:nth-child(3) {
    left:420px;
    top:150px;
    opacity:.4
}
.commander-starfield span {
    position:absolute;
    left:52%;
    top:50%;
    width:390px;
    height:390px;
    border:1px solid #6c88ff22;
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:0 0 80px #4d6aff16
}
.commander-silhouette {
    position:absolute;
    right:23%;
    bottom:-4px;
    width:260px;
    height:290px;
    z-index:1;
    filter:drop-shadow(0 0 28px #3d92b855)
}
.helmet-core {
    position:absolute;
    left:70px;
    top:18px;
    width:120px;
    height:130px;
    border:2px solid #7abbd1;
    background:linear-gradient(150deg,#263d49,#0b131a 65%);
    clip-path:polygon(28% 0,72% 0,94% 25%,86% 78%,66% 100%,34% 100%,14% 78%,6% 25%);
    box-shadow:inset 0 0 35px #000
}
.helmet-core:before {
    content:"";
    position:absolute;
    left:18px;
    right:18px;
    top:44px;
    height:29px;
    background:linear-gradient(90deg,#132937,#6edaff,#132937);
    clip-path:polygon(0 20%,100% 0,88% 80%,12% 100%);
    box-shadow:0 0 17px #5dd8ff
}
.helmet-core:after {
    content:"";
    position:absolute;
    left:-48px;
    top:110px;
    width:212px;
    height:185px;
    background:linear-gradient(150deg,#1b2c36,#080e13 70%);
    clip-path:polygon(18% 0,82% 0,100% 35%,88% 100%,12% 100%,0 35%)
}
.commander-identity-copy {
    position:relative;
    z-index:4;
    padding:30px 26px;
    width:50%
}
.commander-identity-copy h1 {
    margin:4px 0!important;
    font-size:34px!important
}
.commander-identity-copy h1 em {
    margin-left:8px;
    font:700 10px ui-monospace;
    color:#b68cff;
    font-style:normal
}
.commander-identity-copy>strong {
    display:block;
    color:#80d9f4;
    font-size:11px
}
.commander-identity-copy blockquote {
    margin:16px 0!important;
    max-width:500px;
    color:#8ca7b3;
    font-size:11px
}
.commander-stage-meta {
    display:flex;
    gap:6px
}
.commander-stage-meta span {
    padding:5px 7px;
    border:1px solid #22485c;
    background:#03121b;
    font:6px ui-monospace;
    color:#6f9aaa
}
.commander-rank-plaque {
    position:absolute;
    z-index:5;
    right:17px;
    top:16px;
    width:170px;
    padding:12px;
    border:1px solid #574378;
    background:linear-gradient(160deg,rgba(20,16,35,.93),rgba(3,12,19,.93))
}
.commander-rank-plaque small,.commander-rank-plaque strong,.commander-rank-plaque b {
    display:block
}
.commander-rank-plaque small {
    font:6px ui-monospace;
    color:#9d83c9
}
.commander-rank-plaque strong {
    font:900 31px/1 ui-monospace;
    color:#d7b6ff
}
.commander-rank-plaque b {
    margin-top:7px;
    font:700 7px ui-monospace;
    color:#83bfd2
}
.rank-progress {
    height:4px;
    margin-top:7px;
    background:#181b2b
}
.rank-progress i {
    display:block;
    height:100%;
    background:#a975ed
}
.commander-career-strip {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:4px;
    margin-top:6px
}
.commander-career-strip article {
    padding:9px;
    border:1px solid #1b4559;
    background:#03121c
}
.commander-career-strip small,.commander-career-strip strong {
    display:block
}
.commander-career-strip small {
    font:6px ui-monospace;
    color:#688f9f
}
.commander-career-strip strong {
    font:900 15px ui-monospace;
    color:#d8edf5
}
.commander-medal-showcase {
    margin-top:6px;
    border:1px solid #1e485d;
    background:#03101a
}
.commander-medal-showcase>header {
    display:flex;
    justify-content:space-between;
    padding:8px 10px;
    border-bottom:1px solid #1e485d
}
.commander-medal-showcase h2 {
    margin:0!important;
    font-size:11px!important
}
.commander-medal-showcase>header a {
    font:700 6px ui-monospace;
    color:#73cce8
}
.commander-medal-showcase>div {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:4px;
    padding:7px
}
.commander-medal-showcase article {
    padding:8px;
    border:1px solid #173a4b;
    text-align:center;
    background:#04131d
}
.medal-core {
    width:48px;
    height:48px;
    margin:auto;
    display:grid;
    place-items:center;
    border:1px solid #ad7b3e;
    transform:rotate(45deg);
    background:radial-gradient(circle,#f0c274 0 9%,#553a1e 10% 27%,#0c1921 29%)
}
.medal-core i {
    width:18px;
    height:18px;
    border:1px solid #f0c274;
    border-radius:50%
}
.commander-medal-showcase small,.commander-medal-showcase strong {
    display:block;
    margin-top:6px
}
.commander-medal-showcase small {
    font:6px ui-monospace;
    color:#668e9e
}
.commander-medal-showcase strong {
    font:900 11px ui-monospace;
    color:#f2c779
}
.commander-score-matrix {
    margin-top:6px
}
@media(max-width:1200px) {
    .alliance-ops-kpis {
        position:relative;
        right:auto;
        top:auto;
        grid-template-columns:repeat(6,1fr);
        padding:0 12px 12px
    }
    .trade-resource-tape {
        position:relative;
        right:auto;
        bottom:auto;
        grid-template-columns:repeat(4,1fr);
        padding:0 12px 12px
    }
    .trade-exchange-copy {
        width:70%
    }
    .commander-silhouette {
        right:10%
    }
    .commander-career-strip,.commander-medal-showcase>div {
        grid-template-columns:repeat(3,1fr)
    }

}
@media(max-width:760px) {
    .alliance-ops-identity {
        display:block
    }
    .alliance-crest-xl {
        margin-bottom:8px
    }
    .alliance-ops-kpis {
        grid-template-columns:repeat(3,1fr)
    }
    .trade-exchange-copy {
        width:auto
    }
    .trade-resource-tape {
        grid-template-columns:repeat(2,1fr)
    }
    .commander-silhouette {
        opacity:.35;
        right:-30px
    }
    .commander-identity-copy {
        width:75%
    }
    .commander-rank-plaque {
        position:relative;
        right:auto;
        top:auto;
        margin:0 18px 14px;
        width:auto
    }
    .commander-career-strip,.commander-medal-showcase>div {
        grid-template-columns:repeat(2,1fr)
    }

}

/* v8.4.11 — Exploration Operations Surface I */
.exploration-command-bar {
    position:relative;
    margin:0 0 10px;
    border:1px solid #27465f;
    background:linear-gradient(180deg,#071520f2,#030a11f7);
    box-shadow:inset 0 1px #77dfff10,0 12px 28px #0007;
    clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)
}
.exploration-command-title {
    display:flex;
    align-items:center;
    gap:12px;
    padding:11px 14px 8px;
    border-bottom:1px solid #193649;
    background:radial-gradient(circle at 8% 50%,#562e7333,transparent 25%),linear-gradient(90deg,#071923,#06111b)
}
.exploration-command-title h1 {
    margin:1px 0 0;
    font-size:20px;
    color:#d6effb
}
.exploration-command-title p {
    margin:2px 0 0;
    color:#7797a8;
    font-size:9px;
    letter-spacing:.08em
}
.exploration-command-title>.eyebrow {
    min-width:110px;
    color:#cf7eff
}
.exploration-command-tabs {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1px;
    background:#173448
}
.exploration-command-tabs a {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:8px 10px;
    background:#06131d;
    color:#829dad;
    font:700 9px/1 ui-monospace,Consolas,monospace;
    letter-spacing:.12em;
    text-decoration:none;
    transition:var(--xn-motion-quick)
}
.exploration-command-tabs a:hover {
    background:#0a2030;
    color:#d8f4ff
}
.exploration-command-tabs a.active {
    background:linear-gradient(180deg,#231833,#0d1a28);
    color:#e4b7ff;
    box-shadow:inset 0 -2px #a861dd
}
.exploration-command-tabs .nova-emblem {
    width:24px;
    height:24px;
    margin:0
}
.exploration-command-tabs .nova-emblem b {
    display:none
}
.exploration-command-kpis {
    position:absolute;
    right:12px;
    top:8px;
    display:flex;
    gap:4px
}
.exploration-command-kpis span {
    min-width:62px;
    padding:5px 7px;
    border:1px solid #1d3b4e;
    background:#03101a;
    text-align:center
}
.exploration-command-kpis small {
    display:block;
    color:#68899b;
    font-size:6px;
    letter-spacing:.13em
}
.exploration-command-kpis b {
    display:block;
    color:#8edfff;
    font:700 12px/1.2 ui-monospace,Consolas,monospace
}
.exploration-command-kpis .danger b {
    color:#ff745f
}
.discovery-exploration-stage {
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(260px,.55fr) 150px;
    gap:8px;
    margin-bottom:8px;
    min-height:430px
}
.anomaly-map-canvas {
    position:relative;
    overflow:hidden;
    border:1px solid #244962;
    background:#02070e;
    min-height:430px;
    box-shadow:inset 0 0 70px #000a
}
.anomaly-map-canvas>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.88
}
.anomaly-map-grid {
    position:absolute;
    inset:0;
    background-image:linear-gradient(#5ac7ef0a 1px,transparent 1px),linear-gradient(90deg,#5ac7ef0a 1px,transparent 1px);
    background-size:42px 42px;
    mask-image:radial-gradient(circle,#000 35%,transparent 90%)
}
.anomaly-map-core {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    width:62px;
    height:62px;
    border:1px solid #b66bff88;
    border-radius:50%;
    background:#080b18cc;
    box-shadow:0 0 32px #9b4cff66
}
.anomaly-map-core span {
    color:#cb8aff;
    font:800 17px/1 ui-monospace
}
.anomaly-map-core b {
    color:#6bd9ff;
    font-size:8px
}
.anomaly-node {
    --a:0deg;
    --r:35%;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(var(--a)*-1));
    display:grid;
    grid-template-columns:30px auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 6px;
    min-width:110px;
    padding:5px 7px;
    border:1px solid #2c6178;
    background:#04121ddd;
    color:#d2edf8;
    text-align:left;
    box-shadow:0 0 16px #0008;
    cursor:pointer
}
.anomaly-node .nova-emblem {
    grid-row:1/3;
    width:26px;
    height:26px;
    margin:0
}
.anomaly-node .nova-emblem b {
    display:none
}
.anomaly-node>b {
    font-size:8px;
    letter-spacing:.05em
}
.anomaly-node small {
    font-size:6px;
    color:#7091a1
}
.anomaly-node.high {
    border-color:#c77741
}
.anomaly-node.critical {
    border-color:#e55353;
    box-shadow:0 0 20px #e5535338
}
.anomaly-map-legend {
    position:absolute;
    left:10px;
    right:10px;
    bottom:8px;
    display:flex;
    gap:12px;
    padding:5px 8px;
    background:#02070dcc;
    border:1px solid #17374b;
    color:#6f91a3;
    font-size:7px
}
.anomaly-map-legend .normal {
    color:#65d9ff
}
.anomaly-map-legend .high {
    color:#ffad5d
}
.anomaly-map-legend .critical {
    color:#ff5e68
}
.anomaly-intel-panel {
    position:relative;
    border:1px solid #2b5269;
    background:linear-gradient(180deg,#071a27,#030b12);
    padding:13px;
    overflow:hidden
}
.anomaly-intel-panel:before {
    content:"";
    position:absolute;
    width:170px;
    height:170px;
    border:1px solid #8d55c833;
    border-radius:50%;
    right:-70px;
    top:-60px;
    box-shadow:0 0 60px #8d55c822
}
.anomaly-intel-panel h2 {
    margin:5px 0 0;
    color:#e4c8ff
}
.anomaly-intel-panel>b {
    font:700 9px/1 ui-monospace;
    color:#6acff0
}
.anomaly-intel-ring {
    --intel:0;
    position:relative;
    margin:18px auto;
    width:122px;
    height:122px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:conic-gradient(#8e54d8 calc(var(--intel)*1%),#173445 0);
    box-shadow:0 0 22px #7f48d42d
}
.anomaly-intel-ring:before {
    content:"";
    position:absolute;
    inset:10px;
    border-radius:50%;
    background:#041019;
    border:1px solid #27475c
}
.anomaly-intel-ring strong,.anomaly-intel-ring small {
    position:relative;
    z-index:1
}
.anomaly-intel-ring strong {
    font:800 25px/1 ui-monospace;
    color:#d9b4ff
}
.anomaly-intel-ring small {
    position:absolute;
    top:72px;
    color:#718fa0;
    font-size:7px
}
.anomaly-intel-panel dl {
    margin:0
}
.anomaly-intel-panel dl div {
    display:flex;
    justify-content:space-between;
    padding:7px 0;
    border-bottom:1px solid #132f40
}
.anomaly-intel-panel dt {
    color:#6f8f9e;
    font-size:8px
}
.anomaly-intel-panel dd {
    margin:0;
    color:#d3edf8;
    font:700 8px/1 ui-monospace
}
.anomaly-intel-actions {
    display:grid;
    gap:5px;
    margin-top:12px
}
.exploration-side-stack {
    display:grid;
    gap:7px
}
.exploration-side-stack article {
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-height:0;
    border:1px solid #253f54;
    background:linear-gradient(180deg,#081824,#030a11);
    padding:10px;
    text-align:center
}
.exploration-side-stack small {
    color:#6c8b9d;
    font-size:7px
}
.exploration-side-stack b {
    font:800 22px/1.2 ui-monospace;
    color:#9cddf5
}
.exploration-side-stack a {
    margin-top:7px;
    color:#c78cf6;
    font-size:7px;
    text-decoration:none
}
.exploration-jumpbar {
    margin-bottom:8px
}
.expedition-operations-stage {
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(280px,.5fr);
    gap:8px;
    margin-bottom:8px
}
.expedition-stage-art {
    position:relative;
    min-height:240px;
    border:1px solid #28506a;
    overflow:hidden;
    background:#02070d
}
.expedition-stage-art>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.expedition-stage-art:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#020911e8 0,#0209117a 45%,transparent 75%),linear-gradient(180deg,transparent 50%,#020811aa)
}
.expedition-stage-copy {
    position:absolute;
    z-index:2;
    left:24px;
    top:48px;
    max-width:430px
}
.expedition-stage-copy h2 {
    margin:4px 0 8px;
    font-size:24px;
    color:#e0f4fb
}
.expedition-stage-copy p {
    color:#91a8b3;
    max-width:420px
}
.expedition-live-board {
    border:1px solid #264b62;
    background:#04101a
}
.expedition-live-board>header {
    display:flex;
    justify-content:space-between;
    padding:10px;
    border-bottom:1px solid #183749
}
.expedition-live-board article {
    display:grid;
    grid-template-columns:32px 1fr auto;
    gap:8px;
    align-items:center;
    padding:9px;
    border-bottom:1px solid #132f40
}
.expedition-live-board .nova-emblem {
    width:28px;
    height:28px;
    margin:0
}
.expedition-live-board .nova-emblem b {
    display:none
}
.expedition-live-board article b {
    display:block;
    color:#cfe8f4;
    font-size:8px
}
.expedition-live-board article small {
    display:block;
    color:#6f8d9b;
    font-size:7px
}
.expedition-live-board article time {
    color:#72ddff;
    font:700 8px ui-monospace
}
.expedition-live-board article em {
    font-size:6px;
    color:#9bdc73;
    font-style:normal
}
.expedition-live-board>p {
    padding:16px;
    color:#6f8f9f
}
.expedition-sector-deck {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:7px;
    margin-bottom:8px
}
.expedition-sector-card {
    position:relative;
    border:1px solid #23475e;
    background:linear-gradient(180deg,#071621,#030a11);
    padding:10px;
    overflow:hidden
}
.expedition-sector-card:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 90% 0,#4ec8ff12,transparent 38%);
    pointer-events:none
}
.expedition-sector-card.hostile:before {
    background:radial-gradient(circle at 90% 0,#ff6c3715,transparent 38%)
}
.expedition-sector-card header {
    display:grid;
    grid-template-columns:34px 1fr auto;
    gap:7px;
    align-items:center
}
.expedition-sector-card header .nova-emblem {
    width:31px;
    height:31px;
    margin:0
}
.expedition-sector-card header .nova-emblem b {
    display:none
}
.expedition-sector-card header small {
    font-size:6px;
    color:#6f90a0
}
.expedition-sector-card h3 {
    margin:2px 0;
    color:#d6edf7;
    font-size:11px
}
.expedition-sector-card header>b {
    font:700 8px ui-monospace;
    color:#a9ddf1
}
.sector-threat-meter {
    height:4px;
    background:#102634;
    margin:10px 0
}
.sector-threat-meter i {
    display:block;
    width:var(--sector-progress);
    height:100%;
    background:linear-gradient(90deg,#43cfff,#9f58e5)
}
.expedition-sector-card.hostile .sector-threat-meter i {
    background:linear-gradient(90deg,#f1a54b,#e45555)
}
.sector-stats {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px
}
.sector-stats span {
    padding:5px;
    background:#04111a;
    border:1px solid #143244
}
.sector-stats small {
    display:block;
    font-size:5.5px;
    color:#638394
}
.sector-stats b {
    font-size:7px;
    color:#cce5ef
}
.expedition-sector-card p {
    min-height:55px;
    font-size:7.4px;
    color:#718c9a;
    line-height:1.45
}
.expedition-sector-card footer {
    display:flex;
    gap:6px;
    align-items:center
}
.exploration-report-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px
}
.exploration-report-grid article {
    display:grid;
    grid-template-columns:38px 1fr auto;
    gap:8px;
    align-items:center;
    border:1px solid #21465b;
    background:#04111a;
    padding:8px
}
.exploration-report-grid .nova-emblem {
    width:34px;
    height:34px;
    margin:0
}
.exploration-report-grid .nova-emblem b {
    display:none
}
.exploration-report-grid small {
    display:block;
    color:#658695;
    font-size:6px
}
.exploration-report-grid h3 {
    margin:2px 0;
    font-size:9px
}
.exploration-report-grid b {
    font-size:7px;
    color:#8fdbff
}
.exploration-report-grid p {
    display:flex;
    gap:5px;
    margin:3px 0 0
}
.exploration-report-grid p span {
    font-size:6px;
    color:#79a0b1
}
.contracts-operations-stage {
    display:flex;
    justify-content:space-between;
    align-items:end;
    margin-bottom:8px;
    padding:14px;
    border:1px solid #3a3350;
    background:radial-gradient(circle at 10% 0,#7a3d8d22,transparent 40%),linear-gradient(180deg,#0c1420,#040a11)
}
.contracts-operations-stage h2 {
    margin:4px 0;
    font-size:22px;
    color:#e1c9f2
}
.contracts-operations-stage p {
    margin:0;
    color:#8196a2
}
.contract-command-kpis {
    display:flex;
    gap:5px
}
.contract-command-kpis span {
    min-width:74px;
    padding:7px 10px;
    border:1px solid #273d4d;
    background:#031019;
    text-align:center
}
.contract-command-kpis small {
    display:block;
    font-size:6px;
    color:#718b99
}
.contract-command-kpis b {
    font:800 16px ui-monospace
}
.contract-command-kpis .status-active b {
    color:#6de896
}
.contract-command-kpis .status-offered b {
    color:#e6bb67
}
.exploration-contract-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important
}
.exploration-contract-grid .contract-command-card>header {
    display:grid;
    grid-template-columns:36px 1fr auto;
    gap:8px;
    align-items:center
}
.exploration-contract-grid header .nova-emblem {
    width:34px;
    height:34px;
    margin:0
}
.exploration-contract-grid header .nova-emblem b {
    display:none
}
.contract-reward-strip {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
    padding:7px;
    background:#02090f;
    border-top:1px solid #173348;
    border-bottom:1px solid #173348
}
.contract-reward-strip span {
    padding:4px;
    background:#06131d;
    border:1px solid #173043
}
.contract-reward-strip small {
    display:block;
    color:#6a8492;
    font-size:5px
}
.contract-reward-strip b {
    font-size:7px;
    color:#d0e8f1
}
.contract-danger-copy {
    min-height:32px;
    padding:0 8px;
    color:#8b778d;
    font-size:7px;
    line-height:1.4
}
.arsenal-loadout-stage {
    display:grid;
    grid-template-columns:minmax(0,1fr) 180px;
    gap:8px;
    margin-bottom:8px
}
.arsenal-stage-art {
    position:relative;
    min-height:205px;
    border:1px solid #34415d;
    background:#02070c;
    overflow:hidden
}
.arsenal-stage-art>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover
}
.arsenal-stage-art:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#02070de8,transparent 70%)
}
.arsenal-stage-art>div {
    position:absolute;
    z-index:2;
    left:20px;
    top:42px;
    max-width:470px
}
.arsenal-stage-art h2 {
    font-size:25px;
    margin:4px 0;
    color:#d9eaf4
}
.arsenal-stage-art p {
    color:#8399a6
}
.arsenal-loadout-stage>aside {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border:1px solid #3c3c59;
    background:radial-gradient(circle,#492a5b33,transparent 70%),#050c14
}
.arsenal-loadout-stage aside small {
    font-size:7px;
    color:#887a91
}
.arsenal-loadout-stage aside strong {
    font:800 30px ui-monospace;
    color:#ca87ff
}
.arsenal-loadout-stage aside span {
    color:#70a0b4;
    font-size:7px
}
.arsenal-slot-rack {
    margin-bottom:8px;
    border:1px solid #2d4357;
    background:#030a11
}
.arsenal-slot-rack header {
    padding:8px 10px;
    border-bottom:1px solid #1a3547
}
.arsenal-slot-rack h2 {
    margin:2px 0;
    font-size:12px
}
.arsenal-slot-rack>div {
    display:grid;
    grid-template-columns:repeat(14,minmax(0,1fr));
    gap:2px;
    padding:6px
}
.arsenal-slot-rack article {
    display:grid;
    place-items:center;
    min-height:76px;
    padding:4px;
    border:1px solid #1b394c;
    background:#06131d;
    text-align:center
}
.arsenal-slot-rack article.equipped {
    border-color:#6f4c8d;
    background:linear-gradient(180deg,#161126,#06131d)
}
.arsenal-slot-rack small {
    font-size:5px;
    color:#637e8b
}
.arsenal-slot-rack .nova-emblem {
    width:28px;
    height:28px;
    margin:3px 0
}
.arsenal-slot-rack .nova-emblem b {
    display:none
}
.arsenal-slot-rack article>b {
    font-size:5.5px;
    color:#a7bfca
}
.slot-empty-glyph {
    font-size:22px;
    color:#294353
}
.exploration-arsenal-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))!important
}
.arsenal-item-visual {
    display:grid;
    grid-template-columns:52px 1fr 1fr;
    gap:5px;
    align-items:center;
    padding:8px;
    background:linear-gradient(90deg,#071826,#05101a)
}
.arsenal-item-visual .nova-emblem {
    width:48px;
    height:48px;
    margin:0
}
.arsenal-item-visual .nova-emblem b {
    display:none
}
.arsenal-item-visual>span {
    padding:6px;
    border:1px solid #1b3b4e;
    background:#03101a
}
.arsenal-item-visual small {
    display:block;
    font-size:5px;
    color:#688796
}
.arsenal-item-visual b {
    font:700 11px ui-monospace;
    color:#d5e9f1
}
@media(max-width:1400px) {
    .exploration-command-kpis {
        position:static;
        padding:6px 10px;
        border-top:1px solid #183549
    }
    .discovery-exploration-stage {
        grid-template-columns:minmax(0,1fr) 260px
    }
    .exploration-side-stack {
        grid-column:1/-1;
        grid-template-columns:repeat(3,1fr)
    }
    .expedition-sector-deck {
        grid-template-columns:repeat(3,1fr)
    }
    .arsenal-slot-rack>div {
        grid-template-columns:repeat(7,1fr)
    }

}
@media(max-width:900px) {
    .exploration-command-tabs {
        grid-template-columns:repeat(2,1fr)
    }
    .exploration-command-kpis {
        overflow:auto;
        justify-content:flex-start
    }
    .discovery-exploration-stage,.expedition-operations-stage,.arsenal-loadout-stage {
        grid-template-columns:1fr
    }
    .anomaly-map-canvas {
        min-height:330px
    }
    .anomaly-intel-panel {
        min-height:300px
    }
    .exploration-side-stack {
        grid-template-columns:1fr 1fr 1fr
    }
    .expedition-sector-deck,.exploration-contract-grid,.exploration-arsenal-grid {
        grid-template-columns:repeat(2,1fr)!important
    }
    .exploration-report-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .arsenal-slot-rack>div {
        grid-template-columns:repeat(4,1fr)
    }

}
@media(max-width:600px) {
    .exploration-command-title {
        display:block
    }
    .exploration-command-tabs,.expedition-sector-deck,.exploration-contract-grid,.exploration-arsenal-grid,.exploration-report-grid {
        grid-template-columns:1fr!important
    }
    .discovery-exploration-stage {
        display:block
    }
    .anomaly-intel-panel,.exploration-side-stack {
        margin-top:7px
    }
    .exploration-side-stack {
        display:grid;
        grid-template-columns:1fr
    }
    .anomaly-node {
        min-width:76px
    }
    .anomaly-node b,.anomaly-node small {
        display:none
    }
    .arsenal-slot-rack>div {
        grid-template-columns:repeat(2,1fr)
    }

}
/* v8.4.12 — Orbital Warfare Center I */
.orbital-command-bar {
    position:relative;
    margin:0 0 8px;
    border:1px solid #273d59;
    background:linear-gradient(180deg,#091421,#030911);
    box-shadow:inset 0 1px #5cc8ff18,0 5px 18px #0008;
    overflow:hidden
}
.orbital-command-bar:before {
    content:"";
    position:absolute;
    inset:0;
    background:radial-gradient(circle at 77% -20%,#9055b82b,transparent 34%),linear-gradient(90deg,#0a1930aa,transparent 65%);
    pointer-events:none
}
.orbital-command-title {
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px 8px
}
.orbital-command-title h1 {
    font-size:17px;
    letter-spacing:.04em;
    margin:0;
    color:#e2d3f0
}
.orbital-command-title p {
    margin:2px 0 0;
    color:#738b9c;
    font-size:7px
}
.orbital-command-tabs {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    border-top:1px solid #18344b
}
.orbital-command-tabs a {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:37px;
    border-right:1px solid #173246;
    color:#7796aa;
    text-decoration:none;
    font-size:7px;
    letter-spacing:.06em
}
.orbital-command-tabs a.active {
    color:#e1c9f2;
    background:linear-gradient(180deg,#3c214d77,#091521);
    box-shadow:inset 0 -2px #a16cc3
}
.orbital-command-tabs .nova-emblem {
    width:24px;
    height:24px;
    margin:0
}
.orbital-command-tabs .nova-emblem b {
    display:none
}
.orbital-command-kpis {
    position:absolute;
    right:10px;
    top:9px;
    display:flex;
    gap:4px
}
.orbital-command-kpis span {
    min-width:62px;
    padding:5px 7px;
    border:1px solid #233c50;
    background:#03101ad9;
    text-align:center
}
.orbital-command-kpis small {
    display:block;
    color:#668698;
    font-size:5px
}
.orbital-command-kpis b {
    font:800 12px ui-monospace;
    color:#9fdcf2
}
.orbital-command-kpis .danger b {
    color:#ff6e63
}
.orbital-command-kpis .warning b {
    color:#f5a85f
}
.orbital-warfare-stage {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);
    gap:8px;
    margin-bottom:8px
}
.orbital-moon-theater {
    position:relative;
    min-height:340px;
    border:1px solid #245374;
    background:#01060b;
    overflow:hidden
}
.orbital-moon-theater>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    opacity:.95
}
.orbital-moon-theater:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,#020911a8,transparent 35%,transparent 72%,#02091177),linear-gradient(180deg,#02091133,transparent 50%,#02091199);
    pointer-events:none
}
.orbital-grid {
    position:absolute;
    z-index:1;
    inset:0;
    background-image:linear-gradient(#4cb8e70c 1px,transparent 1px),linear-gradient(90deg,#4cb8e70c 1px,transparent 1px);
    background-size:32px 32px
}
.orbital-core {
    position:absolute;
    z-index:3;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    width:96px;
    height:96px;
    border:1px solid #57c5ef66;
    border-radius:50%;
    background:#04101acc;
    box-shadow:0 0 30px #55c9ff22,inset 0 0 20px #55c9ff12
}
.orbital-core b {
    color:#d9f2fb;
    font-size:11px
}
.orbital-core small {
    color:#79a6b8;
    font-size:6px
}
.orbital-moon-node {
    --x:calc(50% + cos(var(--a))*var(--r));
    position:absolute;
    z-index:4;
    left:calc(50% + cos(var(--a))*var(--r));
    top:calc(50% + sin(var(--a))*var(--r));
    transform:translate(-50%,-50%);
    display:grid;
    grid-template-columns:31px 1fr;
    gap:6px;
    align-items:center;
    min-width:105px;
    padding:5px 7px;
    border:1px solid #315a70;
    background:#04121dcc;
    text-decoration:none
}
.orbital-moon-node .nova-emblem {
    width:30px;
    height:30px;
    margin:0
}
.orbital-moon-node .nova-emblem b {
    display:none
}
.orbital-moon-node>b,.orbital-moon-node>small {
    grid-column:2
}
.orbital-moon-node>b {
    color:#d0e8f2;
    font-size:7px
}
.orbital-moon-node>small {
    color:#7294a3;
    font-size:6px
}
.orbital-moon-node.ready {
    border-color:#4c9b75
}
.orbital-moon-node.cooldown {
    border-color:#8b593e
}
.orbital-focus-panel {
    border:1px solid #343d59;
    background:radial-gradient(circle at 50% 20%,#41285433,transparent 38%),linear-gradient(180deg,#09131d,#03080e);
    padding:13px
}
.orbital-focus-panel h2 {
    font-size:20px;
    margin:5px 0 2px;
    color:#e2d5ee
}
.orbital-focus-panel>b {
    color:#8ab3c5;
    font:700 8px ui-monospace
}
.moon-portrait {
    height:120px;
    display:grid;
    place-items:center
}
.moon-portrait .nova-emblem {
    width:95px;
    height:95px
}
.moon-portrait .nova-emblem b {
    font-size:12px
}
.orbital-focus-kpis {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px
}
.orbital-focus-kpis span {
    padding:7px;
    border:1px solid #21384b;
    background:#04111a
}
.orbital-focus-kpis small {
    display:block;
    font-size:5px;
    color:#668695
}
.orbital-focus-kpis b {
    font:800 11px ui-monospace;
    color:#d0e7ef
}
.orbital-focus-actions {
    display:flex;
    gap:6px;
    margin-top:9px
}
.orbital-war-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:8px
}
.orbital-system-panel {
    border:1px solid #23445a;
    background:linear-gradient(180deg,#07131e,#03090f);
    min-height:215px
}
.orbital-system-panel>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:8px 10px;
    border-bottom:1px solid #18374a
}
.orbital-system-panel>header a {
    font-size:6px;
    color:#77cffa
}
.sensor-scope {
    height:75px;
    display:grid;
    place-items:center;
    position:relative;
    background:radial-gradient(circle,#19486766 0,#071621 30%,transparent 60%)
}
.sensor-scope i {
    position:absolute;
    width:62px;
    height:62px;
    border:1px solid #52c9f066;
    border-radius:50%;
    box-shadow:0 0 20px #4fc8ee22
}
.sensor-scope strong {
    font:800 22px ui-monospace;
    color:#b8e9fa
}
.sensor-scope small {
    position:absolute;
    bottom:8px;
    font-size:5px;
    color:#708c9b
}
.teleport-bridge {
    height:75px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    font-size:25px;
    color:#75d9ff;
    background:radial-gradient(circle,#3b28536a,transparent 55%)
}
.teleport-bridge i {
    font:700 16px ui-monospace;
    color:#ad7cce
}
.missile-rack {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:3px;
    padding:7px
}
.missile-rack span {
    padding:9px 5px;
    border:1px solid #3a332f;
    background:#120c08;
    text-align:center
}
.missile-rack small {
    display:block;
    font-size:5px;
    color:#8b7765
}
.missile-rack b {
    font:800 14px ui-monospace;
    color:#f2a45c
}
.orbital-list {
    padding:5px
}
.orbital-list>a,.orbital-list>div {
    display:grid;
    grid-template-columns:1fr auto;
    gap:3px;
    padding:6px;
    border-bottom:1px solid #142c3a;
    text-decoration:none
}
.orbital-list span {
    font-size:6.5px;
    color:#a7c2cd
}
.orbital-list b {
    font-size:6px;
    color:#7ed7f7
}
.orbital-list small {
    grid-column:1/-1;
    color:#5f7c89;
    font-size:5.5px
}
.orbital-list p {
    color:#668695;
    font-size:7px;
    padding:10px
}
.orbital-operations-deck {
    border:1px solid #25465c;
    background:#030b12
}
.orbital-operations-deck>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 11px;
    border-bottom:1px solid #173549
}
.orbital-operations-deck h2 {
    font-size:12px;
    margin:2px 0
}
.orbital-operations-deck>div {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
    padding:6px
}
.orbital-operations-deck article {
    display:grid;
    grid-template-columns:34px 1fr auto;
    gap:7px;
    align-items:center;
    padding:7px;
    border:1px solid #17374a;
    background:#06131d
}
.orbital-operations-deck .nova-emblem {
    width:32px;
    height:32px;
    margin:0
}
.orbital-operations-deck .nova-emblem b {
    display:none
}
.orbital-operations-deck article div b {
    display:block;
    font-size:7px;
    color:#d0e8f1
}
.orbital-operations-deck article small {
    display:block;
    font-size:5.5px;
    color:#658391
}
.orbital-operations-deck article>strong {
    font:700 8px ui-monospace;
    color:#9adff7
}
.orbital-operations-deck time {
    grid-column:2/-1;
    font:700 7px ui-monospace;
    color:#7ed9fb
}
.moon-command-stage {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding:14px;
    margin-bottom:8px;
    border:1px solid #34435d;
    background:radial-gradient(circle at 80% 0,#4d315c33,transparent 36%),linear-gradient(180deg,#0a1520,#040a11)
}
.moon-command-copy h2 {
    font-size:22px;
    margin:4px 0
}
.moon-command-copy p {
    color:#829aa6
}
.moon-command-stats {
    display:flex;
    gap:5px
}
.moon-command-stats span {
    min-width:78px;
    padding:7px;
    border:1px solid #263e51;
    background:#041019;
    text-align:center
}
.moon-command-stats small {
    display:block;
    font-size:5px;
    color:#6b8795
}
.moon-command-stats b {
    font:800 15px ui-monospace;
    color:#b88cda
}
.moon-platform-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-bottom:8px
}
.moon-platform-card,.moon-platform-empty {
    border:1px solid #29485d;
    background:linear-gradient(180deg,#071620,#030a10);
    overflow:hidden
}
.moon-platform-art {
    position:relative;
    height:110px;
    display:grid;
    place-items:center;
    background:radial-gradient(circle,#263c4c 0,#08131b 45%,#02070c 80%)
}
.moon-platform-art .nova-emblem {
    width:84px;
    height:84px
}
.moon-platform-art i {
    position:absolute;
    width:130px;
    height:28px;
    border:1px solid #64c9ec44;
    border-radius:50%;
    transform:rotate(-9deg)
}
.moon-platform-card>header {
    display:flex;
    justify-content:space-between;
    padding:9px;
    border-top:1px solid #244152;
    border-bottom:1px solid #1a3545
}
.moon-platform-card h3 {
    margin:2px 0;
    font-size:11px
}
.moon-platform-card header small,.moon-platform-card header span {
    display:block;
    color:#668795;
    font-size:5.5px
}
.moon-platform-card header>b {
    align-self:center;
    padding:4px 6px;
    border:1px solid #31533f;
    color:#76db9b;
    font-size:6px
}
.moon-platform-card.cooldown header>b {
    border-color:#6f4634;
    color:#e99a70
}
.moon-platform-kpis {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:3px;
    padding:6px
}
.moon-platform-kpis span {
    padding:6px;
    border:1px solid #173648;
    background:#04111a;
    text-align:center
}
.moon-platform-kpis small {
    display:block;
    font-size:5px;
    color:#63818e
}
.moon-platform-kpis b {
    font:700 9px ui-monospace
}
.moon-platform-card footer {
    display:flex;
    border-top:1px solid #173648
}
.moon-platform-card footer a {
    flex:1;
    padding:8px;
    text-align:center;
    text-decoration:none;
    font-size:6px;
    color:#83cfee
}
.moon-platform-card footer a+a {
    border-left:1px solid #173648
}
.moon-platform-empty {
    grid-column:1/-1;
    padding:35px;
    text-align:center
}
.moon-platform-empty>span {
    font-size:50px;
    color:#375264
}
.orbital-console-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}
.orbital-console {
    padding:12px;
    border:1px solid #264a5f;
    background:#041019
}
.orbital-console h2 {
    font-size:14px
}
.orbital-console label {
    display:grid;
    gap:4px;
    color:#7694a2;
    font-size:6px
}
.teleport-selectors {
    display:grid;
    grid-template-columns:1fr 30px 1fr;
    align-items:center;
    gap:6px
}
.teleport-selectors>span {
    text-align:center;
    color:#9b73bc
}
.orbital-subpage-head,.strategic-command-hero {
    border-color:#39415b!important;
    box-shadow:inset 0 1px #ae7fc522!important
}
@media(max-width:1400px) {
    .orbital-command-kpis {
        position:static;
        padding:6px 10px;
        border-top:1px solid #183549
    }
    .orbital-war-grid {
        grid-template-columns:1fr 1fr
    }
    .orbital-operations-deck>div {
        grid-template-columns:repeat(2,1fr)
    }
    .moon-platform-grid {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:900px) {
    .orbital-command-tabs {
        grid-template-columns:repeat(3,1fr)
    }
    .orbital-warfare-stage,.orbital-console-grid {
        grid-template-columns:1fr
    }
    .orbital-war-grid {
        grid-template-columns:1fr
    }
    .orbital-command-kpis {
        overflow:auto;
        justify-content:flex-start
    }
    .moon-platform-grid {
        grid-template-columns:1fr
    }
    .orbital-operations-deck>div {
        grid-template-columns:1fr 1fr
    }

}
@media(max-width:600px) {
    .orbital-command-tabs {
        grid-template-columns:1fr 1fr
    }
    .orbital-moon-theater {
        min-height:300px
    }
    .orbital-moon-node b,.orbital-moon-node small {
        display:none
    }
    .orbital-moon-node {
        min-width:40px;
        grid-template-columns:1fr
    }
    .moon-command-stage {
        display:block
    }
    .moon-command-stats {
        margin-top:10px
    }
    .moon-platform-kpis {
        grid-template-columns:1fr 1fr
    }
    .orbital-operations-deck>div {
        grid-template-columns:1fr
    }
    .teleport-selectors {
        grid-template-columns:1fr
    }

}

/* v8.4.13 — Technology & Evolution Nexus I */
.nexus-head {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:10px 13px;
    border:1px solid #26344e;
    background:linear-gradient(90deg,#101225,#07131f 55%,#070b15);
    box-shadow:inset 0 1px #b36cff14
}
.nexus-head h1 {
    margin:2px 0;
    font-size:21px;
    color:#eadbff
}
.nexus-head p {
    margin:0;
    color:#8297aa;
    font-size:9px
}
.nexus-progress {
    min-width:180px;
    display:grid;
    gap:3px;
    text-align:right
}
.nexus-progress small {
    font-size:7px;
    color:#a790bd;
    letter-spacing:.08em
}
.nexus-progress strong {
    font:800 18px ui-monospace,monospace;
    color:#d7b7ff
}
.nexus-progress>span {
    height:4px;
    background:#121a2b;
    overflow:hidden
}
.nexus-progress i {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#4fd5ff,#a260ff)
}
.nexus-tabs {
    display:flex;
    gap:3px;
    padding:5px 6px;
    border:1px solid #1c3247;
    border-top:0;
    background:#030b13
}
.nexus-tabs a {
    padding:6px 12px;
    border:1px solid #173349;
    background:#07131e;
    color:#7899ad;
    font:700 8px ui-monospace,monospace;
    letter-spacing:.05em
}
.nexus-tabs a.active {
    color:#e6d9ff;
    border-color:#694da0;
    background:linear-gradient(180deg,#261b3d,#100f21);
    box-shadow:inset 0 -2px #9d68e8
}
.nexus-layout {
    display:grid;
    grid-template-columns:minmax(0,1.85fr) minmax(330px,.72fr);
    gap:7px;
    margin-top:7px
}
.nexus-main,.nexus-side {
    display:grid;
    gap:7px;
    align-content:start
}
.nexus-theater {
    position:relative;
    height:390px;
    overflow:hidden;
    border:1px solid #263d5b;
    background:radial-gradient(circle at 50% 50%,#34205d66 0 8%,transparent 24%),radial-gradient(circle at 28% 20%,#16497966,transparent 25%),linear-gradient(#030813,#040913);
    box-shadow:inset 0 0 70px #000
}
.nexus-theater:before,.nexus-theater:after {
    content:"";
    position:absolute;
    inset:12%;
    border:1px solid #4f7fa622;
    border-radius:50%;
    transform:scaleY(.55)
}
.nexus-theater:after {
    inset:25%;
    border-color:#9b65d633
}
.nexus-nebula {
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle,#8de9ff 0 1px,transparent 1.4px),radial-gradient(circle,#c387ff 0 1px,transparent 1.3px);
    background-size:73px 67px,111px 93px;
    background-position:10px 20px,47px 8px;
    opacity:.28
}
.nexus-core {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:grid;
    place-items:center;
    width:120px;
    height:120px;
    border:1px solid #8f62c7;
    background:radial-gradient(circle,#4a2c7555,#0b1020 68%);
    clip-path:polygon(50% 0,92% 24%,92% 76%,50% 100%,8% 76%,8% 24%);
    z-index:3
}
.nexus-core .nova-emblem {
    width:54px;
    height:54px
}
.nexus-core b {
    font-size:10px;
    color:#e7ceff
}
.nexus-core small {
    font-size:6px;
    color:#957daf
}
.nexus-orbit-node {
    --a:0deg;
    --r:36%;
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%) rotate(var(--a)) translateX(var(--r)) rotate(calc(-1*var(--a)));
    width:96px;
    display:grid;
    justify-items:center;
    gap:2px;
    color:#aac7d7;
    text-align:center;
    z-index:4
}
.nexus-orbit-node:before {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:70px;
    height:1px;
    transform:translate(-100%,-50%);
    background:linear-gradient(90deg,transparent,#386b8b55)
}
.nexus-orbit-node .nova-emblem {
    width:45px;
    height:45px;
    background:#071622
}
.nexus-orbit-node b {
    max-width:94px;
    font-size:7px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.nexus-orbit-node small {
    font-size:6px
}
.nexus-orbit-node.status-fulfilled .nova-emblem {
    border-color:#2f785d;
    box-shadow:0 0 18px #44d99a22
}
.nexus-orbit-node.status-available .nova-emblem {
    border-color:#3c8cba
}
.nexus-orbit-node.status-next .nova-emblem {
    border-color:#9a6ad0;
    box-shadow:0 0 22px #a762ff33
}
.nexus-orbit-node.status-blocked {
    opacity:.45
}
.nexus-tree {
    padding:8px!important
}
.nexus-tree>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    border-bottom:1px solid #172f43;
    padding-bottom:6px
}
.nexus-tree h2 {
    margin:1px 0;
    font-size:14px
}
.nexus-domain {
    padding-top:7px
}
.nexus-domain h3 {
    margin:0 0 4px;
    font-size:9px;
    color:#799bb0;
    text-transform:uppercase;
    letter-spacing:.08em
}
.nexus-node-row {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px
}
.nexus-node {
    min-width:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:5px;
    padding:4px;
    border:1px solid #173449;
    background:#06131f;
    color:#9cb9c8
}
.nexus-node .nova-emblem {
    width:32px;
    height:32px
}
.nexus-node b {
    display:block;
    font-size:7px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.nexus-node small {
    font-size:6px;
    color:#638397
}
.nexus-node>i {
    font:700 6px ui-monospace,monospace;
    color:#d098ff
}
.nexus-node.status-next {
    border-color:#654797;
    background:#160f24
}
.nexus-node.status-available {
    border-color:#265f7d
}
.nexus-node.status-fulfilled {
    border-color:#245743
}
.nexus-node.status-blocked {
    opacity:.45
}
.nexus-side>.panel {
    margin:0!important;
    padding:8px!important;
    border-radius:2px!important
}
.nexus-inspector {
    text-align:center;
    background:linear-gradient(180deg,#100d1c,#06111b)!important
}
.nexus-focus-art {
    display:grid;
    place-items:center;
    height:86px;
    background:radial-gradient(circle,#6c3ba333,transparent 60%)
}
.nexus-focus-art .nova-emblem {
    width:72px;
    height:72px
}
.nexus-inspector h2 {
    margin:3px 0;
    font-size:15px
}
.nexus-state {
    display:flex;
    justify-content:center;
    gap:7px;
    align-items:center
}
.nexus-requirements {
    display:grid;
    gap:3px;
    margin-top:7px;
    text-align:left
}
.nexus-requirements>small {
    font-size:6px;
    color:#718d9f
}
.nexus-requirements>a {
    display:grid;
    grid-template-columns:29px minmax(0,1fr);
    gap:5px;
    align-items:center;
    padding:3px;
    border:1px solid #18394c;
    background:#05131e
}
.nexus-requirements .nova-emblem {
    width:27px;
    height:27px
}
.nexus-requirements span {
    font-size:7px
}
.nexus-requirements b {
    float:right
}
.nexus-requirements .ok b {
    color:#61daa2
}
.nexus-requirements .missing b {
    color:#ff849a
}
.nexus-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    margin-top:7px
}
.nexus-queue header,.nexus-artifacts header,.nexus-modern header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-bottom:1px solid #173247;
    padding-bottom:5px
}
.nexus-queue header a,.nexus-artifacts header a {
    font-size:7px
}
.nexus-queue>div {
    display:grid;
    grid-template-columns:31px 1fr auto;
    align-items:center;
    gap:5px;
    padding:4px 0;
    border-bottom:1px solid #11293a
}
.nexus-queue .nova-emblem,.nexus-artifacts .nova-emblem,.nexus-modern .nova-emblem {
    width:29px;
    height:29px
}
.nexus-queue b {
    font-size:7px
}
.nexus-queue time {
    font:700 7px ui-monospace,monospace;
    color:#71d9ff
}
.nexus-artifacts article {
    display:grid;
    grid-template-columns:31px minmax(0,1fr) auto;
    align-items:center;
    gap:5px;
    padding:4px 0;
    border-bottom:1px solid #14283b
}
.nexus-artifacts article.equipped {
    background:#0b1d1955
}
.nexus-artifacts b,.nexus-modern b {
    display:block;
    font-size:7px
}
.nexus-artifacts small,.nexus-modern small {
    font-size:6px;
    color:#71899a
}
.nexus-artifacts em {
    font:700 6px ui-monospace,monospace;
    color:#67dda3
}
.nexus-modern article {
    display:grid;
    grid-template-columns:31px minmax(0,1fr) auto;
    gap:5px;
    align-items:center;
    padding:5px 0;
    border-bottom:1px solid #14283b
}
.nexus-modern article i {
    display:block;
    height:3px;
    background:#101d2a;
    margin-top:3px
}
.nexus-modern article i u {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#4b8dca,#9e5ee2)
}
.nexus-modern article>strong {
    font:800 7px ui-monospace,monospace;
    color:#d5b4ff
}
.nexus-effects>div {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
    margin-top:5px
}
.nexus-effects article {
    padding:4px;
    border:1px solid #172f42;
    background:#05121d;
    min-width:0
}
.nexus-effects b {
    display:block;
    font-size:6px;
    color:#a78bcc
}
.nexus-effects code {
    display:block;
    font-size:6px;
    color:#7898aa;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.nexus-codex>div {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:3px;
    margin-top:5px
}
.nexus-codex span {
    display:grid;
    justify-items:center;
    gap:2px;
    padding:4px;
    border:1px solid #183449;
    background:#06131f
}
.nexus-codex .nova-emblem {
    width:26px;
    height:26px
}
.nexus-codex b {
    font-size:5px
}
.nexus-codex small {
    font:800 8px ui-monospace,monospace;
    color:#8edfff
}
.nexus-subhead {
    margin-top:6px
}
.modernization-console {
    display:grid;
    grid-template-columns:270px 1fr;
    gap:7px;
    margin-top:7px
}
.modernization-launch {
    display:grid;
    gap:7px;
    align-content:start
}
.modernization-launch h2 {
    margin:0
}
.modernization-launch label {
    display:grid;
    gap:3px;
    font-size:7px;
    color:#7897aa
}
.nexus-mod-currency {
    text-align:right
}
.nexus-mod-currency small {
    display:block
}
.nexus-mod-currency strong {
    font:800 22px ui-monospace,monospace;
    color:#d2a8ff
}
.modernization-programs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
}
.modernization-program {
    display:grid;
    grid-template-columns:75px 1fr;
    gap:6px
}
.modernization-unit-art {
    grid-row:1/5;
    display:grid;
    place-items:center;
    background:radial-gradient(circle,#462a6b33,transparent 65%)
}
.modernization-unit-art .nova-emblem {
    width:65px;
    height:65px
}
.modernization-program header {
    display:flex;
    justify-content:space-between;
    align-items:start
}
.modernization-program h3 {
    margin:1px 0;
    font-size:10px
}
.modernization-branch {
    grid-column:2;
    display:grid;
    grid-template-columns:45px 1fr 22px;
    align-items:center;
    gap:4px;
    font-size:6px
}
.modernization-branch i {
    height:4px;
    background:#101d2a
}
.modernization-branch u {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#4cb8e8,#985bd3)
}
/* D18: dead responsive legacy retired by D18. */
@media(max-width:800px) {
    .nexus-head {
        align-items:flex-start;
        flex-direction:column
    }
    .nexus-progress {
        width:100%;
        text-align:left
    }
    .nexus-theater {
        height:330px
    }
    .nexus-orbit-node {
        width:74px
    }
    .nexus-orbit-node b {
        max-width:72px
    }
    .nexus-node-row {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .nexus-side {
        grid-template-columns:1fr
    }
    .modernization-console {
        grid-template-columns:1fr
    }
    .modernization-programs {
        grid-template-columns:1fr
    }
    .nexus-tabs {
        overflow:auto
    }

}

/* v8.4.14 — Command Objectives & Prestige Center I */
.prestige-nav {
    display:flex;
    gap:3px;
    margin:0 0 7px;
    padding:5px;
    border:1px solid #25344a;
    background:linear-gradient(180deg,#090d18,#040910);
    overflow:auto
}
.prestige-nav a {
    padding:7px 12px;
    border:1px solid #1b3145;
    background:#06121d;
    color:#7698aa;
    font:700 8px ui-monospace,monospace;
    letter-spacing:.06em;
    white-space:nowrap
}
.prestige-nav a:hover,.prestige-nav a.active {
    color:#f0dcff;
    border-color:#684b91;
    background:linear-gradient(180deg,#241831,#0c1321);
    box-shadow:inset 0 -2px #a45de2
}
.prestige-center {
    display:grid;
    gap:7px
}
.prestige-hero,.prestige-subhero {
    position:relative;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    padding:13px 16px;
    border:1px solid #2b3f58;
    background:radial-gradient(circle at 15% 20%,#5e2d7f28,transparent 34%),linear-gradient(90deg,#0d1320,#07101a 58%,#050911);
    overflow:hidden
}
.prestige-hero:after,.prestige-subhero:after {
    content:"";
    position:absolute;
    right:-60px;
    top:-90px;
    width:260px;
    height:260px;
    border:1px solid #9b63d722;
    border-radius:50%;
    box-shadow:0 0 70px #6d37a31f
}
.prestige-hero h1,.prestige-subhero h1 {
    margin:2px 0;
    font-size:21px;
    color:#eadcff
}
.prestige-hero p,.prestige-subhero p {
    margin:3px 0 0;
    color:#7f98aa;
    font-size:9px
}
.prestige-rating {
    position:relative;
    z-index:2;
    min-width:180px;
    text-align:right
}
.prestige-rating small {
    display:block;
    color:#9c7fbb;
    font-size:7px
}
.prestige-rating b {
    display:block;
    font:900 24px ui-monospace,monospace;
    color:#f0caff
}
.prestige-rating span {
    color:#75dfff;
    font-size:8px
}
.prestige-grid {
    display:grid;
    grid-template-columns:minmax(0,1.75fr) minmax(300px,.55fr);
    gap:7px
}
.prestige-main,.prestige-side {
    display:grid;
    gap:7px;
    align-content:start
}
.campaign-stage {
    display:grid;
    grid-template-columns:minmax(0,1fr) 220px;
    gap:7px
}
.campaign-art {
    position:relative;
    min-height:250px;
    border:1px solid #344366;
    background:radial-gradient(circle at 70% 35%,#613a8b55,transparent 18%),radial-gradient(circle at 20% 65%,#124b6d55,transparent 24%),linear-gradient(135deg,#050b15,#0d1222);
    overflow:hidden
}
.campaign-art:before {
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle,#c5efff 0 1px,transparent 1.3px);
    background-size:68px 57px;
    opacity:.22
}
.campaign-orbit {
    position:absolute;
    right:5%;
    top:9%;
    width:48%;
    height:78%;
    border:1px solid #5d79a333;
    border-radius:50%;
    transform:rotate(-12deg)
}
.campaign-orbit i {
    position:absolute;
    border:1px solid #6b8aae22;
    border-radius:50%;
    inset:14%
}
.campaign-orbit i:nth-child(2) {
    inset:28%;
    border-color:#9463c433
}
.campaign-orbit i:nth-child(3) {
    inset:40%;
    border-color:#d08eff44
}
.campaign-orbit span {
    position:absolute;
    left:50%;
    top:50%;
    width:58px;
    height:58px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#b7e9ff,#315d8d 38%,#141c34 70%);
    box-shadow:0 0 50px #4ba7ff55
}
.campaign-copy {
    position:relative;
    z-index:2;
    max-width:58%;
    padding:24px
}
.campaign-copy small {
    color:#d08fff;
    font:700 7px ui-monospace
}
.campaign-copy h2 {
    margin:4px 0 8px;
    font-size:22px;
    color:#f0e3ff
}
.campaign-copy p {
    min-height:48px;
    color:#8ca2b0;
    font-size:9px;
    line-height:1.5
}
.campaign-progress,.objective-progress {
    height:5px;
    background:#142130;
    overflow:hidden
}
.campaign-progress i,.objective-progress i {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#6d48b4,#ca63df)
}
.campaign-kpis {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin-top:10px
}
.campaign-kpis span {
    padding:7px;
    border:1px solid #263a52;
    background:#06111bdd
}
.campaign-kpis b {
    display:block;
    color:#d8b6ff;
    font:800 12px ui-monospace
}
.campaign-kpis span {
    color:#68899b;
    font-size:6px
}
.campaign-next {
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:15px;
    border:1px solid #473656;
    background:linear-gradient(180deg,#171124,#080d16)
}
.campaign-next .nova-emblem {
    width:78px;
    height:78px
}
.campaign-next small {
    margin-top:10px;
    color:#9c78b8;
    font-size:7px
}
.campaign-next h3 {
    margin:4px 0 12px;
    color:#e8d7f6;
    font-size:14px
}
.prestige-section {
    border:1px solid #24384d;
    background:#050d16;
    padding:9px
}
.objective-card-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
}
.objective-card {
    display:grid;
    gap:7px;
    padding:8px;
    border:1px solid #203a50;
    background:linear-gradient(180deg,#071722,#040a11)
}
.objective-card.ready {
    border-color:#7f5f2c;
    box-shadow:inset 0 0 24px #b17e1d12
}
.objective-card.claimed {
    border-color:#265b4b
}
.objective-card header {
    display:grid;
    grid-template-columns:38px 1fr auto;
    gap:6px;
    align-items:center
}
.objective-card .nova-emblem {
    width:36px;
    height:36px
}
.objective-card header small {
    font-size:6px;
    color:#6e8d9d
}
.objective-card h3 {
    margin:2px 0;
    font-size:9px
}
.objective-card header>b {
    font:800 8px ui-monospace;
    color:#c99bf1
}
.objective-card p {
    margin:0;
    color:#7896a5;
    font-size:7px
}
.objective-card footer {
    display:flex;
    justify-content:flex-end
}
.objective-card footer form {
    margin:0
}
.objective-card footer button,.objective-card footer a {
    font-size:7px
}
.medal-strip {
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:5px
}
.prestige-medal {
    display:grid;
    justify-items:center;
    gap:4px;
    padding:7px;
    border:1px solid #25384d;
    background:radial-gradient(circle at 50% 25%,#72438c18,transparent 45%),#06101a;
    text-align:center
}
.prestige-medal.complete {
    border-color:#745d2f;
    background:radial-gradient(circle at 50% 20%,#a87b2a22,transparent 50%),#071018
}
.medal-emblem .nova-emblem {
    width:50px;
    height:50px
}
.prestige-medal h3 {
    margin:0;
    font-size:7px;
    min-height:17px
}
.prestige-medal>div {
    width:100%;
    height:3px;
    background:#132333
}
.prestige-medal>div i {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#496ea8,#b060d5)
}
.prestige-medal small {
    font-size:6px;
    color:#7292a2
}
.prestige-board {
    border:1px solid #273c52;
    background:linear-gradient(180deg,#07131e,#030910);
    padding:9px
}
.prestige-board>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    border-bottom:1px solid #173247;
    padding-bottom:6px
}
.prestige-board h2 {
    margin:2px 0;
    font-size:13px
}
.tournament-rank {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:3px 10px;
    align-items:center;
    padding:10px 0
}
.tournament-rank>b {
    grid-row:1/3;
    font:900 28px ui-monospace;
    color:#d8b1ff
}
.tournament-rank span {
    font-size:8px;
    color:#85a2b1
}
.tournament-rank time {
    font:700 8px ui-monospace;
    color:#69d9ff
}
.tournament-board ol {
    list-style:none;
    padding:0;
    margin:0 0 8px
}
.tournament-board li,.ranking-ledger article {
    display:grid;
    grid-template-columns:34px 1fr auto;
    gap:6px;
    padding:6px;
    border-bottom:1px solid #142c3c
}
.tournament-board li.self,.ranking-ledger article.self {
    background:#132239;
    border-left:2px solid #a265df
}
.tournament-board li b,.ranking-ledger b {
    color:#bd8fe1
}
.tournament-board li span,.ranking-ledger span {
    font-size:8px
}
.tournament-board li strong,.ranking-ledger strong {
    font:700 8px ui-monospace;
    color:#9fdff4
}
.season-rank {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:4px;
    padding:8px 0
}
.season-rank span {
    padding:6px;
    border:1px solid #183347;
    background:#04111b
}
.season-rank small {
    display:block;
    color:#668797;
    font-size:6px
}
.season-rank b {
    font:800 14px ui-monospace;
    color:#d7b3fa
}
.season-tracks {
    display:grid;
    gap:3px;
    margin-bottom:8px
}
.season-tracks span {
    display:flex;
    justify-content:space-between;
    padding:5px;
    border-bottom:1px solid #132d3d;
    font-size:6px
}
.season-tracks em {
    font-style:normal;
    color:#70d9fb
}
.hall-preview article {
    display:grid;
    grid-template-columns:32px 1fr auto;
    gap:6px;
    align-items:center;
    padding:5px 0;
    border-bottom:1px solid #142c3d
}
.hall-preview .nova-emblem {
    width:30px;
    height:30px
}
.hall-preview small {
    display:block;
    color:#9a7eb3;
    font-size:5.5px
}
.hall-preview b {
    font-size:7px
}
.hall-preview strong {
    font:700 7px ui-monospace;
    color:#e0bcff
}
.daily-ops-hero,.tournament-hero,.hall-hero {
    margin-bottom:7px
}
.daily-streak-core {
    text-align:center;
    min-width:130px
}
.daily-streak-core small {
    display:block;
    font-size:6px;
    color:#9b7ab7
}
.daily-streak-core b {
    font:900 31px ui-monospace;
    color:#e1b7ff
}
.daily-streak-core span {
    display:block;
    font-size:7px;
    color:#7292a3
}
.daily-reward-console {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 12px;
    margin-bottom:7px;
    border:1px solid #55442d;
    background:linear-gradient(90deg,#1b1610,#071018)
}
.reward-cache {
    display:flex;
    gap:9px;
    align-items:center
}
.reward-cache .nova-emblem {
    width:48px;
    height:48px
}
.reward-cache small {
    color:#d4a85a;
    font-size:6px
}
.reward-cache h2 {
    margin:2px 0;
    font-size:11px
}
.daily-objective-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.tournament-trophy,.hall-laurel {
    font-size:48px;
    color:#d3a45b;
    filter:drop-shadow(0 0 18px #c58a3055)
}
.tournament-command-grid {
    display:grid;
    grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);
    gap:7px
}
.tournament-podium {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
    align-items:end;
    padding:14px;
    border:1px solid #3b3450;
    background:radial-gradient(circle at 50% 20%,#66417c33,transparent 42%),#070d16
}
.tournament-podium article {
    text-align:center;
    padding:12px 8px;
    border:1px solid #284055;
    background:#07131e
}
.tournament-podium .place-1 {
    transform:translateY(-10px);
    border-color:#8c6f34
}
.tournament-podium article>span {
    color:#d6aa52;
    font:900 16px ui-monospace
}
.podium-medal .nova-emblem {
    width:72px;
    height:72px
}
.tournament-podium h2 {
    font-size:12px
}
.tournament-podium article>b {
    display:block;
    font:900 17px ui-monospace;
    color:#d5b2fb
}
.tournament-podium article small {
    font-size:6px
}
.tournament-ledger .ranking-ledger {
    max-height:560px;
    overflow:auto
}
.hall-season-stack {
    display:grid;
    gap:7px
}
.hall-season {
    border:1px solid #35405a;
    background:#050b14;
    padding:9px
}
.hall-season>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding:5px 3px 9px;
    border-bottom:1px solid #1b3347
}
.hall-season h2 {
    margin:2px 0;
    font-size:15px
}
.hall-season time {
    font:700 7px ui-monospace;
    color:#6f98aa
}
.hall-trophy-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    padding-top:7px
}
.hall-trophy {
    display:grid;
    grid-template-columns:48px 1fr auto;
    gap:8px;
    align-items:center;
    padding:8px;
    border:1px solid #21384d;
    background:linear-gradient(180deg,#07131e,#040a11)
}
.hall-trophy.rank-1 {
    border-color:#7c6233;
    background:linear-gradient(180deg,#18130d,#071018)
}
.hall-medal .nova-emblem {
    width:46px;
    height:46px
}
.hall-trophy small {
    font-size:6px;
    color:#b08cbd
}
.hall-trophy h3 {
    margin:2px 0;
    font-size:9px
}
.hall-trophy b {
    font:800 11px ui-monospace;
    color:#e1baf8
}
.hall-trophy p {
    margin:2px 0;
    font-size:6px;
    color:#6d8897
}
.empty-hall {
    text-align:center;
    padding:40px
}
@media(max-width:1250px) {
    .prestige-grid {
        grid-template-columns:1fr
    }
    .prestige-side {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .objective-card-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .medal-strip {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }
    .daily-objective-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .hall-trophy-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:820px) {
    .prestige-side {
        grid-template-columns:1fr
    }
    .campaign-stage,.tournament-command-grid {
        grid-template-columns:1fr
    }
    .campaign-copy {
        max-width:100%;
        padding:16px
    }
    .campaign-orbit {
        opacity:.35
    }
    .objective-card-grid,.daily-objective-grid,.hall-trophy-grid {
        grid-template-columns:1fr
    }
    .medal-strip {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .tournament-podium {
        grid-template-columns:1fr
    }
    .tournament-podium .place-1 {
        transform:none
    }
    .prestige-hero,.prestige-subhero {
        align-items:flex-start;
        flex-direction:column
    }
    .prestige-rating {
        text-align:left
    }

}

/* v8.4.15 — Galactic Rankings & War Records Center I */
.war-records-hero {
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:14px;
    padding:14px 16px;
    border:1px solid #30415b;
    background:radial-gradient(circle at 82% 15%,#6f412b33,transparent 24%),radial-gradient(circle at 18% 55%,#293c6c33,transparent 32%),linear-gradient(120deg,#07111c,#090b13);
    position:relative;
    overflow:hidden
}
.war-records-hero:after {
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle,#d7ecff 0 1px,transparent 1.4px);
    background-size:93px 71px;
    opacity:.08
}
.war-records-hero>div {
    position:relative;
    z-index:1
}
.war-records-hero h1 {
    margin:2px 0;
    font-size:24px;
    color:#e5c3ff
}
.war-records-hero p {
    max-width:760px;
    margin:4px 0;
    color:#8ca1b3;
    font-size:9px
}
.war-records-self {
    text-align:right;
    min-width:160px
}
.war-records-self small {
    display:block;
    color:#8e789f;
    font-size:6px
}
.war-records-self b {
    display:block;
    font:900 30px ui-monospace,monospace;
    color:#d4a65b
}
.war-records-self strong {
    font:800 10px ui-monospace;
    color:#85dfff
}
.war-records-nav {
    display:flex;
    gap:4px;
    margin:7px 0;
    padding:5px;
    border:1px solid #23394c;
    background:#050d15
}
.war-records-nav a {
    padding:6px 10px;
    border:1px solid #20384d;
    background:#07131e;
    color:#89a8b8;
    font:700 7px ui-monospace;
    text-transform:uppercase
}
.war-records-nav a:hover {
    border-color:#7b5a8f;
    color:#e1baf8;
    background:#111327
}
.war-lore {
    display:grid;
    grid-template-columns:42px 1fr;
    gap:9px;
    align-items:center;
    padding:9px 12px;
    margin-bottom:7px;
    border:1px solid #493e36;
    background:linear-gradient(90deg,#17120d,#07101a 45%,#050b12)
}
.war-lore-sigil {
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    border:1px solid #8d6a37;
    color:#e6b55b;
    font-size:20px;
    transform:rotate(45deg)
}
.war-lore-sigil::first-letter {
    transform:rotate(-45deg)
}
.war-lore span {
    color:#d09e54;
    font:700 6px ui-monospace
}
.war-lore p {
    margin:2px 0;
    color:#9e9a93;
    font-size:8px;
    line-height:1.45
}
.war-lore small {
    color:#665e59;
    font-size:6px
}
.war-lore-compact {
    margin:7px 0
}
.war-records-grid {
    display:grid;
    grid-template-columns:minmax(0,1.55fr) minmax(300px,.45fr);
    gap:7px
}
.war-records-main,.war-records-side {
    display:grid;
    gap:7px;
    align-content:start
}
.ranking-command-board>header,.alliance-power-board>header,.battle-chronicle-preview>header,.global-records>header,.commanders-legend>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    padding-bottom:6px;
    border-bottom:1px solid #173146
}
.ranking-command-ledger article {
    display:grid;
    grid-template-columns:34px minmax(0,1fr) 90px 120px;
    gap:7px;
    align-items:center;
    padding:6px;
    border-bottom:1px solid #132b3b
}
.ranking-command-ledger article.self {
    background:linear-gradient(90deg,#3b2a142c,#0b1a29);
    border-left:2px solid #d29a45
}
.ranking-command-ledger b {
    color:#caa05c
}
.ranking-command-ledger a {
    font-size:9px
}
.ranking-command-ledger span {
    font-size:7px;
    color:#668797
}
.ranking-command-ledger strong {
    font:800 9px ui-monospace;
    color:#91daf1;
    text-align:right
}
.ranking-category-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px
}
.ranking-category {
    padding:9px;
    border-top:2px solid #365b78
}
.ranking-category.type-combat {
    border-top-color:#9b4b42
}
.ranking-category.type-economy {
    border-top-color:#708a4b
}
.ranking-category.type-discovery {
    border-top-color:#7a4c9b
}
.ranking-category>span {
    color:#7796a7;
    font-size:6px
}
.ranking-category>b {
    display:block;
    font:900 23px ui-monospace;
    color:#e0b8fb
}
.ranking-category>small {
    font-size:6px;
    color:#5e7d8f
}
.ranking-category footer {
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px;
    margin-top:7px;
    padding-top:6px;
    border-top:1px solid #173044
}
.ranking-category footer a {
    font-size:7px
}
.ranking-category footer strong {
    font:700 7px ui-monospace;
    color:#8bd9ef
}
.galactic-sector-scene {
    position:relative;
    min-height:220px;
    overflow:hidden;
    background:radial-gradient(circle at 50% 48%,#a0672d40 0 2%,#384d7f2b 4%,transparent 25%),radial-gradient(circle at 30% 70%,#492b7730,transparent 22%),#030911
}
.sector-orbits {
    position:absolute;
    inset:12% 32%;
    border:1px solid #5e789744;
    border-radius:50%;
    transform:rotate(-9deg)
}
.sector-orbits i {
    position:absolute;
    border:1px solid #496a8b33;
    border-radius:50%
}
.sector-orbits i:nth-child(1) {
    inset:13%
}
.sector-orbits i:nth-child(2) {
    inset:29%;
    border-color:#8a5b8f44
}
.sector-orbits i:nth-child(3) {
    inset:42%;
    border-color:#b8894a55
}
.sector-orbits span {
    position:absolute;
    left:50%;
    top:50%;
    width:35px;
    height:35px;
    transform:translate(-50%,-50%);
    border-radius:50%;
    background:#e5a54d;
    box-shadow:0 0 50px #e38a3c99
}
.sector-copy {
    position:absolute;
    left:14px;
    bottom:12px;
    z-index:2
}
.sector-copy h2 {
    margin:2px 0 8px
}
.sector-copy>div {
    display:grid;
    grid-template-columns:auto auto auto auto;
    gap:2px 8px
}
.sector-copy b {
    font:800 10px ui-monospace;
    color:#9edcf1
}
.sector-copy small {
    font-size:6px;
    color:#698796
}
.alliance-power-board article,.global-records article,.commanders-legend article {
    display:grid;
    grid-template-columns:30px minmax(0,1fr) auto auto;
    gap:6px;
    align-items:center;
    padding:6px 2px;
    border-bottom:1px solid #142b3a
}
.alliance-power-board article b,.commanders-legend article b {
    color:#b58ad1
}
.alliance-power-board article span,.global-records article span {
    font-size:7px
}
.alliance-power-board article small {
    font-size:6px;
    color:#668697
}
.alliance-power-board article strong,.global-records article strong,.commanders-legend article strong {
    font:700 7px ui-monospace;
    color:#9edaf0
}
.battle-chronicle-preview article {
    display:grid;
    grid-template-columns:84px minmax(0,1fr) 90px 25px;
    gap:7px;
    align-items:center;
    padding:6px 0;
    border-bottom:1px solid #142d3d
}
.battle-mini-art {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    height:38px;
    background:#050b12;
    border:1px solid #1f3344;
    overflow:hidden
}
.battle-mini-art img {
    width:34px;
    height:34px;
    object-fit:contain
}
.battle-mini-art span {
    font:800 6px ui-monospace;
    color:#a96a66
}
.battle-chronicle-preview article>div:nth-child(2) {
    font-size:7px
}
.battle-chronicle-preview article>div:nth-child(2)>small {
    display:block;
    color:#687f8d
}
.battle-chronicle-preview article>strong {
    font:700 7px ui-monospace;
    color:#d8a971;
    text-align:right
}
.legend-battle {
    background:radial-gradient(circle at 50% 20%,#a0572430,transparent 35%),#07101a
}
.legend-art {
    display:flex;
    justify-content:center;
    height:115px;
    overflow:hidden;
    margin:7px 0;
    border:1px solid #2b394b;
    background:#03070c
}
.legend-art img {
    width:50%;
    object-fit:contain
}
.legend-battle h2 {
    font-size:11px
}
.legend-battle h2 small {
    color:#aa615d
}
.legend-battle p,.archive-transmission p {
    color:#8297a4;
    font-size:7px;
    line-height:1.5
}
.legend-battle>b {
    display:block;
    margin:8px 0;
    font:900 17px ui-monospace;
    color:#dda75e
}
.archive-transmission {
    border-color:#4f3e35;
    background:linear-gradient(145deg,#15100b,#060e17)
}
.archive-transmission .eyebrow {
    color:#d29a4c
}
.archive-transmission small {
    color:#78675d;
    font-size:6px
}
@media(max-width:1250px) {
    .war-records-grid {
        grid-template-columns:1fr
    }
    .war-records-side {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }
    .ranking-category-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:850px) {
    .war-records-side {
        grid-template-columns:1fr
    }
    .war-records-hero {
        align-items:flex-start;
        flex-direction:column
    }
    .war-records-self {
        text-align:left
    }
    .war-records-nav {
        overflow:auto
    }
    .ranking-command-ledger article {
        grid-template-columns:30px minmax(0,1fr) auto
    }
    .ranking-command-ledger article span {
        display:none
    }
    .battle-chronicle-preview article {
        grid-template-columns:70px minmax(0,1fr) auto
    }
    .battle-chronicle-preview article>strong {
        display:none
    }

}
@media(max-width:560px) {
    .ranking-category-grid {
        grid-template-columns:1fr
    }

}

/* v8.4.16 — Galactic Senate & Command Corps I */
.senate-hero {
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-end;
    padding:15px 17px;
    border:1px solid #3f3550;
    background:radial-gradient(circle at 83% 24%,rgba(112,75,141,.22),transparent 26%),radial-gradient(circle at 18% 75%,rgba(190,124,53,.11),transparent 30%),linear-gradient(120deg,#07111a,#0a0c14);
    position:relative;
    overflow:hidden
}
.senate-hero:after {
    content:"";
    position:absolute;
    inset:0;
    background-image:radial-gradient(circle,#d7e9ff 0 1px,transparent 1.3px);
    background-size:101px 79px;
    opacity:.05
}
.senate-hero>div {
    position:relative;
    z-index:1
}
.senate-hero h1 {
    margin:2px 0;
    font-size:24px;
    color:#e4b7ff
}
.senate-hero p {
    margin:3px 0;
    max-width:820px;
    color:#8fa0ad;
    font-size:9px
}
.senate-influence {
    text-align:right;
    min-width:180px
}
.senate-influence small {
    display:block;
    color:#7d668c;
    font:700 6px ui-monospace
}
.senate-influence b {
    display:block;
    font:900 30px ui-monospace;
    color:#d6a5ef
}
.senate-influence span {
    font:700 8px ui-monospace;
    color:#83d5ea
}
.senate-nav {
    display:flex;
    gap:4px;
    padding:5px;
    margin:7px 0;
    border:1px solid #26384a;
    background:#050c13
}
.senate-nav a {
    padding:6px 11px;
    border:1px solid #21364a;
    background:#07131e;
    color:#809cac;
    font:700 7px ui-monospace;
    text-transform:uppercase
}
.senate-nav a:hover,.senate-nav a.active {
    border-color:#75518c;
    color:#efc7ff;
    background:#171027
}
.senate-grid {
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(285px,.4fr);
    gap:7px
}
.senate-main,.senate-side {
    display:grid;
    gap:7px;
    align-content:start
}
.senate-chamber {
    position:relative;
    min-height:255px;
    overflow:hidden;
    background:radial-gradient(circle at 50% 28%,#6e4d2b33,transparent 22%),linear-gradient(180deg,#07101b,#03070c)
}
.senate-chamber-art {
    position:absolute;
    inset:0;
    overflow:hidden;
    background:radial-gradient(ellipse at 50% 18%,rgba(102,172,208,.14),transparent 25%),radial-gradient(ellipse at 50% 100%,rgba(181,110,56,.14),transparent 40%)
}
.senate-chamber-art:before {
    content:"";
    position:absolute;
    left:15%;
    right:15%;
    bottom:-18%;
    height:72%;
    border:2px solid #36546c;
    border-radius:50%;
    box-shadow:0 -22px 65px rgba(78,141,176,.12),inset 0 0 55px #000
}
.senate-chamber-art:after {
    content:"";
    position:absolute;
    left:50%;
    bottom:12%;
    width:62px;
    height:62px;
    transform:translateX(-50%);
    border:1px solid #87633e;
    background:radial-gradient(circle,#b98b4c22,transparent 64%);
    clip-path:polygon(50% 0,92% 18%,100% 58%,69% 100%,31% 100%,0 58%,8% 18%)
}
.senate-chamber-art i {
    position:absolute;
    bottom:15%;
    width:2px;
    height:58%;
    background:linear-gradient(#2f617a,transparent)
}
.senate-chamber-art i:nth-child(1) {
    left:22%
}
.senate-chamber-art i:nth-child(2) {
    left:38%
}
.senate-chamber-art i:nth-child(3) {
    right:38%
}
.senate-chamber-art i:nth-child(4) {
    right:22%
}
.senate-chamber-copy {
    position:absolute;
    left:16px;
    bottom:16px;
    max-width:600px;
    z-index:2
}
.senate-chamber-copy h2 {
    margin:2px 0 5px;
    font-size:18px
}
.senate-chamber-copy p {
    font-size:8px;
    line-height:1.55;
    color:#9caab2
}
.senate-vote header {
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:end;
    border-bottom:1px solid #183247;
    padding-bottom:7px
}
.senate-vote h2 {
    margin:2px 0;
    font-size:14px
}
.senate-vote>p {
    font-size:8px;
    color:#8ea0ac
}
.senate-vote time {
    font:700 8px ui-monospace;
    color:#d4a962
}
.senate-ballot-bars {
    display:grid;
    gap:6px;
    margin:10px 0
}
.senate-ballot-bars>div {
    display:grid;
    grid-template-columns:42px 1fr 52px;
    gap:7px;
    align-items:center
}
.senate-ballot-bars span,.senate-ballot-bars strong {
    font:700 7px ui-monospace
}
.senate-ballot-bars b {
    height:7px;
    border:1px solid #233d4c;
    background:linear-gradient(90deg,#4f9f68 var(--p),#251014 var(--p))
}
.senate-ballot-bars>div:nth-child(2) b {
    background:linear-gradient(90deg,#9d4d55 var(--p),#111a20 var(--p))
}
.senate-effects {
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin:8px 0
}
.senate-effects span {
    padding:5px 7px;
    border:1px solid #20384b;
    background:#06101a;
    font-size:7px
}
.senate-effects b {
    color:#89d7a2
}
.senate-ballot {
    display:grid;
    grid-template-columns:1fr .8fr 1fr;
    gap:5px;
    margin-top:8px
}
.senate-ballot button.selected {
    box-shadow:inset 0 0 0 1px #d1b0e6,0 0 14px #7a4f9544
}
.senate-vote blockquote {
    margin:9px 0 0;
    padding:8px 10px;
    border-left:2px solid #7b5a8f;
    background:#0c0c16;
    color:#958aa0;
    font-size:7px;
    font-style:italic
}
.influence-panel header {
    display:flex;
    justify-content:space-between;
    align-items:end
}
.influence-panel header b {
    font:900 18px ui-monospace;
    color:#dcb2f2
}
.influence-ring {
    --p:50;
    position:relative;
    width:118px;
    height:118px;
    margin:12px auto;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:conic-gradient(#744d91 calc(var(--p)*1%),#25556b 0 75%,#1a202b 0);
    box-shadow:inset 0 0 0 15px #050c13,0 0 20px #6a46912b
}
.influence-ring:after {
    content:"";
    position:absolute;
    inset:22px;
    border:1px solid #314455;
    border-radius:50%
}
.influence-ring strong {
    z-index:1;
    font:900 18px ui-monospace;
    color:#fff
}
.influence-ring small {
    position:absolute;
    top:68px;
    z-index:1;
    font-size:6px;
    color:#7e9bab
}
.politic-mods {
    display:grid;
    gap:4px
}
.politic-mods span {
    display:flex;
    justify-content:space-between;
    padding:4px 0;
    border-bottom:1px solid #172b3a;
    font-size:7px
}
.politic-mods b {
    color:#85d99c
}
.panel-title {
    display:flex;
    justify-content:space-between;
    align-items:center
}
.decree-list {
    display:grid;
    gap:4px
}
.decree-list>div {
    display:grid;
    grid-template-columns:26px 1fr;
    gap:6px;
    align-items:center;
    padding:6px;
    border:1px solid #1e3445;
    background:#06111b
}
.decree-list>div>span {
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border:1px solid #4b6b56;
    color:#8fd49d
}
.decree-list p {
    margin:0
}
.decree-list b {
    display:block;
    font-size:8px
}
.decree-list small {
    display:block;
    font-size:6px;
    color:#667f8d
}
.command-corps {
    margin-top:7px
}
.command-corps>header {
    display:flex;
    justify-content:space-between;
    gap:10px;
    align-items:end;
    border-bottom:1px solid #1b3446;
    padding-bottom:7px
}
.command-corps>header h2 {
    margin:2px 0
}
.command-corps>header p {
    margin:2px 0;
    font-size:8px;
    color:#8195a2
}
.command-corps>header>div:last-child {
    text-align:right
}
.command-corps>header>div:last-child b {
    display:block;
    font:900 18px ui-monospace;
    color:#d0a6e8
}
.command-corps>header>div:last-child small {
    font-size:6px
}
.corps-roster {
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    gap:6px;
    padding-top:8px
}
.corps-officer {
    position:relative;
    padding:8px;
    border:1px solid #21384b;
    background:linear-gradient(180deg,#07131e,#050a11);
    overflow:hidden
}
.corps-officer.active {
    border-color:#416c5b;
    box-shadow:inset 0 0 18px #27583c22
}
.officer-portrait {
    height:96px;
    display:grid;
    place-items:center;
    margin:-8px -8px 7px;
    background:radial-gradient(circle at 50% 25%,#36586d55,transparent 30%),linear-gradient(180deg,#0a1b28,#081018)
}
.officer-portrait span {
    display:grid;
    place-items:center;
    width:54px;
    height:64px;
    border:1px solid #46677b;
    color:#a8d9e9;
    font:900 26px ui-monospace;
    clip-path:polygon(20% 0,80% 0,100% 20%,88% 100%,12% 100%,0 20%)
}
.corps-officer h3 {
    margin:2px 0;
    font-size:10px
}
.corps-officer>small {
    font:700 6px ui-monospace;
    color:#6d8a99
}
.corps-officer p {
    height:52px;
    overflow:hidden;
    font-size:6.5px;
    line-height:1.45;
    color:#788e9a
}
.corps-officer>strong {
    display:block;
    padding:5px;
    border:1px solid #213b4f;
    background:#06111a;
    color:#88d6ed;
    font:700 7px ui-monospace
}
.corps-officer footer {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    margin-top:6px
}
.corps-officer footer form:only-child {
    grid-column:1/-1
}
.corps-officer button {
    width:100%;
    padding:5px;
    font-size:6px
}
.politics-lower {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:7px
}
.faction-board header,.political-events header {
    border-bottom:1px solid #183247;
    padding-bottom:6px
}
.faction-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    padding-top:7px
}
.faction-card {
    display:grid;
    grid-template-columns:40px 1fr auto;
    gap:7px;
    align-items:center;
    padding:7px;
    border:1px solid #26384b;
    background:#06101a
}
.faction-sigil {
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border:1px solid #52768d;
    color:#8ed9ed;
    font-size:18px;
    clip-path:polygon(50% 0,100% 24%,88% 100%,12% 100%,0 24%)
}
.faction-card b {
    display:block;
    font-size:9px
}
.faction-card small {
    display:block;
    font-size:6px;
    color:#6f8490
}
.faction-card em {
    font:700 6px ui-monospace;
    color:#8cb0bf
}
.faction-void {
    border-color:#59416c
}
.faction-void .faction-sigil {
    border-color:#845a9f;
    color:#d3a2ed
}
.faction-zenith {
    border-color:#3b5f49
}
.faction-zenith .faction-sigil {
    border-color:#5a8e6b;
    color:#9bd9a8
}
.faction-omnician {
    border-color:#6b5736
}
.faction-omnician .faction-sigil {
    border-color:#94733c;
    color:#e3b466
}
.political-events>div {
    display:grid;
    grid-template-columns:28px minmax(0,1fr) 115px;
    gap:7px;
    align-items:start;
    padding:7px 0;
    border-bottom:1px solid #142b3a
}
.political-events>div>span {
    display:grid;
    place-items:center;
    width:26px;
    height:26px;
    border:1px solid #59416c;
    color:#c48cde
}
.political-events p {
    margin:0
}
.political-events b {
    font-size:8px
}
.political-events small {
    display:block;
    font-size:6px;
    color:#748b98;
    line-height:1.4
}
.political-events time {
    font:700 6px ui-monospace;
    color:#607d8b;
    text-align:right
}
.senate-archives {
    display:grid;
    grid-template-columns:1.4fr .6fr;
    gap:7px;
    margin-top:7px
}
.senate-lore {
    background:radial-gradient(circle at 85% 30%,#81522722,transparent 25%),linear-gradient(120deg,#15100c,#06101a)
}
.senate-lore .eyebrow {
    color:#d4a35a
}
.senate-lore p,.senate-secrets p {
    font-size:8px;
    line-height:1.55;
    color:#8d989d
}
.senate-lore blockquote {
    padding:8px 10px;
    border-left:2px solid #98713d;
    background:#0d0b09;
    color:#c1a77e;
    font-size:7px
}
.senate-secrets {
    border-color:#4f375d;
    background:linear-gradient(140deg,#110b17,#06101a)
}
.senate-secrets .eyebrow {
    color:#c58ce0
}
.senate-secrets small {
    font-size:6px;
    color:#6c5d74
}
@media(max-width:1350px) {
    .corps-roster {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }

}
@media(max-width:1100px) {
    .senate-grid {
        grid-template-columns:1fr
    }
    .senate-side {
        grid-template-columns:1fr 1fr
    }
    .corps-roster {
        grid-template-columns:repeat(3,minmax(0,1fr))
    }

}
@media(max-width:780px) {
    .senate-side,.politics-lower,.senate-archives {
        grid-template-columns:1fr
    }
    .corps-roster {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .senate-hero {
        align-items:flex-start;
        flex-direction:column
    }
    .senate-influence {
        text-align:left
    }
    .senate-nav {
        overflow:auto
    }
    .faction-grid {
        grid-template-columns:1fr
    }

}
@media(max-width:520px) {
    .corps-roster {
        grid-template-columns:1fr
    }
    .senate-ballot {
        grid-template-columns:1fr
    }
    .senate-chamber {
        min-height:220px
    }

}

/* v8.4.17 Commander Induction Sequence I */
.auth-induction-gate,.auth-enlistment {
    background:linear-gradient(90deg,rgba(1,6,12,.28),rgba(1,6,12,.62)),url("/assets/generated/overview-planet-command.webp") center/cover fixed no-repeat
}
.auth-space-command {
    background:linear-gradient(180deg,rgba(3,10,18,.12),rgba(1,5,10,.88));
    backdrop-filter:saturate(.9)
}
.auth-world-intro {
    max-width:860px
}
.auth-world-intro h1 {
    margin-bottom:20px
}
.auth-world-intro>p {
    max-width:690px
}
.auth-universe-intel {
    width:min(690px,100%);
    margin-top:28px;
    border:1px solid rgba(81,177,218,.28);
    background:rgba(2,10,18,.72);
    box-shadow:0 18px 50px rgba(0,0,0,.28)
}
.auth-universe-intel header {
    display:flex;
    justify-content:space-between;
    padding:9px 12px;
    border-bottom:1px solid rgba(74,176,221,.2);
    font:700 9px/1.2 ui-monospace,monospace;
    letter-spacing:.16em;
    color:#78dfff
}
.auth-universe-intel header small {
    color:#4edb9c
}
.auth-universe-intel article {
    display:grid;
    grid-template-columns:12px 1fr auto;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border-bottom:1px solid rgba(64,139,174,.11)
}
.auth-universe-intel article:last-child {
    border-bottom:0
}
.auth-universe-intel article b,.auth-universe-intel article small {
    display:block
}
.auth-universe-intel article small,.auth-universe-intel article>span {
    color:#6f91a7;
    font-size:10px
}
.universe-pulse {
    width:6px;
    height:6px;
    border-radius:50%;
    background:#4fe1a0;
    box-shadow:0 0 10px #4fe1a0
}
.auth-lore-fragment {
    max-width:690px;
    margin:15px 0 0;
    padding:12px 14px;
    border-left:2px solid #8e69e8;
    background:linear-gradient(90deg,rgba(83,54,137,.18),transparent);
    color:#8ea8ba
}
.auth-lore-fragment small {
    font:700 8px/1.2 ui-monospace,monospace;
    letter-spacing:.15em;
    color:#b38cff
}
.auth-lore-fragment p {
    margin:6px 0 0;
    font-size:12px;
    line-height:1.55;
    color:#91a7b6
}
.auth-command-console {
    box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 45px rgba(33,151,210,.06)
}
.auth-channel {
    display:flex;
    justify-content:space-between;
    padding:10px 30px;
    border-bottom:1px solid rgba(68,163,207,.14);
    font-size:9px;
    letter-spacing:.12em;
    color:#55788f
}
.auth-channel b {
    color:#69d8ff
}
.enlistment-oath {
    padding:10px 12px;
    border:1px solid rgba(140,103,230,.22);
    background:rgba(80,52,136,.08)
}
.enlistment-oath b {
    font-size:9px;
    letter-spacing:.12em;
    color:#ba98ff
}
.enlistment-oath p {
    margin:5px 0 0;
    font-size:10px;
    line-height:1.45;
    color:#7894a7
}
.auth-enlistment {
    grid-template-columns:minmax(0,1.6fr) minmax(390px,480px);
    gap:28px
}
.auth-register-intro {
    max-width:none
}
.auth-register-intro h1 {
    font-size:clamp(38px,4vw,64px);
    line-height:.95
}
.universe-enlist-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(190px,1fr));
    gap:9px;
    margin-top:22px;
    max-width:820px
}
.universe-enlist-card {
    position:relative;
    display:grid;
    grid-template-rows:110px auto auto 1fr auto;
    gap:4px;
    min-height:210px;
    padding:8px;
    border:1px solid rgba(57,139,179,.25);
    background:rgba(2,11,20,.78);
    cursor:pointer;
    overflow:hidden;
    transition:var(--xn-motion-standard)
}
.universe-enlist-card:hover,.universe-enlist-card.selected {
    border-color:#46cfff;
    box-shadow:0 0 0 1px rgba(70,207,255,.16) inset,0 0 28px rgba(27,155,215,.08);
    transform:translateY(-1px)
}
.universe-enlist-card input {
    position:absolute;
    opacity:0
}
.universe-art {
    display:block;
    border:1px solid rgba(80,169,211,.16);
    background:radial-gradient(circle at 50% 60%,#347aa0 0 4%,#132b44 19%,#06101a 38%,transparent 39%),radial-gradient(circle at 65% 30%,rgba(118,218,255,.5),transparent 2%),linear-gradient(#04101b,#02070e)
}
.universe-art.u2 {
    background:radial-gradient(circle at 48% 60%,#563a8e 0 4%,#1b183d 19%,#07101d 38%,transparent 39%),radial-gradient(circle at 67% 28%,rgba(178,124,255,.55),transparent 2%),linear-gradient(#060c19,#02070e)
}
.universe-art.u3 {
    background:radial-gradient(circle at 48% 60%,#91502d 0 4%,#402117 19%,#100b0a 38%,transparent 39%),radial-gradient(circle at 67% 28%,rgba(255,167,91,.55),transparent 2%),linear-gradient(#100b0a,#02070e)
}
.universe-art.u4 {
    background:radial-gradient(circle at 48% 60%,#3f6990 0 4%,#142a43 19%,#06101b 38%,transparent 39%),radial-gradient(circle at 67% 28%,rgba(109,187,255,.55),transparent 2%),linear-gradient(#040c16,#02070e)
}
.universe-enlist-card strong {
    font-size:12px;
    color:#dcecf6
}
.universe-enlist-card>small {
    font-size:9px;
    color:#66d4ff;
    letter-spacing:.08em
}
.universe-enlist-card em {
    font-size:9px;
    line-height:1.35;
    color:#788f9f;
    font-style:normal
}
.universe-enlist-card footer {
    display:flex;
    justify-content:space-between;
    padding-top:6px;
    border-top:1px solid rgba(60,138,177,.12);
    font-size:8px;
    color:#69889b
}
.universe-enlist-card footer b {
    color:#7ad8ff
}
.induction-mode {
    overflow:auto;
    background:#01050a
}
.induction-mode .stars {
    opacity:.34
}
.induction-mode .space-haze {
    background:radial-gradient(circle at 50% 20%,rgba(32,108,158,.1),transparent 34%),radial-gradient(circle at 78% 55%,rgba(94,50,154,.08),transparent 30%),linear-gradient(#020913,#01050a)
}
.induction-shell {
    display:block!important;
    max-width:none!important;
    width:100%!important;
    margin:0!important
}
.induction-mode .content {
    padding:0!important;
    max-width:none!important;
    width:100%!important
}
.induction-sequence {
    min-height:100vh;
    padding:12px 14px 18px;
    color:#d4e7f3;
    background:linear-gradient(rgba(2,7,13,.28),rgba(2,7,13,.78)),radial-gradient(circle at 50% 0,rgba(40,137,189,.08),transparent 36%)
}
.induction-header {
    display:grid;
    grid-template-columns:230px 1fr 120px;
    align-items:center;
    gap:14px;
    min-height:64px;
    padding:8px 12px;
    border:1px solid #17384c;
    background:linear-gradient(180deg,#071521,#040d16);
    box-shadow:0 8px 30px rgba(0,0,0,.35)
}
.induction-brand {
    display:flex;
    align-items:center;
    gap:10px
}
.induction-sigil {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border:1px solid #2f9ac6;
    color:#7ee5ff;
    background:#05111b;
    clip-path:polygon(50% 0,100% 22%,88% 80%,50% 100%,12% 80%,0 22%)
}
.induction-brand small,.induction-brand b {
    display:block
}
.induction-brand small {
    font-size:8px;
    letter-spacing:.16em;
    color:#7ddfff
}
.induction-brand b {
    font-size:13px
}
.induction-progress {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px
}
.induction-progress span {
    display:flex;
    align-items:center;
    gap:5px;
    color:#496d83;
    font-size:8px;
    letter-spacing:.08em
}
.induction-progress span:not(:last-child):after {
    content:"›";
    margin-left:4px;
    color:#33576c
}
.induction-progress i {
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border:1px solid #315b73;
    border-radius:50%;
    font-style:normal
}
.induction-progress .active {
    color:#7fe6ff
}
.induction-progress .active i {
    border-color:#48cfff;
    box-shadow:0 0 14px rgba(55,200,255,.18)
}
.induction-progress .done {
    color:#62cfa2
}
.induction-progress .done i {
    border-color:#46c995
}
.induction-universe {
    text-align:right
}
.induction-universe small,.induction-universe b {
    display:block
}
.induction-universe small {
    font-size:7px;
    color:#60849a
}
.induction-universe b {
    font-size:15px;
    color:#74ddff
}
.induction-body {
    display:grid;
    grid-template-columns:245px minmax(0,1fr);
    gap:10px;
    margin-top:10px
}
.induction-rail {
    padding:12px;
    border:1px solid #153447;
    background:linear-gradient(180deg,rgba(5,18,29,.96),rgba(2,9,16,.96))
}
.induction-rail>strong {
    display:block;
    font-size:18px
}
.induction-rail>small {
    display:block;
    margin:3px 0 12px;
    font-size:8px;
    letter-spacing:.12em;
    color:#67869a
}
.induction-step-card {
    display:grid;
    grid-template-columns:30px 1fr;
    gap:8px;
    align-items:center;
    padding:10px 6px;
    border-top:1px solid #102b3b;
    color:#557587
}
.induction-step-card>span {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid #264d62;
    border-radius:50%;
    font-size:10px
}
.induction-step-card b,.induction-step-card small {
    display:block
}
.induction-step-card b {
    font-size:10px
}
.induction-step-card small {
    font-size:8px;
    line-height:1.3;
    color:#5c7889
}
.induction-step-card.active {
    color:#8eeaff;
    background:linear-gradient(90deg,rgba(39,161,210,.12),transparent)
}
.induction-step-card.active>span {
    border-color:#4bd0ff;
    box-shadow:0 0 14px rgba(55,200,255,.12)
}
.induction-step-card.done {
    color:#5ecb9a
}
.induction-stage-panel {
    min-height:650px;
    border:1px solid #17384c;
    background:rgba(3,11,19,.9);
    box-shadow:0 20px 70px rgba(0,0,0,.35)
}
.induction-scene {
    display:grid;
    grid-template-columns:minmax(360px,1.25fr) minmax(360px,1fr);
    min-height:560px
}
.induction-scene-art,.initial-world-art,.deployment-art {
    min-height:560px;
    background-position:center;
    background-size:cover
}
.universe-theater-art {
    background-image:linear-gradient(90deg,transparent,rgba(3,10,18,.18)),url("/assets/generated/overview-planet-command.webp")
}
.initial-world-art {
    background-image:linear-gradient(90deg,transparent,rgba(3,10,18,.2)),url("/assets/generated/overview-surface-city.webp")
}
.deployment-art {
    background-image:linear-gradient(90deg,transparent,rgba(3,10,18,.25)),url("/assets/generated/fleet-command-v845.webp")
}
.induction-scene-copy {
    align-self:stretch;
    padding:clamp(28px,4vw,58px);
    background:linear-gradient(90deg,rgba(3,10,18,.84),rgba(3,10,18,.98));
    display:flex;
    flex-direction:column;
    justify-content:center
}
.induction-scene-copy .eyebrow,.induction-briefing-grid .eyebrow {
    font:700 9px/1.2 ui-monospace,monospace;
    letter-spacing:.16em;
    color:#70dfff
}
.induction-scene-copy h1 {
    margin:9px 0 4px;
    font-size:clamp(30px,3vw,50px);
    line-height:1;
    color:#edf9ff
}
.induction-scene-copy h3 {
    margin:4px 0 18px;
    font-size:13px;
    color:#8a72e4;
    letter-spacing:.1em
}
.induction-scene-copy p {
    max-width:650px;
    color:#91a8b8;
    line-height:1.65
}
.induction-scene-copy blockquote,.induction-briefing-grid blockquote {
    margin:20px 0 0;
    padding:12px 14px;
    border-left:2px solid #8b6de7;
    background:linear-gradient(90deg,rgba(91,63,148,.14),transparent);
    color:#a6b7c3;
    font-size:12px;
    line-height:1.55
}
.induction-kpis,.identity-record,.starter-resource-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin-top:22px
}
.induction-kpis span,.identity-record span,.starter-resource-grid span {
    padding:10px;
    border:1px solid #15384d;
    background:#04111b
}
.induction-kpis small,.identity-record small,.starter-resource-grid small {
    display:block;
    font-size:7px;
    letter-spacing:.12em;
    color:#5f8195
}
.induction-kpis b,.identity-record b,.starter-resource-grid b {
    display:block;
    margin-top:4px;
    font-size:13px
}
.starter-resource-grid .metal b {
    color:#b4c3cb
}
.starter-resource-grid .titanium b {
    color:#6edb98
}
.starter-resource-grid .crystal b {
    color:#6cc8ff
}
.starter-resource-grid .deuterium b {
    color:#df9cff
}
.identity-briefing {
    grid-template-columns:minmax(300px,.8fr) 1.2fr
}
.commander-insignia {
    display:grid;
    place-items:center;
    min-height:560px;
    font-size:180px;
    color:#64d9ff;
    background:radial-gradient(circle,rgba(38,137,185,.18),transparent 35%),linear-gradient(135deg,#061522,#02070d);
    text-shadow:0 0 55px rgba(69,207,255,.3)
}
.transmission-portrait {
    display:grid;
    place-items:center;
    position:relative;
    min-height:560px;
    background:radial-gradient(circle at 50% 50%,rgba(104,71,169,.22),transparent 25%),linear-gradient(135deg,#06111e,#02070d);
    overflow:hidden
}
.transmission-portrait:before,.transmission-portrait:after {
    content:"";
    position:absolute;
    width:340px;
    height:340px;
    border:1px solid rgba(102,208,246,.16);
    border-radius:50%
}
.transmission-portrait:after {
    width:240px;
    height:240px;
    border-color:rgba(159,112,239,.2)
}
.transmission-portrait span {
    font-size:95px;
    color:#a786ff;
    text-shadow:0 0 40px rgba(131,90,226,.3)
}
.transmission-portrait i {
    position:absolute;
    left:10%;
    right:10%;
    top:50%;
    height:1px;
    background:linear-gradient(90deg,transparent,#55d8ff,transparent);
    box-shadow:0 0 8px #55d8ff
}
.transmission-body {
    max-height:310px;
    overflow:auto;
    padding:14px;
    border:1px solid #18384c;
    background:#030d16;
    color:#9db4c2;
    line-height:1.6;
    font-size:12px
}
.induction-scene-copy>footer {
    margin-top:10px;
    font-size:8px;
    color:#5d7d90;
    letter-spacing:.08em
}
.induction-briefing-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:28px
}
.induction-briefing-grid>header,.induction-briefing-grid>blockquote {
    grid-column:1/-1
}
.induction-briefing-grid h1 {
    margin:7px 0;
    font-size:34px
}
.induction-briefing-grid header p {
    color:#8ba3b3
}
.induction-briefing-grid article {
    display:grid;
    grid-template-columns:54px 1fr;
    gap:12px;
    align-items:center;
    min-height:118px;
    padding:14px;
    border:1px solid #17394e;
    background:linear-gradient(135deg,#071724,#030c15)
}
.induction-briefing-grid article>span {
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    border:1px solid #2f8fba;
    color:#79e3ff;
    font-size:24px;
    background:#04111a
}
.induction-briefing-grid article b {
    font-size:12px;
    color:#dceaf2
}
.induction-briefing-grid article p {
    margin:5px 0 0;
    font-size:10px;
    line-height:1.5;
    color:#7f99aa
}
.deployment-orders {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:6px;
    margin-top:22px
}
.deployment-orders span {
    padding:10px;
    border:1px solid #17394d;
    background:#04111a;
    color:#4fcfff;
    font-size:10px
}
.deployment-orders b {
    margin-left:8px;
    color:#dceaf2
}
.induction-actions {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px 16px;
    border-top:1px solid #17384c;
    background:#020912
}
.induction-actions form {
    margin:0
}
.induction-actions .primary {
    min-width:230px;
    height:42px;
    background:linear-gradient(180deg,#117ba8,#075676);
    border:1px solid #34bcea;
    color:white;
    font-weight:800;
    letter-spacing:.08em
}
.induction-actions .induction-enter {
    background:linear-gradient(180deg,#9a6417,#69400c);
    border-color:#d99c43
}
.induction-actions small {
    color:#5d7889;
    font-size:8px
}
.induction-footer {
    display:flex;
    justify-content:center;
    gap:24px;
    align-items:center;
    margin-top:10px;
    padding:10px;
    border-top:1px solid #102b3a;
    color:#4f7185;
    font-size:8px;
    letter-spacing:.12em
}
.induction-footer b {
    color:#a782f4
}
@media(max-width:1100px) {
    .auth-enlistment {
        grid-template-columns:1fr
    }
    .universe-enlist-grid {
        max-width:none
    }
    .induction-header {
        grid-template-columns:1fr
    }
    .induction-progress {
        justify-content:flex-start;
        overflow:auto
    }
    .induction-universe {
        text-align:left
    }
    .induction-body {
        grid-template-columns:1fr
    }
    .induction-rail {
        display:none
    }
    .induction-scene {
        grid-template-columns:1fr
    }
    .induction-scene-art,.initial-world-art,.deployment-art,.commander-insignia,.transmission-portrait {
        min-height:300px
    }
    .induction-stage-panel {
        min-height:auto
    }

}
@media(max-width:680px) {
    .universe-enlist-grid {
        grid-template-columns:1fr
    }
    .induction-sequence {
        padding:6px
    }
    .induction-progress em {
        display:none
    }
    .induction-scene-copy {
        padding:24px 18px
    }
    .induction-kpis,.identity-record,.starter-resource-grid,.deployment-orders {
        grid-template-columns:repeat(2,1fr)
    }
    .induction-briefing-grid {
        grid-template-columns:1fr;
        padding:14px
    }
    .induction-briefing-grid>header,.induction-briefing-grid>blockquote {
        grid-column:auto
    }
    .induction-footer {
        flex-wrap:wrap
    }
    .induction-actions {
        align-items:stretch;
        flex-direction:column
    }
    .induction-actions .primary {
        width:100%
    }

}

/* v8.5.0 Early Empire Narrative Arc I */
.early-empire-arc {
    position:relative;
    overflow:hidden;
    margin:0 0 12px;
    border:1px solid #24465d;
    background:linear-gradient(90deg,rgba(3,12,20,.96),rgba(7,20,33,.94)),url("../generated/early-empire-arc-v850.svg") center/cover;
    color:#cdeeff;
    box-shadow:inset 0 0 28px #000,0 10px 24px #0007
}
.arc-signal {
    display:flex;
    gap:14px;
    align-items:baseline;
    padding:9px 13px;
    border-bottom:1px solid #17384c
}
.arc-signal small {
    color:#7cd7ff;
    letter-spacing:.14em
}
.arc-signal b {
    font-size:15px
}
.arc-signal span {
    color:#7f9aae;
    font-size:12px
}
.arc-track {
    display:grid;
    grid-template-columns:repeat(7,minmax(105px,1fr));
    gap:1px;
    background:#163246
}
.arc-step {
    display:flex;
    gap:8px;
    align-items:center;
    min-height:64px;
    padding:8px;
    background:#06121d;
    color:#6f8798;
    text-decoration:none
}
.arc-step i {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border:1px solid #31576f;
    border-radius:50%;
    font-style:normal;
    flex:0 0 auto
}
.arc-step b,.arc-step small {
    display:block
}
.arc-step b {
    font-size:10px;
    letter-spacing:.06em
}
.arc-step small {
    font-size:9px;
    line-height:1.25;
    margin-top:3px
}
.arc-step.done {
    color:#79dba4;
    background:#071913
}
.arc-step.current {
    color:#e4f7ff;
    background:linear-gradient(135deg,#09253a,#15142d);
    box-shadow:inset 0 -2px #4bc8ff
}
.arc-step.current i {
    border-color:#4bc8ff;
    color:#9be7ff;
    box-shadow:0 0 14px #35baff55
}
.arc-next {
    display:flex;
    align-items:center;
    gap:12px;
    padding:7px 12px;
    font-size:11px
}
.arc-next>span {
    font-size:14px;
    color:#66d5ff;
    font-weight:700
}
.arc-next a {
    color:#b8dcf2;
    text-decoration:none
}
.arc-journal-link {
    margin-left:auto
}
.journey-surface {
    background:#030a11;
    border:1px solid #203f54
}
.journey-hero {
    display:flex;
    justify-content:space-between;
    gap:20px;
    min-height:210px;
    padding:28px;
    background:linear-gradient(90deg,#03111fe8 0 47%,#03111f66),url("../generated/early-empire-arc-v850.svg") center/cover
}
.journey-hero small {
    color:#67d7ff;
    letter-spacing:.16em
}
.journey-hero h1 {
    font-size:30px;
    margin:8px 0
}
.journey-hero p {
    max-width:760px;
    color:#9bb2c3;
    line-height:1.6
}
.journey-progress {
    align-self:center;
    text-align:center;
    width:130px;
    height:130px;
    border-radius:50%;
    display:grid;
    place-content:center;
    border:1px solid #3b81a9;
    box-shadow:inset 0 0 35px #0e4d7755
}
.journey-progress strong {
    font-size:30px;
    color:#80dbff
}
.journey-progress span {
    font-size:9px;
    text-transform:uppercase;
    color:#7e9bad
}
.journey-grid {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(280px,.75fr);
    gap:12px;
    padding:12px
}
.journey-path {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
}
.journey-node {
    display:flex;
    gap:12px;
    min-height:145px;
    padding:15px;
    border:1px solid #173448;
    background:#06131e
}
.journey-node>i {
    font-style:normal;
    font-size:28px;
    color:#4fbde9
}
.journey-node small {
    color:#607f92;
    letter-spacing:.12em
}
.journey-node h2 {
    font-size:16px;
    margin:5px 0
}
.journey-node p {
    font-size:12px;
    color:#8ca4b5;
    line-height:1.45
}
.journey-node.done {
    border-color:#205a43;
    background:#071711
}
.journey-node.done>i,.journey-node.done b {
    color:#69d294
}
.journey-node.current {
    border-color:#427baa;
    background:linear-gradient(135deg,#08213a,#16142e)
}
.journey-node.locked {
    opacity:.58
}
.journey-intel {
    display:grid;
    align-content:start;
    gap:10px
}
.journey-transmission,.journey-facts {
    border:1px solid #263e58;
    background:#07111c;
    padding:16px
}
.journey-transmission small {
    color:#a16cff;
    letter-spacing:.14em
}
.journey-transmission p {
    color:#9db2c2;
    line-height:1.6
}
.journey-facts {
    display:grid;
    gap:7px
}
.journey-facts span {
    display:flex;
    justify-content:space-between;
    color:#819caf
}
.journey-facts b {
    color:#e3f4ff
}
.journey-complete {
    margin:16px;
    padding:28px;
    border:1px solid #26533f;
    background:#071710
}
.journey-complete h2 {
    color:#7add9e
}
@media(max-width:1100px) {
    .arc-track {
        grid-template-columns:repeat(4,1fr)
    }
    .journey-grid {
        grid-template-columns:1fr
    }
    .journey-path {
        grid-template-columns:1fr 1fr
    }

}
@media(max-width:760px) {
    .arc-signal span,.arc-step small {
        display:none
    }
    .arc-track {
        grid-template-columns:repeat(7,1fr)
    }
    .arc-step {
        justify-content:center;
        min-height:42px;
        padding:5px
    }
    .arc-step span {
        display:none
    }
    .arc-next a:first-of-type {
        display:none
    }
    .journey-hero {
        min-height:0;
        padding:18px
    }
    .journey-progress {
        width:88px;
        height:88px
    }
    .journey-path {
        grid-template-columns:1fr
    }

}

/* v8.5.1 Dynamic Narrative Operations I */
.nx-dynops {
    position:relative;
    margin:10px 0 14px;
    border:1px solid #18384b;
    background:linear-gradient(180deg,rgba(5,18,29,.97),rgba(3,11,18,.98));
    box-shadow:inset 0 0 0 1px rgba(87,184,229,.05),0 12px 34px rgba(0,0,0,.26);
    clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%)
}
.nx-dynops:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 77% -20%,rgba(97,63,192,.15),transparent 38%),linear-gradient(90deg,rgba(0,191,255,.025) 1px,transparent 1px);
    background-size:auto,32px 100%
}
.nx-dynops-head,.nx-dynops footer {
    position:relative;
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:center;
    padding:12px 14px;
    border-bottom:1px solid #143247
}
.nx-dynops-head h2 {
    margin:1px 0 2px;
    font-size:17px;
    letter-spacing:.05em
}
.nx-dynops-head p {
    margin:0;
    color:#8195a7;
    max-width:920px;
    font-size:12px
}
.nx-dynops-counts {
    display:flex;
    gap:7px
}
.nx-dynops-counts span {
    min-width:70px;
    text-align:center;
    padding:6px 9px;
    border:1px solid #1d4157;
    background:#061522;
    color:#7892a5;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.09em
}
.nx-dynops-counts b {
    display:block;
    color:#9fdaef;
    font-size:17px
}
.nx-dynops-counts .critical b {
    color:#ff665f
}
.nx-dynops-counts .high b {
    color:#f0a44e
}
.nx-dynops-grid {
    position:relative;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1px;
    background:#143045;
    border-bottom:1px solid #143247
}
.nx-dynop {
    display:grid;
    grid-template-columns:52px 1fr auto;
    gap:11px;
    min-height:108px;
    padding:11px;
    background:linear-gradient(110deg,#071725,#06111b);
    transition:var(--xn-motion-fast) ease
}
.nx-dynop:hover {
    background:linear-gradient(110deg,#092032,#071724)
}
.nx-dynop.seen {
    opacity:.84
}
.nx-dynop-icon {
    display:grid;
    place-items:center;
    height:52px;
    border:1px solid #24506a;
    background:#071b29;
    font-size:25px;
    color:#73cdf0;
    box-shadow:inset 0 0 20px rgba(28,155,211,.1)
}
.priority-critical .nx-dynop-icon {
    color:#ff655f;
    border-color:#713331;
    background:#1b0c0e
}
.priority-high .nx-dynop-icon {
    color:#c989ff;
    border-color:#4f356a;
    background:#130d1e
}
.priority-opportunity .nx-dynop-icon {
    color:#f0b450;
    border-color:#67502d;
    background:#17130a
}
.kind-trade .nx-dynop-icon {
    color:#f0b450
}
.kind-politics .nx-dynop-icon {
    color:#6cbef6
}
.kind-anomaly .nx-dynop-icon {
    color:#c989ff
}
.kind-alliance .nx-dynop-icon {
    color:#85dc8f
}
.nx-dynop-meta {
    display:flex;
    align-items:center;
    gap:8px;
    font-size:9px;
    letter-spacing:.1em;
    color:#65859d
}
.nx-dynop-meta b {
    color:#c6d8e4
}
.nx-dynop-meta em {
    margin-left:auto;
    font-style:normal;
    color:#5a7589
}
.nx-dynop h3 {
    margin:5px 0 4px;
    font-size:13px;
    color:#d8e9f2
}
.nx-dynop p {
    margin:0 0 6px;
    color:#8da1b1;
    font-size:11px;
    line-height:1.35
}
.nx-dynop small {
    color:#607889
}
.nx-dynop-actions {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:space-between
}
.nx-dynop-actions a {
    white-space:nowrap;
    border:1px solid #225774;
    background:#082033;
    padding:6px 9px;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.nx-dynop-actions form {
    margin:0
}
.nx-dynop-actions button {
    width:25px;
    height:25px;
    border:1px solid #273b49;
    background:#09141d;
    color:#738999;
    padding:0
}
.nx-dynops footer {
    border:0;
    padding:8px 14px;
    font-size:10px;
    color:#60798c
}
.nx-dynops footer a {
    color:#65c7ec;
    text-transform:uppercase;
    letter-spacing:.08em
}
@media(max-width:1050px) {
    .nx-dynops-grid {
        grid-template-columns:1fr
    }
    .nx-dynops-head {
        align-items:flex-start;
        flex-direction:column
    }
    .nx-dynops-counts {
        width:100%
    }
    .nx-dynops-counts span {
        flex:1
    }

}
@media(max-width:650px) {
    .nx-dynop {
        grid-template-columns:42px 1fr
    }
    .nx-dynop-icon {
        height:42px
    }
    .nx-dynop-actions {
        grid-column:2;
        flex-direction:row;
        align-items:center
    }
    .nx-dynops footer span {
        display:none
    }

}

/* v8.5.2 Narrative Consequence Chain I */
.nx-consequence-memory {
    margin:14px 0 18px;
    border:1px solid #16354a;
    background:linear-gradient(180deg,rgba(5,18,29,.97),rgba(3,12,20,.96));
    box-shadow:0 14px 34px rgba(0,0,0,.24),inset 0 1px rgba(121,220,255,.05)
}
.nx-consequence-head {
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:end;
    padding:14px 16px;
    border-bottom:1px solid #173448;
    background:linear-gradient(90deg,rgba(42,122,166,.08),rgba(126,70,173,.05),transparent)
}
.nx-consequence-head h2 {
    margin:3px 0 0;
    font-size:18px;
    letter-spacing:.04em
}
.nx-consequence-counts {
    display:flex;
    gap:12px;
    align-items:center;
    font-size:12px;
    color:#8aa8b9
}
.nx-consequence-counts b {
    color:#d5efff
}
.nx-consequence-counts a {
    padding:6px 9px;
    border:1px solid #24506a;
    color:#7fd6ff;
    text-decoration:none
}
.nx-consequence-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:12px
}
.nx-consequence-memory.compact .nx-consequence-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))
}
.nx-consequence-card {
    position:relative;
    overflow:hidden;
    border:1px solid #173b50;
    background:linear-gradient(160deg,rgba(8,26,39,.95),rgba(4,14,24,.98));
    padding:12px;
    min-height:160px
}
.nx-consequence-card:before {
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:2px;
    background:#3cb8e8;
    opacity:.65
}
.nx-consequence-card.type-threat:before {
    background:#ff665b
}
.nx-consequence-card.type-discovery:before {
    background:#b875ff
}
.nx-consequence-card.type-politics:before {
    background:#68aee8
}
.nx-consequence-card.type-trade:before {
    background:#e2a64e
}
.nx-consequence-card.status-resolved {
    opacity:.74
}
.nx-consequence-card-head {
    display:grid;
    grid-template-columns:34px 1fr auto;
    gap:9px;
    align-items:center
}
.nx-chain-glyph {
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border:1px solid #24536b;
    background:#071a29;
    color:#79d8ff;
    font-size:17px
}
.nx-consequence-card-head small {
    color:#678ba0;
    font-size:9px;
    letter-spacing:.12em
}
.nx-consequence-card-head h3 {
    margin:1px 0 0;
    font-size:13px;
    color:#dcecf6
}
.nx-chain-state {
    font-size:10px;
    color:#9ed7f6;
    text-align:right
}
.nx-chain-progress {
    height:4px;
    background:#07131d;
    margin:10px 0 12px;
    overflow:hidden
}
.nx-chain-progress span {
    display:block;
    width:var(--chain-progress);
    height:100%;
    background:linear-gradient(90deg,#266e9f,#7edbff,#8b6ee9);
    box-shadow:0 0 12px rgba(72,188,255,.35)
}
.nx-chain-evidence {
    display:flex;
    gap:3px;
    align-items:stretch
}
.nx-chain-step {
    flex:1;
    min-width:0;
    display:flex;
    gap:6px;
    align-items:flex-start;
    position:relative
}
.nx-chain-step i {
    width:7px;
    height:7px;
    border:1px solid #68c8ef;
    background:#0f4059;
    transform:rotate(45deg);
    margin-top:4px;
    flex:0 0 auto
}
.nx-chain-step strong,.nx-chain-step small {
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap
}
.nx-chain-step strong {
    font-size:9px;
    color:#b8d8e9
}
.nx-chain-step small {
    font-size:8px;
    color:#58758a;
    margin-top:2px
}
.nx-consequence-card footer {
    margin-top:10px;
    padding-top:8px;
    border-top:1px solid #102c3c;
    display:flex;
    justify-content:space-between;
    color:#59788a;
    font-size:9px
}
.nx-consequence-card footer b {
    color:#83b7d0;
    font-weight:500
}
.nx-causal-archive-hero {
    min-height:190px;
    padding:24px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:24px;
    align-items:end;
    border:1px solid #1c4359;
    background:radial-gradient(circle at 70% 20%,rgba(87,71,180,.18),transparent 30%),radial-gradient(circle at 20% 60%,rgba(43,142,190,.16),transparent 34%),linear-gradient(135deg,#06131f,#08111c 55%,#100d1e)
}
.nx-causal-archive-hero h1 {
    font-size:29px;
    margin:5px 0 8px
}
.nx-causal-archive-hero p {
    max-width:820px;
    color:#8eabba;
    line-height:1.55
}
.nx-causal-archive-hero aside {
    display:grid;
    grid-template-columns:auto auto;
    gap:4px 10px;
    border-left:1px solid #21485d;
    padding-left:20px
}
.nx-causal-archive-hero aside strong {
    font-size:24px;
    color:#8bdcff
}
.nx-causal-archive-hero aside span {
    align-self:center;
    color:#6f91a3;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.nx-archive-lore {
    margin-top:10px;
    padding:13px 16px;
    border:1px solid #2b2948;
    background:linear-gradient(90deg,rgba(70,47,112,.14),rgba(8,18,27,.92));
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px;
    align-items:center
}
.nx-archive-lore span {
    font-size:9px;
    letter-spacing:.14em;
    color:#a483de
}
.nx-archive-lore blockquote {
    margin:0;
    color:#a6b7c0;
    font-style:italic;
    line-height:1.45
}
@media(max-width:1500px) {
    .nx-consequence-memory.compact .nx-consequence-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:850px) {
    .nx-consequence-grid,.nx-consequence-memory.compact .nx-consequence-grid {
        grid-template-columns:1fr
    }
    .nx-consequence-head,.nx-causal-archive-hero {
        grid-template-columns:1fr;
        display:grid
    }
    .nx-consequence-counts {
        flex-wrap:wrap
    }
    .nx-chain-evidence {
        display:grid;
        grid-template-columns:repeat(2,1fr)
    }

}

/* v8.5.3 Universe Memory & Reputation Consequences I */
.nx-reputation-signature {
    margin:10px 0 14px;
    padding:14px 16px;
    border:1px solid #24465b;
    background:radial-gradient(circle at 84% 0,rgba(116,73,180,.13),transparent 34%),linear-gradient(180deg,#071723,#030b12);
    box-shadow:inset 0 0 26px rgba(76,188,235,.05)
}
.nx-reputation-signature>header {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:16px
}
.nx-reputation-signature h2 {
    margin:3px 0;
    color:#d9edf7;
    font-size:18px
}
.nx-reputation-signature>header>strong {
    font:800 24px ui-monospace;
    color:#9edfff
}
.nx-reputation-signature>p {
    max-width:980px;
    color:#829cab;
    font-size:11px;
    line-height:1.5
}
.nx-reputation-axes {
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:6px
}
.nx-reputation-axes article {
    display:grid;
    grid-template-columns:22px 1fr auto;
    gap:6px;
    align-items:center;
    padding:8px;
    border:1px solid #17394d;
    background:#06131d
}
.nx-reputation-axes i {
    font-style:normal;
    font-size:16px;
    color:#62c8ee
}
.nx-reputation-axes small {
    color:#6c8798;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.nx-reputation-axes b {
    font:700 11px ui-monospace
}
.nx-reputation-axes span {
    grid-column:1/-1;
    height:3px;
    background:#102633
}
.nx-reputation-axes em {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#2a83b7,#77d6f7)
}
.nx-reputation-axes .axis-notoriety i {
    color:#f06c62
}
.nx-reputation-axes .axis-notoriety em {
    background:linear-gradient(90deg,#6e2828,#f26a5d)
}
.nx-reputation-axes .axis-science i {
    color:#b57cff
}
.nx-reputation-axes .axis-science em {
    background:linear-gradient(90deg,#56367f,#b67cf6)
}
.nx-reputation-axes .axis-politics i {
    color:#7facff
}
.nx-reputation-axes .axis-trade i {
    color:#e8b35d
}
.galaxy-reputation,.intel-reputation {
    display:block;
    margin-top:2px;
    color:#9a78c8!important;
    font-size:7px!important;
    letter-spacing:.04em
}
.galaxy-reputation.rep-warlord,.galaxy-reputation.rep-raider {
    color:#e87768!important
}
@media(max-width:900px) {
    .nx-reputation-axes {
        grid-template-columns:1fr 1fr
    }
    .nx-reputation-axes article:last-child {
        grid-column:1/-1
    }
    .nx-alliance-memory {
        grid-template-columns:1fr
    }
    .nx-alliance-memory small {
        grid-column:1
    }

}

/* v8.5.4 Reputation Reactions & Social Consequences I */
.market-reputation-strip {
    margin:8px 0 10px;
    padding:11px 14px;
    border:1px solid #705529;
    background:linear-gradient(90deg,rgba(92,62,16,.2),rgba(5,18,27,.96));
    display:grid;
    grid-template-columns:auto 1fr;
    gap:4px 16px;
    align-items:center
}
.market-reputation-strip strong {
    color:#e4b861;
    font-size:13px
}
.market-reputation-strip p {
    grid-column:2;
    margin:0;
    color:#8e9ca3;
    font-size:10px
}
.social-reaction {
    display:block;
    margin-top:2px;
    font-size:7px!important;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:#79b8d6
}
.market-prime,.market-preferred {
    color:#e1b45c!important
}
.market-trusted {
    color:#77cfab!important
}
.risk-critical,.risk-high {
    color:#f07164!important
}
.risk-elevated {
    color:#e3a358!important
}
.risk-watch {
    color:#d4c46a!important
}
.risk-nominal {
    color:#70bfa1!important
}
.alliance-application-social>span {
    display:grid;
    gap:2px
}
.intel-risk,.galaxy-threat {
    display:block;
    margin-top:2px;
    font-size:7px!important;
    letter-spacing:.07em;
    text-transform:uppercase
}
.galaxy-threat:before {
    filter:drop-shadow(0 0 4px currentColor)
}
.faction-reaction-panel {
    margin:10px 0 14px;
    background:radial-gradient(circle at 85% 15%,rgba(130,72,170,.12),transparent 32%),linear-gradient(180deg,#071622,#040c13)
}
.faction-reaction-panel header {
    display:flex;
    justify-content:space-between;
    align-items:end
}
.faction-reaction-panel h2 {
    margin:3px 0 8px
}
.faction-reaction-panel>p {
    color:#748f9f;
    font-size:10px;
    line-height:1.5
}
.faction-reaction-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px
}
.faction-reaction-grid article {
    padding:9px;
    border:1px solid #17384b;
    background:#06131c
}
.faction-reaction-grid small,.faction-reaction-grid strong {
    display:block
}
.faction-reaction-grid small {
    font-size:8px;
    color:#7190a0;
    text-transform:uppercase
}
.faction-reaction-grid strong {
    margin-top:4px;
    font-size:11px;
    color:#b9dcea
}
.faction-reaction-grid .stance-favored {
    border-color:#496834
}
.faction-reaction-grid .stance-favored strong {
    color:#95d779
}
.faction-reaction-grid .stance-interested {
    border-color:#27516d
}
.faction-reaction-grid .stance-interested strong {
    color:#7dccf0
}
.faction-reaction-grid .stance-wary {
    border-color:#755f2c
}
.faction-reaction-grid .stance-wary strong {
    color:#e2b45e
}
.faction-reaction-grid .stance-hostile {
    border-color:#75362e
}
.faction-reaction-grid .stance-hostile strong {
    color:#ef7467
}
@media(max-width:900px) {
    .faction-reaction-grid {
        grid-template-columns:1fr 1fr
    }
    .market-reputation-strip {
        grid-template-columns:1fr
    }
    .market-reputation-strip p {
        grid-column:1
    }

}

/* v8.5.5 Commander Relations & Threat Memory I */
.commander-relation,.intel-relation {
    display:block;
    margin-top:.28rem;
    font-size:.72rem;
    letter-spacing:.04em;
    opacity:.92
}
.commander-relation-panel .relation-evidence-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
    gap:.55rem;
    margin:1rem 0
}
.commander-relation-panel .relation-evidence-grid span {
    padding:.55rem .7rem;
    border:1px solid rgba(255,255,255,.08);
    border-radius:.45rem
}
.relation-old_enemy,.relation-personal_threat {
    font-weight:700
}
.relation-proven_ally,.relation-trade_partner {
    font-weight:600
}
/* v8.5.6 Commander Contacts & Contextual Actions */
.contacts-hero {
    overflow:hidden;
    position:relative
}
.contacts-counts {
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:18px
}
.contacts-counts span {
    min-width:90px;
    padding:10px 12px;
    border:1px solid rgba(120,190,255,.18);
    background:rgba(4,16,30,.55);
    display:grid
}
.contacts-counts b {
    font-size:1.25rem
}
.contacts-counts span,.contact-card small,.recent-contact-list small {
    font-size:.74rem;
    letter-spacing:.08em;
    text-transform:uppercase
}
.contacts-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
    gap:14px;
    margin:14px 0
}
.contact-card {
    border-left:3px solid rgba(130,170,210,.35)
}
.contact-card.stance-trusted {
    border-left-color:#65d5aa
}
.contact-card.stance-watch {
    border-left-color:#e6b85c
}
.contact-card.stance-avoid {
    border-left-color:#e06e76
}
.contact-card.pinned {
    box-shadow:inset 0 0 0 1px rgba(130,205,255,.12)
}
.contact-card header {
    display:flex;
    justify-content:space-between;
    gap:12px;
    align-items:flex-start
}
.contact-card h2 {
    margin:.15rem 0
}
.contact-private-note {
    padding:10px 12px;
    background:rgba(0,0,0,.18);
    border-left:2px solid rgba(255,255,255,.12)
}
.contact-actions,.quick-contact-recipients {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    align-items:center
}
.contact-actions a,.contact-chip {
    border:1px solid rgba(130,190,230,.2);
    padding:5px 8px;
    border-radius:4px;
    background:rgba(4,14,26,.6);
    font-size:.76rem
}
.contact-chip.stance-trusted {
    border-color:rgba(101,213,170,.55)
}
.contact-chip.stance-watch {
    border-color:rgba(230,184,92,.6)
}
.contact-chip.stance-avoid {
    border-color:rgba(224,110,118,.6)
}
.contact-inline-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    align-items:end
}
.contact-inline-form label:nth-of-type(3) {
    grid-column:1/-1
}
.recent-contact-list {
    display:grid;
    gap:8px
}
.recent-contact-list article {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:9px 10px;
    border-bottom:1px solid rgba(255,255,255,.07)
}
.quick-contact-recipients {
    margin:10px 0
}
.quick-contact-recipients button {
    color:inherit;
    cursor:pointer
}
.contacts-authority {
    opacity:.86
}
@media(max-width:760px) {
    .contact-inline-form {
        grid-template-columns:1fr
    }
    .contact-inline-form label:nth-of-type(3) {
        grid-column:auto
    }

}

/* v8.6.0 prioritized command briefing */
.nx-command-briefing {
    margin:0 0 8px;
    padding:9px 11px;
    border:1px solid #17435e;
    background:linear-gradient(135deg,rgba(5,20,34,.98),rgba(8,29,47,.94));
    border-radius:3px
}
.nx-command-briefing.urgent {
    border-color:#7a3b49
}
.nx-command-briefing>header,.nx-briefing-focus,.briefing-focus-grid,.briefing-item,.briefing-meta {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px
}
.nx-command-briefing h2 {
    margin:1px 0;
    font-size:15px
}
.nx-briefing-focus {
    padding:7px 0;
    border-top:1px solid rgba(255,255,255,.06)
}
.nx-briefing-focus>span,.briefing-icon {
    font-size:18px
}
.nx-briefing-focus>div {
    min-width:0;
    flex:1
}
.nx-briefing-focus b,.nx-briefing-focus small {
    display:block
}
.nx-briefing-focus small {
    color:var(--muted)
}
.nx-briefing-strip {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:3px
}
.nx-briefing-strip a {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:2px 6px;
    padding:5px;
    border:1px solid rgba(126,220,255,.1);
    background:rgba(4,18,31,.65)
}
.nx-briefing-strip small {
    grid-column:2;
    color:var(--muted)
}
.briefing-hero {
    background:radial-gradient(circle at 85% 10%,rgba(255,96,96,.12),transparent 38%),rgba(7,22,38,.92)
}
.briefing-focus-grid {
    align-items:flex-end
}
.briefing-list {
    display:grid;
    gap:6px
}
.briefing-item {
    padding:9px;
    border:1px solid #173c58;
    background:#081521
}
.briefing-item.severity-critical {
    border-left:3px solid #d76272
}
.briefing-item.severity-high {
    border-left:3px solid #d7a55f
}
.briefing-item.severity-opportunity {
    border-left:3px solid #6ebfb2
}
.briefing-copy {
    min-width:0;
    flex:1
}
.briefing-copy h3,.briefing-copy p {
    margin:2px 0
}
.briefing-copy p,.briefing-copy small {
    color:var(--muted)
}
.briefing-meta {
    justify-content:flex-start;
    font-size:8px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.briefing-meta em {
    font-style:normal;
    color:var(--muted)
}
@media(max-width:760px) {
    .nx-briefing-strip {
        grid-template-columns:1fr 1fr
    }
    .briefing-item,.briefing-focus-grid {
        align-items:stretch;
        flex-direction:column
    }
    .briefing-item>.button-link {
        align-self:flex-start
    }

}

/* v8.6.1 Command Briefing Decision Support */
.briefing-decision {
    display:grid;
    gap:.28rem;
    margin-top:.55rem
}
.briefing-decision small {
    display:block;
    line-height:1.4
}
.briefing-change {
    font-weight:600
}
.nx-briefing-focus .briefing-change {
    margin-top:.15rem
}
.briefing-timeline {
    margin-top:.7rem;
    border-top:1px solid var(--line);
    padding-top:.55rem
}
.briefing-timeline summary {
    cursor:pointer;
    font-size:.82rem;
    font-weight:700
}
.briefing-timeline ol {
    list-style:none;
    margin:.55rem 0 0;
    padding:0;
    display:grid;
    gap:.35rem
}
.briefing-timeline li,.briefing-history-row {
    display:grid;
    grid-template-columns:82px 1fr;
    gap:.6rem;
    align-items:start;
    font-size:.82rem
}
.briefing-timeline time,.briefing-history-row time {
    font-variant-numeric:tabular-nums;
    opacity:.72
}
.briefing-history {
    display:grid;
    gap:.45rem
}
.briefing-history-row {
    padding:.5rem 0;
    border-bottom:1px solid var(--line)
}
.briefing-continuity {
    margin-top:.15rem
}
/* v8.7.8 Unit Specialization visual identity — Xterium Nova badge */
.nx-unit-art-wrap {
    position:relative;
    display:block;
    overflow:hidden
}
.nx-unit-level-badge {
    position:absolute;
    right:6px;
    top:6px;
    z-index:8;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:42px;
    height:22px;
    padding:0 7px;
    border:1px solid rgba(99,216,255,.66);
    border-radius:3px;
    background:linear-gradient(180deg,rgba(8,31,49,.96),rgba(3,12,20,.96));
    box-shadow:0 0 0 1px rgba(5,11,17,.85),0 0 14px rgba(76,199,255,.18);
    font:700 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.12em;
    color:#bcecff;
    text-shadow:0 0 8px rgba(99,216,255,.55)
}
.nx-unit-level-badge:before {
    content:"";
    width:4px;
    height:4px;
    margin-right:5px;
    border-radius:50%;
    background:currentColor;
    box-shadow:0 0 7px currentColor
}
.nx-unit-level-badge-hero {
    right:12px;
    top:12px;
    min-width:54px;
    height:28px;
    font-size:11px;
    border-color:rgba(99,216,255,.82);
    background:linear-gradient(180deg,rgba(8,38,60,.97),rgba(3,12,20,.98))
}
.nx-unit-slot.selected .nx-unit-level-badge {
    box-shadow:0 0 0 1px rgba(5,11,17,.85),0 0 18px rgba(99,216,255,.32)
}
.sim-unit-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(82px,.55fr);
    gap:6px;
    align-items:end
}
.sim-unit-row>span {
    grid-column:1/-1
}
.sim-level-field {
    position:relative
}
.sim-level-field:before {
    content:"NV";
    position:absolute;
    left:7px;
    top:50%;
    transform:translateY(-50%);
    font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.08em;
    opacity:.7;
    pointer-events:none
}
.sim-level-field input {
    padding-left:28px
}
.sim-level-mark {
    font:700 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
    letter-spacing:.1em;
    opacity:.75
}

.battle-unit-art-level {
    position:relative;
    display:block;
    flex:0 0 auto
}
.battle-unit-art-level img {
    display:block
}
.battle-unit-art-level .nx-unit-level-badge {
    right:4px;
    top:4px;
    transform:scale(.88);
    transform-origin:top right
}

/* v8.7.19 multilingual direction fidelity */
html[dir="rtl"] body {
    direction:rtl;
    text-align:right
}
html[dir="rtl"] .topbar,html[dir="rtl"] .hud,html[dir="rtl"] .panel header,html[dir="rtl"] .battle-why-metrics {
    direction:rtl
}
html[dir="rtl"] input,html[dir="rtl"] textarea,html[dir="rtl"] select {
    text-align:right
}
html[dir="rtl"] .resource-bar,html[dir="rtl"] .locale-switch {
    direction:rtl
}

/* v8.7.21 — Visual Fidelity XXI
   Cross-surface refinement: preserve Nova's established cockpit identity while
   improving density, hierarchy, readability, accessibility and RTL behavior. */
:root {

      --nx-bg-deep:#02060c;

      --nx-bg:#050b13;

      --nx-panel:rgba(7,20,34,.94);

      --nx-panel-strong:rgba(9,27,45,.97);

      --nx-panel-soft:rgba(8,23,38,.76);

      --nx-line-soft:rgba(88,177,226,.14);

      --nx-line:rgba(88,190,239,.25);

      --nx-line-strong:rgba(94,207,255,.42);

      --nx-text:#dcefff;

      --nx-text-soft:#9bb9ca;

      --nx-text-dim:#68899d;

      --nx-glow:rgba(53,194,255,.13);

      --nx-shadow:0 12px 34px rgba(0,0,0,.28);

      --nx-shadow-tight:0 6px 18px rgba(0,0,0,.22);

      --nx-radius:8px;

      --nx-radius-tight:5px;

      --nx-content:1720px;

}
html {
    scrollbar-color:#214c67 #040b12;
    scrollbar-width:thin
}
body.app-authenticated {
    
      radial-gradient(ellipse at 14% 18%,rgba(20,73,108,.10),transparent 31%),
      linear-gradient(180deg,var(--nx-bg),var(--nx-bg-deep) 72%)
}
body.app-authenticated:before {
    
    
    z-index:-1;


}
.space-haze {
    position:fixed;
    z-index:-1;
    
    pointer-events:none;
    
}

/* Layout / cockpit */
.command-shell {
    grid-template-columns:210px minmax(0,1fr);
    width:min(100%,var(--nx-content));
    max-width:var(--nx-content)
}
.command-shell>.content {
    padding:16px 18px 34px;
    min-width:0
}
.cockpit-topbar {
    
    
    padding-inline:18px;
    
    border-bottom-color:rgba(82,183,232,.22);
    
}
.cockpit-underbar {
    height:18px;
    opacity:.82
}
.cockpit-rail {


    border-right-color:rgba(82,183,232,.14);
    
}
.cockpit-rail a {
    border:1px solid transparent
}
.cockpit-rail a:hover {
    border-color:rgba(85,195,246,.13);
    background:linear-gradient(90deg,rgba(34,125,172,.13),rgba(14,43,65,.08))
}
.cockpit-rail a.active {
    border-color:rgba(83,203,255,.22);
    
    background:linear-gradient(90deg,rgba(23,112,158,.22),rgba(8,31,48,.15))
}
html[dir="rtl"] .cockpit-rail a.active {
    box-shadow:inset -2px 0 0 rgba(88,215,255,.72)
}

/* Shared surface hierarchy across all 88 views */
.content>h1,.content>header h1,.hero h1 {
    letter-spacing:-.025em;
    text-wrap:balance
}
.content>h1 {
    margin:4px 0 13px;
    font-size:clamp(24px,2.1vw,34px)
}
.content h2 {
    letter-spacing:-.012em
}
.eyebrow,.section-kicker,.panel-kicker {
    font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
    font-weight:700;
    letter-spacing:.115em
}
.panel,.tech,.cards article,.messages article,.nx-command-briefing,.operational-picture {
    border-color:var(--nx-line-soft);
    background:linear-gradient(180deg,var(--nx-panel-strong),var(--nx-panel));
    box-shadow:var(--nx-shadow-tight)
}
.panel {
    padding:15px 16px;
    margin-bottom:12px;
    border-radius:var(--nx-radius)
}
.panel>header:first-child,.section-head {
    margin-bottom:9px;
    padding-bottom:8px;
    border-bottom:1px solid rgba(105,194,235,.10)
}
.panel>header:first-child h2,.section-head h2 {
    margin:0
}
.panel p:last-child {
    margin-bottom:0
}
.cards,.tech-grid,.grid {
    gap:10px
}
.cards {
    margin-top:11px
}
.cards article,.tech {
    padding:14px
}
.hero {
    min-height:190px;
    padding:24px 26px;
    border-radius:10px;
    border-color:rgba(84,194,242,.27);
    box-shadow:var(--nx-shadow);
    background:linear-gradient(92deg,rgba(7,24,41,.985),rgba(7,31,52,.69)),radial-gradient(circle at 82% 45%,rgba(32,124,174,.48),transparent 42%)
}
.hero.mini {
    min-height:125px;
    padding-block:20px
}
.hero h1 {
    font-size:clamp(30px,3vw,44px);
    line-height:1.02
}
.hero p {
    max-width:78ch;
    color:var(--nx-text-soft);
    line-height:1.5
}

/* Dense information components */
.resources {
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px;
    margin-bottom:11px
}
.resources>div {
    min-width:0;
    padding:9px 11px;
    border-radius:6px;
    box-shadow:none
}
.resources span {
    font-size:9px;
    letter-spacing:.085em
}
.resources b {
    min-width:0;
    font-size:14px;
    font-variant-numeric:tabular-nums;
    overflow:hidden;
    text-overflow:ellipsis
}
.command-kpis,.preview-grid,.operational-picture-grid {
    gap:7px
}
.preview-grid article {
    padding:10px 11px;
    border-color:var(--nx-line-soft);
    border-radius:6px
}

/* Tables: compact desktop, readable mobile, stable large-number columns */
.table-wrap {
    border-color:var(--nx-line-soft);
    border-radius:6px;
    background:rgba(3,12,20,.45);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.018)
}
table,.table {
    font-variant-numeric:tabular-nums;
    background:transparent
}
th,td,.table th,.table td {
    padding:8px 9px;
    border-bottom-color:rgba(90,167,207,.10);
    vertical-align:middle
}
th,.table th {
    position:sticky;
    top:0;
    z-index:2;
    background:rgba(8,28,45,.97);
    color:#8bdcff;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.075em;
    box-shadow:0 1px 0 rgba(87,184,231,.18)
}
tbody tr {
    transition:background-color var(--xn-motion-micro) ease
}
tbody tr:hover {
    background:rgba(75,174,220,.045)
}
td {
    color:#c7deeb
}
td small {
    color:var(--nx-text-dim)
}

/* Forms and action hierarchy */
input,select,textarea {
    min-height:36px;
    padding:8px 9px;
    border-color:rgba(71,153,196,.35);
    border-radius:5px;
    background:rgba(4,16,27,.88);
    color:var(--nx-text);
    box-shadow:inset 0 1px 5px rgba(0,0,0,.18)
}
textarea {
    line-height:1.45
}
input:hover,select:hover,textarea:hover {
    border-color:rgba(85,185,230,.52)
}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible {
    outline:2px solid rgba(92,211,255,.82);
    outline-offset:2px
}
button,.button-link {
    min-height:34px;
    padding:7px 11px;
    border-radius:5px;
    letter-spacing:.01em;
    box-shadow:0 5px 14px rgba(0,0,0,.16);
    transition:filter var(--xn-motion-micro) ease,transform var(--xn-motion-micro) ease,border-color var(--xn-motion-micro) ease
}
button:hover,.button-link:hover {
    filter:brightness(1.12);
    transform:translateY(-1px)
}
button:active,.button-link:active {
    transform:translateY(0)
}
button.ghost,.ghost-link,.secondary-action {
    box-shadow:none;
    background:rgba(5,18,30,.38)
}
label {
    color:var(--nx-text-soft)
}

/* Status and empty-state readability */
.flash {
    top:72px;
    max-width:min(520px,calc(100vw - 28px));
    border-radius:6px;
    box-shadow:0 14px 34px rgba(0,0,0,.38)
}
.muted {
    color:var(--nx-text-dim);
    opacity:1
}
.risk,.level-badge,.class-badge {
    font-variant-numeric:tabular-nums
}
.empty-state,[data-empty="true"] {
    padding:20px;
    border:1px dashed rgba(92,180,224,.18);
    border-radius:6px;
    background:rgba(5,17,28,.38);
    color:var(--nx-text-soft)
}

/* RTL fidelity: mirror flow, keep telemetry/numbers stable where appropriate */
html[dir="rtl"] .command-shell {
    direction:rtl
}
html[dir="rtl"] .cockpit-rail {
    border-right:0;
    border-left:1px solid rgba(82,183,232,.14)
}
html[dir="rtl"] th,html[dir="rtl"] td,html[dir="rtl"] .table th,html[dir="rtl"] .table td {
    text-align:right
}
html[dir="rtl"] .table-wrap {
    direction:rtl
}
html[dir="rtl"] code,html[dir="rtl"] pre,html[dir="rtl"] .mono,html[dir="rtl"] [data-ltr] {
    direction:ltr;
    text-align:left
}
html[dir="rtl"] .coords,html[dir="rtl"] .sim-unit-row {
    direction:ltr
}

/* 1920×1080 target: use available width without turning the UI into a wall of cards */
@media(min-width:1600px) {

      .command-shell {
        grid-template-columns:214px minmax(0,1fr)
    }

      .command-shell>.content {
        padding-inline:20px
    }

      .tech-grid {
        grid-template-columns:repeat(4,minmax(210px,1fr))
    }

      .cards {
        grid-template-columns:repeat(4,minmax(0,1fr))
    }

      .fleet-form {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }

      .unit-picker {
        grid-template-columns:repeat(5,minmax(155px,1fr))
    }

}
@media(min-width:1900px) {

      :root {
        --nx-content:1840px
    }

      .command-shell {
        grid-template-columns:218px minmax(0,1fr)
    }

      .command-shell>.content {
        padding:15px 22px 36px
    }

      .resources {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }

}

/* Tablet / mobile: preserve speed and action accessibility instead of desktop density */
@media(max-width:1100px) {

      .command-shell {
        grid-template-columns:190px minmax(0,1fr)
    }

      .cockpit-primary-nav {
        gap:10px
    }

      .cards,.tech-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}
@media(max-width:900px) {

      .command-shell {
        display:block;
        width:100%
    }

      .command-shell>.content {
        padding:11px 10px 76px
    }

      .hero {
        min-height:160px;
        padding:18px
    }

      .resources {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

      .table-wrap {
        max-width:100%;
        -webkit-overflow-scrolling:touch
    }

      th,td,.table th,.table td {
        padding:8px
    }

      button,.button-link {
        min-height:40px
    }

}
@media(max-width:560px) {

      .resources {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:5px
    }

      .resources>div {
        padding:7px 8px
    }

      .panel {
        padding:12px;
        margin-bottom:9px
    }

      .hero {
        padding:15px;
        min-height:140px
    }

      .hero h1 {
        font-size:27px
    }

      .cards,.tech-grid {
        grid-template-columns:1fr
    }

      .grid2 {
        gap:9px
    }

      input,select,textarea {
        font-size:16px
    }
     /* prevents mobile browser zoom */
      .nx-lore-prologue {
        padding:13px 14px
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */
.reduce-motion button,.reduce-motion .button-link,.reduce-motion tbody tr {
    transition:none
}

/* v8.8.6 — Original Nova Art Pass II: high-detail production art with safe vector fallback. */
.nova-entity-art-hq {
    min-height:148px;
    overflow:hidden;
    background:radial-gradient(circle at 50% 46%,rgba(41,116,153,.18),rgba(3,10,17,.96) 72%)
}
.nova-entity-art-hq picture {
    display:block;
    position:absolute;
    inset:0;
    z-index:0
}
.nova-entity-art-hq picture img {
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    object-position:center 48%;
    filter:saturate(1.08) contrast(1.06);
    transform:scale(1.015)
}
.nova-entity-art-hq .entity-art-shade {
    background:linear-gradient(180deg,rgba(1,7,12,.02) 48%,rgba(1,7,12,.88) 100%)
}
.nova-entity-art-hq.entity-domain-buildings picture img {
    object-position:center 46%
}
.nova-entity-art-hq.entity-domain-research picture img {
    object-fit:contain;
    padding:4px 8px;
    background:radial-gradient(circle at center,rgba(26,75,104,.16),rgba(2,8,14,.94) 72%)
}
.building-command-card[data-building-key="titanium_mine"] .nova-entity-art-hq {
    box-shadow:inset 0 0 0 1px rgba(229,189,101,.28),0 0 24px rgba(229,189,101,.08)
}
@media(max-width:720px) {
    .nova-entity-art-hq {
        min-height:128px
    }

}
/* v8.8.7 — Living Universe visual integration: approved HQ art on persistent war-history surfaces. */
.event-chronicle-hero-hq {
    position:relative;
    display:grid;
    grid-template-columns:minmax(220px,32%) 1fr;
    gap:1.15rem;
    align-items:stretch;
    overflow:hidden
}
.event-chronicle-hero-art {
    min-height:190px
}
.event-chronicle-hero-art .nova-entity-art {
    height:100%;
    min-height:190px
}
.event-chronicle-hero-copy {
    align-self:center;
    position:relative;
    z-index:1
}
.event-chronicle-entry {
    grid-template-columns:84px minmax(120px,170px) 1fr;
    align-items:center
}
.event-chronicle-entry-art {
    width:84px;
    height:64px;
    display:block;
    overflow:hidden;
    border:1px solid rgba(91,183,232,.18);
    background:rgba(2,8,14,.78)
}
.event-chronicle-entry-art .nova-entity-art {
    min-height:64px;
    height:64px
}
.event-chronicle-entry-art .entity-art-shade,.event-chronicle-entry-art .entity-art-label {
    display:none
}
@media(max-width:700px) {
    .event-chronicle-hero-hq {
        grid-template-columns:1fr
    }
    .event-chronicle-hero-art {
        min-height:150px
    }
    .event-chronicle-entry {
        grid-template-columns:72px 1fr
    }
    .event-chronicle-entry>time {
        grid-column:2
    }
    .event-chronicle-entry>div {
        grid-column:2
    }
    .event-chronicle-entry-art {
        grid-row:1/span 2;
        width:72px;
        height:58px
    }

}

/* v8.9.3 X Nova — Visual Reality Convergence I. Approved reference captures are product visual authority. */
:root {
    --xn-panel:#06111b;
    --xn-panel2:#081723;
    --xn-line:#183e54;
    --xn-line-hot:#2c86ad;
    --xn-cyan:#38c8ff;
    --xn-blue:#54aef5;
    --xn-green:#72d86b;
    --xn-orange:#f2a23b;
    --xn-purple:#d264f3;
    --xn-red:#ff6559;
    --xn-shell:218px;
    --xn-right:286px
}
body.app-authenticated {
    
    font-family:"Segoe UI",Inter,system-ui,sans-serif;
    letter-spacing:.005em
}
body.app-authenticated:before {
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background:linear-gradient(rgba(65,159,199,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(65,159,199,.018) 1px,transparent 1px);
    
    mask-image:linear-gradient(#0008,transparent 78%)
}
.cockpit-topbar {
    height:76px!important;
    min-height:76px!important;
    padding:0 12px!important;
    display:grid!important;
    grid-template-columns:230px 170px minmax(520px,1fr) auto!important;
    gap:0!important;
    background:linear-gradient(180deg,#061522 0,#020911 100%)!important;
    border:1px solid #173c51!important;
    border-top:0!important;
    box-shadow:0 8px 28px #000c,inset 0 -1px rgba(71,189,232,.17)!important
}
.cockpit-brand {
    height:76px!important;
    min-width:0!important;
    padding:0 14px 0 6px!important;
    border-right:1px solid #16394d!important
}
.cockpit-brand .brand-mark {
    width:48px!important;
    height:48px!important;
    font-size:20px;
    clip-path:polygon(50% 0,86% 13%,100% 50%,78% 92%,50% 100%,22% 92%,0 50%,14% 13%)!important;
    background:radial-gradient(circle at 50% 45%,#0f6388,#04131d 70%)!important;
    box-shadow:inset 0 0 0 1px #62d9ff,0 0 20px #20c8ff38!important
}
.cockpit-brand>span:last-child {
    font-size:20px!important;
    line-height:1!important;
    letter-spacing:.08em!important;
    color:#eefbff
}
.cockpit-brand>span:last-child>b {
    color:#eefbff
}
.cockpit-brand small {
    font-size:9px!important;
    margin-top:6px!important;
    color:#40d2ff!important;
    letter-spacing:.14em!important
}
.cockpit-commander-id {
    height:76px;
    padding:12px 14px!important;
    display:grid!important;
    grid-template-columns:34px 1fr!important;
    grid-template-rows:auto 1fr!important;
    align-content:center;
    border-right:1px solid #14384b;
    background:linear-gradient(180deg,#071624,#030b12)
}
.cockpit-commander-id .commander-chevron {
    grid-row:1/3;
    width:30px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid #27536b;
    background:#081b28;
    color:#d79d55
}
.cockpit-commander-id small {
    font-size:8px;
    color:#3fd4ff!important;
    letter-spacing:.1em
}
.cockpit-commander-id b {
    font-size:14px;
    color:#fff!important;
    align-self:start
}
.cockpit-primary-nav {
    display:none!important
}
.topbar-actions {
    height:76px;
    padding-left:10px;
    gap:6px!important
}
.topbar-actions select {
    height:32px;
    padding:4px 7px;
    font-size:9px;
    border-radius:2px
}
.top-icon {
    width:35px;
    height:35px;
    border-radius:2px
}
.topbar-actions form:last-child button {
    font-size:8px;
    padding:8px
}
.cockpit-topbar:before,.cockpit-topbar:after,.cockpit-underbar {
    display:none!important
}
.nova-game-shell-v2 {
    
    
    background:#02070c!important
}
.cockpit-rail {
    height:calc(100vh - 76px)!important;


}
.rail-cap {
    
    
    border:1px solid #173e52!important;
    background:linear-gradient(135deg,#081b29,#031019)!important
}
.rail-cap span {
    font-size:18px!important;
    color:#3ccfff!important
}
.rail-cap b {
    font-size:10px;
    letter-spacing:.08em!important
}
.rail-cap small {
    font-size:8px!important;
    color:#4edb73!important
}
.rail-telemetry {
    display:none!important
}
.rail-quick-grid {
    
    gap:4px!important;
    margin:7px 0!important
}
.rail-quick-grid a {
    
    padding:7px 2px!important;
    border:1px solid #183b4e!important;
    border-radius:2px!important;
    background:linear-gradient(180deg,#071824,#030b12)!important
}
.rail-quick-grid a span {
    font-size:23px!important
}
.rail-quick-grid a b {
    font-size:8px!important
}
.rail-quick-grid a.active {
    border-color:#3dbde8!important;
    background:linear-gradient(180deg,#0b2a3d,#041019)!important;
    box-shadow:inset 0 -2px #2ec7f4,0 0 14px #20bde51a!important
}
.cockpit-rail .nav-section {
    margin:5px 0!important;
    border:1px solid #123346!important;
    background:#031019
}
.cockpit-rail .nav-section>span,.cockpit-rail .nav-section>summary {
    height:25px!important;
    padding:7px 8px!important;
    font-size:7px!important;
    color:#54c7ed!important;
    background:#071a27!important
}
.cockpit-rail .nav-section a {
    min-height:27px!important;
    padding:6px 9px!important;
    font-size:9px!important
}
.rail-footer {
    width:202px!important;
    left:7px!important;
    height:40px!important;
    grid-template-columns:repeat(5,1fr)!important
}

.nova-hud {
    height:76px!important;
    margin:0 0 6px!important;
    grid-template-columns:minmax(0,1fr)!important;
    border:0!important;
    background:transparent!important;
    clip-path:none!important;
    box-shadow:none!important
}
.nova-hud-world,.nova-hud-galaxy {
    display:none!important
}
.nova-hud-resources {
    grid-template-columns:repeat(7,minmax(90px,1fr))!important;
    border:1px solid #17394c;
    background:#030b12
}
.nova-hud-resources>div {
    padding:12px 14px!important;
    display:grid;
    grid-template-columns:26px 1fr;
    grid-template-rows:auto auto;
    align-content:center;
    border-right:1px solid #123448!important;
    background:linear-gradient(180deg,#061623,#02090f)!important
}
.nova-hud-resources>div:after {
    content:"◆";
    grid-row:1/3;
    grid-column:1;
    align-self:center;
    font-size:17px;
    color:currentColor;
    opacity:.85
}
.nova-hud-resources small {
    grid-column:2;
    font-size:8px!important
}
.nova-hud-resources b {
    grid-column:2;
    margin-top:4px!important;
    font-size:16px!important
}
.nova-hud-resources em {
    grid-column:2;
    margin-top:3px!important;
    font-size:8px!important;
    color:#58d77a!important
}
.game-view-frame {
    border:1px solid #153c52!important;
    background:#02080d!important;
    box-shadow:0 10px 30px #0007,inset 0 0 0 1px rgba(78,188,226,.025)!important
}
.game-view-bezel {
    height:42px!important;
    padding:0 14px!important;
    border-bottom:1px solid #1a465e!important;
    background:linear-gradient(90deg,#071a28,#031019)!important
}
.game-view-bezel span {
    font-size:9px!important;
    color:#51d1ff!important
}
.game-view-bezel b {
    font-size:15px!important;
    letter-spacing:.05em!important
}
.game-view-bezel em {
    font-size:8px
}
.game-view-body {
    padding:8px!important
}
.game-view-footer {
    height:24px!important;
    font-size:7px!important;
    color:#52788b!important
}

.world-rail-title {
    height:41px!important;
    padding:8px 10px!important
}
.world-rail-title small {
    font-size:8px!important;
    color:#45cdf7!important
}
.world-rail-title b {
    font-size:10px!important
}
.world-rail-active {
    padding:10px 6px!important
}
.world-rail-art {
    height:100px!important;
    width:150px!important
}
.world-rail-art svg {
    width:110px!important;
    height:90px!important
}
.world-rail-active strong {
    font-size:14px!important
}
.world-rail-node button {
    height:48px
}
.world-rail-node b {
    font-size:10px!important
}
.world-rail-node small {
    font-size:7px!important
}
.world-rail-status a {
    height:40px!important
}
.world-rail-actions a {
    height:34px!important;
    font-size:7px!important
}
.world-status-console {
    display:none!important
}
.nx-command-scene {
    grid-template-columns:205px minmax(0,1fr) 240px!important;
    min-height:320px!important
}
.nx-planet-visual {
    min-height:320px!important
}
.nx-planet-visual img {
    height:100%!important;
    object-fit:cover!important
}
.panel,.prestige-board,.event-conflict-card,.hall-season,.card{
    border-radius:2px;
    border-color:#173d52;
    background:linear-gradient(180deg,rgba(6,19,29,.98),rgba(2,9,15,.98));
    box-shadow:inset 0 0 0 1px rgba(73,184,226,.025),0 5px 18px rgba(0,0,0,.22)
}
.section-head {
    border-bottom:1px solid #14374a;
    padding-bottom:8px
}
.eyebrow {
    color:#46cfff!important;
    letter-spacing:.12em
}
.filters {
    display:flex;
    gap:6px;
    align-items:center;
    flex-wrap:wrap
}
.filters input,.filters select {
    width:auto;
    min-width:150px;
    border-radius:2px;
    background:#04111a
}
.archive-deep-links {
    display:flex;
    gap:6px;
    margin-top:8px
}
.archive-deep-links a {
    padding:4px 7px;
    border:1px solid #1e5873;
    background:#061b29;
    font-size:8px;
    text-transform:uppercase
}
.sector-timeline {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px
}
.sector-timeline article {
    padding:10px;
    border:1px solid #173c50;
    background:#04111a;
    display:grid;
    gap:5px
}
.sector-timeline time {
    font-size:8px;
    color:#607f91
}
.sector-timeline b {
    color:#55cffa;
    font-size:10px
}
.sector-timeline span {
    font-size:9px;
    color:#94aab8
}
.sector-timeline strong {
    color:#70d98a;
    font-size:13px
}
.sector-timeline small {
    color:#d9a255;
    font-size:8px
}
.counteroffensive-plan {
    margin:9px 0;
    border:1px solid #1d4d65;
    background:#031019
}
.counteroffensive-plan>summary {
    padding:8px;
    color:#5bd5ff;
    font-size:9px;
    cursor:pointer;
    text-transform:uppercase;
    letter-spacing:.08em
}
.counteroffensive-plan-form,.command-handoff-form {
    padding:8px;
    border-top:1px solid #153b50
}
.plan-meta,.plan-role-grid {
    display:grid;
    gap:6px
}
.plan-meta {
    grid-template-columns:1fr 1fr
}
.plan-role-grid {
    grid-template-columns:repeat(4,1fr);
    margin:7px 0
}
.plan-role-grid fieldset {
    min-width:0;
    border:1px solid #174156;
    padding:6px
}
.plan-role-grid legend {
    font-size:8px;
    color:#53caf0
}
.plan-role-grid label,.plan-meta label,.command-handoff-form label {
    display:grid;
    gap:3px;
    font-size:7px;
    color:#7395a7
}
.plan-role-grid input {
    padding:5px;
    font-size:9px
}
.command-handoff-form {
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px;
    align-items:end
}
.command-audit-trail {
    display:grid;
    gap:4px;
    padding:8px;
    border-top:1px solid #153b50
}
.command-audit-trail b {
    font-size:8px;
    color:#d197f0
}
.command-audit-trail small {
    font-size:7px;
    color:#7794a4
}
@media(max-width:1450px) {
    :root {
        --xn-shell:194px;
        --xn-right:228px
    }
    .cockpit-topbar {
        grid-template-columns:205px 145px minmax(430px,1fr) auto!important
    }
    .nova-hud-resources>div {
        padding:10px 8px!important
    }
    .nova-hud-resources b {
        font-size:13px!important
    }
    .sector-timeline {
        grid-template-columns:repeat(3,1fr)
    }

}
@media(max-width:1150px) {
    .cockpit-topbar {
        grid-template-columns:205px 1fr auto!important
    }
    .cockpit-commander-id {
        display:none!important
    }
    .nova-game-shell-v2 {
        grid-template-columns:var(--xn-shell) minmax(0,1fr)!important
    }
    .nova-world-rail {
        display:none!important
    }
    .nx-command-scene {
        grid-template-columns:175px minmax(0,1fr) 200px!important
    }
    .plan-role-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .sector-timeline {
        grid-template-columns:repeat(2,1fr)
    }

}
@media(max-width:850px) {
    .cockpit-topbar {
        height:58px!important;
        min-height:58px!important;
        grid-template-columns:1fr auto!important
    }
    .cockpit-brand {
        height:58px!important
    }
    .cockpit-brand .brand-mark {
        width:38px!important;
        height:38px!important
    }
    .topbar-actions {
        height:58px
    }
    .nova-game-shell-v2 {
        min-height:calc(100vh - 58px)!important
    }
    .nova-hud {
        height:auto!important
    }
    .nova-hud-resources {
        grid-template-columns:repeat(4,1fr)!important
    }
    .nova-hud-resources>div {
        grid-template-columns:18px 1fr!important;
        padding:7px 6px!important
    }
    .nova-hud-resources>div:after {
        font-size:12px
    }
    .nova-hud-resources small {
        font-size:6px!important
    }
    .nova-hud-resources b {
        font-size:11px!important
    }
    .nova-hud-resources em {
        font-size:6px!important
    }
    .nx-command-scene {
        grid-template-columns:1fr!important
    }
    .nx-production-panel,.nx-planet-info {
        display:none!important
    }
    .nx-planet-visual {
        min-height:260px!important
    }
    .nx-quick-ops {
        grid-template-columns:repeat(3,1fr)!important
    }
    .sector-timeline {
        grid-template-columns:1fr
    }
    .plan-role-grid,.plan-meta {
        grid-template-columns:1fr
    }
    .command-handoff-form {
        grid-template-columns:1fr
    }
    .game-view-bezel em {
        display:none
    }

}
/* v8.9.3 first-viewport rule: primary gameplay scene before supporting narrative intelligence. */
.xn-overview-secondary {
    margin-top:8px
}
.xn-overview-secondary>.command-briefing,.xn-overview-secondary>.nx-early-arc,.xn-overview-secondary>.nx-dynops,.xn-overview-secondary>.nx-consequence-memory {
    margin-block:8px
}


.xn-reference-surface .panel{
    border-color:#17465d;
    background:linear-gradient(180deg,rgba(5,20,31,.985),rgba(2,9,15,.99))
}
.xn-reference-surface .nova-entity-art-hq picture,.xn-reference-surface .nova-entity-art-hq img {
    image-rendering:auto;
    filter:contrast(1.035) saturate(1.04)
}
.xn-route-overview .game-view-body,.xn-route-imperium .game-view-body,.xn-route-galaxy .game-view-body,.xn-route-shipyard .game-view-body,.xn-route-tech-tree .game-view-body,.xn-route-technology-nexus .game-view-body,.xn-route-discovery .game-view-body {
    padding:6px!important
}
.counteroffensive-battle-plan {
    margin:8px;
    padding:9px;
    border:1px solid #1b4a63;
    background:linear-gradient(180deg,#061725,#031019)
}
.battle-plan-title {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:7px;
    border-bottom:1px solid #153b50
}
.battle-plan-title b {
    color:#e08cf5;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.battle-plan-title small {
    font-size:7px;
    color:#6fa18a
}
.battle-plan-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin:8px 0
}
.battle-plan-grid label {
    display:grid;
    gap:3px;
    font-size:7px;
    color:#7ea3b6
}
.battle-plan-grid input,.battle-plan-grid select {
    min-height:30px;
    padding:5px 6px;
    font-size:9px
}
.battle-plan-check {
    display:flex!important;
    align-items:center;
    gap:6px!important
}
.battle-plan-check input {
    min-height:auto;
    width:auto
}
.strategic-archive-map {
    overflow:hidden
}
.strategic-map-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:7px
}
.strategic-map-sector {
    position:relative;
    min-height:112px;
    padding:12px;
    overflow:hidden;
    border:1px solid #184760;
    background:radial-gradient(circle at 78% 38%,rgba(59,169,224,.10),transparent 40%),linear-gradient(145deg,#061827,#02090f);
    display:grid;
    align-content:end;
    gap:4px;
    text-decoration:none;
    color:#bcd6e4
}
.strategic-map-sector:before {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,transparent calc(100% - var(--archive-intensity)),rgba(53,192,241,.08));
    pointer-events:none
}
.strategic-map-glow {
    position:absolute;
    width:58px;
    height:58px;
    right:13px;
    top:13px;
    border:1px solid #2c7699;
    border-radius:50%;
    box-shadow:0 0 24px rgba(48,187,242,.14),inset 0 0 18px rgba(48,187,242,.10)
}
.strategic-map-glow:before,.strategic-map-glow:after {
    content:"";
    position:absolute;
    inset:9px;
    border:1px solid rgba(89,205,248,.28);
    transform:rotate(45deg)
}
.strategic-map-glow:after {
    inset:20px;
    border-radius:50%;
    transform:none
}
.strategic-map-sector b {
    font-size:10px;
    color:#54d4ff;
    letter-spacing:.055em;
    z-index:1
}
.strategic-map-sector strong {
    font-size:14px;
    color:#e6f6ff;
    z-index:1
}
.strategic-map-sector small {
    font-size:8px;
    color:#83a5b7;
    z-index:1
}
.strategic-map-sector em {
    font-size:7px;
    color:#d2a35e;
    font-style:normal;
    z-index:1
}
/* Reference-surface density: align primary views with the supplied cockpit compositions instead of generic SaaS spacing. */
.xn-reference-surface .section-head h2 {
    font-size:16px;
    letter-spacing:.035em;
    text-transform:uppercase
}
.xn-reference-surface .section-head .eyebrow {
    font-size:7px
}
.xn-reference-surface .card {
    min-width:0
}
.xn-route-shipyard .nx-unit-stage,.xn-route-discovery .exploration-hero,.xn-route-galaxy .galaxy-command-map {
    border-color:#1c5069!important;
    box-shadow:inset 0 0 0 1px rgba(80,205,250,.025),0 12px 28px rgba(0,0,0,.25)
}
.xn-route-shipyard .nx-unit-art-hero .nova-entity-art img,.xn-route-buildings .nx-inspector-art .nova-entity-art img,.xn-route-research .nx-inspector-art .nova-entity-art img {
    object-fit:contain!important;
    max-height:100%!important
}
@media(min-width:1600px) {
    .xn-route-operations #counteroffensives>.event-conflict-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .strategic-map-grid {
        grid-template-columns:repeat(5,minmax(0,1fr))
    }
    .xn-reference-surface .game-view-body {
        min-height:calc(100vh - 230px)
    }

}
@media(max-width:1150px) {
    .battle-plan-grid {
        grid-template-columns:repeat(2,1fr)
    }
    .strategic-map-grid {
        grid-template-columns:repeat(3,1fr)
    }

}
@media(max-width:850px) {
    .xn-route-operations #counteroffensives>.event-conflict-grid {
        grid-template-columns:1fr
    }
    .battle-plan-grid {
        grid-template-columns:1fr
    }
    .strategic-map-grid {
        grid-template-columns:1fr
    }
    .xn-reference-surface .game-view-body {
        padding:5px!important
    }

}

/* ===== visual-v896.css ===== */
/* X Nova v8.9.6 — Visual Source Fidelity II / Screen-by-Screen Runtime Convergence I
   USER-APPROVED REFERENCES are stored under docs/visual-targets/v8.9.6.
   This file intentionally separates screen convergence from the historical app.css cascade. */
:root {

     --xn896-bg:#01070c;
    --xn896-panel:#04111a;
    --xn896-panel2:#071a26;
    --xn896-line:#153e54;
    --xn896-line2:#215d78;

     --xn896-cyan:#4fd5ff;
    --xn896-blue:#2e9ee8;
    --xn896-green:#62df79;
    --xn896-orange:#f0a33a;
    --xn896-purple:#d36af3;

     --xn896-red:#ff554f;
    --xn896-text:#e0edf4;
    --xn896-soft:#8ca7b7;
    --xn896-dim:#58778a;
    --xn896-left:214px;
    --xn896-right:286px;

}
body.app-authenticated {
    background:#01070c!important;
    color:var(--xn896-text)
}
body.app-authenticated:before {
    background-image:linear-gradient(rgba(66,181,226,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(66,181,226,.013) 1px,transparent 1px)!important;
    background-size:46px 46px!important
}
.stars {
    opacity:.16!important;
    background-size:43px 43px!important
}
.space-haze {
    inset:72px 0 0!important;
    background:radial-gradient(circle at 52% 6%,rgba(28,113,160,.08),transparent 26%),radial-gradient(circle at 90% 34%,rgba(28,70,112,.07),transparent 32%)!important
}

/* ---- Command Network shell: references use the resource telemetry in the header, not a second HUD band. ---- */
.xn-command-header {
    height:76px!important;
    min-height:76px!important;
    display:grid!important;
    grid-template-columns:236px 174px minmax(590px,1fr) 290px!important;
    gap:0!important;
    padding:0 8px!important;
    background:linear-gradient(180deg,rgba(2,10,17,.99),rgba(2,8,14,.99))!important;
    border-bottom:1px solid #173d51!important;
    box-shadow:0 8px 30px rgba(0,0,0,.45)!important
}
.xn-command-header>* {
    min-width:0;
    height:76px;
    border-right:1px solid #102e40
}
.xn-command-header>*:last-child {
    border-right:0
}
.xn-command-header .cockpit-brand {
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 12px!important;
    height:76px!important;
    border:0!important;
    background:linear-gradient(90deg,#061827,#020a11)!important
}
.xn-command-header .brand-mark {
    display:grid!important;
    place-items:center!important;
    width:48px!important;
    height:48px!important;
    border:1px solid #1c6c8e!important;
    clip-path:polygon(50% 0,88% 18%,100% 50%,78% 88%,50% 100%,22% 88%,0 50%,12% 18%)!important;
    background:radial-gradient(circle,#0e4969,#031522 65%)!important;
    color:#66dfff!important;
    font:800 23px/1 ui-monospace,monospace!important;
    box-shadow:0 0 20px rgba(31,182,240,.12)!important
}
.xn-command-header .cockpit-brand>span:last-child {
    display:grid;
    gap:2px
}
.xn-command-header .cockpit-brand b {
    font-size:20px!important;
    letter-spacing:.12em!important;
    color:#fff!important
}
.xn-command-header .cockpit-brand small {
    font-size:9px!important;
    letter-spacing:.11em!important;
    color:#41c9f4!important
}
.xn-command-header .cockpit-commander-id {
    display:grid!important;
    grid-template-columns:32px 1fr!important;
    grid-template-rows:18px 24px 14px!important;
    gap:0 7px!important;
    align-content:center!important;
    padding:7px 9px!important;
    background:#020b12!important
}
.xn-command-header .commander-chevron {
    grid-row:1/4!important;
    width:30px;
    height:42px;
    display:grid;
    place-items:center;
    border:1px solid #284657;
    background:#07141d;
    color:#c3d7e2!important
}
.xn-command-header .cockpit-commander-id small {
    font-size:8px;
    color:#4ed0f8!important
}
.xn-command-header .cockpit-commander-id b {
    font-size:14px;
    color:#fff!important;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn-command-header .cockpit-commander-id em {
    font-size:8px!important;
    color:#839aa8!important;
    font-style:normal!important
}
.xn-header-resources {
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr));
    height:76px!important;
    background:#020910
}
.xn-header-resource {
    display:grid;
    grid-template-columns:29px 1fr;
    align-items:center;
    padding:8px 9px;
    border-right:1px solid #102c3c;
    color:#dcecf4;
    text-decoration:none;
    min-width:0
}
.xn-header-resource:last-child {
    border-right:0
}
.xn-header-resource>i {
    font-style:normal;
    font-weight:800;
    font-size:10px;
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    transform:rotate(45deg);
    border:1px solid currentColor;
    background:color-mix(in srgb,currentColor 10%,#031019);
    opacity:.9
}
.xn-header-resource>i::first-letter {
    transform:rotate(-45deg)
}
.xn-header-resource span {
    display:grid;
    min-width:0
}
.xn-header-resource small {
    font-size:7px!important;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:currentColor;
    opacity:.92
}
.xn-header-resource b {
    font-size:14px!important;
    font-weight:500!important;
    color:#f2f7fa;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn-header-resource em {
    font-size:8px!important;
    font-style:normal;
    color:#5bdd78
}
.xn-header-resource.metal {
    color:#a8bfd0
}
.xn-header-resource.titanium {
    color:#71d85f
}
.xn-header-resource.crystal {
    color:#4dbafa
}
.xn-header-resource.deuterium {
    color:#f2a238
}
.xn-header-resource.energy {
    color:#e379f5
}
.xn-header-status {
    display:grid!important;
    grid-template-columns:68px 68px minmax(94px,1fr) 48px;
    height:76px;
    background:#020910
}
.xn-header-status>a {
    display:grid;
    place-items:center;
    align-content:center;
    gap:3px;
    border-right:1px solid #102c3c;
    color:#d9e8ef
}
.xn-header-status small {
    font-size:7px;
    color:#66cdec;
    letter-spacing:.07em
}
.xn-header-status b {
    font-size:16px;
    font-weight:500
}
.xn-header-status em {
    font-size:8px;
    color:#8aa3b1;
    font-style:normal
}
.xn-server-clock b {
    font:500 12px ui-monospace,monospace!important
}
.xn-system-menu {
    position:relative;
    height:76px;
    display:grid;
    place-items:center
}
.xn-system-menu>summary {
    list-style:none;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #173d51;
    background:#061522;
    cursor:pointer;
    font-size:20px
}
.xn-system-menu>summary::-webkit-details-marker {
    display:none
}
.xn-system-menu>div {
    position:absolute;
    right:0;
    top:72px;
    width:250px;
    padding:10px;
    z-index:60;
    border:1px solid #1a4c65;
    background:#031019;
    box-shadow:0 18px 40px #000c;
    display:grid;
    gap:8px
}
.xn-system-menu:not([open])>div {
    display:none
}
.xn-system-menu label {
    font-size:8px;
    color:#72a8c2
}
.xn-system-menu select {
    min-height:32px;
    font-size:10px
}
.xn-system-menu nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px
}
.xn-system-menu nav a {
    padding:7px;
    border:1px solid #163a4d;
    background:#061824;
    font-size:9px
}
.xn-premium-readout {
    display:grid;
    grid-template-columns:auto 1fr auto 1fr;
    gap:5px;
    padding:6px;
    border:1px solid #17394c
}
.xn-premium-readout small {
    font-size:7px
}
.xn-premium-readout b {
    font-size:10px
}

/* ---- Main three-rail cockpit ---- */
.nova-game-shell-v2 {
    width:100%!important;
    max-width:none!important;
    grid-template-columns:var(--xn896-left) minmax(0,1fr) var(--xn896-right)!important;
    margin:0!important;
    min-height:calc(100vh - 76px)!important
}
.cockpit-rail {
    top:76px!important;
    min-height:calc(100vh - 76px)!important;
    max-height:calc(100vh - 76px)!important;
    width:auto;
    background:linear-gradient(180deg,#031019,#02080d)!important;
    border-right:1px solid #173d51!important;
    padding:7px!important
}
.nova-world-rail {
    top:76px!important;
    height:calc(100vh - 76px)!important;
    width:auto!important;
    background:linear-gradient(180deg,#031019,#02080d)!important;
    border-left:1px solid #173d51!important;
    padding:7px!important
}
.nova-stage {
    padding:6px 7px 42px!important;
    background:transparent!important
}
.cockpit-underbar,.nova-hud {
    display:none!important
}
.rail-cap {
    height:50px!important;
    padding:7px 9px!important;
    border-radius:1px!important
}
.rail-quick-grid {
    grid-template-columns:repeat(3,1fr)!important
}
.rail-quick-grid a {
    height:60px!important
}
.cockpit-rail .nav-section {
    border-radius:1px!important
}
.cockpit-rail .nav-section a {
    border-radius:0!important
}
.world-rail-title,.world-rail-active,.world-rail-node,.world-rail-status,.world-rail-actions {
    border-radius:1px!important
}

/* References are screen-specific. Remove generic outer card/chrome for them. */
.xn-reference-surface .game-view-frame {
    border:0!important;
    background:transparent!important;
    
    
}
.xn-reference-surface .game-view-bezel,.xn-reference-surface .game-view-footer {
    display:none!important
}
.xn-reference-surface .game-view-body {
    
    
    min-height:calc(100vh - 132px)!important
}
.xn-reference-surface .panel{
    border-radius:2px
}
.xn-reference-surface .section-head {
    margin-bottom:7px!important
}
.xn-reference-surface h1,.xn-reference-surface h2,.xn-reference-surface h3 {
    font-weight:500
}

/* ---- Overview: planet hero + resource/queue/fleet telemetry, matching the supplied compositions. ---- */


.xn-route-overview .nx-planet-facts span {
    padding-inline:11px!important
}

.xn-route-overview .nx-production-panel,.xn-route-overview .nx-planet-info {
    
    border-radius:0!important
}
.xn-route-overview .nx-production-panel h2,.xn-route-overview .nx-planet-info h2 {
    
    letter-spacing:.06em
}

.xn-route-overview .nx-planet-visual {
    
    border-top:1px solid #18445d;
    border-bottom:1px solid #18445d
}


.xn-route-overview .nx-quick-ops {
    padding:5px!important
}


/* ---- Imperium: dominant command map, selected world inspector, dense planet deck. ---- */
.xn-route-imperium .empire-command-surface {
    display:grid;
    gap:6px
}

/* ---- Galaxy/Fleet Command: tactical map first, intel/actions adjacent, mission composition immediately below. ---- */
.xn-route-galaxy .galaxy-command-head {
    
    margin:0 0 6px!important;
    border-radius:2px!important;
    padding:8px 12px
}
.xn-route-galaxy .galaxy-command-shell {
    grid-template-columns:178px minmax(0,1fr)!important;
    
}
.xn-route-galaxy .galaxy-system-console {
    top:82px!important;
    padding:9px!important
}
.xn-route-galaxy .stellar-core {
    height:116px!important;
    border-radius:2px!important;
    margin:8px 0!important
}
.xn-route-galaxy .galaxy-env-kpis {
    gap:4px!important
}
.xn-route-galaxy .galaxy-env-kpis div {
    padding:5px!important;
    border-radius:2px!important
}

.xn-route-galaxy .nx-system-stage {
    
    border-radius:2px!important;
    background:radial-gradient(circle at center,rgba(20,104,147,.2),rgba(2,8,14,.92) 37%,#01070c 75%)!important
}
.xn-route-galaxy .nx-target-intel-panel {
    border-radius:2px!important
}
.xn-route-galaxy .orbit-command-grid {
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    
}
.xn-route-galaxy .orbit-command-card {
    min-height:145px!important;
    border-radius:2px!important;
    padding:8px!important
}

/* ---- Shipyard: single hero unit, technical inspector, dense catalog strip. ---- */
.xn-route-shipyard .nx-shipyard-command {
    gap:6px!important
}
.xn-route-shipyard .nx-unit-stage {
    
    border-radius:2px!important
}
.xn-route-shipyard .nx-unit-art-hero {
    min-height:280px!important
}

.xn-route-shipyard .nx-unit-art-hero .nova-entity-art-hq picture img {
    object-fit:contain!important;
    padding:0!important
}
.xn-route-shipyard .nx-unit-inspector {
    border-radius:2px!important
}

.xn-route-shipyard .nx-unit-catalog a {
    border-radius:2px!important
}
.xn-route-shipyard .nx-unit-catalog .nova-entity-art-hq {
    min-height:105px!important
}

/* ---- Discovery / Dynamic Operations ---- */
.xn-route-discovery .exploration-hero {
    border-radius:2px!important
}
.xn-route-discovery .discovery-command-grid {
    gap:6px!important
}
.xn-route-operations .nx-dynops {
    border-color:#1b4f69!important;
    background:linear-gradient(180deg,#04131e,#02080d)!important
}
.xn-route-operations .nx-dynops article {
    border-radius:2px!important
}

/* ---- Battle report: one combat screen, not a sequence of generic panels. ---- */
.xn-route-battle-report .battle-continuity-bar {
    margin:0 0 6px!important;
    border-radius:2px!important
}

/* ---- Auth / induction: current X Nova brand, same visual quality as command network. ---- */
body.app-guest.xn-reference-surface {
    background:radial-gradient(circle at 24% 62%,rgba(19,79,113,.17),transparent 27%),radial-gradient(circle at 78% 25%,rgba(65,34,101,.12),transparent 29%),#01070c!important
}

/* ---- Production art: source-faithful 1024x640 assets should be shown without aggressive crop. ---- */
.xn-reference-surface .nova-entity-art-hq picture img {
    object-fit:contain!important;
    object-position:center!important;
    transform:none!important;
    filter:contrast(1.025) saturate(1.03)!important;
    background:#02080d!important
}
.xn-reference-surface .entity-domain-research picture img {
    padding:3px!important
}

@media(min-width:1700px) {
    :root {
        --xn896-left:220px;
        --xn896-right:300px
    }
    .xn-command-header {
        grid-template-columns:250px 190px minmax(670px,1fr) 310px!important
    }
    .xn-route-overview .nx-command-scene {
        grid-template-columns:210px minmax(0,1fr) 250px!important
    }
    .xn-route-imperium .empire-command-grid {
        grid-template-columns:minmax(0,1.72fr) 330px!important
    }
    .xn-route-galaxy .nx-galaxy-focus-grid {
        grid-template-columns:minmax(0,1.75fr) 315px!important
    }

}
@media(max-width:1350px) {
    :root {
        --xn896-left:194px;
        --xn896-right:248px
    }
    .xn-command-header {
        grid-template-columns:210px 145px minmax(480px,1fr) 255px!important
    }
    .xn-header-resource {
        padding:7px 6px
    }
    .xn-header-resource>i {
        width:21px;
        height:21px
    }
    .xn-header-resource b {
        font-size:12px!important
    }
    .xn-route-imperium .empire-world-deck {
        grid-template-columns:repeat(3,minmax(0,1fr))!important
    }
    .xn-route-shipyard .nx-unit-catalog {
        grid-template-columns:repeat(4,minmax(0,1fr))!important
    }

}
@media(max-width:1100px) {
    .xn-command-header {
        grid-template-columns:205px minmax(0,1fr) 235px!important
    }
    .xn-command-header .cockpit-commander-id {
        display:none!important
    }
    .nova-game-shell-v2 {
        grid-template-columns:var(--xn896-left) minmax(0,1fr)!important
    }
    .nova-world-rail {
        display:none!important
    }
    .xn-route-overview .nx-command-scene {
        grid-template-columns:165px minmax(0,1fr) 190px!important
    }
    .xn-route-imperium .empire-command-grid,.xn-route-galaxy .nx-galaxy-focus-grid,.xn-route-technology-nexus .nexus-layout,.xn-route-tech-tree .nexus-layout {
        grid-template-columns:1fr!important
    }
    .xn-route-imperium .empire-world-inspector {
        position:static!important
    }

}
@media(max-width:850px) {
    .xn-command-header {
        height:58px!important;
        min-height:58px!important;
        grid-template-columns:155px minmax(0,1fr) 86px!important
    }
    .xn-command-header>* {
        height:58px
    }
    .xn-command-header .cockpit-brand {
        height:58px!important;
        padding:5px 7px!important
    }
    .xn-command-header .brand-mark {
        width:36px!important;
        height:36px!important;
        font-size:17px!important
    }
    .xn-command-header .cockpit-brand b {
        font-size:14px!important
    }
    .xn-command-header .cockpit-brand small {
        font-size:6px!important
    }
    .xn-header-resources {
        height:58px!important
    }
    .xn-header-resource {
        grid-template-columns:1fr;
        padding:5px;
        text-align:center
    }
    .xn-header-resource>i,.xn-header-resource small,.xn-header-resource em {
        display:none!important
    }
    .xn-header-resource b {
        font-size:10px!important
    }
    .xn-header-status {
        height:58px;
        grid-template-columns:43px 43px
    }
    .xn-header-status .xn-server-clock,.xn-header-status .xn-system-menu {
        display:none
    }
    .nova-game-shell-v2 {
        display:block!important
    }
    .nova-stage {
        padding:5px 5px 72px!important
    }
    .cockpit-rail {
        display:none!important
    }
    .xn-reference-surface .game-view-body {
        min-height:auto!important
    }
    .xn-route-overview .nx-production-panel,.xn-route-overview .nx-planet-info {
        display:grid!important;
        grid-template-columns:repeat(2,1fr)
    }
    .xn-route-overview .nx-overview-lower,.xn-route-overview .nx-overview-bottom {
        grid-template-columns:1fr!important
    }
    .xn-route-imperium .empire-orbit-map {
        min-height:390px!important
    }
    .xn-route-imperium .empire-world-deck {
        grid-template-columns:1fr!important
    }
    .xn-route-galaxy .galaxy-command-shell {
        grid-template-columns:1fr!important
    }
    .xn-route-galaxy .galaxy-system-console {
        position:static
    }
    .xn-route-galaxy .nx-system-stage {
        min-height:390px!important
    }
    .xn-route-shipyard .nx-unit-catalog {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .xn-route-battle-report .battle-report-versus {
        grid-template-columns:1fr!important
    }
    .xn-route-battle-report .battle-versus-core {
        min-height:52px!important
    }
    .xn-route-battle-report .battle-unit-grid {
        grid-template-columns:1fr!important
    }

}
/* Counteroffensive Execution Windows VI */
.counteroffensive-execution-windows {
    margin:8px 0;
    padding:8px;
    border:1px solid #1a4b63;
    background:#020d14
}
.counteroffensive-execution-windows>header {
    display:flex;
    justify-content:space-between;
    gap:8px;
    align-items:center;
    margin-bottom:6px
}
.counteroffensive-execution-windows>header b {
    font-size:9px;
    color:#5bd8ff;
    letter-spacing:.08em;
    text-transform:uppercase
}
.counteroffensive-execution-windows>header small {
    font-size:7px;
    color:#7898a8
}
.execution-window-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px
}
.execution-window {
    display:grid;
    gap:5px;
    padding:7px;
    border:1px solid #183e51;
    background:linear-gradient(180deg,#061722,#020a10);
    color:#cbdde6
}
.execution-window>span {
    display:grid;
    grid-template-columns:9px 1fr auto;
    align-items:center;
    gap:5px
}
.execution-window i {
    width:7px;
    height:7px;
    border-radius:50%;
    background:#506f80;
    box-shadow:0 0 8px currentColor
}
.execution-window b {
    font-size:8px;
    text-transform:uppercase
}
.execution-window em {
    font-size:6px;
    font-style:normal;
    color:#6e8c9b
}
.execution-window small {
    font-size:7px;
    color:#7896a6
}
.execution-window time {
    font:7px ui-monospace,monospace;
    color:#9bb9c8
}
.execution-window.state-open {
    border-color:#2b8b75;
    background:linear-gradient(180deg,#06221e,#02100e)
}
.execution-window.state-open i {
    background:#5be08c;
    color:#5be08c
}
.execution-window.state-scheduled i {
    background:#4fcdf4;
    color:#4fcdf4
}
.execution-window.state-closed {
    opacity:.55
}
.execution-window.state-closed i {
    background:#566773;
    color:#566773
}
@media(max-width:850px) {
    .execution-window-grid {
        grid-template-columns:1fr
    }

}

/* ===== visual-v897.css ===== */
/* X Nova v8.9.7 — Live Visual Certification + Screen Convergence II
   Source-of-truth rule: screen-specific presentation may use only runtime HTML/CSS and visual assets whose provenance is recorded in X-NOVA-v8.9.7-SCREEN-ART-SOURCE-MAP.json.
   This file does not claim LIVE_RUNTIME_CERTIFIED status by itself. */
:root {
    --xn897-cyan:#58d8ff;
    --xn897-blue:#0c79a8;
    --xn897-line:#17475e;
    --xn897-panel:#041019;
    --xn897-panel2:#02090f;
    --xn897-text:#d6e6ee;
    --xn897-muted:#6f8c9b;
    --xn897-green:#5ddc82;
    --xn897-orange:#e59a35;
    --xn897-purple:#c16add
}
.xn-reference-surface .game-view-frame {
    background:linear-gradient(180deg,rgba(5,20,30,.96),rgba(1,7,11,.98));
    border-color:#163f54!important;
    box-shadow:0 0 0 1px #01070b inset,0 18px 42px rgba(0,0,0,.28)!important
}
.xn-reference-surface .game-view-bezel {
    height:29px!important;
    min-height:29px!important;
    background:linear-gradient(90deg,#061a27,#020a10 72%,#061723)!important;
    border-bottom:1px solid #1a4b63!important
}

.xn-reference-surface .panel,.xn-reference-surface .nx-surface-panel,.xn-reference-surface .nx-queue-panel,.xn-reference-surface .nx-fleet-board,.xn-reference-surface .nx-events-board {
    border:1px solid #153f54;
    background:linear-gradient(180deg,rgba(4,17,26,.98),rgba(2,9,14,.99));
    box-shadow:inset 0 1px rgba(93,192,232,.035)
}
.xn-reference-surface h1,.xn-reference-surface h2 {
    font-weight:500!important
}
.xn-reference-surface h1 {
    letter-spacing:.035em
}
.xn-reference-surface h2 {
    letter-spacing:.045em
}

/* Overview — target: command planet hero, telemetry first, queues under hero. */


.xn-route-overview .nx-planet-visual {
    
    
    background:#02090f!important;
    
}

.xn-route-overview .nx-planet-overlay {
    background:linear-gradient(180deg,transparent 0,rgba(0,5,9,.15) 45%,rgba(0,5,9,.86) 100%)!important;
    padding:14px!important
}
.xn-route-overview .nx-planet-overlay b {
    font-size:23px!important
}


.xn-route-overview .nx-quick-ops a {
    
    
    border-color:#17445a!important
}


/* Galaxy/Fleet Command — live orbital nodes on approved tactical starfield. */
.xn-route-galaxy .nx-system-stage {
    
    background-image:linear-gradient(rgba(1,8,13,.30),rgba(1,8,13,.38)),url("/assets/visual-v897/galaxy-system-map.webp")!important;
    background-size:cover!important;
    background-position:center!important;
    
}
.xn-route-galaxy .nx-system-orbits {
    opacity:.72
}
.xn-route-galaxy .nx-orbit-node {
    background:rgba(2,12,18,.62)!important;
    backdrop-filter:blur(2px)
}


.xn-route-galaxy .galaxy-tactical-table-wrap {
    border-color:#16445a
}

/* Shipyard — hangar depth behind the actual selected production asset. */
.xn-route-shipyard .nx-unit-stage {
    
    background-image:linear-gradient(90deg,rgba(1,8,13,.20),rgba(1,8,13,.48)),url("/assets/visual-v897/shipyard-hangar.webp")!important;
    background-size:cover!important;
    background-position:center!important;
    border-color:#1b516a!important
}
.xn-route-shipyard .nx-unit-art-hero {
    filter:drop-shadow(0 16px 22px rgba(0,0,0,.65)) drop-shadow(0 0 10px rgba(72,191,234,.15))!important
}
.xn-route-shipyard .nx-unit-inspector {
    background:#03111a!important
}
.xn-route-shipyard .nx-unit-slot {
    background:linear-gradient(180deg,#04131d,#02090e)!important
}

/* Operations/Discovery — distinct operational theater, not generic panels. */
.xn-route-operations .strategic-command-map {
    background-image:linear-gradient(rgba(1,8,12,.75),rgba(1,8,12,.82)),url("/assets/visual-v897/operations-sector.webp")!important;
    background-size:cover!important;
    background-position:center!important
}
.xn-route-discovery .anomaly-map-canvas {
    background:radial-gradient(circle at 52% 48%,rgba(106,54,167,.24),transparent 15%),radial-gradient(circle at 50% 50%,rgba(29,112,161,.14),transparent 42%),#01080d!important;
    border:1px solid #1a4d66!important
}

/* Senate, Rankings, Prestige — visual identities use approved target-derived environmental art. */
.xn-route-senators .senate-chamber-art,.xn-route-senate .senate-chamber-art {
    background-image:linear-gradient(rgba(2,8,13,.10),rgba(2,8,13,.46)),url("/assets/visual-v897/senate-chamber.webp")!important;
    background-size:cover!important;
    background-position:center!important;
    min-height:245px!important
}

/* v8.9.7 execution-window enforcement presentation. */
.execution-window.state-open {
    box-shadow:inset 0 0 0 1px rgba(73,211,139,.12),0 0 12px rgba(47,180,132,.08)!important
}
.execution-window-enforcement {
    display:inline-flex;
    align-items:center;
    gap:5px;
    padding:3px 6px;
    border:1px solid #24566d;
    background:#03121a;
    color:#8db3c5;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.08em
}
.execution-window-enforcement.enforced {
    border-color:#2b7c65;
    color:#66df9a
}
.execution-window-enforcement.legacy {
    border-color:#725b2d;
    color:#e2b969
}

@media(max-width:850px) {
    .xn-route-overview .nx-command-scene {
        grid-template-columns:1fr!important
    }
    .xn-route-imperium .empire-orbit-map,.xn-route-galaxy .nx-system-stage {
        min-height:390px!important
    }
    .xn-route-ranking .war-records-grid {
        grid-template-columns:1fr!important
    }
    .xn-route-shipyard .nx-unit-stage {
        min-height:300px!important
    }

}

/* ===== visual-v898.css ===== */
/* X Nova v8.9.8 — Runtime Visual Closure I / Screen Convergence III
   Static closure is not runtime certification. The rules below target the five P0 surfaces
   against the user-approved 1536x1024 references while keeping all telemetry/actions live. */
:root {
    --xn898-cyan:#52d7ff;
    --xn898-line:#174a62;
    --xn898-deep:#01070b;
    --xn898-panel:rgba(3,14,22,.965);
    --xn898-soft:rgba(7,26,38,.92);
    --xn898-green:#61df80;
    --xn898-amber:#f0a336
}
.xn-reference-surface .game-view-frame {
    border-radius:0!important
}
.xn-reference-surface .game-view-bezel {
    display:none!important
}
.xn-reference-surface .game-view-body {
    padding:5px!important
}
.xn-reference-surface .game-view-footer {
    height:22px!important;
    min-height:22px!important;
    font-size:9px!important;
    letter-spacing:.22em
}
@media(min-width:1180px) {
    .app-authenticated .command-shell {
        grid-template-columns:210px minmax(0,1fr) 248px!important;
        gap:5px!important
    }
    .app-authenticated .cockpit-topbar {
        min-height:68px!important
    }
    .app-authenticated .nova-world-rail {
        width:auto!important
    }

}

/* P0-1 OVERVIEW: planet-command hero first, horizontal resource band, dense queues/ops. */


.xn-route-overview .nx-production-panel h2,.xn-route-overview .nx-planet-info h2 {
    font-size:11px!important;
    color:var(--xn898-cyan)!important
}
.xn-route-overview .nx-production-row {
    
    padding:5px 7px!important
}
.xn-route-overview .nx-quick-ops {
    order:3!important
}


.xn-route-overview .xn-overview-secondary {
    margin-top:7px!important;
    border-top:1px solid #10384b;
    padding-top:7px
}

/* P0-2 IMPERIUM: one command map, inspector and dense world deck rather than dashboard cards. */
.xn-route-imperium .empire-command-header {
    min-height:54px!important;
    padding:7px 10px
}

/* P0-3 GALAXY/FLEET COMMAND: map + target intelligence + mission composer in a single tactical workspace. */
.xn-route-galaxy .galaxy-command-shell {
    gap:5px!important
}


.xn-route-galaxy .galaxy-tactical-table-wrap {
    
    overflow:auto
}
.xn-route-galaxy .orbit-command-grid {
    gap:4px!important
}
.xn-route-galaxy .galaxy-game-scene {
    margin-bottom:5px!important
}

/* P0-4 SHIPYARD: dominant selected ship, compact hard stats, catalog dock. */


.xn-route-shipyard .nx-inspector-cost {
    grid-template-columns:repeat(2,1fr)!important
}

/* Phase II remains converged but deliberately not marked visually closed in this release. */
.xn-route-operations .operations-command-center,.xn-route-discovery .discovery-command-center,.xn-route-battle-report .battle-report-shell,.xn-route-senators .senate-command,.xn-route-ranking .war-records-center,.xn-route-objectives .prestige-center {
    outline-color:transparent
}

/* Doctrine enforcement readout. */
.execution-window .doctrine-lock {
    display:inline-flex;
    gap:4px;
    align-items:center;
    color:#8fb4c5;
    font-size:10px
}
.execution-window.state-open .doctrine-lock {
    color:var(--xn898-green)
}
.counteroffensive-execution-windows .execution-window {
    position:relative
}
.counteroffensive-execution-windows .execution-window:after {
    content:"DOCTRINE";
    position:absolute;
    right:5px;
    bottom:4px;
    font-size:8px;
    letter-spacing:.15em;
    color:#50798c
}

/* D18: dead responsive legacy retired by D18. */

/* ===== visual-v899.css ===== */
/* X Nova v8.9.9 — Runtime Visual Closure II / Screen Convergence IV
   P0 static convergence is tightened, but LIVE_RUNTIME_CERTIFIED remains forbidden without authenticated 1536x1024 captures. */
:root {
    --xn899-cyan:#45d5ff;
    --xn899-line:#153f55;
    --xn899-panel:rgba(2,11,18,.975);
    --xn899-soft:rgba(5,21,31,.94);
    --xn899-gold:#e0a648
}
.xn-reference-surface .nova-stage {
    background:radial-gradient(circle at 48% 18%,rgba(21,69,94,.12),transparent 31%),#01060a!important
}
.xn-reference-surface .game-view-body {
    background:linear-gradient(180deg,rgba(3,13,20,.98),rgba(1,7,11,.995))!important
}
@media(min-width:1280px) {
    .app-authenticated .command-shell {
        grid-template-columns:216px minmax(0,1fr) 256px!important
    }
    .app-authenticated .nova-stage {
        min-width:0
    }
    .app-authenticated .cockpit-topbar {
        height:70px!important;
        min-height:70px!important
    }

}
/* Overview: force a single command theater above the fold, with queues and surface immediately beneath. */
.xn-route-overview .nx-overview-console {
    display:grid;
    grid-template-rows:auto auto auto auto;
    gap:4px!important
}


.xn-route-overview .nx-planet-visual img {
    
    filter:contrast(1.06) saturate(1.04)
}


.xn-route-overview .xn-overview-secondary {
    content-visibility:auto;
    contain-intrinsic-size:700px
}
/* Galaxy/Fleet: tactical map dominates; intelligence stays adjacent, composer remains directly below. */
.xn-route-galaxy .nx-system-stage,.xn-route-galaxy .nx-target-intel-panel {
    min-height:488px!important
}

.xn-route-galaxy .nx-target-actions {
    display:grid!important;
    
    gap:4px!important
}
.xn-route-galaxy .nx-target-actions a,.xn-route-galaxy .nx-target-actions button {
    padding:7px 5px
}
/* Shipyard: selected hull is the hero, catalog is a dock rather than the main canvas. */


.xn-route-shipyard .nx-unit-art-hero {
    
    filter:drop-shadow(0 12px 25px rgba(19,122,169,.2))
}


/* Technology: command theater first; side rail is telemetry and support, not competing primary content. */

/* Doctrine telemetry IX */
.doctrine-telemetry {
    margin-top:6px;
    border:1px solid #18465d;
    background:rgba(2,13,20,.92);
    padding:7px
}
.doctrine-telemetry>header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px
}
.doctrine-telemetry-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px
}
.doctrine-telemetry-grid span {
    border:1px solid #12384b;
    background:#06141d;
    padding:5px;
    display:flex;
    flex-direction:column
}
.doctrine-telemetry-grid b {
    font-size:15px;
    color:#d9f6ff
}
.doctrine-telemetry-grid small {
    font-size:9px;
    color:#7195a7;
    text-transform:uppercase
}
.doctrine-telemetry-reasons {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    margin-top:5px
}
.doctrine-telemetry-reasons em {
    font-style:normal;
    font-size:9px;
    padding:3px 5px;
    border:1px solid #244c5d;
    color:#9fb9c5
}
.doctrine-telemetry-reasons em.reject {
    border-color:#6b2e2e;
    color:#e98d8d
}
@media(max-width:1100px) {
    .xn-route-overview .nx-command-scene,.xn-route-imperium .empire-command-grid,.xn-route-galaxy .nx-galaxy-focus-grid,.xn-route-shipyard .nx-unit-layout,.xn-route-technology-nexus .nexus-layout,.xn-route-tech-tree .nexus-layout {
        grid-template-columns:1fr!important
    }
    .xn-route-shipyard .nx-unit-catalog {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .doctrine-telemetry-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }

}

/* ===== visual-v8910.css ===== */
/* X Nova v8.9.10 — Runtime Visual Evidence I / P0 Human Closure / Screen Convergence V
   This layer may converge static structure, but it MUST NOT imply LIVE_RUNTIME_CERTIFIED.
   User-approved 1536×1024 captures remain the authority. */

/* Shared cockpit geometry from the approved P0 references. */


/* P0 OVERVIEW — one planet command theatre; auxiliary narrative is below the operational fold. */


/* P0 IMPERIUM — orbital empire map dominates, inspector is a true right-side command column. */


/* P0 GALAXY — tactical system canvas and intel above the fleet workflow. */


/* P0 SHIPYARD — selected hull is visual authority; catalog behaves like a dock tray. */


/* P0 TECHNOLOGY — graph/theatre first, support rail second. */


/* Keep responsive usability; visual parity is certified separately at 1536×1024. */


/* ===== visual-v900.css ===== */
/* X Nova v9.0.0 — P0 Runtime Capture & Human Closure II.
   Series transition only: preserves P0 visual scope and certification discipline. */
/* X Nova v9.0.0 — Runtime Visual Evidence I / P0 Human Closure / Screen Convergence V
   This layer may converge static structure, but it MUST NOT imply LIVE_RUNTIME_CERTIFIED.
   User-approved 1536×1024 captures remain the authority. */
:root {

     --xn8910-bg:#01070b;
    --xn8910-panel:#06121a;
    --xn8910-panel2:#081924;

     --xn8910-line:#173e52;
    --xn8910-line-hi:#2b6d8b;
    --xn8910-cyan:#4ad8ff;

     --xn8910-text:#d6e8f0;
    --xn8910-muted:#7793a1;
    --xn8910-green:#63dc80;

     --xn8910-orange:#e59a39;
    --xn8910-red:#ed5548;
    --xn8910-violet:#c26cff;

}
/* Shared cockpit geometry from the approved P0 references. */
.app-authenticated.xn-reference-surface .panel{
    border-color:#173d50;
    background:linear-gradient(180deg,rgba(5,19,28,.98),rgba(2,10,16,.99));
    border-radius:2px;
    box-shadow:none
}
.app-authenticated.xn-reference-surface button,.app-authenticated.xn-reference-surface .button-link{
    border-radius:2px
}
/* P0 OVERVIEW — one planet command theatre; auxiliary narrative is below the operational fold. */
.xn-route-overview [data-xn-screen-contract="P0_OVERVIEW"] {
    gap:4px!important
}
.xn-route-overview .nx-planet-bar {
    min-height:48px!important;
    padding:5px 9px!important;
    background:#06131c!important;
    border:1px solid #173f52!important
}
.xn-route-overview .nx-planet-bar h1 {
    font-size:19px!important;
    margin:1px 0!important
}
.xn-route-overview .nx-planet-facts span {
    min-width:108px!important;
    padding:3px 7px!important
}
.xn-route-overview .nx-command-scene {


    gap:4px!important
}
.xn-route-overview .nx-production-panel,.xn-route-overview .nx-planet-info {
    padding:8px!important;
    background:rgba(4,16,24,.96)!important;
    border:1px solid #173f52!important
}
.xn-route-overview .nx-planet-visual {
    
    overflow:hidden!important;
    border:1px solid #1a4a61!important
}
.xn-route-overview .nx-planet-visual img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 48%!important
}
.xn-route-overview .nx-quick-ops {
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important;
    margin:0!important
}
.xn-route-overview .nx-quick-ops a {
    min-height:62px!important;
    padding:6px!important;
    background:#06141d!important;
    border:1px solid #173e52!important
}
.xn-route-overview .nx-quick-ops i {
    font-size:22px!important
}
.xn-route-overview .nx-overview-lower {
    
    gap:4px!important
}

.xn-route-overview .nx-surface-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
}
.xn-route-overview .nx-overview-bottom {
    grid-template-columns:1fr 1fr!important;
    gap:4px!important
}
.xn-route-overview .nx-overview-secondary {
    margin-top:10px!important;
    content-visibility:auto!important;
    contain-intrinsic-size:720px!important
}
/* P0 IMPERIUM — orbital empire map dominates, inspector is a true right-side command column. */
.xn-route-imperium [data-xn-screen-contract="P0_IMPERIUM"] {
    gap:4px!important
}
/* P0 SHIPYARD — selected hull is visual authority; catalog behaves like a dock tray. */
.xn-route-shipyard [data-xn-screen-contract="P0_SHIPYARD"] {
    gap:4px!important
}
.xn-route-shipyard .nx-unit-layout {
    grid-template-columns:minmax(0,1fr) 302px!important;
    gap:4px!important
}
.xn-route-shipyard .nx-unit-stage {
    
    border:1px solid #174258!important
}
.xn-route-shipyard .nx-unit-art-wrap {
    min-height:292px!important
}
.xn-route-shipyard .nx-unit-art-hero {
    width:100%!important;
    max-width:720px!important;
    max-height:314px!important;
    object-fit:contain!important
}
.xn-route-shipyard .nx-unit-inspector {
    padding:8px!important;
    border:1px solid #174258!important
}
.xn-route-shipyard .nx-unit-catalog {
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important
}
.xn-route-shipyard .nx-unit-slot {
    min-height:122px!important;
    padding:5px!important
}
.xn-route-shipyard .nx-unit-slot img {
    height:64px!important;
    object-fit:contain!important
}
/* P0 TECHNOLOGY — graph/theatre first, support rail second. */

/* Keep responsive usability; visual parity is certified separately at 1536×1024. */
@media(max-width:1180px) {


     .xn-route-overview .nx-command-scene,.xn-route-imperium .empire-command-grid,.xn-route-galaxy .nx-galaxy-focus-grid,.xn-route-shipyard .nx-unit-layout,.xn-route-technology-nexus .nexus-layout,.xn-route-tech-tree .nexus-layout {
        
        max-height:none!important
    }

     .xn-route-overview .nx-quick-ops {
        grid-template-columns:repeat(3,1fr)!important
    }
    .xn-route-imperium .empire-world-deck,.xn-route-shipyard .nx-unit-catalog {
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }

}

/* ===== visual-v902.css ===== */
/* X Nova v9.0.2 — Visual Experience Recovery / P0 convergence + living research art.
   User-approved captures remain the visual authority; this layer modifies real DOM presentation. */
:root {
    --v902-cyan:#55dcff;
    --v902-blue:#118bd0;
    --v902-panel:#031019;
    --v902-line:#1c5068;
    --v902-gold:#e39b38;
    --v902-green:#57d77e;
    --v902-red:#e85a4f;
    --v902-violet:#c06cff
}
/* Sharpen cockpit hierarchy and remove dashboard-like softness. */
.app-authenticated.xn-reference-surface .panel,.app-authenticated.xn-reference-surface [class*="-panel"]{
    backdrop-filter:none
}
/* OVERVIEW: hero dominates and auxiliary information reads as command telemetry. */
.xn-route-overview .nx-command-scene {
    grid-template-columns:178px minmax(0,1fr) 236px!important;
    min-height:360px!important;
    max-height:390px!important
}
.xn-route-overview .nx-planet-visual {
    min-height:360px!important;
    position:relative
}
.xn-route-overview .nx-planet-visual:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(0,8,14,.52),transparent 22%,transparent 74%,rgba(0,8,14,.45)),linear-gradient(180deg,transparent 65%,rgba(0,7,12,.55))
}
.xn-route-overview .nx-production-row {
    min-height:54px!important;
    border-bottom:1px solid rgba(70,160,196,.13)
}
.xn-route-overview .nx-quick-ops a {
    position:relative;
    overflow:hidden
}
.xn-route-overview .nx-quick-ops a:after {
    content:"";
    position:absolute;
    inset:auto 10px 0;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--v902-cyan),transparent);
    opacity:.34
}
.xn-route-overview .nx-overview-lower {
    grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr)!important
}
.xn-route-overview .nx-surface-image {
    height:190px!important
}
/* IMPERIUM: center map is primary, planet cards behave like tactical nodes. */
.xn-route-imperium .empire-orbit-map {
    min-height:590px!important;
    background-size:cover!important;
    box-shadow:inset 0 0 70px rgba(0,0,0,.5)
}
/* SHIPYARD: selected ship occupies the visual stage, catalog becomes secondary dock strip. */
.xn-route-shipyard .nx-unit-stage {
    min-height:430px!important;
    background:radial-gradient(circle at 50% 45%,rgba(29,103,138,.14),rgba(1,8,13,.98) 68%)!important
}
.xn-route-shipyard .nx-unit-art-hero .nova-entity-art-hq {
    min-height:334px!important
}
.xn-route-shipyard .nx-unit-art-hero .nova-entity-art-hq picture img {
    filter:contrast(1.12) saturate(1.10)!important
}
.xn-route-shipyard .nx-unit-slot .nova-entity-art-hq {
    min-height:88px!important
}
.xn-route-shipyard .nx-unit-slot.selected {
    border-color:#4edcff!important;
    box-shadow:inset 0 0 22px rgba(48,182,233,.12)!important
}
/* TECHNOLOGY: actual research imagery is the visual language, not abstract emblems. */

/* Research catalog itself: cinematic functional tiles instead of icon stamps. */
.xn-route-research .nx-tech-slot .nx-tech-art .nova-entity-art-hq {
    min-height:118px
}
.xn-route-research .nx-tech-slot .nx-tech-art img {
    object-fit:cover!important;
    padding:0!important;
    filter:contrast(1.12) saturate(1.18)!important
}
.xn-route-research .nx-inspector-art.research .nova-entity-art-hq {
    min-height:245px!important
}
.xn-route-research .nx-inspector-art.research img {
    object-fit:cover!important;
    padding:0!important
}
@media(max-width:1180px) {
    .xn-route-overview .nx-command-scene,.xn-route-imperium .empire-command-grid,.xn-route-galaxy .nx-galaxy-focus-grid,.xn-route-shipyard .nx-unit-layout,.xn-route-technology-nexus .nexus-layout,.xn-route-tech-tree .nexus-layout {
        grid-template-columns:1fr!important
    }
    

}

/* ===== visual-v903.css ===== */
/* X Nova v9.0.3 — Immersion Interaction System I + Technology materialization. */
:root {
    --xn903-cyan:#5bdcff;
    --xn903-blue:#148fc7;
    --xn903-deep:#01070c;
    --xn903-edge:rgba(70,191,232,.32);
    --xn903-glow:rgba(49,196,255,.18);
    --xn903-gold:#e6a13b;
    --xn903-red:#ff624f;
    --xn903-violet:#c676ff;
    --xn903-green:#66dc8a;
    --xn903-ease:cubic-bezier(.2,.78,.22,1)
}
html {
    background:#01070b
}
body {
    transition:filter var(--xn-motion-standard) ease,opacity var(--xn-motion-standard) ease;
    background:#01070b
}
.xn-page-enter .game-view,.xn-page-enter main {
    animation:xn903-page-enter .42s var(--xn903-ease) both
}
.xn-page-exit {
    pointer-events:none
}
.xn-page-exit .game-view,.xn-page-exit main {
    animation:xn903-page-exit .16s ease both
}
.xn-transition-gate {
    position:fixed;
    z-index:99999;
    inset:0;
    pointer-events:none;
    opacity:0;
    
    mix-blend-mode:screen;
    transition:opacity var(--xn-motion-micro) ease
}
.xn-page-exit .xn-transition-gate {
    opacity:1
}
.xn-transition-gate:before,.xn-transition-gate:after {
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:2px;
    height:140vh;
    background:linear-gradient(transparent,#8ee8ff,transparent);
    opacity:.35;
    transform-origin:50% 50%
}
.xn-transition-gate:before {
    transform:translate(-50%,-50%) rotate(68deg) scaleX(80)
}
.xn-transition-gate:after {
    transform:translate(-50%,-50%) rotate(-68deg) scaleX(80)
}
@keyframes xn903-page-enter {
    from {
        opacity:0;
        transform:translateY(5px) scale(.995);
        filter:brightness(.7) saturate(.8)
    }
    to {
        opacity:1;
        transform:none;
        filter:none
    }

}
@keyframes xn903-page-exit {
    to {
        opacity:0;
        transform:scale(.995);
        filter:brightness(.65) saturate(.75)
    }

}
:where(a,button,[role="button"],[data-xn-interactive],.panel,.nova-entity-art-hq,.nx-tech-slot,.nexus-node,.world-rail-node button) {
    --xn-mx:50%;
    --xn-my:50%
}
:where(a,button,[role="button"],[data-xn-interactive]):not(.plain-link) {
    transition:transform var(--xn-motion-fast) var(--xn903-ease),border-color var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease,background-color var(--xn-motion-fast) ease,filter var(--xn-motion-fast) ease
}
:where(a,button,[role="button"],[data-xn-interactive]):not(.plain-link):hover {
    transform:translateY(-1px);
    filter:brightness(1.06)
}
:where(a,button,[role="button"],[data-xn-interactive]):not(.plain-link):active {
    transform:translateY(1px) scale(.992);
    filter:brightness(.94)
}
:where(a,button,[role="button"],[data-xn-interactive]):focus-visible{
    outline:1px solid #8be9ff;
    outline-offset:2px;
    box-shadow:0 0 0 2px rgba(26,139,186,.25),0 0 24px rgba(50,199,255,.16)
}
.panel[data-xn-hot],.xn-hover-reactive {
    position:relative;
    overflow:hidden
}
.panel[data-xn-hot]:after,.xn-hover-reactive:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(240px circle at var(--xn-mx) var(--xn-my),rgba(75,207,255,.09),transparent 66%);
    transition:opacity var(--xn-motion-standard) ease
}
.panel[data-xn-hot]:hover:after,.xn-hover-reactive:hover:after {
    opacity:1
}
.nova-entity-art-hq picture img {
    transition:transform .28s var(--xn903-ease),filter .28s ease
}
.nova-entity-art-hq:hover picture img {
    transform:scale(1.028);
    filter:contrast(1.08) saturate(1.11) brightness(1.05)!important
}
.xn-tech-command {
    display:grid;
    gap:5px
}
.xn-tech-hero {
    position:relative;
    min-height:150px;
    display:grid;
    grid-template-columns:1fr 210px;
    align-items:end;
    gap:20px;
    padding:18px 20px;
    overflow:hidden;
    border:1px solid #17485f;
    background:linear-gradient(90deg,rgba(1,9,14,.5),rgba(1,9,14,.12) 55%,rgba(1,9,14,.75)),url("/assets/visual-v897/technology-nexus.webp") center 42%/cover no-repeat;
    box-shadow:inset 0 -60px 80px rgba(0,4,8,.52),0 0 35px rgba(35,156,207,.05)
}
.xn-tech-hero:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(68,213,255,.06) 1px,transparent 1px),linear-gradient(rgba(68,213,255,.025) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(90deg,#000,transparent 70%)
}
.xn-tech-hero-copy {
    position:relative;
    z-index:1
}
.xn-tech-hero-copy h1 {
    margin:3px 0 5px!important;
    font-size:24px!important;
    color:#e7f8ff!important;
    letter-spacing:.035em
}
.xn-tech-hero-copy p {
    max-width:580px;
    margin:0;
    color:#91adbb;
    font-size:10px
}
.xn-tech-hero-status {
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:1fr auto;
    gap:4px 8px;
    padding:10px 12px;
    border:1px solid rgba(82,207,255,.28);
    background:rgba(2,13,20,.83);
    backdrop-filter:blur(5px)
}
.xn-tech-hero-status span,.xn-tech-hero-status small {
    font-size:7px;
    letter-spacing:.08em;
    color:#7ca4b7
}
.xn-tech-hero-status strong {
    grid-row:1/3;
    grid-column:2;
    font:800 21px ui-monospace,Consolas;
    color:#c9f3ff
}
.xn-tech-hero-status i {
    height:4px;
    background:#0a1b25;
    overflow:hidden
}
.xn-tech-hero-status u {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#18bde8,#80e7ff);
    box-shadow:0 0 12px #44d7ff
}
.xn-tech-workspace {
    display:grid;
    grid-template-columns:minmax(0,1fr) 315px;
    gap:5px;
    align-items:start
}
.xn-tech-main,.xn-tech-side {
    display:grid;
    gap:5px;
    align-content:start
}
.xn-tech-doctrine {
    padding:0!important;
    overflow:hidden
}
.xn-tech-doctrine-scene {
    min-height:132px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:18px 24px;
    background:linear-gradient(90deg,rgba(2,12,19,.92),rgba(2,12,19,.24) 65%),url("/assets/visual-v897/technology-nexus.webp") center 58%/cover no-repeat
}
.xn-tech-doctrine-scene span {
    font-size:8px;
    color:#59dcff;
    letter-spacing:.12em
}
.xn-tech-doctrine-scene strong {
    display:block;
    margin:6px 0;
    font-size:17px;
    color:#ddf4ff
}
.xn-tech-doctrine-scene p {
    max-width:540px;
    margin:0;
    font-size:9px;
    color:#91aab7
}
.xn-tech-doctrine-scene>b {
    display:grid;
    place-items:center;
    width:76px;
    height:76px;
    border-radius:50%;
    border:8px solid #103c50;
    border-top-color:#4edcff;
    color:#c9f4ff;
    font:800 17px ui-monospace,Consolas;
    box-shadow:0 0 30px rgba(57,200,255,.12)
}
.xn-tech-matrix {
    padding:0!important;
    overflow:hidden
}
.xn-tech-matrix-head {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:9px 11px;
    border-bottom:1px solid #17465c;
    background:#04131d
}
.xn-tech-matrix-head h2 {
    margin:1px 0!important;
    font-size:14px!important
}
.xn-tech-filter {
    display:flex;
    gap:3px;
    overflow:auto
}
.xn-tech-filter button {
    padding:5px 8px;
    border:1px solid #173d50;
    background:#06141d;
    color:#739bad;
    font-size:7px;
    white-space:nowrap
}
.xn-tech-filter button.active,.xn-tech-filter button:hover {
    border-color:#33b7e5;
    color:#c9f5ff;
    background:#082331;
    box-shadow:inset 0 -2px #3ccfff
}
.xn-tech-lane {
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    min-height:112px;
    border-bottom:1px solid #12394c;
    background:linear-gradient(90deg,#031019,#020a0f)
}
.xn-tech-lane:last-child {
    border-bottom:0
}
.xn-tech-lane>aside {
    padding:14px 12px;
    border-right:1px solid #153f51;
    background:linear-gradient(135deg,rgba(17,65,84,.25),rgba(2,10,15,.85));
    display:flex;
    flex-direction:column;
    justify-content:center
}
.xn-tech-lane>aside span {
    font-size:10px;
    font-weight:800;
    letter-spacing:.06em;
    color:#73ddff
}
.xn-tech-lane>aside small {
    margin-top:6px;
    font-size:7px;
    line-height:1.45;
    color:#7693a0
}
.xn-tech-lane-cards {
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(105px,1fr);
    gap:3px;
    overflow-x:auto;
    padding:4px
}
.xn-tech-side>.panel {
    margin:0!important;
    padding:9px!important;
    border-color:#174459!important;
    background:linear-gradient(180deg,#05151f,#020a0f)!important
}
.xn-tech-focus header,.xn-tech-queue header,.xn-tech-effects header,.xn-tech-codex header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:7px
}
.xn-tech-focus-art {
    height:220px;
    margin:0 -2px 8px;
    overflow:hidden;
    border:1px solid #1b5a75;
    background:#02080c
}
.xn-tech-focus-art .nova-entity-art-hq {
    height:100%!important;
    min-height:0!important;
    border:0!important
}
.xn-tech-focus-art picture {
    position:absolute!important;
    inset:0!important
}
.xn-tech-focus-art img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    padding:0!important
}
.xn-tech-focus h2 {
    margin:5px 0!important;
    font-size:16px!important;
    color:#e6f7ff
}
.xn-tech-focus-level {
    display:flex;
    align-items:end;
    justify-content:space-between;
    border-top:1px solid #123647;
    border-bottom:1px solid #123647;
    padding:6px 0
}
.xn-tech-focus-level span {
    font-size:7px;
    color:#6f95a7
}
.xn-tech-focus-level strong {
    font:800 18px ui-monospace,Consolas;
    color:#76deff
}
.xn-tech-requirements {
    display:grid;
    gap:3px;
    margin-top:8px
}
.xn-tech-requirements>small {
    font-size:7px;
    color:#7295a4
}
.xn-tech-requirements a {
    display:flex;
    justify-content:space-between;
    padding:6px;
    border:1px solid #143949;
    background:#06131b;
    font-size:7px;
    color:#9bb5bf;
    text-decoration:none
}
.xn-tech-requirements a.ok {
    border-left:2px solid #50d783
}
.xn-tech-requirements a.missing {
    border-left:2px solid #e25757
}
.xn-tech-focus-actions {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
    margin-top:8px
}
.xn-tech-queue article {
    display:grid;
    grid-template-columns:54px 1fr auto;
    align-items:center;
    gap:7px;
    padding:5px 0;
    border-top:1px solid #123340
}
.xn-tech-queue article>div {
    height:42px;
    overflow:hidden
}
.xn-tech-queue article .nova-entity-art-hq {
    height:100%!important;
    min-height:0!important
}
.xn-tech-queue article img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    padding:0!important
}
.xn-tech-queue article span {
    display:grid
}
.xn-tech-queue article b {
    font-size:8px
}
.xn-tech-queue article small,.xn-tech-queue time {
    font-size:7px;
    color:#79a1b3
}
.xn-tech-effects article {
    display:flex;
    justify-content:space-between;
    padding:6px;
    border-top:1px solid #123340;
    font-size:7px
}
.xn-tech-effects article b {
    color:#6ce393
}
.xn-tech-codex>div {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:3px
}
.xn-tech-codex a {
    display:grid;
    place-items:center;
    gap:2px;
    padding:5px 2px;
    border:1px solid #143948;
    background:#04111a;
    text-align:center;
    text-decoration:none;
    color:#98b4bf
}
.xn-tech-codex a>span {
    width:28px;
    height:28px
}
.xn-tech-codex b,.xn-tech-codex small {
    font-size:5.5px
}
.game-view :where(.panel,.nx-card,.nx-unit-slot,.empire-world-card,.ops-card,.record-card) {
    transition:border-color var(--xn-motion-standard) ease,box-shadow var(--xn-motion-standard) ease,background-color var(--xn-motion-standard) ease
}
.game-view :where(.panel,.nx-card,.nx-unit-slot,.empire-world-card,.ops-card,.record-card):hover {
    border-color:rgba(76,190,228,.30);
    box-shadow:inset 0 0 26px rgba(35,150,194,.035)
}
@media(max-width:1180px) {
    .xn-tech-workspace {
        grid-template-columns:1fr
    }
    .xn-tech-side {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .xn-tech-focus {
        grid-row:span 2
    }

}
@media(max-width:760px) {
    .xn-tech-hero {
        grid-template-columns:1fr;
        padding:14px;
        min-height:180px
    }
    .xn-tech-hero-status {
        width:100%
    }
    .xn-tech-lane>aside {
        border-right:0;
        border-bottom:1px solid #153f51
    }
    .xn-tech-lane-cards {
        grid-auto-columns:minmax(128px,55vw)
    }
    .xn-tech-side {
        grid-template-columns:1fr
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v904.css ===== */
/* X Nova v9.0.4 — Visual Materialization II + P0 Interaction Closure. */
:root {
    --xn904-cyan:#54dcff;
    --xn904-cyan2:#9ff1ff;
    --xn904-amber:#f3a63a;
    --xn904-violet:#bd6cff;
    --xn904-green:#6ce896;
    --xn904-red:#ff645c;
    --xn904-bg:#01070c;
    --xn904-panel:rgba(3,14,22,.92);
    --xn904-edge:rgba(80,205,245,.28);
    --xn904-ease:cubic-bezier(.16,.84,.22,1)
}
.game-view {
    position:relative;
    isolation:isolate
}
.game-view:before {
    content:"";
    position:fixed;
    z-index:-1;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at var(--xn-page-x,55%) var(--xn-page-y,18%),rgba(40,174,224,.07),transparent 28%),linear-gradient(180deg,rgba(5,19,28,.2),transparent 38%)
}
[data-xn-live-surface],.panel,.xn-research-card,.nx-unit-slot,.empire-world-card {
    position:relative;
    transform:translateZ(0);
    will-change:transform,border-color,box-shadow;
    transition:transform var(--xn-motion-standard) var(--xn904-ease),border-color var(--xn-motion-standard) ease,box-shadow .2s ease,filter .2s ease
}
[data-xn-live-surface]:before,.panel:before,.xn-research-card:before,.nx-unit-slot:before,.empire-world-card:before {
    content:"";
    position:absolute;
    z-index:8;
    inset:-1px;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(320px circle at var(--xn-mx,50%) var(--xn-my,50%),rgba(92,226,255,.13),transparent 42%);
    transition:opacity var(--xn-motion-fast) ease
}
[data-xn-live-surface]:hover:before,.panel:hover:before,.xn-research-card:hover:before,.nx-unit-slot:hover:before,.empire-world-card:hover:before {
    opacity:1
}
[data-xn-live-surface]:hover,.xn-research-card:hover,.nx-unit-slot:hover,.empire-world-card:hover {
    transform:translateY(-2px);
    border-color:rgba(84,220,255,.52)!important;
    box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 24px rgba(55,191,235,.045),0 0 0 1px rgba(84,220,255,.05)!important
}
[data-xn-live-surface].xn-press,.xn-research-card.xn-press,.nx-unit-slot.xn-press {
    transform:translateY(0) scale(.992)!important;
    filter:brightness(1.12)
}
.xn-energy-trace {
    position:absolute;
    z-index:30;
    pointer-events:none;
    width:9px;
    height:9px;
    border:1px solid rgba(128,235,255,.8);
    border-radius:50%;
    box-shadow:0 0 18px rgba(64,209,255,.8);
    transform:translate(-50%,-50%);
    animation:xn904-trace .55s ease-out both
}
@keyframes xn904-trace {
    0% {
        opacity:1;
        scale:.35
    }
    100% {
        opacity:0;
        scale:3.5
    }

}
/* contextual navigation gate */
.xn-transition-gate {
    background:radial-gradient(circle at var(--xn-gate-x,50%) var(--xn-gate-y,50%),rgba(82,220,255,.28),transparent 16%),linear-gradient(var(--xn-gate-angle,90deg),transparent 20%,rgba(80,220,255,.2) 48%,rgba(255,255,255,.16) 50%,rgba(80,220,255,.18) 52%,transparent 80%)!important
}
.xn-page-exit .xn-transition-gate {
    animation:xn904-gate .16s ease both
}
@keyframes xn904-gate {
    0% {
        opacity:0;
        filter:blur(5px)
    }
    45% {
        opacity:.85
    }
    100% {
        opacity:.2;
        filter:blur(0)
    }

}
/* P0 workstation hierarchy */
[data-xn-screen-contract="P0_OVERVIEW"],[data-xn-screen-contract="P0_IMPERIUM"],[data-xn-screen-contract="P0_GALAXY"],[data-xn-screen-contract="P0_SHIPYARD"],[data-xn-screen-contract="P0_TECHNOLOGY"] {
    animation:xn904-console-online .5s var(--xn904-ease) both
}
@keyframes xn904-console-online {
    from {
        opacity:.2;
        filter:brightness(.7);
        transform:perspective(900px) translateZ(-10px)
    }
    to {
        opacity:1;
        filter:none;
        transform:none
    }

}
/* Overview: planet is the workstation, not cards */
[data-xn-screen-contract="P0_OVERVIEW"] .nx-command-scene {
    min-height:430px!important;
    grid-template-columns:210px minmax(0,1fr) 250px!important;
    background:linear-gradient(180deg,rgba(1,8,13,.15),rgba(1,8,13,.7))
}
[data-xn-screen-contract="P0_OVERVIEW"] .nx-planet-visual {
    min-height:430px!important;
    box-shadow:inset 0 -100px 110px rgba(0,5,9,.68),0 0 38px rgba(48,183,229,.08)
}
[data-xn-screen-contract="P0_OVERVIEW"] .nx-planet-visual img {
    filter:saturate(1.18) contrast(1.07) brightness(1.04);
    transition:transform 4.5s ease-out,filter .3s ease;
    transform:scale(1.015)
}
[data-xn-screen-contract="P0_OVERVIEW"] .nx-planet-visual:hover img {
    transform:scale(1.045)
}
/* Imperium: command map center stage */
[data-xn-screen-contract="P0_IMPERIUM"] .empire-command-map {
    min-height:470px!important;
    background-size:cover!important;
    box-shadow:inset 0 -100px 120px rgba(0,5,10,.62)
}
[data-xn-screen-contract="P0_IMPERIUM"] .empire-world-card {
    backdrop-filter:blur(5px);
    background:linear-gradient(160deg,rgba(7,25,35,.94),rgba(2,10,16,.9))!important
}
/* Technology: actual research-lab workstation */
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-tech-hero {
    min-height:205px!important;
    background:linear-gradient(90deg,rgba(1,8,13,.22),rgba(1,8,13,.05) 58%,rgba(1,8,13,.72)),url("/assets/visual-v904/technology-research-lab.webp") center/cover no-repeat!important
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-tech-doctrine-scene {
    min-height:152px!important;
    background:linear-gradient(90deg,rgba(1,10,16,.9),rgba(1,10,16,.18) 62%),url("/assets/visual-v904/technology-research-lab.webp") center 48%/cover no-repeat!important
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-tech-lane {
    min-height:132px!important;
    grid-template-columns:165px minmax(0,1fr)!important
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-tech-focus-art {
    height:265px!important
}
/* selected/current elements pulse like live command hardware */
.active,.selected,[aria-current="page"] {
    --xn-live-color:84,220,255
}
.active:where(a,button),.selected:where(a,button,.nx-unit-slot) {
    animation:xn904-active-pulse 3.2s ease-in-out infinite
}
@keyframes xn904-active-pulse {
    0%,100% {
        box-shadow:inset 0 0 0 rgba(84,220,255,0)
    }
    50% {
        box-shadow:inset 0 0 22px rgba(84,220,255,.075),0 0 16px rgba(84,220,255,.045)
    }

}
@media(max-width:1180px) {
    [data-xn-screen-contract="P0_OVERVIEW"] .nx-command-scene {
        grid-template-columns:180px 1fr!important
    }
    [data-xn-screen-contract="P0_OVERVIEW"] .nx-planet-info {
        grid-column:1/-1
    }
    .xn-tech-lane {
        grid-template-columns:135px minmax(0,1fr)!important
    }

}
@media(max-width:760px) {
    [data-xn-live-surface]:hover,.xn-research-card:hover,.nx-unit-slot:hover,.empire-world-card:hover {
        transform:none
    }
    [data-xn-screen-contract="P0_OVERVIEW"] .nx-command-scene {
        grid-template-columns:1fr!important
    }
    .xn-tech-lane {
        grid-template-columns:1fr!important
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v905.css ===== */
/* X Nova v9.0.5 — P0 Workstation Materialization III + Research Cinematic Fidelity III + Runtime Interaction Audit. */
:root {
    --xn905-cyan:#55dfff;
    --xn905-cyan2:#b9f5ff;
    --xn905-blue:#128ccb;
    --xn905-amber:#ffad3d;
    --xn905-green:#70ef9b;
    --xn905-red:#ff625a;
    --xn905-panel:rgba(2,12,19,.94);
    --xn905-edge:rgba(83,218,255,.26);
    --xn905-grid:rgba(74,197,235,.055);
    --xn905-ease:cubic-bezier(.18,.86,.22,1)
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-tech-focus-art {
    background:#01080d;
    box-shadow:inset 0 -70px 90px rgba(0,4,8,.65)
}
/* P0 support surfaces: stronger workstation geometry without replacing PHP semantics. */
[data-xn-screen-contract="P0_IMPERIUM"] .empire-command-grid {
    grid-template-columns:minmax(0,1.55fr) minmax(250px,.55fr)!important
}
[data-xn-screen-contract="P0_IMPERIUM"] .empire-orbit-map {
    min-height:520px!important;
    border-color:rgba(83,218,255,.28)!important;
    box-shadow:inset 0 -110px 130px rgba(0,3,7,.72),0 18px 38px rgba(0,0,0,.28)
}
/* Interaction Audit surfaces */
[data-xn-audit-state="degraded"]:after {
    content:"LINK DEGRADED";
    position:fixed;
    z-index:7000;
    right:12px;
    bottom:12px;
    padding:4px 7px;
    border:1px solid rgba(255,93,82,.45);
    background:rgba(45,8,8,.86);
    color:#ff8a80;
    font-size:6px;
    letter-spacing:.12em
}
.xn-route-pulse {
    position:fixed;
    z-index:4999;
    inset:0;
    pointer-events:none;
    opacity:0;
    background:radial-gradient(circle at var(--xn-route-x,50%) var(--xn-route-y,50%),rgba(75,219,255,.22),transparent 10%),linear-gradient(115deg,transparent 30%,rgba(66,201,246,.12) 49%,rgba(255,255,255,.2) 50%,rgba(66,201,246,.1) 51%,transparent 70%)
}
.xn-route-pulse.fire {
    animation:xn905-route-pulse .28s ease-out both
}
@keyframes xn905-route-pulse {
    0% {
        opacity:0;
        filter:blur(8px)
    }
    35% {
        opacity:.8
    }
    100% {
        opacity:0;
        filter:blur(1px)
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v906.css ===== */
/* X Nova v9.0.6 — P0 Workstation Materialization IV + Research Art Fidelity IV + Runtime Capture Readiness. */
:root {
    --xn906-cyan:#57e0ff;
    --xn906-deep:#020a10;
    --xn906-panel:rgba(2,13,21,.96);
    --xn906-line:rgba(86,221,255,.24);
    --xn906-hot:rgba(86,221,255,.12);
    --xn906-ease:cubic-bezier(.2,.82,.2,1)
}
[data-xn-visual-release="9.0.6"] {
    position:relative;
    isolation:isolate
}
[data-xn-visual-release="9.0.6"]:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    z-index:-1;
    background:radial-gradient(circle at 45% 18%,rgba(29,152,203,.07),transparent 30%),linear-gradient(90deg,rgba(63,196,238,.025) 1px,transparent 1px),linear-gradient(rgba(63,196,238,.02) 1px,transparent 1px);
    background-size:auto,64px 64px,64px 64px
}
.xn906-command-tabs {
    display:flex;
    align-items:center;
    gap:4px;
    min-height:38px;
    margin:0 0 7px;
    padding:4px 6px;
    border:1px solid var(--xn906-line);
    background:linear-gradient(180deg,rgba(5,25,36,.98),rgba(1,9,15,.97));
    box-shadow:inset 0 -18px 30px rgba(29,140,182,.035)
}
.xn906-command-tabs a {
    padding:7px 11px;
    border:1px solid rgba(86,221,255,.12);
    background:#03111a;
    color:#7fa9b8;
    font-size:7px;
    letter-spacing:.11em;
    text-transform:uppercase;
    transition:transform var(--xn-motion-standard) var(--xn906-ease),border-color var(--xn-motion-standard),box-shadow var(--xn-motion-standard),color var(--xn-motion-standard)
}
.xn906-command-tabs a:hover,.xn906-command-tabs a.active {
    color:#e9fbff;
    border-color:rgba(86,221,255,.52);
    box-shadow:inset 0 0 22px rgba(57,191,237,.08),0 0 18px rgba(33,173,222,.07);
    transform:translateY(-1px)
}
.xn906-command-tabs span {
    margin-left:auto;
    padding-right:7px;
    color:#638a99;
    font-size:6.5px;
    letter-spacing:.08em
}
.xn906-command-tabs span b {
    color:#8ce8ff
}
/* Imperium = strategic command map, not matrix-first page */
.xn906-imperium-workstation .empire-command-header {
    min-height:74px;
    background:linear-gradient(100deg,rgba(3,18,28,.98),rgba(5,27,39,.94) 55%,rgba(2,11,18,.98));
    border:1px solid var(--xn906-line)
}
.xn906-imperium-workstation .empire-command-grid {
    grid-template-columns:minmax(0,1.68fr) minmax(270px,.52fr)!important;
    gap:7px
}
.xn906-imperium-theater {
    min-height:590px!important;
    overflow:hidden;
    background:#01070c!important;
    box-shadow:inset 0 -160px 180px rgba(0,3,7,.86),inset 0 0 90px rgba(17,99,134,.12),0 18px 40px rgba(0,0,0,.32)!important
}
.xn906-imperium-theater>.nova-cinematic-scene,.xn906-imperium-theater>.nova-cinematic-scene img {
    width:100%;
    height:100%
}
.xn906-imperium-theater>.nova-cinematic-scene img {
    object-fit:cover;
    filter:saturate(1.25) contrast(1.1) brightness(.88)
}
.xn906-map-scanline {
    position:absolute;
    left:5%;
    right:5%;
    top:10%;
    height:1px;
    background:linear-gradient(90deg,transparent,#63e2ff,transparent);
    box-shadow:0 0 18px #39c7ef;
    opacity:.45;
    animation:xn906scan 7s ease-in-out infinite
}
@keyframes xn906scan {
    0%,100% {
        transform:translateY(0);
        opacity:.08
    }
    50% {
        transform:translateY(430px);
        opacity:.48
    }

}
.xn906-world-inspector {
    min-height:590px!important;
    background:linear-gradient(180deg,rgba(4,20,30,.985),rgba(1,8,14,.99))!important;
    border-color:rgba(88,222,255,.28)!important;
    box-shadow:inset 18px 0 42px rgba(28,128,165,.045)
}
.xn906-world-inspector .empire-world-visual {
    min-height:155px;
    overflow:hidden
}
.xn906-world-inspector .empire-world-visual img {
    filter:saturate(1.2) contrast(1.1);
    transform:scale(1.03)
}
.xn906-world-deck {
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;
    gap:6px!important;
    margin-top:7px
}
.xn906-world-deck .empire-world-card {
    min-height:150px;
    background:linear-gradient(150deg,rgba(5,22,31,.96),rgba(1,9,14,.98));
    transition:var(--xn-motion-emphasis) var(--xn906-ease)
}
.xn906-world-deck .empire-world-card:hover {
    transform:translateY(-3px);
    border-color:rgba(86,221,255,.48);
    box-shadow:0 14px 30px rgba(0,0,0,.28),inset 0 0 25px rgba(64,206,249,.045)
}
/* Galaxy = tactical theater + target inspector */
.xn906-galaxy-workstation {
    display:block!important
}
.xn906-galaxy-workstation .stellar-core {
    margin:0!important
}
.xn906-galaxy-theater {
    display:block!important
}
.xn906-galaxy-theater .nx-galaxy-focus-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 300px!important;
    gap:7px
}
.xn906-system-stage {
    min-height:620px!important;
    border:1px solid rgba(89,222,255,.28)!important;
    background:radial-gradient(circle at 50% 48%,rgba(53,151,197,.09),transparent 18%),#01070c!important;
    box-shadow:inset 0 -140px 150px rgba(0,3,7,.76),0 16px 36px rgba(0,0,0,.28)
}
.xn906-system-stage:after {
    content:"TACTICAL SENSOR GRID";
    position:absolute;
    left:13px;
    bottom:11px;
    color:rgba(105,215,244,.55);
    font-size:6px;
    letter-spacing:.16em
}
.xn906-target-inspector {
    min-height:620px!important;
    background:linear-gradient(180deg,rgba(4,20,30,.99),rgba(1,8,14,.99))!important;
    border:1px solid rgba(89,222,255,.27)!important
}
.xn906-target-inspector .nx-target-orb {
    min-height:120px;
    background:radial-gradient(circle,rgba(39,170,214,.12),transparent 62%)
}
.xn906-target-inspector .nx-target-actions a,.xn906-target-inspector .nx-target-actions button {
    transition:var(--xn-motion-standard) var(--xn906-ease)
}
.xn906-target-inspector .nx-target-actions a:hover,.xn906-target-inspector .nx-target-actions button:hover {
    transform:translateY(-1px);
    box-shadow:0 0 18px rgba(66,205,247,.09)
}
.xn906-yard-layout {
    grid-template-columns:minmax(0,1fr) 290px!important;
    gap:7px!important
}
.xn906-hangar-stage {
    min-height:520px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(250px,.55fr)!important;
    background:#01070b!important;
    border-color:rgba(89,222,255,.29)!important;
    box-shadow:inset 0 -130px 140px rgba(0,3,6,.78),0 18px 40px rgba(0,0,0,.32)
}
.xn906-ship-inspector {
    background:linear-gradient(180deg,rgba(4,20,30,.99),rgba(1,8,14,.99))!important;
    border-color:rgba(89,222,255,.27)!important
}
.xn906-ship-catalog {
    margin-top:7px!important;
    padding:8px!important;
    border:1px solid rgba(88,222,255,.18);
    background:linear-gradient(180deg,rgba(4,18,27,.95),rgba(1,8,13,.98))!important
}
[data-xn-workstation="research-nexus"] .nova-entity-art-hq img {
    filter:saturate(1.28) contrast(1.13) brightness(.96)!important
}
@media(max-width:1180px) {
    .xn906-imperium-workstation .empire-command-grid,.xn906-galaxy-theater .nx-galaxy-focus-grid,.xn906-yard-layout {
        grid-template-columns:1fr!important
    }
    .xn906-galaxy-workstation .galaxy-system-console {
        grid-template-columns:1fr 100px 1fr
    }
    .xn906-hangar-stage {
        grid-template-columns:1fr!important
    }
    .xn906-hangar-stage .nx-unit-identity {
        border-left:0;
        border-top:1px solid rgba(88,222,255,.18)
    }

}
@media(max-width:760px) {
    .xn906-command-tabs {
        overflow:auto
    }
    .xn906-command-tabs span {
        display:none
    }
    .xn906-galaxy-workstation .galaxy-system-console {
        display:block!important
    }
    .xn906-system-stage,.xn906-target-inspector,.xn906-imperium-theater,.xn906-world-inspector,.xn906-hangar-stage,.xn906-hangar-stage .nx-unit-art-hero {
        min-height:auto!important
    }
    .xn906-imperium-theater,.xn906-system-stage,.xn906-hangar-stage .nx-unit-art-hero {
        height:480px
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v907.css ===== */
/* X Nova v9.0.7 — P0 Workstation Materialization V
 * P0-only refinement. Does not certify runtime parity.
 */
[data-xn-visual-release="9.0.7"] {
    --xn907-edge:rgba(91,207,255,.34);
    --xn907-glow:rgba(35,174,255,.16);
    --xn907-warm:rgba(255,157,54,.18)
}
[data-xn-visual-release="9.0.7"] .panel,[data-xn-visual-release="9.0.7"] article {
    border-color:color-mix(in srgb,var(--xn907-edge) 72%,transparent)
}
[data-xn-screen-contract="P0_IMPERIUM"] .world-card,[data-xn-screen-contract="P0_GALAXY"] .galaxy-object,[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-slot {
    transition:transform var(--xn-motion-fast) ease,border-color var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease,filter var(--xn-motion-fast) ease
}
[data-xn-screen-contract="P0_IMPERIUM"] .world-card:hover,[data-xn-screen-contract="P0_GALAXY"] .galaxy-object:hover,[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-slot:hover {
    transform:translateY(-2px);
    box-shadow:0 12px 28px var(--xn907-glow);
    filter:brightness(1.08)
}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v908.css ===== */
/* X Nova v9.0.8 — Workstation Coverage II. Directly reviewed views only. */
.xn908-workstation-modes {
    display:flex;
    gap:6px;
    align-items:center;
    padding:7px 9px;
    margin:0 0 10px;
    border:1px solid rgba(72,190,235,.22);
    background:linear-gradient(90deg,rgba(5,24,37,.94),rgba(4,12,21,.78));
    box-shadow:inset 0 1px rgba(143,226,255,.05)
}
.xn908-workstation-modes a,.xn908-workstation-modes span {
    font:600 10px/1.2 var(--font-ui,Arial,sans-serif);
    letter-spacing:.1em;
    padding:7px 12px;
    border:1px solid rgba(83,157,189,.18);
    color:#8fb4c8;
    text-decoration:none;
    background:rgba(2,13,22,.62);
    transition:transform var(--xn-motion-quick) ease,border-color var(--xn-motion-quick) ease,color var(--xn-motion-quick) ease,box-shadow var(--xn-motion-quick) ease
}
.xn908-workstation-modes a:hover,.xn908-workstation-modes .active {
    color:#d7f7ff;
    border-color:rgba(37,211,255,.62);
    box-shadow:0 0 18px rgba(22,184,255,.14),inset 0 0 15px rgba(9,112,168,.09);
    transform:translateY(-1px)
}
.xn908-scanlines {
    position:absolute;
    inset:0;
    pointer-events:none;
    background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(71,217,255,.025) 4px)
}
.xn908-fleet-command-workstation {
    position:relative
}
.xn908-fleet-theater {
    display:grid;
    grid-template-columns:minmax(420px,1.45fr) minmax(280px,.75fr);
    min-height:285px;
    
    margin:10px 0;
    background:linear-gradient(130deg,#020912,#041827);
    
}
.xn908-fleet-orbit {
    position:relative;
    min-height:285px;
    background:radial-gradient(circle at 48% 50%,rgba(48,165,224,.2) 0 3%,rgba(11,57,89,.14) 4% 18%,transparent 19%),radial-gradient(ellipse at center,transparent 0 43%,rgba(64,186,232,.14) 44% 44.5%,transparent 45%),linear-gradient(rgba(4,19,31,.3),rgba(2,8,14,.65));
    overflow:hidden
}
.orbit-ring {
    position:absolute;
    left:50%;
    top:50%;
    border:1px solid rgba(74,184,226,.15);
    border-radius:50%;
    transform:translate(-50%,-50%) rotate(-8deg)
}
.orbit-ring.r1 {
    width:62%;
    height:46%
}
.orbit-ring.r2 {
    width:88%;
    height:68%
}
.orbit-core {
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    width:64px;
    height:64px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:#a9edff;
    border:1px solid rgba(76,215,255,.65);
    box-shadow:0 0 35px rgba(30,179,238,.22),inset 0 0 22px rgba(27,154,214,.18);
    font-size:10px;
    letter-spacing:.08em
}
.fleet-blip {
    position:absolute;
    color:#77e0ff;
    text-decoration:none;
    font-size:9px;
    filter:drop-shadow(0 0 8px rgba(44,193,255,.35))
}
.fleet-blip i {
    display:block;
    width:10px;
    height:10px;
    transform:rotate(45deg);
    border:1px solid #6fe3ff;
    background:#083d55
}
.fleet-blip small {
    display:block;
    margin-top:5px
}
.fleet-blip.b1 {
    left:19%;
    top:28%
}
.fleet-blip.b2 {
    left:69%;
    top:22%
}
.fleet-blip.b3 {
    left:76%;
    top:62%
}
.fleet-blip.b4 {
    left:26%;
    top:68%
}
.fleet-blip.b5 {
    left:46%;
    top:17%
}
.fleet-blip.b6 {
    left:58%;
    top:74%
}
.fleet-blip.b7 {
    left:12%;
    top:52%
}
.xn908-fleet-theater-info {
    padding:26px 23px;
    border-left:1px solid rgba(66,183,224,.22);
    background:linear-gradient(145deg,rgba(5,24,38,.95),rgba(2,9,16,.98))
}
.xn908-fleet-theater-info small {
    color:#43d5ff;
    letter-spacing:.13em
}
.xn908-fleet-theater-info h2 {
    margin:7px 0 9px;
    color:#e3f7ff;
    font-size:21px
}
.xn908-fleet-theater-info p {
    color:#91aab7;
    font-size:11px;
    line-height:1.55
}
.xn908-fleet-theater-info>div {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    margin:15px 0
}
.xn908-fleet-theater-info>div span {
    padding:8px 5px;
    background:rgba(7,39,55,.55);
    color:#6e9bb0;
    font-size:8px
}
.xn908-fleet-theater-info>div b {
    display:block;
    color:#c4f4ff;
    font-size:15px
}
.xn908-fleet-theater-info nav {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px
}
.xn908-fleet-theater-info nav a {
    text-align:center;
    padding:9px 5px;
    border:1px solid rgba(49,166,210,.26);
    background:#072337;
    color:#8edfff;
    text-decoration:none;
    font-size:9px;
    letter-spacing:.06em
}
.xn908-fleet-theater-info nav a:hover {
    border-color:#31d3ff;
    color:#eaffff;
    box-shadow:0 0 15px rgba(29,190,242,.12)
}
@media(max-width:980px) {
    .xn908-industrial-theater,.xn908-fleet-theater {
        grid-template-columns:1fr
    }
    .xn908-industrial-telemetry,.xn908-fleet-theater-info {
        border-left:0;
        border-top:1px solid rgba(67,193,230,.2)
    }

}

/* ===== visual-v909.css ===== */
/* X Nova v9.0.9 — Workstation Coverage III: direct-view materialization only. */
.xn909-workstation {
    position:relative;
    isolation:isolate
}
.xn909-workstation:before {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:radial-gradient(circle at 50% 8%,rgba(42,194,255,.075),transparent 38%),linear-gradient(180deg,rgba(1,10,17,.15),rgba(0,0,0,.18))
}
.xn909-modebar {
    display:flex;
    align-items:center;
    gap:5px;
    margin:0 0 9px;
    padding:6px;
    border:1px solid rgba(58,188,230,.23);
    background:linear-gradient(90deg,rgba(4,22,34,.98),rgba(3,12,21,.92));
    box-shadow:inset 0 1px rgba(139,228,255,.05),0 8px 25px rgba(0,0,0,.18)
}
.xn909-modebar a,.xn909-modebar span {
    position:relative;
    padding:7px 12px;
    border:1px solid rgba(77,153,183,.17);
    background:rgba(3,17,28,.72);
    color:#7fa5b7;
    text-decoration:none;
    font:700 9px/1.1 var(--font-ui,Arial,sans-serif);
    letter-spacing:.11em;
    transition:.15s ease
}
.xn909-modebar a:hover,.xn909-modebar .active {
    color:#ddf9ff;
    border-color:rgba(48,211,255,.62);
    background:linear-gradient(180deg,rgba(10,60,80,.78),rgba(4,30,45,.9));
    box-shadow:0 0 17px rgba(31,187,237,.14),inset 0 0 12px rgba(30,163,217,.08);
    transform:translateY(-1px)
}
.xn909-fleet-launch-workstation .nx-flight-path-console {
    border-color:rgba(62,199,240,.31);
    background:linear-gradient(130deg,rgba(2,14,24,.97),rgba(3,29,43,.89))
}




.xn909-research-legacy-workstation .nx-tech-layout {
    grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);
    gap:9px
}
.xn909-research-legacy-workstation .nx-tech-slot {
    min-height:116px;
    overflow:hidden
}
.xn909-research-legacy-workstation .nx-tech-art {
    position:absolute;
    inset:0;
    opacity:.5
}
.xn909-research-legacy-workstation .nx-tech-art .entity-art {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(1.14) contrast(1.08)
}
.xn909-research-legacy-workstation .nx-tech-slot>strong,.xn909-research-legacy-workstation .nx-tech-slot>em,.xn909-research-legacy-workstation .nx-tech-level {
    position:relative;
    z-index:2;
    text-shadow:0 2px 6px #000
}
.xn909-research-legacy-workstation .nx-tech-slot:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(2,12,18,.05),rgba(2,10,17,.87));
    pointer-events:none
}
@media(max-width:980px) {
    .xn909-modebar {
        overflow:auto
    }
    .xn909-fleet-launch-workstation .fleet-command-deck,.xn909-economy-workstation .production-command-grid,.xn909-research-legacy-workstation .nx-tech-layout {
        grid-template-columns:1fr
    }
    

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v9010.css ===== */
/* X Nova v9.0.10 — Visual Workstation Coverage IV. Direct-view materialization only. */
.xn9010-workstation {
    position:relative;
    isolation:isolate;
    min-height:calc(100vh - 118px)
}
.xn9010-workstation:before {
    content:"";
    position:absolute;
    inset:-8px -5px 0;
    z-index:-2;
    pointer-events:none;
    background:radial-gradient(ellipse at 52% 4%,rgba(32,196,255,.10),transparent 43%),linear-gradient(180deg,rgba(2,14,24,.38),rgba(0,5,10,.18))
}
.xn9010-modebar {
    display:flex;
    align-items:center;
    gap:5px;
    margin:0 0 9px;
    padding:6px;
    border:1px solid rgba(64,204,244,.29);
    background:linear-gradient(90deg,rgba(3,23,36,.985),rgba(2,12,22,.95));
    box-shadow:inset 0 1px rgba(160,235,255,.06),0 10px 30px rgba(0,0,0,.24);
    position:sticky;
    top:0;
    z-index:18;
    backdrop-filter:blur(10px)
}
.xn9010-modebar a,.xn9010-modebar span {
    padding:7px 12px;
    border:1px solid rgba(76,162,194,.19);
    background:rgba(3,17,28,.75);
    color:#82aebe;
    text-decoration:none;
    font:700 9px/1.1 var(--font-ui,Arial,sans-serif);
    letter-spacing:.115em;
    transition:transform var(--xn-motion-quick) ease,border-color var(--xn-motion-quick) ease,box-shadow var(--xn-motion-quick) ease,color var(--xn-motion-quick) ease
}
.xn9010-modebar a:hover,.xn9010-modebar .active {
    color:#e4fbff;
    border-color:rgba(49,219,255,.68);
    background:linear-gradient(180deg,rgba(9,64,84,.82),rgba(4,29,44,.92));
    box-shadow:0 0 19px rgba(37,198,244,.17),inset 0 0 14px rgba(38,190,232,.08);
    transform:translateY(-1px)
}




.xn9010-command-feed-workstation .command-feed-head {
    min-height:132px;
    padding:20px;
    border:1px solid rgba(53,197,240,.29);
    background:radial-gradient(circle at 78% 20%,rgba(38,178,221,.13),transparent 34%),linear-gradient(115deg,rgba(3,27,42,.97),rgba(3,13,23,.96))
}
.xn9010-command-feed-workstation .command-feed-layout {
    grid-template-columns:minmax(330px,.78fr) minmax(460px,1.22fr);
    gap:8px
}
.xn9010-command-feed-workstation .command-feed-reader {
    min-height:590px;
    box-shadow:inset 0 0 60px rgba(14,122,157,.05)
}
.xn9010-command-feed-workstation .command-feed-item {
    transition:transform .13s ease,border-color .13s ease,background .13s ease
}
.xn9010-command-feed-workstation .command-feed-item:hover {
    transform:translateX(3px);
    border-color:rgba(61,205,244,.55);
    background:rgba(7,40,55,.84)
}
.xn9010-trade-exchange-workstation .trade-exchange-stage {
    min-height:355px;
    box-shadow:inset 0 -120px 140px rgba(0,0,0,.47),0 18px 48px rgba(0,0,0,.25)
}
.xn9010-trade-exchange-workstation .trade-order-console {
    border-color:rgba(60,202,240,.31);
    background:linear-gradient(120deg,rgba(3,26,40,.97),rgba(3,14,23,.96))
}
.xn9010-trade-exchange-workstation .market-table tr {
    transition:background .13s ease,box-shadow .13s ease
}
.xn9010-trade-exchange-workstation .market-table tbody tr:hover {
    background:rgba(11,56,72,.44);
    box-shadow:inset 3px 0 rgba(55,213,255,.65)
}
@media(max-width:980px) {
    .xn9010-modebar {
        overflow:auto
    }
    .xn9010-command-feed-workstation .command-feed-layout {
        grid-template-columns:1fr
    }
    .xn9010-trade-exchange-workstation .trade-exchange-stage,.xn9010-mission-command-workstation .mission-hero {
        min-height:260px
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v9011.css ===== */
/* X Nova v9.0.11 — Visual Workstation Coverage V */
.xn9011-workstation {
    position:relative;
    isolation:isolate;
    min-height:calc(100vh - 118px)
}
.xn9011-workstation:before {
    content:"";
    position:absolute;
    inset:-8px -5px 0;
    z-index:-2;
    pointer-events:none;
    background:radial-gradient(ellipse at 46% 1%,rgba(44,205,255,.11),transparent 42%),linear-gradient(180deg,rgba(2,15,25,.42),rgba(0,5,10,.2))
}
.xn9011-modebar {
    display:flex;
    align-items:center;
    gap:5px;
    margin:0 0 8px;
    padding:6px;
    border:1px solid rgba(65,202,241,.3);
    background:linear-gradient(90deg,rgba(3,24,38,.99),rgba(2,12,22,.96));
    box-shadow:inset 0 1px rgba(160,235,255,.07),0 10px 30px rgba(0,0,0,.26);
    position:sticky;
    top:0;
    z-index:18;
    backdrop-filter:blur(10px);
    overflow:auto
}
.xn9011-modebar a,.xn9011-modebar span {
    flex:0 0 auto;
    padding:7px 12px;
    border:1px solid rgba(76,162,194,.2);
    background:rgba(3,17,28,.78);
    color:#82aebe;
    text-decoration:none;
    font:700 9px/1.1 var(--font-ui,Arial,sans-serif);
    letter-spacing:.115em;
    transition:transform var(--xn-motion-quick) ease,border-color var(--xn-motion-quick) ease,box-shadow var(--xn-motion-quick) ease,color var(--xn-motion-quick) ease
}
.xn9011-modebar a:hover,.xn9011-modebar .active {
    color:#e4fbff;
    border-color:rgba(49,219,255,.68);
    background:linear-gradient(180deg,rgba(9,64,84,.84),rgba(4,29,44,.94));
    box-shadow:0 0 19px rgba(37,198,244,.17),inset 0 0 14px rgba(38,190,232,.08);
    transform:translateY(-1px)
}








.xn9011-progression-command-workstation .prestige-center {
    margin-top:0
}
.xn9011-command-lane {
    display:grid;
    grid-template-columns:repeat(3,minmax(120px,.55fr)) minmax(260px,1.35fr);
    gap:5px;
    margin:0 0 8px;
    padding:6px;
    border:1px solid rgba(67,190,225,.28);
    background:linear-gradient(100deg,rgba(4,25,38,.97),rgba(3,12,21,.97))
}
.xn9011-command-lane article,.xn9011-next-order {
    min-height:72px;
    padding:10px 12px;
    border:1px solid rgba(69,142,170,.24);
    background:rgba(2,14,23,.78);
    text-decoration:none;
    display:flex;
    flex-direction:column;
    justify-content:center
}
.xn9011-command-lane small {
    color:#6f9aac;
    font:700 7px ui-monospace;
    letter-spacing:.09em
}
.xn9011-command-lane strong {
    margin:4px 0;
    color:#e3f7ff;
    font:900 18px/1.1 ui-monospace
}
.xn9011-command-lane span {
    color:#789bab;
    font-size:8px
}
.xn9011-command-lane .priority.ready {
    border-color:rgba(80,224,162,.5);
    box-shadow:inset 3px 0 #54dea5
}
.xn9011-next-order {
    border-color:rgba(54,202,242,.42);
    background:linear-gradient(105deg,rgba(7,47,63,.92),rgba(3,18,29,.94))
}
.xn9011-next-order:hover {
    box-shadow:0 0 24px rgba(48,197,238,.13);
    transform:translateY(-1px)
}
.xn9011-alliance-entry {
    overflow:hidden;
    border:1px solid rgba(62,190,228,.32);
    background:radial-gradient(circle at 79% 16%,rgba(65,181,223,.13),transparent 30%),linear-gradient(130deg,#061e2e,#020a12 64%);
    box-shadow:inset 0 -90px 120px rgba(0,0,0,.25),0 18px 42px rgba(0,0,0,.25)
}
.xn9011-alliance-entry>header {
    min-height:170px;
    padding:24px;
    display:flex;
    flex-direction:column;
    justify-content:center
}
.xn9011-alliance-entry h1 {
    margin:5px 0!important;
    color:#e2f7ff
}
.xn9011-alliance-entry p {
    max-width:620px;
    color:#86a9b8
}
.xn9011-alliance-entry>header>div {
    display:flex;
    gap:5px;
    margin-top:10px
}
.xn9011-alliance-entry>header>div span {
    padding:7px 10px;
    border:1px solid rgba(70,158,190,.3);
    background:rgba(2,14,23,.7);
    color:#789bab;
    font:700 7px ui-monospace
}
.xn9011-alliance-entry>header b {
    color:#dff7ff;
    font-size:13px
}
.xn9011-alliance-entry-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(280px,1fr));
    gap:6px;
    padding:0 8px 8px
}
.xn9011-alliance-entry-grid .panel {
    margin:0;
    min-height:285px;
    border-color:rgba(66,169,203,.3)
}
.xn9011-alliance-command-workstation .alliance-ops-stage {
    min-height:350px
}
.xn9011-alliance-command-workstation .alliance-subnav {
    position:sticky;
    top:45px;
    z-index:14;
    backdrop-filter:blur(9px)
}
@media(max-width:980px) {
    
    
    .xn9011-command-lane {
        grid-template-columns:repeat(3,1fr)
    }
    .xn9011-next-order {
        grid-column:1/-1
    }
    .xn9011-alliance-entry-grid {
        grid-template-columns:1fr
    }

}
@media(max-width:620px) {
    .xn9011-operations-switchboard,.xn9011-command-lane {
        grid-template-columns:1fr
    }
    .xn9011-operations-switchboard>div,.xn9011-next-order {
        grid-column:auto
    }
    .xn9011-alliance-entry>header {
        padding:18px
    }
    .xn9011-alliance-entry-grid {
        grid-template-columns:1fr
    }
    .xn9011-alliance-command-workstation .alliance-subnav {
        position:relative;
        top:auto
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* v9.1.1 — direct combat/intelligence workstation materialization (12 views). */
.xn911-workstation {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(130px,1fr)) minmax(150px,.72fr);
    gap:5px;
    margin:0 0 8px;
    padding:6px;
    border:1px solid rgba(69,196,232,.34);
    background:radial-gradient(circle at 82% 0,rgba(45,170,213,.12),transparent 31%),linear-gradient(105deg,rgba(4,29,44,.98),rgba(2,10,18,.98));
    box-shadow:0 15px 40px rgba(0,0,0,.28),inset 0 1px rgba(151,231,255,.05)
}
.xn911-workstation:before {
    content:"COMBAT OPERATIONS / v9.1.1";
    position:absolute;
    right:8px;
    top:-6px;
    padding:0 5px;
    background:#04101a;
    color:#4d8397;
    font:700 6px/1.2 ui-monospace,monospace;
    letter-spacing:.13em
}
.xn911-workstation>a,.xn911-workstation>span {
    min-height:64px;
    padding:10px 12px;
    border:1px solid rgba(66,145,174,.25);
    background:linear-gradient(145deg,rgba(6,37,53,.84),rgba(2,15,24,.86));
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-decoration:none;
    transition:transform var(--xn-motion-fast) ease,border-color var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease
}
.xn911-workstation>a small,.xn911-workstation>span small {
    color:#5f94a8;
    font:800 7px/1 ui-monospace,monospace;
    letter-spacing:.12em
}
.xn911-workstation>a b,.xn911-workstation>span b {
    margin-top:6px;
    color:#c9edf8;
    font:800 9px/1.2 var(--font-ui,Arial,sans-serif);
    letter-spacing:.08em
}
.xn911-workstation>a:hover,.xn911-workstation>a:focus-visible {
    outline:0;
    border-color:rgba(76,220,255,.7);
    box-shadow:0 0 22px rgba(45,194,235,.14),inset 3px 0 #43d9ff;
    transform:translateY(-1px)
}
.xn911-workstation>span {
    border-color:rgba(232,174,76,.32);
    background:linear-gradient(145deg,rgba(58,41,13,.5),rgba(11,19,24,.9))
}
.xn911-workstation>span b {
    color:#ffe2a1;
    font-size:12px
}
.xn911-report-head {
    min-height:150px;
    padding:20px;
    border:1px solid rgba(62,177,211,.3);
    background:radial-gradient(circle at 82% 20%,rgba(48,180,218,.15),transparent 30%),linear-gradient(125deg,rgba(5,35,51,.95),rgba(2,12,20,.98));
    display:flex;
    align-items:center;
    justify-content:space-between
}
.xn911-report-head .state-pill {
    font-size:9px
}
.xn911-evidence-panel {
    box-shadow:inset 3px 0 #43d9ff
}
#combat-loadouts,#combat-risk,#battle-sequence,#battle-consequences,#battle-ledger,#pve-integrity,#pve-consequences,#pve-engine,#intel-archive,#sensor-history,#sensor-contact,#ordnance,#strike-console,#strike-log,#reserve-vault,#demobilize,#salvage-scan,#salvage-fields,#lunar-platforms,#active-loadout,#module-inventory,#unit-specialization,#mod-programs {
    scroll-margin-top:80px
}
@media(max-width:900px) {
    .xn911-workstation {
        grid-template-columns:repeat(2,minmax(130px,1fr))
    }

}
@media(max-width:560px) {
    .xn911-workstation {
        grid-template-columns:1fr
    }
    .xn911-report-head {
        align-items:flex-start;
        gap:14px;
        flex-direction:column
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v912.css ===== */
/* X Nova v9.1.2 — progression, identity, exploration and archive workstations. */
.xn912-workstation {
    position:relative;
    display:grid;
    grid-template-columns:repeat(3,minmax(132px,1fr)) minmax(150px,.72fr);
    gap:5px;
    margin:0 0 8px;
    padding:6px;
    border:1px solid rgba(69,196,232,.36);
    background:radial-gradient(circle at 84% -20%,rgba(64,191,229,.18),transparent 36%),linear-gradient(108deg,rgba(4,29,44,.98),rgba(2,10,18,.99));
    box-shadow:0 16px 42px rgba(0,0,0,.3),inset 0 1px rgba(170,236,255,.06);
    isolation:isolate
}
.xn912-workstation:before {
    content:"X NOVA / OPERATIONAL WORKSTATION 9.1.2";
    position:absolute;
    z-index:2;
    right:8px;
    top:-6px;
    padding:0 6px;
    background:#04101a;
    color:#54899d;
    font:700 6px/1.2 ui-monospace,monospace;
    letter-spacing:.14em
}
.xn912-workstation:after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg,transparent,rgba(70,214,255,.06),transparent);
    background-size:38% 100%;
    animation:xn912-scan 8s linear infinite;
    pointer-events:none
}
.xn912-workstation>a,.xn912-workstation>span {
    min-height:66px;
    padding:10px 12px;
    border:1px solid rgba(66,145,174,.26);
    background:linear-gradient(145deg,rgba(7,40,57,.86),rgba(2,15,24,.9));
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-decoration:none;
    transition:transform var(--xn-motion-fast) ease,border-color var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease,background var(--xn-motion-fast) ease
}
.xn912-workstation small {
    color:#6398ab;
    font:800 7px/1 ui-monospace,monospace;
    letter-spacing:.13em
}
.xn912-workstation b {
    margin-top:6px;
    color:#d1f1fa;
    font:800 9px/1.2 var(--font-ui,Arial,sans-serif);
    letter-spacing:.075em;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn912-workstation>a:hover,.xn912-workstation>a:focus-visible {
    outline:0;
    border-color:rgba(76,220,255,.72);
    background:linear-gradient(145deg,rgba(10,55,72,.94),rgba(3,23,34,.94));
    box-shadow:0 0 24px rgba(45,194,235,.16),inset 3px 0 #43d9ff;
    transform:translateY(-1px)
}
.xn912-workstation>a:active {
    transform:translateY(1px);
    box-shadow:inset 0 0 20px rgba(44,200,241,.14)
}
.xn912-workstation>span {
    border-color:rgba(232,174,76,.34);
    background:linear-gradient(145deg,rgba(61,43,14,.54),rgba(11,19,24,.92))
}
.xn912-workstation>span b {
    color:#ffe2a1;
    font-size:12px
}
.xn912-code-terminal,.xn912-container-head {
    min-height:170px;
    border-color:rgba(63,190,225,.36);
    background:radial-gradient(circle at 85% 15%,rgba(58,184,222,.16),transparent 31%),linear-gradient(125deg,rgba(5,35,51,.97),rgba(2,12,20,.99));
    box-shadow:inset 3px 0 #43d9ff,0 18px 42px rgba(0,0,0,.25)
}
@keyframes xn912-scan {
    0% {
        background-position:-55% 0
    }
    100% {
        background-position:165% 0
    }

}
@media(max-width:900px) {
    .xn912-workstation {
        grid-template-columns:repeat(2,minmax(132px,1fr))
    }

}
@media(max-width:560px) {
    .xn912-workstation {
        grid-template-columns:1fr
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* ===== visual-v913.css ===== */
/* X Nova v9.1.3 — complete 89-view structural workstation closure. */
.xn913-workstation {
    position:relative;
    display:grid;
    grid-template-columns:minmax(170px,1.2fr) repeat(3,minmax(112px,.72fr));
    gap:5px;
    margin:0 0 9px;
    padding:7px;
    border:1px solid rgba(80,203,237,.38);
    background:radial-gradient(circle at 12% -20%,rgba(44,170,220,.2),transparent 38%),linear-gradient(112deg,rgba(4,31,46,.98),rgba(2,11,19,.99));
    box-shadow:0 17px 46px rgba(0,0,0,.34),inset 3px 0 rgba(62,216,255,.62);
    isolation:isolate;
    overflow:hidden
}
.xn913-workstation:before {
    content:"X NOVA / LIVE MODULE 9.1.3";
    position:absolute;
    right:8px;
    top:4px;
    color:#5c8da0;
    font:700 6px/1 ui-monospace,monospace;
    letter-spacing:.15em
}
.xn913-workstation:after {
    content:"";
    position:absolute;
    z-index:-1;
    inset:0;
    background:linear-gradient(90deg,transparent,rgba(64,215,255,.07),transparent);
    background-size:32% 100%;
    animation:xn913-sweep 7s linear infinite;
    pointer-events:none
}
.xn913-workstation>div,.xn913-workstation>a {
    min-height:62px;
    padding:10px 12px;
    border:1px solid rgba(67,150,180,.27);
    background:linear-gradient(145deg,rgba(7,41,58,.88),rgba(2,15,24,.92));
    display:flex;
    flex-direction:column;
    justify-content:center;
    text-decoration:none;
    transition:transform var(--xn-motion-fast) ease,border-color var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease,background var(--xn-motion-fast) ease
}
.xn913-workstation small {
    color:#6b9caf;
    font:800 7px/1 ui-monospace,monospace;
    letter-spacing:.13em
}
.xn913-workstation b {
    margin-top:6px;
    color:#d9f5fc;
    font:800 10px/1.2 var(--font-ui,Arial,sans-serif);
    letter-spacing:.07em
}
.xn913-workstation span {
    margin-top:4px;
    color:#85a9b8;
    font:700 8px/1.2 ui-monospace,monospace
}
.xn913-workstation>a:hover,.xn913-workstation>a:focus-visible {
    outline:0;
    border-color:rgba(84,225,255,.76);
    background:linear-gradient(145deg,rgba(9,56,75,.96),rgba(3,24,35,.96));
    box-shadow:0 0 25px rgba(46,196,235,.17),inset 3px 0 #43d9ff;
    transform:translateY(-1px)
}
.xn913-workstation>a:active {
    transform:translateY(1px);
    box-shadow:inset 0 0 22px rgba(44,200,241,.17)
}
.xn913-signal {
    display:flex;
    align-items:center;
    gap:9px;
    min-height:28px;
    margin:0 0 7px;
    padding:5px 9px;
    border-left:2px solid #43d9ff;
    background:linear-gradient(90deg,rgba(6,45,62,.86),rgba(3,17,26,.52));
    color:#83abba;
    font:700 7px/1.2 ui-monospace,monospace;
    letter-spacing:.1em;
    text-transform:uppercase
}
.xn913-signal b {
    color:#d9f7ff
}
.xn913-signal a {
    margin-left:auto;
    color:#6bdfff;
    text-decoration:none
}
.xn913-signal a:hover,.xn913-signal a:focus-visible {
    color:#fff;
    outline:1px solid rgba(91,222,255,.6);
    outline-offset:3px
}
.xn913-signal a:active {
    transform:translateY(1px)
}
@keyframes xn913-sweep {
    0% {
        background-position:-45% 0
    }
    100% {
        background-position:155% 0
    }

}
@media(max-width:900px) {
    .xn913-workstation {
        grid-template-columns:repeat(2,minmax(132px,1fr))
    }

}
@media(max-width:560px) {
    .xn913-workstation {
        grid-template-columns:1fr
    }
    .xn913-shell-status {
        display:none
    }

}
/* D18: reduced-motion authority moved to xnova-system.css. */

/* === xnova-domain-shell-hud.css === */

/* D12 — migrated v9.0.0 shell geometry; kept before D11 authority to preserve cascade precedence. */
@media(min-width:1280px) {
    .app-authenticated.xn-reference-surface .cockpit-topbar {
        height:68px!important;
        min-height:68px!important
    }
    .app-authenticated.xn-reference-surface .command-shell {
        grid-template-columns:var(--xn-shell-left-fluid) minmax(0,1fr) var(--xn-shell-right-fluid)!important;
        gap:4px!important;
        padding:4px
    }
    .app-authenticated.xn-reference-surface .cockpit-rail,.app-authenticated.xn-reference-surface .nova-world-rail {
        height:calc(100vh - 76px);
        max-height:calc(100vh - 76px);
        overflow:auto
    }
    .app-authenticated.xn-reference-surface .nova-stage {
        height:calc(100vh - 76px);
        overflow:auto;
        padding:0!important
    }
}
/* D11 — reconstructed historical shell refinements: viewport/topbar/rail. */
.app-authenticated.xn-reference-surface .game-view-body {
    background:radial-gradient(circle at 54% 0,rgba(18,72,101,.10),transparent 36%),#01070b
}
.app-authenticated.xn-reference-surface .cockpit-topbar {
    outline:1px solid rgba(64,179,225,.08);
    outline-offset:-2px
}
.app-authenticated.xn-reference-surface .cockpit-rail a {
    min-height:35px!important
}
.app-authenticated.xn-reference-surface .cockpit-rail .quick-access a {
    min-height:68px
}

/* D11 — reconstructed historical shell authority: viewport + bezel. */
.app-authenticated.xn-reference-surface .game-view-frame {
    border:1px solid #173e52;
    background:#02090e;
    box-shadow:inset 0 0 0 1px rgba(61,168,211,.035)
}
.app-authenticated.xn-reference-surface .game-view-bezel {
    height:34px!important;
    min-height:34px!important;
    padding:0 10px!important;
    background:linear-gradient(90deg,#071722,#041019 70%,#07141e);
    border-bottom:1px solid #173e52
}
.app-authenticated.xn-reference-surface .game-view-bezel b {
    font-size:var(--xn-type-body);
    letter-spacing:var(--xn-tracking-control);
    color:#66dfff
}
.app-authenticated.xn-reference-surface .game-view-body {
    padding:5px
}
.app-authenticated.xn-reference-surface .game-view-footer {
    height:18px;
    min-height:18px
}

/* D11 — reconstructed historical shell authority: left rail + world rail. */
.app-authenticated.xn-reference-surface .cockpit-rail,.app-authenticated.xn-reference-surface .nova-world-rail {
    background:linear-gradient(180deg,#031019,#020a10);
    border-color:#173e52
}

/* D11 — reconstructed historical shell authority: topbar, identity, resources, status. */
.app-authenticated.xn-reference-surface {
    background:#01070b;
    color:var(--xn8910-text)
}
.app-authenticated.xn-reference-surface .cockpit-topbar {
    background:linear-gradient(180deg,#040b11 0,#02080d 100%);
    border-bottom:1px solid #16394b;
    box-shadow:0 3px 18px rgba(0,0,0,.5)
}
.app-authenticated.xn-reference-surface .cockpit-brand {
    min-width:238px!important;
    border-right:1px solid #17394a
}
.app-authenticated.xn-reference-surface .cockpit-brand b {
    font-size:var(--xn-type-card-title);
    letter-spacing:.08em
}
.app-authenticated.xn-reference-surface .cockpit-brand small {
    font-size:var(--xn-type-micro);
    color:#49d6ff;
    letter-spacing:.12em
}
.app-authenticated.xn-reference-surface .cockpit-commander-id {
    min-width:158px!important
}
.app-authenticated.xn-reference-surface .xn-header-resources {
    min-width:0;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(116px,100%),1fr))!important
}
.app-authenticated.xn-reference-surface .xn-header-resource {
    min-width:0;
    padding:5px 8px;
    border-left:1px solid rgba(31,73,94,.56)
}
.app-authenticated.xn-reference-surface .xn-header-resource small {
    font-size:var(--xn-type-telemetry);
    letter-spacing:.08em
}
.app-authenticated.xn-reference-surface .xn-header-resource b {
    font-size:15px
}
.app-authenticated.xn-reference-surface .xn-header-resource em {
    font-size:var(--xn-type-micro)
}
.app-authenticated.xn-reference-surface .xn-header-status {
    min-width:290px
}

/* X Nova 0.13 — D3 Shell/HUD authority.
   The authenticated workstation shell converges here. No forced-specificity declarations. */
:where(.app-authenticated) { --xn-domain-authority:shell-hud; }

body.app-authenticated[data-xn-release] {
    background:
        radial-gradient(circle at 54% -15%,rgba(29,111,155,.17),transparent 36%),
        linear-gradient(rgba(67,166,214,.035) 1px,transparent 1px),
        linear-gradient(90deg,rgba(67,166,214,.03) 1px,transparent 1px),
        #02070d;
    background-size:auto,64px 64px,64px 64px,auto;
    color:var(--xn-text-body);
}
body.app-authenticated[data-xn-release] .stars { opacity:.13; }
body.app-authenticated[data-xn-release] .space-haze { opacity:.55; }

body.app-authenticated[data-xn-release] .cockpit-topbar {
    min-height:72px;
    height:auto;
    padding:8px var(--xn-header-inline-fluid);
    gap:var(--xn-header-gap-fluid);
}
body.app-authenticated[data-xn-release] .cockpit-brand {
    min-width:max-content;
    gap:9px;
}
body.app-authenticated[data-xn-release] .cockpit-brand .brand-mark {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border:1px solid var(--xn-line-hot);
    border-radius:8px;
    background:linear-gradient(145deg,rgba(88,214,255,.15),rgba(88,214,255,.025));
    box-shadow:inset 0 0 18px rgba(71,196,255,.08),0 0 20px rgba(44,171,226,.08);
}
body.app-authenticated[data-xn-release] .cockpit-brand b {
    color:var(--xn-text-strong);
    letter-spacing:.18em;
}
body.app-authenticated[data-xn-release] .cockpit-brand small,
body.app-authenticated[data-xn-release] .cockpit-commander-id small,
body.app-authenticated[data-xn-release] .xn-header-status small,
body.app-authenticated[data-xn-release] .xn-header-resource small {
    color:var(--xn-text-muted);
    letter-spacing:.11em;
}
body.app-authenticated[data-xn-release] .cockpit-commander-id {
    padding:6px 10px;
    border-left:1px solid var(--xn-line-soft);
    border-right:1px solid var(--xn-line-soft);
}
body.app-authenticated[data-xn-release] .cockpit-commander-id b { color:var(--xn-cyan-soft); }
body.app-authenticated[data-xn-release] .xn913-shell-status {
    border:1px solid var(--xn-line-soft);
    border-radius:8px;
    background:rgba(8,28,43,.52);
    box-shadow:inset 0 0 18px rgba(40,143,192,.045);
}
body.app-authenticated[data-xn-release] .xn-header-resources {
    gap:5px;
    min-width:0;
}
body.app-authenticated[data-xn-release] .xn-header-resource {
    min-width:88px;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:7px;
    background:rgba(5,20,32,.45);
    transition:border-color var(--xn-motion-fast) ease,background var(--xn-motion-fast) ease,transform var(--xn-motion-fast) ease;
}
body.app-authenticated[data-xn-release] .xn-header-resource:hover {
    border-color:var(--xn-line-mid);
    background:rgba(11,38,57,.72);
    transform:translateY(-1px);
}
body.app-authenticated[data-xn-release] .xn-header-resource b { color:var(--xn-text-strong); font-variant-numeric:tabular-nums; }
body.app-authenticated[data-xn-release] .xn-header-resource em { color:var(--xn-green); }
body.app-authenticated[data-xn-release] .xn-header-status { gap:4px; }
body.app-authenticated[data-xn-release] .xn-header-status>a {
    min-width:64px;
    padding:6px 8px;
    border-radius:7px;
    border:1px solid transparent;
}
body.app-authenticated[data-xn-release] .xn-header-status>a:hover { border-color:var(--xn-line-soft); background:rgba(8,29,44,.6); }

body.app-authenticated[data-xn-release] .command-shell {
    max-width:none;
    margin:0;
    grid-template-columns:clamp(176px,13.7vw,226px) minmax(0,1fr) clamp(150px,11.8vw,196px);
    min-height:calc(100vh - 72px);
}
body.app-authenticated[data-xn-release] .cockpit-rail,
body.app-authenticated[data-xn-release] .nova-world-rail {
    border-color:var(--xn-line-soft);
    background:linear-gradient(180deg,rgba(4,15,25,.95),rgba(2,9,16,.965));
    box-shadow:inset -1px 0 rgba(89,198,244,.025);
}
body.app-authenticated[data-xn-release] .cockpit-rail {
    padding:12px 10px 16px;
    gap:7px;
}
body.app-authenticated[data-xn-release] .rail-cap,
body.app-authenticated[data-xn-release] .world-rail-title {
    border-bottom:1px solid var(--xn-line-soft);
    padding-bottom:10px;
}
body.app-authenticated[data-xn-release] .rail-telemetry,
body.app-authenticated[data-xn-release] .world-rail-status {
    border:1px solid var(--xn-line-soft);
    border-radius:9px;
    background:rgba(8,25,39,.56);
}
body.app-authenticated[data-xn-release] .rail-quick-grid { gap:5px; }
body.app-authenticated[data-xn-release] .rail-quick-grid a,
body.app-authenticated[data-xn-release] .cockpit-rail .nav-section a {
    border:1px solid transparent;
    border-radius:7px;
    transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease;
}
body.app-authenticated[data-xn-release] .cockpit-rail .nav-section a:hover,
body.app-authenticated[data-xn-release] .rail-quick-grid a:hover {
    border-color:var(--xn-line-soft);
    background:rgba(18,52,72,.58);
    color:var(--xn-text-strong);
    transform:translateX(1px);
}
body.app-authenticated[data-xn-release] .cockpit-rail a.active {
    border-color:var(--xn-line-mid);
    background:linear-gradient(90deg,rgba(40,155,205,.18),rgba(11,35,51,.55));
    color:var(--xn-cyan-soft);
    box-shadow:inset 2px 0 var(--xn-cyan);
}
body.app-authenticated[data-xn-release] .cockpit-rail .nav-section>span,
body.app-authenticated[data-xn-release] .cockpit-rail .nav-section>summary {
    color:#63869d;
    letter-spacing:.14em;
}
body.app-authenticated[data-xn-release] .nova-world-rail { padding:12px 9px 16px; }
body.app-authenticated[data-xn-release] .world-rail-active {
    border:1px solid var(--xn-line-mid);
    border-radius:10px;
    background:radial-gradient(circle at 50% 10%,rgba(66,172,219,.16),transparent 55%),rgba(6,22,35,.64);
}
body.app-authenticated[data-xn-release] .world-rail-node button {
    border:1px solid transparent;
    border-radius:8px;
    background:transparent;
}
body.app-authenticated[data-xn-release] .world-rail-node button:hover { border-color:var(--xn-line-soft); background:rgba(13,39,57,.62); }
body.app-authenticated[data-xn-release] .world-rail-node.active button { border-color:var(--xn-line-mid); background:rgba(18,54,76,.65); }

body.app-authenticated[data-xn-release] .nova-stage {
    padding:var(--xn-stage-pad-fluid);
    min-width:0;
}
body.app-authenticated[data-xn-release] .game-view-frame {
    border:1px solid var(--xn-line-mid);
    border-radius:12px;
    background:linear-gradient(180deg,rgba(4,15,24,.9),rgba(2,9,15,.92));
    box-shadow:var(--xn-shadow-float),inset 0 1px rgba(121,226,255,.025);
    overflow:clip;
}
body.app-authenticated[data-xn-release] .game-view-bezel {
    min-height:42px;
    padding:8px 14px;
    border-bottom:1px solid var(--xn-line-soft);
    background:linear-gradient(90deg,rgba(13,43,63,.82),rgba(5,18,29,.96) 42%,rgba(8,28,42,.8));
}
body.app-authenticated[data-xn-release] .game-view-bezel b { color:var(--xn-text-strong); letter-spacing:.08em; }
body.app-authenticated[data-xn-release] .game-view-bezel em { color:#5d879f; font-variant-numeric:tabular-nums; }
body.app-authenticated[data-xn-release] .game-view-body { padding:var(--xn-body-pad-fluid); }
body.app-authenticated[data-xn-release] .game-view-footer { opacity:.45; }

/* D8 baseline expansion: fluid cockpit wrapping prevents mobile resource overflow without a new breakpoint. */
body.app-authenticated[data-xn-release] .cockpit-topbar { flex-wrap:wrap; }
body.app-authenticated[data-xn-release] .xn-header-resources { flex-wrap:wrap; flex:1 1 260px; }
body.app-authenticated[data-xn-release] .xn-header-resource { flex:1 1 88px; }
body.app-authenticated[data-xn-release] .cockpit-brand { min-width:min(238px,100%); }
body.app-authenticated[data-xn-release] .cockpit-commander-id { min-width:min(158px,100%); }
body.app-authenticated[data-xn-release] .xn-header-resources { display:flex; min-width:0; }


/* D9 — certified retirement from legacy tail; declarations preserved verbatim. */

/* Global workstation material language */
.game-view-body {
    background:radial-gradient(circle at 52% 20%,rgba(22,121,166,.05),transparent 35%),linear-gradient(180deg,rgba(1,8,13,.1),rgba(0,4,7,.24))
}
.game-view-frame {
    box-shadow:0 18px 90px rgba(0,0,0,.5),inset 0 0 0 1px rgba(117,225,255,.035)
}
.game-view-bezel {
    background:linear-gradient(90deg,rgba(8,33,47,.9),rgba(3,14,23,.94) 50%,rgba(7,25,37,.88));
    border-bottom-color:rgba(90,215,255,.24)
}
.game-view-bezel:after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-1px;
    height:1px;
    background:linear-gradient(90deg,transparent,var(--xn905-cyan),transparent);
    opacity:.28
}
/* Runtime readiness indicator is only diagnostic; never certification. */
body[data-xn-release="9.0.6"] .game-view-frame:after {
    content:"P0 / 9.0.6";
    position:fixed;
    right:10px;
    top:68px;
    z-index:50;
    padding:3px 6px;
    border:1px solid rgba(84,216,250,.12);
    background:rgba(1,9,14,.66);
    color:rgba(116,203,229,.55);
    font-size:5.5px;
    letter-spacing:.14em;
    pointer-events:none
}
.xn913-shell-status {
    display:flex;
    gap:8px;
    align-items:center;
    padding:4px 8px;
    border:1px solid rgba(74,193,226,.3);
    background:rgba(3,29,42,.82);
    font:700 7px/1 ui-monospace,monospace;
    letter-spacing:.1em
}
.xn913-shell-status b {
    color:#8ce8ff
}
.xn913-shell-status span {
    color:#648c9c
}


/* D9 — second certified tail wave (historical v9.0.3-v9.0.4); verbatim before forced-specificity retirement. */

.cockpit-rail a:hover,.nova-world-rail a:hover,.world-rail-node button:hover {
    border-color:rgba(82,215,255,.38);
    box-shadow:inset 3px 0 0 #52d7ff,inset 0 0 22px rgba(42,170,222,.07)
}
.cockpit-rail a.active {
    box-shadow:inset 3px 0 0 #63e0ff,0 0 20px rgba(37,178,229,.08)
}
.game-view-body {
    position:relative
}
.game-view-body:after {
    content:"";
    position:fixed;
    z-index:5000;
    inset:0;
    pointer-events:none;
    opacity:.18;
    background:repeating-linear-gradient(180deg,transparent 0 3px,rgba(119,220,255,.025) 4px);
    mix-blend-mode:screen
}

/* === xnova-components.css === */

/* X Nova 0.13 — D4 reusable component authority.
   Shared component primitives are loaded after Shell/HUD and before domain customizations.
   Forced-specificity declarations are prohibited here. */
:where(.xn-ui-panel,.xn-ui-kpi,.xn-ui-toolbar,.xn-ui-table,.xn-ui-control,.xn-ui-tabs,.xn-ui-card,.xn-ui-inspector,.xn-ui-queue) { --xn-component-authority:d4; }

body.app-authenticated[data-xn-release] :is(.xn-ui-panel,.panel,.nx-tech-inspector,.nx-unit-stage,.nx-unit-catalog,.fleet-command-card) {
    border-color:var(--xn-line-soft);
    box-shadow:var(--xn-shadow-panel);
}
body.app-authenticated[data-xn-release] :is(.xn-ui-panel,.panel,.xn-ui-card,.nx-tech-inspector,.fleet-command-card) {
    background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1));
}
body.app-authenticated[data-xn-release] :is(.xn-ui-table,table) {
    border-collapse:separate;
    border-spacing:0;
    font-variant-numeric:tabular-nums;
}
body.app-authenticated[data-xn-release] :is(th) {
    color:#7ea7be;
    letter-spacing:.075em;
    text-transform:uppercase;
    font-size:var(--xn-type-control);
    background:rgba(7,25,39,.88);
}
body.app-authenticated[data-xn-release] :is(td,th) { border-color:var(--xn-line-soft); }
body.app-authenticated[data-xn-release] tbody tr { transition:background var(--xn-motion-quick) ease; }
body.app-authenticated[data-xn-release] tbody tr:hover { background:rgba(38,137,181,.07); }
body.app-authenticated[data-xn-release] :is(.xn-ui-control,input,select,textarea) {
    border-color:var(--xn-line-mid);
    border-radius:7px;
    background:rgba(2,12,20,.88);
    color:var(--xn-text-strong);
    min-height:38px;
}
body.app-authenticated[data-xn-release] :is(.xn-ui-control,input,select,textarea):focus {
    border-color:var(--xn-line-hot);
    box-shadow:0 0 0 2px rgba(66,190,240,.10);
}
body.app-authenticated[data-xn-release] :is(.xn-ui-button,button,.button-link) {
    border-radius:7px;
    min-height:38px;
    letter-spacing:.045em;
}
body.app-authenticated[data-xn-release] :is(.xn-ui-button,button,.button-link):not(.ghost):not(.danger) {
    background:linear-gradient(180deg,#1378a5,#0b587d);
    border-color:#218dbb;
    color:#f3fbff;
    box-shadow:inset 0 1px rgba(255,255,255,.08);
}
body.app-authenticated[data-xn-release] :is(.xn-ui-button,button,.button-link):not(.ghost):not(.danger):hover {
    background:linear-gradient(180deg,#198bb9,#0e638c);
    border-color:#3cb9e8;
}
body.app-authenticated[data-xn-release] :is(.ghost,.button-link.ghost) {
    border-color:var(--xn-line-mid);
    background:rgba(7,25,39,.55);
    color:var(--xn-cyan-soft);
}
body.app-authenticated[data-xn-release] :is(.danger,button.danger) { border-color:rgba(255,109,131,.45); }

/* D4 reusable vocabulary mapped onto current production selectors. */
body.app-authenticated[data-xn-release] :where(.xn-ui-kpi,.xn-header-resource,.nx-tech-metrics>span,.nx-unit-top-metrics>span,.fleet-command-kpis>div,.galaxy-env-kpis>div) {
    font-variant-numeric:tabular-nums;
    min-width:0;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-toolbar,.xn-ui-tabs,.xn905-overview-tabs,.mission-quickbar,.fleet-mission-quick) {
    min-width:0;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-card,.nx-tech-slot,.xn-research-card,.nx-unit-slot,.fleet-command-card,.galaxy-object) {
    min-width:0;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-inspector,.nx-tech-inspector,.galaxy-system-console) {
    min-width:0;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-queue,.xn-build-queue-live) {
    font-variant-numeric:tabular-nums;
}

/* D5 — adopted production primitives. These classes are now present in core gameplay markup. */
:where(.xn-ui-panel-stack,.xn-ui-kpi-deck) { --xn-component-adoption:d5; }
body.app-authenticated[data-xn-release] :where(.xn-ui-panel) {
    min-width:0;
    border:1px solid var(--xn-line-soft);
    border-radius:10px;
    background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1));
    box-shadow:var(--xn-shadow-panel);
}
body.app-authenticated[data-xn-release] :where(.xn-ui-card) {
    min-width:0;
    border:1px solid var(--xn-line-soft);
    border-radius:8px;
    background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1));
    transition:border-color var(--xn-motion-fast) ease,background var(--xn-motion-fast) ease,transform var(--xn-motion-fast) ease,box-shadow var(--xn-motion-fast) ease;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-inspector) {
    min-width:0;
    border:1px solid var(--xn-line-soft);
    border-radius:10px;
    overflow:clip;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-queue) {
    min-width:0;
    border:1px solid var(--xn-line-soft);
    border-radius:9px;
    font-variant-numeric:tabular-nums;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-kpi-deck)>:where(span,div,article) {
    min-width:0;
    border:1px solid var(--xn-line-soft);
    border-radius:8px;
    font-variant-numeric:tabular-nums;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-panel-stack) { min-width:0; }
body.app-authenticated[data-xn-release] :where(.xn-ui-toolbar,.xn-ui-tabs) { min-width:0; }

/* D17 — Premium Component Canonicalization.
   Components own structure/material contracts through semantic variables.
   Premium art direction consumes these variables; route/domain CSS may specialize them.
   No forced priority is permitted in this authority. */
:where(.xn-ui-panel,.xn-ui-card,.xn-ui-inspector,.xn-ui-kpi,.xn-ui-kpi-deck,.xn-ui-status,.xn-ui-table) {
    --xn-component-authority:d17;
}
body.app-authenticated[data-xn-release] .panel {
    --xn-component-border-color:#153a50;
    --xn-component-background:linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985));
    --xn-component-shadow:var(--nova-shadow);
}
body.app-authenticated[data-xn-release] .record-category {
    --xn-component-border-color:#153a50;
    --xn-component-background:linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985));
    --xn-component-shadow:var(--nova-shadow);
}
body.app-authenticated[data-xn-release].xn-reference-surface :is(
    .panel,.nx-surface-panel,.nx-queue-panel,.nx-fleet-board,.nx-events-board
) {
    --xn-component-border-color:#153f54;
    --xn-component-background:linear-gradient(180deg,rgba(4,17,26,.98),rgba(2,9,14,.99));
    --xn-component-shadow:inset 0 1px rgba(93,192,232,.035);
}
body.app-authenticated[data-xn-release] :where(.xn-ui-inspector) {
    --xn-component-role:inspector;
    --xn-component-overflow:clip;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-kpi,.xn-ui-kpi-deck) {
    --xn-component-role:kpi;
    font-variant-numeric:tabular-nums;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-status,.state-pill,[class*="-status"]) {
    --xn-component-role:status;
    font-variant-numeric:tabular-nums;
}
body.app-authenticated[data-xn-release] :where(.xn-ui-table,table) {
    --xn-component-role:table;
    font-variant-numeric:tabular-nums;
}

/* === xnova-domain-overview.css === */

/* D10 — reconstructed historical Overview authority, moved verbatim before modern convergence. */
/* v9.0.5 Overview is a workstation, not a card stack */
.xn905-overview-workstation {
    
    
    position:relative;
    overflow:hidden
}
.xn905-overview-workstation:before {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(90deg,var(--xn905-grid) 1px,transparent 1px),linear-gradient(var(--xn905-grid) 1px,transparent 1px);
    background-size:72px 72px;
    mask-image:linear-gradient(to bottom,black,transparent 55%);
    opacity:.55
}
.xn905-overview-head {
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(250px,.55fr);
    gap:8px;
    align-items:end;
    position:relative;
    z-index:2;


}
.xn905-title-lock .eyebrow,.xn905-overview-workstation .eyebrow {
    font-size:var(--xn-type-telemetry);
    letter-spacing:.17em;
    color:#77dbfb;
    text-transform:uppercase
}
.xn905-title-lock h1 {
    margin:3px 0 1px;
    font-size:var(--xn-type-section);
    line-height:1;
    
    
}
.xn905-title-lock h1 b {
    font-size:var(--xn-type-control);
    
    
}
.xn905-title-lock p {
    margin:0;
    color:#6d8f9e;
    font-size:var(--xn-type-telemetry);
    letter-spacing:.1em
}
.xn905-world-switch label {
    display:grid;
    gap:3px
}
.xn905-world-switch span {
    font-size:7px;
    letter-spacing:.12em;
    color:#7acde7
}
.xn905-world-switch select {
    width:100%;
    border:1px solid rgba(83,218,255,.28);
    background:#02101a;
    color:#dff8ff;
    padding:7px 9px;
    font-size:var(--xn-type-micro);
    outline:none;
    box-shadow:inset 0 0 16px rgba(42,177,224,.04)
}
.xn905-overview-tabs {
    grid-column:1/-1;
    display:flex;
    gap:4px;
    border-top:1px solid rgba(83,218,255,.1);
    padding-top:7px
}
.xn905-overview-tabs a {
    padding:6px 11px;
    border:1px solid rgba(83,218,255,.15);
    background:rgba(3,17,26,.82);
    font-size:7px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#92b4c1;
    transition:var(--xn-motion-standard) ease
}
.xn905-overview-tabs a:hover,.xn905-overview-tabs a.active {
    color:#e8fbff;
    border-color:rgba(83,218,255,.55);
    background:linear-gradient(180deg,rgba(20,100,135,.28),rgba(3,18,27,.88));
    box-shadow:inset 0 0 20px rgba(48,191,237,.08),0 0 12px rgba(48,191,237,.04)
}
.xn905-overview-stage {
    display:grid;
    grid-template-columns:minmax(0,1fr) 245px;
    
    position:relative;
    z-index:2
}
.xn905-planet-theater {
    position:relative;
    min-height:392px;
    overflow:hidden;
    border:1px solid rgba(89,220,255,.29);
    background:#01080d;
    
}
.xn905-planet-theater>img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(1.13) contrast(1.08) brightness(.98);
    transform:scale(1.015);
    transition:transform 5s var(--xn905-ease),filter .25s ease
}
.xn905-planet-theater:hover>img {
    transform:scale(1.04)
}
.xn905-theater-shade {
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(0,6,10,.68),transparent 32%,transparent 70%,rgba(0,6,10,.38)),linear-gradient(180deg,rgba(0,3,6,.05),transparent 48%,rgba(0,4,8,.82));
    pointer-events:none
}
.xn905-planet-identity {
    position:absolute;
    top:18px;
    left:20px;
    display:grid;
    grid-template-columns:12px auto;
    gap:2px 7px;
    align-items:center;
    text-shadow:0 2px 18px #000
}
.xn905-planet-identity .xn905-live-dot {
    width:8px;
    height:8px;
    border-radius:50%;
    background:#65ef95;
    box-shadow:0 0 15px rgba(101,239,149,.95);
    animation:xn905-live 2.4s ease-in-out infinite;
    grid-row:1/4
}
.xn905-planet-identity small {
    font-size:7px;
    color:#7fdcf8;
    letter-spacing:.14em;
    text-transform:uppercase
}
.xn905-planet-identity h2 {
    font-size:24px;
    line-height:1;
    margin:2px 0;
    
    letter-spacing:.04em
}
.xn905-planet-identity b {
    font-size:var(--xn-type-meta);
    color:#9fbdc9;
    font-weight:500
}
@keyframes xn905-live {
    50% {
        opacity:.35;
        box-shadow:0 0 4px rgba(101,239,149,.3)
    }

}
.xn905-planet-facts {
    position:absolute;
    top:18px;
    right:15px;
    display:grid;
    grid-template-columns:repeat(2,minmax(85px,1fr));
    gap:5px;
    width:min(250px,36%)
}
.xn905-planet-facts span {
    padding:7px 8px;
    background:rgba(1,10,16,.72);
    border:1px solid rgba(110,218,247,.13);
    backdrop-filter:blur(7px)
}
.xn905-planet-facts small {
    display:block;
    color:#6992a2;
    font-size:6px;
    text-transform:uppercase;
    letter-spacing:.1em
}
.xn905-planet-facts b {
    font-size:var(--xn-type-micro);
    color:#e5f9ff
}
.xn905-resource-deck {
    position:absolute;
    left:14px;
    right:14px;
    bottom:13px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:4px
}
.xn905-resource-deck a {
    display:flex;
    gap:8px;
    align-items:center;
    padding:8px 9px;
    background:linear-gradient(180deg,rgba(4,18,27,.89),rgba(1,9,14,.93));
    border:1px solid rgba(91,219,255,.16);
    backdrop-filter:blur(8px);
    min-width:0
}
.xn905-resource-deck i {
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    font-style:normal;
    font-weight:800;
    font-size:var(--xn-type-telemetry);
    border:1px solid currentColor;
    box-shadow:inset 0 0 14px currentColor;
    color:#85dbf5
}
.xn905-resource-deck span {
    min-width:0
}
.xn905-resource-deck small {
    display:block;
    font-size:6px;
    color:#6f9dac;
    text-transform:uppercase
}
.xn905-resource-deck b {
    display:block;
    font-size:var(--xn-type-body-sm);
    color:#f2fcff;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn905-resource-deck em {
    display:block;
    font-style:normal;
    font-size:7px;
    color:#6eea95
}
.xn905-resource-deck .titanium i {
    color:#80e28e
}
.xn905-resource-deck .crystal i {
    color:#56b9ff
}
.xn905-resource-deck .deuterium i {
    color:#ffac41
}
.xn905-command-inspector {
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:11px;
    background:linear-gradient(180deg,rgba(4,19,29,.96),rgba(2,11,18,.96));
    border:1px solid var(--xn905-edge);
    box-shadow:inset 16px 0 35px rgba(19,104,143,.04)
}
.xn905-command-inspector>header {
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-bottom:7px;
    border-bottom:1px solid rgba(83,218,255,.12)
}
.xn905-command-inspector>header b {
    font-size:var(--xn-type-micro);
    color:#9fdff1
}
.xn905-readout-ring {
    --value:50;
    display:grid;
    place-items:center;
    margin:3px auto;
    width:116px;
    height:116px;
    border-radius:50%;
    background:conic-gradient(#66ee97 calc(var(--value)*1%),rgba(38,78,89,.33) 0);
    box-shadow:0 0 30px rgba(67,225,139,.08);
    position:relative
}
.xn905-readout-ring:after {
    content:"";
    position:absolute;
    inset:9px;
    border-radius:50%;
    background:#04121a;
    border:1px solid rgba(93,217,246,.18)
}
.xn905-readout-ring div {
    position:relative;
    z-index:2;
    text-align:center
}
.xn905-readout-ring b {
    display:block;
    font-size:19px;
    color:#f6fdff
}
.xn905-readout-ring small {
    font-size:6px;
    color:#79a7b5;
    text-transform:uppercase
}
.xn905-command-inspector dl {
    margin:0;
    display:grid;
    gap:0
}
.xn905-command-inspector dl div {
    display:flex;
    justify-content:space-between;
    padding:6px 2px;
    border-bottom:1px solid rgba(90,205,240,.075)
}
.xn905-command-inspector dt {
    font-size:7px;
    color:#7397a5
}
.xn905-command-inspector dd {
    margin:0;
    font-size:var(--xn-type-telemetry);
    color:#e6f8fd
}
.xn905-command-inspector dd.danger {
    color:#ff756d
}
.xn905-energy-readout {
    display:grid;
    gap:4px
}
.xn905-energy-readout span {
    display:flex;
    justify-content:space-between
}
.xn905-energy-readout small {
    font-size:6px;
    color:#7ea4b1
}
.xn905-energy-readout b {
    font-size:var(--xn-type-telemetry);
    color:#cceff7
}
.xn905-energy-readout i {
    height:5px;
    background:#071a23;
    border:1px solid rgba(82,210,244,.15)
}
.xn905-energy-readout u {
    display:block;
    height:100%;
    background:linear-gradient(90deg,#28a7dd,#7df2ff);
    box-shadow:0 0 10px rgba(76,219,255,.3)
}
.xn905-primary-action {
    margin-top:auto;
    display:block;
    text-align:center;
    padding:9px;
    border:1px solid rgba(83,218,255,.4);
    background:linear-gradient(180deg,rgba(22,104,140,.34),rgba(3,21,31,.92));
    font-size:var(--xn-type-telemetry);
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#dffaff
}
.xn905-command-dock {
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:5px;
    position:relative;
    z-index:2
}
.xn905-command-dock a {
    display:flex;
    align-items:center;
    gap:8px;
    min-height:54px;
    padding:7px 9px;
    background:linear-gradient(180deg,rgba(5,22,32,.96),rgba(2,10,17,.95));
    border:1px solid rgba(83,218,255,.17)
}
.xn905-command-dock i {
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border:1px solid rgba(83,218,255,.2);
    background:rgba(25,108,146,.08);
    font-style:normal;
    color:#99ebff;
    font-size:16px
}
.xn905-command-dock b {
    display:block;
    font-size:var(--xn-type-telemetry);
    color:#e4f8fd
}
.xn905-command-dock small {
    display:block;
    font-size:5.8px;
    color:#597d8a;
    letter-spacing:.08em
}
.xn905-ops-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    gap:8px;
    position:relative;
    z-index:2
}
.xn905-ops-grid>.panel {
    margin:0;
    padding:9px;
    background:linear-gradient(160deg,rgba(4,18,27,.96),rgba(1,8,14,.97));
    border-color:rgba(82,211,246,.17)
}
.xn905-ops-grid header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding-bottom:7px;
    border-bottom:1px solid rgba(78,195,231,.1)
}
.xn905-ops-grid header>a {
    font-size:6.5px;
    color:#72cae5
}
.xn905-ops-grid header>b {
    font-size:var(--xn-type-micro);
    color:#fff
}
.xn905-queue-columns {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px;
    padding-top:7px
}
.xn905-queue-columns>a {
    display:flex;
    gap:7px;
    align-items:center;
    padding:7px;
    background:#031019;
    border:1px solid rgba(84,218,255,.12);
    min-width:0
}
.xn905-queue-columns i {
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    font-style:normal;
    border:1px solid rgba(84,218,255,.2);
    color:#8fe7ff
}
.xn905-queue-columns span {
    min-width:0
}
.xn905-queue-columns b,.xn905-fleet-status b,.xn905-event-stream b {
    display:block;
    font-size:7.5px;
    color:#e9f9fd;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn905-queue-columns small,.xn905-fleet-status small,.xn905-event-stream small {
    display:block;
    font-size:6.2px;
    color:#6f919e;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.xn905-queue-columns time,.xn905-fleet-status time {
    font-size:6px;
    color:#79dda0;
    margin-left:auto
}
.xn905-surface>div {
    position:relative;
    margin-top:7px;
    height:132px;
    overflow:hidden
}
.xn905-surface img {
    width:100%;
    height:100%;
    object-fit:cover;
    filter:saturate(1.06) contrast(1.08)
}
.xn905-surface div>span {
    position:absolute;
    left:9px;
    bottom:8px;
    padding:5px 7px;
    background:rgba(1,8,13,.72);
    border-left:2px solid #54dfff
}
.xn905-surface b {
    display:block;
    font-size:var(--xn-type-telemetry);
    color:#fff
}
.xn905-surface small {
    font-size:6px;
    color:#9ab7c1
}
.xn905-fleet-status>a,.xn905-event-stream>a {
    display:grid;
    grid-template-columns:26px minmax(0,1fr) auto;
    gap:7px;
    align-items:center;
    padding:7px 3px;
    border-bottom:1px solid rgba(79,192,228,.08)
}
.xn905-fleet-status i,.xn905-event-stream i {
    font-style:normal;
    color:#71dbf8;
    text-align:center
}
.xn905-event-stream>a {
    grid-template-columns:18px minmax(0,1fr)
}
.xn905-overview-secondary {
    margin-top:8px;
    opacity:.92
}
@media(max-width:1180px) {
    .xn905-overview-stage {
        grid-template-columns:1fr
    }
    .xn905-command-inspector {
        display:grid;
        grid-template-columns:120px 1fr 1fr;
        align-items:center
    }
    .xn905-readout-ring {
        grid-row:1/4
    }
    .xn905-command-dock {
        grid-template-columns:repeat(3,1fr)
    }
    .xn905-ops-grid {
        grid-template-columns:1fr
    }
    .xn905-planet-facts {
        width:38%
    }

}
@media(max-width:760px) {
    .xn905-overview-head {
        grid-template-columns:1fr
    }
    .xn905-overview-tabs {
        overflow:auto
    }
    .xn905-overview-stage {
        display:block
    }
    .xn905-planet-theater {
        min-height:450px
    }
    .xn905-planet-facts {
        top:auto;
        bottom:112px;
        left:12px;
        right:12px;
        width:auto;
        grid-template-columns:repeat(2,1fr)
    }
    .xn905-resource-deck {
        grid-template-columns:repeat(2,1fr)
    }
    .xn905-command-inspector {
        display:flex;
        margin-top:6px
    }
    .xn905-command-dock {
        grid-template-columns:repeat(2,1fr)
    }
    .xn905-queue-columns {
        grid-template-columns:1fr
    }
    .xn905-ops-grid {
        display:block
    }
    .xn905-ops-grid>.panel {
        margin-bottom:6px
    }

}


/* X Nova 0.13 — D3 Overview convergence. */
:where(body.xn-route-overview) { --xn-domain-authority:overview; }
body.xn-route-overview[data-xn-release] .xn905-overview-workstation {
    display:grid;
    gap:var(--xn-gap);
}
body.xn-route-overview[data-xn-release] .xn905-overview-head {
    background:linear-gradient(115deg,rgba(12,43,63,.78),rgba(4,17,28,.9));
    padding:var(--xn-panel-pad);
}
body.xn-route-overview[data-xn-release] .xn905-title-lock h1 {
    color:var(--xn-text-strong);
    letter-spacing:-.025em;
}
body.xn-route-overview[data-xn-release] .xn905-title-lock h1 b { color:var(--xn-cyan); font-weight:600; }
body.xn-route-overview[data-xn-release] .xn905-overview-tabs {
    border:1px solid var(--xn-line-soft);
    border-radius:9px;
    padding:4px;
    background:rgba(3,15,24,.78);
}
body.xn-route-overview[data-xn-release] .xn905-overview-tabs a { border-radius:6px; }
body.xn-route-overview[data-xn-release] .xn905-overview-tabs a.active {
    background:linear-gradient(180deg,rgba(42,151,197,.22),rgba(15,55,77,.36));
    box-shadow:inset 0 -2px var(--xn-cyan);
}
body.xn-route-overview[data-xn-release] .xn905-overview-stage { gap:var(--xn-gap); }
body.xn-route-overview[data-xn-release] .xn905-planet-theater {
    border-color:var(--xn-line-mid);
    border-radius:12px;
    box-shadow:var(--xn-shadow-float),inset 0 0 48px rgba(50,159,205,.055);
}
body.xn-route-overview[data-xn-release] .xn905-planet-identity {
    background:linear-gradient(90deg,rgba(2,11,18,.82),rgba(2,11,18,.24));
    border-left:2px solid var(--xn-cyan);
    padding-left:14px;
}
body.xn-route-overview[data-xn-release] .xn905-planet-identity h2 { color:var(--xn-text-strong); }
body.xn-route-overview[data-xn-release] .xn905-overview-secondary { gap:var(--xn-gap); }

/* === xnova-domain-buildings.css === */

/* X Nova 0.13 — D3 Buildings convergence. */
:where(body.xn-route-buildings) { --xn-domain-authority:buildings; }
body.xn-route-buildings[data-xn-release] .nx-tech-console { display:grid; gap:var(--xn-gap); }
body.xn-route-buildings[data-xn-release] .nx-tech-top {
    padding:var(--xn-panel-pad);
    background:linear-gradient(110deg,rgba(65,91,54,.10),rgba(6,22,34,.94) 46%,rgba(12,42,57,.72));
}
body.xn-route-buildings[data-xn-release] .nx-tech-top h1 { color:var(--xn-text-strong); }
body.xn-route-buildings[data-xn-release] .nx-tech-metrics span {
    background:rgba(5,22,34,.62);
}
body.xn-route-buildings[data-xn-release] .xn-build-queue-live {
    border-color:rgba(240,201,107,.28);
    border-radius:9px;
    background:linear-gradient(90deg,rgba(87,65,21,.16),rgba(5,22,34,.74));
}
body.xn-route-buildings[data-xn-release] .xn908-industrial-theater {
    border:1px solid var(--xn-line-mid);
    border-radius:12px;
    overflow:clip;
    box-shadow:var(--xn-shadow-float);
}
body.xn-route-buildings[data-xn-release] .nx-tech-layout { gap:var(--xn-gap); }
body.xn-route-buildings[data-xn-release] .nx-tech-group {
    background:rgba(5,18,29,.72);
}
body.xn-route-buildings[data-xn-release] .nx-tech-slot {
    background:linear-gradient(180deg,rgba(10,33,48,.78),rgba(4,17,27,.88));
}
body.xn-route-buildings[data-xn-release] .nx-tech-slot:hover { border-color:var(--xn-line-hot); transform:translateY(-1px); }
body.xn-route-buildings[data-xn-release] .nx-tech-slot.selected { border-color:var(--xn-cyan); box-shadow:inset 0 0 24px rgba(75,193,239,.07); }
body.xn-route-buildings[data-xn-release] .nx-tech-inspector { border-radius:11px; }


/* D9 — certified retirement from legacy tail; declarations preserved verbatim. */

.xn908-industrial-theater {
    display:grid;
    grid-template-columns:minmax(0,1.7fr) minmax(260px,.85fr);
    min-height:245px;
    margin:0 0 10px;
    
    background:#04101a;
    
    position:relative
}
.xn908-industrial-scene {
    position:relative;
    min-height:245px;
    overflow:hidden;
    background:radial-gradient(circle at 55% 45%,rgba(0,154,225,.12),transparent 58%)
}
.xn908-industrial-scene .entity-art {
    width:100%;
    height:100%;
    min-height:245px;
    object-fit:cover;
    filter:saturate(1.12) contrast(1.06);
    transform:scale(1.04)
}
.xn908-industrial-telemetry {
    padding:22px 20px;
    background:linear-gradient(135deg,rgba(4,18,29,.96),rgba(2,9,16,.98));
    border-left:1px solid rgba(67,193,230,.22)
}
.xn908-industrial-telemetry small {
    color:#55d7ff;
    letter-spacing:var(--xn-tracking-label)
}
.xn908-industrial-telemetry h2 {
    font-size:var(--xn-type-section);
    margin:8px 0 15px;
    color:#e6f8ff
}
.xn908-industrial-telemetry>div {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:5px
}
.xn908-industrial-telemetry>div span {
    padding:8px;
    background:rgba(8,39,54,.6);
    font-size:var(--xn-type-meta);
    color:#789baa
}
.xn908-industrial-telemetry>div b {
    display:block;
    margin-top:4px;
    color:#bff5ff;
    font-size:var(--xn-type-body)
}
.xn908-industrial-telemetry p {
    color:#91aebc;
    font-size:var(--xn-type-body-sm);
    line-height:1.55
}

/* === xnova-domain-research.css === */

/* X Nova 0.13 — D3 Research convergence. */
:where(body.xn-route-research) { --xn-domain-authority:research; }
body.xn-route-research[data-xn-release] .nx-research-console { display:grid; gap:var(--xn-gap); }
body.xn-route-research[data-xn-release] .nx-tech-top {
    padding:var(--xn-panel-pad);
    background:linear-gradient(110deg,rgba(56,43,108,.14),rgba(5,19,31,.94) 46%,rgba(10,39,57,.74));
}
body.xn-route-research[data-xn-release] .nx-tech-top h1 { color:var(--xn-text-strong); }
body.xn-route-research[data-xn-release] .nx-tech-metrics span {
    background:rgba(7,23,37,.68);
}
body.xn-route-research[data-xn-release] .nx-tech-layout { gap:var(--xn-gap); }
body.xn-route-research[data-xn-release] .nx-tech-group {
    background:rgba(5,18,29,.72);
}
body.xn-route-research[data-xn-release] .xn-research-card,
body.xn-route-research[data-xn-release] .nx-tech-slot {
    background:linear-gradient(180deg,rgba(14,31,53,.86),rgba(5,17,29,.92));
}
body.xn-route-research[data-xn-release] .xn-research-card:hover,
body.xn-route-research[data-xn-release] .nx-tech-slot:hover { border-color:var(--xn-line-hot); transform:translateY(-1px); }
body.xn-route-research[data-xn-release] .nx-tech-inspector { border-radius:11px; }
body.xn-route-research[data-xn-release] .nx-inspector-cost span,
body.xn-route-research[data-xn-release] .nx-inspector-req span { border-color:var(--xn-line-soft); background:rgba(4,17,27,.74); }


/* D9 — certified retirement from legacy tail; declarations preserved verbatim. */

/* Technology uses cinematic semantic assets as imagery, not glyphs. */
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card-art {
    overflow:hidden;
    background:#020b12
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card-art .nova-entity-art-hq,[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card-art .nova-entity-art-hq img {
    width:100%;
    height:100%
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card-art .nova-entity-art-hq img {
    object-fit:cover;
    filter:saturate(1.2) contrast(1.12) brightness(.96);
    transition:transform .7s var(--xn905-ease),filter .25s ease
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card:hover .nova-entity-art-hq img {
    transform:scale(1.075);
    filter:saturate(1.35) contrast(1.16) brightness(1.06)
}
/* Research Art Fidelity IV presentation: preserve semantic image, add cinematic materiality in runtime. */
[data-xn-workstation="research-nexus"] .xn-research-card-art {
    position:relative
}
[data-xn-workstation="research-nexus"] .xn-research-card-art:after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(180deg,transparent 52%,rgba(0,5,9,.54)),radial-gradient(circle at var(--xn-mx,50%) var(--xn-my,50%),rgba(101,226,255,.12),transparent 34%);
    mix-blend-mode:screen;
    opacity:.8
}


/* D9 — second certified tail wave (historical v9.0.3-v9.0.4); verbatim before forced-specificity retirement. */

.xn-research-card {
    min-width:105px;
    display:grid;
    grid-template-rows:72px 1fr;
    overflow:hidden;
    
    
    color:#c5dce6;
    text-decoration:none;
    position:relative
}
.xn-research-card:hover {
    z-index:3;
    
    box-shadow:0 0 0 1px rgba(77,220,255,.12),0 8px 24px rgba(0,0,0,.38)
}
.xn-research-card.status-fulfilled {
    border-color:#22684c
}
.xn-research-card.status-next {
    border-color:#6f3e8c
}
.xn-research-card.status-blocked {
    opacity:.52
}
.xn-research-card-art {
    position:relative;
    overflow:hidden;
    background:#02090d
}
.xn-research-card-art>.nova-entity-art-hq {
    position:absolute;
    inset:0;
    min-height:0;
    border:0
}
.xn-research-card-art>.nova-entity-art-hq picture {
    position:absolute;
    inset:0
}
.xn-research-card-art>.nova-entity-art-hq img {
    width:100%;
    height:100%;
    object-fit:cover;
    padding:0
}
.xn-research-card-art:after {
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,transparent 35%,rgba(1,7,11,.87))
}
.xn-research-card-art>span {
    position:absolute;
    z-index:2;
    left:6px;
    bottom:5px;
    font-size:6px;
    letter-spacing:.08em;
    color:#8edfff
}
.xn-research-card-copy {
    padding:6px 7px
}
.xn-research-card-copy b {
    display:block;
    min-height:22px;
    font-size:var(--xn-type-telemetry);
    line-height:1.25;
    color:#d8edf5
}
.xn-research-card-copy small {
    display:block;
    margin:3px 0 5px;
    font-size:6px;
    color:#7292a0
}
.xn-research-card-copy i {
    display:block;
    height:2px;
    background:#0b202a
}
.xn-research-card-copy u {
    display:block;
    height:100%;
    background:#34c9f3
}
[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card {
    grid-template-rows:92px 1fr;
    min-width:128px
}
.xn-research-card-art>.nova-entity-art-hq img {
    filter:saturate(1.15) contrast(1.08)
}
.xn-research-card.status-fulfilled:after {
    content:"ONLINE";
    position:absolute;
    z-index:12;
    right:5px;
    top:5px;
    padding:2px 4px;
    background:rgba(18,88,58,.78);
    border:1px solid rgba(84,225,145,.42);
    font-size:5.5px;
    letter-spacing:.1em;
    color:#7af0a6
}
.xn-research-card.status-next:after {
    content:"NEXT";
    position:absolute;
    z-index:12;
    right:5px;
    top:5px;
    padding:2px 4px;
    background:rgba(75,30,102,.78);
    border:1px solid rgba(204,111,255,.45);
    font-size:5.5px;
    letter-spacing:.1em;
    color:#e0a0ff
}

/* === xnova-domain-shipyard.css === */

/* X Nova 0.13 — D3 Shipyard convergence. */
:where(body.xn-route-shipyard) { --xn-domain-authority:shipyard; }
body.xn-route-shipyard[data-xn-release] .nx-unit-console { display:grid; gap:var(--xn-gap); }
body.xn-route-shipyard[data-xn-release] .nx-unit-top {
    padding:var(--xn-panel-pad);
    background:linear-gradient(110deg,rgba(74,76,89,.12),rgba(5,19,30,.94) 48%,rgba(10,40,56,.76));
}
body.xn-route-shipyard[data-xn-release] .nx-unit-top h1 { color:var(--xn-text-strong); }
body.xn-route-shipyard[data-xn-release] .nx-unit-top-metrics span {
    background:rgba(6,23,36,.66);
}
body.xn-route-shipyard[data-xn-release] .nx-unit-layout { gap:var(--xn-gap); }
body.xn-route-shipyard[data-xn-release] .nx-unit-stage,
body.xn-route-shipyard[data-xn-release] .nx-unit-catalog {
    background:linear-gradient(180deg,rgba(8,27,42,.90),rgba(4,15,24,.94));
}
body.xn-route-shipyard[data-xn-release] .nx-unit-stage { border-color:var(--xn-line-mid); }
body.xn-route-shipyard[data-xn-release] .nx-unit-slot {
    background:rgba(7,23,36,.76);
    transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
body.xn-route-shipyard[data-xn-release] .nx-unit-slot:hover { border-color:var(--xn-line-hot); background:rgba(13,40,57,.86); transform:translateY(-1px); }
body.xn-route-shipyard[data-xn-release] .nx-unit-slot.selected { border-color:var(--xn-cyan); box-shadow:inset 0 0 24px rgba(68,194,241,.08); }
body.xn-route-shipyard[data-xn-release] .nx-combat-strip span { border-color:var(--xn-line-soft); background:rgba(3,15,24,.62); }


/* D9 — certified retirement from legacy tail; declarations preserved verbatim. */

[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-stage {
    min-height:430px
}
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-art-hero {
    min-height:430px
}
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-catalog {
    background:linear-gradient(180deg,rgba(3,16,24,.82),rgba(1,8,13,.95))
}
/* Shipyard = hangar-first workstation */
.xn906-shipyard-workstation .nx-unit-top {
    min-height:74px;
    background:linear-gradient(100deg,rgba(3,17,26,.98),rgba(5,28,39,.94),rgba(2,10,16,.98));
    border:1px solid var(--xn906-line)
}
.xn906-hangar-stage .nx-unit-art-hero {
    min-height:520px
}
.xn906-hangar-stage .nx-unit-art-hero img {
    object-fit:cover;
    filter:saturate(1.22) contrast(1.1) brightness(.92);
    transition:transform 2.5s var(--xn906-ease)
}
.xn906-hangar-stage:hover .nx-unit-art-hero img {
    transform:scale(1.035)
}
.xn906-hangar-stage .nx-unit-identity {
    align-self:stretch;
    padding:20px 16px;
    background:linear-gradient(90deg,rgba(2,10,15,.18),rgba(2,12,19,.96) 20%);
    border-left:1px solid rgba(88,222,255,.18)
}
.xn906-ship-catalog .nx-unit-slot {
    transition:var(--xn-motion-emphasis) var(--xn906-ease)
}
.xn906-ship-catalog .nx-unit-slot:hover {
    transform:translateY(-3px) scale(1.008);
    box-shadow:0 14px 26px rgba(0,0,0,.26),0 0 18px rgba(60,198,240,.06)
}
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-stage {
    min-height:clamp(330px,42vh,540px);
    overflow:hidden
}
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-art-hero img {
    width:100%;
    height:100%;
    object-fit:cover;
    transform:scale(1.01);
    transition:transform .45s ease,filter .45s ease
}
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-stage:hover .nx-unit-art-hero img {
    transform:scale(1.035);
    filter:brightness(1.07) contrast(1.04)
}


/* D9 — second certified tail wave (historical v9.0.3-v9.0.4); verbatim before forced-specificity retirement. */

/* Shipyard: hangar and selected hull dominate */
[data-xn-screen-contract="P0_SHIPYARD"] .nx-unit-stage {
    
    grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);
    background:radial-gradient(circle at 34% 40%,rgba(30,145,191,.12),transparent 32%),linear-gradient(180deg,#020a0f,#010609)
}

.nx-unit-art-hero .nova-entity-art-hq img {
    transition:transform 2.8s var(--xn904-ease),filter .25s ease
}
.nx-unit-art-hero:hover .nova-entity-art-hq img {
    transform:scale(1.055) translateX(1.5%);
    filter:saturate(1.18) contrast(1.08) brightness(1.05)
}

/* === xnova-domain-fleet-galaxy.css === */

/* D10 — third-wave fleet/galaxy authority, moved verbatim before modern convergence. */
/* P0 GALAXY — tactical system canvas and intel above the fleet workflow. */
.xn-route-galaxy [data-xn-screen-contract="P0_GALAXY"] {
    gap:4px
}
.xn-route-galaxy .galaxy-command-head {
    min-height:46px
}
.xn-route-galaxy .nx-galaxy-focus-grid {
    grid-template-columns:minmax(0,1.9fr) 306px;
    gap:4px
}
.xn-route-galaxy .nx-system-stage {
    
    
    border:1px solid #17475e
}
.xn-route-galaxy .nx-target-intel-panel {
    
    
    padding:8px;
    border:1px solid #17475e
}
.xn-route-galaxy .nx-target-actions {
    grid-template-columns:repeat(2,minmax(0,1fr))
}
.xn-route-galaxy .galaxy-tactical-table-wrap {
    max-height:210px;
    content-visibility:auto
}
.xn-route-galaxy .galaxy-scene-workspace,.xn-route-galaxy .scene-workspace {
    gap:4px
}
.xn-route-galaxy .galaxy-command-shell .panel {
    margin:0
}

/* D10 — third-wave Fleet/Galaxy v9.0.2 authority, moved verbatim. */
/* GALAXY/FLEET: tactical map + target intel should read as one operational surface. */
.xn-route-galaxy .nx-system-stage {
    min-height:520px;
    max-height:548px;
    background-color:#01070c
}
.xn-route-galaxy .nx-target-intel-panel {
    min-height:520px;
    max-height:548px;
    background:linear-gradient(180deg,#061722,#031019)
}
.xn-route-galaxy .nx-target-actions a,.xn-route-galaxy .nx-target-actions button {
    min-height:39px;
    font-weight:700;
    letter-spacing:.035em
}
.xn-route-galaxy .nx-system-stage canvas,.xn-route-galaxy .nx-system-stage svg {
    filter:saturate(1.2) contrast(1.08)
}

/* X Nova 0.13 — D3 Fleet/Galaxy convergence. */
:where(body:is(.xn-route-fleet,.xn-route-fleet-command,.xn-route-galaxy)) { --xn-domain-authority:fleet-galaxy; }
body:is(.xn-route-fleet,.xn-route-fleet-command,.xn-route-galaxy)[data-xn-release] :is(.nx-fleet-bridge-head,.command-hero,.galaxy-command-head) {
    background:linear-gradient(110deg,rgba(14,45,64,.80),rgba(4,16,27,.94) 50%,rgba(17,48,62,.66));
}
body.xn-route-fleet[data-xn-release] .nx-fleet-stage,
body.xn-route-fleet-command[data-xn-release] .xn908-fleet-theater,
body.xn-route-galaxy[data-xn-release] .xn906-galaxy-theater {
    border-color:var(--xn-line-mid);
    box-shadow:var(--xn-shadow-float),inset 0 0 54px rgba(50,169,215,.045);
    overflow:clip;
}
body.xn-route-fleet[data-xn-release] .nx-flight-path-console {
    border-color:var(--xn-line-soft);
    border-radius:10px;
    background:linear-gradient(180deg,rgba(7,27,42,.86),rgba(3,14,23,.92));
}
body.xn-route-fleet[data-xn-release] .mission-quickbar a,
body.xn-route-fleet-command[data-xn-release] .fleet-mission-quick a,
body.xn-route-galaxy[data-xn-release] .galaxy-action-legend span {
    border:1px solid var(--xn-line-soft);
    border-radius:6px;
    background:rgba(5,22,34,.66);
}
body.xn-route-fleet-command[data-xn-release] .fleet-command-summary {
    gap:var(--xn-gap);
}
body.xn-route-fleet-command[data-xn-release] .fleet-command-summary article {
    border:1px solid var(--xn-line-soft);
    border-radius:9px;
    background:linear-gradient(180deg,rgba(11,35,50,.78),rgba(4,17,27,.88));
    box-shadow:var(--xn-shadow-panel);
}
body.xn-route-fleet-command[data-xn-release] .fleet-command-card {
}
body.xn-route-fleet-command[data-xn-release] .fleet-command-card:hover {
    border-color:var(--xn-line-mid);
    transform:translateY(-1px);
    box-shadow:0 18px 46px rgba(0,0,0,.34);
}
body.xn-route-fleet-command[data-xn-release] .fleet-command-kpis>div,
body.xn-route-fleet-command[data-xn-release] .fleet-command-times>div {
    border-color:var(--xn-line-soft);
    background:rgba(3,16,25,.60);
}
body.xn-route-galaxy[data-xn-release] .galaxy-system-console {
    background:rgba(4,18,29,.84);
}
body.xn-route-galaxy[data-xn-release] .galaxy-env-kpis>div {
    background:rgba(5,22,34,.62);
}
body.xn-route-galaxy[data-xn-release] .galaxy-object {
    border-color:var(--xn-line-soft);
    transition:border-color .15s ease,background .15s ease,transform .15s ease;
}
body.xn-route-galaxy[data-xn-release] .galaxy-object:hover { border-color:var(--xn-line-hot); background:rgba(18,55,74,.68); transform:translateY(-1px); }


/* D9 — certified retirement from legacy tail; declarations preserved verbatim. */

[data-xn-screen-contract="P0_GALAXY"] .galaxy-map-wrap,[data-xn-screen-contract="P0_GALAXY"] .nx-galaxy-stage {
    min-height:560px
}
[data-xn-screen-contract="P0_GALAXY"] .galaxy-command-shell {
    background:radial-gradient(circle at 44% 35%,rgba(25,114,159,.06),transparent 32%)
}
.xn906-galaxy-workstation .galaxy-system-console {
    display:grid;
    grid-template-columns:minmax(320px,.7fr) 120px minmax(300px,1fr) auto;
    gap:8px;
    align-items:center;
    margin:0 0 7px;
    padding:8px 10px
}
.xn906-galaxy-workstation .galaxy-system-console .galaxy-nav {
    display:flex
}
.xn906-galaxy-workstation .galaxy-env-kpis {
    grid-template-columns:repeat(3,1fr)
}
[data-xn-screen-contract="P0_IMPERIUM"] .empire-map-shell,[data-xn-screen-contract="P0_GALAXY"] .galaxy-map-stage {
    min-height:clamp(430px,55vh,680px)
}
.xn909-fleet-launch-workstation .nx-fleet-stage {
    min-height:310px;
    box-shadow:inset 0 -70px 90px rgba(0,0,0,.34),0 12px 38px rgba(0,0,0,.24)
}


/* D9 — second certified tail wave (historical v9.0.3-v9.0.4); verbatim before forced-specificity retirement. */

/* Galaxy: tactical navigation surface */
[data-xn-screen-contract="P0_GALAXY"] .galaxy-map,[data-xn-screen-contract="P0_GALAXY"] .nx-galaxy-map,[data-xn-screen-contract="P0_GALAXY"] canvas {
    filter:saturate(1.16) contrast(1.05)
}
[data-xn-screen-contract="P0_GALAXY"] .galaxy-map-wrap,[data-xn-screen-contract="P0_GALAXY"] .nx-galaxy-stage {
    
    box-shadow:inset 0 0 70px rgba(21,125,177,.08)
}

/* === xnova-domain-defense.css === */

/* X Nova 0.15 — D8 Defense convergence authority. No forced specificity. */
:where(.xn-defense-surface) { --xn-domain-authority:defense; }

/* D8: exact legacy behavior materialized here before the modern convergence layer. */
body.xn-route-defense[data-xn-release] .xn908-defense-status {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin:0 0 10px;
}
body.xn-route-defense[data-xn-release] .xn908-defense-status>div {
    padding:10px 12px;
    border:1px solid rgba(72,161,194,.18);
    background:linear-gradient(180deg,rgba(5,27,41,.88),rgba(2,12,20,.92));
}
body.xn-route-defense[data-xn-release] .xn908-defense-status small {
    display:block;
    color:#66899b;
    font-size:var(--xn-type-micro);
    letter-spacing:.12em;
}
body.xn-route-defense[data-xn-release] .xn908-defense-status strong {
    display:block;
    color:#b7f1ff;
    margin-top:4px;
    font-size:14px;
}
body.xn-route-defense[data-xn-release] .xn908-defense-workstation .nx-unit-stage {
    box-shadow:inset 0 0 55px rgba(10,76,111,.18),0 10px 32px rgba(0,0,0,.24);
}
body.xn-route-defense[data-xn-release] :where(.xn-defense-surface,.xn-defense-stage,.xn-defense-catalog,.xn-defense-inspector) { min-width:0; }
body.xn-route-defense[data-xn-release] .xn-defense-surface { display:grid; gap:clamp(8px,1vw,14px); }
body.xn-route-defense[data-xn-release] .nx-unit-top { padding:clamp(12px,1.4vw,18px); }
body.xn-route-defense[data-xn-release] .nx-unit-top-metrics { gap:clamp(6px,.8vw,10px); }
body.xn-route-defense[data-xn-release] .xn908-defense-status { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:8px; }
body.xn-route-defense[data-xn-release] .xn908-defense-status>div { border:1px solid var(--xn-line-soft); border-radius:8px; background:rgba(4,18,29,.74); padding:9px 10px; }
body.xn-route-defense[data-xn-release] .nx-unit-layout { gap:clamp(10px,1.2vw,16px); }
body.xn-route-defense[data-xn-release] .nx-unit-strip { gap:8px; }
body.xn-route-defense[data-xn-release] .nx-unit-slot { min-height:128px; }
body.xn-route-defense[data-xn-release] .nx-unit-slot:is(:hover,.selected) { border-color:var(--xn-line-hot); box-shadow:0 10px 28px rgba(0,0,0,.24); }
body.xn-route-defense[data-xn-release] .nx-unit-inspector { position:sticky; top:82px; align-self:start; }
body.xn-route-defense[data-xn-release] .nx-combat-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(74px,1fr)); gap:6px; }

/* === xnova-domain-technology.css === */

/* X Nova 0.13 — D6 Technology Nexus / Tech Tree convergence authority. */
:where(.xn-technology-surface) { --xn-domain-authority:technology; }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] :where(.xn-technology-surface,.xn-tech-matrix,.xn-tech-doctrine,.visual-tech-tree,.xn-tech-inspector) { min-width:0; }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-command { display:grid; gap:clamp(8px,1vw,14px); }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-hero { padding:clamp(14px,1.6vw,22px); border:1px solid var(--xn-line-soft); border-radius:12px; background:linear-gradient(135deg,rgba(7,31,47,.94),rgba(3,13,22,.96)); }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-workspace { gap:clamp(10px,1.2vw,16px); }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-filter { display:flex; flex-wrap:wrap; gap:6px; }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-filter button { min-height:34px; }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-grid { gap:8px; }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-slot { border-color:var(--xn-line-soft); }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-slot:is(:hover,.active,.selected) { border-color:var(--xn-line-hot); }
body:is(.xn-route-technology-nexus,.xn-route-tech-tree)[data-xn-release] .xn-tech-inspector { position:sticky; top:82px; align-self:start; }
body.xn-route-tech-tree[data-xn-release] .visual-tech-tree { overflow:auto; scrollbar-gutter:stable; }

/* === xnova-domain-economy.css === */

/* X Nova 0.13 — D6 Economy convergence authority. */
:where(.xn-economy-surface) { --xn-domain-authority:economy; }
body.xn-route-economy[data-xn-release] :where(.xn-economy-surface,.production-command-grid,.production-world-stage,.production-resource-stack,.production-facilities,.production-world-status) { min-width:0; }
body.xn-route-economy[data-xn-release] .production-control-surface { display:grid; gap:clamp(9px,1.1vw,15px); }
body.xn-route-economy[data-xn-release] .production-command-header { gap:clamp(10px,1.2vw,18px); }
body.xn-route-economy[data-xn-release] .production-total-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:7px; }
body.xn-route-economy[data-xn-release] .production-total-strip>span { border:1px solid var(--xn-line-soft); border-radius:8px; padding:8px 10px; background:rgba(3,17,27,.76); }
body.xn-route-economy[data-xn-release] .production-resource-stack { display:grid; gap:7px; }
body.xn-route-economy[data-xn-release] .production-resource-stack article { border-color:var(--xn-line-soft); border-radius:9px; }
body.xn-route-economy[data-xn-release] .production-facility-grid { grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:8px; }
body.xn-route-economy[data-xn-release] .production-world-deck>div { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:8px; }
body.xn-route-economy[data-xn-release] .economy-matrix-scroll { overflow:auto; scrollbar-gutter:stable; }

/* === xnova-domain-operations.css === */

/* X Nova 0.13 — D6 Operations / Operational Intent convergence authority. */
:where(.xn-operations-surface) { --xn-domain-authority:operations; }
body:is(.xn-route-operations,.xn-route-intentions)[data-xn-release] :where(.xn-operations-surface,.operations-timeline,.strategic-command-map,.preset-list,.form-grid) { min-width:0; }
body.xn-route-operations[data-xn-release] .operations-command { display:grid; gap:clamp(9px,1vw,14px); }
body.xn-route-operations[data-xn-release] .operations-timeline { display:grid; gap:6px; }
body.xn-route-operations[data-xn-release] .timeline-item { border:1px solid var(--xn-line-soft); border-radius:9px; background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1)); }
body.xn-route-operations[data-xn-release] .strategic-front-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:9px; }
body.xn-route-operations[data-xn-release] :where(.outpost-card,.convoy-card,.alliance-outpost-card) { border-color:var(--xn-line-soft); border-radius:9px; }
body.xn-route-intentions[data-xn-release] .form-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
body.xn-route-intentions[data-xn-release] .preset-list { display:grid; gap:7px; }
body.xn-route-intentions[data-xn-release] .preset-list>article { border:1px solid var(--xn-line-soft); border-radius:9px; background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1)); }

/* === xnova-domain-missions.css === */

/* X Nova 0.13 — D6 Mission Command convergence authority. */
:where(.xn-missions-surface) { --xn-domain-authority:missions; }
body.xn-route-missions[data-xn-release] :where(.xn-missions-surface,.mission-hero,.mission-recommend,.mission-group,.mission-tile,.sector-card,.mission-card) { min-width:0; }
body.xn-route-missions[data-xn-release] .xn9010-mission-command-workstation { display:grid; gap:clamp(9px,1vw,15px); }
body.xn-route-missions[data-xn-release] .mission-hero { border:1px solid var(--xn-line-soft); border-radius:12px; overflow:hidden; }
body.xn-route-missions[data-xn-release] .mission-recommend { border:1px solid var(--xn-line-soft); border-radius:10px; background:linear-gradient(180deg,var(--xn-surface-2),var(--xn-surface-1)); }
body.xn-route-missions[data-xn-release] .mission-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:7px; }
body.xn-route-missions[data-xn-release] .mission-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:8px; }
body.xn-route-missions[data-xn-release] .mission-tile { border-color:var(--xn-line-soft); border-radius:9px; }
body.xn-route-missions[data-xn-release] .mission-tile:hover { border-color:var(--xn-line-hot); }
body.xn-route-missions[data-xn-release] .sector-grid { grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:9px; }
body.xn-route-missions[data-xn-release] .sector-card { border-color:var(--xn-line-soft); border-radius:10px; }

/* === xnova-domain-social-alliance.css === */

/* X Nova 0.9 — D2 domain authority: social-alliance.
   New domain-specific rules belong here. Legacy selectors migrate only with parity evidence.
   This anchor is intentionally non-visual. */
:where(body:is(.xn-route-alliance,.xn-route-messages,.xn-route-ranking,.xn-route-senators)) {
    --xn-domain-authority: social-alliance;
}

/* === xnova-domain-discovery.css === */

/* X Nova 0.9 — D2 domain authority: discovery.
   New domain-specific rules belong here. Legacy selectors migrate only with parity evidence.
   This anchor is intentionally non-visual. */
:where(body:is(.xn-route-discovery,.xn-route-expedition,.xn-route-artifacts,.xn-route-containers)) {
    --xn-domain-authority: discovery;
}

/* === xnova-domain-admin.css === */

/* X Nova 0.9 — D2 domain authority: admin.
   New domain-specific rules belong here. Legacy selectors migrate only with parity evidence.
   This anchor is intentionally non-visual. */
:where(body[class*="xn-route-admin"]) {
    --xn-domain-authority: admin;
}

/* === xnova-premium-art-direction.css === */

/* X Nova 0.20 — D13 premium art direction authority.
   Institutional luxury, restrained motion, route-specific cinematic composition.
   No !important declarations. */
:root {
  --xn-lux-ink:#01060b;
  --xn-lux-panel:rgba(5,14,23,.86);
  --xn-lux-panel-2:rgba(8,22,34,.82);
  --xn-lux-line:rgba(136,210,238,.14);
  --xn-lux-line-hot:rgba(127,221,255,.38);
  --xn-lux-white:#f4fbff;
  --xn-lux-copy:#b6cbd8;
  --xn-lux-muted:#718c9c;
  --xn-lux-cyan:#7bddff;
  --xn-lux-gold:#d7c28b;
  --xn-lux-shadow:0 28px 80px rgba(0,0,0,.42);
  --xn-lux-hairline:linear-gradient(90deg,transparent,rgba(139,222,255,.30),transparent);
}
body.app-authenticated[data-xn-release] {
  font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;
  font-feature-settings:"kern" 1,"ss01" 1,"tnum" 1;
  background:
    radial-gradient(70% 52% at 50% -12%,rgba(41,124,166,.15),transparent 68%),
    radial-gradient(44% 40% at 92% 4%,rgba(72,97,153,.09),transparent 70%),
    linear-gradient(180deg,#01060b 0,#020810 45%,#01060b 100%);
}
body.app-authenticated[data-xn-release]::before {
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(115deg,transparent 0 42%,rgba(108,208,245,.025) 50%,transparent 58%),radial-gradient(circle at 50% 35%,transparent 0 43%,rgba(0,0,0,.28) 100%);
}
body.app-authenticated[data-xn-release] .command-shell,
body.app-authenticated[data-xn-release] .cockpit-topbar { position:relative;z-index:1; }
body.app-authenticated[data-xn-release] .game-view-frame {
  border-color:var(--xn-lux-line-hot);box-shadow:var(--xn-lux-shadow),inset 0 0 0 1px rgba(255,255,255,.025);
}
body.app-authenticated[data-xn-release] .game-view-bezel {
  background:linear-gradient(90deg,rgba(8,27,41,.96),rgba(3,13,22,.98) 55%,rgba(7,24,36,.96));
}
body.app-authenticated[data-xn-release] .game-view-body { position:relative;isolation:isolate; }
body.app-authenticated[data-xn-release] .game-view-body::before {
  content:"";position:absolute;inset:0 0 auto;height:1px;background:var(--xn-lux-hairline);opacity:.72;pointer-events:none;
}
body.app-authenticated[data-xn-release] :is(h1,h2,h3) { text-wrap:balance; }
body.app-authenticated[data-xn-release] .game-view-body>h1,
body.app-authenticated[data-xn-release] :is(.command-hero,.hero,.empire-command-header,.production-command-header,.nx-tech-top,.nx-unit-top) h1 {
  color:var(--xn-lux-white);font-weight:560;letter-spacing:-.025em;line-height:.98;
}
body.app-authenticated[data-xn-release] .game-view-body>h1 {font-size:var(--xn-type-page-compact);margin-block:clamp(12px,2vw,26px)}
body.app-authenticated[data-xn-release] :is(.eyebrow,.vr-label,[class*="-eyebrow"]) { color:var(--xn-lux-cyan);letter-spacing:.18em;font-weight:700; }
body.app-authenticated[data-xn-release] :is(.xn-ui-panel,.panel,.xn-ui-card,.xn-ui-inspector,.xn-ui-queue) {
  background:linear-gradient(180deg,rgba(8,23,35,.88),rgba(3,12,20,.91));
  border-color:var(--xn-lux-line);box-shadow:0 16px 46px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.018);
}
body.app-authenticated[data-xn-release] :is(.xn-ui-panel,.panel,.xn-ui-card,.xn-ui-inspector)::before { border-color:rgba(131,214,245,.035); }
body.app-authenticated[data-xn-release] :is(.xn-ui-card,.panel,a,button) { transition:transform var(--xn-motion-standard) ease,border-color var(--xn-motion-standard) ease,background var(--xn-motion-standard) ease,box-shadow var(--xn-motion-standard) ease,color var(--xn-motion-standard) ease; }
body.app-authenticated[data-xn-release] :is(.xn-ui-card,.panel):hover { border-color:rgba(119,217,255,.25);box-shadow:0 20px 54px rgba(0,0,0,.28); }
body.app-authenticated[data-xn-release] table { border-collapse:separate;border-spacing:0; }
body.app-authenticated[data-xn-release] table th { color:#91afc0;font-size:var(--xn-type-meta);letter-spacing:var(--xn-tracking-label);text-transform:uppercase;background:rgba(7,23,35,.94); }
body.app-authenticated[data-xn-release] table td { color:#c8d9e3;border-color:rgba(123,202,233,.08); }
body.app-authenticated[data-xn-release] table tr:hover td { background:rgba(56,145,184,.055); }
body.app-authenticated[data-xn-release] :is(input,select,textarea) { background:rgba(2,10,17,.84);border-color:rgba(119,200,233,.18);color:var(--xn-lux-white); }
body.app-authenticated[data-xn-release] :is(input,select,textarea):focus { border-color:rgba(123,221,255,.48);box-shadow:0 0 0 3px rgba(70,181,226,.08); }
body.app-authenticated[data-xn-release] :is(button,.button-link):not(.danger) { letter-spacing:.08em;text-transform:uppercase;font-size:var(--xn-type-control); }
body.app-authenticated[data-xn-release] .cockpit-topbar { backdrop-filter:blur(18px) saturate(120%);background:linear-gradient(180deg,rgba(5,16,26,.97),rgba(2,9,16,.95));border-bottom:1px solid rgba(128,214,247,.24);box-shadow:0 14px 44px rgba(0,0,0,.32),inset 0 -1px rgba(148,226,255,.035); }
body.app-authenticated[data-xn-release] .cockpit-brand .brand-mark { box-shadow:0 0 0 1px rgba(127,221,255,.08),0 0 34px rgba(67,185,228,.12),inset 0 0 28px rgba(97,209,248,.10); }
body.app-authenticated[data-xn-release] .cockpit-brand b { font-size:var(--xn-type-card-title);letter-spacing:.22em; }
body.app-authenticated[data-xn-release] .cockpit-rail .nav-section a.active { background:linear-gradient(90deg,rgba(54,160,204,.15),rgba(54,160,204,.02));box-shadow:inset 2px 0 var(--xn-lux-cyan); }

/* Route art direction: one identity matrix, distinct cinematic temperature. */
body.app-authenticated[data-xn-release].xn-route-overview .game-view-body { --xn-scene-accent:50,180,229;background-image:linear-gradient(180deg,rgba(1,7,12,.12),rgba(1,7,12,.78)),url('/assets/visual-v905/overview-command-city.webp');background-size:cover;background-position:center top;background-attachment:local; }
body.app-authenticated[data-xn-release].xn-route-imperium .game-view-body { --xn-scene-accent:86,162,213;background-image:linear-gradient(180deg,rgba(2,7,12,.18),rgba(2,7,12,.86)),url('/assets/visual-v897/imperium-command-map.webp');background-size:cover;background-position:center 20%; }
body.app-authenticated[data-xn-release].xn-route-research .game-view-body,
body.app-authenticated[data-xn-release].xn-route-technology-nexus .game-view-body,
body.app-authenticated[data-xn-release].xn-route-tech-tree .game-view-body { --xn-scene-accent:73,192,230;background-image:linear-gradient(180deg,rgba(1,8,14,.42),rgba(1,8,14,.90)),url('/assets/visual-v904/technology-research-lab.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release].xn-route-shipyard .game-view-body { --xn-scene-accent:92,154,214;background-image:linear-gradient(180deg,rgba(1,7,13,.34),rgba(1,7,13,.9)),url('/assets/visual-v897/shipyard-hangar.webp');background-size:cover;background-position:center 18%; }
body.app-authenticated[data-xn-release].xn-route-galaxy .game-view-body,
body.app-authenticated[data-xn-release].xn-route-fleet .game-view-body,
body.app-authenticated[data-xn-release].xn-route-fleet-command .game-view-body { --xn-scene-accent:81,143,227;background-image:linear-gradient(180deg,rgba(1,5,12,.30),rgba(1,5,12,.90)),url('/assets/visual-v897/galaxy-system-map.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release].xn-route-operations .game-view-body,
body.app-authenticated[data-xn-release].xn-route-briefing .game-view-body { --xn-scene-accent:213,159,92;background-image:linear-gradient(180deg,rgba(8,7,7,.34),rgba(2,7,11,.92)),url('/assets/visual-v897/operations-sector.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release].xn-route-ranking .game-view-body,
body.app-authenticated[data-xn-release].xn-route-records .game-view-body,
body.app-authenticated[data-xn-release].xn-route-statistics .game-view-body { --xn-scene-accent:204,187,128;background-image:linear-gradient(180deg,rgba(4,6,12,.28),rgba(2,7,12,.92)),url('/assets/visual-v897/ranking-galaxy.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release].xn-route-discovery .game-view-body { --xn-scene-accent:112,106,229;background:radial-gradient(70% 60% at 50% 10%,rgba(76,76,180,.16),transparent 70%),linear-gradient(180deg,#030710,#01060b); }
body.app-authenticated[data-xn-release].xn-route-alliance .game-view-body { --xn-scene-accent:201,175,115;background:radial-gradient(60% 46% at 50% 0,rgba(138,111,59,.13),transparent 70%),linear-gradient(180deg,#080a0d,#02070b); }
body.app-authenticated[data-xn-release].xn-route-defense .game-view-body { --xn-scene-accent:214,103,105;background:radial-gradient(60% 48% at 50% 0,rgba(161,50,62,.11),transparent 72%),linear-gradient(180deg,#090609,#02070b); }
body.app-authenticated[data-xn-release] .game-view-body > :where(section,details,.table-wrap,.grid,.grid2) { position:relative;z-index:1; }
body.app-authenticated[data-xn-release] .game-view-body::after { content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(55% 28% at 50% 0,rgba(var(--xn-scene-accent,70,179,221),.07),transparent 72%); }

/* Premium secondary-screen parity. */
body.app-authenticated[data-xn-release] :is(.xn912-workstation,.xn913-workstation,.xn906-command-tabs) { border:1px solid var(--xn-lux-line);background:linear-gradient(90deg,rgba(6,18,28,.94),rgba(3,11,18,.82));box-shadow:0 14px 40px rgba(0,0,0,.25); }
body.app-authenticated[data-xn-release] :is(.xn912-workstation,.xn913-workstation)>a { border-color:rgba(132,207,235,.10); }
body.app-authenticated[data-xn-release] :is(.xn912-workstation,.xn913-workstation)>a:hover { background:rgba(61,153,191,.08);transform:translateY(-1px); }
body.app-authenticated[data-xn-release] .empire-command-header h1 { font-size:var(--xn-type-page-command); }
body.app-authenticated[data-xn-release] .empire-orbit-map { box-shadow:0 34px 90px rgba(0,0,0,.42),inset 0 0 0 1px rgba(115,210,246,.10); }
body.app-authenticated[data-xn-release] .empire-world-card { background:linear-gradient(180deg,rgba(9,25,37,.88),rgba(3,11,18,.92));border-color:var(--xn-lux-line); }
body.app-authenticated[data-xn-release] .anomaly-map-canvas { box-shadow:0 30px 90px rgba(0,0,0,.44),inset 0 0 0 1px rgba(116,120,237,.12); }
body.app-authenticated[data-xn-release] .anomaly-intel-panel { background:linear-gradient(180deg,rgba(11,18,38,.90),rgba(3,8,17,.94)); }
body.app-authenticated[data-xn-release] .alliance-domain-hero { border-color:rgba(215,194,139,.22);background:linear-gradient(135deg,rgba(70,57,28,.16),rgba(5,13,20,.92)); }
body.app-authenticated[data-xn-release] .xn-route-ranking table { box-shadow:0 26px 72px rgba(0,0,0,.34); }
body.app-authenticated[data-xn-release] .xn-route-ranking table td:first-child { color:var(--xn-lux-gold);font-weight:700; }
body.app-authenticated[data-xn-release] .command-hero { overflow:hidden;position:relative;border:1px solid var(--xn-lux-line);background:linear-gradient(135deg,rgba(11,29,42,.92),rgba(3,11,18,.90));box-shadow:var(--xn-lux-shadow); }
body.app-authenticated[data-xn-release] .command-hero::after { content:"";position:absolute;inset:auto -10% -70% 30%;height:180px;background:radial-gradient(ellipse,rgba(var(--xn-scene-accent,70,179,221),.12),transparent 68%);pointer-events:none; }
body.app-authenticated[data-xn-release].reduce-motion *,body.app-authenticated[data-xn-release] .reduce-motion * { transition-duration:0s;animation:none; }
/* Additional secondary-route parity: no authenticated screen falls back to a flat visual tier. */
body.app-authenticated[data-xn-release].xn-route-buildings .game-view-body { --xn-scene-accent:91,169,205;background-image:linear-gradient(180deg,rgba(2,8,13,.46),rgba(2,8,13,.91)),url('/assets/visual-v905/overview-surface.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release].xn-route-defense .game-view-body { background-image:linear-gradient(180deg,rgba(9,5,8,.45),rgba(2,7,11,.93)),url('/assets/entity-art-hq/defenses/armageddon.webp');background-size:cover;background-position:center 28%; }
body.app-authenticated[data-xn-release]:is(.xn-route-market,.xn-route-merchant,.xn-route-shop) .game-view-body { --xn-scene-accent:198,172,112;background:radial-gradient(55% 40% at 50% 0,rgba(155,123,63,.10),transparent 74%),linear-gradient(180deg,#070a0d,#02070b); }
body.app-authenticated[data-xn-release]:is(.xn-route-messages,.xn-route-commander-contacts,.xn-route-support) .game-view-body { --xn-scene-accent:91,171,213;background:radial-gradient(55% 40% at 50% 0,rgba(66,137,174,.10),transparent 74%),linear-gradient(180deg,#050b11,#02070b); }
body.app-authenticated[data-xn-release]:is(.xn-route-admin,.xn-route-admin-liveops,.xn-route-admin-security) .game-view-body { --xn-scene-accent:206,124,111;background:radial-gradient(55% 40% at 50% 0,rgba(163,74,66,.09),transparent 74%),linear-gradient(180deg,#090709,#02070b); }

/* Public / access continuity — same institution, different threshold. */
body.app-guest[data-xn-release] {
  font-family:"Segoe UI Variable","Segoe UI",Inter,system-ui,sans-serif;
  color:var(--xn-lux-copy);
  background:linear-gradient(90deg,rgba(1,6,11,.70),rgba(1,6,11,.28) 50%,rgba(1,6,11,.78)),url('/assets/visual-v897/induction-homeworld.webp') center/cover fixed,#01060b;
}
body.app-guest[data-xn-release]::before {content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(55% 42% at 50% 5%,rgba(87,188,225,.13),transparent 72%),linear-gradient(180deg,transparent 60%,rgba(0,0,0,.48));}
body.app-guest[data-xn-release] :is(.auth-stage,.xn913-workstation) {position:relative;z-index:1;}
body.app-guest[data-xn-release] .auth-intro h1 {font-size:var(--xn-type-display);font-weight:540;letter-spacing:var(--xn-tracking-display);color:var(--xn-lux-white);text-shadow:0 18px 60px rgba(0,0,0,.48);}
body.app-guest[data-xn-release] .auth-kicker {letter-spacing:.22em;color:var(--xn-lux-cyan);}
body.app-guest[data-xn-release] .auth-console {background:linear-gradient(180deg,rgba(6,18,28,.91),rgba(2,9,15,.94));border:1px solid rgba(126,213,246,.22);box-shadow:0 38px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(18px) saturate(115%);}
body.app-guest[data-xn-release] .auth-console header {border-bottom:1px solid var(--xn-lux-line);}
body.app-guest[data-xn-release] .auth-console-mark {color:var(--xn-lux-cyan);text-shadow:0 0 30px rgba(95,208,247,.25);}
body.app-guest[data-xn-release] .auth-console :is(input,select) {background:rgba(1,7,12,.78);border-color:rgba(127,207,238,.20);color:var(--xn-lux-white);}
body.app-guest[data-xn-release] .auth-submit {background:linear-gradient(90deg,rgba(47,157,201,.86),rgba(33,119,159,.88));border-color:rgba(139,226,255,.48);box-shadow:0 12px 34px rgba(14,91,124,.24);letter-spacing:.12em;}
body.app-guest[data-xn-release] .universe-enlist-card {background:linear-gradient(180deg,rgba(6,19,29,.86),rgba(2,9,15,.91));border-color:var(--xn-lux-line);}
body.app-guest[data-xn-release] .universe-enlist-card:is(:hover,.selected) {border-color:var(--xn-lux-line-hot);box-shadow:0 18px 44px rgba(0,0,0,.30);}

/* XN D14 — premium surface completion / shared component authority. */
body[data-xn-release] { --xn-premium-edge:rgba(143,219,246,.16);--xn-premium-edge-strong:rgba(143,219,246,.28);--xn-premium-surface:rgba(4,15,23,.90);--xn-premium-surface-2:rgba(7,23,34,.84);--xn-premium-gold:#d0bb82;--xn-premium-violet:#9d98ef;--xn-premium-red:#da7b75; }
body.app-authenticated[data-xn-release] :where(.panel,.card,.game-section-frame,.prestige-board,.hall-season,.record-category,.inventory-command-card,.intel-report-card,.moon-platform-card,.admin-module) { border-color:var(--xn-premium-edge);background:linear-gradient(180deg,var(--xn-premium-surface-2),var(--xn-premium-surface));box-shadow:0 22px 58px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.018); }
body.app-authenticated[data-xn-release] :where(button,.button-link,.secondary-action,.ghost-link,.ghost,.btn,.button) { border-color:rgba(135,214,243,.22);letter-spacing:var(--xn-tracking-control);box-shadow:inset 0 1px rgba(255,255,255,.025); }
body.app-authenticated[data-xn-release] :where(button,.button-link,.secondary-action,.ghost-link,.ghost,.btn,.button):hover { border-color:rgba(151,225,251,.40);background-color:rgba(45,129,165,.11);transform:translateY(-1px); }
body.app-authenticated[data-xn-release] :where(input,select,textarea) { border-color:rgba(130,210,239,.20);background:rgba(1,8,14,.78);box-shadow:inset 0 1px 9px rgba(0,0,0,.30); }
body.app-authenticated[data-xn-release] :where(input,select,textarea):focus { border-color:rgba(117,215,250,.48);box-shadow:0 0 0 3px rgba(61,175,219,.08),inset 0 1px 9px rgba(0,0,0,.30); }
body.app-authenticated[data-xn-release] :where(.table-wrap,table,.xn-ui-table) { border-color:var(--xn-premium-edge); }
body.app-authenticated[data-xn-release] :where(table,.xn-ui-table) thead { background:linear-gradient(180deg,rgba(14,37,52,.78),rgba(6,20,30,.78)); }
body.app-authenticated[data-xn-release] :where(table,.xn-ui-table) tbody tr:hover { background:rgba(65,165,202,.055); }
body.app-authenticated[data-xn-release] .game-view-body h1 { font-size:var(--xn-type-page);font-weight:540;letter-spacing:var(--xn-tracking-display);line-height:.98; }
body.app-authenticated[data-xn-release] .game-view-body h2 { letter-spacing:var(--xn-tracking-heading); }
body.app-authenticated[data-xn-release] .eyebrow { letter-spacing:var(--xn-tracking-eyebrow);text-transform:uppercase; }

/* Trade / commerce — orbital exchange, graphite + warm metal. */
body.app-authenticated[data-xn-release]:is(.xn-route-market,.xn-route-merchant,.xn-route-shop,.xn-route-containers) .game-view-body { --xn-scene-accent:204,174,111;background:radial-gradient(60% 42% at 50% 0,rgba(176,132,61,.12),transparent 72%),linear-gradient(180deg,#080a0c,#02070b); }
body.app-authenticated[data-xn-release] :where(.trade-exchange-stage,.market-create-panel,.market-book-panel,.xn912-container-head) { border-color:rgba(213,190,132,.22);box-shadow:0 30px 82px rgba(0,0,0,.38); }
body.app-authenticated[data-xn-release] :where(.trade-resource-tape,.trade-market-status,.inventory-kpi) { color:var(--xn-premium-gold);font-variant-numeric:tabular-nums; }
body.app-authenticated[data-xn-release] .trade-exchange-copy h1 { font-size:var(--xn-type-page-commerce);letter-spacing:-.05em; }

/* Communications — disciplined command feed, cool optical glass. */
body.app-authenticated[data-xn-release]:is(.xn-route-messages,.xn-route-support) .game-view-body { --xn-scene-accent:91,174,219;background:linear-gradient(180deg,rgba(4,15,24,.80),rgba(1,7,12,.96)); }
body.app-authenticated[data-xn-release] :where(.command-feed-head,.comms-list-panel,.comms-reader,.feed-priority-summary) { border-color:rgba(118,207,240,.18);background:linear-gradient(180deg,rgba(7,25,37,.90),rgba(2,10,17,.94)); }
body.app-authenticated[data-xn-release] .command-feed-head h1 { font-size:var(--xn-type-page-feed); }

/* Senate / civic power — restrained bronze, chamber gravity. */
body.app-authenticated[data-xn-release]:is(.xn-route-senators,.xn-route-senate) .game-view-body { --xn-scene-accent:203,178,120;background:radial-gradient(64% 46% at 50% 0,rgba(151,116,56,.13),transparent 72%),linear-gradient(180deg,#090b0d,#02070b); }
body.app-authenticated[data-xn-release] :where(.senate-hero,.senate-chamber,.senate-vote) { border-color:rgba(218,196,143,.22);box-shadow:0 30px 84px rgba(0,0,0,.38); }
body.app-authenticated[data-xn-release] :where(.senate-influence,.senate-dais) { color:var(--xn-premium-gold); }

/* Prestige / records — archival gold, lower chroma, ceremonial rhythm. */
body.app-authenticated[data-xn-release]:is(.xn-route-achievements,.xn-route-records,.xn-route-galactic-records,.xn-route-hall-of-fame,.xn-route-battle-hall) .game-view-body { --xn-scene-accent:205,188,131;background-image:linear-gradient(180deg,rgba(5,7,11,.38),rgba(2,7,12,.94)),url('/assets/visual-v897/ranking-galaxy.webp');background-size:cover;background-position:center top; }
body.app-authenticated[data-xn-release] :where(.achievement-card,.record-category,.hall-season,.hall-trophy,.battle-hall-command,.battle-hall-visual-row) { border-color:rgba(214,194,139,.20);background:linear-gradient(180deg,rgba(28,25,18,.34),rgba(5,12,17,.92)); }
body.app-authenticated[data-xn-release] :where(.achievement-rune,.hall-medal,.war-lore-sigil,.record-holder) { color:var(--xn-premium-gold);filter:drop-shadow(0 8px 18px rgba(184,146,63,.16)); }

/* Intelligence / orbital science — surgical cyan-violet. */
body.app-authenticated[data-xn-release]:is(.xn-route-espionage-intelligence,.xn-route-phalanx,.xn-route-artifacts,.xn-route-moons) .game-view-body { --xn-scene-accent:118,154,232;background:radial-gradient(62% 46% at 50% 0,rgba(87,95,196,.13),transparent 73%),linear-gradient(180deg,#050817,#02070c); }
body.app-authenticated[data-xn-release] :where(.intel-report-card,.phalanx-result,.phalanx-history,.artifact-card,.moon-platform-card,.orbital-console) { border-color:rgba(139,175,240,.20);background:linear-gradient(180deg,rgba(10,20,42,.88),rgba(3,10,19,.94)); }
body.app-authenticated[data-xn-release] :where(.intel-risk,.artifact-bonus,.moon-platform-kpis,.orbital-glyph) { font-variant-numeric:tabular-nums; }

/* Administration — executive control plane, not an unfinished utility panel. */
body.app-authenticated[data-xn-release] .xn-route-admin .game-view-body,
body.app-authenticated[data-xn-release][class*="xn-route-admin-"] .game-view-body { --xn-scene-accent:209,124,112;background:radial-gradient(58% 42% at 50% 0,rgba(170,68,59,.10),transparent 72%),linear-gradient(180deg,#0a0708,#02070b); }
body.app-authenticated[data-xn-release] :where(.admin-command-head,.admin-module,.admin-architecture-brief,.admin-security-grid>.panel) { border-color:rgba(222,139,126,.18);background:linear-gradient(180deg,rgba(33,14,16,.44),rgba(5,11,16,.94)); }
body.app-authenticated[data-xn-release] .admin-command-head h1 { font-size:var(--xn-type-page-admin); }

body[data-xn-release] :where(.panel,.card,.xn-ui-card,.achievement-card,.intel-report-card,.moon-platform-card,.admin-module) { transition:border-color var(--xn-motion-fast) ease,transform var(--xn-motion-fast) ease,box-shadow var(--xn-motion-emphasis) ease; }
body[data-xn-release] :where(.achievement-card,.intel-report-card,.moon-platform-card,.admin-module):hover { transform:translateY(-2px);box-shadow:0 28px 72px rgba(0,0,0,.38); }

/* D17 — canonical component material bridge.
   Structural/material tokens originate in xnova-components.css; premium consumes them
   after domain layers without forced priority. */
body.app-authenticated[data-xn-release] .panel {
  border-color:var(--xn-component-border-color,#153a50);
  background:var(--xn-component-background,linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985)));
  box-shadow:var(--xn-component-shadow,var(--nova-shadow));
}
body.app-authenticated[data-xn-release] .record-category {
  border-color:var(--xn-component-border-color,#153a50);
  background:var(--xn-component-background,linear-gradient(180deg,rgba(7,22,34,.965),rgba(3,12,20,.985)));
  box-shadow:var(--xn-component-shadow,var(--nova-shadow));
}
body.app-authenticated[data-xn-release].xn-reference-surface :is(
  .panel,.nx-surface-panel,.nx-queue-panel,.nx-fleet-board,.nx-events-board
) {
  border-color:var(--xn-component-border-color,#153f54);
  background:var(--xn-component-background,linear-gradient(180deg,rgba(4,17,26,.98),rgba(2,9,14,.99)));
  box-shadow:var(--xn-component-shadow,inset 0 1px rgba(93,192,232,.035));
}

/* XN D21 — Public ↔ Core Experience Convergence.
   Shared institution, intentionally different compositions. */
body[data-xn-release] {
  --xn-threshold-line:rgba(126,213,246,.22);
  --xn-threshold-line-hot:var(--xn-lux-line-hot);
  --xn-threshold-surface:linear-gradient(180deg,rgba(6,18,28,.91),rgba(2,9,15,.94));
  --xn-threshold-field:rgba(1,7,12,.78);
  --xn-threshold-shadow:0 38px 100px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.025);
  --xn-threshold-copy:var(--xn-lux-copy);
  --xn-threshold-accent:var(--xn-lux-cyan);
}
body.app-guest[data-xn-release] .auth-console {
  background:var(--xn-threshold-surface);
  border-color:var(--xn-threshold-line);
  box-shadow:var(--xn-threshold-shadow);
}
body.app-guest[data-xn-release] .auth-console :is(input,select) {
  background:var(--xn-threshold-field);
}
body.app-guest[data-xn-release] .xn-public-state__primary {
  font-size:var(--xn-type-control);
  letter-spacing:var(--xn-tracking-control);
}
body.app-guest[data-xn-release] :is(.auth-submit,.xn-public-state__primary):focus-visible,
body.app-guest[data-xn-release] .xn-public-state__secondary:focus-visible {
  outline:1px solid var(--xn-threshold-line-hot);
  outline-offset:3px;
}

body.app-guest[data-xn-release] .xn-public-state {
  position:relative;
  z-index:1;
  width:min(760px,calc(100% - 32px));
  min-height:min(620px,calc(100vh - 64px));
  margin:32px auto;
  padding:clamp(28px,5vw,64px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--xn-threshold-line);
  background:linear-gradient(135deg,rgba(7,21,31,.92),rgba(2,8,13,.96));
  box-shadow:var(--xn-threshold-shadow);
  backdrop-filter:blur(18px) saturate(115%);
}
body.app-guest[data-xn-release] .xn-public-state::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(68% 54% at 82% 8%,rgba(87,188,225,.11),transparent 72%);
}
body.app-guest[data-xn-release] .xn-public-state__eyebrow {
  position:relative;
  margin:0 0 18px;
  color:var(--xn-threshold-accent);
  font-size:var(--xn-type-meta);
  letter-spacing:var(--xn-tracking-eyebrow);
  text-transform:uppercase;
}
body.app-guest[data-xn-release] .xn-public-state__code {
  position:relative;
  margin:0;
  color:rgba(220,241,250,.24);
  font-size:clamp(64px,16vw,148px);
  line-height:.78;
  font-weight:650;
  letter-spacing:-.07em;
}
body.app-guest[data-xn-release] .xn-public-state h1 {
  position:relative;
  max-width:16ch;
  margin:24px 0 12px;
  color:var(--xn-lux-white);
  font-size:var(--xn-type-page);
  line-height:1;
  letter-spacing:var(--xn-tracking-display);
}
body.app-guest[data-xn-release] .xn-public-state__copy {
  position:relative;
  max-width:62ch;
  margin:0;
  color:var(--xn-threshold-copy);
  font-size:var(--xn-type-body);
  line-height:1.65;
}
body.app-guest[data-xn-release] .xn-public-state__meta {
  position:relative;
  margin-top:24px;
  padding:12px 0;
  border-top:1px solid var(--xn-threshold-line);
  border-bottom:1px solid var(--xn-threshold-line);
  color:rgba(191,218,229,.64);
  font:500 var(--xn-type-meta)/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;
  overflow-wrap:anywhere;
}
body.app-guest[data-xn-release] .xn-public-state__actions {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:26px;
}
body.app-guest[data-xn-release] :is(.xn-public-state__primary,.xn-public-state__secondary) {
  min-height:42px;
  padding:10px 15px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--xn-threshold-line);
  text-decoration:none;
  transition:transform var(--xn-motion-fast) var(--xn-ease-standard),border-color var(--xn-motion-fast) var(--xn-ease-standard),background-color var(--xn-motion-fast) var(--xn-ease-standard);
}
body.app-guest[data-xn-release] .xn-public-state__primary {
  color:#eefaff;
  background:linear-gradient(90deg,rgba(47,157,201,.86),rgba(33,119,159,.88));
  border-color:rgba(139,226,255,.48);
}
body.app-guest[data-xn-release] .xn-public-state__secondary {
  color:var(--xn-threshold-copy);
  background:rgba(4,15,23,.58);
}
body.app-guest[data-xn-release] :is(.xn-public-state__primary,.xn-public-state__secondary):hover {
  transform:translateY(-1px);
  border-color:var(--xn-threshold-line-hot);
}

/* Core empty states share the institution, not the public layout. */
body.app-authenticated[data-xn-release] :is(.empty-state,[data-empty="true"]) {
  border-color:var(--xn-threshold-line);
  background:linear-gradient(180deg,rgba(7,21,31,.72),rgba(3,11,18,.78));
  box-shadow:inset 0 1px rgba(255,255,255,.018);
}
body.app-authenticated[data-xn-release] :is(.empty-state,[data-empty="true"]) strong {
  color:var(--xn-lux-white);
  letter-spacing:var(--xn-tracking-heading);
}

/* === xnova-interactions.css === */

/* ===== visual-v915.css ===== */
/* X Nova v9.1.5 — tactical continuity micro-interactions.
   Inspired by the feedback density of mature browser MMOs; implementation is original. */
.xn-header-resource {
    position:relative;
    isolation:isolate;
    transition:transform var(--xn-motion-fast) ease,filter var(--xn-motion-standard) ease,background-color var(--xn-motion-standard) ease
}
.xn-header-resource::after {
    content:"";
    position:absolute;
    inset:auto 12% -2px;
    height:1px;
    opacity:0;
    transform:scaleX(.35);
    background:currentColor;
    transition:opacity var(--xn-motion-standard) ease,transform var(--xn-motion-emphasis) ease
}
.xn-header-resource:hover,.xn-header-resource:focus-visible {
    transform:translateY(-1px);
    filter:brightness(1.08)
}
.xn-header-resource:hover::after,.xn-header-resource:focus-visible::after {
    opacity:.55;
    transform:scaleX(1)
}
.campaign-progress>i,.objective-progress>i,.convoy-track>span,.induction-progress>i,.journey-progress>i {
    transition:width var(--xn-motion-progress) var(--xn-ease-progress)
}
[data-countdown] {
    font-variant-numeric:tabular-nums
}
.status-chip,.convoy-progress {
    transition:filter var(--xn-motion-standard) ease,transform var(--xn-motion-standard) ease
}
.status-chip:hover,.convoy-card:hover .convoy-progress {
    filter:brightness(1.12);
    transform:translateY(-1px)
}
/* D18: reduced-motion authority moved to xnova-system.css. */


/* ===== X Nova 0.2 runtime visual reliability ===== */
.xn-build-queue-live {
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:10px;
    align-items:center;
    margin:6px 0 8px;
    padding:8px 12px;
    border:1px solid #1c607d;
    background:linear-gradient(90deg,rgba(6,35,51,.98),rgba(2,14,22,.98));
    box-shadow:inset 3px 0 #37cfff;
}
.xn-build-queue-live span {font-size:var(--xn-type-telemetry);letter-spacing:.12em;color:#58d9ff}
.xn-build-queue-live b {font-size:var(--xn-type-control);color:#e8f9ff}
.xn-build-queue-live em {font:700 11px/1 ui-monospace,monospace;color:#70e38f;font-style:normal}

/* The approved workstation references use one primary command rail.  On
   ordinary desktop widths the secondary empire deck collapses so gameplay
   keeps the visual density and central canvas of the reference images. */
@media (max-width:1800px) and (min-width:1151px) {
    :root { --xn-shell:210px; --xn-right:0px; }
    .nova-game-shell-v2 { grid-template-columns:var(--xn-shell) minmax(0,1fr)!important; }
    .nova-world-rail { display:none!important; }
    .xn913-shell-status { display:none!important; }
    .cockpit-topbar { grid-template-columns:220px 155px minmax(0,1fr) auto!important; }
    .xn-header-resource { padding:7px 6px; grid-template-columns:25px minmax(0,1fr); }
    .xn-header-resource b { font-size:var(--xn-type-body)!important; }
    .xn-header-resource small,.xn-header-resource em { font-size:6px!important; }
}

/* Prevent the browser from briefly presenting oversized unstyled artwork while
   navigating between workstations. */
html { background:#02070c; }
body.app-authenticated { min-width:0; }
img,svg { max-width:100%; }

/* === xnova-system.css === */

/* X Nova 0.8 — D1 shared visual-system stabilization.
   Loaded after legacy CSS. Keep selectors deliberately low-specificity and additive. */
:where(a,button,input,select,textarea,summary):focus-visible {
    outline:2px solid var(--accent,#35c2ff);
    outline-offset:2px;
    box-shadow:var(--xn-focus-ring);
}
:where(button,input,select,textarea) {
    font:inherit;
}
:where(img,svg,video,canvas) {
    max-width:100%;
}
:where(.content,.panel,.card,.table-wrap) {
    min-width:0;
}
:where(.table-wrap) {
    overscroll-behavior-inline:contain;
}
:where([hidden]) {
    display:none;
}
@media (hover:none) and (pointer:coarse) {
    :where(button,.button-link,.ghost-link,.mobile-nav a,summary,input,select,textarea) {
        min-height:var(--xn-touch-target,44px);
    }
}

/* D22 — keyboard-first access. Hidden until keyboard focus; zero normal-layout footprint. */
.xn-skip-link {
    position:fixed;
    z-index:10000;
    inset-inline-start:12px;
    inset-block-start:12px;
    padding:10px 14px;
    border:1px solid var(--accent,#35c2ff);
    background:var(--xn-surface-strong,#07131d);
    color:var(--xn-text,#eef8ff);
    transform:translateY(-160%);
    opacity:0;
    pointer-events:none;
}
.xn-skip-link:focus-visible {
    transform:none;
    opacity:1;
    pointer-events:auto;
}
#xn-main-content:focus { outline:none; }
/* D18: reduced-motion authority moved to xnova-system.css. */

/* D8 certified shell overflow guard — final-system authority, fluid/no breakpoint. */
body.app-authenticated[data-xn-release] .cockpit-topbar { display:flex; flex-wrap:wrap; }
body.app-authenticated[data-xn-release] .cockpit-brand { min-width:min(238px,100%); }
body.app-authenticated[data-xn-release] .cockpit-commander-id { min-width:min(158px,100%); }
body.app-authenticated[data-xn-release] .xn-header-resources { display:flex; flex:1 1 260px; flex-wrap:wrap; min-width:0; }
body.app-authenticated[data-xn-release] .xn-header-resource { flex:1 1 88px; min-width:0; }

/* D18 — canonical reduced-motion authority; preserves historical rule order while owning final accessibility behavior. */
@media (prefers-reduced-motion: reduce) {

    /* migrated from xnova.css */
button,.button-link,tbody tr {
        transition:none
    }

    /* migrated from xnova.css */
.xn-page-enter .game-view,.xn-page-enter main,.xn-page-exit .game-view,.xn-page-exit main {
        animation:none!important
    }
    .xn-transition-gate {
        display:none!important
    }
    :where(a,button,[role="button"],[data-xn-interactive]),.nova-entity-art-hq picture img {
        transition:none;
        transform:none
    }

    /* migrated from xnova.css */
* {
        scroll-behavior:auto!important
    }
    .active:where(a,button),.selected:where(a,button,.nx-unit-slot),[data-xn-screen-contract] {
        animation:none
    }
    [data-xn-live-surface],.xn-research-card,.nx-unit-slot,.empire-world-card {
        transition:none!important
    }
    .xn-energy-trace {
        display:none!important
    }

    /* migrated from xnova.css */
.xn905-live-dot {
        animation:none
    }
    .xn-route-pulse {
        display:none
    }
    .xn905-planet-theater>img,[data-xn-screen-contract="P0_TECHNOLOGY"] .xn-research-card-art .nova-entity-art-hq img {
        transition:none!important
    }

    /* migrated from xnova.css */
.xn906-map-scanline {
        display:none
    }
    .xn906-command-tabs a,.xn906-world-deck .empire-world-card,.xn906-ship-catalog .nx-unit-slot,.xn906-hangar-stage .nx-unit-art-hero img {
        transition:none!important
    }

    /* migrated from xnova.css */
[data-xn-visual-release="9.0.7"] * {
        transition-duration:.01ms!important;
        animation-duration:.01ms!important
    }

    /* migrated from xnova.css */
.xn909-modebar a,.xn909-modebar span {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova.css */
.xn9010-modebar a,.xn9010-modebar span,.xn9010-workstation * {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova.css */
.xn9011-workstation * {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova.css */
.xn911-workstation * {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova.css */
.xn912-workstation:after {
        animation:none
    }
    .xn912-workstation * {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova.css */
.xn913-workstation:after {
        animation:none
    }
    .xn913-workstation *,.xn913-signal * {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova-interactions.css */
.xn-header-resource,.xn-header-resource::after,.campaign-progress>i,.objective-progress>i,.convoy-track>span,.induction-progress>i,.journey-progress>i,.status-chip,.convoy-progress {
        transition:none!important;
        transform:none!important
    }

    /* migrated from xnova-system.css */
html:focus-within {
        scroll-behavior:auto;
    }
}
