@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

/* --- CORE VARIABLES --- */
:root {
    --ev-green: #10b981;          /* KEEPING GREEN */
    --ev-glow: rgba(16, 185, 129, 0.4);
    --bg-midnight: #020617;       /* Deep Navy Black */
    --bg-panel: rgba(30, 41, 59, 0.4); /* Indigo-tinted glass */
    --text-primary: #f8fafc;
    --text-muted: #94a3b8;        /* Cool Blue-Gray */
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: #02040a; /* Darker, richer Navy than original Slate */
    background-image: radial-gradient(circle at 50% 0%, #1e1b4b 0%, #02040a 60%); /* Indigo subtle glow at top */
    color: var(--text-primary);
}

/* --- NAVIGATION --- */
.glass-nav {
    background: rgba(2, 4, 15, 0.85); /* Deep Navy Glass */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(16, 185, 129, 0.1); /* Green border maintained */
}

/* --- TEXT & HEADINGS --- */
/* Update the text gradient to flow from Green to a cool White/Blue */
.gradient-text {
    background: linear-gradient(135deg, #10b981 0%, #e2e8f0 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* --- PANELS & CONTAINERS --- */
.neon-liner {
    /* Changing panel bg to Deep Indigo/Black */
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.7) 0%, rgba(2, 6, 23, 0.9) 100%);
    border: 1px solid rgba(16, 185, 129, 0.15); /* Keep Green Border */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    transition: all 0.3s ease;
}

.neon-liner:hover {
    border-color: var(--ev-green);
    box-shadow: 0 0 25px rgba(16, 185, 129, 0.1);
}

/* --- INPUTS --- */
.input-dark {
    background: rgba(30, 41, 59, 0.4); /* Cooler Blue-Gray background */
    border: 1px solid rgba(148, 163, 184, 0.1);
    color: white;
    transition: all 0.3s ease;
}

.input-dark:focus {
    border-color: var(--ev-green);
    background: rgba(15, 23, 42, 0.9);
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.15);
    outline: none;
}

/* --- BUTTONS --- */
/* Keep the Neon Green Button but make it pop against the new Navy bg */
.btn-neon {
    background: var(--ev-green);
    color: #020617;
    font-weight: 800;
    transition: all 0.3s ease;
    box-shadow: 0 0 15px rgba(16, 185, 129, 0.2);
}

.btn-neon:hover {
    background: #34d399;
    box-shadow: 0 0 30px rgba(16, 185, 129, 0.5);
    transform: translateY(-2px);
}

/* --- RESULTS PANEL --- */
.results-panel {
    /* Deep Navy Gradient */
    background: radial-gradient(circle at top right, rgba(16, 185, 129, 0.05), transparent 70%), #02040a;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

/* --- BATTERY ANIMATION (Kept Green) --- */
.battery-shell {
    width: 320px; 
    height: 140px; 
    border: 6px solid rgba(16, 185, 129, 0.3);
    border-radius: 24px;
    position: relative;
    padding: 12px;
    display: flex;
    gap: 10px;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5); /* Darker shadow */
    background: rgba(2, 6, 23, 0.5);
}
.battery-shell::after {
    content: '';
    position: absolute;
    right: -25px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 60px;
    background: rgba(16, 185, 129, 0.3);
    border-radius: 0 10px 10px 0;
}
.energy-block {
    flex: 1;
    height: 100%;
    background: var(--ev-green);
    border-radius: 8px;
    opacity: 0;
    box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
}
.energy-block.active {
    animation: block-flicker 0.4s ease-in forwards;
}
@keyframes block-flicker {
    0% { opacity: 0; transform: scale(0.8); }
    50% { opacity: 0.5; }
    100% { opacity: 1; transform: scale(1); }
}

/* Bolt & Gauge */
.charge-bolt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-size: 72px; 
    z-index: 20;
    text-shadow: 0 0 40px rgba(16, 185, 129, 1);
    animation: bolt-pulse 1.2s infinite ease-in-out;
}

.gauge-progress {
    fill: none;
    stroke: var(--ev-green); /* KEPT GREEN */
    stroke-width: 10;
    stroke-linecap: round;
    stroke-dasharray: 251.2;
    stroke-dashoffset: 251.2;
    transition: stroke-dashoffset 1.5s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: rotate(-180deg);
    transform-origin: center;
    filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.6));
}

/* --- ANIMATION UTILS --- */
.reveal-row {
    opacity: 0;
    transform: translateY(12px);
    transition: all 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.reveal-row.active {
    opacity: 1;
    transform: translateY(0);
}
.preview-meter-block {
    width: 16px;
    height: 10px;
    background: #334155; /* Slate-700 */
    border-radius: 4px;
    transition: all 0.3s ease;
}
.preview-meter-block.on {
    background: var(--ev-green);
    box-shadow: 0 0 10px rgba(16, 185, 129, 0.6);
}

/* ==========================================================================
   THEME OVERRIDES (CHANGING SLATE TO DEEP NAVY)
   ========================================================================== 
   This section overrides the "Slate" colors in your HTML with "Navy" colors,
   while leaving the "Emerald" classes alone.
*/

/* 1. Background Overrides (Slate -> Navy/Black) */
.bg-slate-950, .bg-slate-900 {
    background-color: #02040a !important; /* Deepest Navy */
}
.bg-slate-800 {
    background-color: #1e293b !important; /* Dark Blue-Gray */
}

/* 2. Text Overrides (Warm Gray -> Cool Blue-Gray) */
.text-slate-300, .text-slate-400 {
    color: #94a3b8 !important; /* Cool Blue-Gray */
}
.text-slate-500 {
    color: #64748b !important; /* Medium Blue-Gray */
}
.text-slate-600 {
    color: #475569 !important;
}

/* 3. Border Overrides */
.border-white\/5, .border-white\/10 {
    border-color: rgba(148, 163, 184, 0.1) !important;
}

/* --- GOOGLE TRANSLATE STYLE (Matches Navy Theme) --- */
#google_translate_element {
    display: inline-block;
    height: 28px !important;
    overflow: hidden !important;
    vertical-align: middle;
}
.goog-te-gadget-simple {
    background-color: rgba(30, 41, 59, 0.5) !important; /* Navy Glass */
    border: 1px solid rgba(16, 185, 129, 0.2) !important; /* Green Border */
    padding: 4px 8px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    height: 28px !important;
}
.goog-te-gadget-simple:hover {
    border-color: #10b981 !important;
    background-color: rgba(16, 185, 129, 0.1) !important;
}
.goog-te-gadget-simple span {
    color: #cbd5e1 !important; /* Cool Gray Text */
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-weight: 700 !important;
}
.goog-te-gadget-simple:hover span {
    color: #10b981 !important;
}
.goog-te-gadget-icon, .goog-logo-link { display: none !important; }
.goog-te-gadget-simple .goog-te-menu-value span img {
    filter: invert(1) !important;
    opacity: 0.8;
    margin-left: 4px !important;
}
.goog-te-gadget-simple span[style*="border-left"] { display: none !important; }