@import url('https://fonts.googleapis.com/css2?family=Exo+2:wght@300;400;500;600;700&family=Rajdhani:wght@500;600;700&display=swap');

:root {
    --space: #0B1018;
    --dark: #111A26;
    --dark-2: #152235;
    --cyan: #00CBFF;
    --cyan-2: #26E0FF;
    --light: #BDEBFF;
    --text: #E6EDF3;
    --muted: #7E93A8;
    --danger: #FF4D4D;
    --warm: #FF8A00;
}

* { box-sizing: border-box; }

html, body {
    margin: 0;
    min-height: 100%;
    background: radial-gradient(circle at top, #142235 0%, var(--space) 42%, #05080d 100%);
    color: var(--text);
    font-family: 'Exo 2', Arial, sans-serif;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(0,203,255,.16), transparent 25%),
        radial-gradient(circle at 85% 15%, rgba(38,224,255,.08), transparent 22%),
        radial-gradient(circle at 70% 80%, rgba(255,138,0,.08), transparent 20%);
    pointer-events: none;
}

a { color: inherit; text-decoration: none; }

.page {
    position: relative;
    z-index: 1;
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 32px 0;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 32px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.brand-mark {
    width: 42px;
    height: 42px;
    border: 1px solid rgba(0,203,255,.8);
    box-shadow: 0 0 22px rgba(0,203,255,.35), inset 0 0 18px rgba(0,203,255,.18);
    clip-path: polygon(50% 0, 100% 28%, 100% 72%, 50% 100%, 0 72%, 0 28%);
    background: linear-gradient(135deg, rgba(0,203,255,.25), rgba(17,26,38,.85));
}

.brand h1, .hero h1, .panel h2, .ship-title {
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.brand h1 {
    font-size: 24px;
    margin: 0;
}

.nav-actions {
    display: flex;
    gap: 12px;
    align-items: center;
}

.hero {
    display: grid;
    grid-template-columns: 1.2fr .8fr;
    gap: 24px;
    align-items: stretch;
}

.panel, .hero-card {
    background: linear-gradient(180deg, rgba(17,26,38,.88), rgba(11,16,24,.92));
    border: 1px solid rgba(0,203,255,.22);
    border-radius: 22px;
    box-shadow: 0 0 38px rgba(0,203,255,.08), inset 0 0 24px rgba(0,203,255,.04);
    backdrop-filter: blur(12px);
}

.hero-card { padding: 44px; min-height: 440px; }
.panel { padding: 28px; }

.eyebrow {
    color: var(--cyan-2);
    font-size: 13px;
    letter-spacing: .18em;
    text-transform: uppercase;
    margin: 0 0 12px;
}

.hero h1 {
    font-size: clamp(46px, 8vw, 86px);
    line-height: .9;
    margin: 0 0 24px;
}

.hero p, .muted { color: var(--muted); line-height: 1.65; }

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid rgba(0,203,255,.35);
    background: rgba(0,203,255,.08);
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
    letter-spacing: .04em;
    transition: .18s ease;
}

.btn:hover { transform: translateY(-1px); border-color: var(--cyan); box-shadow: 0 0 20px rgba(0,203,255,.25); }
.btn-primary { background: linear-gradient(135deg, var(--cyan), var(--cyan-2)); color: #031019; border: 0; }
.btn-danger { border-color: rgba(255,77,77,.5); background: rgba(255,77,77,.08); }

.form { display: grid; gap: 16px; }
.input-group { display: grid; gap: 8px; }
label { color: var(--light); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }
input, select {
    width: 100%;
    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid rgba(0,203,255,.2);
    background: rgba(5,8,13,.55);
    color: var(--text);
    outline: none;
}
input:focus, select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(0,203,255,.12); }

.alert {
    padding: 14px 16px;
    border-radius: 14px;
    margin-bottom: 16px;
    border: 1px solid rgba(255,77,77,.35);
    background: rgba(255,77,77,.08);
    color: #ffd0d0;
}
.alert.success { border-color: rgba(0,203,255,.35); background: rgba(0,203,255,.08); color: var(--light); }

.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }

.hangar-layout { display: grid; grid-template-columns: 1.1fr .9fr; gap: 24px; }
.ship-visual {
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.ship-visual::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(230,237,243,.7) 1px, transparent 1px);
    background-size: 42px 42px;
    opacity: .12;
}
.ship {
    position: relative;
    width: 190px;
    height: 250px;
    filter: drop-shadow(0 0 26px rgba(0,203,255,.65));
}
.ship::before {
    content: '';
    position: absolute;
    inset: 0;
    clip-path: polygon(50% 0, 74% 72%, 100% 100%, 50% 82%, 0 100%, 26% 72%);
    background: linear-gradient(180deg, #d7f6ff, #00CBFF 46%, #0c3448 100%);
    border: 1px solid var(--cyan);
}
.stats { display: grid; gap: 12px; margin-top: 18px; }
.stat-row { display: flex; justify-content: space-between; gap: 14px; padding: 13px 0; border-bottom: 1px solid rgba(0,203,255,.12); }
.stat-row span:first-child { color: var(--muted); }
.ship-title { font-size: 34px; margin: 0 0 10px; }
.badge { display: inline-flex; padding: 7px 10px; border-radius: 999px; border: 1px solid rgba(0,203,255,.28); color: var(--cyan-2); background: rgba(0,203,255,.07); font-size: 13px; }

.footer-note { margin-top: 28px; color: var(--muted); font-size: 13px; }

@media (max-width: 820px) {
    .hero, .grid-2, .hangar-layout { grid-template-columns: 1fr; }
    .topbar { align-items: flex-start; flex-direction: column; }
    .hero-card { padding: 28px; }
}

/* ZIP 002.5 - Interface espace plein ecran */
.space-body.fullscreen-space {
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    background: #02050a;
    user-select: none;
}

.space-body.fullscreen-space::before { display: none; }

#spaceCanvas {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    display: block;
    cursor: crosshair;
    background: #02050a;
}

.space-cockpit {
    position: fixed;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    color: var(--text);
}

.flight-topbar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 66px;
    display: grid;
    grid-template-columns: 270px 1fr 120px;
    align-items: center;
    gap: 16px;
    padding: 0 18px;
    border-bottom: 1px solid rgba(0,203,255,.22);
    background: linear-gradient(180deg, rgba(6,13,22,.94), rgba(6,13,22,.64));
    box-shadow: 0 12px 38px rgba(0,0,0,.42);
    backdrop-filter: blur(12px);
    pointer-events: auto;
}

.flight-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Rajdhani', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    color: var(--text);
    text-transform: uppercase;
}

.flight-brand .brand-mark {
    width: 34px;
    height: 34px;
}

.flight-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
    gap: 10px;
}

.flight-stat {
    min-width: 0;
    padding: 8px 12px;
    border: 1px solid rgba(0,203,255,.18);
    border-radius: 14px;
    background: rgba(0,203,255,.055);
    box-shadow: inset 0 0 16px rgba(0,203,255,.035);
}

.flight-stat small {
    display: block;
    color: var(--muted);
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .16em;
    margin-bottom: 2px;
}

.flight-stat strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--light);
    font-size: 13px;
}

.flight-exit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: 999px;
    border: 1px solid rgba(0,203,255,.35);
    background: rgba(0,203,255,.09);
    color: var(--text);
    font-weight: 700;
    pointer-events: auto;
}

.target-panel,
.minimap-panel,
.chat-panel,
.action-dock,
.flight-help {
    position: absolute;
    border: 1px solid rgba(0,203,255,.20);
    background: linear-gradient(180deg, rgba(17,26,38,.72), rgba(5,8,13,.52));
    box-shadow: 0 0 36px rgba(0,203,255,.08), inset 0 0 18px rgba(0,203,255,.035);
    backdrop-filter: blur(12px);
    pointer-events: auto;
}


.target-panel.is-hidden {
    opacity: 0;
    transform: translateY(-8px);
    pointer-events: none;
}

.target-panel {
    top: 86px;
    left: 18px;
    width: 280px;
    min-height: 150px;
    padding: 18px;
    border-radius: 18px;
}

.target-panel h2 {
    font-family: 'Rajdhani', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px;
    font-size: 24px;
}

.target-panel p,
.minimap-panel p,
.chat-lines p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
    font-size: 13px;
}

.minimap-panel {
    top: 86px;
    right: 18px;
    width: 260px;
    padding: 14px;
    border-radius: 18px;
}

#minimapCanvas {
    display: block;
    width: 100%;
    height: 150px;
    margin: 10px 0;
    border-radius: 12px;
    background: rgba(3,6,11,.65);
}


.minimap-tooltip {
    position: absolute;
    z-index: 6;
    display: none;
    padding: 5px 8px;
    border: 1px solid rgba(0,203,255,.32);
    border-radius: 8px;
    background: rgba(3,7,12,.86);
    color: var(--light);
    font-family: 'Rajdhani', sans-serif;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    pointer-events: none;
    box-shadow: 0 0 16px rgba(0,203,255,.12);
}
.minimap-tooltip.visible { display: block; }
.chat-panel {
    left: 18px;
    bottom: 86px;
    width: 360px;
    padding: 14px 16px;
    border-radius: 18px;
}

.chat-lines {
    display: grid;
    gap: 6px;
}

.chat-lines strong {
    color: var(--cyan-2);
    margin-right: 6px;
}

.action-dock {
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    padding: 12px;
    border-radius: 22px;
}

.action-dock button {
    width: 76px;
    height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(0,203,255,.24);
    background: rgba(0,203,255,.08);
    color: var(--light);
    font-family: 'Exo 2', Arial, sans-serif;
    font-weight: 700;
    cursor: pointer;
}

.action-dock button:hover:not(:disabled) {
    border-color: var(--cyan);
    box-shadow: 0 0 18px rgba(0,203,255,.22);
}

.action-dock button:disabled {
    opacity: .38;
    cursor: not-allowed;
}

.flight-help {
    right: 18px;
    bottom: 18px;
    max-width: 420px;
    padding: 12px 14px;
    border-radius: 999px;
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 1100px) {
    .flight-topbar {
        grid-template-columns: 220px 1fr 100px;
    }

    .flight-stats {
        grid-template-columns: repeat(2, minmax(120px, 1fr));
    }

    .chat-panel { display: none; }
    .target-panel { width: 230px; }
}

@media (max-width: 780px) {
    .flight-topbar {
        height: auto;
        min-height: 66px;
        grid-template-columns: 1fr auto;
        align-items: start;
        padding: 10px 12px;
    }

    .flight-stats {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: 100%;
    }

    .target-panel { display: none; }
    .minimap-panel { top: auto; bottom: 86px; right: 12px; width: 210px; }
    .flight-help { display: none; }
    .action-dock { gap: 6px; padding: 8px; }
    .action-dock button { width: 58px; height: 42px; font-size: 11px; }
}

/* ZIP 003 - Premiers combats */
.target-bars { margin-top: 14px; display: grid; gap: 8px; }
.hud-bar {
    position: relative;
    height: 22px;
    overflow: hidden;
    border-radius: 999px;
    border: 1px solid rgba(0,203,255,.22);
    background: rgba(3,6,11,.65);
}
.hud-bar span {
    position: absolute;
    z-index: 2;
    left: 10px;
    top: 2px;
    font-size: 12px;
    color: var(--text);
    text-transform: uppercase;
    letter-spacing: .08em;
}
.hud-bar i {
    position: absolute;
    inset: 0 auto 0 0;
    display: block;
    background: linear-gradient(90deg, rgba(255,77,77,.75), rgba(255,138,0,.9));
    box-shadow: 0 0 16px rgba(255,138,0,.35);
    transition: width .14s ease;
}
.action-dock button:not(:disabled)[data-action="laser"] {
    border-color: rgba(255,138,0,.55);
    color: #fff3df;
    background: linear-gradient(180deg, rgba(255,138,0,.22), rgba(255,77,77,.12));
}

/* ZIP 003.2 - Verrouillage automatique + barre équipements */
.chat-panel {
    bottom: 168px;
    width: 380px;
}

.action-dock.equipment-dock {
    left: 18px;
    bottom: 18px;
    transform: none;
    width: 380px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 8px;
    padding: 10px;
    border-radius: 18px;
}

.action-dock.equipment-dock button {
    position: relative;
    width: auto;
    height: 54px;
    border-radius: 12px;
    padding-top: 12px;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.action-dock.equipment-dock button span {
    position: absolute;
    top: 5px;
    left: 7px;
    min-width: 17px;
    height: 17px;
    line-height: 17px;
    border-radius: 5px;
    background: rgba(0,203,255,.18);
    color: var(--cyan-2);
    font-size: 10px;
    text-align: center;
}

.action-dock.equipment-dock button:not(:disabled)[data-action="cancel-target"] {
    border-color: rgba(255,77,77,.45);
    color: #ffd9d9;
    background: linear-gradient(180deg, rgba(255,77,77,.17), rgba(255,77,77,.07));
}

@media (max-width: 1100px) {
    .chat-panel { display: block; width: 320px; bottom: 162px; }
    .action-dock.equipment-dock { width: 320px; grid-template-columns: repeat(5, 1fr); }
}

@media (max-width: 780px) {
    .chat-panel { display: none; }
    .action-dock.equipment-dock {
        left: 10px;
        right: 10px;
        width: auto;
        grid-template-columns: repeat(5, 1fr);
    }
    .action-dock.equipment-dock button { height: 44px; font-size: 9px; }
}

/* ZIP 003.3 - Fonctions à gauche + grille équipements centrale type EVE */
.chat-panel {
    bottom: 186px;
    width: 380px;
}

.function-panel,
.equipment-grid-panel {
    position: absolute;
    border: 1px solid rgba(0,203,255,.18);
    background: linear-gradient(180deg, rgba(9,18,30,.50), rgba(3,7,12,.34));
    box-shadow: 0 0 34px rgba(0,203,255,.07), inset 0 0 18px rgba(0,203,255,.025);
    backdrop-filter: blur(14px);
    pointer-events: auto;
}

.function-panel {
    left: 18px;
    bottom: 18px;
    width: 236px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px;
    padding: 7px;
    border-radius: 12px;
    opacity: .82;
}
.function-panel:hover { opacity: 1; }

.function-panel .eyebrow {
    grid-column: 1 / -1;
    margin-bottom: 0;
    font-size: 9px;
    letter-spacing: .16em;
}

.function-panel button,
.function-panel a {
    min-height: 26px;
    border-radius: 8px;
    border: 1px solid rgba(0,203,255,.20);
    background: rgba(0,203,255,.055);
    color: var(--light);
    font-family: 'Exo 2', Arial, sans-serif;
    font-size: 9px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .07em;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.function-panel button:hover,
.function-panel a:hover {
    border-color: rgba(0,203,255,.55);
    box-shadow: 0 0 16px rgba(0,203,255,.16);
}

.function-panel [data-action="cancel-target"] {
    border-color: rgba(255,77,77,.32);
    color: #ffd7d7;
    background: rgba(255,77,77,.07);
}

.equipment-grid-panel {
    left: 50%;
    bottom: 18px;
    transform: translateX(-50%);
    width: min(720px, calc(100vw - 860px));
    min-width: 520px;
    padding: 10px 12px 12px;
    border-radius: 14px;
}

.equipment-grid-title {
    margin: 0 0 8px;
    color: rgba(189,235,255,.74);
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .18em;
    text-align: center;
}

.equipment-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 6px;
}

.equipment-grid button {
    position: relative;
    height: 54px;
    border-radius: 8px;
    border: 1px solid rgba(189,235,255,.16);
    background:
        linear-gradient(180deg, rgba(189,235,255,.055), rgba(3,7,12,.24)),
        rgba(3,7,12,.22);
    color: rgba(230,237,243,.86);
    font-family: 'Exo 2', Arial, sans-serif;
    cursor: pointer;
    overflow: hidden;
}

.equipment-grid button::before {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,203,255,.08) 1px, transparent 1px),
        linear-gradient(180deg, rgba(0,203,255,.06) 1px, transparent 1px);
    background-size: 12px 12px;
    opacity: .35;
    pointer-events: none;
}

.equipment-grid button:not(:disabled):hover {
    border-color: rgba(0,203,255,.62);
    box-shadow: 0 0 20px rgba(0,203,255,.16), inset 0 0 14px rgba(0,203,255,.08);
}

.equipment-grid button:disabled {
    opacity: .32;
    cursor: not-allowed;
}

.equipment-grid button span {
    position: absolute;
    top: 4px;
    left: 5px;
    min-width: 16px;
    height: 16px;
    line-height: 15px;
    border-radius: 4px;
    border: 1px solid rgba(0,203,255,.24);
    background: rgba(0,203,255,.10);
    color: var(--cyan-2);
    font-size: 9px;
    font-weight: 800;
    text-align: center;
    z-index: 2;
}

.equipment-grid button strong,
.equipment-grid button small {
    position: relative;
    z-index: 2;
    display: block;
    text-transform: uppercase;
}

.equipment-grid button strong {
    margin-top: 13px;
    font-size: 10px;
    letter-spacing: .06em;
}

.equipment-grid button small {
    margin-top: 2px;
    color: rgba(126,147,168,.92);
    font-size: 9px;
}

.equipment-grid button[data-action="laser"] {
    border-color: rgba(255,138,0,.42);
    background: linear-gradient(180deg, rgba(255,138,0,.12), rgba(3,7,12,.22));
}

.equipment-grid button[data-action="missile"] {
    border-color: rgba(0,203,255,.34);
}

@media (max-width: 1320px) {
    .equipment-grid-panel {
        left: auto;
        right: 18px;
        transform: none;
        width: 560px;
        min-width: 0;
    }

    .flight-help { display: none; }
}

@media (max-width: 980px) {
    .chat-panel { display: none; }
    .function-panel { width: 320px; }
    .equipment-grid-panel {
        left: 12px;
        right: 12px;
        bottom: 126px;
        width: auto;
    }
}

@media (max-width: 640px) {
    .function-panel {
        left: 12px;
        right: 12px;
        width: auto;
    }
    .equipment-grid { grid-template-columns: repeat(5, 1fr); }
    .equipment-grid-panel { bottom: 148px; }
}

/* ZIP 003.6 - Combat, regeneration et limites de secteur */
.boundary-warning {
    position: fixed;
    inset: 0;
    z-index: 5;
    pointer-events: none;
    opacity: 0;
    box-shadow: inset 0 0 0 2px rgba(255,77,77,.0), inset 0 0 80px rgba(255,77,77,.0);
    transition: opacity .25s ease;
}
.boundary-warning.active {
    opacity: 1;
    animation: boundaryPulse 1.8s ease-in-out infinite;
}
@keyframes boundaryPulse {
    0%,100% { box-shadow: inset 0 0 0 1px rgba(255,77,77,.25), inset 0 0 42px rgba(255,77,77,.16); }
    50% { box-shadow: inset 0 0 0 2px rgba(255,77,77,.85), inset 0 0 95px rgba(255,77,77,.42); }
}
.ship-status-mini {
    width: 100%;
    display: grid;
    gap: 6px;
    margin: 0 0 10px;
    padding: 9px 10px;
    border: 1px solid rgba(189,235,255,.12);
    background: rgba(3, 6, 11, .34);
    border-radius: 14px;
    backdrop-filter: blur(8px);
}
.mini-gauge {
    position: relative;
    height: 8px;
    border-radius: 999px;
    overflow: visible;
    background: rgba(230,237,243,.09);
    border: 1px solid rgba(230,237,243,.08);
}
.mini-gauge i {
    display: block;
    height: 100%;
    border-radius: inherit;
    transition: width .2s ease;
    box-shadow: 0 0 12px currentColor;
}
.mini-gauge span,
.mini-gauge b {
    position: absolute;
    top: -17px;
    font-size: 9px;
    line-height: 10px;
    color: rgba(230,237,243,.72);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 700;
    pointer-events: none;
}
.mini-gauge span { left: 0; }
.mini-gauge b { right: 0; font-weight: 600; color: rgba(189,235,255,.74); }
.mini-gauge.hull i { color: #45ff8c; background: linear-gradient(90deg, #1dcc62, #74ff9f); }
.mini-gauge.shield i { color: #ffffff; background: linear-gradient(90deg, #cfd8e4, #ffffff); }
.mini-gauge.xp i { color: #00CBFF; background: linear-gradient(90deg, #008cff, #00CBFF); }
.equipment-grid button.is-active {
    border-color: rgba(0,203,255,.95);
    background: rgba(0,203,255,.18);
    box-shadow: 0 0 18px rgba(0,203,255,.26), inset 0 0 16px rgba(0,203,255,.10);
}
.equipment-grid button.is-off {
    opacity: .42;
}

/* ZIP 003.8 - Sélection personnage et HUD compact */
.character-select-page {
    padding: 42px 0;
}
.character-select-header {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}
.character-select-header h1 {
    font-family: 'Rajdhani', sans-serif;
    font-size: clamp(38px, 5vw, 72px);
    letter-spacing: .08em;
    text-transform: uppercase;
    margin: 0 0 8px;
}
.character-slots {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 18px;
}
.character-card {
    min-height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    text-align: center;
    text-decoration: none;
}
.portrait-frame {
    width: 132px;
    height: 132px;
    margin: 0 auto 20px;
    border-radius: 50%;
    border: 1px solid rgba(0,203,255,.35);
    background: radial-gradient(circle, rgba(0,203,255,.2), rgba(3,7,12,.4));
    display: grid;
    place-items: center;
    box-shadow: 0 0 32px rgba(0,203,255,.14);
}
.pilot-silhouette {
    width: 72px;
    height: 88px;
    border-radius: 46% 46% 28% 28%;
    background: linear-gradient(180deg, rgba(230,237,243,.9), rgba(0,203,255,.22));
    clip-path: polygon(50% 0, 74% 16%, 82% 42%, 100% 100%, 0 100%, 18% 42%, 26% 16%);
}
.character-info h2 {
    font-family: 'Rajdhani', sans-serif;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin: 0 0 8px;
}
.faction-pill {
    display: inline-flex;
    margin-top: 10px;
    padding: 7px 12px;
    border: 1px solid rgba(0,203,255,.35);
    border-radius: 999px;
    color: var(--cyan-2);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.empty-character-card {
    align-items: center;
    justify-content: center;
    gap: 16px;
    color: var(--light);
    border-style: dashed;
}
.empty-plus {
    width: 92px;
    height: 92px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid rgba(0,203,255,.36);
    color: var(--cyan);
    font-size: 54px;
    font-family: 'Rajdhani', sans-serif;
    line-height: 1;
}
.function-panel {
    width: 170px !important;
    grid-template-columns: 1fr !important;
    gap: 4px !important;
    padding: 6px !important;
    opacity: .58;
}
.function-panel button,
.function-panel a {
    min-height: 22px !important;
    font-size: 8px !important;
    border-radius: 7px !important;
}
.function-panel .eyebrow { display: none; }
.function-panel:hover { opacity: .96; }
@media (max-width: 900px) {
    .character-slots { grid-template-columns: 1fr; }
}


/* ZIP 003.10 - Alertes de zone et clic maintenu prioritaire */
.zone-banner {
    position: fixed;
    z-index: 7;
    top: 82px;
    left: 50%;
    min-width: 420px;
    max-width: min(760px, calc(100vw - 40px));
    padding: 14px 28px 16px;
    border-radius: 18px;
    opacity: 0;
    transform: translateX(-50%) scale(.72);
    pointer-events: none;
    text-align: center;
    font-family: 'Rajdhani', 'Exo 2', Arial, sans-serif;
    font-size: 36px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    backdrop-filter: blur(14px);
    transition: opacity .28s ease, transform .28s ease;
}
.zone-banner.active {
    opacity: 1;
    transform: translateX(-50%) scale(1);
    animation: zoneBannerIn .28s cubic-bezier(.18,.9,.22,1.35);
}
.zone-banner.leaving {
    opacity: 0;
    transform: translateX(-50%) scale(.78);
}
.zone-banner.safe {
    color: #d9ffe0;
    border: 1px solid rgba(120,255,125,.52);
    background: linear-gradient(180deg, rgba(21,70,42,.68), rgba(4,16,9,.42));
    box-shadow: 0 0 34px rgba(120,255,125,.22), inset 0 0 22px rgba(120,255,125,.10);
    text-shadow: 0 0 18px rgba(120,255,125,.38);
}
.zone-banner.danger {
    color: #ffd5d5;
    border: 1px solid rgba(255,77,77,.72);
    background: linear-gradient(180deg, rgba(120,15,22,.78), rgba(24,3,6,.55));
    box-shadow: 0 0 46px rgba(255,77,77,.34), inset 0 0 26px rgba(255,77,77,.14);
    text-shadow: 0 0 22px rgba(255,77,77,.55);
    animation: zoneBannerIn .28s cubic-bezier(.18,.9,.22,1.35), dangerBannerPulse 1.55s ease-in-out infinite;
}
@keyframes zoneBannerIn {
    0% { opacity: 0; transform: translateX(-50%) scale(.54); }
    100% { opacity: 1; transform: translateX(-50%) scale(1); }
}
@keyframes dangerBannerPulse {
    0%, 100% { box-shadow: 0 0 34px rgba(255,77,77,.24), inset 0 0 22px rgba(255,77,77,.11); }
    50% { box-shadow: 0 0 58px rgba(255,77,77,.48), inset 0 0 34px rgba(255,77,77,.22); }
}
@media (max-width: 720px) {
    .zone-banner {
        top: 112px;
        min-width: 0;
        width: calc(100vw - 32px);
        font-size: 28px;
        padding-inline: 16px;
    }
}

/* ZIP 003.11 - HUD multijoueur / dégâts / sécurité */
.zone-banner {
    min-width: 273px !important;
    max-width: min(494px, calc(100vw - 40px)) !important;
    padding: 9px 18px 10px !important;
    border-radius: 12px !important;
    font-size: 23px !important;
}

.ship-status-mini {
    gap: 5px !important;
    padding: 8px 10px !important;
}
.mini-gauge {
    display: grid !important;
    grid-template-columns: 68px 1fr 56px !important;
    align-items: center !important;
    height: 10px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
}
.mini-gauge::before {
    content: '';
    grid-column: 2;
    grid-row: 1;
    height: 8px;
    border-radius: 999px;
    background: rgba(230,237,243,.09);
    border: 1px solid rgba(230,237,243,.08);
}
.mini-gauge i {
    grid-column: 2;
    grid-row: 1;
    height: 8px !important;
    z-index: 2;
}
.mini-gauge span,
.mini-gauge b {
    position: static !important;
    top: auto !important;
    font-size: 9px !important;
    line-height: 10px !important;
}
.mini-gauge span { grid-column: 1; grid-row: 1; text-align: right; padding-right: 8px; }
.mini-gauge b { grid-column: 3; grid-row: 1; text-align: left; padding-left: 8px; }

.loading-screen {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: grid;
    place-content: center;
    gap: 16px;
    text-align: center;
    background: radial-gradient(circle at center, rgba(10,24,36,.96), rgba(0,0,0,.98));
    color: var(--text);
    transition: opacity .35s ease, visibility .35s ease;
}
.loading-screen.done { opacity: 0; visibility: hidden; }
.loading-logo {
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: .16em;
    font-size: 24px;
    color: var(--cyan-2);
    text-transform: uppercase;
}
.loading-bar {
    width: 150px;
    height: 10px;
    margin: 0 auto;
    border: 1px solid rgba(255,255,255,.58);
    background: rgba(255,255,255,.08);
    overflow: hidden;
}
.loading-bar i { display:block; height:100%; width:0%; background:#fff; transition: width .18s ease; }
#loadingText { font-size: 12px; color: var(--muted); }

.live-chat-lines {
    height: 112px;
    overflow-y: auto;
    padding-right: 4px;
    margin-bottom: 8px;
}
.chat-form { display: grid; grid-template-columns: 1fr 68px; gap: 6px; pointer-events: auto; }
.chat-form input {
    height: 28px;
    padding: 5px 8px;
    border-radius: 8px;
    font-size: 12px;
}
.chat-form button {
    border-radius: 8px;
    border: 1px solid rgba(0,203,255,.28);
    background: rgba(0,203,255,.08);
    color: var(--light);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.equipment-grid-header {
    display: grid;
    grid-template-columns: 18px 1fr 18px;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}
.equipment-grid-header .equipment-grid-title { margin: 0; }
.safety-toggle {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.55);
    cursor: pointer;
    box-shadow: 0 0 10px currentColor;
}
.safety-toggle.safe { color: #45ff8c; background:#45ff8c; }
.safety-toggle.reduced { color: #ffd75a; background:#ffd75a; }
.safety-toggle.free { color: #ff4d4d; background:#ff4d4d; }

/* ZIP 003.12 - Préchargement opaque, chat compact/onglets, menu sécurité, verrouillage circulaire */
.loading-screen {
    background: #030508 !important;
}
.loading-screen::before {
    content: '';
    position: fixed;
    inset: 0;
    background: radial-gradient(circle at center, rgba(16,26,38,.92), rgba(0,0,0,.98));
    z-index: -1;
}
.chat-panel .eyebrow { display: none; }
.chat-tabs {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 8px;
    border-bottom: 1px solid rgba(0,203,255,.12);
    padding-bottom: 6px;
}
.chat-tabs button {
    height: 22px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid rgba(0,203,255,.16);
    background: rgba(0,203,255,.045);
    color: rgba(189,235,255,.72);
    font-family: 'Rajdhani', sans-serif;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    cursor: pointer;
}
.chat-tabs button.active {
    color: var(--cyan-2);
    border-color: rgba(0,203,255,.46);
    background: rgba(0,203,255,.12);
    box-shadow: 0 0 14px rgba(0,203,255,.12);
}
.chat-lines,
.live-chat-lines {
    display: block !important;
    gap: 0 !important;
}
.chat-lines p,
.live-chat-lines p {
    margin: 0 0 3px !important;
    line-height: 1.16 !important;
    min-height: 0 !important;
}
.chat-lines strong { margin-right: 6px; }
.equipment-grid-panel { overflow: visible; }
.safety-menu {
    position: absolute;
    left: 10px;
    bottom: 92px;
    width: 310px;
    display: none;
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 9px;
    border: 1px solid rgba(0,203,255,.24);
    border-radius: 13px;
    background: linear-gradient(180deg, rgba(10,18,29,.96), rgba(3,7,12,.92));
    box-shadow: 0 0 34px rgba(0,203,255,.16);
    backdrop-filter: blur(14px);
    z-index: 20;
}
.safety-menu.open { display: grid; }
.safety-menu button {
    text-align: left;
    border-radius: 10px;
    border: 1px solid rgba(189,235,255,.10);
    background: rgba(189,235,255,.045);
    color: var(--text);
    padding: 8px 10px;
    cursor: pointer;
}
.safety-menu button:hover {
    border-color: rgba(0,203,255,.42);
    background: rgba(0,203,255,.08);
}
.safety-menu strong {
    display: block;
    font-family: 'Rajdhani', sans-serif;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--cyan-2);
    margin-bottom: 2px;
}
.safety-menu span {
    display: block;
    font-size: 11px;
    line-height: 1.25;
    color: var(--muted);
}
.safety-menu button[data-safety="safe"] strong { color: #45ff8c; }
.safety-menu button[data-safety="reduced"] strong { color: #ffd75a; }
.safety-menu button[data-safety="free"] strong { color: #ff4d4d; }

/* ZIP 003.13 - logs plus lisibles et canal courant fixe */
.chat-current-channel {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 0 0 6px !important;
    margin: 0 0 6px !important;
    border-bottom: 1px solid rgba(0,203,255,.12);
    background: linear-gradient(180deg, rgba(6,13,22,.96), rgba(6,13,22,.72));
    color: rgba(189,235,255,.82);
}
.chat-current-channel strong {
    color: var(--cyan-2);
}

/* ZIP 003.14 - liste objets, cibles détaillées, AEGIS */
.hud-bar b {
    position: absolute;
    right: 10px;
    top: 2px;
    z-index: 3;
    font-size: 12px;
    color: rgba(230,237,243,.96);
    font-family: 'Rajdhani', sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hud-bar.shield-row i { background: linear-gradient(90deg, rgba(255,255,255,.78), rgba(255,255,255,.34)); }
.object-list-panel {
    position: absolute;
    left: 18px;
    bottom: 18px;
    width: 360px;
    height: 224px;
    min-width: 300px;
    min-height: 150px;
    max-width: 620px;
    max-height: 460px;
    resize: both;
    overflow: auto;
    border: 1px solid rgba(0,203,255,.18);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(7,15,25,.66), rgba(3,7,12,.48));
    box-shadow: 0 0 34px rgba(0,203,255,.07), inset 0 0 18px rgba(0,203,255,.025);
    backdrop-filter: blur(13px);
    pointer-events: auto;
    padding: 8px;
}
.object-list-tabs { display:flex; gap:5px; margin-bottom:7px; }
.object-list-tabs button {
    height: 22px;
    padding: 0 9px;
    border-radius: 999px;
    border: 1px solid rgba(0,203,255,.14);
    background: rgba(0,203,255,.045);
    color: rgba(189,235,255,.72);
    font-family: 'Rajdhani', sans-serif;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    cursor: pointer;
}
.object-list-tabs button.active { color: var(--cyan-2); border-color: rgba(0,203,255,.42); background: rgba(0,203,255,.10); }
.object-list-head, .object-row {
    display: grid;
    grid-template-columns: 25px minmax(95px,1fr) 70px 80px;
    align-items: center;
    gap: 7px;
}
.object-list-head {
    padding: 0 4px 5px;
    color: rgba(189,235,255,.62);
    font-family: 'Rajdhani', sans-serif;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    border-bottom: 1px solid rgba(0,203,255,.10);
}
.object-list-body { display:grid; gap:3px; padding-top:5px; }
.object-row {
    min-height: 29px;
    padding: 2px 4px;
    border-radius: 8px;
    color: rgba(230,237,243,.86);
    font-size: 11px;
    cursor:pointer;
}
.object-row:hover { background: rgba(0,203,255,.08); }
.object-icon {
    width: 25px; height: 25px; border-radius: 7px;
    display:grid; place-items:center;
    border: 1px solid rgba(189,235,255,.18);
    background: rgba(189,235,255,.055);
    font-size: 13px;
}
.object-row .distance, .object-row .type { color: rgba(189,235,255,.68); font-size:10px; }
.object-row.enemy .object-icon { color:#FF4D4D; border-color:rgba(255,77,77,.28); }
.object-row.aegis .object-icon { color:#78ff7d; border-color:rgba(120,255,125,.25); }
.object-row.player .object-icon { color:#fff; }
.object-row.poi .object-icon { color:var(--cyan-2); }
@media (max-width: 900px) { .object-list-panel { display:none; } }

/* ZIP 003.15 - Tracker droite / Orion UI / destruction */
.object-list-panel{
    left:auto !important;
    right:18px !important;
    bottom:18px !important;
    scrollbar-width: thin;
    scrollbar-color: rgba(0,203,255,.55) rgba(0,203,255,.08);
}
.object-list-panel::-webkit-scrollbar{width:8px;height:8px;}
.object-list-panel::-webkit-scrollbar-track{background:rgba(0,203,255,.06);border-radius:999px;}
.object-list-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,203,255,.75),rgba(38,224,255,.28));border-radius:999px;border:1px solid rgba(189,235,255,.18);}
.object-row.selected{background:rgba(0,203,255,.16);box-shadow:inset 0 0 0 1px rgba(0,203,255,.36);}
.object-icon.ship-size-s1,.object-icon.ship-size-s2,.object-icon.ship-size-s3{font-size:15px;color:#78ff7d;font-family:'Rajdhani',sans-serif;font-weight:900;line-height:.72;}
.object-icon.nexus-diamond{width:30px;height:30px;font-size:16px;color:var(--cyan-2);}
.hud-bar:first-child i{background:linear-gradient(90deg,rgba(0,203,255,.85),rgba(38,224,255,.42)) !important;}
.orion-modal{position:fixed;inset:0;z-index:80;display:none;place-items:center;background:rgba(0,0,0,.54);backdrop-filter:blur(8px);}
.orion-modal.active{display:grid;}
.orion-modal-box{width:min(460px,calc(100vw - 36px));border:1px solid rgba(0,203,255,.34);border-radius:18px;background:linear-gradient(180deg,rgba(10,20,33,.96),rgba(3,7,12,.94));box-shadow:0 0 46px rgba(0,203,255,.18);padding:22px;text-align:center;}
.orion-modal-box h2{font-family:'Rajdhani',sans-serif;font-size:26px;letter-spacing:.12em;color:#ff7b7b;text-transform:uppercase;margin:0 0 8px;}
.orion-modal-box p{color:var(--muted);font-size:14px;line-height:1.4;margin:0 0 18px;}
.orion-modal-box div{display:flex;gap:10px;justify-content:center;}
.orion-modal-box button,.death-overlay button{height:38px;padding:0 18px;border-radius:10px;border:1px solid rgba(0,203,255,.32);background:rgba(0,203,255,.10);color:var(--text);font-family:'Rajdhani',sans-serif;font-size:15px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.orion-modal-box button:last-child{border-color:rgba(255,77,77,.5);background:rgba(255,77,77,.12);}
.death-overlay{position:fixed;inset:0;z-index:70;display:none;place-items:center;background:rgba(2,5,10,.72);backdrop-filter:blur(5px);}
.death-overlay.active{display:grid;}
.death-overlay h1{font-family:'Rajdhani',sans-serif;font-size:58px;letter-spacing:.14em;text-transform:uppercase;color:#FF4D4D;text-shadow:0 0 24px rgba(255,77,77,.55);margin:0 0 22px;text-align:center;}
.death-overlay button{min-width:220px;background:rgba(255,77,77,.10);border-color:rgba(255,77,77,.55);}
.fade-screen{position:fixed;inset:0;z-index:90;background:#000;opacity:0;pointer-events:none;transition:opacity 2s ease;}
.fade-screen.active{opacity:1;}
.status-effects{position:fixed;z-index:8;top:150px;left:50%;transform:translateX(-50%);display:flex;gap:8px;pointer-events:none;}
.status-effect{width:50px;height:50px;border-radius:10px;border:1px solid rgba(0,203,255,.36);background:rgba(0,203,255,.10);display:grid;place-items:center;color:#BDEBFF;font-family:'Rajdhani',sans-serif;font-weight:900;font-size:10px;text-align:center;box-shadow:0 0 22px rgba(0,203,255,.14);}


/* ZIP 003.16 - Tracker avancé / logo / cible intégrée */
.flight-brand .brand-logo{
    display:block;
    max-width:210px;
    max-height:44px;
    object-fit:contain;
    filter:drop-shadow(0 0 10px rgba(0,203,255,.18));
}
.loading-logo img{
    width:min(520px,72vw);
    max-height:160px;
    object-fit:contain;
    filter:drop-shadow(0 0 24px rgba(0,203,255,.20));
}
.function-panel{display:none !important;}
.chat-panel{bottom:18px !important;}
.target-actions{
    display:flex;
    gap:8px;
    align-items:center;
    margin:10px 0 10px;
}
.target-lock-button,
.target-cancel-button{
    height:30px;
    border-radius:9px;
    border:1px solid rgba(0,203,255,.28);
    background:rgba(0,203,255,.08);
    color:var(--text);
    font-family:'Rajdhani',sans-serif;
    font-size:13px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:inset 0 0 12px rgba(0,203,255,.04);
}
.target-lock-button{width:34px;font-size:20px;color:var(--cyan-2);}
.target-cancel-button{display:none;padding:0 10px;border-color:rgba(255,77,77,.34);background:rgba(255,77,77,.08);color:#ffb8b8;}
.object-list-panel{
    right:18px !important;
    left:auto !important;
    bottom:18px !important;
    width:390px;
    height:248px;
    resize:both;
    overflow:auto;
    padding:0 !important;
    scrollbar-width:thin;
    scrollbar-color:rgba(0,203,255,.70) rgba(0,203,255,.08);
}
.object-list-panel::after{
    content:'';
    position:absolute;
    right:2px;bottom:2px;
    width:18px;height:18px;
    border-right:2px solid rgba(0,203,255,.55);
    border-bottom:2px solid rgba(0,203,255,.55);
    border-radius:0 0 12px 0;
    pointer-events:none;
    opacity:.9;
}
.object-list-panel::-webkit-scrollbar{width:9px;height:9px;}
.object-list-panel::-webkit-scrollbar-track{background:rgba(3,7,12,.56);border-radius:999px;box-shadow:inset 0 0 8px rgba(0,203,255,.05);}
.object-list-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,203,255,.95),rgba(38,224,255,.28));border-radius:999px;border:1px solid rgba(189,235,255,.24);box-shadow:0 0 12px rgba(0,203,255,.18);}
.object-list-tabs{
    position:sticky;
    top:0;
    z-index:3;
    display:flex;
    gap:5px;
    padding:8px 8px 6px;
    margin:0 !important;
    background:linear-gradient(180deg,rgba(7,15,25,.98),rgba(7,15,25,.82));
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(0,203,255,.10);
}
.object-list-head{
    position:sticky;
    top:37px;
    z-index:2;
    padding:6px 8px 5px !important;
    background:linear-gradient(180deg,rgba(5,10,17,.94),rgba(5,10,17,.80));
    backdrop-filter:blur(10px);
}
.object-list-body{padding:6px 8px 10px !important;}
.object-row{
    user-select:none;
    transition:background .12s ease, box-shadow .12s ease, transform .12s ease;
}
.object-row:hover{background:rgba(0,203,255,.08);}
.object-row.selected{
    background:rgba(0,203,255,.18) !important;
    box-shadow:inset 0 0 0 1px rgba(0,203,255,.55), 0 0 14px rgba(0,203,255,.10);
}
.object-icon{
    overflow:hidden;
    position:relative;
    width:25px;height:25px;
    background:rgba(189,235,255,.035);
}
.object-icon-img{
    width:22px;height:22px;object-fit:contain;display:block;
    filter:drop-shadow(0 0 4px rgba(255,255,255,.16));
}
.object-row.aegis .object-icon-img{filter:drop-shadow(0 0 5px rgba(0,203,255,.45));}
.object-row.enemy .object-icon-img{filter:drop-shadow(0 0 5px rgba(255,77,77,.42));}
.object-row.threat-lock .object-icon{
    border-color:rgba(255,77,77,.9) !important;
    animation:orionThreatBlink 1s infinite;
}
@keyframes orionThreatBlink{0%,100%{box-shadow:0 0 0 1px rgba(255,77,77,.20),0 0 4px rgba(255,77,77,.10)}50%{box-shadow:0 0 0 1px rgba(255,77,77,.95),0 0 14px rgba(255,77,77,.42)}}
.object-icon.nexus-diamond{width:33px!important;height:33px!important;font-size:18px!important;}
.object-row .name{font-weight:800;}
.target-panel .hud-bar:first-child i{background:linear-gradient(90deg,rgba(0,203,255,.95),rgba(38,224,255,.42)) !important;}
@media (max-width:900px){.chat-panel{bottom:18px!important}.object-list-panel{display:none!important}}


/* ZIP 003.17 - Chat séparé, Hyperdrive, tracker avancé */
.chat-lines p{margin:2px 0 3px !important; line-height:1.25 !important;}
.chat-current-channel{margin-bottom:8px !important;}
.chat-time{color:#fff;font-family:'Rajdhani',sans-serif;font-weight:800;font-size:11px;margin-right:7px;letter-spacing:.04em;opacity:.9;}
.client-version{color:rgba(189,235,255,.58);font-size:11px;font-weight:700;}
.poi-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px;}
.poi-tag{display:inline-flex;align-items:center;height:18px;padding:0 7px;border:1px solid #97add1;color:#cbd9ef;background:rgba(151,173,209,.06);font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;border-radius:0;}
.poi-tag.safe{border-color:#add197;color:#d8ffd0;background:rgba(173,209,151,.08);}
.object-list-panel{resize:none !important;overflow:auto !important;}
.object-icon.nexus-diamond{width:25px!important;height:25px!important;font-size:15px!important;}
.tracker-resize-handle{position:absolute;z-index:8;background:transparent;}
.tracker-resize-handle.n{top:-3px;left:12px;right:12px;height:8px;cursor:n-resize}.tracker-resize-handle.s{bottom:-3px;left:12px;right:12px;height:8px;cursor:s-resize}.tracker-resize-handle.e{right:-3px;top:12px;bottom:12px;width:8px;cursor:e-resize}.tracker-resize-handle.w{left:-3px;top:12px;bottom:12px;width:8px;cursor:w-resize}.tracker-resize-handle.ne{right:-4px;top:-4px;width:14px;height:14px;cursor:ne-resize}.tracker-resize-handle.nw{left:-4px;top:-4px;width:14px;height:14px;cursor:nw-resize}.tracker-resize-handle.se{right:-4px;bottom:-4px;width:16px;height:16px;cursor:se-resize}.tracker-resize-handle.sw{left:-4px;bottom:-4px;width:14px;height:14px;cursor:sw-resize}
.orion-context-menu{position:fixed;z-index:120;display:none;min-width:190px;padding:7px;border:1px solid rgba(0,203,255,.32);border-radius:12px;background:linear-gradient(180deg,rgba(8,16,27,.98),rgba(2,5,10,.96));box-shadow:0 0 34px rgba(0,203,255,.18);backdrop-filter:blur(12px);}
.orion-context-menu.open{display:grid;gap:4px;}
.orion-context-menu button{height:28px;border:1px solid rgba(0,203,255,.14);background:rgba(0,203,255,.055);color:#E6EDF3;text-align:left;padding:0 10px;border-radius:8px;font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.orion-context-menu button:hover{border-color:rgba(0,203,255,.5);background:rgba(0,203,255,.14);color:#26E0FF;}
.hyperdrive-bar{display:none;height:18px;margin:0 0 7px;border:1px solid rgba(189,235,255,.24);background:rgba(2,5,10,.72);position:relative;overflow:hidden;border-radius:4px;box-shadow:0 0 16px rgba(0,203,255,.10);}
.hyperdrive-bar.active{display:block;}
.hyperdrive-bar i{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(38,224,255,.65));box-shadow:0 0 14px rgba(0,203,255,.4);}
.hyperdrive-bar span{position:relative;z-index:2;display:block;text-align:center;font-family:'Rajdhani',sans-serif;font-size:10px;font-weight:900;letter-spacing:.14em;color:#E6EDF3;line-height:18px;text-transform:uppercase;}
.death-overlay>div{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.death-overlay.active h1{animation:deathTitleSlide 1s cubic-bezier(.16,1,.3,1) both;}
@keyframes deathTitleSlide{0%{opacity:0;transform:translateX(-90px);letter-spacing:.5em;filter:blur(5px)}100%{opacity:1;transform:translateX(0);letter-spacing:.14em;filter:blur(0)}}
.level-up-overlay{position:fixed;inset:0;z-index:110;display:none;place-items:center;background:rgba(2,5,10,.66);backdrop-filter:blur(7px);}
.level-up-overlay.active{display:grid;}
.level-card{text-align:center;animation:levelPanelIn .45s ease both;}
.level-card h1{margin:0 0 130px;font-family:'Rajdhani',sans-serif;font-size:62px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(90deg,#e5b6ff,#a8eeff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;}
.level-shield{width:210px;height:245px;margin:0 auto 36px;clip-path:polygon(50% 0,92% 23%,82% 80%,50% 100%,18% 80%,8% 23%);background:linear-gradient(180deg,#fff,#dce6f6);display:grid;place-items:center;box-shadow:0 0 35px rgba(189,235,255,.25);position:relative;}
.level-shield span{position:absolute;font-family:'Rajdhani',sans-serif;font-size:96px;font-weight:900;font-style:italic;color:#111A26;letter-spacing:-.05em;}
.level-shield .old{animation:oldLevelBurst .7s ease both;}.level-shield .new{animation:newLevelBuild 1s .55s cubic-bezier(.16,1,.3,1) both;}
.level-card button{height:40px;min-width:130px;border:1px solid rgba(0,203,255,.36);background:rgba(0,203,255,.10);color:#E6EDF3;border-radius:10px;font-family:'Rajdhani',sans-serif;font-weight:900;letter-spacing:.12em;cursor:pointer;}
@keyframes levelPanelIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes oldLevelBurst{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(2.8) rotate(22deg) translate(120px,-80px);filter:blur(7px)}}
@keyframes newLevelBuild{0%{opacity:0;transform:scale(.2) rotate(-16deg);filter:blur(12px)}100%{opacity:1;transform:scale(1) rotate(0);filter:blur(0)}}
.safety-menu button[data-safety="safe"] strong::after{content:''}.safety-menu button[data-safety="reduced"] strong::after{content:''}.safety-menu button[data-safety="free"] strong::after{content:''}


/* ZIP 003.18 - HUD personnalisable, logs filtrés, hyperdrive plus clean */
.hud-customizable{touch-action:none;}
.hud-customizable.dragging{box-shadow:0 0 0 1px rgba(189,235,255,.30),0 0 42px rgba(0,203,255,.18)!important;}
.hud-resize-handle{position:absolute;z-index:15;background:transparent;pointer-events:auto;}
.hud-resize-handle.n{top:-4px;left:14px;right:14px;height:9px;cursor:n-resize}.hud-resize-handle.s{bottom:-4px;left:14px;right:14px;height:9px;cursor:s-resize}.hud-resize-handle.e{right:-4px;top:14px;bottom:14px;width:9px;cursor:e-resize}.hud-resize-handle.w{left:-4px;top:14px;bottom:14px;width:9px;cursor:w-resize}.hud-resize-handle.ne{right:-5px;top:-5px;width:16px;height:16px;cursor:ne-resize}.hud-resize-handle.nw{left:-5px;top:-5px;width:16px;height:16px;cursor:nw-resize}.hud-resize-handle.se{right:-5px;bottom:-5px;width:18px;height:18px;cursor:se-resize}.hud-resize-handle.sw{left:-5px;bottom:-5px;width:16px;height:16px;cursor:sw-resize}
.chat-panel,.minimap-panel,.object-list-panel{min-width:240px;min-height:130px;overflow:auto;}
.chat-panel{resize:none!important;}
.chat-lines{max-height:calc(100% - 76px);overflow:auto;}
#minimapCanvas{height:calc(100% - 54px);min-height:100px;}
.hyperdrive-bar{height:12px;margin:0 0 6px;border-color:rgba(190,190,255,.22);background:transparent;border-radius:2px;box-shadow:none;}
.hyperdrive-bar i{background:rgba(174,190,255,.72);box-shadow:0 0 10px rgba(174,190,255,.25);}
.hyperdrive-bar span{font-size:13px;line-height:12px;transform:translateY(-21px);color:#d9ddff;text-shadow:0 0 12px rgba(174,190,255,.40);background:transparent;}
.target-panel .hud-bar:first-child span{min-width:78px;}
.target-panel .hud-bar:first-child b{font-size:11px;}

/* ZIP 003.19 - Statuts, bannières de vol, UI libre */
*{
    scrollbar-width: thin;
    scrollbar-color: rgba(0,203,255,.70) rgba(0,203,255,.08);
}
*::-webkit-scrollbar{width:9px;height:9px;}
*::-webkit-scrollbar-track{background:rgba(3,7,12,.56);border-radius:999px;box-shadow:inset 0 0 8px rgba(0,203,255,.05);}
*::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,203,255,.95),rgba(38,224,255,.28));border-radius:999px;border:1px solid rgba(189,235,255,.24);box-shadow:0 0 12px rgba(0,203,255,.18);}
.chat-lines,.live-chat-lines,.chat-panel{scrollbar-width:none!important;}
.chat-lines::-webkit-scrollbar,.live-chat-lines::-webkit-scrollbar,.chat-panel::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.minimap-panel,#minimapCanvas{overflow:hidden!important;scrollbar-width:none!important;}
.minimap-panel::-webkit-scrollbar,#minimapCanvas::-webkit-scrollbar{display:none!important;width:0!important;height:0!important;}
.status-effect.icon-status{background:rgba(7,15,24,.74);border-color:rgba(189,235,255,.32);box-shadow:0 0 18px rgba(189,235,255,.14);padding:0;overflow:hidden;pointer-events:auto;}
.status-effect.icon-status img{width:42px;height:42px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(189,235,255,.52));}
.status-effect.icon-status.expiring{animation:statusExpireBlink .55s ease-in-out infinite alternate;}
@keyframes statusExpireBlink{from{opacity:1;transform:scale(1)}to{opacity:.38;transform:scale(.93)}}
.flight-mode-banner{display:none;margin:0 auto 5px;min-width:230px;max-width:360px;padding:4px 14px;border:1px solid rgba(132,113,145,.55);background:rgba(7,10,18,.10);border-radius:9px;text-align:center;font-family:'Rajdhani',sans-serif;font-weight:900;font-size:14px;letter-spacing:.14em;text-transform:uppercase;pointer-events:none;}
.flight-mode-banner.active{display:block;}
.flight-mode-banner.hyperdrive{color:#847191;box-shadow:0 0 14px rgba(132,113,145,.14);}
.flight-mode-banner.autopilot{color:#e6e1ba;border-color:rgba(230,225,186,.52);box-shadow:0 0 14px rgba(230,225,186,.11);}
.hud-customizable{touch-action:none;}
.chat-panel,.minimap-panel,.object-list-panel{overflow:hidden!important;}
.object-list-panel .object-list-body{overflow:auto;}


/* ZIP 003.20 - Corrections verrouillage, HUD, chat, minimap, level-up */
.target-card .lock-cancel,
#cancelTargetButton{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  line-height:1!important;padding:0 14px!important;height:30px!important;
}
.minimap-panel p{display:none!important;}
.minimap-panel::after{
  content:'CENTRER SUR MOI';display:inline-flex;margin-top:8px;padding:4px 10px;border:1px solid rgba(151,173,209,.75);
  color:#BDEBFF;font:800 10px Rajdhani,sans-serif;letter-spacing:.12em;background:rgba(10,18,28,.45);
}
.chat-panel{display:flex!important;flex-direction:column!important;overflow:hidden!important;}
.chat-tabs{flex:0 0 auto!important;margin-top:0!important;}
.chat-lines{flex:1 1 auto!important;min-height:40px!important;max-height:none!important;overflow:hidden!important;}
.chat-form{flex:0 0 auto!important;margin-top:auto!important;margin-bottom:0!important;}
.object-list-body,.object-list-panel{scrollbar-width:thin!important;scrollbar-color:rgba(151,173,209,.85) rgba(5,12,20,.35)!important;overflow:auto!important;}
.object-list-body::-webkit-scrollbar,.object-list-panel::-webkit-scrollbar{width:8px;height:8px!important;display:block!important;}
.object-list-body::-webkit-scrollbar-track,.object-list-panel::-webkit-scrollbar-track{background:rgba(5,12,20,.35);border-left:1px solid rgba(0,203,255,.12)}
.object-list-body::-webkit-scrollbar-thumb,.object-list-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(151,173,209,.95),rgba(0,203,255,.45));border-radius:8px;border:1px solid rgba(0,203,255,.25)}
.flight-mode-banner.auto{transform:translateY(-54px)!important;}
.level-up-overlay .level-card{animation-duration:1.1s!important;}
.level-up-overlay h1{animation-duration:1.45s!important;animation-delay:.25s!important;}
.level-up-overlay .level-shield{animation-delay:2.4s!important;animation-duration:2.2s!important;}
.level-up-overlay button{opacity:0;animation:levelOkFade .8s ease forwards!important;animation-delay:6.9s!important;}
@keyframes levelOkFade{to{opacity:1;}}


/* Alpha 0.6.0 - Tracker triable + secousse Hyperdrive visible */
.object-list-head [data-sort]{cursor:pointer;user-select:none;position:relative;color:#BDEBFF;transition:color .15s ease,text-shadow .15s ease;}
.object-list-head [data-sort]:hover{color:#fff;text-shadow:0 0 8px rgba(0,203,255,.45);}
.object-list-head [data-sort].active::after{content:attr(data-dir);font-size:8px;letter-spacing:.08em;text-transform:uppercase;margin-left:5px;color:#97add1;opacity:.85;}
#spaceCanvas{will-change:transform;transform:translate3d(0,0,0);}


/* Alpha 0.6.0 - Carte stellaire / Citadelle d'Orion */
.starmap-button{
    margin-top:10px;height:24px;padding:0 10px;border:1px solid #97add1;background:rgba(151,173,209,.06);color:#cbd9ef;
    font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:900;letter-spacing:.10em;text-transform:uppercase;border-radius:0;cursor:pointer;
}
.starmap-button:hover{border-color:#BDEBFF;color:#fff;box-shadow:0 0 16px rgba(0,203,255,.18)}
.starmap-overlay{position:fixed;inset:0;z-index:130;display:none;place-items:center;background:rgba(1,4,8,.82);backdrop-filter:blur(8px)}
.starmap-overlay.active{display:grid;animation:starmapFade .18s ease both}
.starmap-window{width:min(940px,calc(100vw - 54px));height:min(680px,calc(100vh - 54px));border:1px solid rgba(0,203,255,.34);border-radius:18px;background:#02050a;box-shadow:0 0 70px rgba(0,203,255,.20);padding:18px;display:grid;grid-template-rows:auto 1fr;gap:12px}
.starmap-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,203,255,.16);padding-bottom:10px;gap:14px}
.starmap-top h2{margin:0;font-family:'Rajdhani',sans-serif;font-size:30px;letter-spacing:.12em;text-transform:uppercase;color:#E6EDF3}.starmap-top .eyebrow{margin:0 0 4px;color:#26E0FF}.starmap-top button{height:32px;padding:0 16px;border:1px solid rgba(0,203,255,.36);background:rgba(0,203,255,.08);color:#E6EDF3;border-radius:9px;font-family:'Rajdhani',sans-serif;font-weight:900;letter-spacing:.10em;text-transform:uppercase;cursor:pointer}.starmap-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#starmapCanvas{width:100%;height:100%;border:1px solid rgba(0,203,255,.14);background:#010307;border-radius:12px;cursor:grab;touch-action:none}#starmapCanvas.dragging{cursor:grabbing}.starmap-help{margin:0;color:#7e93a8;font-size:12px}.object-icon.nexus-diamond{width:25px!important;height:25px!important;font-size:16px!important}.level-card button{opacity:0;animation:levelOkEarly .45s 1.15s ease both}@keyframes levelOkEarly{to{opacity:1;transform:translateY(0)}from{opacity:0;transform:translateY(8px)}}@keyframes starmapFade{from{opacity:0}to{opacity:1}}
.minimap-panel::after{content:none!important;display:none!important;}
#uiStatus.starmap-button{display:inline-flex!important;align-items:center;justify-content:center;width:max-content;max-width:100%;}

/* Alpha 0.6.0 - carte stellaire zoom/pan */
.starmap-window{background:#02050a!important;grid-template-rows:auto 1fr!important}
.starmap-help{display:none!important}
.starmap-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#starmapCanvas{background:#010307!important;cursor:grab;touch-action:none}
#starmapCanvas.dragging{cursor:grabbing}


/* Alpha 0.6.0 - Audio, menu système et tracker sortable fiable */
.flight-topbar{grid-template-columns:270px 1fr 56px!important;}
.flight-menu-button{
    width:42px;height:38px;justify-self:end;border:1px solid rgba(0,203,255,.34);border-radius:12px;
    background:rgba(0,203,255,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    cursor:pointer;box-shadow:0 0 18px rgba(0,203,255,.10);transition:.16s ease;pointer-events:auto;
}
.flight-menu-button span{width:19px;height:2px;background:#E6EDF3;border-radius:99px;box-shadow:0 0 8px rgba(0,203,255,.42)}
.flight-menu-button:hover{border-color:#26E0FF;background:rgba(0,203,255,.14);transform:translateY(-1px)}
.space-menu-modal{position:fixed;inset:0;z-index:150;display:none;place-items:center;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);pointer-events:auto;}
.space-menu-modal.active{display:grid;animation:starmapFade .18s ease both;}
.space-menu-box{width:min(470px,calc(100vw - 40px));border:1px solid rgba(0,203,255,.36);border-radius:18px;background:linear-gradient(180deg,rgba(8,18,31,.97),rgba(3,7,13,.96));box-shadow:0 0 70px rgba(0,203,255,.20);padding:24px;}
.space-menu-box h2{margin:0 0 20px;font-family:'Rajdhani',sans-serif;font-size:30px;letter-spacing:.14em;text-transform:uppercase;color:#E6EDF3;text-align:center;}
.volume-row{display:grid;grid-template-columns:94px 1fr 54px;gap:12px;align-items:center;margin:14px 0;color:#BDEBFF;font-family:'Rajdhani',sans-serif;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.volume-row input[type=range]{appearance:none;-webkit-appearance:none;height:6px;border:1px solid rgba(151,173,209,.35);border-radius:0;background:rgba(0,203,255,.08);padding:0;}
.volume-row input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#E6EDF3;border:2px solid #00CBFF;box-shadow:0 0 12px rgba(0,203,255,.55);}
.volume-row input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#E6EDF3;border:2px solid #00CBFF;box-shadow:0 0 12px rgba(0,203,255,.55);}
.space-menu-actions{display:flex;justify-content:center;gap:10px;margin-top:22px;}
.space-menu-actions button{height:38px;padding:0 20px;border-radius:10px;border:1px solid rgba(0,203,255,.36);background:rgba(0,203,255,.09);color:#E6EDF3;font-family:'Rajdhani',sans-serif;font-weight:900;letter-spacing:.10em;text-transform:uppercase;cursor:pointer;}
.space-menu-actions button.danger{border-color:rgba(255,77,77,.60);background:rgba(255,77,77,.14);color:#ffd4d4;}
.logout-box{text-align:center;}
.logout-box p{margin:0 0 12px;color:#97add1;font-size:14px;}
#logoutCountdown{display:block;font-family:'Rajdhani',sans-serif;font-size:54px;line-height:1;color:#FF4D4D;text-shadow:0 0 20px rgba(255,77,77,.45);}
.logout-progress{height:10px;margin:18px auto 8px;width:min(250px,100%);border:1px solid rgba(255,77,77,.34);background:rgba(255,77,77,.08);overflow:hidden;border-radius:0;}
.logout-progress i{display:block;height:100%;width:100%;background:linear-gradient(90deg,rgba(255,77,77,.85),rgba(255,138,0,.58));transition:width .25s linear;}
.object-list-head{pointer-events:auto!important;z-index:4;}
.object-list-head [data-sort]{pointer-events:auto!important;cursor:pointer!important;}
.object-list-head [data-sort].active{color:#fff!important;text-shadow:0 0 10px rgba(0,203,255,.50);}
.object-list-body{pointer-events:auto!important;}


/* Alpha 0.6.0 - écrans personnages Orion V2 */
.oi-character-shell {
    min-height: 100vh;
    padding: 78px 64px 54px;
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 18%, rgba(0,203,255,.13), transparent 30%),
        radial-gradient(circle at 82% 76%, rgba(132,113,145,.12), transparent 34%),
        #0B1018;
}
.oi-character-shell:before {
    content:"";
    position: fixed;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(0,203,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,203,255,.045) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.92), transparent 92%);
}
.oi-character-shell:after {
    content:"";
    position: fixed;
    right: -220px;
    top: -220px;
    width: 620px;
    height: 620px;
    border-radius: 50%;
    border: 1px solid rgba(0,203,255,.22);
    box-shadow: 0 0 90px rgba(0,203,255,.16);
    pointer-events: none;
}
.oi-character-top {
    position: relative;
    z-index: 2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:38px;
}
.oi-logo-line { display:flex; align-items:center; gap:18px; }
.oi-logo-line img { max-width: 230px; max-height: 64px; object-fit:contain; filter: drop-shadow(0 0 18px rgba(0,203,255,.35)); }
.oi-character-title { position:relative; z-index:2; text-align:center; max-width:980px; margin:0 auto 38px; }
.oi-character-title h1 { margin:0 0 12px; font:800 clamp(44px,6vw,86px)/.9 'Rajdhani',sans-serif; letter-spacing:.075em; color:#fff; text-transform:uppercase; text-shadow:0 0 32px rgba(0,203,255,.26); }
.oi-character-title p { color:rgba(230,237,243,.74); font-size:1.05rem; line-height:1.5; }
.oi-slots-v2 { position:relative; z-index:2; display:grid; grid-template-columns:repeat(3,minmax(245px,1fr)); gap:26px; max-width:1280px; margin:0 auto; }
.oi-pilot-card { min-height:540px; padding:26px; display:flex; flex-direction:column; justify-content:space-between; text-align:center; border-radius:20px; background:rgba(17,26,38,.82); border:1px solid rgba(0,203,255,.22); box-shadow:0 18px 60px rgba(0,0,0,.38), inset 0 0 44px rgba(0,203,255,.035); backdrop-filter:blur(18px); color:#E6EDF3; text-decoration:none; transition:.18s ease; }
.oi-pilot-card:hover { transform:translateY(-3px); border-color:rgba(0,203,255,.55); box-shadow:0 22px 75px rgba(0,0,0,.46), 0 0 34px rgba(0,203,255,.13); }
.oi-pilot-portrait { height:315px; border-radius:18px; border:1px solid rgba(0,203,255,.18); overflow:hidden; background: radial-gradient(circle at 50% 30%, rgba(0,203,255,.18), transparent 52%), rgba(5,12,20,.72); display:grid; place-items:center; }
.oi-pilot-portrait img { width:88%; height:88%; object-fit:contain; filter:drop-shadow(0 0 24px rgba(0,203,255,.25)); }
.oi-pilot-card h2 { margin: 18px 0 8px; color:#fff; font:800 34px/1 'Rajdhani',sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.oi-pilot-meta { color:rgba(230,237,243,.68); margin:0 0 14px; }
.oi-faction-pill { display:inline-flex; padding:8px 14px; border:1px solid rgba(0,203,255,.35); border-radius:999px; color:#BDEBFF; font-size:.78rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.oi-empty-plus { width:98px; height:98px; border-radius:50%; border:1px solid rgba(0,203,255,.42); display:grid; place-items:center; color:#00CBFF; font:700 72px/1 'Rajdhani',sans-serif; box-shadow:0 0 38px rgba(0,203,255,.16); margin:0 auto 22px; }
.oi-create-layout { position:relative; z-index:2; display:grid; grid-template-columns:.78fr 1.22fr; gap:42px; align-items:start; max-width:1380px; margin:0 auto; }
.oi-create-hero { padding:40px 8px; }
.oi-create-hero h1 { margin:0 0 18px; color:#fff; font:800 clamp(42px,6vw,88px)/.9 'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.07em; }
.oi-create-hero p { color:rgba(189,235,255,.82); font-size:1.06rem; line-height:1.6; }
.oi-create-card { padding:32px; border-radius:20px; background:rgba(17,26,38,.84); border:1px solid rgba(0,203,255,.22); box-shadow:0 18px 60px rgba(0,0,0,.38), inset 0 0 44px rgba(0,203,255,.035); backdrop-filter:blur(18px); }
.oi-origin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:10px 0 20px; }
.oi-choice-card { position:relative; display:block; padding:14px; border:1px solid rgba(0,203,255,.17); border-radius:14px; background:rgba(11,16,24,.62); cursor:pointer; min-height:122px; }
.oi-choice-card input { position:absolute; inset:12px auto auto 12px; width:auto; }
.oi-choice-card h3 { margin:0 0 6px 28px; color:#fff; font:800 20px/1 'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.05em; }
.oi-choice-card p { margin:0 0 0 28px; color:rgba(230,237,243,.68); font-size:.84rem; line-height:1.35; }
.oi-choice-card:has(input:checked) { border-color:rgba(0,203,255,.82); box-shadow:0 0 22px rgba(0,203,255,.12); background:rgba(0,203,255,.08); }
.oi-faction-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:10px 0 20px; }
.oi-faction-card { min-height:250px; display:flex; flex-direction:column; gap:10px; }
.oi-faction-card.apex { border-color:rgba(255,138,0,.34); }
.oi-faction-card.helix { border-color:rgba(0,203,255,.34); }
.oi-faction-card.stellar { border-color:rgba(189,235,255,.34); }
.oi-info-btn { margin-left:28px; width:calc(100% - 28px); min-height:34px; border-radius:10px; border:1px solid rgba(151,173,209,.45); background:rgba(151,173,209,.06); color:#BDEBFF; font:800 12px 'Rajdhani',sans-serif; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; }
.oi-modal-backdrop { position:fixed; inset:0; z-index:20000; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.62); backdrop-filter:blur(7px); }
.oi-modal-backdrop.open { display:flex; }
.oi-modal { width:min(620px, calc(100vw - 42px)); padding:28px; border-radius:18px; border:1px solid rgba(0,203,255,.34); background:rgba(11,16,24,.96); box-shadow:0 24px 90px rgba(0,0,0,.62),0 0 42px rgba(0,203,255,.16); }
.oi-modal h2 { margin:0 0 10px; color:#fff; font:800 34px/1 'Rajdhani',sans-serif; text-transform:uppercase; letter-spacing:.07em; }
.oi-modal p { color:rgba(230,237,243,.76); line-height:1.6; }
.oi-modal .btn { margin-top:16px; }
@media(max-width:1050px){ .oi-character-shell{padding:32px 22px;} .oi-slots-v2,.oi-create-layout{grid-template-columns:1fr;} .oi-faction-grid,.oi-origin-grid{grid-template-columns:1fr;} }


/* Alpha 0.6.0 - Portails de phase / transit */
#phaseJumpOverlay{
  position:fixed;
  inset:0;
  z-index:99980;
  display:none;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at center, rgba(0,203,255,.16), rgba(3,6,12,.74) 38%, rgba(0,0,0,.94) 100%);
  pointer-events:none;
  overflow:hidden;
}
#phaseJumpOverlay.active{display:flex; animation:phaseFadeIn .28s ease-out both;}
#phaseJumpOverlay.loading{background:radial-gradient(circle at center, rgba(132,113,145,.22), rgba(3,6,12,.82) 32%, rgba(0,0,0,.98) 100%);}
.phase-vortex{
  width:160vmax;
  height:160vmax;
  border-radius:50%;
  position:absolute;
  background:
    conic-gradient(from 0deg, rgba(0,203,255,0), rgba(0,203,255,.55), rgba(189,235,255,.12), rgba(132,113,145,.44), rgba(0,203,255,0)),
    radial-gradient(circle, rgba(255,255,255,.92) 0 2%, rgba(0,203,255,.42) 7%, rgba(0,0,0,0) 23%);
  filter:blur(.2px) saturate(1.25);
  animation:phaseVortex 2.4s cubic-bezier(.15,.75,.12,1) both;
}
.phase-vortex span,
.phase-vortex i{
  position:absolute;
  left:50%; top:50%;
  width:34vmax; height:34vmax;
  border:2px solid rgba(189,235,255,.32);
  border-radius:50%;
  transform:translate(-50%,-50%);
  box-shadow:0 0 80px rgba(0,203,255,.38), inset 0 0 70px rgba(0,203,255,.22);
  animation:phaseRing 1.8s ease-in-out infinite alternate;
}
.phase-vortex i{width:62vmax;height:62vmax;animation-delay:.18s;border-color:rgba(132,113,145,.36);}
#phaseJumpOverlay p{
  position:relative;
  z-index:2;
  margin-top:42vh;
  font-family:Rajdhani, sans-serif;
  font-weight:900;
  letter-spacing:.24em;
  font-size:28px;
  color:#BDEBFF;
  text-shadow:0 0 28px rgba(0,203,255,.75);
}
.poi-tag{
  border:1px solid #97add1;
  color:#cfe2ff;
}
.poi-tag.safe{
  border-color:#add197;
  color:#d8ffd5;
}
.poi-tag:nth-child(n){
  /* garde les tags droits et fins même dans les descriptions longues */
  border-radius:2px;
}
@keyframes phaseFadeIn{from{opacity:0}to{opacity:1}}
@keyframes phaseVortex{
  0%{transform:scale(1.65) rotate(0deg); opacity:.0}
  18%{opacity:1}
  62%{transform:scale(.42) rotate(520deg); opacity:1}
  100%{transform:scale(.05) rotate(980deg); opacity:0}
}
@keyframes phaseRing{from{transform:translate(-50%,-50%) scale(.88)}to{transform:translate(-50%,-50%) scale(1.08)}}

/* Alpha 0.6.0 - Landing / Auth / Interface polish */
.oi-landing-body,.oi-auth-body{min-height:100vh;background:radial-gradient(circle at 18% 14%,rgba(0,203,255,.14),transparent 28%),radial-gradient(circle at 82% 76%,rgba(132,113,145,.10),transparent 32%),#0B1018;color:#E6EDF3;font-family:'Exo 2',sans-serif;}
.oi-landing-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 54px;border-bottom:1px solid rgba(0,203,255,.16);background:rgba(5,10,17,.54);backdrop-filter:blur(18px);}
.oi-landing-nav nav{display:flex;gap:12px;align-items:center;}
.oi-logo-line img{height:64px;max-width:340px;object-fit:contain;filter:drop-shadow(0 0 20px rgba(0,203,255,.30));}
.oi-landing{position:relative;z-index:1;padding:70px 64px 90px;}
.oi-landing-hero{max-width:1180px;margin:0 auto 56px;text-align:center;padding:46px 32px;}
.oi-landing-hero h1{margin:0 auto 22px;max-width:1120px;font:800 clamp(48px,7vw,104px)/.86 'Rajdhani',sans-serif;letter-spacing:.055em;text-transform:uppercase;color:#fff;text-shadow:0 0 44px rgba(0,203,255,.28);}
.oi-landing-hero p{max-width:860px;margin:0 auto;color:rgba(230,237,243,.76);font-size:1.18rem;line-height:1.62;}
.oi-landing-actions{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.oi-hero-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:30px;}
.oi-hero-badges span{border:1px solid rgba(151,173,209,.36);background:rgba(151,173,209,.08);color:#BDEBFF;padding:9px 12px;text-transform:uppercase;font:700 .76rem 'Rajdhani',sans-serif;letter-spacing:.08em;}
.oi-lore-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1280px;margin:0 auto 28px;}
.oi-lore-grid .glass-card h2{font:800 2rem/.95 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.05em;}
.oi-lore-grid .glass-card p:not(.eyebrow){color:rgba(230,237,243,.74);line-height:1.58;}
.oi-feature-strip{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.oi-feature-strip div{padding:18px;border:1px solid rgba(0,203,255,.18);background:rgba(17,26,38,.62);border-radius:14px;}
.oi-feature-strip strong{display:block;color:#fff;font:800 1.2rem 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.08em;}.oi-feature-strip span{color:rgba(189,235,255,.72);font-size:.88rem;}
.oi-auth-shell{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:1.08fr .72fr;gap:42px;align-items:center;padding:70px;}
.oi-auth-hero h1{margin:24px 0 20px;font:800 clamp(44px,6vw,88px)/.88 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.055em;color:#fff;text-shadow:0 0 38px rgba(0,203,255,.25);}.oi-auth-hero p{max-width:760px;color:rgba(230,237,243,.76);font-size:1.1rem;line-height:1.62;}.oi-auth-card{padding:34px;}.oi-auth-card h2{font:800 2.4rem 'Rajdhani',sans-serif;text-transform:uppercase;}
.status-effect.icon-status{position:relative;}
.status-effect.icon-status::after{content:attr(data-tooltip);position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%) scale(.96);opacity:0;pointer-events:none;min-width:180px;padding:9px 12px;border:1px solid rgba(0,203,255,.38);background:rgba(5,12,20,.96);color:#E6EDF3;border-radius:10px;box-shadow:0 0 26px rgba(0,203,255,.18);font:700 12px 'Exo 2',sans-serif;letter-spacing:.02em;transition:opacity .14s ease,transform .14s ease;z-index:9999;}
.status-effect.icon-status:hover::after{opacity:1;transform:translateX(-50%) scale(1);}
@media(max-width:980px){.oi-landing-nav,.oi-auth-shell,.oi-landing{padding-left:24px;padding-right:24px}.oi-auth-shell,.oi-lore-grid,.oi-feature-strip{grid-template-columns:1fr}.oi-landing-nav{flex-direction:column}.oi-logo-line img{height:52px;max-width:280px}}


/* Alpha 0.6.0 - Landing/Register polish */
.oi-landing-body,.oi-auth-body{min-height:100vh;background:radial-gradient(circle at 18% 16%,rgba(0,203,255,.14),transparent 30%),radial-gradient(circle at 82% 82%,rgba(255,138,0,.08),transparent 34%),#0B1018;color:#E6EDF3;font-family:"Exo 2",sans-serif;}
.oi-landing-nav{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:26px 54px;border-bottom:1px solid rgba(0,203,255,.14);background:rgba(5,10,18,.56);backdrop-filter:blur(14px)}
.oi-landing-nav nav{display:flex;gap:12px}.oi-logo-line img{max-width:250px;max-height:78px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(0,203,255,.28))}.oi-landing{position:relative;z-index:1;padding:60px 64px 80px}.oi-landing-hero{max-width:1120px;padding:44px 0 58px}.oi-landing-hero h1{font-family:"Rajdhani",sans-serif;letter-spacing:.06em;text-transform:uppercase;font-size:clamp(3.2rem,7vw,7.5rem);line-height:.88;margin:0 0 24px;color:#fff;text-shadow:0 0 38px rgba(0,203,255,.28)}.oi-landing-hero p{max-width:850px;font-size:1.22rem;line-height:1.65;color:rgba(230,237,243,.78)}.oi-landing-actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.oi-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:20px 0 26px}.oi-feature-grid .glass-card h2,.oi-lore-panel h2{font-family:"Rajdhani",sans-serif;color:#fff;letter-spacing:.06em;text-transform:uppercase}.oi-feature-grid p,.oi-lore-panel p{color:rgba(230,237,243,.74);line-height:1.55}.oi-lore-panel{max-width:1180px}.oi-register-shell{grid-template-columns:1.05fr .95fr}.oi-register-card .muted{line-height:1.45;margin-bottom:18px}.btn-primary{background:linear-gradient(135deg,#00CBFF,#26E0FF)!important;color:#061018!important;border-color:transparent!important}.btn-secondary{background:rgba(0,203,255,.07)!important;color:#BDEBFF!important;border:1px solid rgba(0,203,255,.24)!important}.btn{font-family:"Rajdhani",sans-serif;text-transform:uppercase;letter-spacing:.06em;font-weight:800}.alert.success{border-color:rgba(120,255,125,.35);color:#caffd4;background:rgba(120,255,125,.08)}
@media(max-width:980px){.oi-landing-nav{padding:18px;flex-direction:column;gap:18px}.oi-landing{padding:32px 22px}.oi-feature-grid{grid-template-columns:1fr}.oi-logo-line img{max-width:210px}}

/* Alpha 0.6.0 - Orion status tooltip and system notifications */
.status-effect{position:relative}.status-effect::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,8px);opacity:0;pointer-events:none;white-space:nowrap;padding:8px 11px;border:1px solid rgba(0,203,255,.32);border-radius:10px;background:linear-gradient(180deg,rgba(17,26,38,.96),rgba(5,8,13,.94));color:#E6EDF3;font:700 12px "Exo 2",sans-serif;box-shadow:0 0 24px rgba(0,203,255,.18);transition:.16s ease;z-index:999999}.status-effect:hover::after{opacity:1;transform:translate(-50%,0)}
.system-notifications{position:fixed;left:18px;bottom:22px;z-index:3200;display:flex;flex-direction:column;gap:8px;pointer-events:none}.system-notification{min-width:280px;max-width:410px;padding:10px 14px;border-radius:12px;border:1px solid rgba(0,203,255,.28);background:linear-gradient(180deg,rgba(17,26,38,.92),rgba(5,8,13,.86));box-shadow:0 0 26px rgba(0,203,255,.16);color:#E6EDF3;font:700 13px "Exo 2",sans-serif;letter-spacing:.02em;animation:orionNoticeIn .24s ease-out both}.system-notification.hide{animation:orionNoticeOut .28s ease-in both}.system-notification strong{display:block;color:#00CBFF;font-family:"Rajdhani",sans-serif;letter-spacing:.1em;text-transform:uppercase;font-size:12px;margin-bottom:3px}@keyframes orionNoticeIn{from{opacity:0;transform:translateX(-18px) scale(.96)}to{opacity:1;transform:none}}@keyframes orionNoticeOut{to{opacity:0;transform:translateX(-12px) scale(.96)}}

.object-list-panel{right:18px!important;top:365px!important;bottom:auto!important;}

/* Alpha 0.6.0 - immersive phase transit */
.phase-vortex{animation-duration:3.7s!important}.phase-vortex span,.phase-vortex i{animation-duration:2.7s!important}#phaseJumpOverlay p{font-size:18px!important;letter-spacing:.18em}.target-cancel-button{align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1!important}.target-actions{display:flex;align-items:center;gap:8px}

/* Alpha 0.6.0 - notifications, level OK, map fixes */
.system-notifications{
  left:auto!important;
  right:18px!important;
  bottom:22px!important;
  align-items:flex-end!important;
}
.system-notification{
  transform-origin:right bottom!important;
}
@keyframes orionNoticeIn{
  from{opacity:0;transform:translateX(18px) scale(.96)}
  to{opacity:1;transform:none}
}
@keyframes orionNoticeOut{
  to{opacity:0;transform:translateX(12px) scale(.96)}
}
.level-up-overlay .level-card button,
.level-up-overlay .level-card button.level-ok-instant{
  opacity:1!important;
  animation:none!important;
  transform:none!important;
  visibility:visible!important;
}


/* Alpha 0.6.0 - icônes verrouillage / POI / plein écran */
.target-lock-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.target-lock-button img{
  width:22px;
  height:22px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 8px rgba(255,77,77,.45));
}
.object-row.poi .object-icon-img{
  width:22px!important;
  height:22px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 0 6px rgba(0,203,255,.55));
}
.object-row.poi.phase .object-icon-img,
.object-row.poi .object-icon-img[src$="icon_poi_phasegate.png"]{
  filter:drop-shadow(0 0 7px rgba(0,145,255,.72));
}
.space-menu-actions #fullscreenButton{
  border-color:rgba(132,113,145,.72);
  background:rgba(132,113,145,.16);
  color:#e6e1ff;
}

/* Alpha 0.6.0 - journal des notifications système */
.notification-feed-button{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:3600;
  width:52px;
  height:52px;
  border:1px solid rgba(0,203,255,.28);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(17,26,38,.88),rgba(5,9,15,.94));
  box-shadow:0 0 24px rgba(0,203,255,.14), inset 0 0 18px rgba(0,203,255,.04);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.notification-feed-button:hover{border-color:rgba(0,203,255,.62);box-shadow:0 0 30px rgba(0,203,255,.24)}
.notification-feed-button img{width:27px;height:27px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(255,255,255,.18))}
.notification-feed-badge{position:absolute;right:-6px;top:-7px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#FF4D4D;color:white;font:800 11px "Rajdhani",sans-serif;display:none;align-items:center;justify-content:center;box-shadow:0 0 14px rgba(255,77,77,.6)}
.notification-feed-badge.active{display:flex}
.notification-feed-modal{position:fixed;inset:0;z-index:3700;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.42);backdrop-filter:blur(3px)}
.notification-feed-modal.active{display:flex}
.notification-feed-box{width:min(520px,calc(100vw - 34px));max-height:min(620px,calc(100vh - 80px));display:flex;flex-direction:column;border:1px solid rgba(0,203,255,.28);border-radius:16px;background:linear-gradient(180deg,rgba(17,26,38,.96),rgba(5,8,13,.96));box-shadow:0 28px 80px rgba(0,0,0,.55),0 0 38px rgba(0,203,255,.14);padding:18px}
.notification-feed-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(0,203,255,.15);padding-bottom:12px;margin-bottom:12px}
.notification-feed-head h2{margin:0;color:#fff;font:800 27px "Rajdhani",sans-serif;letter-spacing:.08em;text-transform:uppercase}.notification-feed-head .eyebrow{margin:0 0 4px;color:#00CBFF;font:800 11px "Rajdhani",sans-serif;letter-spacing:.2em;text-transform:uppercase}
.notification-feed-head button,.notification-feed-actions button{border:1px solid rgba(0,203,255,.24);background:rgba(0,203,255,.07);color:#BDEBFF;border-radius:10px;padding:9px 13px;font:800 12px "Rajdhani",sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.notification-feed-list{overflow:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px;min-height:180px}.notification-feed-list::-webkit-scrollbar{width:8px}.notification-feed-list::-webkit-scrollbar-track{background:rgba(0,203,255,.05);border-radius:8px}.notification-feed-list::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,203,255,.55),rgba(151,173,209,.35));border-radius:8px;border:1px solid rgba(0,203,255,.22)}
.notification-feed-row{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:10px;border:1px solid rgba(0,203,255,.12);border-radius:12px;background:rgba(11,16,24,.62)}.notification-feed-row small{color:#fff;font:800 12px "Rajdhani",sans-serif}.notification-feed-row strong{display:block;color:#00CBFF;font:800 13px "Rajdhani",sans-serif;letter-spacing:.12em;text-transform:uppercase}.notification-feed-row span{display:block;color:rgba(230,237,243,.78);font:600 12px "Exo 2",sans-serif;margin-top:3px}.notification-feed-empty{margin:auto;color:rgba(230,237,243,.58);text-align:center}.notification-feed-actions{display:flex;justify-content:flex-end;border-top:1px solid rgba(0,203,255,.15);margin-top:12px;padding-top:12px}


/* ALPHA 0.3.35 - Mise à jour live */
.update-overlay{position:fixed;inset:0;z-index:95000;display:none;align-items:center;justify-content:center;background:rgba(3,6,12,.76);backdrop-filter:blur(10px)}
.update-overlay.active{display:flex}.update-card{min-width:min(640px,calc(100vw - 40px));padding:34px 42px;text-align:center;border:1px solid rgba(0,203,255,.34);background:linear-gradient(135deg,rgba(11,16,24,.96),rgba(17,26,38,.90));box-shadow:0 0 80px rgba(0,203,255,.18),inset 0 0 42px rgba(0,203,255,.04);border-radius:18px;animation:updateZoom .45s ease-out both}.update-card h1{margin:4px 0 10px;font-family:'Rajdhani',sans-serif;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.9;text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(90deg,#e7c4ff,#9eeeff);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 32px rgba(0,203,255,.18)}.update-card p{color:rgba(230,237,243,.76)}.update-card strong{display:block;margin:18px auto 24px;color:#BDEBFF;font-family:'Rajdhani',sans-serif;letter-spacing:.12em;text-transform:uppercase}.update-card button{min-width:180px;padding:12px 18px;border:1px solid rgba(0,203,255,.45);border-radius:10px;background:rgba(0,203,255,.14);color:#E6EDF3;font-family:'Rajdhani',sans-serif;font-weight:800;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.update-card button:hover{background:rgba(0,203,255,.24);box-shadow:0 0 28px rgba(0,203,255,.22)}@keyframes updateZoom{from{opacity:0;transform:scale(.86) translateY(18px)}to{opacity:1;transform:scale(1) translateY(0)}}

/* ALPHA 0.3.35 - Admin */
.admin-body{min-height:100vh;margin:0;font-family:'Exo 2',sans-serif;color:#E6EDF3;background:radial-gradient(circle at 10% 12%,rgba(0,203,255,.12),transparent 30%),radial-gradient(circle at 90% 10%,rgba(255,138,0,.06),transparent 28%),#0B1018}.admin-shell{max-width:1400px;margin:0 auto;padding:42px 24px 70px}.admin-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.admin-hero h1{font-family:'Rajdhani',sans-serif;font-size:clamp(2.4rem,5vw,4.8rem);margin:0;color:white;letter-spacing:.06em;text-transform:uppercase}.admin-hero p{color:rgba(230,237,243,.7);max-width:760px}.admin-card{background:rgba(17,26,38,.84);border:1px solid rgba(0,203,255,.22);border-radius:18px;padding:22px;box-shadow:0 20px 70px rgba(0,0,0,.36),inset 0 0 40px rgba(0,203,255,.035);backdrop-filter:blur(16px)}.admin-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-bottom:16px}.admin-toolbar form{display:flex;gap:10px;flex-wrap:wrap}.admin-toolbar input,.admin-toolbar select{background:rgba(5,12,20,.86);border:1px solid rgba(0,203,255,.22);border-radius:10px;padding:10px 12px;color:#E6EDF3}.admin-btn{border:1px solid rgba(0,203,255,.35);background:rgba(0,203,255,.10);color:#BDEBFF;border-radius:10px;padding:10px 14px;font-family:'Rajdhani',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.admin-btn.danger{border-color:rgba(255,77,77,.45);color:#ffb1b1;background:rgba(255,77,77,.08)}.admin-btn.warn{border-color:rgba(255,138,0,.45);color:#ffd6a3;background:rgba(255,138,0,.08)}.admin-table-wrap{overflow:auto;border-radius:14px;border:1px solid rgba(0,203,255,.14)}.admin-table{width:100%;border-collapse:collapse;min-width:980px;background:rgba(5,12,20,.56)}.admin-table th,.admin-table td{padding:12px 14px;border-bottom:1px solid rgba(0,203,255,.10);vertical-align:top}.admin-table th{position:sticky;top:0;background:#0b1420;color:#BDEBFF;font-family:'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.admin-table td{font-size:.92rem;color:rgba(230,237,243,.84)}.admin-pill{display:inline-flex;align-items:center;border:1px solid rgba(151,173,209,.55);color:#cddbf6;border-radius:999px;padding:4px 8px;margin:2px;font-size:.78rem}.admin-pill.admin{border-color:rgba(0,203,255,.5);color:#9eeeff}.admin-pill.locked{border-color:rgba(255,77,77,.5);color:#ffb1b1}.admin-inline-form{display:inline-flex;gap:6px;margin:2px}.admin-message{margin-bottom:16px;padding:12px 14px;border-radius:12px;border:1px solid rgba(0,203,255,.24);background:rgba(0,203,255,.08);color:#BDEBFF}.admin-toplink{color:#BDEBFF;border:1px solid rgba(0,203,255,.28);padding:10px 14px;border-radius:999px;text-decoration:none}.admin-empty{padding:28px;text-align:center;color:rgba(230,237,243,.62)}

.admin-manage-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px;align-items:end}.admin-manage-grid label,.admin-character-card label{display:grid;gap:6px;color:#BDEBFF;font-size:.86rem}.admin-manage-grid .wide{grid-column:1/-1}.admin-manage-grid input,.admin-manage-grid textarea,.admin-character-card input{width:100%;background:rgba(5,12,20,.86);border:1px solid rgba(0,203,255,.22);border-radius:10px;color:#E6EDF3;padding:10px 12px;font-family:'Exo 2',sans-serif}.admin-character-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.admin-character-card{background:rgba(5,12,20,.55);border:1px solid rgba(0,203,255,.16);border-radius:16px;padding:18px;display:grid;gap:10px}.admin-character-card h3{margin:0;color:white;font-family:'Rajdhani',sans-serif;font-size:1.55rem}.admin-character-card p{margin:0 0 6px}.account-suspended-overlay{position:fixed;inset:0;z-index:120000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.76);backdrop-filter:blur(12px)}.account-suspended-overlay.active{display:flex}.account-suspended-card{width:min(560px,calc(100vw - 40px));text-align:center;background:linear-gradient(180deg,rgba(32,12,18,.96),rgba(8,12,18,.96));border:1px solid rgba(255,77,77,.46);box-shadow:0 0 70px rgba(255,77,77,.18);border-radius:18px;padding:34px}.account-suspended-card h1{font-family:'Rajdhani',sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#ffb1b1;margin:0 0 12px}.account-suspended-card p{color:#E6EDF3}.account-suspended-card .logout-progress{margin-top:22px}


/* Alpha 0.6.0 - tracker dynamique et audio FX */
.object-list-panel{
  right:18px!important;
  bottom:82px!important;
  max-height:none!important;
  min-height:220px!important;
}
.object-list-panel .object-list-body{
  max-height:none!important;
  overflow:auto!important;
}
@media (min-width:901px){
  .object-list-panel{height:auto!important;}
}

/* ALPHA 0.3.39 - target lore + ship variants */
.target-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.target-panel-head .eyebrow{margin:0}
.target-lore-button{width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,203,255,.42);background:rgba(0,203,255,.08);color:#BDEBFF;font:900 15px 'Rajdhani',sans-serif;display:none;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 16px rgba(0,203,255,.12)}
.target-lore-button:hover{border-color:rgba(0,203,255,.8);color:#fff;background:rgba(0,203,255,.16)}
.target-lore-modal{position:fixed;inset:0;z-index:6200;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.38);backdrop-filter:blur(4px)}
.target-lore-modal.active{display:flex}
.target-lore-box{position:relative;width:min(620px,calc(100vw - 44px));max-height:min(720px,calc(100vh - 80px));overflow:auto;padding:26px 28px;border-radius:18px;border:1px solid rgba(0,203,255,.28);background:linear-gradient(180deg,rgba(17,26,38,.97),rgba(5,8,14,.97));box-shadow:0 34px 90px rgba(0,0,0,.58),0 0 42px rgba(0,203,255,.16)}
.target-lore-box::-webkit-scrollbar{width:8px}.target-lore-box::-webkit-scrollbar-track{background:rgba(0,203,255,.06);border-radius:8px}.target-lore-box::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(0,203,255,.55),rgba(151,173,209,.35));border-radius:8px;border:1px solid rgba(0,203,255,.22)}
.target-lore-close{position:absolute;right:16px;top:16px;border:1px solid rgba(0,203,255,.25);background:rgba(0,203,255,.07);color:#BDEBFF;border-radius:10px;padding:8px 12px;font:800 12px 'Rajdhani',sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.target-lore-box h2{margin:0 0 18px;color:#fff;font:900 34px 'Rajdhani',sans-serif;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 20px rgba(0,203,255,.18)}
.target-lore-body{display:grid;gap:14px;color:rgba(230,237,243,.78);font-size:14px;line-height:1.55}
.target-lore-body strong{color:#BDEBFF}.target-lore-logo{display:block;max-width:220px;max-height:160px;object-fit:contain;margin:0 auto 12px;filter:drop-shadow(0 0 24px rgba(0,203,255,.22))}
.object-row .object-icon-img{object-fit:contain!important}
.object-row.aegis .object-icon-img,.object-row.enemy .object-icon-img{width:25px!important;height:25px!important;filter:drop-shadow(0 0 8px rgba(0,203,255,.25))}
.object-row.enemy .object-icon-img{filter:drop-shadow(0 0 8px rgba(255,77,77,.35))}


/* Alpha 0.6.0 - Update overlay non fermable + trainées AEGIS */
.update-overlay.active { pointer-events: auto; }
.update-card .update-hard-refresh {
    margin: 18px 0 0;
    padding: 12px 14px;
    border: 1px solid rgba(0,203,255,.32);
    background: rgba(0,203,255,.075);
    color: #E6EDF3;
    font-family: 'Rajdhani', sans-serif;
    font-size: 18px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.update-card .update-hard-refresh b { color: #26E0FF; }
.update-card #updateOk { display: none !important; }

/* Alpha 0.6.0 - Orbite, menu latéral, cargaison et scanner */
.target-actions{align-items:center;}
.target-lock-button.orbit-button{display:none;}
.target-lock-button img{width:22px;height:22px;object-fit:contain;pointer-events:none;}
.eve-side-menu{
    position:fixed;left:10px;top:50%;transform:translateY(-50%);z-index:40;width:42px;
    display:flex;flex-direction:column;gap:6px;padding:6px 5px;border:1px solid rgba(151,173,209,.22);
    background:linear-gradient(180deg,rgba(12,18,26,.72),rgba(3,7,12,.46));box-shadow:0 0 28px rgba(0,203,255,.08);backdrop-filter:blur(10px);
    pointer-events:auto;border-radius:4px;
}
.eve-side-menu button{width:30px;height:30px;border:1px solid rgba(151,173,209,.24);border-radius:2px;background:rgba(230,237,243,.055);display:grid;place-items:center;cursor:pointer;transition:.14s ease;padding:0;}
.eve-side-menu button:hover{border-color:rgba(0,203,255,.68);background:rgba(0,203,255,.14);box-shadow:0 0 14px rgba(0,203,255,.18);}
.eve-side-menu img{width:20px;height:20px;object-fit:contain;filter:drop-shadow(0 0 5px rgba(189,235,255,.22));}
.orion-panel-modal{position:fixed;inset:0;z-index:160;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.52);backdrop-filter:blur(7px);pointer-events:auto;}
.orion-panel-modal.active{display:flex;}
.orion-panel-box{position:relative;width:min(620px,calc(100vw - 44px));max-height:min(740px,calc(100vh - 44px));overflow:auto;border:1px solid rgba(0,203,255,.32);border-radius:18px;background:linear-gradient(180deg,rgba(8,18,31,.97),rgba(3,7,13,.96));box-shadow:0 0 70px rgba(0,203,255,.20);padding:24px;}
.orion-panel-box h2{margin:0 0 16px;font-family:'Rajdhani',sans-serif;font-size:34px;letter-spacing:.12em;text-transform:uppercase;color:#E6EDF3;}
.inventory-capacity{height:10px;border:1px solid rgba(151,173,209,.38);background:rgba(3,7,12,.70);margin:10px 0 18px;overflow:hidden;border-radius:0;}
.inventory-capacity i{display:block;height:100%;background:linear-gradient(90deg,rgba(0,203,255,.82),rgba(189,235,255,.42));}
.inventory-row,.fitting-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(0,203,255,.10);}
.inventory-row strong,.fitting-row strong{font-family:'Rajdhani',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#E6EDF3;}
.inventory-row span,.fitting-row span{color:#97add1;font-weight:800;}
.fitting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;}
.fitting-slot{min-height:58px;border:1px solid rgba(151,173,209,.20);background:rgba(151,173,209,.045);border-radius:10px;padding:10px;}
.fitting-slot.locked{opacity:.48;filter:saturate(.7);}
.fitting-slot small{display:block;color:#7E93A8;margin-top:4px;}
.orbit-submenu{position:fixed;z-index:130;display:none;min-width:150px;padding:7px;border:1px solid rgba(0,203,255,.32);border-radius:12px;background:linear-gradient(180deg,rgba(8,16,27,.98),rgba(2,5,10,.96));box-shadow:0 0 34px rgba(0,203,255,.18);backdrop-filter:blur(12px);}
.orbit-submenu.open{display:grid;gap:4px;}
.orbit-submenu button{height:28px;border:1px solid rgba(0,203,255,.14);background:rgba(0,203,255,.055);color:#E6EDF3;text-align:left;padding:0 10px;border-radius:8px;font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;}
.orbit-submenu button:hover{border-color:rgba(0,203,255,.5);background:rgba(0,203,255,.14);color:#26E0FF;}
.asteroid-map{margin-top:10px;border:1px solid rgba(0,203,255,.18);background:rgba(3,7,12,.52);height:160px;position:relative;overflow:hidden;border-radius:10px;}
.asteroid-map i{position:absolute;width:7px;height:7px;border-radius:50%;background:#97add1;box-shadow:0 0 8px rgba(151,173,209,.5);}
.asteroid-map i.rare{background:#26E0FF;box-shadow:0 0 10px rgba(38,224,255,.75);}
.asteroid-map i.pure{background:#FF8A00;box-shadow:0 0 10px rgba(255,138,0,.7);}

/* Alpha 0.6.0 - UI inventory/fitting EVE-like, menu labels, mining belts */
.eve-side-menu{width:42px!important;padding:7px 5px!important;gap:7px!important;}
.eve-side-menu button{width:36px!important;height:36px!important;position:relative;}
.eve-side-menu img{width:24px!important;height:24px!important;}
.eve-side-menu button::after{content:attr(data-label);position:absolute;left:44px;top:50%;transform:translateY(-50%) translateX(-6px);opacity:0;pointer-events:none;white-space:nowrap;padding:6px 9px;border:1px solid rgba(0,203,255,.34);background:rgba(3,7,12,.94);color:#BDEBFF;border-radius:7px;font:900 11px Rajdhani,sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 0 18px rgba(0,203,255,.16);transition:.14s ease;}
.eve-side-menu button:hover::after{opacity:1;transform:translateY(-50%) translateX(0);}
.orion-panel-box{max-width:min(1100px,calc(100vw - 70px))!important;}
.eve-inventory-layout{display:grid;grid-template-columns:220px 1fr;min-height:520px;border:1px solid rgba(151,173,209,.18);background:rgba(0,0,0,.22);}
.inventory-tree{border-right:1px solid rgba(151,173,209,.18);background:rgba(255,255,255,.035);display:flex;flex-direction:column;padding:8px;gap:4px;}
.inventory-tree strong{font:900 13px Rajdhani,sans-serif;color:#E6EDF3;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.inventory-tree span{padding:8px 9px;border:1px solid transparent;color:#97add1;font:800 12px Exo 2,sans-serif;}
.inventory-tree span.active{background:rgba(151,173,209,.12);border-color:rgba(151,173,209,.25);color:#fff;}
.inventory-grid-wrap{padding:10px;overflow:auto;}
.inventory-top{height:28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(151,173,209,.16);color:#97add1;font:900 12px Rajdhani,sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.inventory-grid-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-top:12px;}
.inventory-item{height:92px;border:1px solid rgba(151,173,209,.16);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(0,0,0,.18));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:6px;position:relative;}
.inventory-item-icon{font-size:22px;color:#BDEBFF;filter:drop-shadow(0 0 8px rgba(0,203,255,.28));}
.inventory-item strong{font:800 10px Exo 2,sans-serif;color:#E6EDF3;line-height:1.1;margin-top:4px;}
.inventory-item small{position:absolute;right:4px;bottom:3px;color:#fff;font:900 11px Rajdhani,sans-serif;}
.inventory-empty{grid-column:1/-1;min-height:140px;display:grid;place-items:center;color:#7E93A8;border:1px dashed rgba(151,173,209,.22);font:900 14px Rajdhani,sans-serif;text-transform:uppercase;letter-spacing:.12em;}
.eve-fitting-layout{display:grid;grid-template-columns:1fr 280px;gap:18px;align-items:stretch;min-height:540px;}
.fitting-ring{position:relative;border:1px solid rgba(0,203,255,.16);border-radius:50%;min-height:520px;background:radial-gradient(circle at 50% 50%,rgba(0,203,255,.16),rgba(3,7,12,.18) 45%,rgba(0,0,0,.30) 70%);box-shadow:inset 0 0 48px rgba(0,203,255,.08);display:grid;place-items:center;overflow:hidden;}
.fitting-ring::before{content:'';position:absolute;inset:32px;border:1px solid rgba(151,173,209,.18);border-radius:50%;box-shadow:0 0 28px rgba(0,203,255,.08), inset 0 0 40px rgba(0,203,255,.04);}
.fitting-ship-core{text-align:center;z-index:2;}
.fitting-ship-core img{width:230px;max-height:260px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(0,203,255,.30));}
.fitting-ship-core strong{display:block;font:900 24px Rajdhani,sans-serif;color:#fff;letter-spacing:.12em;}
.fitting-ship-core span{color:#97add1;font-weight:800;}
.fit-slot{position:absolute;width:120px;height:58px;border:1px solid rgba(151,173,209,.30);background:rgba(3,7,12,.72);color:#E6EDF3;border-radius:10px;font:900 13px Rajdhani,sans-serif;letter-spacing:.08em;text-transform:uppercase;}
.fit-slot small{color:#97add1;font-size:10px;}.fit-slot.locked{opacity:.45;filter:saturate(.65)}.fit-slot.top{top:26px;left:50%;transform:translateX(-50%)}.fit-slot.right{right:28px;top:50%;transform:translateY(-50%)}.fit-slot.bottom{bottom:26px;left:50%;transform:translateX(-50%)}.fit-slot.left{left:28px;top:50%;transform:translateY(-50%)}
.fitting-stats{border:1px solid rgba(151,173,209,.18);background:rgba(3,7,12,.42);padding:12px;display:flex;flex-direction:column;gap:8px;}
.fitting-stats div{border-bottom:1px solid rgba(0,203,255,.12);padding:8px 0;}.fitting-stats strong{display:block;font:900 13px Rajdhani,sans-serif;color:#BDEBFF;letter-spacing:.12em;text-transform:uppercase}.fitting-stats span{color:#E6EDF3;font-weight:800;font-size:12px;}
@media(max-width:900px){.eve-inventory-layout,.eve-fitting-layout{grid-template-columns:1fr}.inventory-tree{display:none}.fitting-ring{min-height:420px}.fitting-stats{min-height:0}}



/* Alpha 0.6.0 - Station docked mode */
.station-body{
    min-height:100vh;
    background:
        radial-gradient(circle at 65% 25%, rgba(0,203,255,.16), transparent 34%),
        radial-gradient(circle at 20% 80%, rgba(132,113,145,.12), transparent 30%),
        #05080d;
    color:var(--text);
    overflow:hidden;
}
.station-shell{
    display:grid;
    grid-template-columns:260px 1fr;
    min-height:100vh;
}
.station-sidebar{
    padding:24px 16px;
    border-right:1px solid rgba(0,203,255,.22);
    background:linear-gradient(180deg,rgba(8,16,27,.94),rgba(3,7,12,.96));
    box-shadow:18px 0 44px rgba(0,0,0,.38);
}
.station-logo{height:74px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.station-logo img{max-width:210px;max-height:64px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(0,203,255,.28))}
.station-nav,.station-undock{
    width:100%;
    height:42px;
    display:flex;
    align-items:center;
    gap:12px;
    margin:7px 0;
    padding:0 13px;
    border:1px solid rgba(0,203,255,.18);
    border-radius:12px;
    background:rgba(0,203,255,.045);
    color:#BDEBFF;
    font-family:'Rajdhani',sans-serif;
    font-weight:900;
    letter-spacing:.09em;
    text-transform:uppercase;
    cursor:pointer;
}
.station-nav span{width:22px;text-align:center;color:#26E0FF}
.station-nav.active{background:rgba(0,203,255,.16);border-color:rgba(0,203,255,.55);color:#fff;box-shadow:0 0 18px rgba(0,203,255,.14)}
.station-nav.disabled{opacity:.38;cursor:not-allowed}
.station-undock{justify-content:center;margin-top:28px;border-color:rgba(255,77,77,.5);background:rgba(255,77,77,.10);color:#ffd6d6;text-decoration:none}
.station-main{padding:26px 30px 34px;overflow:auto}
.station-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.station-header h1{
    margin:0;
    font-family:'Rajdhani',sans-serif;
    font-size:54px;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.station-header p{color:rgba(230,237,243,.72);max-width:760px}
.station-pilot-card{
    min-width:240px;
    padding:16px;
    border:1px solid rgba(0,203,255,.22);
    border-radius:16px;
    background:rgba(17,26,38,.58);
}
.station-pilot-card small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.station-pilot-card strong{display:block;font-family:'Rajdhani',sans-serif;font-size:26px;color:#fff}
.station-pilot-card span{color:#BDEBFF;font-size:13px}
.station-hangar{
    display:grid;
    grid-template-columns:1fr 330px;
    gap:18px;
    margin-bottom:18px;
}
.station-window{
    position:relative;
    min-height:310px;
    border:1px solid rgba(0,203,255,.22);
    border-radius:22px;
    overflow:hidden;
    background:
        linear-gradient(180deg,rgba(10,22,36,.78),rgba(2,5,10,.92)),
        repeating-linear-gradient(90deg,rgba(0,203,255,.05) 0 1px,transparent 1px 48px);
    display:grid;
    place-items:center;
    box-shadow:inset 0 0 90px rgba(0,203,255,.05);
}
.station-window::before{
    content:'';
    position:absolute;
    inset:18px;
    border:1px solid rgba(189,235,255,.08);
    border-radius:18px;
}
.station-window img{
    width:260px;
    max-height:210px;
    object-fit:contain;
    filter:drop-shadow(0 0 30px rgba(0,203,255,.38));
    z-index:2;
}
.station-ship-orbit{
    position:absolute;
    width:460px;height:160px;
    border:1px solid rgba(0,203,255,.20);
    border-radius:50%;
    transform:rotate(-8deg);
}
.station-dock-light{
    position:absolute;
    inset:auto 14% 26px;
    height:3px;
    background:linear-gradient(90deg,transparent,#00CBFF,transparent);
    box-shadow:0 0 24px rgba(0,203,255,.55);
}
.station-status-grid{display:grid;gap:12px}
.station-status-grid div{
    padding:18px;
    border:1px solid rgba(0,203,255,.18);
    border-radius:16px;
    background:rgba(17,26,38,.58);
}
.station-status-grid small{display:block;color:var(--muted);letter-spacing:.14em;text-transform:uppercase}
.station-status-grid strong{font-family:'Rajdhani',sans-serif;font-size:28px;color:#fff}
.station-panel{
    display:none;
    border:1px solid rgba(0,203,255,.20);
    border-radius:22px;
    background:linear-gradient(180deg,rgba(17,26,38,.72),rgba(3,7,12,.62));
    padding:22px;
}
.station-panel.active{display:block}
.station-panel h2{
    margin:0 0 12px;
    font-family:'Rajdhani',sans-serif;
    font-size:34px;
    letter-spacing:.10em;
    text-transform:uppercase;
}
.station-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.station-cards article{
    padding:16px;
    border:1px solid rgba(151,173,209,.22);
    border-radius:14px;
    background:rgba(5,10,17,.48);
}
.station-cards h3{margin:0 0 8px;font-family:'Rajdhani',sans-serif;font-size:23px;text-transform:uppercase}
.station-cards p{color:rgba(230,237,243,.70);line-height:1.45}
.station-cards button{height:34px;border:1px solid rgba(0,203,255,.22);background:rgba(0,203,255,.06);color:#BDEBFF;border-radius:9px}
.station-inventory-layout{display:grid;grid-template-columns:230px 1fr;gap:16px}
.station-tree{display:grid;gap:8px}
.station-tree button{
    height:38px;
    border:1px solid rgba(0,203,255,.18);
    background:rgba(0,203,255,.045);
    color:#BDEBFF;
    border-radius:10px;
    text-align:left;
    padding:0 12px;
    font-family:'Rajdhani',sans-serif;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.station-tree button.active{border-color:rgba(0,203,255,.55);background:rgba(0,203,255,.13)}
.station-inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px}
.inventory-slot{
    min-height:92px;
    border:1px solid rgba(151,173,209,.20);
    border-radius:12px;
    background:rgba(3,7,12,.42);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:rgba(230,237,243,.42);
}
.inventory-slot.filled{color:#E6EDF3;border-color:rgba(0,203,255,.28);box-shadow:inset 0 0 18px rgba(0,203,255,.05)}
.inventory-slot strong{font-family:'Rajdhani',sans-serif;font-size:18px;text-transform:uppercase}
.inventory-slot span{font-size:12px;color:#97add1}
.station-fitting{
    position:relative;
    min-height:380px;
    display:grid;
    place-items:center;
}
.fitting-ship{
    width:230px;height:230px;
    border:1px solid rgba(0,203,255,.24);
    border-radius:50%;
    display:grid;
    place-items:center;
    background:radial-gradient(circle,rgba(0,203,255,.12),rgba(3,7,12,.64));
}
.fitting-ship img{width:150px;object-fit:contain;filter:drop-shadow(0 0 24px rgba(0,203,255,.35))}
.fitting-ship strong{position:absolute;bottom:72px;font-family:'Rajdhani',sans-serif;letter-spacing:.1em}
.fitting-slot{
    position:absolute;
    min-width:170px;
    height:46px;
    border:1px solid rgba(151,173,209,.32);
    border-radius:12px;
    background:rgba(151,173,209,.07);
    display:grid;
    place-items:center;
    font-family:'Rajdhani',sans-serif;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#E6EDF3;
}
.fitting-slot.top{top:18px}.fitting-slot.bottom{bottom:18px}.fitting-slot.left{left:10%}.fitting-slot.right{right:10%}
@media(max-width:1050px){
    .station-shell{grid-template-columns:1fr}
    .station-sidebar{position:relative;display:flex;flex-wrap:wrap;gap:8px}.station-logo{width:100%}
    .station-nav,.station-undock{width:auto}
    .station-hangar,.station-cards,.station-inventory-layout{grid-template-columns:1fr}
    .station-body{overflow:auto}
}


/* Alpha 0.6.0 - FIX FINAL tracker selected row */
#objectListPanel .object-row.selected,
.object-list-panel .object-row.selected,
#objectListBody .object-row.selected,
.object-list-body .object-row.selected {
    background: linear-gradient(90deg, rgba(0,203,255,.58), rgba(0,203,255,.20)) !important;
    border: 1px solid rgba(38,224,255,1) !important;
    box-shadow:
        inset 0 0 0 1px rgba(189,235,255,.42),
        0 0 18px rgba(0,203,255,.34) !important;
    color: #FFFFFF !important;
}

#objectListPanel .object-row.selected .name,
.object-list-panel .object-row.selected .name,
#objectListBody .object-row.selected .name,
.object-list-body .object-row.selected .name {
    color: #FFFFFF !important;
    text-shadow: 0 0 8px rgba(0,203,255,.62) !important;
}

#objectListPanel .object-row.selected .distance,
#objectListPanel .object-row.selected .type,
.object-list-panel .object-row.selected .distance,
.object-list-panel .object-row.selected .type,
#objectListBody .object-row.selected .distance,
#objectListBody .object-row.selected .type,
.object-list-body .object-row.selected .distance,
.object-list-body .object-row.selected .type {
    color: #DDF8FF !important;
}

#objectListPanel .object-row.selected .object-icon,
.object-list-panel .object-row.selected .object-icon,
#objectListBody .object-row.selected .object-icon,
.object-list-body .object-row.selected .object-icon {
    border-color: rgba(38,224,255,1) !important;
    background: rgba(0,203,255,.24) !important;
    box-shadow: 0 0 12px rgba(0,203,255,.42) !important;
}
