/* ══════════════════════════════════════════════════════════════
   AEROFIELD — NEPTUNE OBSERVATORY  (CSS)
   Deep-blue ice giant · Trident theme
   ══════════════════════════════════════════════════════════════ */

/* ── PAGE ────────────────────────────────────────────────────── */
.neptune-page{margin:0;padding:0;background:#040610;color:#c0d0e8;font-family:'Inter',sans-serif;overflow:hidden;height:100vh}

/* ── LOADING OVERLAY ─────────────────────────────────────────── */
.neptune-loading{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#040610;transition:opacity .8s}
.neptune-loading.hidden{opacity:0;pointer-events:none}
.neptune-loading-content{text-align:center}
.neptune-loading-ring{width:72px;height:72px;margin:0 auto 16px;border:3px solid rgba(51,102,204,.15);border-top-color:#3366cc;border-radius:50%;animation:neptuneLoadSpin 1s linear infinite}
.neptune-loading-text{display:block;font-family:'Rajdhani',sans-serif;font-size:14px;letter-spacing:6px;color:#3366cc}
.neptune-loading-bar{width:180px;height:2px;margin:14px auto 0;background:rgba(51,102,204,.12);border-radius:1px;overflow:hidden}
.neptune-loading-bar-fill{width:40%;height:100%;background:#3366cc;animation:neptuneLoadBar 1.6s ease-in-out infinite}
@keyframes neptuneLoadSpin{to{transform:rotate(360deg)}}
@keyframes neptuneLoadBar{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}

/* ── NAVBAR ──────────────────────────────────────────────────── */
.neptune-navbar{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:12px;padding:8px 18px;background:linear-gradient(180deg,rgba(4,6,16,.92),rgba(4,6,16,.5));backdrop-filter:blur(10px);border-bottom:1px solid rgba(51,102,204,.12)}
.neptune-navbar-brand{text-decoration:none;font-family:'Cinzel',serif;font-size:16px;font-weight:600;color:#6699ee;display:flex;align-items:center;gap:6px;white-space:nowrap}
.nepn-glyph{font-size:20px;color:#3366cc}
.neptune-navbar-toggles{display:flex;gap:6px;margin-left:auto}
.nepn-btn{background:rgba(51,102,204,.08);border:1px solid rgba(51,102,204,.2);color:#6699ee;font-family:'Rajdhani',sans-serif;font-size:12px;font-weight:600;padding:4px 12px;border-radius:3px;cursor:pointer;letter-spacing:1px;transition:all .25s}
.nepn-btn:hover{background:rgba(51,102,204,.18);border-color:#3366cc}
.nepn-btn.active{background:rgba(51,102,204,.3);border-color:#3366cc;color:#fff;box-shadow:0 0 8px rgba(51,102,204,.25)}
.nepn-btn--reset{margin-left:8px;font-size:16px;padding:4px 10px}

/* ── VIEWPORT ────────────────────────────────────────────────── */
.neptune-viewport{position:fixed;inset:0;z-index:0}
.neptune-viewport canvas{display:block}

/* ── SIDEBARS ────────────────────────────────────────────────── */
.neptune-sidebar{position:fixed;top:52px;z-index:50;width:230px;max-height:calc(100vh - 100px);overflow-y:auto;padding:14px;background:rgba(4,6,16,.82);border:1px solid rgba(51,102,204,.1);backdrop-filter:blur(8px);border-radius:6px;opacity:0;pointer-events:none;transform:translateX(-20px);transition:all .35s}
.neptune-sidebar--left{left:12px}
.neptune-sidebar--right{right:12px;transform:translateX(20px)}
.neptune-sidebar.visible{opacity:1;pointer-events:auto;transform:translateX(0)}

/* Left — Atmosphere */
.nepl-title{font-family:'Rajdhani',sans-serif;font-size:11px;letter-spacing:3px;color:#3366cc;margin:0 0 10px;border-bottom:1px solid rgba(51,102,204,.15);padding-bottom:6px}
.nepl-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:12px}
.nepl-table caption{text-align:left;font-size:10px;color:rgba(102,153,238,.5);letter-spacing:1px;padding-bottom:4px}
.nepl-table td{padding:3px 0;border-bottom:1px solid rgba(51,102,204,.06)}
.nepl-table td:last-child{text-align:right;color:#6699ee;font-family:'Rajdhani',sans-serif;font-weight:600}
.nepl-feature,.nepl-ring-info{margin-top:10px;padding:8px;background:rgba(51,102,204,.04);border-left:2px solid rgba(51,102,204,.2);border-radius:0 4px 4px 0}
.nepl-feature-title{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;color:#6699ee;letter-spacing:1px}
.nepl-feature-desc{font-size:10px;line-height:1.5;color:rgba(192,208,232,.6);margin-top:3px}

/* Right — Moon Cards */
.nepm-title{font-family:'Rajdhani',sans-serif;font-size:11px;letter-spacing:3px;color:#3366cc;margin:0 0 10px;border-bottom:1px solid rgba(51,102,204,.15);padding-bottom:6px}
.nepm-card{padding:8px;margin-bottom:8px;background:rgba(51,102,204,.04);border:1px solid rgba(51,102,204,.08);border-radius:4px}
.nepm-card-name{font-family:'Rajdhani',sans-serif;font-weight:600;font-size:13px;color:#6699ee}
.nepm-card-stats{font-size:10px;color:rgba(192,208,232,.5);margin:2px 0 4px}
.nepm-card-desc{font-size:10px;line-height:1.5;color:rgba(192,208,232,.6)}

/* ── PANELS ──────────────────────────────────────────────────── */
.neptune-panel{position:fixed;z-index:80;background:rgba(4,6,16,.9);border:1px solid rgba(51,102,204,.12);backdrop-filter:blur(12px);border-radius:6px;opacity:0;pointer-events:none;transition:all .35s;overflow-y:auto}
.neptune-panel.visible{opacity:1;pointer-events:auto}
.nepp-close{position:absolute;top:8px;right:10px;background:none;border:none;color:#3366cc;font-size:16px;cursor:pointer}

/* Structure Panel */
.nepp-struct{top:58px;left:50%;transform:translateX(-50%) scale(.96);width:400px;max-height:70vh;padding:16px}
.nepp-struct.visible{transform:translateX(-50%) scale(1)}
.nepp-header{position:relative}
.nepp-header h3{font-family:'Rajdhani',sans-serif;font-size:12px;letter-spacing:3px;color:#3366cc;margin:0 0 12px;text-transform:uppercase}
.nepp-body{display:flex;flex-direction:column;gap:8px}
.nepp-layer{padding:8px;background:rgba(51,102,204,.04);border-radius:4px;font-size:10px;line-height:1.6;color:rgba(192,208,232,.65)}
.nepp-layer strong{color:#6699ee;font-size:11px}
.nepp-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}

/* Geology Panel */
.nepg-panel{top:58px;right:12px;width:380px;max-height:80vh;padding:16px}
.nepg-panel.visible{transform:translateX(0)}
.nepg-header{position:relative}
.nepg-header h3{font-family:'Rajdhani',sans-serif;font-size:12px;letter-spacing:3px;color:#3366cc;margin:0 0 12px;text-transform:uppercase}
.nepg-body{display:flex;flex-direction:column;gap:8px}
.nepg-feature{padding:8px;background:rgba(51,102,204,.04);border-left:2px solid rgba(51,102,204,.2);border-radius:0 4px 4px 0;font-size:10px;line-height:1.6;color:rgba(192,208,232,.65)}
.nepg-feature-name{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;color:#6699ee;letter-spacing:1px;margin-bottom:2px}
.nepg-feature-desc{color:rgba(192,208,232,.6)}

/* Mythology Panel */
.nepy-panel{top:58px;left:12px;width:380px;max-height:80vh;padding:16px}
.nepy-panel.visible{transform:translateX(0)}
.nepy-header{position:relative}
.nepy-header h3{font-family:'Rajdhani',sans-serif;font-size:12px;letter-spacing:3px;color:#3366cc;margin:0 0 12px;text-transform:uppercase}
.nepy-body{display:flex;flex-direction:column;gap:10px}
.nepy-section{padding:8px;background:rgba(51,102,204,.04);border-radius:4px}
.nepy-section-title{font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:600;color:#6699ee;letter-spacing:1px;margin-bottom:4px}
.nepy-section-body{font-size:10px;line-height:1.6;color:rgba(192,208,232,.6)}
.nepy-jyotish{padding:10px;background:rgba(51,102,204,.06);border:1px solid rgba(51,102,204,.12);border-radius:6px}
.nepy-jyotish-title{font-family:'Cinzel',serif;font-size:12px;color:#3366cc;text-align:center;margin-bottom:8px;letter-spacing:2px}
.nepy-jyotish-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.nepy-jyotish-item{display:flex;justify-content:space-between;padding:3px 6px;background:rgba(51,102,204,.04);border-radius:3px;font-size:10px}
.nepy-jyotish-label{color:rgba(192,208,232,.45)}
.nepy-jyotish-value{color:#6699ee;font-weight:600;font-family:'Rajdhani',sans-serif}

/* ── TELEMETRY HUD ───────────────────────────────────────────── */
.neptune-telemetry{position:fixed;bottom:52px;left:14px;z-index:60;display:flex;flex-direction:column;gap:2px;font-family:'Rajdhani',sans-serif;font-size:10px}
.nept-row{display:flex;gap:6px}
.nept-label{color:rgba(51,102,204,.45);letter-spacing:2px}
.nept-value{color:rgba(102,153,238,.7)}

/* ── STATS BAR ───────────────────────────────────────────────── */
.neptune-statsbar{position:fixed;bottom:0;left:0;right:0;z-index:60;display:flex;align-items:center;gap:16px;padding:6px 18px;background:rgba(4,6,16,.88);border-top:1px solid rgba(51,102,204,.1);font-family:'Rajdhani',sans-serif;font-size:11px}
.nepb-item{display:flex;flex-direction:column;align-items:center;gap:1px}
.nepb-label{font-size:8px;letter-spacing:2px;color:rgba(51,102,204,.4)}
.nepb-value{color:#6699ee;font-weight:600}
.nepb-marquee{flex:1;overflow:hidden;margin-left:12px}
.nepb-marquee-text{display:inline-block;white-space:nowrap;animation:neptuneMarquee 50s linear infinite;font-size:10px;color:rgba(102,153,238,.35);letter-spacing:1px}
@keyframes neptuneMarquee{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}

/* ── SANSKRIT FOOTER ─────────────────────────────────────────── */
.neptune-sanskrit-footer{position:fixed;bottom:32px;right:14px;z-index:60;text-align:right}
.nepf-mantra{display:block;font-family:'Noto Sans Devanagari',sans-serif;font-size:13px;color:rgba(51,102,204,.45);animation:neptunePulse 4s ease-in-out infinite}
.nepf-deity{display:block;font-family:'Rajdhani',sans-serif;font-size:9px;color:rgba(51,102,204,.25);letter-spacing:1px;margin-top:2px}
@keyframes neptunePulse{0%,100%{opacity:.45}50%{opacity:.7}}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media(max-width:1200px){
    .neptune-sidebar{width:200px;font-size:10px}
    .nepg-panel,.nepy-panel{width:320px}
}
@media(max-width:900px){
    .neptune-sidebar{width:170px;padding:10px}
    .neptune-navbar-toggles{gap:4px}
    .nepn-btn{padding:3px 8px;font-size:10px}
    .nepg-panel,.nepy-panel{width:280px}
}
