:root{--accent:var(--calc-color-environment);--accent-dim:rgba(var(--calc-color-environment-rgb), .12);--accent-glow:rgba(var(--calc-color-environment-rgb), .25);--accent-dark:#3f6212;--bg-dark:#050510;--card:#0d1420f7;--input-bg:#ffffff0d;--input-border:#ffffff1a;--text-main:#fff;--text-dim:#88a;--text-muted:#666;--border:#ffffff12;--radius:12px}[data-theme=light]{--accent:var(--calc-color-environment);--accent-dim:rgba(var(--calc-color-environment-rgb), .08);--accent-glow:rgba(var(--calc-color-environment-rgb), .18);--accent-dark:#3f6212;--bg-dark:#e8edf5;--card:#fff;--input-bg:#f0f4f9;--input-border:#0000001f;--text-main:#0f172a;--text-dim:#334155;--text-muted:#64748b;--border:#0000001a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--calc-bg-page);color:var(--calc-text-primary);min-height:100vh;font-family:Inter,sans-serif;font-size:16px;line-height:1.5}.main-container{max-width:960px;margin:0 auto;padding:24px 16px 48px}.calc-title{color:var(--text-main);margin-bottom:10px;font-family:Plus Jakarta Sans,sans-serif;font-size:clamp(1.5rem,4vw,2.1rem);font-weight:800}.calc-subtitle{color:var(--text-dim);max-width:680px;margin-bottom:24px;font-size:.93rem;line-height:1.6}.calc-layout{grid-template-columns:340px 1fr;align-items:start;gap:20px;display:grid}@media (width<=768px){.calc-layout{grid-template-columns:1fr}.input-card,.result-card{padding:16px}.hero-stats{gap:10px}.stat-value{font-size:1.4rem}.stat-value.large{font-size:1.75rem}}.tab-nav{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-bottom:20px;padding-bottom:12px;display:flex}.tab-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:8px 18px;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}.tab-btn:hover{color:var(--text-main);border-color:var(--accent-dim)}.tab-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}[data-theme=light] .tab-btn.active{background:var(--accent-dim);border-color:var(--accent-dark);color:var(--accent-dark)}.tab-content{display:none}.tab-content.active{display:block}.preset-row{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.preset-chip{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:6px 14px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s}.preset-chip:hover{border-color:var(--accent);color:var(--accent)}.preset-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}[data-theme=light] .preset-chip:hover{color:var(--accent-dark);border-color:var(--accent-dark)}[data-theme=light] .preset-chip.active{color:var(--accent-dark);border-color:var(--accent-dark);background:var(--accent-dim)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}[data-theme=light] .card{box-shadow:0 2px 10px #00000012}.input-card{background:var(--card)}.section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:14px;font-size:.75rem;font-weight:700}.section-title.mt{margin-top:20px}[data-theme=light] .section-title{color:var(--accent-dark)}.form-group{margin-bottom:14px}.form-label{color:var(--text-dim);margin-bottom:5px;font-size:.8rem;font-weight:600;display:block}.glass-input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-main);border-radius:8px;outline:none;padding:9px 12px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.glass-input:focus{border-color:var(--accent)}.glass-input option{color:#fff;background:#1a2234}[data-theme=light] .glass-input{color:#0f172a}[data-theme=light] .glass-input:focus{border-color:var(--accent-dark)}[data-theme=light] .glass-input option{color:#0f172a;background:#fff}.custom-eff-row{margin-bottom:14px}.result-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}[data-theme=light] .result-card{box-shadow:0 2px 10px #00000012}.hero-stats{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:18px;display:grid}.stat-block{background:var(--accent-dim);border:1px solid rgba(var(--calc-color-environment-rgb), .2);text-align:center;border-radius:10px;padding:14px 16px}[data-theme=light] .stat-block{background:rgba(var(--calc-color-environment-rgb), .07);border-color:rgba(var(--calc-color-environment-rgb), .2)}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:700}[data-theme=light] .stat-label{color:var(--text-muted)}.stat-value{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.5rem;font-weight:800;line-height:1.1}[data-theme=light] .stat-value{color:var(--accent-dark)}.stat-value.large{font-size:2rem}.charge-times{border:1px solid var(--border);background:#ffffff05;border-radius:10px;margin-top:12px;padding:14px 16px}[data-theme=light] .charge-times{background:#f0f4f9;border-color:#0000001a}.charge-times-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:10px;font-size:.72rem;font-weight:700}.charge-time-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:5px 0;font-size:.85rem;display:flex}.charge-time-row:last-child{border-bottom:none}.charge-time-label{color:var(--text-dim)}.charge-time-val{color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.82rem;font-weight:700}[data-theme=light] .charge-time-label{color:var(--text-dim)}[data-theme=light] .charge-time-val{color:var(--text-main)}.alert-box{flex-direction:column;gap:8px;margin-top:16px;display:flex}.alert-item{border-radius:8px;padding:10px 14px;font-size:.84rem;font-weight:500;line-height:1.5}.alert-success{background:rgba(var(--calc-color-environment-rgb), .1);border-left:3px solid var(--accent);color:var(--accent)}.alert-info{color:#93c5fd;background:#60a5fa1a;border-left:3px solid #60a5fa}.alert-warn{color:#fcd34d;background:#fbbf241a;border-left:3px solid #fbbf24}[data-theme=light] .alert-success{color:#14532d;background:#f0fdf4;border-left-color:#16a34a}[data-theme=light] .alert-info{color:#1e3a5f;background:#eff6ff;border-left-color:#3b82f6}[data-theme=light] .alert-warn{color:#78350f;background:#fffbeb;border-left-color:#d97706}.comparison-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}@media (width<=600px){.comparison-grid{grid-template-columns:1fr}}.comparison-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px}[data-theme=light] .comparison-card{box-shadow:0 2px 8px #00000012}.comparison-card.ev-card{border-color:rgba(var(--calc-color-environment-rgb), .3)}.comparison-card.gas-card{border-color:#6b72804d}[data-theme=light] .comparison-card.ev-card{border-color:rgba(var(--calc-color-environment-rgb), .3)}[data-theme=light] .comparison-card.gas-card{border-color:#64748b4d}.comparison-icon{margin-bottom:6px;font-size:1.8rem}.comparison-title{text-transform:uppercase;color:var(--text-muted);letter-spacing:.06em;margin-bottom:10px;font-size:.78rem;font-weight:700}.comparison-monthly{color:var(--text-main);margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:1.9rem;font-weight:800;line-height:1}.comparison-annual{color:var(--text-dim);font-size:.82rem}.ev-card .comparison-monthly{color:var(--accent)}[data-theme=light] .ev-card .comparison-monthly{color:var(--accent-dark)}.savings-banner{background:var(--accent-dim);border:1px solid rgba(var(--calc-color-environment-rgb), .25);border-radius:var(--radius);text-align:center;margin-bottom:24px;padding:20px}[data-theme=light] .savings-banner{background:rgba(var(--calc-color-environment-rgb), .07);border-color:rgba(var(--calc-color-environment-rgb), .2)}.savings-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:6px;font-size:.75rem;font-weight:700}.savings-value{color:var(--accent);font-family:JetBrains Mono,monospace;font-size:2.4rem;font-weight:800;line-height:1}[data-theme=light] .savings-value{color:var(--accent-dark)}.savings-value.neg{color:#fb7185}[data-theme=light] .savings-value.neg{color:#e11d48}.savings-sub{color:var(--text-dim);margin-top:4px;font-size:.82rem}.gas-inputs-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:20px;display:grid}@media (width<=500px){.gas-inputs-card{grid-template-columns:1fr}}[data-theme=light] .gas-inputs-card{box-shadow:0 2px 8px #00000012}.chart-wrap{border:1px solid rgba(var(--calc-color-environment-rgb), .2);border-radius:var(--radius);background:#0003;padding:16px}[data-theme=light] .chart-wrap{border-color:rgba(var(--calc-color-environment-rgb), .15);background:#f8fafc}.chart-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px;font-size:.8rem;font-weight:700}.budget-table-wrap{border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.budget-table{border-collapse:collapse;width:100%;font-size:.88rem}.budget-table th{background:rgba(var(--calc-color-environment-rgb), .08);color:var(--accent);text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid var(--border);padding:10px 16px;font-size:.75rem;font-weight:700}[data-theme=light] .budget-table th{background:rgba(var(--calc-color-environment-rgb), .07);color:var(--accent-dark)}.budget-table td{border-bottom:1px solid var(--border);color:var(--text-main);padding:9px 16px;font-family:JetBrains Mono,monospace;font-size:.83rem}.budget-table td:first-child{color:var(--text-dim);font-family:Inter,sans-serif}[data-theme=light] .budget-table td{color:#0f172a}[data-theme=light] .budget-table td:first-child{color:var(--text-dim)}.budget-table tr:hover td{background:#ffffff05}[data-theme=light] .budget-table tr:hover td{background:#f0f4f9}.totals-row td{background:rgba(var(--calc-color-environment-rgb), .06);border-top:2px solid rgba(var(--calc-color-environment-rgb), .3);border-bottom:none}[data-theme=light] .totals-row td{background:rgba(var(--calc-color-environment-rgb), .04);border-top-color:rgba(var(--calc-color-environment-rgb), .15)}:root .sav-cell.pos{color:var(--accent)}:root .sav-cell.neg{color:#fb7185}[data-theme=light] .sav-cell.pos{color:var(--accent-dark)}[data-theme=light] .sav-cell.neg{color:#e11d48}.action-bar{flex-wrap:wrap;gap:8px;margin:16px 0 0;display:flex}.action-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:#ffffff0a;border-radius:8px;padding:7px 16px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s}.action-btn:hover{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}[data-theme=light] .action-btn{color:var(--text-dim)}[data-theme=light] .action-btn:hover{color:var(--accent-dark);border-color:var(--accent-dark);background:var(--accent-dim)}.page-sections-outer{max-width:1600px;margin:0 auto;padding:0 1.5rem 3rem}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #ffffff0f}.faq-item__question{cursor:pointer;color:var(--text-main);user-select:none;justify-content:space-between;align-items:center;padding:14px 4px;font-size:.9rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.faq-item__question::-webkit-details-marker{display:none}.faq-item__question:after{content:"+";color:var(--text-dim);flex-shrink:0;margin-left:16px;font-family:JetBrains Mono,monospace;font-size:1.1rem;transition:color .2s}.faq-item[open] .faq-item__question:after{content:"−";color:var(--accent)}.faq-item__question:hover{color:var(--accent)}.faq-item__answer{color:var(--text-dim);padding:0 4px 14px;font-size:.85rem;line-height:1.75}[data-theme=light] .faq-list{gap:8px}[data-theme=light] .faq-item{background:#fff;border:1px solid #0000001a;border-radius:10px;transition:box-shadow .2s,border-color .2s;overflow:hidden;box-shadow:0 1px 4px #0000000f}[data-theme=light] .faq-item:hover{border-color:rgba(var(--calc-color-environment-rgb), .35);box-shadow:0 2px 10px rgba(var(--calc-color-environment-rgb), .08)}[data-theme=light] .faq-item[open]{border-color:rgba(var(--calc-color-environment-rgb), .4);box-shadow:0 2px 12px rgba(var(--calc-color-environment-rgb), .1);border-left:3px solid var(--accent-dark)}[data-theme=light] .faq-item__question{color:#0f172a;padding:14px 16px}[data-theme=light] .faq-item__question:after{color:#64748b}[data-theme=light] .faq-item[open] .faq-item__question:after,[data-theme=light] .faq-item__question:hover{color:var(--accent-dark)}[data-theme=light] .faq-item__answer{color:#475569;border-top:1px solid #0000000f;padding:12px 16px 16px}.charge-times-note{color:var(--text-muted);margin-top:8px;padding:0 2px;font-size:.75rem;font-style:italic;line-height:1.5}[data-theme=light] .charge-times-note{color:var(--text-muted)}