/*
 * Rocket Sky: Next Horizon - Sleek Aerospace Arcade UI
 */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@600;800;900&family=Rajdhani:wght@600;700&family=Inter:wght@400;600;700&display=swap');

:root {
    --bg-dark: #06080c;
    --primary-cyan: #6ec8e8;
    --primary-glow: rgba(110, 200, 232, 0.15);
    --accent-orange: #e87830;
    --accent-gold: #c9a84a;
    --accent-green: #4caf82;
    --danger-red: #d94a3a;
    
    --glass-bg: rgba(8, 12, 18, 0.82);
    --glass-border: rgba(255, 255, 255, 0.08);
    
    --font-heading: 'Orbitron', 'Segoe UI', system-ui, sans-serif;
    --font-sub: 'Rajdhani', 'Segoe UI', sans-serif;
    --font-body: 'Inter', 'Segoe UI', sans-serif;
    --font-mono: 'Consolas', 'JetBrains Mono', monospace;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
}

body, html {
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg-dark);
    font-family: var(--font-body);
    color: #ffffff;
}

#app-container {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
}

#webgl-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

/* Universal Top Header HUD */
#top-header {
    position: absolute;
    top: 14px;
    left: 0;
    width: 100%;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    pointer-events: none;
}

#top-header.in-flight .header-center-title {
    display: none !important;
}

.header-left-tools {
    display: flex;
    gap: 12px;
    pointer-events: auto;
}

.tool-btn {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 20px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
    transition: transform 0.2s ease;
}

.tool-btn:hover { transform: scale(1.1); }

.header-center-title {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.header-best-label {
    font-family: var(--font-sub);
    font-size: 12px;
    font-weight: 700;
    color: #a4b0be;
    letter-spacing: 1px;
}

.header-best-val {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
    text-shadow: 0 0 12px var(--primary-glow);
}

.header-right-stats {
    display: flex;
    align-items: center;
    pointer-events: auto;
}

.stat-chip {
    background: var(--glass-bg);
    border: 1px solid rgba(255, 215, 0, 0.4);
    backdrop-filter: blur(12px);
    padding: 6px 16px;
    border-radius: 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-sub);
    font-size: 18px;
    font-weight: 700;
    color: var(--accent-gold);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
}

/* Launchpad Menu Overlay */
#launchpad-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 65px 24px 40px;
    pointer-events: none;
}

.altitude-target-tag {
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    color: #a4b0be;
    background: rgba(0, 0, 0, 0.55);
    padding: 6px 20px;
    border-radius: 18px;
    border: 1px solid var(--glass-border);
}

.launchpad-status-tag {
    font-family: var(--font-sub);
    font-size: 13px;
    font-weight: 700;
    color: #ffd700;
    margin-top: 6px;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}

/* Non-Disturbing In-Flight Milestone Alert */
.milestone-alert-banner {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.95), rgba(0, 242, 254, 0.95));
    border: 2px solid #ffffff;
    box-shadow: 0 0 30px rgba(46, 204, 113, 0.8);
    border-radius: 20px;
    padding: 8px 24px;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 800;
    color: #04091e;
    z-index: 100;
    pointer-events: none;
    white-space: nowrap;
}

.slide-down-alert {
    animation: slideDownAlert 2.5s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes slideDownAlert {
    0% { transform: translate(-50%, -60px); opacity: 0; }
    15% { transform: translate(-50%, 0); opacity: 1; }
    85% { transform: translate(-50%, 0); opacity: 1; }
    100% { transform: translate(-50%, -60px); opacity: 0; }
}

/* Flashing Red Overheat Warning Banner */
.thermal-alert-banner {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, rgba(231, 76, 60, 0.95), rgba(255, 0, 0, 0.95));
    border: 2px solid #ff4757;
    box-shadow: 0 0 35px rgba(255, 71, 87, 0.9);
    border-radius: 24px;
    padding: 10px 28px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 900;
    color: #ffffff;
    z-index: 100;
    pointer-events: none;
    white-space: nowrap;
    animation: thermalPulse 0.4s infinite alternate ease-in-out;
}

@keyframes thermalPulse {
    0% { transform: translateX(-50%) scale(1.0); box-shadow: 0 0 20px #ff4757; }
    100% { transform: translateX(-50%) scale(1.08); box-shadow: 0 0 45px #ff0000; }
}

/* Floating On-Screen Tap Detach Banner */
.hud-tap-banner {
    position: absolute;
    bottom: 22%;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.95), rgba(46, 204, 113, 0.95));
    border: 2px solid #ffffff;
    box-shadow: 0 0 35px rgba(0, 242, 254, 0.9);
    border-radius: 24px;
    padding: 10px 24px;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 900;
    color: #04091e;
    z-index: 90;
    pointer-events: none;
    white-space: nowrap;
    animation: pulseTapPrompt 0.5s infinite alternate ease-in-out;
}

@keyframes pulseTapPrompt {
    0% { transform: translateX(-50%) scale(1.0); opacity: 0.9; }
    100% { transform: translateX(-50%) scale(1.08); opacity: 1.0; box-shadow: 0 0 45px #00f2fe; }
}

.fuel-pulsing-critical {
    animation: fuelCrit 0.25s infinite alternate ease-in-out;
    box-shadow: 0 0 16px #ff4757 !important;
}

@keyframes fuelCrit {
    0% { opacity: 0.8; filter: brightness(1.0); }
    100% { opacity: 1.0; filter: brightness(1.6); }
}

.menu-action-center {
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.btn-launch-glow {
    padding: 16px 48px;
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    letter-spacing: 1.5px;
    color: #ffffff;
    background: linear-gradient(135deg, #ff6b35 0%, #e67e22 100%);
    border: none;
    border-radius: 36px;
    cursor: pointer;
    box-shadow: 0 0 30px rgba(255, 107, 53, 0.6);
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: pulseLaunch 2s infinite;
}

.btn-launch-glow:hover {
    transform: scale(1.06);
    box-shadow: 0 0 45px rgba(255, 107, 53, 0.85);
}

@keyframes pulseLaunch {
    0% { transform: scale(1); }
    50% { transform: scale(1.04); }
    100% { transform: scale(1); }
}

.player-tag {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    padding: 6px 16px;
    border-radius: 14px;
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 600;
    color: #dfe4ea;
}

/* Side Quick Access Docks */
.dock-left, .dock-right {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    gap: 16px;
    pointer-events: auto;
}

.dock-left { left: 24px; }
.dock-right { right: 24px; }

.dock-card {
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    backdrop-filter: blur(14px);
    padding: 14px 18px;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.dock-card:hover {
    border-color: var(--primary-cyan);
    transform: translateY(-3px) scale(1.05);
    box-shadow: 0 8px 24px var(--primary-glow);
}

.dock-icon { font-size: 32px; }
.dock-label {
    font-family: var(--font-sub);
    font-size: 13px;
    font-weight: 700;
    color: #dfe4ea;
}

/* In-Flight HUD */
#flight-hud {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 6;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 24px 24px;
}

.flight-telemetry {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

.altitude-display {
    font-family: var(--font-heading);
    font-size: 42px;
    font-weight: 900;
    color: #ffffff;
    text-shadow: 0 0 22px var(--primary-glow);
}

.altitude-unit {
    font-size: 22px;
    color: var(--primary-cyan);
    margin-left: 6px;
}

.speed-display {
    font-family: var(--font-sub);
    font-size: 18px;
    font-weight: 700;
    color: #f1c40f;
    background: rgba(0, 0, 0, 0.5);
    padding: 3px 14px;
    border-radius: 12px;
    border: 1px solid rgba(241, 196, 15, 0.3);
}

.stage-badge {
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    color: #ffffff;
    background: rgba(0, 242, 254, 0.2);
    border: 1px solid var(--primary-cyan);
    padding: 3px 14px;
    border-radius: 12px;
    margin-top: 2px;
}

/* Live Planet Expedition Tracker */
.hud-planet-tracker {
    margin-top: 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 280px;
}

.planet-tracker-text {
    font-family: var(--font-sub);
    font-size: 13px;
    font-weight: 700;
    color: #00f2fe;
    text-shadow: 0 0 8px rgba(0, 242, 254, 0.6);
}

.planet-tracker-bar {
    width: 100%;
    height: 8px;
    background: rgba(0, 0, 0, 0.6);
    border: 1px solid rgba(0, 242, 254, 0.4);
    border-radius: 6px;
    overflow: hidden;
}

.planet-tracker-fill {
    height: 100%;
    background: linear-gradient(90deg, #00f2fe, #2ecc71);
    box-shadow: 0 0 8px #00f2fe;
    transition: width 0.1s linear;
}

/* Right-Side Staging Power Bar */
.staging-gauge-container {
    position: absolute;
    right: 28px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    pointer-events: auto;
}

.staging-track {
    position: relative;
    width: 24px;
    height: 260px;
    background: rgba(14, 18, 36, 0.85);
    border: 2px solid rgba(255, 255, 255, 0.25);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.6);
}

.staging-fill {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(to top, #f39c12, #2ecc71);
    transition: height 0.05s linear;
}

.sweet-spot-zone {
    position: absolute;
    left: 0;
    width: 100%;
    background: rgba(0, 242, 254, 0.5);
    border-top: 2px dashed #00f2fe;
    border-bottom: 2px dashed #00f2fe;
    box-shadow: 0 0 14px var(--primary-cyan);
    pointer-events: none;
}

.staging-label {
    font-family: var(--font-sub);
    font-size: 14px;
    font-weight: 700;
    color: #ffffff;
}

.btn-gauge-detach {
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.95), rgba(46, 204, 113, 0.95));
    border: 1px solid #ffffff;
    border-radius: 12px;
    padding: 6px 12px;
    font-family: var(--font-sub);
    font-size: 12px;
    font-weight: 700;
    color: #04091e;
    cursor: pointer;
    box-shadow: 0 0 14px rgba(0, 242, 254, 0.6);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.btn-gauge-detach:hover {
    transform: scale(1.08);
    box-shadow: 0 0 22px rgba(0, 242, 254, 0.9);
}

/* Quality Popup Alert */
.quality-popup {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-heading);
    font-size: 26px;
    font-weight: 900;
    padding: 12px 30px;
    border-radius: 20px;
    backdrop-filter: blur(12px);
    text-align: center;
    pointer-events: none;
    z-index: 100;
}

.quality-popup.quality-perfect {
    color: #ffffff;
    background: rgba(46, 204, 113, 0.9);
    border: 2px solid #2ecc71;
    box-shadow: 0 0 35px #2ecc71;
}

.quality-popup.quality-great {
    color: #ffffff;
    background: rgba(0, 242, 254, 0.9);
    border: 2px solid #00f2fe;
    box-shadow: 0 0 25px #00f2fe;
}

.quality-popup.quality-good {
    color: #ffffff;
    background: rgba(241, 196, 15, 0.9);
    border: 2px solid #f1c40f;
    box-shadow: 0 0 20px #f1c40f;
}

.quality-popup.quality-early {
    color: #ffffff;
    background: rgba(231, 76, 60, 0.9);
    border: 2px solid #e74c3c;
    box-shadow: 0 0 20px #e74c3c;
}

.pop-anim {
    animation: popScale 1.1s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes popScale {
    0% { transform: translate(-50%, -50%) scale(0.4); opacity: 0; }
    20% { transform: translate(-50%, -50%) scale(1.15); opacity: 1; }
    80% { transform: translate(-50%, -50%) scale(1.0); opacity: 1; }
    100% { transform: translate(-50%, -50%) scale(0.8); opacity: 0; }
}

.combo-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: #ffd700;
    text-shadow: 0 0 16px rgba(255, 215, 0, 0.8);
}

/* Skip to Apex / Landing Button */
.hud-skip-wrapper {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    pointer-events: auto;
}

.btn-skip-action {
    background: linear-gradient(135deg, rgba(0, 242, 254, 0.95), rgba(79, 172, 254, 0.95));
    border: 2px solid #ffffff;
    box-shadow: 0 0 30px rgba(0, 242, 254, 0.8);
    border-radius: 28px;
    padding: 12px 32px;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 900;
    color: #04091e;
    cursor: pointer;
    letter-spacing: 1px;
    transition: all 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    animation: pulseSkip 1.8s infinite;
}

.btn-skip-action:hover {
    transform: scale(1.08);
    box-shadow: 0 0 40px rgba(0, 242, 254, 1.0);
}

@keyframes pulseSkip {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
}

/* Modals */
.modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(4, 6, 14, 0.85);
    backdrop-filter: blur(16px);
    z-index: 50;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 24px;
}

.modal-content {
    background: var(--glass-bg);
    border: 1px solid rgba(0, 242, 254, 0.3);
    border-radius: 28px;
    width: 100%;
    max-width: 640px;
    max-height: 88vh;
    display: flex;
    flex-direction: column;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7);
    overflow: hidden;
}

.modal-header {
    padding: 20px 28px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--glass-border);
}

.modal-header h2 {
    font-family: var(--font-heading);
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
}

.btn-close-modal {
    background: none;
    border: none;
    color: #a4b0be;
    font-size: 24px;
    cursor: pointer;
}

.modal-body {
    padding: 24px 28px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.hangar-section-title {
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    color: var(--primary-cyan);
    letter-spacing: 0.8px;
    border-bottom: 1px solid rgba(0, 242, 254, 0.2);
    padding-bottom: 6px;
}

.upgrades-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.upgrade-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: 18px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.upgrade-card:hover {
    border-color: rgba(0, 242, 254, 0.4);
    transform: translateY(-2px);
}

.upgrade-icon { font-size: 32px; }
.upgrade-info { flex: 1; }
.upgrade-header { display: flex; align-items: center; gap: 10px; margin-bottom: 4px; }
.upgrade-header h4 { font-family: var(--font-sub); font-size: 18px; font-weight: 700; }
.level-badge {
    font-family: var(--font-sub);
    font-size: 12px;
    font-weight: 700;
    background: rgba(0, 242, 254, 0.2);
    color: var(--primary-cyan);
    padding: 2px 8px;
    border-radius: 8px;
}
.upgrade-desc { font-size: 13px; color: #a4b0be; }

/* Rocket Custom Skins Grid */
.skins-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.skin-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    gap: 14px;
    transition: all 0.2s ease;
}

.skin-card.selected {
    border-color: var(--accent-gold);
    background: rgba(255, 215, 0, 0.08);
    box-shadow: 0 0 16px rgba(255, 215, 0, 0.3);
}

.skin-info { flex: 1; }
.skin-name-row { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.skin-name-row h4 { font-family: var(--font-sub); font-size: 17px; font-weight: 700; }
.skin-status-tag {
    font-family: var(--font-sub);
    font-size: 11px;
    font-weight: 700;
    color: #ffd700;
    background: rgba(255, 215, 0, 0.15);
    padding: 2px 6px;
    border-radius: 6px;
}
.skin-desc { font-size: 12px; color: #a4b0be; }

.btn-equipped {
    background: rgba(255, 215, 0, 0.2);
    color: #ffd700;
    border: 1px solid #ffd700;
    font-family: var(--font-sub);
    font-size: 14px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 12px;
    cursor: default;
}

/* Buttons */
.btn-primary, .btn-upgrade, .btn-select, .btn-buy, .btn-active, .btn-skin-action {
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    padding: 8px 18px;
    border-radius: 14px;
    border: none;
    cursor: pointer;
}

.btn-primary, .btn-upgrade.btn-primary, .btn-skin-action.btn-primary {
    background: linear-gradient(135deg, #00f2fe 0%, #4facfe 100%);
    color: #04091e;
    box-shadow: 0 4px 14px var(--primary-glow);
}

.btn-disabled {
    background: rgba(255, 255, 255, 0.05);
    color: #57606f;
    cursor: not-allowed;
}

.btn-select {
    background: rgba(255, 255, 255, 0.1);
    color: #ffffff;
    border: 1px solid var(--glass-border);
}

.btn-danger {
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    padding: 10px 18px;
    border-radius: 14px;
    border: 1px solid #ff4757;
    background: rgba(255, 71, 87, 0.2);
    color: #ff4757;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-danger:hover {
    background: rgba(255, 71, 87, 0.4);
    box-shadow: 0 0 16px rgba(255, 71, 87, 0.6);
}

.btn-active {
    background: rgba(46, 204, 113, 0.2);
    color: var(--accent-green);
    border: 1px solid var(--accent-green);
}

/* Debriefing */
.debrief-stats-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-bottom: 10px;
}

.debrief-stat-box {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: 16px;
    padding: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}

.debrief-label { font-family: var(--font-sub); font-size: 13px; color: #a4b0be; }
.debrief-val { font-family: var(--font-heading); font-size: 24px; font-weight: 800; }

/* Mission Advice & Encouragement Box */
.debrief-advice-box {
    background: rgba(0, 242, 254, 0.08);
    border: 1px solid rgba(0, 242, 254, 0.35);
    border-radius: 16px;
    padding: 12px 16px;
    margin: 8px 0 14px;
    text-align: left;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.advice-header {
    font-family: var(--font-sub);
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-cyan);
    margin-bottom: 4px;
    letter-spacing: 0.5px;
}

.advice-content {
    font-size: 13px;
    line-height: 1.45;
    color: #e4e7eb;
}

.advice-content b {
    color: #ffd700;
}

.debrief-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-debrief-primary {
    font-family: var(--font-heading);
    font-size: 17px;
    font-weight: 800;
    padding: 14px;
    border-radius: 16px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, #ff6b35 0%, #f39c12 100%);
    color: #ffffff;
    box-shadow: 0 0 20px rgba(255, 107, 53, 0.5);
    transition: transform 0.2s ease;
}

.btn-debrief-primary:hover {
    transform: scale(1.02);
    box-shadow: 0 0 28px rgba(255, 107, 53, 0.75);
}

.btn-debrief-secondary {
    font-family: var(--font-sub);
    font-size: 16px;
    font-weight: 700;
    padding: 12px;
    border-radius: 16px;
    border: 1px solid var(--glass-border);
    background: rgba(255, 255, 255, 0.06);
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-debrief-secondary:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: var(--primary-cyan);
}

/* Victory Modal */
.victory-content {
    border: 2px solid #ffd700;
    box-shadow: 0 0 50px rgba(255, 215, 0, 0.4);
}

.victory-jackpot-chip {
    background: rgba(255, 215, 0, 0.15);
    border: 1px solid rgba(255, 215, 0, 0.5);
    padding: 10px 24px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-sub);
    font-size: 18px;
    font-weight: 700;
}

@keyframes bounceIcon {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-8px) scale(1.1); }
}

/* Planets */
.planet-cards-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.planet-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid var(--glass-border);
    border-radius: 18px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.2s ease;
}

.planet-card.selected {
    border-color: var(--primary-cyan);
    box-shadow: 0 0 16px var(--primary-glow);
}

.planet-avatar {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    flex-shrink: 0;
}

.planet-details { flex: 1; }
.planet-title-row { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
.planet-title-row h3 { font-family: var(--font-sub); font-size: 18px; font-weight: 700; }
.gravity-tag { font-size: 12px; color: #ff9f43; background: rgba(255, 159, 67, 0.15); padding: 2px 8px; border-radius: 6px; font-weight: 700; }
.planet-desc { font-size: 12px; color: #a4b0be; margin-bottom: 6px; }

/* Success Toast Notification */
.success-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, rgba(46, 204, 113, 0.95), rgba(0, 242, 254, 0.95));
    border: 2px solid #ffffff;
    box-shadow: 0 0 30px rgba(46, 204, 113, 0.9);
    border-radius: 20px;
    padding: 12px 28px;
    font-family: var(--font-sub);
    font-size: 15px;
    font-weight: 700;
    color: #04091e;
    z-index: 1000;
    pointer-events: none;
    text-align: center;
    max-width: 90%;
}

.toast-pop-anim {
    animation: toastPop 3.2s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes toastPop {
    0% { transform: translate(-50%, -60px) scale(0.7); opacity: 0; }
    15% { transform: translate(-50%, 0) scale(1.0); opacity: 1; }
    80% { transform: translate(-50%, 0) scale(1.0); opacity: 1; }
    100% { transform: translate(-50%, -60px) scale(0.7); opacity: 0; }
}

.hidden { display: none !important; }

/* ——— Premium aerospace UI pass ——— */
.loading-screen {
    position: fixed;
    inset: 0;
    z-index: 200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(ellipse at 50% 30%, #1a3048 0%, #06080c 70%);
}
.loading-brand { text-align: center; }
.loading-kicker, .menu-kicker {
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.35em;
    color: #8aa0b0;
}
.loading-brand h1, .menu-title {
    font-family: var(--font-heading);
    font-size: clamp(28px, 6vw, 42px);
    letter-spacing: 0.12em;
    margin: 8px 0;
    color: #eef4f8;
    font-weight: 800;
}
#loading-sub { font-family: var(--font-mono); font-size: 12px; color: #6a8090; margin-top: 12px; letter-spacing: 0.15em; }

.menu-title-lockup {
    position: absolute;
    top: 72px;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    pointer-events: none;
}

.menu-hint {
    margin-top: 10px;
    font-family: var(--font-mono);
    font-size: 11px;
    letter-spacing: 0.08em;
    color: #7a8898;
    pointer-events: none;
}

.btn-launch-primary {
    pointer-events: auto;
    font-family: var(--font-heading);
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.14em;
    padding: 16px 36px;
    border: 1px solid rgba(232, 120, 48, 0.55);
    border-radius: 4px;
    background: linear-gradient(180deg, rgba(232, 120, 48, 0.22) 0%, rgba(120, 60, 24, 0.35) 100%);
    color: #ffe8d0;
    cursor: pointer;
    transition: transform 0.15s ease, border-color 0.15s ease, background 0.15s ease;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}
.btn-launch-primary:hover { transform: translateY(-2px); border-color: rgba(232, 120, 48, 0.85); }
.btn-launch-primary:active { transform: translateY(1px); }

.ico { display: inline-block; width: 18px; height: 18px; position: relative; }
.ico-gear::before { content: ""; position: absolute; inset: 2px; border: 2px solid #aab8c8; border-radius: 50%; box-shadow: inset 0 0 0 2px transparent; }
.ico-coin::before { content: ""; position: absolute; inset: 1px; border: 2px solid var(--accent-gold); border-radius: 50%; background: rgba(201, 168, 74, 0.2); }
.ico-planet::before { content: ""; position: absolute; inset: 2px; border: 2px solid var(--primary-cyan); border-radius: 50%; }
.ico-hangar::before { content: ""; position: absolute; left: 2px; right: 2px; bottom: 2px; height: 10px; border: 2px solid #aab8c8; border-top: none; }

.dock-card .ico { width: 22px; height: 22px; margin-bottom: 4px; }
.header-best-val { text-shadow: none; }
.thermal-alert-banner {
    background: rgba(20, 8, 8, 0.88) !important;
    border: 1px solid rgba(217, 74, 58, 0.65) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5) !important;
    color: #ffb0a8 !important;
    font-family: var(--font-mono) !important;
    font-size: 12px !important;
    letter-spacing: 0.12em;
    animation: none !important;
}
.milestone-alert-banner {
    background: rgba(8, 16, 24, 0.9) !important;
    border: 1px solid rgba(110, 200, 232, 0.4) !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.45) !important;
    color: #c8e8f8 !important;
    font-size: 12px !important;
    letter-spacing: 0.08em;
}
.quality-popup { font-family: var(--font-mono) !important; letter-spacing: 0.1em; }
