:root{--color-bg:#fff;--color-surface:#f8f9fa;--color-border:#e2e8f0;--color-text:#1a202c;--color-muted:#718096;--color-accent:#2563eb;--color-accent-dark:#1d4ed8;--color-ev:#16a34a;--color-gas:#dc2626;--color-ev-bg:#f0fdf4;--color-gas-bg:#fef2f2;--color-warning-bg:#fffbeb;--color-warning-border:#fbbf24;--radius:8px;--shadow:0 1px 3px #0000001a;--shadow-md:0 4px 12px #0000001a;--max-width:860px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;line-height:1.6}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.nav{background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.nav-inner{max-width:var(--max-width);justify-content:space-between;align-items:center;height:56px;margin:0 auto;padding:0 1rem;display:flex}.nav-logo{color:var(--color-text);font-size:1.1rem;font-weight:700;text-decoration:none}.nav-logo span{color:var(--color-accent)}.nav-links{gap:1.5rem;display:flex}.nav-links a{color:var(--color-muted);font-size:.9rem;text-decoration:none}.nav-links a:hover{color:var(--color-accent)}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);color:var(--color-muted);margin-top:4rem;padding:2rem 1rem;font-size:.85rem}.footer-inner{max-width:var(--max-width);flex-direction:column;gap:.5rem;margin:0 auto;display:flex}.footer a{color:var(--color-muted)}.hero{text-align:center;padding:3rem 1rem 2rem}.hero h1{margin-bottom:.75rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;line-height:1.2}.hero p{color:var(--color-muted);max-width:520px;margin:0 auto 1.5rem;font-size:1.05rem}.btn{background:var(--color-accent);color:#fff;border-radius:var(--radius);padding:.7rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .15s;display:inline-block}.btn:hover{background:var(--color-accent-dark);text-decoration:none}.card-grid{max-width:var(--max-width);grid-template-columns:1fr;gap:1rem;margin:0 auto;padding:1rem;display:grid}@media (width>=600px){.card-grid{grid-template-columns:repeat(2,1fr)}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);padding:1.25rem;text-decoration:none;transition:box-shadow .15s;display:block}.card:hover{box-shadow:var(--shadow-md);text-decoration:none}.card-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-bottom:.4rem;font-size:.75rem;font-weight:600}.card h3{margin-bottom:.3rem;font-size:1rem;font-weight:700}.card p{color:var(--color-muted);font-size:.875rem}.calc-page{max-width:var(--max-width);margin:0 auto;padding:1.5rem 1rem 3rem}.calc-header{margin-bottom:1.5rem}.calc-header h1{margin-bottom:.5rem;font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:800}.calc-header p{color:var(--color-muted);max-width:620px;font-size:.95rem}.last-updated{color:var(--color-muted);margin-top:.4rem;font-size:.8rem}.notice{background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius);margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.notice strong{color:#92400e}.calc-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem}.form-section-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);border-top:1px solid var(--color-border);margin:1rem 0 .75rem;padding-top:1rem;font-size:.8rem;font-weight:700}.form-section-title:first-child{border-top:none;margin-top:0;padding-top:0}.form-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (width>=540px){.form-grid{grid-template-columns:repeat(2,1fr)}}.form-group{flex-direction:column;gap:.3rem;display:flex}.form-group.full{grid-column:1/-1}.form-group label{font-size:.85rem;font-weight:600}.form-group label span{color:var(--color-muted);font-size:.8rem;font-weight:400}select,input[type=number]{border:1px solid var(--color-border);width:100%;font-size:.9rem;font-family:var(--font);color:var(--color-text);background:#fff;border-radius:6px;padding:.5rem .6rem}select:focus,input:focus{border-color:var(--color-accent);outline:none}.toggle-group{gap:.5rem;display:flex}.toggle-btn{border:2px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;flex:1;padding:.5rem;font-size:.9rem;font-weight:600}.toggle-btn.active{border-color:var(--color-accent);background:var(--color-accent);color:#fff}.calc-submit{background:var(--color-accent);color:#fff;border-radius:var(--radius);cursor:pointer;border:none;width:100%;margin-top:1rem;padding:.75rem;font-size:1rem;font-weight:700}.calc-submit:hover{background:var(--color-accent-dark)}.results{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}.results-header{background:var(--color-text);color:#fff;padding:1rem 1.25rem;font-size:.85rem;font-weight:600}.winner-banner{padding:1rem 1.25rem;font-size:1.05rem;font-weight:700}.winner-ev{background:var(--color-ev-bg);color:var(--color-ev)}.winner-gas{background:var(--color-gas-bg);color:var(--color-gas)}.tco-comparison{border-top:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}.tco-col{padding:1.25rem}.tco-col:first-child{border-right:1px solid var(--color-border)}.tco-col-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:700}.tco-col.ev .tco-col-label{color:var(--color-ev)}.tco-col.gas .tco-col-label{color:var(--color-gas)}.tco-total{margin-bottom:.25rem;font-size:1.7rem;font-weight:800;line-height:1}.tco-col.ev .tco-total{color:var(--color-ev)}.tco-col.gas .tco-total{color:var(--color-gas)}.tco-monthly{color:var(--color-muted);font-size:.85rem}.chart-section{border-top:1px solid var(--color-border);padding:1.25rem}.chart-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;font-size:.8rem;font-weight:700}.chart-bars{align-items:flex-end;gap:2rem;height:160px;display:flex}.chart-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:.4rem;height:100%;display:flex}.chart-bar-stack{border-radius:4px 4px 0 0;flex-direction:column-reverse;width:80%;display:flex;overflow:hidden}.chart-bar-label{font-size:.8rem;font-weight:700}.chart-legend{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.legend-item{color:var(--color-muted);align-items:center;gap:.3rem;font-size:.75rem;display:flex}.legend-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.breakdown-toggle{background:var(--color-surface);border:none;border-top:1px solid var(--color-border);text-align:left;cursor:pointer;width:100%;color:var(--color-accent);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;font-size:.85rem;font-weight:600;display:flex}.breakdown-table{border-collapse:collapse;width:100%}.breakdown-table th,.breakdown-table td{text-align:right;border-bottom:1px solid var(--color-border);padding:.5rem 1.25rem;font-size:.875rem}.breakdown-table th:first-child,.breakdown-table td:first-child{text-align:left}.breakdown-table th{background:var(--color-surface);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:.75rem;font-weight:700}.breakdown-table tr:last-child td{border-bottom:none;font-weight:700}.td-ev{color:var(--color-ev)}.td-gas{color:var(--color-gas)}.affiliate-row{border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.affiliate-row span{color:var(--color-muted);flex:1;min-width:150px;font-size:.85rem}.aff-link{color:var(--color-accent);white-space:nowrap;border:1px solid var(--color-border);background:#fff;border-radius:6px;padding:.35rem .75rem;font-size:.85rem;font-weight:600}.aff-link:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);text-decoration:none}.breakeven-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem;padding:1rem 1.25rem;font-size:.9rem}.breakeven-box strong{color:var(--color-accent)}.methodology{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}.methodology-toggle{background:var(--color-surface);text-align:left;cursor:pointer;border:none;justify-content:space-between;width:100%;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;display:flex}.methodology-body{color:var(--color-muted);border-top:1px solid var(--color-border);padding:1rem 1.25rem;font-size:.875rem;line-height:1.7}.methodology-body p{margin-bottom:.6rem}.methodology-body a{color:var(--color-accent)}.faq{margin-bottom:2rem}.faq h2{margin-bottom:1rem;font-size:1.2rem;font-weight:800}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:.5rem;overflow:hidden}.faq-q{background:var(--color-surface);text-align:left;cursor:pointer;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;font-size:.9rem;font-weight:700;display:flex}.faq-a{color:var(--color-muted);border-top:1px solid var(--color-border);padding:.875rem 1.25rem;font-size:.875rem;line-height:1.7}.faq-a a{color:var(--color-accent)}.article-cta{background:var(--color-accent);color:#fff;border-radius:var(--radius);margin-bottom:1.5rem;padding:1.25rem}.article-cta p{opacity:.9;margin-bottom:.5rem;font-size:.9rem}.article-cta a{color:#fff;background:#fff3;border-radius:4px;padding:.3rem .75rem;font-size:.875rem;font-weight:700;display:inline-block}.article-cta a:hover{background:#ffffff59;text-decoration:none}.disclaimer{color:var(--color-muted);border-top:1px solid var(--color-border);padding-top:1rem;font-size:.78rem;line-height:1.6}.form-step{border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:1.25rem}.form-step:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}.form-step-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-accent);margin-bottom:.35rem;font-size:.8rem;font-weight:800}.form-step-desc{color:var(--color-muted);margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.unit{color:var(--color-muted);font-size:.8rem;font-weight:400}.field-hint{color:var(--color-muted);margin-top:.15rem;font-size:.78rem;line-height:1.4}.incentive-notice{background:var(--color-ev-bg);border-radius:var(--radius);border:1px solid #86efac;margin-top:.5rem;padding:.875rem 1.25rem;font-size:.875rem}.incentive-notice strong{color:var(--color-ev);margin-bottom:.25rem;display:block}.incentive-notice p{color:var(--color-muted);margin-bottom:0;font-size:.82rem}.breakeven-highlight{border-top:1px solid var(--color-border);background:var(--color-ev-bg);padding:1.25rem}.winner-gas~.results .breakeven-highlight{background:var(--color-gas-bg)}.breakeven-headline{color:var(--color-text);margin-bottom:.3rem;font-size:1.25rem;font-weight:800}.breakeven-headline strong{color:var(--color-accent)}.breakeven-sub{color:var(--color-muted);margin-bottom:.4rem;font-size:.875rem;line-height:1.5}.breakeven-driving{color:var(--color-muted);font-size:.8rem;font-style:italic}.winner-tie{background:var(--color-surface);color:var(--color-text)}.chart-subtitle{color:var(--color-muted);margin-bottom:.75rem;font-size:.8rem}.chart-wrap{border-radius:var(--radius);overflow:hidden}.chart-tooltip{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;padding:.6rem .875rem;font-size:.82rem;line-height:1.7}.chart-tooltip-year{color:var(--color-text);margin-bottom:.1rem;font-weight:700}.chart-tooltip-diff{border-top:1px solid var(--color-border);margin-top:.15rem;padding-top:.15rem;font-weight:700}.tco-col .aff-link{margin-top:.75rem;font-size:.8rem;display:inline-block}.recharts-responsive-container{font-family:var(--font)}.article-page{max-width:700px;margin:0 auto;padding:2rem 1rem 4rem}.article-header{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem}.article-label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent);margin-bottom:.5rem;font-size:.75rem;font-weight:700}.article-header h1{margin-bottom:.75rem;font-size:clamp(1.5rem,4vw,2rem);font-weight:800;line-height:1.25}.article-deck{color:var(--color-muted);margin-bottom:.75rem;font-size:1.05rem;line-height:1.6}.article-meta{color:var(--color-muted);font-size:.8rem}.article-body{color:var(--color-text);font-size:1rem;line-height:1.8}.article-body h2{margin:2rem 0 .6rem;font-size:1.25rem;font-weight:800}.article-body h3{margin:1.5rem 0 .5rem;font-size:1.05rem;font-weight:700}.article-body p{margin-bottom:1rem}.article-body ul{margin-bottom:1rem;padding-left:1.4rem}.article-body ul li{margin-bottom:.5rem}.article-body strong{font-weight:700}.article-body a{color:var(--color-accent)}.article-table-wrap{margin:1.25rem 0 .5rem;overflow-x:auto}.article-table{border-collapse:collapse;width:100%;font-size:.9rem}.article-table th,.article-table td{text-align:left;border:1px solid var(--color-border);padding:.5rem .75rem}.article-table th{background:var(--color-surface);text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted);font-size:.8rem;font-weight:700}.article-table-note{color:var(--color-muted);margin-top:.25rem;font-size:.8rem}.article-inline-cta{margin:2rem 0}
