
:root{--bg:#07111f;--card:#101c2e;--card2:#13223a;--text:#f6f8fb;--muted:#99a8bc;--line:#22334d;--green:#34d399;--amber:#fbbf24;--red:#fb7185;--blue:#60a5fa}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:linear-gradient(180deg,#06101d,#0a1424);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
.shell{max-width:560px;margin:auto;padding:calc(22px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) calc(42px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.brand{font-size:25px;font-weight:800}.sub,.small{color:var(--muted);font-size:13px}
.card{background:rgba(16,28,46,.95);border:1px solid var(--line);border-radius:22px;padding:18px;margin:14px 0}.hero{text-align:center;padding:25px 18px}
.eyebrow{font-size:12px;letter-spacing:1.4px;color:var(--muted);font-weight:700}.decision{font-size:clamp(38px,11vw,48px);font-weight:900;line-height:.98;margin:9px auto 3px;overflow-wrap:anywhere}.reason{font-size:16px;color:#d8e1ec;line-height:1.35;margin:12px auto 0}
.meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:15px;color:var(--muted);font-size:13px}.meta span{background:var(--card2);border-radius:999px;padding:7px 10px}
.row,.toggleRow{display:flex;justify-content:space-between;gap:15px;align-items:center}.label{color:var(--muted);font-size:13px}.label.strong{font-size:15px;color:var(--text);font-weight:700}
.fuelValue{font-size:34px;font-weight:800;margin-top:3px}.pill{border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700;white-space:nowrap}
input[type=range]{width:100%;margin-top:18px}.scale{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:3px}
.sectionTitle{font-size:16px;font-weight:800;margin-bottom:4px}.stationHint{margin-bottom:8px}.station{display:grid;grid-template-columns:1fr auto;gap:8px;padding:13px 0;border-top:1px solid var(--line);text-decoration:none;color:inherit}.station:first-child{border-top:0}.stationName{font-weight:750}.stationMeta{font-size:12px;color:var(--muted);margin-top:3px}.price{font-size:22px;font-weight:850}
.primary,.ghost,.vote{border:0;border-radius:12px;padding:10px 14px;font-weight:750;cursor:pointer}.primary{background:var(--blue);color:#07111f}.ghost{background:var(--card2);color:var(--text)}.feedbackBtns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.vote{background:var(--card2);color:var(--text);border:1px solid var(--line)}
.statusMsg{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:13px}.statusMsg.success{background:#173a34;color:#a7f3d0}.statusMsg.warn{background:#4a3b14;color:#fde68a}.statusMsg.error{background:#45202a;color:#fecdd3}.hidden{display:none}
.freshTag{display:inline-block;margin-left:6px;padding:2px 6px;border-radius:999px;font-size:10px;font-weight:800;background:#173a34;color:#a7f3d0}.agingTag{background:#4a3b14;color:#fde68a}.staleTag{background:#45202a;color:#fecdd3}
footer{text-align:center;color:var(--muted);font-size:11px;margin-top:18px}
.adminForm label{display:block;margin:14px 0 6px;color:#cbd5e1;font-size:13px;font-weight:700}
.adminForm input,.adminForm select,.adminForm textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card2);color:var(--text);font:inherit}
.adminForm textarea{min-height:90px;resize:vertical}.adminActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.mutedBox{padding:12px;border-radius:12px;background:var(--card2);color:var(--muted);font-size:13px;line-height:1.45}

.membershipCard{margin:16px 0;padding:18px 20px;border:1px solid #2a405d;border-radius:24px;background:#101f33}
.membershipTitle{font-size:18px;font-weight:800}.membershipHint{margin-top:4px;color:#9aacbf;font-size:14px}
.membershipOptions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.clubChip{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #2a405d;border-radius:999px;background:#142640;font-size:14px;cursor:pointer}.clubChip input{accent-color:#2f8cff}


.fillConfirmBtns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.fillDetails{margin-top:16px}.fillDetails label{display:block;margin-top:12px;color:var(--muted);font-size:13px;font-weight:700}
.fillDetails input{width:100%;margin-top:6px;padding:12px;border-radius:12px;border:1px solid var(--line);background:var(--card2);color:var(--text);font:inherit;font-size:16px}
.moneyInput{display:flex;align-items:center;gap:7px}.moneyInput span{font-size:18px;font-weight:800;color:var(--text)}
.fillSaveBtn{width:100%;margin-top:16px}.fillResult{margin-top:12px;font-size:14px;line-height:1.4;font-weight:700}

#fuelConfirmCard{border-color:rgba(96,165,250,.38)}
.fillResult{font-size:16px;line-height:1.45}
.shareSavingsBtn{width:100%;margin-top:12px}


/* Primary first-step CTA: location must be obvious */
#locBtn{
  background:#16a34a;
  color:#ffffff;
  border-color:#16a34a;
  font-weight:800;
  box-shadow:0 0 0 3px rgba(22,163,74,.16);
}
#locBtn:hover{filter:brightness(1.05)}
#locBtn:active{transform:translateY(1px)}

.zipFallback{
  margin:10px 0 16px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  background:rgba(255,255,255,.035);
}
.zipFallbackText{font-size:14px;font-weight:700;margin-bottom:10px}
.zipFallbackRow{display:flex;gap:8px}
.zipFallbackRow input{
  flex:1;min-width:0;padding:12px 14px;border-radius:12px;
  border:1px solid var(--line);background:var(--card2);color:var(--text);
  font:inherit;font-size:16px
}
#zipBtn{white-space:nowrap}

.installBtn{width:100%;margin-top:12px}
.installHint{
  margin-top:10px;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(96,165,250,.10);
  font-size:14px;
  line-height:1.4;
  font-weight:700;
}

#installCard .installHint{
  margin-top:10px;
  font-size:14px;
  line-height:1.45;
}

.locationGate{margin:18px 0 20px;padding:28px 22px;border:2px solid rgba(34,197,94,.55);border-radius:24px;background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(255,255,255,.025));text-align:center}
.locationStep{font-size:13px;font-weight:900;letter-spacing:.14em;color:#86efac;margin-bottom:8px}
.locationGateTitle{font-size:34px;line-height:1.08;font-weight:900;color:var(--text)}
.locationGateText{margin:10px auto 20px;max-width:520px;color:var(--muted);font-size:17px;line-height:1.4}
.locationPrimary{width:100%;min-height:72px;border:0;border-radius:18px;background:#16a34a;color:#fff;font:inherit;font-size:22px;font-weight:900;cursor:pointer;box-shadow:0 0 0 4px rgba(22,163,74,.18)}
.locationPrimary:active{transform:translateY(1px)}
.locationSecondary{margin-top:14px;border:0;background:transparent;color:#93c5fd;font:inherit;font-size:15px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
#locUpdateBtn{background:#16a34a;color:#fff;border-color:#16a34a;font-weight:800}
@media (max-width:600px){.locationGate{padding:26px 18px}.locationGateTitle{font-size:32px}.locationPrimary{font-size:21px}}

.recommendationExplainer{
  margin:12px auto 0;
  max-width:620px;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
  font-weight:700;
}
.fuelTitle{
  font-weight:900;
  color:var(--text);
}
.fuelHelp{
  margin-top:4px;
  max-width:620px;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  font-weight:650;
}

.predictionCard{
  border:2px solid rgba(34,197,94,.45);
  padding:26px 20px;
}
.predictionKicker{
  font-size:14px;
  font-weight:950;
  letter-spacing:.12em;
  color:#86efac;
  margin-bottom:8px;
}
.decision{
  font-size:clamp(38px,10vw,64px)!important;
  line-height:1.0!important;
  font-weight:950!important;
  letter-spacing:-.035em;
  margin:8px 0 12px;
}
.decisionMeaning{
  font-size:18px;
  line-height:1.35;
  font-weight:800;
  max-width:680px;
}
.whyTitle{
  margin-top:24px;
  margin-bottom:10px;
  font-size:22px;
  font-weight:950;
}
.signalGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.signalBox{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 12px;
  background:rgba(255,255,255,.025);
}
.signalName{
  font-size:13px;
  color:var(--muted);
  font-weight:850;
}
.signalValue{
  margin-top:6px;
  font-size:22px;
  font-weight:950;
  color:var(--text);
}
.signalMeaning{
  margin-top:4px;
  font-size:12px;
  line-height:1.3;
  color:var(--muted);
}
.signalUp{color:#ffadad!important}
.signalDown{color:#8ff0cc!important}
.signalFlat{color:#ffe18b!important}
.plainWhy{
  margin-top:14px;
  border-radius:14px;
  padding:14px;
  background:rgba(255,255,255,.045);
  font-size:16px;
  line-height:1.4;
  font-weight:850;
}
.howItWorks{
  margin-top:14px;
  font-size:14px;
  line-height:1.45;
  color:var(--muted);
}
.stationCard .sectionTitle{
  font-size:20px;
}
.fuelTitle{
  font-size:18px;
}
.fuelHelp{
  font-size:15px;
  margin-top:6px;
}
@media(max-width:640px){
  .signalGrid{grid-template-columns:1fr}
  .signalBox{display:grid;grid-template-columns:1.15fr .75fr;column-gap:10px;align-items:center}
  .signalName{font-size:14px}
  .signalValue{font-size:21px;text-align:right;margin-top:0}
  .signalMeaning{grid-column:1/-1;margin-top:5px}
  .predictionCard{padding:23px 17px}
}

.marketSourceHelp{margin:-2px 0 12px;font-size:14px;line-height:1.4;color:var(--muted);font-weight:700}
.lowFuelCard{padding:18px}.lowFuelCard .fuelTitle{font-size:20px;font-weight:950}
.lowFuelToggleRow{margin-top:14px;display:flex;gap:12px;align-items:flex-start;cursor:pointer;user-select:none}
.lowFuelToggleRow input{position:absolute;opacity:0;pointer-events:none}
.lowFuelSwitch{width:50px;height:30px;border-radius:999px;background:#334155;position:relative;flex:0 0 auto;transition:.18s ease;margin-top:1px}
.lowFuelSwitch::after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:3px;left:3px;transition:.18s ease}
.lowFuelToggleRow input:checked + .lowFuelSwitch{background:#16a34a}
.lowFuelToggleRow input:checked + .lowFuelSwitch::after{transform:translateX(20px)}
.lowFuelText strong{display:block;font-size:16px;line-height:1.25}.lowFuelText small{display:block;margin-top:4px;color:var(--muted);line-height:1.35}

.alertSignupCard{border:2px solid rgba(34,197,94,.55);background:linear-gradient(180deg,rgba(34,197,94,.10),rgba(255,255,255,.02));padding:24px 18px}
.alertEyebrow{color:#86efac;font-size:13px;font-weight:950;letter-spacing:.12em}
.alertTitle{margin-top:5px;font-size:30px;font-weight:950;letter-spacing:-.02em}
.alertCopy{margin-top:8px;color:var(--muted);line-height:1.45;font-size:16px}
.alertChannelRow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}
.alertChannel{min-height:48px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);font:inherit;font-weight:850;cursor:pointer}
.alertChannel.active{border-color:#22c55e;background:rgba(34,197,94,.14)}
.alertFormWrap{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:10px}
.alertInput{min-width:0;min-height:54px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.035);color:var(--text);padding:0 14px;font:inherit;font-size:16px}
.alertSubmitBtn{min-height:54px;border:0;border-radius:14px;background:#16a34a;color:#fff;font:inherit;font-weight:950;padding:0 18px;cursor:pointer}
.alertConsent{display:flex;align-items:flex-start;gap:8px;margin-top:10px;color:var(--muted);font-size:12px;line-height:1.35}
.alertConsent input{margin-top:2px}
.alertSignupMsg{margin-top:12px;border-radius:12px;padding:11px 12px;font-size:14px;font-weight:800}
.optionalCard{padding:0;overflow:hidden}
.optionalCard summary{cursor:pointer;padding:16px 18px;font-weight:850;color:var(--muted);list-style:none}
.optionalCard summary::-webkit-details-marker{display:none}
.optionalCard summary::after{content:"＋";float:right;color:var(--muted)}
.optionalCard[open] summary::after{content:"−"}
.optionalBody{padding:0 18px 18px}
@media(max-width:640px){.alertFormWrap{grid-template-columns:1fr}.alertSubmitBtn{width:100%}.alertTitle{font-size:28px}}

/* V1.6 trust-first visual system */
:root{
  --bg:#ffffff;
  --card:#ffffff;
  --card2:#f7f8fa;
  --text:#16181d;
  --muted:#667085;
  --line:#e4e7ec;
  --green:#15803d;
  --amber:#b54708;
  --red:#b42318;
  --blue:#175cd3;
}
html,body{background:#fff;color:var(--text)}
body{background:#fff}
.shell{max-width:620px}
header{padding:4px 2px 10px}
.brand{color:#111827;font-weight:850}
.sub{color:#667085}
.card{
  background:#fff;
  border:1px solid #e4e7ec;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  border-radius:14px;
}
.ghost,.vote{
  background:#fff;
  color:#344054;
  border:1px solid #d0d5dd;
}
.primary{
  background:#15803d;
  color:#fff;
}
.statusMsg{background:#f9fafb;border-color:#e4e7ec;color:#344054}
.statusMsg.success{background:#ecfdf3;color:#027a48;border-color:#abefc6}
.statusMsg.warn{background:#fffaeb;color:#b54708;border-color:#fedf89}
.statusMsg.error{background:#fef3f2;color:#b42318;border-color:#fecdca}

.locationGate{
  background:#fff;
  border:1px solid #d0d5dd;
  border-radius:16px;
  padding:28px 22px;
  text-align:left;
  box-shadow:0 2px 8px rgba(16,24,40,.05);
}
.preLocationEyebrow{
  font-size:12px;
  letter-spacing:.08em;
  font-weight:850;
  color:#15803d;
  margin-bottom:10px;
}
.locationGateTitle{
  color:#101828;
  font-size:36px;
  letter-spacing:-.025em;
}
.locationGateText{
  margin:12px 0 18px;
  color:#475467;
  font-size:17px;
  max-width:none;
}
.valuePreview{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px 0;
}
.valuePreview>div{
  border:1px solid #e4e7ec;
  border-radius:12px;
  padding:13px;
  background:#f9fafb;
}
.valuePreview strong{
  display:block;
  color:#15803d;
  font-size:12px;
  letter-spacing:.06em;
  margin-bottom:4px;
}
.valuePreview span{font-size:14px;color:#344054;line-height:1.35}
.locationPrompt{font-size:14px;font-weight:750;color:#344054;margin:18px 0 8px}
.locationPrimary{
  background:#15803d;
  box-shadow:none;
  border-radius:10px;
  min-height:60px;
  font-size:19px;
}
.locationSecondary{color:#175cd3;font-size:14px}
#locUpdateBtn{background:#fff;color:#344054;border:1px solid #d0d5dd}

.zipFallback{
  background:#fff;
  border-color:#d0d5dd;
}
.zipFallbackRow input,.alertInput,.fillDetails input{
  background:#fff;
  color:#101828;
  border-color:#d0d5dd;
}

.predictionCard{
  text-align:left;
  border:1px solid #d0d5dd;
  padding:24px 20px;
}
.predictionKicker{
  color:#15803d;
  font-size:12px;
  letter-spacing:.08em;
}
.predictionQuestion{
  color:#475467;
  font-size:15px;
  font-weight:700;
  margin-top:5px;
}
.decision{
  color:#101828;
  font-size:clamp(36px,9vw,54px)!important;
  margin:16px 0 7px;
}
.predictionSummary{
  font-size:17px;
  color:#344054;
  font-weight:750;
  margin-bottom:8px;
}
.decisionMeaning{
  color:#475467;
  font-size:16px;
  font-weight:600;
}
.confidenceRow{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
  padding:13px 0;
  margin-top:14px;
  border-top:1px solid #eaecf0;
  border-bottom:1px solid #eaecf0;
  font-size:14px;
  color:#475467;
}
.confidenceRow strong{color:#b54708;letter-spacing:.05em}
.explainBlock{margin-top:18px}
.explainLabel,.marketPanelTitle{
  font-size:12px;
  font-weight:850;
  letter-spacing:.07em;
  color:#344054;
}
.plainWhy{
  background:#f9fafb;
  color:#344054;
  border:1px solid #eaecf0;
  font-size:15px;
  padding:13px;
  margin-top:7px;
}
.marketPanel{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #eaecf0;
}
.marketSourceHelp{
  color:#667085;
  font-size:13px;
  font-weight:500;
  margin:5px 0 10px;
}
.signalGrid{gap:8px}
.signalBox{
  background:#fff;
  border-color:#e4e7ec;
  border-radius:10px;
}
.signalName{color:#475467}
.signalValue{color:#101828}
.signalMeaning{color:#667085}
.signalUp{color:#b42318!important}
.signalDown{color:#027a48!important}
.signalFlat{color:#b54708!important}
.howDecision{
  margin-top:16px;
  border-top:1px solid #eaecf0;
  padding-top:14px;
  color:#475467;
  font-size:14px;
}
.howDecision summary{
  cursor:pointer;
  color:#175cd3;
  font-weight:750;
}
.howDecision div{margin-top:9px;line-height:1.5}
.meta{justify-content:flex-start}
.meta span{background:#f2f4f7;color:#475467}

.membershipCard{
  background:#fff;
  border-color:#e4e7ec;
  border-radius:14px;
}
.membershipHint{color:#667085}
.clubChip{background:#fff;border-color:#d0d5dd;color:#344054}
.optionalCard summary{color:#475467}

.alertSignupCard{
  background:#f7fcf8;
  border:1px solid #b7e4c7;
  border-radius:14px;
}
.alertEyebrow{color:#15803d}
.alertTitle{color:#101828}
.alertCopy{color:#475467}
.alertChannel{
  background:#fff;
  color:#344054;
  border-color:#d0d5dd;
}
.alertChannel.active{
  border-color:#15803d;
  background:#ecfdf3;
  color:#166534;
}
.alertSubmitBtn{background:#15803d;border-radius:10px}
.alertConsent{color:#667085}

.station{border-color:#eaecf0}
.stationName,.price{color:#101828}
.stationMeta{color:#667085}
.freshTag{background:#ecfdf3;color:#027a48}
.agingTag{background:#fffaeb;color:#b54708}
.staleTag{background:#fef3f2;color:#b42318}

.bigSectionTitle{font-size:19px}
.simpleIntro{color:#667085;font-size:14px;line-height:1.45;margin-top:5px}
.phoneSteps{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.phoneStepGroup{
  padding:14px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f9fafb;
  color:#344054;
}
.phoneStepGroup>strong{color:#101828}
.phoneStepGroup ol{margin:9px 0 0;padding-left:20px}
.phoneStepGroup li{margin:6px 0;font-size:13px;line-height:1.4}

.contactButton{
  display:inline-block;
  margin-top:14px;
  padding:11px 14px;
  border-radius:9px;
  background:#15803d;
  color:#fff;
  text-decoration:none;
  font-weight:800;
}
.contactEmail{margin-top:9px;color:#667085;font-size:13px}

.shareBtn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.shareIcon{width:17px;height:17px;fill:currentColor}

.feedbackBtns{grid-template-columns:1fr 1fr 1.2fr}
footer{color:#98a2b3}

@media(max-width:640px){
  .locationGateTitle{font-size:32px}
  .valuePreview{grid-template-columns:1fr}
  .phoneSteps{grid-template-columns:1fr}
  .signalGrid{grid-template-columns:1fr}
}

.comparisonGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:15px;
}
.comparisonItem{
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f9fafb;
  padding:13px;
  display:flex;
  gap:9px;
  align-items:flex-start;
}
.comparisonIcon{font-size:20px;line-height:1}
.comparisonItem strong{
  display:block;
  font-size:14px;
  color:#101828;
}
.comparisonItem span{
  display:block;
  margin-top:4px;
  font-size:18px;
  font-weight:850;
  color:#15803d;
}
.comparisonAssumptions{
  margin-top:10px;
  font-size:11px;
  line-height:1.4;
  color:#98a2b3;
}
.newsList{
  display:grid;
  gap:9px;
  margin-top:14px;
}
.newsItem{
  border:1px solid #e4e7ec;
  border-radius:10px;
  padding:12px 13px;
  background:#fff;
}
.newsItem a{
  color:#101828;
  text-decoration:none;
  font-weight:750;
  line-height:1.35;
  font-size:14px;
}
.newsItem a:hover{text-decoration:underline}
.newsMeta{
  margin-top:4px;
  color:#667085;
  font-size:11px;
}
.newsLoading{
  color:#667085;
  font-size:13px;
}
.newsNote{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid #eaecf0;
  color:#98a2b3;
  font-size:11px;
  line-height:1.4;
}
@media(max-width:640px){
  .comparisonGrid{grid-template-columns:1fr}
}

.marketBrief{
  margin-top:14px;
  padding:14px;
  border:1px solid #e4e7ec;
  border-radius:10px;
  background:#f9fafb;
  color:#344054;
  font-size:15px;
  line-height:1.5;
}
.marketBrief strong{color:#101828}
.marketBrief .briefLead{
  display:block;
  margin-bottom:5px;
  font-weight:850;
  color:#101828;
}
.newsSources{
  margin-top:10px;
  border-top:1px solid #eaecf0;
  padding-top:10px;
}
.newsSources summary{
  cursor:pointer;
  color:#175cd3;
  font-size:13px;
  font-weight:750;
}

/* V1.7.6 return-from-station savings modal */
body.modalOpen{overflow:hidden}
.fuelModalOverlay{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.42);display:flex;align-items:flex-end;justify-content:center;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));backdrop-filter:blur(2px)}
.fuelModalOverlay.hidden{display:none}
.fuelModal{position:relative;width:min(100%,520px);background:#fff;border:1px solid rgba(22,163,74,.22);border-radius:24px;padding:26px 22px 20px;box-shadow:0 -10px 40px rgba(15,23,42,.18)}
.fuelModalClose{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:30px;line-height:1;color:#64748b;padding:5px 8px;cursor:pointer}
.fuelRewardKicker{font-size:12px;font-weight:800;letter-spacing:.08em;color:#15803d;margin-bottom:8px}
.fuelModalTitle{font-size:28px;line-height:1.12;padding-right:38px}
.fuelModalPrompt{font-size:16px;line-height:1.45;color:#475569;margin-top:8px;margin-bottom:18px}
.fuelModal .fillDetails{display:grid;gap:14px}
.fuelModal .fillDetails label{display:grid;gap:7px;font-size:14px;font-weight:700;color:#334155}
.fuelModal .fillDetails input{width:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:14px;padding:14px;font-size:18px;background:#fff;color:#0f172a}
.fuelModal .moneyInput{display:flex;align-items:center;border:1px solid #cbd5e1;border-radius:14px;padding-left:14px;background:#fff}
.fuelModal .moneyInput input{border:0;padding-left:8px;outline:none}
.fuelModal .fillSaveBtn{margin-top:2px;min-height:54px;font-size:17px}
.fuelNotNowBtn,.fuelDoneBtn{width:100%;margin-top:8px}
.fuelModal .fillResult{text-align:center;margin:16px 0 4px}
.savingsBig{font-size:28px;line-height:1.15;font-weight:900;color:#15803d}
.savingsSmall{font-size:14px;line-height:1.4;color:#64748b;margin-top:6px;font-weight:600}
.fuelModal .shareSavingsBtn{width:100%;margin-top:16px;min-height:52px}
@media(min-width:700px){.fuelModalOverlay{align-items:center}.fuelModal{border-radius:22px}}

.weekendNote{margin-top:8px;color:#667085;line-height:1.4;}


/* V1.9.7 trust + personal value */
.trustStrip{display:flex;flex-direction:column;gap:2px;margin:12px 0 16px;padding:11px 13px;border:1px solid rgba(16,185,129,.22);border-radius:12px;background:rgba(16,185,129,.06);text-decoration:none;color:inherit}
.trustStrip strong{font-size:14px}
.trustStrip span{font-size:12px;color:#667085}
.savingsCard .primary{width:100%;margin-top:12px}
.savingsSummary{display:flex;align-items:baseline;gap:10px;margin:8px 0 4px}
.savingsSummary strong{font-size:30px;letter-spacing:-.02em}
.savingsSummary span{font-size:13px;color:#667085}
footer a{color:inherit;text-decoration:underline;text-underline-offset:2px}


/* V1.9.8 test — ultra-clear station navigation + inline fill tracker */
.stationTapHelp{display:flex;flex-direction:column;gap:2px;margin:8px 0 12px;padding:10px 12px;border-radius:12px;background:#eefaf3;border:1px solid #b7e7c8;color:#17663a;font-size:14px;line-height:1.35}
.stationTapHelp span{font-size:12px;color:#52705f}
.mapCta{margin-top:6px;font-size:12px;font-weight:800;color:#178a45}
.station:hover .mapCta{text-decoration:underline}
.savingsCard{border:2px solid rgba(23,138,69,.20)}
.savingsEyebrow{font-size:12px;font-weight:900;letter-spacing:.16em;color:#178a45;margin-bottom:6px}
.savingsPromise{font-size:14px;line-height:1.5;color:#475467;margin:4px 0 14px}
.savingsPromise strong{color:#101828}
.fillReturnPrompt,.latestTimingResult{display:flex;flex-direction:column;gap:3px;padding:11px 12px;margin:10px 0;border-radius:12px;background:#eefaf3;border:1px solid #b7e7c8;font-size:13px;line-height:1.4}
.latestTimingResult{background:#f6f8fb;border-color:#d9dee8}
.savingsSummary{justify-content:space-between;align-items:flex-end;padding:12px 0;border-top:1px solid #eaecf0;border-bottom:1px solid #eaecf0;margin:14px 0}
.savingsSummary>div{display:flex;flex-direction:column;gap:2px}
.savingsSummaryLabel{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:#667085}
.inlineFillForm{display:grid;gap:12px}
.numberedField{display:grid;gap:6px;font-size:14px;font-weight:800;color:#1d2939}
.numberedField b{display:inline-grid;place-items:center;width:23px;height:23px;margin-right:5px;border-radius:999px;background:#178a45;color:white;font-size:12px}
.numberedField input{width:100%;box-sizing:border-box;border:1px solid #cfd5df;border-radius:12px;padding:13px 14px;font:inherit;font-weight:500;background:white}
.numberedField .moneyInput{display:flex;align-items:center;border:1px solid #cfd5df;border-radius:12px;background:white;padding-left:13px}
.numberedField .moneyInput input{border:0;border-radius:0;background:transparent}
.fillPrivacyNote{font-size:11px;line-height:1.4;color:#667085;text-align:center}
.timingPendingNote{margin-top:8px;padding:8px 10px;border-radius:10px;background:#f6f8fb;font-size:12px;line-height:1.4}
.behaviorQuestion{margin-top:12px;padding-top:10px;border-top:1px solid #eaecf0;font-size:12px;color:#475467}
.behaviorQuestion button{margin-left:6px;border:1px solid #cfd5df;background:white;border-radius:8px;padding:5px 8px;font-weight:700;cursor:pointer}
@media(max-width:560px){
  .savingsSummary{align-items:flex-start;flex-direction:column}
  .stationTapHelp{font-size:13px}
}


/* V1.9.9 test — accessibility + direct-response clarity */
html{font-size:18px}
body{font-size:18px;line-height:1.5}
.shell{max-width:760px;padding-left:22px;padding-right:22px}
.card{padding:24px;border-radius:18px}
.brand{font-size:30px}
.sub,.small{font-size:16px;line-height:1.45}
.sectionTitle{font-size:24px;line-height:1.2}
.bigSectionTitle{font-size:26px}
.simpleIntro{font-size:17px}
.predictionKicker,.preLocationEyebrow,.alertEyebrow,.savingsEyebrow{font-size:14px}
.predictionQuestion{font-size:20px}
.predictionSummary{font-size:20px}
.decisionMeaning{font-size:19px;line-height:1.45}
.confidenceRow{font-size:17px}
.explainLabel,.marketPanelTitle{font-size:15px}
.plainWhy{font-size:18px;line-height:1.45;padding:16px}
.marketSourceHelp,.howDecision{font-size:16px}
.signalName{font-size:16px}
.signalValue{font-size:24px}
.signalMeaning{font-size:15px;line-height:1.4}
.membershipTitle{font-size:21px}
.membershipHint{font-size:16px}
.clubChip{font-size:17px}
.stationTapHelp{font-size:18px;padding:14px 16px;line-height:1.4}
.stationTapHelp span{font-size:16px}
.stationHint{font-size:16px}
.station{padding:18px 0;gap:14px;align-items:start}
.stationName{font-size:22px;font-weight:850}
.stationMeta{font-size:16px;line-height:1.35;margin-top:5px}
.mapCta{font-size:17px;margin-top:9px}
.price{font-size:30px;font-weight:900}
.primary,.ghost,.vote{min-height:52px;font-size:17px;padding:13px 16px}
#stationToggle{font-size:17px!important;min-height:56px}
.trustStrip{padding:14px 16px}
.trustStrip strong{font-size:17px}
.trustStrip span{font-size:15px}
.alertTitle{font-size:34px}
.alertCopy{font-size:18px;line-height:1.45}
.alertChannel{font-size:17px;min-height:54px}
.alertInput{font-size:19px;min-height:58px}
.alertSubmitBtn{font-size:18px;min-height:58px}
.alertConsent{font-size:16px}
.savingsHeadline{font-size:28px}
.savingsPromise{font-size:18px;line-height:1.5}
.savingsSummary{padding:16px 0}
.savingsSummaryLabel{font-size:14px}
.savingsSummary strong{font-size:38px}
.savingsSummary span{font-size:17px}
.savingsCta{width:100%;min-height:62px!important;font-size:20px!important}
.fillPrivacyNote{font-size:14px;line-height:1.4}
.latestTimingResult{font-size:16px;line-height:1.45}
.latestTimingResult.hidden{display:none!important}
.comparisonItem strong{font-size:17px}
.comparisonItem span{font-size:22px}
.comparisonAssumptions,.newsNote{font-size:14px}
.marketBrief{font-size:18px}
.newsItem a{font-size:17px}
.newsMeta,.newsLoading{font-size:14px}
.contactEmail{font-size:16px}
footer{font-size:14px}

/* one clean fill modal */
.fuelModalOverlay{align-items:center;padding:18px}
.fuelModal{width:min(100%,620px);padding:32px 28px 24px;border-radius:24px;max-height:calc(100vh - 36px);overflow:auto}
.fuelModalTitle{font-size:34px;font-weight:950;line-height:1.12}
.fuelRewardKicker{font-size:14px}
.fuelModalPrompt{font-size:18px;line-height:1.5;margin-bottom:22px}
.fuelModal .fillDetails{gap:18px}
.fuelModal .fillDetails label{font-size:18px;gap:9px}
.stepLabel{display:flex;align-items:center;gap:9px;font-weight:850}
.stepLabel b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:999px;background:#15803d;color:#fff;font-size:16px;flex:0 0 auto}
.fuelModal .fillDetails input{min-height:60px;padding:15px 16px;font-size:21px;border-radius:14px}
.fuelModal .moneyInput{min-height:60px;padding-left:16px;border-radius:14px}
.fuelModal .moneyInput input{min-height:56px}
.currencyMark{font-size:24px;font-weight:900;color:#101828}
.fuelModal .fillSaveBtn{min-height:64px;font-size:20px}
.fuelNotNowBtn,.fuelDoneBtn{font-size:17px;min-height:52px}
.fuelModal .fillResult{font-size:17px;line-height:1.45}
.savingsBig{font-size:32px}
.savingsSmall{font-size:17px}
.timingPendingNote{font-size:15px;line-height:1.45}
.behaviorQuestion{font-size:16px}
.behaviorQuestion>div{display:flex;gap:8px;margin-top:10px}
.behaviorQuestion button{font-size:16px;min-height:44px;padding:9px 12px}
.fuelModalClose{font-size:36px;min-width:48px;min-height:48px}
.fuelModalOverlay.hidden{display:none!important}

@media(max-width:640px){
  html{font-size:17px}
  .shell{padding-left:14px;padding-right:14px}
  .card{padding:20px 17px}
  .brand{font-size:27px}
  .decision{font-size:clamp(42px,12vw,58px)!important}
  .stationName{font-size:20px}
  .stationMeta{font-size:15px}
  .price{font-size:27px}
  .mapCta{font-size:16px}
  .fuelModalOverlay{align-items:flex-end;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
  .fuelModal{padding:28px 20px 20px;border-radius:24px 24px 18px 18px;max-height:92vh}
  .fuelModalTitle{font-size:31px}
}


/* V1.9.9 test — recent fill history */
.recentSavingsHistory{margin-top:18px;border-top:1px solid #e4e7ec;padding-top:16px}
.historyTitle{font-size:18px;font-weight:900;margin-bottom:8px}
.historyRow{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid #eef1f4}
.historyRow:first-of-type{border-top:0}
.historyRow>div{display:flex;flex-direction:column;gap:3px}
.historyRow>div:last-child{text-align:right;align-items:flex-end}
.historyRow strong,.historyRow b{font-size:16px}
.historyRow span{font-size:14px;color:#667085;line-height:1.35}
@media(max-width:560px){
  .historyRow{flex-direction:column;gap:7px}
  .historyRow>div:last-child{text-align:left;align-items:flex-start}
}

/* Transparent outcomes: prominent enough to read, calm even for misses. */
.predictionTransparency{
 margin:16px 0 12px;padding:14px 16px;border-radius:13px;
 border:1px solid #d6e2da;background:#f5faf7;color:#344054;
 font-size:16px;line-height:1.5;
}
.predictionTransparency strong{display:block;font-size:17px;color:#143821;margin-bottom:3px}
.predictionTransparency a{color:#166534;font-weight:800;display:inline-block;margin-top:4px}
.latestTimingResult{font-size:17px;padding:17px;line-height:1.5}
.latestTimingResult strong{font-size:20px;line-height:1.3}
.latestTimingResult small{display:block;font-size:15px;line-height:1.5;margin-top:8px}
.latestTimingResult a{color:inherit;font-weight:800;text-decoration:underline}
.latestTimingResult.timingMiss{background:#fff7ed;border-color:#fed7aa;color:#9a3412}
.latestTimingResult.timingWin{background:#edfdf3;border-color:#b6e7c8;color:#166534}
.latestTimingResult.timingFlat{background:#f6f8fb;border-color:#d9dee8;color:#344054}


/* Discovery completeness: missing stations have a simple correction channel. */
.stationCheckNote{color:#9a3412;font-weight:700}
.missingStationPanel{margin-top:18px;padding:16px;border:1px solid #d7e0d8;border-radius:14px;background:#fafcfb}
.missingStationPanel summary{cursor:pointer;min-height:42px;font-size:17px;font-weight:850;color:#166534;display:flex;align-items:center}
.missingStationPanel p{font-size:15px;line-height:1.5;color:#475467;margin:6px 0 14px}
.missingStationPanel form{display:flex;flex-direction:column;gap:10px}
.missingStationPanel label{font-size:16px;font-weight:750;color:#344054}
.missingStationPanel input{display:block;width:100%;min-height:54px;padding:12px;font-size:18px;border-radius:12px;border:1px solid #c8d0da;background:#fff;color:#101828}
.missingStationPanel button{margin-top:6px;font-size:18px;font-weight:850;min-height:54px}
.stationReportStatus{min-height:22px;font-size:15px;line-height:1.5;color:#14532d}

.stationCoverageNote{margin:12px 0 0;color:#667085;font-size:15px;line-height:1.45}

/* Concise station provenance; avoid false-alarm styling on every HERE listing. */
.stationCheckNote{font-size:13px!important;line-height:1.35!important;font-weight:600!important;color:#667085!important;margin-top:3px}
.stationSearchForm{margin:18px 0 16px}
.stationSearchForm label{display:block;font-size:18px;font-weight:850;color:#1d2939;margin-bottom:8px}
.stationSearchControls{display:flex;gap:9px;align-items:stretch}
.stationSearchControls input{min-width:0;flex:1;min-height:54px;border-radius:12px;border:1px solid #c8d0da;padding:12px 13px;font-size:18px;background:white;color:#101828}
.stationSearchControls button{min-height:54px;border:1px solid #15803d;color:#166534;font-size:17px;font-weight:850;padding:12px 15px;border-radius:12px;white-space:nowrap;background:#f0fdf4}
.stationSearchControls button:disabled{opacity:.6;cursor:wait}
.stationSearchHelp{color:#667085;font-size:14px;line-height:1.45;margin-top:7px}
.stationSearchResults{border:1px solid #cfe7d8;background:#f4fbf6;border-radius:13px;padding:14px 16px;margin:14px 0;font-size:16px;line-height:1.4}
.stationSearchResults.hidden{display:none}
.stationSearchResults>strong{display:block;color:#14532d;font-size:16px;line-height:1.5}
.stationSearchResults .station{background:white;border:1px solid #e3e8e5;border-radius:12px;padding:15px;margin-top:10px}
.stationSearchResults .station .stationName{font-size:20px}
.stationSearchResults .station .price{font-size:23px}
.stationSearchResults .station .price.noPrice{font-size:16px;max-width:140px;text-align:right;color:#667085}
@media(max-width:560px){
  .stationSearchControls{flex-direction:column}
  .stationSearchControls button{width:100%}
  .stationSearchResults .station{gap:10px}
}

.stationReportFromSearch{margin-top:12px;width:100%;min-height:48px;padding:9px 14px;border:1px solid #15803d;color:#166534;border-radius:10px;font-size:17px;font-weight:850;background:#fff}

/* Data quality is two separate concepts: price freshness and location match. */
.qualityControl{
  margin:14px 0 18px;padding:14px 17px;
  border:1px solid #cfded3;background:#f7fbf8;border-radius:14px
}
.qualityToggleLabel{
  display:flex;align-items:flex-start;gap:13px;cursor:pointer;
  color:#143b26;font-weight:850;font-size:18px;line-height:1.35;
}
.qualityToggleLabel input{
  flex:none;appearance:auto;accent-color:#15803d;
  width:24px;height:24px;margin:0;cursor:pointer
}
.qualityToggleLabel small{
  display:block;color:#44566b;font-weight:500;
  font-size:16px;line-height:1.45;margin-top:3px
}
.qualityDisclosure{margin-top:12px;border-top:1px solid #dae5dd;padding-top:12px}
.qualityDisclosure summary{cursor:pointer;color:#155e35;font-size:16px;font-weight:800;line-height:1.4}
.qualityDisclosure p{color:#344054;font-size:16px;line-height:1.55;margin:12px 0 4px}
.qualityEmpty{
  background:#fff9ee;border:1px solid #ebd6af;border-radius:13px;
  padding:16px;color:#475467;font-size:17px;line-height:1.5
}
.qualityEmpty strong{display:block;font-size:20px;color:#333}
.qualityEmpty button{width:100%;min-height:50px;margin-top:9px;font-size:17px}
.stationCheckNote{font-size:15px!important;line-height:1.4!important}
.stationSearchHelp{font-size:16px;line-height:1.45}
@media(max-width:560px){
  .qualityControl{padding:14px}
  .qualityToggleLabel{font-size:18px}
  .qualityDisclosure summary{font-size:17px}
}

/* Known nearby gas stations may lack any current price in our regular-gas source.
   Keep them discoverable without presenting an invented cheap-price ranking. */
.knownStationsGroup{margin-top:22px;padding-top:17px;border-top:2px solid #dcebe0}
.knownStationsGroup h3{margin:0 0 6px;font-size:21px;color:#102a1a;font-weight:900}
.knownStationsGroup>p{margin:0 0 12px;font-size:17px;line-height:1.5;color:#475467}
.knownStationsGroup .station{margin-top:10px;padding:16px;background:#f9fcfa;border:1px solid #d1e4d7;border-radius:12px}
.knownStationsGroup .stationName{font-size:20px}
.knownStationsGroup .price.noPrice{font-size:17px;max-width:140px;text-align:right;color:#465362;line-height:1.3}
.knownStationNote{margin:8px 0 6px;color:#465362;font-size:16px;line-height:1.45}
@media(max-width:600px){
  .knownStationsGroup h3{font-size:20px}
  .knownStationsGroup .station{gap:10px}
  .knownStationsGroup .price.noPrice{font-size:15px}
}

/* Driver-reported prices are optional and reviewed before they become live quotes. */
.missingStationPanel select{display:block;width:100%;min-height:54px;padding:12px;
  font-size:18px;border:1px solid #c8d0da;border-radius:12px;background:#fff;color:#101828}
.missingStationPanel .moneyInput{display:flex;gap:8px;align-items:center;
  border:1px solid #c8d0da;background:#fff;padding:0 14px;border-radius:12px}
.missingStationPanel .moneyInput input{border:0;min-height:54px}
.missingStationPanel .currencyMark{font-size:22px;font-weight:900}
.missingStationPanel .reportSafetyNote{font-size:16px;line-height:1.5;color:#344054;margin:2px 0}

/* GasPal station list: keep the decision visually first, with one optional control. */
.simpleAddressFilter{display:flex;align-items:center;gap:12px;margin:17px 0 12px;padding:11px 14px;
  border:1px solid #e2e9e5;background:#fbfdfb;border-radius:12px;cursor:pointer;color:#344054;}
.simpleAddressFilter input{flex:none;appearance:auto;width:22px;height:22px;margin:0;accent-color:#16803f;cursor:pointer;}
.simpleAddressFilter strong{font-size:17px;line-height:1.35;font-weight:800;display:block;color:#184d2d;}
.simpleAddressFilter small{display:block;font-size:14px;line-height:1.4;color:#667085;margin-top:2px;}
.stationBottomSearch{border-top:1px solid #e6eaeb;margin:20px 0 12px;padding-top:17px;}
.stationBottomSearch .stationSearchForm{margin:0 0 9px;}
.stationBottomSearch .stationSearchForm label{font-size:18px;line-height:1.4;}
.stationBottomSearch .stationSearchControls input{min-height:52px;}
.stationBottomSearch .stationSearchHelp{display:none;}
.stationCheckNote{font-size:14px!important;line-height:1.4!important;color:#667085!important;margin-top:4px;}
.stationCoverageNote{font-size:14px!important;line-height:1.45;color:#667085!important;margin:10px 0;}
.stationBottomSearch .stationSearchResults{margin-top:11px;}
@media(max-width:560px){
  .simpleAddressFilter{padding:10px 12px;}
  .simpleAddressFilter strong{font-size:17px;}
  .stationBottomSearch .stationSearchControls button{width:100%;}
}

/* Compact location-confidence cue; does not claim a checked pump price. */
.addressTrustBadge{
  display:inline-flex;align-items:center;gap:6px;vertical-align:middle;
  padding:0;border:0;border-radius:0;background:transparent;color:#146c39;
  font-size:15px;font-weight:800;line-height:1.4;letter-spacing:0;white-space:nowrap;
}
.trustCheckIcon{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;flex:0 0 20px;border-radius:50%;
  background:#16803f;color:#fff;font-family:system-ui,sans-serif;
  font-size:14px;font-weight:900;line-height:1;
}
.stationTrustLine{display:flex;align-items:center;margin:6px 0 5px}
.addressTrustBadgeSmall{padding:0;font-size:16px}
.simpleAddressFilter .filterCopy{display:block;min-width:0}
.simpleAddressFilter .filterCopy strong{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
  font-size:17px;line-height:1.4;color:#14472b
}
.simpleAddressFilter .filterCopy small{font-size:14px;margin-top:3px;line-height:1.4}
.addressTrustInfo{margin:0 0 13px 12px;font-size:15px;line-height:1.45}
.addressTrustInfo summary{display:list-item;cursor:pointer;color:#166534;font-weight:750}
.addressTrustInfo[open]{padding:9px 12px;margin-left:0;background:#f5faf6;border:1px solid #d6e6da;border-radius:10px}
.addressTrustInfo p{margin:10px 0 3px;max-width:680px;color:#344054;font-size:15px;line-height:1.5}
@media(max-width:560px){
  .addressTrustBadge{font-size:14px;padding:0}
  .trustCheckIcon{width:19px;height:19px;flex-basis:19px;font-size:13px}
  .addressTrustBadgeSmall{font-size:15px;padding:0}
  .addressTrustInfo summary{font-size:15px}
}


/* GasPal positioning: a curious real-world test, not a claim of proven savings. */
.experimentEyebrow{
  color:#16803f;font-size:12px;font-weight:850;letter-spacing:.07em;
  line-height:1.4;margin-bottom:6px;
}
.predictionTransparency strong{font-size:19px;line-height:1.3}
.predictionTransparency p{margin:6px 0 0;line-height:1.48}
.predictionTransparency .experimentCaveat{color:#5b697a;font-size:13px;line-height:1.45;margin-top:9px}
.experimentActions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:11px}
.experimentActions a{margin:0;font-size:15px;line-height:1.4}
.experimentShare{
  border:1px solid #b9d9c6;background:#fff;color:#166534;
  padding:9px 12px;border-radius:9px;font:inherit;font-size:14px;font-weight:800;
  line-height:1.3;cursor:pointer;min-height:42px;
}
.experimentShare:hover,.experimentShare:focus-visible{border-color:#15803d;background:#eaf8ef}
.predictionShareStatus:not(:empty){display:block;margin-top:8px;color:#166534;font-size:14px;font-weight:700}
.addressTrustInfo p+p{margin-top:12px}
@media(max-width:560px){
  .predictionTransparency{padding:13px 14px}
  .predictionTransparency strong{font-size:18px}
  .experimentActions{align-items:flex-start;gap:9px}
  .experimentActions a{font-size:14px}
  .simpleAddressFilter .filterCopy strong{font-size:16px}
  .simpleAddressFilter .addressTrustBadgeSmall{font-size:15px}
}

/* First screen: benefit bullets are plain text, never fake buttons. */
.valuePreview{
  display:flex;flex-direction:column;gap:9px;margin:16px 0 20px;
  cursor:default;
}
.valuePreview p{
  display:flex;align-items:baseline;gap:9px;
  margin:0;padding:0;border:0;border-radius:0;background:transparent;
  color:#475467;font-size:16px;line-height:1.5;
}
.valuePreview p strong{display:inline;margin:0;letter-spacing:normal;color:#175a36;font-size:16px;font-weight:800}
.valuePreview p>span:not(.valuePreviewIcon){font-size:16px;line-height:1.45}
.valuePreview .valuePreviewIcon{flex:0 0 18px;color:#16803f;font-size:17px;font-weight:900}
.stationValueProof{
  margin:13px 0 16px;padding:12px 14px;border-radius:11px;
  border:1px solid #b9e5cc;background:#f1faf5;
  color:#14532d;font-size:16px;font-weight:700;line-height:1.45;
}
.stationValueProof.hidden{display:none}
@media(max-width:560px){
  .valuePreview{gap:8px}
  .valuePreview p,.valuePreview p strong{font-size:15px}
  .stationValueProof{font-size:15px;padding:11px 12px}
}


/* The practical gas-price decision comes first. The forecast follows it. */
.stationCard .stationTapHelp{
  margin:8px 0 11px;padding:0;border:0;border-radius:0;background:transparent;
  font-size:15px;color:#475467;line-height:1.4;
}
.stationCard .stationTapHelp strong{font-weight:700}
.timingShortcut{
  display:block;margin:14px 0 16px;padding:12px 14px;
  border-radius:11px;border:1px solid #c8e6d4;background:#f2faf5;
  color:#166534;font-size:16px;font-weight:800;line-height:1.4;
  text-decoration:underline;text-underline-offset:3px;
}
.timingShortcut:hover,.timingShortcut:focus-visible{background:#e9f8ef;border-color:#86cfa4}
#tomorrowPrediction{scroll-margin-top:18px}
/* Visible and compact: memberships affect which stations can be recommended. */
.stationEssentials{
  margin:12px 0 15px;padding:13px 15px;border:1px solid #dfe7e1;
  border-radius:12px;background:#fafcfb;
}
.stationEssentials .membershipCard{
  margin:0;padding:0;background:transparent;border:0;border-radius:0;
}
.stationEssentials .membershipTitle{font-size:16px;line-height:1.3}
.stationEssentials .membershipHint{font-size:13px;line-height:1.4;margin-top:3px}
.stationEssentials .membershipOptions{margin-top:9px;gap:7px}
.stationEssentials .clubChip{padding:8px 11px;font-size:15px;line-height:1.3}
.stationEssentials .stationPrefFuel{
  border-top:1px solid #e0e7e2;border-bottom:0;
  margin-top:12px;padding:12px 0 0;
}
.stationEssentials .optionalBody{padding:0}
.stationEssentials .fuelTitle{font-size:16px;line-height:1.3;font-weight:800}
.stationEssentials .lowFuelToggleRow{margin-top:8px;align-items:center}
.stationEssentials .lowFuelText strong{font-size:15px}
.stationEssentials .lowFuelText small{font-size:13px;line-height:1.35}
.predictionLiveHint{
  color:#475467;font-size:15px;line-height:1.4;
  margin:10px 0 14px;padding:10px 12px;
  background:#f4f8fc;border:1px solid #dbe6ef;border-radius:10px;
}
.predictionLiveHint.predictionSourceUnavailable{
  background:#fff9ed;border-color:#f4e4c5;color:#92400e;
}
@media(max-width:560px){
  .stationCard .stationTapHelp{font-size:14px}
  .timingShortcut{font-size:15px;padding:11px 12px}
  .stationEssentials{padding:12px 13px}
  .stationEssentials .clubChip{font-size:14px}
  .predictionLiveHint{font-size:14px;padding:9px 11px}
}


/* Final launch polish: make the core station value impossible to miss. */
.stationCard > .sectionTitle{
  font-size:30px;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.025em;
  color:#101828;
  margin-bottom:8px;
}
.savingsSummary{
  gap:20px;
  flex-wrap:wrap;
}
.savingsSummary > div{
  min-width:180px;
}
@media(max-width:560px){
  .stationCard > .sectionTitle{font-size:26px}
  .savingsSummary{gap:12px}
  .savingsSummary > div{min-width:0;width:100%}
}


/* Final clarity pass: make the 5-second value cue immediately scannable. */
.savingsSpeed{
  font-size:22px;
  line-height:1.2;
  font-weight:900;
  color:#101828;
  margin:2px 0 6px;
}
@media(max-width:560px){
  .savingsSpeed{font-size:20px}
}


/* Launch accessibility: important actions should remain obvious at a glance. */
.experimentEyebrow{font-size:14px}
.predictionTransparency .experimentCaveat{font-size:15px}
.experimentActions a{font-size:16px;min-height:48px;display:inline-flex;align-items:center}
.experimentShare{
  min-height:50px;
  padding:11px 16px;
  font-size:17px;
  background:#15803d;
  border-color:#15803d;
  color:#fff;
}
.experimentShare:hover,.experimentShare:focus-visible{
  background:#166534;
  border-color:#166534;
}
.stationEssentials .membershipHint{font-size:15px}
.stationEssentials .clubChip{min-height:44px;font-size:16px;padding:9px 12px}
.stationEssentials .lowFuelText strong{font-size:16px}
.stationEssentials .lowFuelText small{font-size:15px}
.locationSecondary{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
}
.phoneStepGroup li{font-size:15px}
.contactButton{min-height:48px;display:inline-flex;align-items:center}
@media(max-width:560px){
  .experimentEyebrow{font-size:14px}
  .experimentActions a{font-size:16px}
  .experimentShare{font-size:17px;min-height:50px}
  .stationEssentials .clubChip{font-size:16px;min-height:44px}
  .stationEssentials .membershipHint{font-size:15px}
  .stationEssentials .lowFuelText small{font-size:15px}
}


/* iPhone simplification: keep the decision interface compact, readable and fast. */
@media(max-width:640px){
  .shell{
    padding-left:10px;
    padding-right:10px;
    padding-top:calc(14px + env(safe-area-inset-top));
  }
  header{
    align-items:flex-start;
    gap:8px;
    margin-bottom:9px;
    padding-bottom:5px;
  }
  .brand{font-size:25px}
  .sub{font-size:15px;line-height:1.35;max-width:220px}
  #locUpdateBtn{
    min-height:44px;
    width:auto;
    flex:0 0 auto;
    padding:8px 10px;
    border-radius:10px;
    font-size:14px;
    line-height:1.15;
    white-space:nowrap;
  }

  .card{
    padding:15px 14px;
    margin:10px 0;
    border-radius:14px;
  }

  .stationCard > .sectionTitle{
    font-size:23px;
    line-height:1.08;
    margin-bottom:7px;
  }
  .stationCard .stationTapHelp{
    margin:5px 0 9px;
    font-size:15px;
    line-height:1.35;
  }
  .stationCard .stationTapHelp span{font-size:14px}
  .stationHint{display:none}
  .stationValueProof{
    margin:9px 0 11px;
    padding:10px 11px;
    font-size:14px;
    line-height:1.4;
  }
  .station{padding:14px 0;gap:10px}
  .stationName{font-size:19px}
  .stationMeta{font-size:14px;line-height:1.35}
  .price{font-size:25px}
  .mapCta{font-size:15px;margin-top:6px}
  .stationCoverageNote{font-size:13px!important;margin:8px 0!important}
  .stationEssentials{padding:10px 11px;margin:10px 0 12px}
  .stationEssentials .membershipTitle{font-size:16px}
  .stationEssentials .membershipHint{font-size:14px}
  .stationEssentials .clubChip{
    min-height:42px;
    font-size:15px;
    padding:8px 10px;
  }
  .stationEssentials .lowFuelText strong{font-size:15px}
  .stationEssentials .lowFuelText small{font-size:14px}

  .predictionCard{padding:16px 14px}
  .predictionKicker{font-size:12px;margin-bottom:5px}
  .predictionQuestion{font-size:16px;margin-top:3px}
  .decision{
    font-size:clamp(38px,11vw,48px)!important;
    margin:12px 0 6px;
  }
  .predictionSummary{font-size:17px;margin-bottom:5px}
  .decisionMeaning{font-size:16px;line-height:1.4}
  .confidenceRow{
    margin-top:10px;
    padding:10px 0;
    gap:7px;
    font-size:15px;
  }

  .predictionTransparency{
    margin:12px 0 9px;
    padding:11px 12px;
    font-size:15px;
    line-height:1.42;
  }
  .experimentEyebrow{font-size:12px;margin-bottom:4px}
  .predictionTransparency strong{
    font-size:17px;
    line-height:1.3;
  }
  .predictionTransparency p{
    font-size:15px;
    line-height:1.42;
    margin-top:5px;
  }
  .predictionTransparency .experimentCaveat{
    font-size:14px;
    margin-top:6px;
  }
  .experimentActions{margin-top:8px;gap:9px}
  .experimentActions a{
    min-height:44px;
    font-size:15px;
  }
  .experimentShare{
    min-height:46px;
    font-size:16px;
    padding:9px 13px;
  }

  .explainBlock{margin-top:13px}
  .explainLabel{font-size:13px}
  .plainWhy{
    margin-top:6px;
    padding:10px 11px;
    font-size:16px;
    line-height:1.4;
  }
  .marketPanel{
    margin-top:12px;
    padding-top:12px;
  }
  .signalGrid{gap:7px}
  .signalBox{
    display:block;
    padding:11px 12px;
    border-radius:10px;
  }
  .signalName{font-size:16px}
  .signalValue{
    margin-top:5px;
    font-size:20px;
    line-height:1.25;
    text-align:left;
    overflow-wrap:normal;
    word-break:normal;
  }
  .signalMeaning{
    margin-top:4px;
    font-size:14px;
    line-height:1.38;
  }
  .howDecision{
    margin-top:12px;
    padding-top:11px;
    font-size:15px;
  }

  .savingsHeadline{font-size:24px}
  .savingsSpeed{font-size:19px}
  .savingsPromise{font-size:16px;line-height:1.45}
  .savingsSummary strong{font-size:32px}
  .savingsSummary span{font-size:15px}
  .savingsCta{
    min-height:56px!important;
    font-size:18px!important;
  }
  .fillPrivacyNote{font-size:13px}

  .alertSignupCard{padding:16px 14px}
  .alertTitle{font-size:25px}
  .alertCopy{font-size:16px}
  .alertChannel{font-size:15px;min-height:48px}
  .alertInput,.alertSubmitBtn{min-height:52px;font-size:16px}

  /* These are useful context, not part of the core where/when decision. Keep mobile focused. */
  .newsCard,
  .addGasPalCard{display:none}

  .feedbackBtns .vote{font-size:15px;min-height:46px}
  footer{font-size:13px;line-height:1.45}
}


/* Mobile cleanup 220: smaller hierarchy + organized personalization controls. */
.stationPrefsHeading{
  font-size:16px;
  line-height:1.25;
  font-weight:900;
  color:#101828;
  margin-bottom:2px;
}
.advancedStationOptions{
  margin:7px 0 11px;
  padding:0 2px;
}
.advancedStationOptions>summary{
  cursor:pointer;
  color:#667085;
  font-size:14px;
  font-weight:750;
  min-height:38px;
  display:flex;
  align-items:center;
}
.advancedStationOptions[open]{
  padding:8px 10px 10px;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#fafcfb;
}
.advancedStationOptions .simpleAddressFilter{
  margin:5px 0 8px;
}
.advancedStationOptions .addressTrustInfo{
  margin:2px 0 0 10px;
}

@media(max-width:640px){
  html{font-size:16px}

  .shell{
    padding-left:9px;
    padding-right:9px;
  }
  header{
    gap:8px;
    margin-bottom:8px;
  }
  .brand{font-size:24px}
  .sub{
    font-size:14px;
    line-height:1.35;
    max-width:205px;
  }

  /* Restore the clean production Change location button. */
  #locUpdateBtn{
    min-height:52px;
    width:auto;
    flex:0 0 auto;
    padding:13px 16px;
    border-radius:12px;
    font-size:17px;
    line-height:1.2;
    white-space:normal;
  }

  .card{
    padding:13px 12px;
    margin:9px 0;
  }

  .stationCard > .sectionTitle{
    font-size:21px;
    line-height:1.08;
    letter-spacing:-.02em;
  }
  .stationCard .stationTapHelp{font-size:14px}
  .stationCard .stationTapHelp span{font-size:13px}
  .stationValueProof{
    font-size:14px;
    padding:9px 10px;
  }
  .station{padding:12px 0}
  .stationName{font-size:18px}
  .stationMeta{font-size:14px}
  .price{font-size:24px}
  .mapCta{font-size:14px}

  .stationEssentials{
    padding:0;
    margin:9px 0 6px;
    overflow:hidden;
    border:1px solid #dfe7e1;
    border-radius:12px;
    background:#fbfdfb;
  }
  .stationPrefsHeading{
    padding:10px 11px 7px;
    font-size:15px;
    color:#166534;
  }

  .stationEssentials .stationPrefFuel{
    margin:0;
    padding:9px 11px 11px;
    border-top:0;
    border-bottom:1px solid #e4e7ec;
  }
  .stationEssentials .fuelTitle{
    font-size:16px;
    margin-bottom:5px;
  }
  .stationEssentials .lowFuelToggleRow{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:10px;
    margin-top:0;
  }
  .stationEssentials .lowFuelText{
    grid-column:1;
    grid-row:1;
  }
  .stationEssentials .lowFuelSwitch{
    grid-column:2;
    grid-row:1;
    margin:0;
  }
  .stationEssentials .lowFuelText strong{
    font-size:15px;
    line-height:1.25;
  }
  .stationEssentials .lowFuelText small{
    font-size:13px;
    line-height:1.3;
    margin-top:2px;
  }

  .stationEssentials .membershipCard{
    margin:0;
    padding:10px 11px 11px;
    border:0;
    background:transparent;
  }
  .stationEssentials .membershipTitle{font-size:16px}
  .stationEssentials .membershipHint{
    font-size:13px;
    line-height:1.3;
    margin-top:2px;
  }
  .stationEssentials .membershipOptions{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:8px;
  }
  .stationEssentials .clubChip{
    justify-content:center;
    min-height:40px;
    padding:7px 5px;
    font-size:13px;
    white-space:nowrap;
    gap:5px;
  }
  .stationEssentials .clubChip input{
    width:17px;
    height:17px;
    margin:0;
  }

  .advancedStationOptions{
    margin:5px 0 9px;
  }
  .advancedStationOptions>summary{
    min-height:36px;
    font-size:13px;
  }
  .advancedStationOptions[open]{
    padding:7px 9px 9px;
  }
  .advancedStationOptions .simpleAddressFilter{
    padding:8px 9px;
  }
  .advancedStationOptions .simpleAddressFilter strong{font-size:14px}
  .advancedStationOptions .simpleAddressFilter small{font-size:12px}
  .advancedStationOptions .addressTrustInfo summary{font-size:13px}

  .missingStationPanel{
    margin-top:11px;
    padding:11px 12px;
  }
  .missingStationPanel summary{
    min-height:38px;
    font-size:15px;
    line-height:1.25;
    white-space:nowrap;
  }

  .predictionCard{padding:14px 12px}
  .decision{
    font-size:clamp(35px,10.5vw,44px)!important;
  }
  .predictionSummary{font-size:16px}
  .decisionMeaning{font-size:15px}
  .confidenceRow{font-size:14px}

  .predictionTransparency strong{font-size:16px}
  .predictionTransparency p{font-size:14px}
  .plainWhy{font-size:15px}
  .signalName{font-size:15px}
  .signalValue{font-size:19px}
  .signalMeaning{font-size:13px}

  .savingsHeadline{font-size:22px}
  .savingsSpeed{font-size:18px}
  .savingsPromise{font-size:15px}
  .savingsSummary strong{font-size:29px}

  .alertTitle{font-size:22px}
  .alertCopy{font-size:15px}
}


/* Final mobile CTA polish 221 */
#locUpdateBtn{
  background:linear-gradient(180deg,#22c55e 0%,#16a34a 100%);
  color:#fff;
  border:1px solid #15803d;
  box-shadow:0 3px 0 #166534,0 7px 16px rgba(22,163,74,.18);
}
#locUpdateBtn:hover,#locUpdateBtn:focus-visible{
  background:linear-gradient(180deg,#16a34a 0%,#15803d 100%);
}
#locUpdateBtn:active{
  transform:translateY(2px);
  box-shadow:0 1px 0 #166534,0 4px 10px rgba(22,163,74,.14);
}
.savingsCta{
  box-shadow:0 3px 0 #166534,0 8px 18px rgba(22,163,74,.14);
}
.shareSavingsBtn{
  background:linear-gradient(180deg,#22c55e 0%,#16a34a 100%);
  border:1px solid #15803d;
  color:#fff;
  box-shadow:0 3px 0 #166534,0 8px 18px rgba(22,163,74,.16);
  font-weight:900;
}
@media(max-width:640px){
  #locUpdateBtn{
    min-height:48px;
    padding:11px 14px;
    font-size:15px;
    border-radius:11px;
  }
  .savingsCta{
    min-height:54px!important;
    font-size:17px!important;
  }
  .fuelModalTitle{font-size:25px}
  .fuelModalPrompt{font-size:15px}
  .fuelModal .fillDetails{gap:12px}
  .fuelModal .fillDetails label{font-size:15px}
  .fuelModal .fillDetails input{min-height:52px;font-size:18px}
  .fuelModal .moneyInput{min-height:52px}
  .fuelModal .fillSaveBtn{min-height:54px;font-size:17px}
  .fuelModal .shareSavingsBtn{min-height:52px;font-size:17px}
}


/* Minimal trust polish 222: quiet utility control, clean primary savings action. */
#locUpdateBtn{
  background:#f2f4f7;
  color:#344054;
  border:1px solid #e4e7ec;
  box-shadow:0 1px 2px rgba(16,24,40,.06);
  font-weight:750;
}
#locUpdateBtn:hover,#locUpdateBtn:focus-visible{
  background:#eaecf0;
  border-color:#d0d5dd;
}
#locUpdateBtn:active{
  transform:none;
  box-shadow:inset 0 1px 2px rgba(16,24,40,.06);
}
.savingsCta{
  background:#15803d!important;
  border-color:#15803d!important;
  box-shadow:none!important;
}
.savingsCta:hover,.savingsCta:focus-visible{
  background:#166534!important;
  border-color:#166534!important;
}
.fillPrivacyNote{
  margin-top:10px;
  line-height:1.5;
}
@media(max-width:640px){
  #locUpdateBtn{
    min-height:46px;
    padding:10px 13px;
    font-size:15px;
    border-radius:10px;
  }
  .predictionKicker{letter-spacing:.04em}
  .fillPrivacyNote{
    margin-top:9px;
    padding:0 4px;
  }
}


/* Fuel/value clarity 223 */
.stationValueProof{
  display:grid;
  gap:5px;
}
.stationValueProof strong{
  display:block;
  font-size:18px;
  line-height:1.3;
}
.stationValueProof span,
.stationValueProof small{
  display:block;
}
.stationValueProof a{
  color:#166534;
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:3px;
  width:max-content;
  max-width:100%;
}

.fuelTypeChoice{
  padding:9px 11px 11px;
  border-bottom:1px solid #e4e7ec;
}
.fuelTypeTitle{
  display:block;
  font-size:16px;
  font-weight:850;
  color:#101828;
  margin-bottom:7px;
}
.fuelTypeOptions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.fuelTypeOptions label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:42px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  font-size:15px;
  font-weight:750;
  cursor:pointer;
}
.fuelTypeOptions label:has(input:checked){
  border-color:#86cfa4;
  background:#eef9f2;
  color:#166534;
}
.fuelTypeOptions input{
  accent-color:#15803d;
  width:17px;
  height:17px;
  margin:0;
}

.stationSafetyChoice{
  border-top:1px solid #e4e7ec;
  padding:9px 11px 10px;
}
.stationSafetyChoice .simpleAddressFilter{
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
.stationSafetyChoice .filterCopy strong{
  font-size:15px;
  color:#101828;
}
.stationSafetyChoice .filterCopy small{
  font-size:13px;
  line-height:1.35;
}
.stationSafetyChoice .addressTrustInfo{
  margin:5px 0 0 30px;
}
.stationSafetyChoice .addressTrustInfo summary{
  font-size:13px;
  color:#166534;
}

.dieselTimingNotice{
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #dbe5dd;
  border-radius:11px;
  background:#f8faf9;
}
.dieselTimingNotice strong,
.dieselTimingNotice span{
  display:block;
}
.dieselTimingNotice strong{
  color:#166534;
  font-size:17px;
}
.dieselTimingNotice span{
  margin-top:3px;
  color:#475467;
  font-size:15px;
}
.predictionCard.dieselMode .decision,
.predictionCard.dieselMode .predictionSummary,
.predictionCard.dieselMode .decisionMeaning,
.predictionCard.dieselMode .confidenceRow,
.predictionCard.dieselMode .predictionTransparency,
.predictionCard.dieselMode .predictionLiveHint,
.predictionCard.dieselMode .weekendNote,
.predictionCard.dieselMode .explainBlock,
.predictionCard.dieselMode .marketPanel,
.predictionCard.dieselMode .howDecision{
  display:none!important;
}

@media(max-width:640px){
  .stationValueProof strong{font-size:16px}
  .stationValueProof span{font-size:14px;line-height:1.35}
  .stationValueProof a{font-size:15px}
  .stationValueProof small{font-size:12px;line-height:1.35}
  .fuelTypeChoice{padding:9px 11px}
  .fuelTypeTitle{font-size:15px}
  .fuelTypeOptions label{min-height:40px;font-size:14px}
  .stationSafetyChoice{padding:9px 11px}
  .stationSafetyChoice .filterCopy strong{font-size:14px}
  .stationSafetyChoice .filterCopy small{font-size:12px}
  .dieselTimingNotice{padding:11px 12px}
  .dieselTimingNotice strong{font-size:16px}
  .dieselTimingNotice span{font-size:14px}
  #predictionShareBtn{white-space:normal;line-height:1.2}
}


/* Final UI alignment 224: quiet fuel selector + consistent trust cue. */
.fuelTypeOptions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  padding:3px;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#f8fafc;
}
.fuelTypeOptions label{
  position:relative;
  min-height:40px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#475467;
  font-weight:750;
  box-shadow:none;
}
.fuelTypeOptions label:has(input:checked){
  background:#fff;
  color:#166534;
  box-shadow:0 1px 2px rgba(16,24,40,.08);
}
.fuelTypeOptions input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.stationSafetyChoice .trustCheckIcon{
  margin-right:5px;
  vertical-align:-1px;
}
.stationSafetyChoice .filterCopy strong{
  display:flex;
  align-items:center;
  gap:0;
}
@media(max-width:640px){
  .fuelTypeOptions{gap:4px}
  .fuelTypeOptions label{min-height:38px;font-size:14px}
}


/* Flow clarity 225: action first, results after completion. */
.savingsResults{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e4e7ec;
}
.savingsResultsTitle{
  font-size:16px;
  font-weight:900;
  color:#101828;
  margin-bottom:4px;
}
.fuelTypeOptions label:has(input:disabled){
  opacity:.65;
  cursor:wait;
}
@media(max-width:640px){
  .savingsResults{margin-top:14px;padding-top:12px}
  .savingsResultsTitle{font-size:15px}
}


/* Stationary fuel selector 226: fuel choice controls the results below it. */
.fuelTypeChoiceTop{
  margin:10px 0 12px;
  padding:0;
  border:0;
}
@media(max-width:640px){
  .fuelTypeChoiceTop{
    margin:8px 0 10px;
    padding:0;
  }
}


/* Savings curiosity flow 227: three obvious inputs, then one rewarding action. */
.savingsCard{
  background:#fff;
}
.savingsHeadline{
  margin-bottom:5px;
}
.savingsPromise{
  max-width:760px;
  margin:0 0 14px;
}
.quickSavingsForm{
  display:grid;
  grid-template-columns:1.35fr .8fr .7fr;
  gap:10px;
  margin-top:10px;
}
.quickSavingsField{
  display:grid;
  gap:6px;
  min-width:0;
}
.quickSavingsField>span{
  display:flex;
  align-items:center;
  gap:7px;
  color:#344054;
  font-size:14px;
  font-weight:850;
}
.quickSavingsField>span b{
  display:inline-grid;
  place-items:center;
  width:23px;
  height:23px;
  border-radius:50%;
  background:#eef8f1;
  color:#166534;
  font-size:13px;
}
.quickSavingsField input{
  width:100%;
  box-sizing:border-box;
  min-height:50px;
  padding:11px 12px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#101828;
  font:inherit;
  font-size:16px;
  outline:none;
}
.quickSavingsField input:focus{
  border-color:#86cfa4;
  box-shadow:0 0 0 3px rgba(22,163,74,.08);
}
.quickMoneyInput{
  display:flex;
  align-items:center;
  min-height:50px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  padding-left:12px;
}
.quickMoneyInput:focus-within{
  border-color:#86cfa4;
  box-shadow:0 0 0 3px rgba(22,163,74,.08);
}
.quickMoneyInput>span{
  font-weight:800;
  color:#344054;
}
.quickMoneyInput input{
  border:0;
  box-shadow:none!important;
  padding-left:7px;
  min-height:48px;
}
.quickSavingsError{
  margin-top:8px;
  color:#b42318;
  font-size:14px;
  font-weight:750;
}
.savingsCta{
  margin-top:12px!important;
  min-height:54px!important;
  background:#1f8f4d!important;
  border-color:#1f8f4d!important;
  border-radius:11px!important;
  box-shadow:none!important;
  font-size:18px!important;
}
.savingsCta:hover,.savingsCta:focus-visible{
  background:#187a40!important;
  border-color:#187a40!important;
}
.fillPrivacyNote{
  margin-top:7px!important;
}
@media(max-width:640px){
  .savingsHeadline{
    font-size:21px;
    line-height:1.15;
  }
  .savingsPromise{
    font-size:14px;
    line-height:1.4;
    margin-bottom:11px;
  }
  .quickSavingsForm{
    grid-template-columns:1fr;
    gap:9px;
    margin-top:8px;
  }
  .quickSavingsField>span{font-size:14px}
  .quickSavingsField input,
  .quickMoneyInput{
    min-height:47px;
    font-size:16px;
  }
  .quickMoneyInput input{min-height:45px}
  .savingsCta{
    min-height:52px!important;
    font-size:17px!important;
    margin-top:10px!important;
  }
  .fillPrivacyNote{
    font-size:12px;
    margin-top:6px!important;
  }
}


/* Savings result feedback + share polish 229 */
.behaviorQuestion{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e4e7ec;
  display:grid;
  gap:12px;
}
.behaviorRow{
  display:grid;
  gap:7px;
}
.behaviorRow strong{
  font-size:15px;
  color:#344054;
}
.behaviorChoices{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.behaviorChoices button{
  margin:0!important;
  min-height:42px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#344054;
  font-size:15px;
  font-weight:750;
  cursor:pointer;
}
.behaviorChoices button[aria-pressed="true"]{
  border-color:#86cfa4;
  background:#eef8f1;
  color:#166534;
  box-shadow:0 0 0 2px rgba(22,163,74,.08);
}

.shareSavingsPrompt{
  margin-top:16px;
  padding-top:14px;
  border-top:1px solid #e4e7ec;
  text-align:center;
  color:#344054;
  font-size:16px;
  line-height:1.4;
  font-weight:800;
}
.shareSavingsBtn{
  width:100%;
  min-height:50px;
  margin-top:10px;
  border:1px solid #a7d7b7;
  border-radius:11px;
  background:#f3fbf6;
  color:#166534;
  box-shadow:none;
  font-size:17px;
  font-weight:900;
  cursor:pointer;
}
.shareSavingsBtn:hover,.shareSavingsBtn:focus-visible{
  background:#eaf7ee;
  border-color:#86cfa4;
}
@media(max-width:640px){
  .behaviorQuestion{gap:10px;margin-top:14px;padding-top:12px}
  .behaviorRow strong{font-size:14px}
  .behaviorChoices button{min-height:40px;font-size:14px}
  .shareSavingsPrompt{font-size:15px;margin-top:14px;padding-top:12px}
  .shareSavingsBtn{min-height:48px;font-size:16px}
}


/* Mobile feedback/share polish 230 */
@media(max-width:640px){
  .behaviorQuestion{
    gap:12px;
  }
  .behaviorQuestion>.behaviorRow{
    display:grid!important;
    grid-template-columns:1fr;
    gap:7px;
    margin-top:0!important;
  }
  .behaviorRow strong{
    font-size:14px;
    line-height:1.35;
  }
  .behaviorChoices{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    margin-top:0!important;
  }
  .behaviorChoices button{
    min-height:38px;
    padding:7px 5px;
    font-size:13px;
    line-height:1.15;
    border-radius:9px;
    white-space:nowrap;
  }
  .shareSavingsPrompt{
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
    font-size:14px;
    line-height:1.4;
  }
  .shareSavingsBtn{
    min-height:46px;
    font-size:15px;
    padding:10px 12px;
    background:#f8fbf9;
    border-color:#b8ddc3;
  }
}


/* Timing follow-up + connector sharing 231 */
.timingPendingNote{
  margin-top:14px;
  padding:12px 14px;
  border:1px solid #d8eadf;
  border-radius:11px;
  background:#f7fbf8;
  color:#344054;
}
.timingPendingNote strong,
.timingPendingNote span{
  display:block;
}
.timingPendingNote strong{
  color:#166534;
  font-size:15px;
  line-height:1.3;
}
.timingPendingNote span{
  margin-top:4px;
  font-size:14px;
  line-height:1.4;
}
@media(max-width:640px){
  .timingPendingNote{
    margin-top:12px;
    padding:11px 12px;
  }
  .timingPendingNote strong{font-size:14px}
  .timingPendingNote span{font-size:13px}
}


/* Post-submit launch prep: fuel grades + restored mobile value sections. */
.fuelGradeOptions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px!important}
.fuelGradeOptions label{min-width:0;justify-content:center;text-align:center;white-space:normal}
.fuelGradeOptions small{display:block;font-size:11px;color:#667085;font-weight:700;margin-left:4px}
.fuelGradeHint{margin-top:8px;color:#667085;font-size:12px;line-height:1.35}
.appStoreCard{border:1px solid #abefc6;background:#f6fef9}
.appStoreButton{display:flex;margin-top:12px;justify-content:center;text-align:center;text-decoration:none;background:#15803d;color:#fff;border-radius:10px;padding:13px 16px;font-weight:850}
@media(max-width:640px){
  .comparisonCard,.contactCard,.appStoreCard{display:block}
  .comparisonCard{margin-top:12px}
  .contactCard,.appStoreCard{padding:16px 14px}
}


.fuelGradePicker{display:flex;align-items:center;gap:10px;margin:8px 0 0}
.fuelGradePicker label{font-weight:800;color:#111827;white-space:nowrap}
.fuelGradePicker select{
  width:100%;max-width:260px;
  appearance:none;-webkit-appearance:none;
  border:1px solid #d0d5dd;border-radius:10px;
  padding:10px 36px 10px 12px;
  font:inherit;font-weight:750;color:#1f2937;background:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20'%3E%3Cpath fill='%23667085' d='M5.5 7.5 10 12l4.5-4.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:16px
}
.fuelGradePicker select:focus{outline:2px solid rgba(22,163,74,.18);border-color:#16a34a}
@media(max-width:640px){
  .fuelGradePicker{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px}
  .fuelGradePicker select{max-width:none;padding-top:9px;padding-bottom:9px}
}

.fuelGradePicker{display:block!important}
.fuelGradePicker select{max-width:220px}
@media(max-width:640px){.fuelGradePicker{display:block!important}.fuelGradePicker select{max-width:none}}


/* Bottom-of-page cleanup: one primary action, neutral supporting actions. */
.alertSignupCard{
  background:#fff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:0 1px 2px rgba(16,24,40,.04)!important;
}
.alertEyebrow{color:#667085!important;font-size:11px!important;letter-spacing:.10em!important}
.alertTitle{font-size:22px!important;line-height:1.18!important}
.alertCopy{font-size:14px!important;line-height:1.45!important}
.alertChannelRow{margin-top:14px!important}
.alertChannel{
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  color:#344054!important;
  border-radius:9px!important;
  min-height:42px!important;
}
.alertChannel.active{
  background:#f9fafb!important;
  border-color:#98a2b3!important;
  color:#101828!important;
  box-shadow:inset 0 0 0 1px #98a2b3!important;
}
.alertInput{
  background:#fff!important;
  border-color:#d0d5dd!important;
  border-radius:9px!important;
}
.alertSubmitBtn{
  background:#101828!important;
  color:#fff!important;
  border-radius:9px!important;
}
.alertSubmitBtn:hover{background:#1d2939!important}
.alertConsent{font-size:12px!important}

.utilityCard{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:14px!important;
  background:#fff!important;
  border:1px solid #e4e7ec!important;
  box-shadow:none!important;
}
.utilityIcon{
  width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;
  background:#f2f4f7;color:#344054;font-weight:800;font-size:17px;
}
.utilityBody{min-width:0}
.utilityCard .bigSectionTitle{font-size:16px!important;margin:0!important}
.utilityCard .simpleIntro{font-size:13px!important;margin-top:2px!important;color:#667085!important}
.utilityAction{
  color:#344054!important;
  background:transparent!important;
  border:0!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:14px!important;
  white-space:nowrap;
  padding:8px 0!important;
  margin:0!important;
}
.utilityAction:hover{text-decoration:underline!important}

.feedbackCard{padding:14px!important}
.feedbackCard .sectionTitle{font-size:16px!important;margin-bottom:10px!important}
.feedbackBtns{gap:7px!important}
.feedbackBtns .vote{
  min-height:40px!important;
  padding:9px 10px!important;
  font-size:13px!important;
  background:#fff!important;
  border:1px solid #d0d5dd!important;
  color:#344054!important;
  border-radius:9px!important;
}
.feedbackBtns .vote:hover{background:#f9fafb!important}

@media(max-width:640px){
  .alertSignupCard{padding:14px 12px!important}
  .alertTitle{font-size:20px!important}
  .alertCopy{font-size:13px!important}
  .alertChannel{min-height:40px!important;font-size:13px!important}
  .alertInput,.alertSubmitBtn{min-height:46px!important;font-size:15px!important}
  .utilityCard{grid-template-columns:auto minmax(0,1fr) auto!important}
  .utilityIcon{width:34px;height:34px}
  .feedbackBtns{grid-template-columns:1fr 1fr 1.15fr!important}
}


/* Always-visible founder contact for early-user testing */
.founderHelp{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147483000;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.founderHelpBtn{
  width:54px;
  height:54px;
  border:0;
  border-radius:50%;
  background:#101828;
  color:#fff;
  font-size:24px;
  line-height:1;
  display:grid;
  place-items:center;
  box-shadow:0 8px 24px rgba(16,24,40,.22);
  cursor:pointer;
}
.founderHelpBtn:focus-visible{
  outline:3px solid rgba(22,163,74,.28);
  outline-offset:3px;
}
.founderHelpPanel{
  width:min(300px,calc(100vw - 32px));
  padding:14px;
  border:1px solid #d0d5dd;
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 40px rgba(16,24,40,.18);
}
.founderHelpPanel.hidden{display:none!important}
.founderHelpTitle{
  color:#101828;
  font-size:17px;
  font-weight:900;
}
.founderHelpCopy{
  margin-top:3px;
  color:#667085;
  font-size:13px;
  line-height:1.4;
}
.founderHelpActions{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:7px;
  margin-top:11px;
}
.founderHelpActions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:8px 7px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#101828;
  text-decoration:none;
  font-size:13px;
  font-weight:850;
  text-align:center;
}
.founderContactActions{
  display:flex;
  gap:12px;
  align-items:center;
}
@media(max-width:640px){
  .founderHelp{right:14px;bottom:14px}
  .founderHelpBtn{width:50px;height:50px;font-size:22px}
  .founderHelpPanel{width:min(290px,calc(100vw - 28px))}
  .founderContactActions{display:grid;gap:4px}
}


/* V1.9.11 test — price-integrity + Tesla-clean station UI */
.stationPrefsDisclosure{
  margin:12px 0 15px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#fafafa;
  overflow:hidden;
}
.stationPrefsDisclosure>summary{
  cursor:pointer;
  list-style:none;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 14px;
  color:#344054;
  font-size:16px;
  font-weight:800;
}
.stationPrefsDisclosure>summary::-webkit-details-marker{display:none}
.stationPrefsDisclosure>summary::after{content:"＋";color:#667085}
.stationPrefsDisclosure[open]>summary::after{content:"−"}
.stationPrefsDisclosure .stationEssentials{
  margin:0;
  padding:3px 14px 14px;
  border:0;
  border-radius:0;
  background:transparent;
}
.stationCard .fuelGradeHint{
  font-size:13px;
  color:#667085;
  margin-top:4px;
}
.stationCard .stationTapHelp{
  margin:5px 0 10px;
  font-size:14px;
}
.stationCard .stationCheckNote{margin-top:5px}
.stationCoverageNote{
  margin-top:8px;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:640px){
  .stationPrefsDisclosure>summary{font-size:15px}
  .stationCard .fuelGradeHint{display:none}
  .stationCoverageNote{font-size:12px}
}


/* V1.9.11 hero — two promises, three benefits, one action */
.heroValueProps{
  display:grid;
  gap:8px;
  margin:16px 0 12px;
}
.heroValueRow{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:9px;
  align-items:start;
  padding:11px 12px;
  border:1px solid #e4e7ec;
  border-radius:11px;
  background:#f9fafb;
}
.heroValueIcon{font-size:21px;line-height:1.2}
.heroValueRow strong{
  display:block;
  color:#15803d;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:2px;
}
.heroValueRow span:not(.heroValueIcon){
  display:block;
  color:#344054;
  font-size:15px;
  line-height:1.32;
}
.heroBenefits{
  display:flex;
  flex-wrap:wrap;
  gap:6px 13px;
  margin:2px 0 14px;
  color:#475467;
  font-size:13px;
  font-weight:750;
}
.locationGate .locationPrompt{margin-top:10px}
@media(max-width:640px){
  .locationGateTitle{font-size:30px;line-height:1.08}
  .heroValueProps{margin-top:14px}
  .heroValueRow{padding:10px 11px}
  .heroValueRow span:not(.heroValueIcon){font-size:14px}
  .heroBenefits{font-size:12px;gap:5px 10px}
}


.stationGradeNote{
  margin-top:5px;
  color:#8a4b08;
  font-size:13px;
  font-weight:750;
  line-height:1.35;
}


/* Local partner pilot - tiny floating helper, intentionally kept away from gas-price rankings. */
.partnerFlap{
  position:fixed;
  right:18px;
  bottom:86px;
  z-index:1200;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.partnerFlap.hidden{display:none}
.partnerFlapTab{
  border:1px solid #d7dee8;
  border-radius:999px;
  background:#fff;
  color:#101828;
  min-height:42px;
  padding:9px 13px;
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
  font:inherit;
  font-size:13px;
  font-weight:850;
  box-shadow:0 5px 18px rgba(16,24,40,.12);
}
.partnerFlapTab:hover{background:#f8fafc}
.partnerFlapPanel{
  width:280px;
  max-width:calc(100vw - 28px);
  display:none;
  position:relative;
  background:#fff;
  border:1px solid #e1e6ee;
  border-radius:16px;
  padding:16px;
  box-shadow:0 14px 34px rgba(16,24,40,.16);
}
.partnerFlap.open .partnerFlapPanel{display:block}
.partnerFlapClose{
  position:absolute;
  top:8px;
  right:9px;
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  color:#667085;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.partnerPrompt{
  padding-right:27px;
  color:#15803d;
  font-size:13px;
  font-weight:900;
  line-height:1.25;
}
.partnerTitle{
  margin-top:7px;
  color:#101828;
  font-size:19px;
  font-weight:900;
  line-height:1.2;
}
.partnerCopy{
  margin-top:4px;
  color:#475467;
  font-size:14px;
  line-height:1.35;
}
.partnerReferral{
  margin-top:10px;
  padding:9px 10px;
  border-radius:10px;
  background:#f2f8f4;
  color:#344054;
  font-size:12px;
  line-height:1.35;
}
.partnerReferral strong{
  display:block;
  color:#166534;
  font-size:13px;
}
.partnerReferral span{
  display:block;
  margin-top:2px;
}
.partnerActions{
  margin-top:12px;
  display:flex;
  align-items:center;
  gap:14px;
}
.partnerPrimary,
.partnerSecondary{
  font-size:14px;
  font-weight:850;
  text-decoration:none;
}
.partnerPrimary{color:#fff;background:#15803d;border-radius:9px;padding:9px 12px}
.partnerSecondary{color:#344054;text-decoration:underline;text-underline-offset:3px}
.partnerFine{
  margin-top:11px;
  color:#98a2b3;
  font-size:10px;
  line-height:1.3;
}
@media(max-width:560px){
  .partnerFlap{
    right:10px;
    bottom:82px;
  }
  .partnerFlapTab{
    min-height:38px;
    padding:8px 11px;
    font-size:12px;
    gap:6px;
  }
  .partnerFlapPanel{
    width:252px;
    padding:14px;
    border-radius:14px;
  }
  .partnerPrompt{font-size:12px}
  .partnerTitle{font-size:18px}
  .partnerCopy{font-size:13px}
  .partnerActions{gap:12px}
  .partnerPrimary,.partnerSecondary{font-size:13px}
}

/* V1.9.12 TEST — timing first + map. Keep the first-use value obvious and uncluttered. */
.timingFirstGate{
  padding:34px 28px 30px;
}
.timingFirstGate .preLocationEyebrow{
  margin-bottom:10px;
  letter-spacing:.08em;
}
.timingFirstGate .locationGateTitle{
  max-width:680px;
  font-size:clamp(38px,7vw,64px);
  line-height:.98;
  letter-spacing:-.045em;
  margin-bottom:16px;
}
.locationGateValue{
  max-width:650px;
  margin:0 0 26px;
  font-size:clamp(18px,3.5vw,24px);
  line-height:1.35;
  color:#475467;
}
.locationGateValue strong{color:#101828}
.timingFirstGate .locationPrimary{margin-top:0}

.timingHero{
  overflow:hidden;
  padding:28px;
  border:1px solid #d0d5dd;
  background:
    radial-gradient(circle at 92% 0%,rgba(34,197,94,.10),transparent 34%),
    #fff;
}
.timingHero .predictionKicker{
  color:#15803d;
  font-size:14px;
  font-weight:900;
  letter-spacing:.11em;
  margin-bottom:7px;
}
.timingHero .predictionQuestion{
  font-size:clamp(27px,5vw,42px);
  line-height:1.05;
  font-weight:850;
  letter-spacing:-.035em;
  color:#101828;
  margin-bottom:16px;
}
.timingHero .decision{
  display:inline-flex;
  align-items:center;
  min-height:68px;
  padding:10px 20px;
  border-radius:18px;
  font-size:clamp(34px,7vw,58px);
  line-height:1;
  font-weight:950;
  letter-spacing:-.045em;
  margin:0 0 10px;
}
.timingHero .decisionMeaning{
  font-size:18px;
  line-height:1.35;
  font-weight:700;
  color:#344054;
  margin:0 0 18px;
}
.timingInputs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px 0 12px;
}
.timingInputRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:14px 15px;
  border:1px solid #e4e7ec;
  border-radius:14px;
  background:#f9fafb;
}
.timingInputName{
  color:#344054;
  font-size:14px;
  font-weight:800;
}
.timingInputValue{
  white-space:nowrap;
  font-size:16px;
  font-weight:900;
}
.timingWhy{
  margin-top:8px;
  border-top:1px solid #eaecf0;
  padding-top:10px;
}
.timingWhy summary{
  cursor:pointer;
  font-weight:800;
  color:#344054;
}
.timingWhy .plainWhy{
  margin-top:10px;
  color:#475467;
  line-height:1.45;
}
.timingMethod{
  margin-top:8px;
  color:#667085;
  font-size:13px;
}
.timingCompat{display:none!important}

.stationCardLead{
  color:#475467;
  font-size:16px;
  margin:-2px 0 12px;
}
.stationViewTabs{
  display:inline-grid;
  grid-template-columns:1fr 1fr;
  gap:4px;
  padding:4px;
  margin:0 0 14px;
  border-radius:12px;
  background:#f2f4f7;
}
.stationViewTab{
  border:0;
  border-radius:9px;
  background:transparent;
  color:#475467;
  padding:9px 18px;
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.stationViewTab.active{
  background:#fff;
  color:#101828;
  box-shadow:0 1px 3px rgba(16,24,40,.12);
}
.stationMapWrap{
  margin:0 0 14px;
}
.stationMap{
  width:100%;
  height:390px;
  overflow:hidden;
  border:1px solid #d0d5dd;
  border-radius:16px;
  background:#f2f4f7;
}
.stationMapHint{
  margin-top:8px;
  color:#667085;
  font-size:13px;
  line-height:1.35;
}
.stationMapError{
  display:grid;
  place-items:center;
  min-height:240px;
  padding:20px;
  text-align:center;
  color:#667085;
}
.stationMap .H_ib_body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

@media(max-width:640px){
  .timingFirstGate{padding:26px 20px 24px}
  .timingFirstGate .locationGateTitle{font-size:43px}
  .locationGateValue{font-size:18px;margin-bottom:22px}
  .timingHero{padding:21px 18px}
  .timingHero .predictionQuestion{font-size:30px}
  .timingHero .decision{font-size:39px;min-height:58px;padding:9px 15px}
  .timingHero .decisionMeaning{font-size:16px}
  .timingInputs{grid-template-columns:1fr;gap:8px}
  .timingInputRow{padding:12px 13px}
  .stationViewTabs{width:100%}
  .stationViewTab{padding:10px}
  .stationMap{height:350px;border-radius:14px}
}


/* V1.9.13 TEST — immediate nearby prices with optional timing outlook. */
.answerTabs{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:10px 0 12px;
}
.answerTab{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:6px;
  min-width:0;
  padding:17px 16px;
  border:1px solid #d0d5dd;
  border-radius:15px;
  background:#fff;
  color:#101828;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:border-color .15s,background-color .15s;
}
.answerTab.active{
  border:2px solid #16a34a;
  background:#f0fdf4;
  padding:16px 15px;
}
.answerTabTitle{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.025em;
  line-height:1.15;
}
.answerTabSubtitle{
  color:#475467;
  font-size:13px;
  font-weight:750;
  line-height:1.3;
}
.answerTab.active .answerTabSubtitle{color:#166534}
#nearbyStationsPanel.hidden,#tomorrowPrediction.hidden{display:none!important}
#nearbyStationsPanel{padding-top:18px}
#nearbyStationsPanel .sectionTitle{font-size:18px;line-height:1.15;margin-bottom:4px}
#nearbyStationsPanel .stationCardLead{font-size:14px;margin:0 0 10px}
#nearbyStationsPanel .stationViewTabs{margin-bottom:10px}
#nearbyStationsPanel .fuelTypeChoiceTop{margin-top:0}
#nearbyStationsPanel .stationValueProof{margin:12px 0}
.stationMapMoreBtn{
  display:block;
  margin:8px auto 0;
  padding:9px 12px;
  border:1px solid #d0d5dd;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font:inherit;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
@media(max-width:640px){
  .answerTabs{gap:8px;margin:8px 0 10px}
  .answerTab{padding:13px 11px;border-radius:12px;gap:5px}
  .answerTab.active{padding:12px 10px}
  .answerTabTitle{font-size:16px}
  .answerTabSubtitle{font-size:12px}
  #nearbyStationsPanel{padding-top:15px}
}


/* V1.9.14 TEST — GasPal core experience: where + when, nothing in the way. */
#localPartnerCard{display:none!important}

header{
  margin:0 0 18px;
  align-items:flex-start;
}
header .brand{
  font-size:27px;
  line-height:1.05;
  letter-spacing:-.03em;
}
header .sub{
  margin-top:5px;
  font-size:14px;
  line-height:1.25;
  color:#667085;
}
#locUpdateBtn{
  min-height:36px;
  padding:8px 11px;
  border:1px solid #d0d5dd;
  border-radius:10px;
  background:#fff;
  color:#344054;
  box-shadow:none;
  font-size:13px;
}
body.locationReady header{margin-bottom:10px}
body.locationReady header .sub{display:none}

/* First screen: one promise, one primary action. */
.timingFirstGate{
  margin:34px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  text-align:left;
}
.timingFirstGate .preLocationEyebrow{
  margin:0 0 10px;
  color:#15803d;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
}
.timingFirstGate .locationGateTitle{
  max-width:500px;
  margin:0;
  color:#101828;
  font-size:clamp(38px,11vw,54px);
  line-height:.98;
  letter-spacing:-.055em;
  font-weight:950;
}
.timingFirstGate .locationGateValue{
  max-width:480px;
  margin:18px 0 26px;
  color:#475467;
  font-size:18px;
  line-height:1.45;
  font-weight:500;
}
.timingFirstGate .locationPrimary{
  min-height:58px;
  border-radius:13px;
  box-shadow:none;
  font-size:18px;
  letter-spacing:-.01em;
}
.locationFree{
  margin-top:10px;
  color:#667085;
  font-size:13px;
  font-weight:700;
  text-align:center;
}
.timingFirstGate .locationSecondary{
  display:block;
  margin:14px auto 0;
  padding:5px;
  color:#344054;
  font-size:14px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.zipFallback{
  margin:18px 0 0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.zipFallbackText{margin-bottom:7px;color:#344054;font-size:13px}
.zipFallbackRow{gap:8px}
.zipFallbackRow input{min-height:48px;background:#fff;border-color:#d0d5dd;color:#101828}
#zipBtn{min-height:48px;background:#fff;border:1px solid #d0d5dd;color:#344054}

/* Two jobs, not two bulky cards. The second label explains the differentiator. */
.answerTabs{
  gap:0;
  margin:0 0 14px;
  padding:3px;
  border:1px solid #d0d5dd;
  border-radius:13px;
  background:#f2f4f7;
}
.answerTab,
.answerTab.active{
  min-height:62px;
  padding:10px 12px;
  border:0;
  border-radius:10px;
  background:transparent;
  box-shadow:none;
}
.answerTab.active{
  background:#fff;
  box-shadow:0 1px 3px rgba(16,24,40,.10);
}
.answerTabTitle{
  font-size:15px;
  line-height:1.15;
  letter-spacing:-.02em;
}
.answerTabSubtitle{
  margin-top:0;
  color:#667085;
  font-size:11px;
  font-weight:700;
}
.answerTab.active .answerTabSubtitle{color:#15803d}

/* Nearby answer: tools and prices immediately, without another container/header. */
#nearbyStationsPanel{
  padding:0;
  margin:0;
  border:0;
  background:transparent;
}
.stationTools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 0 7px;
}
#nearbyStationsPanel .stationViewTabs{
  width:auto;
  flex:0 0 auto;
  margin:0;
  padding:2px;
  border-radius:9px;
}
#nearbyStationsPanel .stationViewTab{
  min-width:58px;
  padding:7px 11px;
  border-radius:7px;
  font-size:13px;
}
#nearbyStationsPanel .fuelTypeChoiceTop{
  width:auto;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
}
#nearbyStationsPanel .fuelGradePicker{margin:0}
#nearbyStationsPanel #fuelGradeSelect{
  width:auto;
  min-width:116px;
  min-height:36px;
  padding:6px 30px 6px 10px;
  border:1px solid #d0d5dd;
  border-radius:9px;
  background:#fff;
  color:#344054;
  font-size:13px;
  font-weight:800;
}
#nearbyStationsPanel #stationList{
  margin-top:0;
  background:#fff;
}
#nearbyStationsPanel .station{
  padding:14px 2px;
}
#nearbyStationsPanel .stationName{font-size:16px}
#nearbyStationsPanel .price{font-size:22px}
#nearbyStationsPanel .stationMeta{font-size:12px}
#nearbyStationsPanel .stationValueProof{
  margin:10px 0 0;
  padding:10px 11px;
  border-radius:10px;
  font-size:13px;
}
#nearbyStationsPanel .stationCoverageNote{font-size:11px;margin:8px 0}
#nearbyStationsPanel .stationPrefsDisclosure{margin-top:8px}

/* Timing is intentionally one tap away and visually calm. */
#tomorrowPrediction.timingHero{
  margin:0;
  padding:20px 17px;
  border:1px solid #d0d5dd;
  border-radius:16px;
  box-shadow:none;
}
.timingHero .predictionKicker{font-size:11px}
.timingHero .predictionQuestion{font-size:25px}
.timingHero .decision{font-size:34px!important}
.timingHero .decisionMeaning{font-size:15px}
.timingInputs{margin-top:14px}

/* Success is the result itself; banners are reserved for warnings/errors. */
.statusMsg.success{display:none}

@media(max-width:640px){
  .shell{padding-top:calc(18px + env(safe-area-inset-top));padding-left:18px;padding-right:18px}
  .timingFirstGate{margin-top:44px}
  .timingFirstGate .locationGateTitle{font-size:43px}
  .timingFirstGate .locationGateValue{font-size:17px;margin:16px 0 22px}
  .answerTabs{margin-bottom:12px}
  .answerTab,.answerTab.active{padding:9px 8px}
  .answerTabTitle{font-size:14px}
  .answerTabSubtitle{font-size:10.5px}
  .stationTools{margin-bottom:4px}
}


/* V1.9.15 TEST — Driven-inspired map-first experience, GasPal's market edge. */
.timingFirstGate .locationGateTitle span{color:#15803d}
.timingFirstGate .locationGateValue{max-width:430px}
.timingFirstGate .preLocationEyebrow{font-size:11px}
body.locationReady .shell{padding-bottom:24px}

/* A true ticker: the forecast stays visible while drivers explore stations. */
.marketTicker{
  display:none;
  width:100%;
  height:52px;
  align-items:center;
  gap:0;
  margin:0 0 12px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:12px;
  background:#10243a;
  color:#fff;
  text-align:left;
  font:inherit;
  cursor:pointer;
  position:sticky;
  top:6px;
  z-index:150;
  box-shadow:0 3px 12px rgba(16,24,40,.12);
}
body.locationReady .marketTicker{display:flex}
.tickerBadge{
  position:relative;
  z-index:1;
  display:flex;
  flex:0 0 auto;
  align-items:center;
  height:100%;
  padding:0 11px;
  background:#147d49;
  color:#fff;
  font-size:10px;
  font-weight:950;
  letter-spacing:.07em;
  white-space:nowrap;
}
.tickerViewport{
  display:block;
  flex:1;
  min-width:0;
  overflow:hidden;
  white-space:nowrap;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 92%,transparent 100%);
}
.tickerTrack{
  display:flex;
  width:max-content;
  align-items:center;
  animation:gaspalTicker 23s linear infinite;
  will-change:transform;
}
.tickerSegment{
  display:inline-block;
  flex:0 0 auto;
  padding:0 45px 0 15px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.01em;
  white-space:nowrap;
}
.tickerChevron{
  display:grid;
  place-items:center;
  flex:0 0 25px;
  height:100%;
  background:#10243a;
  font-size:20px;
  font-weight:800;
  transition:transform .2s;
}
.marketTicker.expanded .tickerChevron{transform:rotate(180deg)}
.marketTicker:focus-visible{outline:3px solid #22c55e;outline-offset:2px}
.marketTicker:hover .tickerTrack,
.marketTicker:focus-visible .tickerTrack{animation-play-state:paused}
@keyframes gaspalTicker{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
  .tickerTrack{animation:none}
  .tickerViewport{overflow:auto}
}

/* Eliminate old competing answer tabs and keep the detailed rationale optional. */
.answerTabs{display:none!important}
#tomorrowPrediction.timingHero{
  margin:0 0 12px;
  padding:15px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#f9fafb;
}
#tomorrowPrediction .predictionKicker{font-size:10px;letter-spacing:.07em}
#tomorrowPrediction .predictionQuestion{font-size:20px}
#tomorrowPrediction .decision{font-size:30px!important}
#tomorrowPrediction .timingInputRow{padding:9px 11px}

/* Map is the product, not a small widget inside a pile of cards. */
#nearbyStationsPanel .stationTools{
  margin:0 0 10px;
  gap:10px;
}
#nearbyStationsPanel .stationViewTabs{
  flex:1 1 auto;
  width:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  background:#f2f4f7;
}
#nearbyStationsPanel .stationViewTab{
  width:100%;
  min-height:38px;
  font-size:14px;
}
#nearbyStationsPanel #fuelGradeSelect{
  min-height:42px;
  min-width:119px;
  font-size:13px;
}
#stationMapWrap{
  position:relative;
  margin:0;
}
#stationMap{
  width:100%;
  height:min(64vh,580px);
  min-height:350px;
  border:0;
  border-radius:13px;
  background:#e6f0f4;
}
#stationMapWrap .stationMapHint{display:none}
#stationMapMoreBtn{
  margin:10px auto 12px;
  border:0;
  padding:5px 9px;
  background:transparent;
  color:#475467;
  font-size:12px;
  font-weight:750;
  text-decoration:underline;
  text-underline-offset:3px;
}
.stationMapSelection{
  position:absolute;
  left:12px;
  right:12px;
  bottom:47px;
  z-index:30;
  padding:14px 15px;
  border:1px solid #e4e7ec;
  border-radius:15px;
  background:#fff;
  color:#101828;
  box-shadow:0 9px 28px rgba(16,24,40,.22);
}
.stationMapSelection.hidden{display:none}
.stationMapSelectionTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-right:20px;
  font-size:17px;
  line-height:1.2;
}
#stationMapSelectionPrice{color:#15803d;white-space:nowrap}
.stationMapSelectionMeta{
  margin:7px 0 12px;
  color:#667085;
  font-size:12px;
  line-height:1.35;
}
.stationMapSelectionDirections{
  display:block;
  padding:11px 14px;
  border-radius:9px;
  background:#15803d;
  color:#fff;
  font-size:14px;
  font-weight:900;
  text-align:center;
  text-decoration:none;
}
.stationMapSelectionClose{
  position:absolute;
  top:5px;
  right:9px;
  padding:3px;
  border:0;
  background:transparent;
  color:#667085;
  font-size:25px;
  cursor:pointer;
}
#nearbyStationsPanel .stationPrefsDisclosure{margin:10px 0}
#nearbyStationsPanel #stationList{padding-top:0}

/* Keep the founder feedback control available but visually quiet. */
#founderHelpBtn{transform:scale(.88);transform-origin:bottom right}
@media(max-width:640px){
  .marketTicker{height:48px;margin-bottom:11px;border-radius:10px}
  .tickerBadge{padding:0 9px;font-size:9px}
  .tickerSegment{font-size:12px;padding-left:12px;padding-right:38px}
  #stationMapWrap{margin-left:-18px;margin-right:-18px}
  #stationMap{height:calc(100dvh - 225px);min-height:360px;max-height:660px;border-radius:0}
  .stationMapSelection{left:14px;right:14px}
  #nearbyStationsPanel .stationTools{margin-bottom:9px}
}


/* V1.9.16 TEST — quieter, more premium, single-purpose GasPal surface. */
body.locationReady #founderHelpBtn,
body.locationReady #founderHelpPanel,
body.locationReady #localPartnerCard{display:none!important}

body.locationReady header{
  min-height:46px;
  margin:0 0 10px;
  padding:0 2px;
  align-items:center;
}
body.locationReady header .brand{
  font-size:25px;
  letter-spacing:-.035em;
}
body.locationReady #locUpdateBtn{
  min-height:34px;
  padding:6px 10px;
  border:0;
  background:#f2f4f7;
  color:#475467;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

/* One glance: the recommendation is static; only the market inputs move. */
.marketTicker{
  height:46px;
  margin-bottom:10px;
  border-radius:11px;
  background:#0f2336;
  box-shadow:none;
  border:1px solid rgba(255,255,255,.06);
}
.tickerCall{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex:0 0 auto;
  min-width:142px;
  max-width:58%;
  height:100%;
  padding:0 12px;
  background:#147d49;
  color:#fff;
}
.marketTicker[data-call-state="wait"] .tickerCall{background:#176b86}
.marketTicker[data-call-state="neutral"] .tickerCall{background:#344054}
.tickerCallLabel{
  font-size:8px;
  line-height:1;
  font-weight:900;
  letter-spacing:.13em;
  opacity:.82;
}
#marketTickerCall{
  display:block;
  margin-top:3px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1.05;
  font-weight:900;
  letter-spacing:-.01em;
}
.tickerViewport{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 90%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 90%,transparent 100%);
}
.tickerSegment{
  padding-left:18px;
  padding-right:42px;
  color:#e5edf6;
  font-size:11px;
  font-weight:700;
  letter-spacing:.015em;
}
.tickerChevron{
  flex-basis:26px;
  background:#0f2336;
  color:#aebdcd;
  font-size:17px;
}

/* Controls should read like controls, not like three giant cards. */
#nearbyStationsPanel .stationTools{
  min-height:42px;
  margin:0 0 8px;
  gap:8px;
}
#nearbyStationsPanel .stationViewTabs{
  flex:0 0 auto;
  width:auto;
  grid-template-columns:auto auto;
  gap:2px;
  padding:3px;
  border:1px solid #e4e7ec;
  border-radius:999px;
  background:#f8fafc;
}
#nearbyStationsPanel .stationViewTab{
  width:auto;
  min-width:64px;
  min-height:32px;
  padding:6px 13px;
  border-radius:999px;
  color:#667085;
  font-size:12px;
  font-weight:850;
  box-shadow:none;
}
#nearbyStationsPanel .stationViewTab.active{
  background:#101828;
  color:#fff;
  box-shadow:none;
}
#nearbyStationsPanel #fuelGradeSelect{
  min-width:112px;
  min-height:38px;
  padding:6px 28px 6px 11px;
  border:1px solid #e4e7ec;
  border-radius:999px;
  background:#fff;
  color:#344054;
  font-size:12px;
  font-weight:800;
}

/* Map owns the screen. */
#stationMapWrap{
  overflow:visible;
  border-radius:14px;
  background:#eef3f6;
}
#stationMap{
  height:min(68vh,620px);
  min-height:410px;
  border-radius:14px;
  box-shadow:inset 0 0 0 1px rgba(16,24,40,.04);
}
#stationMapMoreBtn{
  position:absolute;
  z-index:25;
  right:10px;
  top:10px;
  margin:0;
  padding:7px 10px;
  border:1px solid rgba(16,24,40,.10);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#344054;
  box-shadow:0 2px 8px rgba(16,24,40,.10);
  font-size:11px;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  backdrop-filter:blur(8px);
}
.stationMapSelection{
  left:10px;
  right:10px;
  bottom:10px;
  padding:13px 14px;
  border:0;
  border-radius:16px;
  box-shadow:0 10px 30px rgba(16,24,40,.20);
}
.stationMapSelectionTop{font-size:16px}
.stationMapSelectionMeta{margin:6px 0 10px}
.stationMapSelectionDirections{
  padding:10px 12px;
  border-radius:10px;
}

/* Detailed timing only appears after a deliberate tap. */
#tomorrowPrediction.timingHero{
  margin:0 0 10px;
  padding:14px;
  border:1px solid #e4e7ec;
  border-radius:13px;
  background:#fff;
}
#tomorrowPrediction .predictionQuestion{font-size:19px}
#tomorrowPrediction .decision{font-size:28px!important;margin-top:6px}
#tomorrowPrediction .timingInputs{gap:6px}
#tomorrowPrediction .timingInputRow{
  padding:9px 10px;
  background:#f8fafc;
  border-radius:10px;
}
#tomorrowPrediction .timingWhy{font-size:13px}

/* First-use screen: reduce the visual weight without weakening the value prop. */
.timingFirstGate{
  margin-top:54px;
  max-width:480px;
}
.timingFirstGate .preLocationEyebrow{color:#667085}
.timingFirstGate .locationGateTitle{
  font-size:clamp(38px,10vw,50px);
  line-height:1.00;
}
.timingFirstGate .locationGateTitle span{color:#15803d}
.timingFirstGate .locationGateValue{
  margin:16px 0 22px;
  font-size:17px;
  line-height:1.42;
}
.timingFirstGate .locationPrimary{
  min-height:54px;
  border-radius:12px;
  box-shadow:none;
}
.locationFree{font-size:12px;font-weight:650}

/* Secondary controls stay below the core decision. */
#nearbyStationsPanel .stationPrefsDisclosure,
#nearbyStationsPanel .stationBottomSearch,
#nearbyStationsPanel .missingStationPanel{
  opacity:.96;
}

@media(max-width:640px){
  body.locationReady .shell{
    padding-top:calc(13px + env(safe-area-inset-top));
    padding-left:14px;
    padding-right:14px;
  }
  body.locationReady header{margin-bottom:8px}
  .marketTicker{
    height:44px;
    margin-left:-2px;
    margin-right:-2px;
    width:calc(100% + 4px);
    top:4px;
  }
  .tickerCall{min-width:136px;padding:0 10px}
  #marketTickerCall{font-size:12px}
  .tickerSegment{font-size:10.5px}
  #nearbyStationsPanel .stationTools{margin-bottom:7px}
  #stationMapWrap{
    margin-left:-14px;
    margin-right:-14px;
    border-radius:0;
  }
  #stationMap{
    height:calc(100dvh - 178px);
    min-height:430px;
    max-height:none;
    border-radius:0;
  }
  #stationMapMoreBtn{right:12px;top:10px}
  .stationMapSelection{left:12px;right:12px;bottom:12px}
}


/* V1.9.17 TEST — map + live top picks, clearer timing, lighter filters. */

/* Keep help + local partnership available without letting them dominate. */
body.locationReady #founderHelpBtn{
  display:block!important;
  transform:scale(.82);
  transform-origin:bottom right;
  opacity:.94;
}
body.locationReady #founderHelpPanel:not(.hidden){display:block!important}
body.locationReady #localPartnerCard.hidden{display:none!important}
#localPartnerCard:not(.hidden){display:flex!important}
body.locationReady #localPartnerCard:not(.hidden){
  display:flex!important;
  right:14px;
  bottom:76px;
}
body.locationReady #localPartnerCard .partnerFlapTab{
  min-height:36px;
  padding:7px 10px;
  font-size:11px;
  box-shadow:0 4px 14px rgba(16,24,40,.12);
}

/* Market call must answer the question before showing the inputs. */
.tickerCallLabel{letter-spacing:.11em}
.marketTicker[data-call-state="neutral"] .tickerCall{background:#475467}
.marketTicker[data-call-state="fuel"] .tickerCall{background:#15803d}
.marketTicker[data-call-state="wait"] .tickerCall{background:#176b86}
#marketTickerCall{font-size:13px}

/* One map experience: no separate map/list decision. */
.mapAreaLabel{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.mapAreaLabel strong{
  color:#101828;
  font-size:15px;
  line-height:1.15;
  font-weight:900;
}
.mapAreaLabel span{
  color:#667085;
  font-size:11px;
  line-height:1.2;
}
#nearbyStationsPanel .stationViewTabs{display:none!important}
#nearbyStationsPanel #stationList{display:none!important}
body.locationReady #stationPriceValue,
body.locationReady #stationCoverageNote{display:none!important}

/* Fuel choice reads as an intentional selector. */
#nearbyStationsPanel .fuelGradePicker{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  padding:0 4px 0 10px;
  min-height:40px;
  border:1px solid #d0d5dd;
  border-radius:999px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.04);
  cursor:pointer;
}
.fuelSelectLabel{
  color:#667085;
  font-size:10px;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
  pointer-events:none;
}
#nearbyStationsPanel #fuelGradeSelect{
  min-width:94px;
  min-height:38px;
  padding:5px 25px 5px 0;
  border:0;
  border-radius:999px;
  background-color:transparent;
  color:#101828;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  outline:none;
}
#nearbyStationsPanel .fuelGradePicker:focus-within{
  border-color:#15803d;
  box-shadow:0 0 0 3px rgba(21,128,61,.10);
}

/* Map canvas + Driven-like small result sheet underneath. */
.stationMapCanvas{position:relative}
#stationMap{
  height:min(50vh,430px);
  min-height:330px;
  max-height:430px;
}
.mapTopPicks{
  margin:0;
  padding:13px 14px 8px;
  border:1px solid #e4e7ec;
  border-top:0;
  border-radius:0 0 15px 15px;
  background:#fff;
}
.mapTopPicksHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:5px;
}
.mapTopPicksHead > div{
  display:flex;
  flex-direction:column;
  gap:1px;
}
.mapTopPicksHead strong{
  color:#101828;
  font-size:15px;
  font-weight:900;
}
.mapTopPicksHead span{
  color:#667085;
  font-size:10px;
  line-height:1.2;
}
.mapTopPicksToggle{
  flex:0 0 auto;
  border:0;
  background:transparent;
  color:#15803d;
  padding:2px 0;
  font:inherit;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.mapTopPicksToggle.hidden{display:none}
.mapTopPicksList{display:grid}
.mapTopPickRow{
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
  width:100%;
  min-height:48px;
  padding:7px 0;
  border:0;
  border-top:1px solid #f0f2f5;
  background:transparent;
  color:#101828;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.mapTopPickRow:first-child{border-top:0}
.mapTopPickRank{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#f2f4f7;
  color:#475467;
  font-size:10px;
  font-weight:900;
}
.mapTopPickRow:first-child .mapTopPickRank{
  background:#dcfce7;
  color:#166534;
}
.mapTopPickMain{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mapTopPickMain strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  font-weight:900;
}
.mapTopPickMain small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#667085;
  font-size:10px;
  line-height:1.2;
}
.mapTopPickPrice{
  color:#101828;
  font-size:16px;
  font-weight:950;
  white-space:nowrap;
}
.mapTopPicksEmpty{
  padding:14px 0;
  color:#667085;
  font-size:12px;
  text-align:center;
}

/* Station detail stays on the map itself. */
.stationMapSelection{
  left:10px;
  right:10px;
  bottom:10px;
}

/* Filters: three obvious choices, no explanation wall. */
.simpleFilters{
  margin:12px 0 0!important;
  border:1px solid #e4e7ec!important;
  border-radius:13px!important;
  background:#fff!important;
  overflow:hidden;
}
.simpleFilters > summary{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:48px;
  padding:0 14px!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:850!important;
  cursor:pointer;
  list-style:none;
}
.simpleFilters > summary::-webkit-details-marker{display:none}
.simpleFilters > summary::after{
  content:"+";
  color:#667085;
  font-size:18px;
  font-weight:500;
}
.simpleFilters[open] > summary::after{content:"−"}
.simpleFilters > summary small{
  color:#98a2b3;
  font-size:10px;
  font-weight:650;
  text-align:right;
}
.simpleFiltersBody{
  padding:0 14px 10px;
  border-top:1px solid #f0f2f5;
}
.simpleFilterSwitch,
.simpleCheckedRow{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:9px 0;
  cursor:pointer;
}
.simpleFilterSwitch{
  justify-content:space-between;
}
.simpleFilterCopy,
.simpleCheckedRow span{
  display:flex;
  min-width:0;
  flex:1;
  flex-direction:column;
  gap:2px;
}
.simpleFilterCopy strong,
.simpleCheckedRow strong,
.simpleFilterGroupHead strong{
  color:#101828;
  font-size:13px;
  font-weight:850;
}
.simpleFilterCopy small,
.simpleCheckedRow small,
.simpleFilterGroupHead small{
  color:#667085;
  font-size:10px;
  line-height:1.25;
}
.simpleFilterSwitch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.simpleFilterSwitch .lowFuelSwitch{
  width:42px;
  height:25px;
  margin:0;
  background:#d0d5dd;
}
.simpleFilterSwitch .lowFuelSwitch::after{
  width:19px;
  height:19px;
  top:3px;
  left:3px;
}
.simpleFilterSwitch input:checked + .lowFuelSwitch{background:#15803d}
.simpleFilterSwitch input:checked + .lowFuelSwitch::after{transform:translateX(17px)}
.simpleFilterGroup{
  padding:10px 0 12px;
  border-top:1px solid #f0f2f5;
}
.simpleFilterGroupHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.simpleFilters .membershipOptions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:0;
}
.simpleFilters .clubChip{
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid #d0d5dd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:11px!important;
}
.simpleFilters .clubChip input{accent-color:#15803d}
.simpleCheckedRow{
  border-top:1px solid #f0f2f5;
}
.simpleCheckedRow > input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:#15803d;
}

/* Restore the intended utilities after the earlier simplification pass. */
@media(max-width:640px){
  body.locationReady #founderHelpBtn{transform:scale(.78)}
  body.locationReady #localPartnerCard:not(.hidden){right:10px;bottom:74px}
  body.locationReady #localPartnerCard .partnerFlapTab{font-size:10px;padding:6px 9px}

  #nearbyStationsPanel .stationTools{
    min-height:42px;
    margin-bottom:7px;
    padding:0 1px;
  }
  .mapAreaLabel strong{font-size:14px}
  #nearbyStationsPanel .fuelGradePicker{min-height:38px;padding-left:9px}
  #nearbyStationsPanel #fuelGradeSelect{font-size:11px;min-width:88px}

  #stationMapWrap{
    margin-left:-14px;
    margin-right:-14px;
    border-radius:0;
  }
  #stationMap{
    height:44dvh;
    min-height:315px;
    max-height:410px;
    border-radius:0;
  }
  .mapTopPicks{
    border-left:0;
    border-right:0;
    border-radius:0;
    padding-left:14px;
    padding-right:14px;
  }
  .mapTopPickRow{min-height:45px}
  .mapTopPickMain strong{font-size:12px}
  .mapTopPickPrice{font-size:15px}
  .stationMapSelection{left:12px;right:12px;bottom:12px}
  .simpleFilters{margin-left:0!important;margin-right:0!important}
}


/* V1.9.18 TEST — simplify utility panels and make the timing promise exact. */
header .sub{
  color:#667085;
  font-size:13px;
  font-weight:650;
}
.timingFirstGate .locationGateValue{
  max-width:470px;
}
.timingFirstGate .locationGateValue strong{
  color:#101828;
}

/* Messaging: one obvious action, two quiet fallbacks. */
.founderHelpPanel{
  width:min(260px,calc(100vw - 28px));
  padding:15px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  box-shadow:0 12px 30px rgba(16,24,40,.16);
}
.founderHelpTitle{
  font-size:16px;
  font-weight:900;
  letter-spacing:-.01em;
}
.founderHelpCopy{
  margin-top:3px;
  color:#667085;
  font-size:12px;
  line-height:1.35;
}
.founderHelpPrimary{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  margin-top:12px;
  border-radius:10px;
  background:#101828;
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}
.founderHelpActions{
  display:flex;
  justify-content:center;
  gap:18px;
  margin-top:10px;
}
.founderHelpActions a{
  min-height:auto;
  padding:2px 0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#475467;
  font-size:11px;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Local partner: tiny referral card, not a mini landing page. */
.partnerFlapPanel{
  width:248px;
  padding:15px;
  border:1px solid #e4e7ec;
  border-radius:16px;
  box-shadow:0 12px 30px rgba(16,24,40,.16);
}
.partnerPrompt{
  padding-right:24px;
  color:#667085;
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
}
.partnerTitle{
  margin-top:5px;
  font-size:17px;
  line-height:1.15;
  letter-spacing:-.01em;
}
.partnerCopy{display:none}
.partnerReferral{
  margin-top:10px;
  padding:9px 10px;
  border:0;
  border-radius:10px;
  background:#f0fdf4;
  color:#166534;
  font-size:12px;
  line-height:1.3;
}
.partnerReferral strong{
  font-size:12px;
  font-weight:900;
}
.partnerActions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:10px;
}
.partnerPrimary,
.partnerSecondary{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  font-size:12px;
  font-weight:850;
  text-decoration:none;
}
.partnerPrimary{
  background:#101828;
  color:#fff;
  padding:8px 10px;
}
.partnerSecondary{
  border:1px solid #d0d5dd;
  color:#344054;
  background:#fff;
  padding:8px 10px;
}
.partnerFine{
  margin-top:8px;
  color:#98a2b3;
  font-size:9px;
  line-height:1.25;
}
.partnerFlapClose{
  top:7px;
  right:7px;
  width:25px;
  height:25px;
  font-size:20px;
}

/* Keep both floating utilities discreet and separated. */
body.locationReady #founderHelpBtn{
  right:auto;
}
@media(max-width:640px){
  header .sub{font-size:12px}
  .founderHelpPanel{width:min(250px,calc(100vw - 24px));padding:14px}
  .partnerFlapPanel{width:238px;padding:14px}
  body.locationReady #localPartnerCard:not(.hidden){bottom:70px}
}


/* V1.9.19 TEST — explicit founder contact + one-line partner services. */
.founderHelpBtn{
  width:auto;
  height:38px;
  min-width:0;
  padding:0 12px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:12px;
  font-weight:900;
  letter-spacing:-.01em;
}
.founderHelpBtn span:first-child{font-size:15px;line-height:1}
.founderHelpBtn span:last-child{line-height:1}
.founderHelpCopy{max-width:210px}

.partnerServiceLine{
  margin-top:5px;
  color:#667085;
  font-size:11px;
  line-height:1.35;
  font-weight:700;
}
.partnerReferral{margin-top:9px}

@media(max-width:640px){
  body.locationReady #founderHelpBtn{
    transform:none;
    height:36px;
    padding:0 10px;
    font-size:11px;
  }
  .founderHelpBtn span:first-child{font-size:14px}
  .partnerServiceLine{font-size:10.5px}
}


/* V1.9.20 TEST — restore clean founder bubble + trusted partner cue. */
.founderHelpTrigger{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:3px;
}
.founderHelpLabel{
  color:#475467;
  font-size:9px;
  line-height:1;
  font-weight:850;
  letter-spacing:.01em;
  background:rgba(255,255,255,.92);
  padding:3px 6px;
  border-radius:999px;
  box-shadow:0 2px 8px rgba(16,24,40,.08);
  pointer-events:none;
}
.founderHelpBtn{
  width:50px;
  height:50px;
  min-width:50px;
  padding:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#101828;
  color:#fff;
  font-size:21px;
  box-shadow:0 7px 20px rgba(16,24,40,.18);
}
body.locationReady #founderHelpBtn{
  transform:none;
  width:46px;
  height:46px;
  min-width:46px;
  padding:0;
  font-size:19px;
}
.founderHelpPanel{
  width:min(250px,calc(100vw - 24px));
}
.founderHelpTitle{font-size:15px}
.founderHelpCopy{font-size:11px}

/* Trusted car-care cue stays compact and consistent with the utility styling. */
body.locationReady #localPartnerCard .partnerFlapTab{
  min-height:36px;
  padding:7px 10px;
  gap:5px;
  border-color:#d0d5dd;
  color:#344054;
  background:#fff;
  font-size:10.5px;
  font-weight:850;
  box-shadow:0 4px 12px rgba(16,24,40,.10);
}
.partnerPrompt{
  color:#15803d;
  font-size:8.5px;
  letter-spacing:.13em;
}
.partnerTitle{font-size:16px}
.partnerServiceLine{
  margin-top:4px;
  color:#667085;
  font-size:10.5px;
  font-weight:650;
}
.partnerReferral{
  margin-top:8px;
  padding:8px 9px;
}
.partnerFine{font-size:8.5px}

@media(max-width:640px){
  .founderHelpLabel{font-size:8.5px;padding:3px 5px}
  body.locationReady #founderHelpBtn{
    width:44px;
    height:44px;
    min-width:44px;
    font-size:18px;
  }
  body.locationReady #localPartnerCard .partnerFlapTab{
    min-height:34px;
    padding:6px 9px;
    font-size:10px;
  }
}


/* V1.9.21 TEST — keep floating utilities separated and inviting. */
body.locationReady #localPartnerCard:not(.hidden){
  bottom:88px!important;
  right:12px;
}
body.locationReady .founderHelp{
  right:12px;
  bottom:12px;
}
.founderHelpLabel{
  font-size:8.5px;
  padding:3px 7px;
}
.founderHelpPanel{
  bottom:auto;
}
@media(max-width:640px){
  body.locationReady #localPartnerCard:not(.hidden){
    bottom:86px!important;
    right:10px;
  }
  body.locationReady .founderHelp{
    right:10px;
    bottom:10px;
  }
  .founderHelpLabel{
    font-size:8px;
    padding:3px 6px;
  }
}


/* TEST — utility controls live in the page flow so they never cover station prices. */
.utilityDock{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px;
  align-items:center;
  margin:12px 0 10px;
}
.utilityDock #localPartnerCard:not(.hidden),
.utilityDock .founderHelp{
  display:contents!important;
  position:static!important;
}
.utilityDock #localPartnerCard.hidden{display:none!important}

.utilityDock .partnerFlapTab{
  grid-column:1;
  grid-row:1;
  position:static!important;
  width:100%;
  min-height:40px!important;
  justify-content:center;
  padding:8px 10px!important;
  border:1px solid #d0d5dd;
  border-radius:999px;
  background:#fff;
  color:#344054;
  box-shadow:none!important;
}
.utilityDock .founderHelpTrigger{
  grid-column:2;
  grid-row:1;
  justify-self:end;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:6px;
  position:static!important;
}
.utilityDock .founderHelpLabel{
  order:1;
  padding:0;
  background:transparent;
  box-shadow:none;
  color:#667085;
  font-size:9px;
  white-space:nowrap;
}
.utilityDock .founderHelpBtn,
body.locationReady .utilityDock #founderHelpBtn{
  order:2;
  position:static!important;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  transform:none!important;
  box-shadow:none;
  font-size:17px;
}

.utilityDock .partnerFlapPanel,
.utilityDock .founderHelpPanel{
  grid-column:1 / -1;
  grid-row:2;
  position:static!important;
  width:auto!important;
  max-width:none!important;
  margin:0;
  justify-self:stretch;
  box-shadow:0 8px 22px rgba(16,24,40,.10);
}
.utilityDock .partnerFlapPanel{
  display:none;
}
.utilityDock #localPartnerCard.open .partnerFlapPanel{
  display:block;
}
.utilityDock .founderHelpPanel.hidden{display:none!important}

/* Neutralize legacy fixed positioning inside the in-flow utility dock. */
body.locationReady .utilityDock #localPartnerCard:not(.hidden),
body.locationReady .utilityDock .founderHelp{
  right:auto!important;
  bottom:auto!important;
}

@media(max-width:640px){
  .utilityDock{
    margin:10px 0 8px;
    gap:7px 9px;
  }
  .utilityDock .partnerFlapTab{
    min-height:38px!important;
    font-size:10px!important;
  }
  .utilityDock .founderHelpBtn,
  body.locationReady .utilityDock #founderHelpBtn{
    width:38px;
    height:38px;
    min-width:38px;
    font-size:16px;
  }
  .utilityDock .founderHelpLabel{font-size:8.5px}
}


/* V1.9.23 TEST — floating utilities stay on the map, never over station prices. */
.stationMapCanvas > .utilityDock{
  position:absolute!important;
  top:10px;
  right:10px;
  z-index:42;
  display:flex!important;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  width:auto;
  margin:0!important;
  pointer-events:none;
}
.stationMapCanvas > .utilityDock #localPartnerCard:not(.hidden),
.stationMapCanvas > .utilityDock .founderHelp{
  display:block!important;
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  width:auto;
  pointer-events:auto;
}
.stationMapCanvas > .utilityDock #localPartnerCard.hidden{display:none!important}

.stationMapCanvas > .utilityDock .partnerFlapTab{
  position:static!important;
  width:auto!important;
  min-height:34px!important;
  padding:6px 9px!important;
  border:1px solid rgba(16,24,40,.12);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#344054;
  box-shadow:0 3px 10px rgba(16,24,40,.12)!important;
  backdrop-filter:blur(8px);
  font-size:10px!important;
}
.stationMapCanvas > .utilityDock .founderHelpTrigger{
  position:static!important;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:6px;
}
.stationMapCanvas > .utilityDock .founderHelpLabel{
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#475467;
  box-shadow:0 3px 10px rgba(16,24,40,.10);
  backdrop-filter:blur(8px);
  font-size:8.5px;
  white-space:nowrap;
}
.stationMapCanvas > .utilityDock .founderHelpBtn,
body.locationReady .stationMapCanvas > .utilityDock #founderHelpBtn{
  position:static!important;
  width:38px;
  height:38px;
  min-width:38px;
  padding:0;
  transform:none!important;
  border-radius:50%;
  box-shadow:0 3px 10px rgba(16,24,40,.14);
  font-size:16px;
}

.stationMapCanvas > .utilityDock .partnerFlapPanel,
.stationMapCanvas > .utilityDock .founderHelpPanel{
  position:absolute!important;
  right:0!important;
  left:auto!important;
  top:42px!important;
  bottom:auto!important;
  width:238px!important;
  max-width:calc(100vw - 44px)!important;
  margin:0;
  z-index:44;
  box-shadow:0 10px 28px rgba(16,24,40,.18);
}
.stationMapCanvas > .utilityDock .partnerFlapPanel{display:none}
.stationMapCanvas > .utilityDock #localPartnerCard.open .partnerFlapPanel{display:block}
.stationMapCanvas > .utilityDock .founderHelpPanel.hidden{display:none!important}

@media(max-width:640px){
  .stationMapCanvas > .utilityDock{
    top:9px;
    right:9px;
    gap:6px;
  }
  .stationMapCanvas > .utilityDock .partnerFlapTab{
    min-height:32px!important;
    padding:5px 8px!important;
    font-size:9.5px!important;
  }
  .stationMapCanvas > .utilityDock .founderHelpBtn,
  body.locationReady .stationMapCanvas > .utilityDock #founderHelpBtn{
    width:36px;
    height:36px;
    min-width:36px;
    font-size:15px;
  }
  .stationMapCanvas > .utilityDock .founderHelpLabel{
    font-size:8px;
    padding:3px 6px;
  }
  .stationMapCanvas > .utilityDock .partnerFlapPanel,
  .stationMapCanvas > .utilityDock .founderHelpPanel{
    top:39px!important;
    width:228px!important;
  }
}


/* V1.9.26 TEST — founder always available; partner appears only near San Mateo. */

/* Founder: global floating help, kept away from right-side gas prices. */
body.locationReady .founderHelp{
  position:fixed!important;
  left:max(12px,calc((100vw - 980px)/2 - 68px))!important;
  right:auto!important;
  bottom:18px!important;
  z-index:500!important;
  display:block!important;
}
body.locationReady .founderHelpTrigger{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:4px;
}
body.locationReady .founderHelpLabel{
  order:1;
  padding:4px 7px;
  border:1px solid rgba(16,24,40,.08);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  color:#475467;
  box-shadow:0 3px 10px rgba(16,24,40,.09);
  backdrop-filter:blur(8px);
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
body.locationReady .founderHelpBtn{
  order:2;
  position:static!important;
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#101828!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(16,24,40,.18)!important;
  font-size:18px!important;
  transform:none!important;
}
body.locationReady .founderHelpPanel{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:58px!important;
  top:auto!important;
  width:min(250px,calc(100vw - 28px))!important;
  z-index:510!important;
}
body.locationReady .shell{padding-bottom:82px}

/* Partner: contextual map suggestion, separate from founder. */
.stationMapCanvas > .utilityDock{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  right:auto!important;
  bottom:auto!important;
  z-index:44!important;
  display:block!important;
  width:auto!important;
  margin:0!important;
  pointer-events:none;
}
.stationMapCanvas > .utilityDock #localPartnerCard:not(.hidden){
  display:block!important;
  position:relative!important;
  right:auto!important;
  bottom:auto!important;
  pointer-events:auto;
}
.stationMapCanvas > .utilityDock .partnerFlapTab{
  position:static!important;
  width:auto!important;
  min-height:36px!important;
  padding:7px 11px!important;
  border:1px solid rgba(21,128,61,.24)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.97)!important;
  color:#166534!important;
  box-shadow:0 5px 16px rgba(16,24,40,.13)!important;
  backdrop-filter:blur(8px);
  font-size:10.5px!important;
  font-weight:900!important;
}
.stationMapCanvas > .utilityDock .partnerFlapPanel{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  top:44px!important;
  bottom:auto!important;
  width:238px!important;
  max-width:calc(100vw - 44px)!important;
  z-index:46!important;
}
.stationMapCanvas > .utilityDock #localPartnerCard.open .partnerFlapPanel{display:block!important}

.partnerNudge .partnerFlapTab{
  animation:partnerArrival 1.9s ease-out 1;
}
@keyframes partnerArrival{
  0%{transform:translateY(-8px) scale(.97);opacity:.15}
  20%{transform:translateY(0) scale(1.04);opacity:1}
  42%{transform:scale(.99)}
  62%{transform:scale(1.02);box-shadow:0 0 0 7px rgba(21,128,61,.10),0 5px 16px rgba(16,24,40,.13)}
  100%{transform:scale(1);box-shadow:0 5px 16px rgba(16,24,40,.13)}
}
@media(prefers-reduced-motion:reduce){
  .partnerNudge .partnerFlapTab{animation:none}
}

@media(max-width:640px){
  body.locationReady .founderHelp{
    left:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
  body.locationReady .founderHelpBtn{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    font-size:17px!important;
  }
  body.locationReady .founderHelpLabel{
    font-size:8px;
    padding:3px 6px;
  }
  body.locationReady .founderHelpPanel{
    bottom:55px!important;
    width:min(244px,calc(100vw - 22px))!important;
  }
  .stationMapCanvas > .utilityDock{
    top:10px!important;
    left:10px!important;
  }
  .stationMapCanvas > .utilityDock .partnerFlapTab{
    min-height:34px!important;
    padding:6px 9px!important;
    font-size:10px!important;
  }
  .stationMapCanvas > .utilityDock .partnerFlapPanel{
    top:41px!important;
    width:228px!important;
  }
}


/* V1.9.27 TEST — founder bottom-right; contextual partner top-right. */
body.locationReady .founderHelp{
  left:auto!important;
  right:14px!important;
  bottom:14px!important;
}
body.locationReady .founderHelpPanel{
  left:auto!important;
  right:0!important;
  bottom:58px!important;
  top:auto!important;
}
.founderHelpClose{
  position:absolute;
  top:7px;
  right:8px;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:#f2f4f7;
  color:#475467;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}
.founderHelpClose:hover{background:#e4e7ec}
.founderHelpPanel{position:relative}
.founderHelpTitle{padding-right:32px}

/* Partner sits on the opposite corner of the map and nudges into view only locally. */
.stationMapCanvas > .utilityDock{
  top:10px!important;
  left:auto!important;
  right:10px!important;
}
.stationMapCanvas > .utilityDock .partnerFlapPanel{
  left:auto!important;
  right:0!important;
  top:42px!important;
}
.partnerNudge .partnerFlapTab{
  animation:partnerArrivalRight 1.9s ease-out 1;
}
@keyframes partnerArrivalRight{
  0%{transform:translateY(-7px) scale(.96);opacity:.1}
  20%{transform:translateY(0) scale(1.04);opacity:1}
  42%{transform:scale(.99)}
  62%{transform:scale(1.02);box-shadow:0 0 0 7px rgba(21,128,61,.10),0 5px 16px rgba(16,24,40,.13)}
  100%{transform:scale(1);box-shadow:0 5px 16px rgba(16,24,40,.13)}
}
@media(prefers-reduced-motion:reduce){
  .partnerNudge .partnerFlapTab{animation:none}
}

@media(max-width:640px){
  body.locationReady .founderHelp{
    left:auto!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
  }
  body.locationReady .founderHelpPanel{
    left:auto!important;
    right:0!important;
    bottom:55px!important;
  }
  .stationMapCanvas > .utilityDock{
    top:9px!important;
    left:auto!important;
    right:9px!important;
  }
  .stationMapCanvas > .utilityDock .partnerFlapPanel{
    left:auto!important;
    right:0!important;
    top:40px!important;
  }
}

/* v257 — list-first GasPal feedback build */
body.locationReady .marketTicker.timingSpotlight{
  display:flex;
  min-height:82px;
  height:auto;
  margin-bottom:14px;
  padding:10px 11px;
  gap:10px;
  border:2px solid transparent;
  border-radius:16px;
  color:#fff;
  box-shadow:0 7px 20px rgba(16,24,40,.14);
  transition:background-color .18s ease,border-color .18s ease;
}
.timingSpotlight.timingFuelToday{background:#991b1b;border-color:#b91c1c}
.timingSpotlight.timingWait{background:#166534;border-color:#15803d}
.timingSpotlight.timingNeutral{background:#475467;border-color:#667085}
.timingSpotlight .tickerCall{
  display:flex;
  flex:0 0 auto;
  min-width:150px;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:1px;
  padding:0 3px;
}
.timingSpotlight .tickerCallLabel{
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
}
.timingSpotlight #marketTickerCall{
  color:#fff;
  font-size:21px;
  line-height:1.08;
  font-weight:950;
}
.timingSpotlight .tickerHint{
  margin-top:4px;
  color:rgba(255,255,255,.82);
  font-size:10px;
  font-weight:800;
  white-space:nowrap;
}
.timingSpotlight .tickerSegment{color:#fff;font-size:12px}
.timingSpotlight .tickerChevron{background:rgba(255,255,255,.08)}

#nearbyStationsPanel .stationViewTabs{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  width:100%;
  margin:11px 0 6px;
  padding:3px;
  border:1px solid #e4e7ec;
  border-radius:12px;
  background:#f2f4f7;
}
#nearbyStationsPanel .stationViewTab{
  min-height:44px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#667085;
  font:inherit;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
#nearbyStationsPanel .stationViewTab.active{
  background:#fff;
  color:#101828;
  box-shadow:0 1px 4px rgba(16,24,40,.09);
}
#nearbyStationsPanel #stationList{display:block!important;margin-top:2px}
#nearbyStationsPanel #stationList.hidden{display:none!important}
#nearbyStationsPanel .stationTapHelp{
  margin:2px 0 7px;
  color:#667085;
  font-size:11px;
  text-align:center;
}
#nearbyStationsPanel .station{
  min-height:72px;
  align-items:center;
  padding:16px 4px;
}
#nearbyStationsPanel .stationName{font-size:17px;line-height:1.2}
#nearbyStationsPanel .stationMeta{margin-top:5px;font-size:13px;font-weight:650}
#nearbyStationsPanel .price{font-size:25px;letter-spacing:-.02em}
body.locationReady #stationPriceValue,
body.locationReady #stationCoverageNote{display:block!important}
body.locationReady #stationPriceValue.hidden{display:none!important}
#nearbyStationsPanel .stationCoverageNote{color:#667085;font-size:11px}

@media(max-width:560px){
  body.locationReady .marketTicker.timingSpotlight{min-height:84px;padding:9px}
  .timingSpotlight .tickerCall{min-width:0;flex:1}
  .timingSpotlight #marketTickerCall{font-size:22px}
  .timingSpotlight .tickerViewport{display:none}
  .timingSpotlight .tickerChevron{margin-left:auto}
  .mapAreaLabel strong{font-size:18px}
  .mapAreaLabel span{font-size:12px}
}


/* v258 — mobile polish: fast visual recognition, cleaner list-first hierarchy */
.mapAreaLabel span{display:none!important}
body.locationReady header .sub{
  display:block!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:700!important;
}
.timingSpotlight{
  overflow:hidden;
}
.timingSpotlight.timingFuelToday{
  background:linear-gradient(135deg,#991b1b,#b91c1c)!important;
  border-color:#dc2626!important;
}
.timingSpotlight.timingWait{
  background:linear-gradient(135deg,#166534,#15803d)!important;
  border-color:#16a34a!important;
}
.timingSpotlight.timingNeutral{
  background:linear-gradient(135deg,#475467,#344054)!important;
  border-color:#667085!important;
}
.timingSpotlight .tickerCallLabel::before{
  content:"⏱ ";
}
#nearbyStationsPanel .fuelGradePicker{
  box-shadow:0 1px 3px rgba(16,24,40,.07)!important;
}
#nearbyStationsPanel .fuelSelectLabel{
  color:#475467!important;
  font-size:10px!important;
  font-weight:900!important;
}
#nearbyStationsPanel .stationViewTabs{
  box-shadow:inset 0 0 0 1px rgba(16,24,40,.03);
}
#nearbyStationsPanel .stationViewTab.active{
  box-shadow:0 1px 4px rgba(16,24,40,.10)!important;
}
#nearbyStationsPanel .station{
  border-top-color:#eaecf0!important;
}
#nearbyStationsPanel .stationMeta{
  color:#667085!important;
}
#nearbyStationsPanel .stationTrustLine{
  margin-top:7px!important;
}
#nearbyStationsPanel .addressTrustBadge{
  color:#15803d!important;
  font-weight:850!important;
}
#nearbyStationsPanel .stationCheckNote{
  color:#667085!important;
  font-weight:650!important;
}
#stationToggle{
  border-color:#d0d5dd!important;
  background:#fff!important;
  color:#344054!important;
  font-weight:850!important;
}

@media(max-width:560px){
  .shell{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.locationReady header{
    margin-bottom:9px!important;
    padding:0 2px 2px!important;
  }
  body.locationReady header .brand{
    font-size:26px!important;
  }
  body.locationReady header .sub{
    margin-top:4px!important;
    font-size:11px!important;
    line-height:1.25!important;
    max-width:210px!important;
  }
  #locUpdateBtn{
    min-height:40px!important;
    padding:8px 11px!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }

  body.locationReady .marketTicker.timingSpotlight{
    min-height:88px!important;
    padding:11px 12px!important;
    margin-bottom:16px!important;
    border-radius:17px!important;
  }
  .timingSpotlight .tickerCall{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
  }
  .timingSpotlight .tickerCallLabel{
    font-size:10px!important;
    letter-spacing:.10em!important;
  }
  .timingSpotlight #marketTickerCall{
    margin-top:5px!important;
    font-size:24px!important;
    line-height:1.05!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .timingSpotlight .tickerHint{
    margin-top:6px!important;
    font-size:11px!important;
  }
  .timingSpotlight .tickerViewport{
    display:none!important;
  }
  .timingSpotlight .tickerChevron{
    position:absolute!important;
    right:10px!important;
    top:50%!important;
    width:38px!important;
    height:38px!important;
    transform:translateY(-50%)!important;
    border-radius:10px!important;
    background:rgba(255,255,255,.10)!important;
  }
  .marketTicker.expanded .tickerChevron{
    transform:translateY(-50%) rotate(180deg)!important;
  }

  #nearbyStationsPanel .stationTools{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:9px!important;
    margin-bottom:9px!important;
  }
  .mapAreaLabel strong{
    font-size:19px!important;
    line-height:1.12!important;
    letter-spacing:-.02em!important;
  }
  #nearbyStationsPanel .fuelGradePicker{
    min-height:42px!important;
    padding:0 8px 0 10px!important;
    border-radius:12px!important;
  }
  #nearbyStationsPanel #fuelGradeSelect{
    min-width:96px!important;
    max-width:132px!important;
    min-height:40px!important;
    padding:5px 23px 5px 0!important;
    font-size:12px!important;
  }

  #nearbyStationsPanel .stationViewTabs{
    margin:7px 0 4px!important;
    padding:3px!important;
    border-radius:13px!important;
  }
  #nearbyStationsPanel .stationViewTab{
    min-height:46px!important;
    font-size:15px!important;
    border-radius:10px!important;
  }
  #nearbyStationsPanel .stationTapHelp{
    margin:4px 0 9px!important;
    font-size:12px!important;
  }

  #nearbyStationsPanel .station{
    min-height:0!important;
    padding:15px 4px!important;
    gap:10px!important;
  }
  #nearbyStationsPanel .stationName{
    font-size:18px!important;
    line-height:1.15!important;
  }
  #nearbyStationsPanel .stationMeta{
    margin-top:5px!important;
    font-size:13px!important;
    line-height:1.3!important;
  }
  #nearbyStationsPanel .price{
    align-self:center!important;
    font-size:27px!important;
    line-height:1!important;
  }
  #nearbyStationsPanel .stationTrustLine{
    margin:7px 0 0!important;
  }
  #nearbyStationsPanel .addressTrustBadge{
    font-size:14px!important;
  }
  #nearbyStationsPanel .trustCheckIcon{
    width:22px!important;
    height:22px!important;
    flex-basis:22px!important;
    font-size:14px!important;
  }
  #nearbyStationsPanel .stationCheckNote{
    margin-top:7px!important;
    font-size:13px!important;
  }
  #stationToggle{
    min-height:50px!important;
    margin-top:10px!important;
    border-radius:12px!important;
    font-size:15px!important;
  }
}


/* v260 — clean mobile hierarchy + real brand icon + partner on List and Map */
.brand{
  display:flex;
  align-items:center;
  gap:8px;
}
.brandLogo{
  display:block;
  width:31px;
  height:31px;
  object-fit:contain;
  flex:0 0 31px;
}

/* The timing color owns the whole card. No blue/gray slab inside a red/green state. */
.timingSpotlight .tickerCall{
  background:transparent!important;
}
.timingSpotlight .tickerCallLabel::before{
  content:none!important;
}

/* Keep the expanded reasoning readable without a bulky gray block. */
#tomorrowPrediction .timingWhy .plainWhy{
  margin-top:11px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#344054!important;
  font-weight:750!important;
  line-height:1.48!important;
}

/* Local partner floats independently of List/Map but remains controlled by locality logic. */
body.locationReady #localPartnerCard:not(.hidden){
  display:flex!important;
  position:fixed!important;
  top:calc(108px + env(safe-area-inset-top))!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
  z-index:490!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:7px!important;
}
body.locationReady #localPartnerCard .partnerFlapTab{
  position:static!important;
  width:auto!important;
  min-height:36px!important;
  padding:7px 10px!important;
  border:1px solid rgba(21,128,61,.22)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.97)!important;
  color:#166534!important;
  box-shadow:0 4px 14px rgba(16,24,40,.12)!important;
  backdrop-filter:blur(8px);
  font-size:10.5px!important;
  font-weight:900!important;
}
body.locationReady #localPartnerCard .partnerFlapPanel{
  position:absolute!important;
  top:43px!important;
  right:0!important;
  left:auto!important;
  bottom:auto!important;
  width:238px!important;
  max-width:calc(100vw - 28px)!important;
  z-index:495!important;
}
body.locationReady #localPartnerCard:not(.open) .partnerFlapPanel{
  display:none!important;
}
body.locationReady #localPartnerCard.open .partnerFlapPanel{
  display:block!important;
}

@media(max-width:560px){
  .brandLogo{
    width:28px;
    height:28px;
    flex-basis:28px;
  }

  /* Give the title its own line; fuel becomes a compact control beneath it. */
  #nearbyStationsPanel .stationTools{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    align-items:start!important;
    margin-bottom:8px!important;
  }
  .mapAreaLabel strong{
    display:block!important;
    white-space:nowrap!important;
    font-size:20px!important;
    line-height:1.08!important;
    letter-spacing:-.025em!important;
  }
  #nearbyStationsPanel .fuelTypeChoiceTop{
    justify-self:start!important;
    width:auto!important;
    margin:0!important;
  }
  #nearbyStationsPanel .fuelGradePicker{
    width:auto!important;
    min-height:40px!important;
    padding:0 9px!important;
  }
  #nearbyStationsPanel #fuelGradeSelect{
    width:auto!important;
    min-width:104px!important;
    max-width:155px!important;
  }

  body.locationReady #localPartnerCard:not(.hidden){
    top:calc(106px + env(safe-area-inset-top))!important;
    right:10px!important;
  }
  body.locationReady #localPartnerCard .partnerFlapTab{
    min-height:34px!important;
    padding:6px 9px!important;
    font-size:10px!important;
  }
  body.locationReady #localPartnerCard .partnerFlapPanel{
    top:40px!important;
    width:228px!important;
    max-width:calc(100vw - 20px)!important;
  }
}


/* v261 — sticky timing explanation + non-cashback savings clarity */

/* Trusted local car care: bottom-left utility, away from the sticky timing arrow and gas prices. */
body.locationReady #localPartnerCard:not(.hidden){
  display:flex!important;
  position:fixed!important;
  left:14px!important;
  right:auto!important;
  bottom:18px!important;
  top:auto!important;
  z-index:490!important;
  flex-direction:column-reverse!important;
  align-items:flex-start!important;
  gap:7px!important;
}
body.locationReady #localPartnerCard .partnerFlapPanel{
  position:absolute!important;
  left:0!important;
  right:auto!important;
  bottom:44px!important;
  top:auto!important;
  width:238px!important;
  max-width:calc(100vw - 28px)!important;
}
body.locationReady #localPartnerCard .partnerFlapTab{
  position:static!important;
}

/* Expanded timing explanation follows the sticky timing card wherever the user is. */
#tomorrowPrediction.timingFloating{
  position:fixed!important;
  top:var(--timing-detail-top,68px)!important;
  left:50%!important;
  right:auto!important;
  width:min(620px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - var(--timing-detail-top,68px) - 12px)!important;
  margin:0!important;
  overflow:auto!important;
  transform:translateX(-50%)!important;
  z-index:520!important;
  border:1px solid #d0d5dd!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 16px 42px rgba(16,24,40,.22)!important;
}
.timingDetailClose{
  position:sticky;
  top:0;
  float:right;
  z-index:3;
  width:34px;
  height:34px;
  margin:-5px -5px 5px 10px;
  display:grid;
  place-items:center;
  border:1px solid #e4e7ec;
  border-radius:50%;
  background:#fff;
  color:#475467;
  box-shadow:0 2px 8px rgba(16,24,40,.08);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.timingDetailClose:hover,
.timingDetailClose:focus-visible{
  background:#f2f4f7;
}

/* Explain the why in plain text, not another gray card. */
#tomorrowPrediction .timingWhy .plainWhy{
  margin:10px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Savings are estimates of price avoided, not a payout. */
.savingsHow{
  margin:8px 0 0;
  padding-top:10px;
  border-top:1px solid #eaecf0;
}
.savingsHow summary{
  cursor:pointer;
  color:#166534;
  font-size:13px;
  font-weight:850;
}
.savingsHow p{
  margin:8px 0 0;
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
.fillSavedLead{
  margin-bottom:14px;
  padding:12px 13px;
  border:1px solid #b7e4c7;
  border-radius:12px;
  background:#f0fdf4;
}
.fillSavedLead strong{
  display:block;
  color:#166534;
  font-size:20px;
  line-height:1.2;
}
.fillSavedLead span{
  display:block;
  margin-top:3px;
  color:#475467;
  font-size:14px;
}
.savingsDefinition{
  margin-top:8px;
  color:#667085;
  font-size:13px;
  line-height:1.45;
}
.savingsDefinition strong{color:#344054}

@media(max-width:560px){
  body.locationReady #localPartnerCard:not(.hidden){
    left:10px!important;
    right:auto!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    top:auto!important;
  }
  body.locationReady #localPartnerCard .partnerFlapPanel{
    left:0!important;
    right:auto!important;
    bottom:41px!important;
    top:auto!important;
    width:228px!important;
    max-width:calc(100vw - 20px)!important;
  }

  #tomorrowPrediction.timingFloating{
    left:10px!important;
    right:10px!important;
    width:auto!important;
    transform:none!important;
    border-radius:15px!important;
    padding:17px 15px!important;
  }
  .timingDetailClose{
    width:32px;
    height:32px;
    font-size:20px;
  }
  .savingsHow summary,
  .savingsHow p{
    font-size:12px;
  }
}


/* v263 — clearer landing timing promise + larger, trusted map station rows */
.landingTimingChoices{
  display:flex;
  flex-wrap:wrap;
  gap:7px 9px;
  margin-top:10px;
}
.landingTimingChoices span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 9px;
  border:1px solid #e4e7ec;
  border-radius:999px;
  background:#fff;
  color:#344054;
  font-size:13px;
  font-weight:850;
  line-height:1.15;
}

.mapTopPicks{
  padding-top:15px!important;
}
.mapTopPicksHead{
  margin-bottom:7px!important;
}
.mapTopPicksHead strong{
  font-size:17px!important;
}
.mapTopPicksHead span{
  font-size:11px!important;
}
.mapTopPicksToggle{
  font-size:12px!important;
}
.mapTopPickRow{
  grid-template-columns:32px minmax(0,1fr) auto!important;
  gap:10px!important;
  min-height:76px!important;
  padding:11px 0!important;
}
.mapTopPickRank{
  width:30px!important;
  height:30px!important;
  font-size:11px!important;
}
.mapTopPickMain{
  gap:3px!important;
}
.mapTopPickMain strong{
  font-size:15px!important;
  line-height:1.15!important;
}
.mapTopPickMain small{
  font-size:11.5px!important;
  line-height:1.25!important;
}
.mapPickTrust{
  display:flex;
  align-items:center;
  gap:5px;
  margin-top:2px;
  font-size:12px;
  font-weight:800;
  line-height:1.2;
}
.mapPickTrustChecked{
  color:#15803d;
}
.mapPickCheck{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  flex:0 0 20px;
  border-radius:50%;
  background:#15803d;
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.mapPickTrustUnverified{
  color:#667085;
}
.mapTopPickPrice{
  font-size:20px!important;
  line-height:1!important;
}

@media(max-width:560px){
  .timingFirstGate .locationGateValue{
    font-size:17px!important;
    line-height:1.38!important;
  }
  .landingTimingChoices{
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    margin-top:11px;
  }
  .landingTimingChoices span{
    width:100%;
    min-height:38px;
    justify-content:flex-start;
    padding:8px 10px;
    border-radius:11px;
    font-size:13px;
  }

  .mapTopPicks{
    padding:14px 15px 8px!important;
  }
  .mapTopPicksHead strong{
    font-size:18px!important;
  }
  .mapTopPicksHead span{
    font-size:12px!important;
  }
  .mapTopPicksToggle{
    font-size:12px!important;
    padding-top:3px!important;
  }
  .mapTopPickRow{
    grid-template-columns:34px minmax(0,1fr) auto!important;
    min-height:82px!important;
    padding:12px 0!important;
  }
  .mapTopPickRank{
    width:32px!important;
    height:32px!important;
    font-size:12px!important;
  }
  .mapTopPickMain strong{
    font-size:16px!important;
  }
  .mapTopPickMain small{
    font-size:12px!important;
    white-space:normal!important;
  }
  .mapPickTrust{
    font-size:12.5px!important;
  }
  .mapPickCheck{
    width:21px;
    height:21px;
    flex-basis:21px;
  }
  .mapTopPickPrice{
    font-size:22px!important;
  }
}

/* Timing examples are explanatory text, not tappable pills. */
.timingFirstGate .landingTimingChoices{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  margin-top:12px;
}
.timingFirstGate .landingTimingChoices span{
  display:block;
  width:auto;
  min-height:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#475467;
  font-size:14px;
  font-weight:600;
  line-height:1.5;
  cursor:default;
  pointer-events:none;
}


/* Price-leader coverage branch — clean search/report-price UI */
.stationSearchResults .stationSearchMatch{
  display:block;
  padding:16px 17px;
  margin-top:10px;
  border:1px solid #e2e8e4;
  border-radius:16px;
  background:#fff;
  box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.stationSearchBody{min-width:0}
.stationSearchTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.stationSearchResults .stationName{
  font-size:18px;
  font-weight:900;
  letter-spacing:-.015em;
  color:#101828;
}
.stationSearchResults .stationMeta{
  font-size:13px;
  line-height:1.4;
  color:#667085;
}
.stationSearchAddress{margin-top:6px}
.stationSearchPriceValue{
  flex:none;
  font-size:22px;
  line-height:1;
  font-weight:900;
  color:#101828;
}
.stationSearchPriceMissing{
  flex:none;
  padding:6px 9px;
  border-radius:999px;
  background:#f2f4f7;
  color:#667085;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.stationSearchActions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:12px;
  flex-wrap:wrap;
}
.stationSearchMapAction,
.stationSearchReportAction{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 12px;
  border-radius:10px;
  font-size:13px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}
.stationSearchMapAction{
  background:#eef8f1;
  color:#157a3f;
  border:1px solid #c9e8d2;
}
.stationSearchReportAction{
  background:#fff;
  color:#344054;
  border:1px solid #d0d5dd;
}
.stationSearchMapAction:hover,
.stationSearchReportAction:hover{filter:brightness(.985)}
.stationMapSelectionReportPrice{
  width:100%;
  min-height:42px;
  margin-top:8px;
  padding:10px 14px;
  border:1px solid #d0d5dd!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:850!important;
}
@media(max-width:560px){
  .stationSearchResults .stationSearchMatch{padding:14px}
  .stationSearchTop{gap:10px}
  .stationSearchResults .stationName{font-size:17px}
  .stationSearchPriceValue{font-size:20px}
  .stationSearchPriceMissing{font-size:11px;padding:5px 8px}
  .stationSearchMapAction,.stationSearchReportAction{min-height:36px;font-size:12px}
}

.stationLoyaltyNote{
  display:inline-flex;
  align-items:center;
  margin-top:7px;
  padding:5px 8px;
  border-radius:999px;
  background:#fff7ed;
  color:#9a4b00!important;
  border:1px solid #fed7aa;
  font-size:11px!important;
  font-weight:800;
  line-height:1.2!important;
}

/* Compact, accessible product-feedback follow-up */
.feedbackCard .feedbackFollowup{margin-top:14px;padding-top:13px;border-top:1px solid #e8edf3}
.feedbackCard #feedbackFollowupTitle{font-size:14px;font-weight:650;color:#344054;line-height:1.4;margin-bottom:10px}
.feedbackCard .feedbackChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 10px}
.feedbackCard .feedbackChoiceGrid.hidden{display:none}
.feedbackCard .feedbackChoice{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;padding:9px 10px;border:1px solid #e3e8ef;border-radius:10px;background:#f8fafc;color:#344054;font:inherit;font-size:12px;font-weight:600;line-height:1.3;text-align:center;cursor:pointer;white-space:normal}
.feedbackCard .feedbackChoice[aria-pressed="true"]{border-color:#168352;background:#eaf8f0;color:#09633c;box-shadow:inset 0 0 0 1px #168352}
.feedbackCard .feedbackChoice:focus-visible,.feedbackCard .feedbackSubmit:focus-visible{outline:3px solid #91c7ff;outline-offset:2px}
.feedbackCard #feedbackComment{display:block;width:100%;box-sizing:border-box;min-height:66px;padding:11px 12px;margin:0 0 10px;border:1px solid #e3e8ef;border-radius:10px;background:#fff;color:#1d2939;font:inherit;font-size:13px;line-height:1.4;resize:vertical}
.feedbackCard #feedbackComment::placeholder{color:#98a2b3}
.feedbackCard .feedbackActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.feedbackCard .feedbackSubmit{background:#116b42;color:#fff;border:1px solid #116b42;border-radius:10px;padding:10px 16px;min-height:42px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.feedbackCard .feedbackSubmit:disabled{opacity:.65;cursor:wait}
.feedbackCard .feedbackSms{font-size:12px;font-weight:600;color:#475467;text-decoration:none}
.feedbackCard #voteMsg{margin-top:8px;font-size:12px;color:#667085}
@media(max-width:480px){.feedbackCard .feedbackChoiceGrid{gap:7px}.feedbackCard .feedbackChoice{font-size:11.5px;padding:8px 7px}.feedbackCard .feedbackActions{gap:9px}}

/* Savings correction controls */
.editFillLink{display:inline-block;margin-top:6px;padding:3px 0;border:0;background:transparent;color:#147a4b;font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-align:left}
.savingsEditPanel{margin-top:12px;padding:14px;border:1px solid #e4e9ef;border-radius:14px;background:#f9fbfc;color:#263445}
.savingsEditPanel>strong{display:block;font-size:15px;margin-bottom:12px}
.savingsEditFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.savingsEditFields label{display:block;font-size:12px;font-weight:600;color:#475467}
.savingsEditFields input{display:block;box-sizing:border-box;width:100%;margin-top:5px;padding:10px;border:1px solid #d6dde5;border-radius:9px;background:white;color:#1d2939;font:inherit;font-size:16px}
.savingsEditActions{display:flex;gap:8px;align-items:center;margin-top:12px}
.savingsEditActions button,.fillEditFromResult{padding:10px 13px;border-radius:10px;border:1px solid #d6dde5;background:white;color:#344054;font:inherit;font-size:13px;font-weight:650;cursor:pointer}
.savingsEditActions [data-save]{background:#116b42;border-color:#116b42;color:white}
.savingsEditActions [data-save]:disabled{opacity:.6}
.savingsEditStatus{margin-top:7px;font-size:12px;color:#b42318}
.fillEditFromResult{display:block;margin-top:12px}

/* Candidate timing model disclosure: no probabilistic confidence is implied. */
.heuristicCandidateResults{font-size:12px;line-height:1.5;color:var(--muted,#475467);border:1px solid var(--border,#d0d5dd);border-radius:10px;padding:10px 12px;margin:8px 0;background:var(--card,#f8fafc);overflow-wrap:anywhere}
.heuristicCandidateResults.hidden{display:none}

.heuristicStationPicker{display:flex;flex-direction:column;gap:5px;margin:8px 0;font-size:12px;color:var(--muted,#475467)}
.heuristicStationPicker.hidden{display:none}
.heuristicStationPicker select{width:100%;max-width:100%;padding:9px;border:1px solid var(--border,#d0d5dd);border-radius:8px;background:var(--card,#fff);color:inherit;font-size:13px}

/* Timing beta: one clear indicator + quiet, verified result summary. */
.betaTrustStrip{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:12px 0;border:1px solid #e3e8ed;background:#f8fafc;border-radius:12px;padding:12px 14px}
.betaTrustStrip span{display:flex;flex-direction:column;gap:3px;min-width:0}
.betaTrustStrip strong{font-size:14px;color:#263b4d;line-height:1.25}
.betaTrustStrip small{font-size:12px;color:#64748b;line-height:1.4}
.betaTrustStrip a{font-size:12px;font-weight:750;color:#0e6a42;text-decoration:none;white-space:nowrap}
.betaTrustStrip a:hover{text-decoration:underline}
.betaSingleInput{margin-top:8px}
.betaSingleInput .timingInputRow{min-height:38px}
.heuristicCandidateResults{font-size:13px;line-height:1.55;color:#334155;background:#f8fafc;border:1px solid #e3e8ed;border-radius:10px;padding:11px 12px}
.heuristicStationPicker{font-size:13px;font-weight:650;color:#475569}
@media(max-width:520px){.betaTrustStrip{padding:11px;gap:7px}.betaTrustStrip a{white-space:normal}.heuristicCandidateResults{font-size:12px}}

/* Make the next-day station checker a visible, self-contained action. */
.stationTimingChecker{padding:14px 15px;margin:14px 0;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;display:grid;gap:7px;color:#24344b}
.stationTimingChecker>strong{font-size:16px;line-height:1.35;color:#162b44}
.stationTimingChecker p{margin:0 0 4px;font-size:13px;line-height:1.5}
.stationTimingChecker .heuristicStationPicker{display:grid;gap:6px;width:100%;font-size:13px;font-weight:700}
.stationTimingChecker .heuristicStationPicker.hidden{display:none}
.stationTimingChecker select{width:100%;max-width:100%;white-space:normal;padding:10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#24344b}
.timingCityForm{display:grid;gap:6px;margin-top:7px}
.timingCityForm label{font-size:12px;font-weight:700;color:#475569}
.timingCityForm .stationSearchControls{display:flex;flex-wrap:wrap;gap:8px}
.timingCityForm input{flex:1 1 165px;min-width:0;padding:10px;border:1px solid #cbd5e1;border-radius:9px}
.timingCityForm button{flex:0 0 auto}

/* Canada pilot: compact country, units and provider coverage disclosures. */
.countryModeNotice{margin:10px 0 12px;padding:9px 12px;font-size:13px;font-weight:650;border:1px solid var(--border,#dce2e6);border-radius:10px;background:var(--card,#f6f8fb);line-height:1.45}
.canadianGradeNote{display:block;margin:7px 0 0;color:var(--muted,#596573);font-size:11px;line-height:1.35}
.canadianGradeNote.hidden{display:none}
.savingsCountryNote{font-size:12px;line-height:1.4;color:var(--muted,#596573);margin:6px 0 10px}

.countryModeNotice:not(.hidden){display:inline-flex;align-items:center;width:auto;max-width:100%;margin:3px 0 7px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.2;border-radius:99px;background:#f6f8fa;color:#536273;border:1px solid #e5e9ef}

/* Compact station timing checker: station and city search remain visible together. */
.stationTimingChecker{padding:11px 12px;margin:10px 0;gap:9px;border-radius:11px;background:#f9fafb}
.stationTimingIntro{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
.stationTimingIntro strong{font-size:14px;line-height:1.3;color:#162b44}
.stationTimingIntro span{font-size:11px;color:#64748b}
.stationTimingActions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
.stationTimingChecker .heuristicStationPicker,.stationTimingChecker .timingCityForm{margin:0;min-width:0;gap:5px;font-size:12px;font-weight:650}
.stationTimingChecker select,.stationTimingChecker .timingCityForm input{width:100%;min-width:0;max-width:100%;height:37px;padding:7px 9px;border-radius:8px;font-size:12px;background:#fff}
.stationTimingChecker select:disabled{color:#718096;background:#f1f5f9}
.stationTimingChecker .timingCityForm .stationSearchControls{display:flex;gap:5px;flex-wrap:nowrap;min-width:0}
.stationTimingChecker .timingCityForm .stationSearchControls input{flex:1 1 auto;min-width:0}
.stationTimingChecker .timingCityForm button{flex:0 0 auto;min-height:37px;padding:6px 9px;font-size:12px;white-space:nowrap}
@media(max-width:540px){.stationTimingActions{grid-template-columns:minmax(0,1fr)}.stationTimingIntro span{font-size:10px}.stationTimingChecker{padding:10px}}

/* Canadian market context only; never show U.S. timing decisions or searches. */
body.canadaTimingView #tomorrowPrediction .decision,
body.canadaTimingView #tomorrowPrediction .decisionMeaning,
body.canadaTimingView #tomorrowPrediction .predictionLiveHint,
body.canadaTimingView #tomorrowPrediction .stationTimingChecker,
body.canadaTimingView #tomorrowPrediction .canadaUsTimingLink,
body.canadaTimingView #tomorrowPrediction .betaTrustStrip,
body.canadaTimingView #tomorrowPrediction .heuristicCandidateResults,
body.canadaTimingView #tomorrowPrediction .timingMethod,
body.canadaTimingView #tomorrowPrediction .howDecision,
body.canadaTimingView #tomorrowPrediction .timingCompat,
body.canadaTimingView #tomorrowPrediction .dieselTimingNotice {display:none!important}
body.canadaTimingView #tomorrowPrediction .betaSingleInput{display:block!important;margin-top:14px}
body.canadaTimingView #tomorrowPrediction .predictionQuestion{margin:0 0 8px}


/* Station reviews and fuel-on-route controls. Contained within the existing station card. */
.gpTripMap{width:100%;height:290px;box-sizing:border-box;border:1px solid rgba(100,116,139,.2);border-radius:12px;overflow:hidden;margin:10px 0}
.gpTripMap.hidden{display:none}
@media(max-width:480px){.gpTripMap{height:240px}}
.gpRoutePlanner{margin:10px 0 14px;padding:0;border:1px solid rgba(100,116,139,.26);border-radius:14px;background:rgba(100,116,139,.04)}
.gpRoutePlanner>summary{padding:12px 14px;cursor:pointer;font-size:14px;font-weight:700;list-style-position:inside}
.gpRoutePlanner[open]>summary{border-bottom:1px solid rgba(100,116,139,.2)}
.gpRouteForm{padding:12px 14px 16px}
.gpRouteForm p{font-size:13px;line-height:1.5;margin:0 0 12px;opacity:.8}
.gpRouteForm label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.gpRouteInputs{display:flex;gap:8px;align-items:stretch}
.gpRouteInputs input{flex:1;min-width:0;border-radius:9px;border:1px solid #adb6c2;padding:10px 11px;background:var(--surface,#fff);color:inherit;font:inherit;font-size:15px}
.gpRouteInputs button,.gpReviewDialog button[type="submit"]{border:0;border-radius:10px;background:#12834e;color:white;padding:10px 15px;font:inherit;font-weight:700;cursor:pointer}
.gpRouteInputs button:disabled,.gpReviewDialog button:disabled{opacity:.6;cursor:wait}
.gpRouteStatus{font-size:13px;margin-top:10px;line-height:1.4}
.gpPinnedStop{font-size:12px;padding:9px;margin-top:10px;border-radius:8px;background:rgba(20,184,116,.1)}
.gpPinnedStop.hidden{display:none}
.gpRouteClear{border:0;background:none;color:inherit;opacity:.75;text-decoration:underline;padding:8px 0;font-size:12px;cursor:pointer}
.gpRouteResults{display:grid;gap:8px;margin-top:9px}
.gpRouteHeading{font-weight:700;font-size:14px;margin:10px 0 1px}
.gpRouteStop{border:1px solid rgba(100,116,139,.25);background:var(--surface,#fff);padding:12px;border-radius:12px;min-width:0}
.gpPinnedRouteStop{border-color:#16a36a}
.gpRouteStopTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:14px}
.gpRouteStopTop strong:first-child{flex:1;min-width:0;overflow-wrap:anywhere}
.gpRouteStopTop strong:last-child{white-space:nowrap;color:#148653}
.gpRouteStop>small{display:block;font-size:12px;line-height:1.45;margin:5px 0 9px;opacity:.8}
.gpRouteStopActions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.gpTripGo{display:inline-block;background:#137f4e;color:white!important;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:700;text-decoration:none}
.gpRouteFootnote{font-size:12px;opacity:.75;line-height:1.5}
.gpTripAlternate{display:inline-block;border:1px solid rgba(100,116,139,.4);background:transparent;color:inherit;border-radius:8px;padding:8px 11px;font-size:13px;font-weight:650;text-decoration:none}
.gpTripAlternate:focus-visible,.gpTripGo:focus-visible{outline:2px solid #148653;outline-offset:2px}
.gpTripAlternate:hover{border-color:#148653}
.gpStationActions{display:flex;gap:7px;flex-wrap:wrap}
.gpUnderStation{padding:5px 10px 11px;margin-top:-4px;margin-bottom:9px}
.gpStationAction{font:inherit;font-size:12px;font-weight:650;border:1px solid rgba(100,116,139,.28);border-radius:9px;background:rgba(100,116,139,.07);color:inherit;padding:7px 9px;cursor:pointer;white-space:nowrap}
.gpStationAction:hover{border-color:#148653}
.gpMapStationActions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.gpReviewDialog{box-sizing:border-box;border:1px solid rgba(100,116,139,.24);border-radius:18px;max-width:480px;width:min(calc(100% - 22px),480px);max-height:min(90dvh,760px);padding:22px;background:var(--surface,#fff);color:inherit;box-shadow:0 16px 54px rgba(0,0,0,.24);overflow:auto}
.gpReviewDialog::backdrop{background:rgba(16,24,40,.65)}
.gpReviewClose{float:right;font-size:25px;border:0;background:transparent;color:inherit;cursor:pointer;padding:0 3px}
.gpReviewTitle{display:block;font-size:20px;padding-right:34px}
.gpReviewAddress,.gpReviewAverage{font-size:13px;line-height:1.4;margin:5px 0 9px}
.gpReviewAverage{font-weight:700;color:#148653}
.gpReviewDialog form{display:grid;gap:8px}
.gpReviewDialog label{display:block;font-weight:700;font-size:13px}
.gpStars{display:flex;gap:4px}
.gpStars button{width:40px;height:42px;border:none;background:transparent;color:#ac8545;font-size:32px;cursor:pointer;padding:0;line-height:1}
.gpStars button.selected{color:#eda31d}
.gpReviewDialog textarea{font:inherit;font-size:14px;width:100%;box-sizing:border-box;resize:vertical;background:transparent;color:inherit;border:1px solid #98a3b1;border-radius:9px;padding:10px}
.gpReviewStatus{font-size:12px;line-height:1.4;margin:8px 0}
.gpReviewStatus.gpError{color:#b91c1c}
.gpReviewsHeading{font-size:14px;font-weight:700;border-top:1px solid rgba(100,116,139,.22);padding-top:10px;margin:10px 0}
.gpReviewList{font-size:13px;line-height:1.45}
.gpReviewRow{padding:10px 0;border-bottom:1px solid rgba(100,116,139,.18)}
.gpReviewTop{display:flex;justify-content:space-between;gap:10px;align-items:center}
.gpReviewTop span{color:#eda31d}
.gpReviewRow p{margin:5px 0;overflow-wrap:anywhere;white-space:pre-wrap}
.gpReviewFlag{border:0;background:transparent;text-decoration:underline;color:inherit;opacity:.7;padding:2px 0;font-size:11px;cursor:pointer}
@media(max-width:480px){
 .gpRouteInputs{flex-direction:column}
 .gpRouteInputs button{min-height:42px}
 .gpReviewDialog{padding:17px}
 .gpRouteStopTop{font-size:13px}
}

/* Route-planner decision cues: actual waypoint detour, not straight-line offset. */
.gpRouteHeadingRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 4px;flex-wrap:wrap}
.gpRouteHeadingRow>strong{font-size:14px}
.gpRouteHeadingRow label{font-size:12px;font-weight:600;white-space:nowrap}
.gpRouteHeadingRow select{max-width:150px;min-height:34px;margin-left:4px;font:inherit;font-size:12px;color:inherit;background:var(--surface,#fff);border:1px solid rgba(100,116,139,.4);border-radius:8px;padding:5px}
.gpRoutePrice{font-size:17px;font-weight:850;letter-spacing:-.02em}
.gpRouteMetrics{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:8px 0 6px;font-size:12px;line-height:1.3}
.gpRouteDetour{background:rgba(17,132,79,.10);color:#0b774b;border-radius:7px;padding:5px 7px;font-weight:750}
.gpRouteMetrics>span{font-weight:650;color:var(--text,#334155)}
.gpRouteStop>small{margin:6px 0 10px}
@media(max-width:480px){
  .gpRoutePrice{font-size:16px}
  .gpRouteStop{padding:11px}
  .gpRouteHeadingRow>strong{font-size:13px}
}

/* GasPal simple route/list and saved station controls — compact, price first. */
.gpRoutePlanner{background:transparent;border:1px solid rgba(100,116,139,.22);box-shadow:none;margin:9px 0}
.gpRoutePlanner>summary{font-size:13px;font-weight:700;padding:10px 12px}
.gpRouteForm{padding:11px 12px 13px}
.gpRouteForm>p{margin-bottom:9px;font-size:12px;color:var(--muted,#667085);opacity:1}
.gpRouteStatus{font-size:12px;color:var(--text,#344054);margin:8px 0 3px}
.gpRouteResults{gap:7px;margin-top:7px}
.gpRouteStop{border:1px solid rgba(100,116,139,.20);border-radius:10px;padding:10px 11px;box-shadow:none}
.gpPinnedRouteStop{border-color:#158653}
.gpRouteStopTop{align-items:baseline;gap:7px;line-height:1.2}
.gpRouteStopTop strong:first-child{font-size:13px}
.gpRouteStopTop .gpRoutePrice{font-size:16px;letter-spacing:-.015em;font-weight:800;flex:none}
.gpRouteInfo{display:flex;gap:3px 10px;align-items:baseline;flex-wrap:wrap;margin-top:5px;font-size:12px;line-height:1.5;color:var(--muted,#667085)}
.gpRouteDetour{color:#096b42!important;font-size:12px;background:transparent!important;border:0;border-radius:0;padding:0!important;font-weight:800}
.gpRouteAddress{display:block;font-size:12px;line-height:1.35;margin:1px 0 5px;opacity:.72;overflow-wrap:anywhere}
.gpRouteStopActions,.gpStationActions,.gpMapStationActions{display:flex;align-items:center;gap:3px 12px;flex-wrap:wrap}
.gpRouteStopActions a,.gpRouteStopActions button{font-size:12px}
.gpTripGo,.gpTripAlternate{display:inline-block;background:transparent!important;color:#086d45!important;border:0!important;border-radius:0;padding:5px 0;font-size:12px;font-weight:750;text-decoration:none;box-shadow:none}
.gpTripAlternate{color:var(--text,#344054)!important;font-weight:600}
.gpStationAction{font:inherit;font-size:12px;font-weight:600;border:0;border-radius:0;background:transparent;color:var(--text,#344054);padding:5px 0;cursor:pointer;white-space:nowrap}
.gpStationAction:hover,.gpTripGo:hover,.gpTripAlternate:hover{color:#0a7f50!important;text-decoration:underline}
.gpSaveAction[aria-pressed="true"]{color:#096b42!important;font-weight:800}
.gpTripGo:focus-visible,.gpTripAlternate:focus-visible,.gpStationAction:focus-visible{outline:2px solid #0b8150;outline-offset:3px;border-radius:3px}
.gpRouteHeadingRow{margin:10px 0 5px;gap:5px}
.gpRouteHeadingRow>strong{font-size:13px}
.gpRouteHeadingRow label{font-size:11px;font-weight:500}
.gpRouteHeadingRow select{min-height:30px;padding:3px 5px;border-radius:6px;max-width:130px;font-size:11px}
.gpRouteFootnote{font-size:11px;line-height:1.45;opacity:.73}
.gpUnderStation{gap:14px;padding:2px 10px 8px}
.gpPinnedStop{background:transparent;font-size:12px;padding:5px 0 2px;margin-top:5px}
.gpRouteClear{font-size:11px;padding:3px 0 6px}
.gpTripMapDisclosure[hidden],.gpSavedStations[hidden]{display:none!important}
.gpTripMapDisclosure{border-top:1px solid rgba(100,116,139,.15);padding:10px 0 0}
.gpTripMapDisclosure>summary{cursor:pointer;color:#086d45;font-size:12px;font-weight:750}
.gpTripMapDisclosure>small{display:block;color:var(--muted,#667085);font-size:11px;line-height:1.4}
.gpTripMap{height:220px;margin:9px 0 4px}
.gpSavedStations{border:1px solid rgba(100,116,139,.19);background:transparent;border-radius:10px;margin:9px 0}
.gpSavedStations>summary{cursor:pointer;padding:10px 12px;font-weight:700;font-size:13px}
.gpSavedStations>summary span{color:#086d45}
.gpSavedList{padding:0 12px}
.gpSavedRow{padding:9px 0;border-top:1px solid rgba(100,116,139,.16)}
.gpSavedDetail{display:grid;gap:3px;min-width:0}
.gpSavedDetail strong{font-size:13px}
.gpSavedDetail small{font-size:12px;line-height:1.35;color:var(--muted,#667085);overflow-wrap:anywhere}
.gpSavedActions{display:flex;align-items:center;gap:5px 12px;flex-wrap:wrap;margin-top:3px}
.gpSavedNote,.gpSavedStatus{padding:0 12px;margin:4px 0 8px;font-size:11px;line-height:1.35;color:var(--muted,#667085)}
.gpSavedStatus:empty{display:none}
@media(max-width:480px){
  .gpRouteStop{padding:10px}
  .gpRouteHeadingRow>strong{font-size:12px}
  .gpTripMap{height:220px}
}

/* Long drives: browse a meaningful route stretch, not six random national samples. */
.gpTripStageBar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:9px 0 7px;padding:9px 0;border-bottom:1px solid rgba(100,116,139,.17)}
.gpTripStageBar>label{font-size:12px;font-weight:700;color:var(--text,#344054)}
.gpTripStageBar select{flex:1 1 155px;min-width:135px;max-width:245px;min-height:34px;
  font:inherit;font-size:12px;font-weight:650;padding:6px 7px;border:1px solid rgba(100,116,139,.28);
  background:#fff;color:#263747;border-radius:8px}
.gpTripStageBar button{font-size:12px;padding:5px 0;border:0;background:none;color:#086d45;cursor:pointer;font-weight:700}
.gpTripStageBar button:disabled{color:#7b8593;cursor:default;opacity:.55}
.gpTripStageBar button:focus-visible,.gpTripStageBar select:focus-visible{outline:2px solid #086d45;outline-offset:2px}
.gpRouteEmpty{font-size:12px;color:var(--text,#344054);line-height:1.45;margin:9px 0}
@media(max-width:520px){
 .gpTripStageBar>label{flex-basis:100%}
 .gpTripStageBar select{max-width:none}
}

/* One map: the same station map switches between nearby and trip prices. */
body.gpTripOverlayActive #mapTopPicks{display:none!important}
.gpTripMapOptions[hidden]{display:none!important}
.gpTripMapOptions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0 2px}
.gpTripMapOptions label{font-size:12px;font-weight:700;color:#344054}
.gpTripMapOptions select{font:inherit;font-size:12px;font-weight:650;background:#fff;color:#243847;border:1px solid rgba(100,116,139,.32);border-radius:7px;padding:7px 10px;min-height:34px}
.gpTripMapOptions select:focus-visible{outline:2px solid #0b8150;outline-offset:2px}
.gpTripMapCoverage{display:block;font-size:11px;line-height:1.45;color:#344054;font-weight:650;margin:5px 0 2px}
@media(min-width:700px){.gpTripMap{height:300px}}

.gpTripMapOptions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:3px 0 9px}
.gpTripMapOptions label{font-size:12px}
.gpTripMapOptions select{margin-left:auto}
.gpTripMapOptions .gpTripMapCoverage{flex-basis:100%;margin:0;font-size:11px;color:#475467}

/* Trip-first results: one existing GasPal map immediately after the destination,
   then the price list. The map is reparented, not created a second time. */
.gpTripDisplay[hidden]{display:none!important}
.gpTripDisplay{padding:0 12px 13px;min-width:0}
#gpTripDisplay #stationMapWrap{margin:8px 0 10px!important;border-radius:10px;overflow:hidden;background:transparent}
#gpTripDisplay #stationMap{height:clamp(255px,47vh,410px);min-height:255px;max-height:410px;border-radius:10px}
#gpTripDisplay #gpRouteResults{margin-top:8px}
#gpTripDisplay #gpTripMapOptions{padding:0 0 9px}
#gpTripDisplay .gpTripMapCoverage{font-size:11px;line-height:1.35}
#gpTripDisplay .gpTripMapOptions select{min-height:32px}
@media(max-width:520px){
  .gpTripDisplay{padding:0 10px 12px}
  #gpTripDisplay #stationMapWrap{margin:6px 0 8px!important}
  #gpTripDisplay #stationMap{height:38dvh;min-height:250px;max-height:345px}
}

/* Map reveal respects the fixed timing banner and retains easy access to the search input. */
#gpTripMapAnchor{scroll-margin-top:92px;min-height:1px}
@media(max-width:520px){#gpTripMapAnchor{scroll-margin-top:86px}}

/* Optional, compact range-aware trip stops. US uses mi, Canada uses km. */
.gpFuelRange{margin:10px 0 3px;border-top:1px solid rgba(100,116,139,.16);padding-top:9px}
.gpFuelRangeToggle{display:flex!important;align-items:center;gap:9px;font-size:12px!important;font-weight:700!important;cursor:pointer;margin:0!important;line-height:1.3}
.gpFuelRangeToggle input{width:16px;height:16px;accent-color:#12834e;flex:none;margin:0}
.gpFuelRangeFields[hidden]{display:none!important}
.gpFuelRangeFields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0 4px}
.gpFuelRangeFields label{display:block;font-size:11px!important;color:#344054;font-weight:650!important;margin:0!important}
.gpFuelRangeFields label span{font-weight:500;color:#475467}
.gpFuelRangeFields input{display:block;width:100%;box-sizing:border-box;margin-top:4px;
  min-height:36px;border:1px solid #aeb9c5;border-radius:8px;background:#fff;color:#17212f;
  font:inherit;font-size:14px;padding:7px 9px}
.gpFuelRangeFields>small{grid-column:1/-1;color:#475467;font-size:11px;line-height:1.4}
.gpRangeGuidance{display:grid;gap:7px;border:1px solid rgba(18,131,78,.22);background:rgba(18,131,78,.035);
  padding:10px 11px;margin:10px 0;border-radius:10px;color:#20352a;font-size:12px;line-height:1.45}
.gpRangeGuidance>strong{font-size:13px;color:#096b42}
.gpRangeGuidance .gpRouteStop{margin:0;background:#fff}
.gpRangeGuidance .gpRouteStop .gpRouteDetour{color:#096b42!important}
.gpRangeGuidance small{display:block;font-size:11px;color:#475467}
.gpRangeGuidance .gpRangeWarning{color:#9f2e22;font-weight:650;margin:4px 0 0}
.gpRangeGuidance.gpRangeWarning{color:#9f2e22;border-color:rgba(190,52,38,.3);background:rgba(190,52,38,.045)}
.gpRangeGuidance.gpRangePending{color:#475467;background:transparent}
@media(max-width:380px){.gpFuelRangeFields{gap:7px}.gpFuelRangeFields input{font-size:13px}}

.gpRouteOtherPrices{border-top:1px solid rgba(100,116,139,.18);margin:5px 0}
.gpRouteOtherPrices>summary{font-size:12px;color:#086d45;font-weight:750;cursor:pointer;padding:10px 3px}
.gpRouteOtherPrices .gpRouteStop{margin-bottom:7px}
.gpRouteOtherPrices .gpRouteHeadingRow{padding:2px 3px}

/* Saved station actions communicate intent: status is passive, removal is explicit. */
.gpSaveAction[aria-pressed="true"]{color:#4b5967!important;font-weight:650!important}
.gpSaveAction[aria-pressed="true"]:hover{color:#9d302b!important}
.gpSavedState{color:#086d45!important;font-size:11px!important;font-weight:750!important}
.gpSavedUndo{display:inline-block;color:#086d45!important;font-weight:800!important;text-decoration:underline!important;padding:2px 5px!important}
.gpSavedStatus:not(:empty){padding-bottom:7px}
.gpSavedStatus:not(:empty) span{color:#475467}
.gpSavedUndo:focus-visible{outline:2px solid #0b8150;outline-offset:3px}
.gpRouteClear[hidden],#gpFuelRangeHint:empty{display:none!important}
.gpFuelRangeFields #gpFuelRangeHint:not(:empty){font-size:11px;color:#475467}
.gpFuelRangeFields #gpFuelRangeHint.gpRangeWarning{color:#973b29;font-weight:700}

/* Price-first Saved cards, without old quotes masquerading as live. */
.gpSavedDetail{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:baseline}
.gpSavedDetail>strong:first-child{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.gpSavedDetail>.gpSavedPrice{grid-column:2;grid-row:1;align-self:start;text-align:right;
  color:#096b42;font-size:14px;font-weight:800;white-space:nowrap}
.gpSavedDetail>.gpSavedPriceUnavailable{color:#637080;font-size:11px;font-weight:600}
.gpSavedDetail>small:not(.gpSavedState){grid-column:1/-1;grid-row:2}
.gpSavedDetail>.gpSavedState{grid-column:1/-1;grid-row:3}
@media(max-width:370px){
  .gpSavedDetail{grid-template-columns:minmax(0,1fr)}
  .gpSavedDetail>.gpSavedPrice{grid-column:1;grid-row:2;text-align:left}
  .gpSavedDetail>small:not(.gpSavedState){grid-row:3}
  .gpSavedDetail>.gpSavedState{grid-row:4}
}


/* Regional timing explanation: evidence-first, responsive, no extra modal height for obsolete checker. */
#tomorrowPrediction .regionalEvidence{display:block;margin:14px 0 15px;max-width:100%;color:#17243a}
#tomorrowPrediction .regionalEvidenceHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:4px 0 12px}
#tomorrowPrediction .regionalEvidenceHeader>div{display:flex;flex-direction:column;gap:2px;min-width:0}
#tomorrowPrediction .regionalEvidenceHeader strong{font-size:14px;font-weight:800}
#tomorrowPrediction #regionalEvidenceAsOf{font-size:11px;color:#64748b;line-height:1.4}
#tomorrowPrediction .regionalSignalStrength{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 10px;background:#eef4f6;border-radius:999px;color:#334155;font-size:11px}
#tomorrowPrediction .regionalEvidenceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#tomorrowPrediction .regionalEvidenceItem{padding:13px 12px;border:1px solid #e1e8ef;border-radius:12px;background:#f9fafc;min-width:0;box-shadow:none}
#tomorrowPrediction .regionalEvidenceName{font-size:11px;font-weight:800;color:#475569;display:flex;align-items:center;gap:6px;margin-bottom:9px;line-height:1.3}
#tomorrowPrediction .regionalEvidenceName span{font-size:15px;color:#64748b;line-height:1}
#tomorrowPrediction .regionalEvidenceValue{font-size:19px;letter-spacing:-.35px;line-height:1.2;font-weight:850;display:block;overflow-wrap:anywhere;color:#142239}
#tomorrowPrediction .regionalEvidenceValue.rising{color:#b45309}
#tomorrowPrediction .regionalEvidenceValue.falling{color:#188354}
#tomorrowPrediction .regionalEvidenceDescription{font-size:11px;line-height:1.5;margin-top:5px;color:#65748a;overflow-wrap:anywhere}
#tomorrowPrediction .regionalNewsLinks{margin-top:8px;display:flex;flex-direction:column;gap:5px}
#tomorrowPrediction .regionalNewsLinks a{color:#236b53;font-size:11px;line-height:1.4;text-decoration:underline;text-underline-offset:2px}
#tomorrowPrediction .regionalEvidenceNote{font-size:11px;line-height:1.5;color:#64748b;margin:10px 2px 2px}
#tomorrowPrediction .regionalEvidenceNote strong{color:#334155}
#tomorrowPrediction .betaSingleInput{display:none!important}
#tomorrowPrediction .betaTrustStrip{display:none!important}
#tomorrowPrediction #heuristicCandidateResults{display:none!important}
#tomorrowPrediction .stationTimingChecker{display:none!important}
@media(max-width:520px){
 #tomorrowPrediction .regionalEvidenceGrid{grid-template-columns:1fr;gap:8px}
 #tomorrowPrediction .regionalEvidenceItem{padding:10px 12px}
 #tomorrowPrediction .regionalEvidenceValue{font-size:17px}
 #tomorrowPrediction .regionalEvidenceName{margin-bottom:4px}
}

/* Only show the long-run backdrop as a quiet supporting line, not a fifth competing headline. */
#tomorrowPrediction .regionalBackgroundSummary{font-size:11px;line-height:1.55;color:#42566b;background:#f3f7fb;border:1px solid #e3ebf4;border-radius:10px;padding:10px 12px;margin-top:10px}
#tomorrowPrediction .regionalBackgroundSummary.hidden{display:none!important}

/* Regional model: keep signal direction and strength readable without the distracting scrolling marquee. */
#marketTicker.regionalReadableSignal .tickerTrack{animation:none!important;width:100%;display:block;transform:none}
#marketTicker.regionalReadableSignal .tickerSegment{white-space:normal;display:block;padding:0 10px;font-size:12px;line-height:1.35;font-weight:750}
#marketTicker.regionalReadableSignal #marketTickerTextB{display:none}
#marketTicker.regionalReadableSignal .tickerViewport{display:flex;align-items:center;mask-image:none;-webkit-mask-image:none}
#marketTicker.regionalReadableSignal .tickerCall{max-width:54%;flex:0 1 54%;min-width:0}
#marketTicker.regionalReadableSignal #marketTickerCall{font-size:15px;text-overflow:clip;white-space:normal;line-height:1.12}
#marketTicker.regionalReadableSignal{min-height:60px;height:auto}
@media(max-width:520px){
 #marketTicker.regionalReadableSignal{min-height:62px}
 #marketTicker.regionalReadableSignal .tickerCall{padding:8px 9px;max-width:55%;flex-basis:55%}
 #marketTicker.regionalReadableSignal #marketTickerCall{font-size:13px}
 #marketTicker.regionalReadableSignal .tickerSegment{font-size:10px;line-height:1.25;padding:0 5px}
}

/* Mobile timing UI: one slim status pill, four glanceable signals, optional detail.
   Desktop market evidence remains unchanged. */
.tickerMobileContext,
#tomorrowPrediction .regionalMobileValue,
#tomorrowPrediction .regionalMobileBrief,
#tomorrowPrediction .regionalMobileTrend,
#tomorrowPrediction .regionalMobileDetails{display:none!important}

@media all{
 body.locationReady #marketTicker.timingSpotlight,
 body.locationReady #marketTicker.regionalReadableSignal{
  height:64px!important;
  min-height:64px!important;
  padding:7px 9px!important;
  margin:0 0 9px!important;
  border-radius:12px!important;
  gap:0!important;
  box-shadow:0 2px 7px rgba(16,24,40,.10)!important;
 }
 #marketTicker.timingSpotlight .tickerCall,
 #marketTicker.regionalReadableSignal .tickerCall{
  flex:1 1 auto!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  padding:0 33px 0 2px!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:0!important;
 }
 #marketTicker.timingSpotlight .tickerCallLabel{
  font-size:8px!important;
  line-height:1.05!important;
  letter-spacing:.09em!important;
  white-space:nowrap!important;
 }
 #marketTicker.timingSpotlight #marketTickerCall,
 #marketTicker.regionalReadableSignal #marketTickerCall{
  display:block!important;
  width:100%!important;
  font-size:17px!important;
  line-height:1.13!important;
  font-weight:900!important;
  margin:3px 0 0!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
 }
 #marketTicker .tickerHint{display:none!important}
 #marketTicker .tickerMobileContext{
  display:block!important;
  max-width:100%;
  margin-top:3px;
  font-size:10px;
  line-height:1.12;
  font-weight:650;
  color:rgba(255,255,255,.85);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
 }
 #marketTicker .tickerViewport{display:none!important}
 #marketTicker.timingSpotlight .tickerChevron{
  width:27px!important;
  height:27px!important;
  right:7px!important;
  border-radius:8px!important;
  font-size:17px!important;
  background:rgba(255,255,255,.10)!important;
 }
 #tomorrowPrediction.timingFloating{
  padding:12px 12px 14px!important;
  border-radius:13px!important;
 }
 #tomorrowPrediction .predictionKicker,
 #tomorrowPrediction .predictionQuestion{display:none!important}
 #tomorrowPrediction .decision{
  font-size:21px!important;
  line-height:1.1!important;
  margin:1px 36px 5px 0!important;
  letter-spacing:-.02em!important;
 }
 #tomorrowPrediction .decisionMeaning{
  font-size:12px!important;
  line-height:1.35!important;
  margin:0 5px 9px 0!important;
 }
 #tomorrowPrediction .regionalEvidence{margin:8px 0 8px!important}
 #tomorrowPrediction .regionalEvidenceHeader{
  gap:7px!important;
  align-items:flex-start!important;
  margin:0 0 9px!important;
 }
 #tomorrowPrediction .regionalEvidenceHeader strong{
  font-size:12px!important;
  line-height:1.25!important;
 }
 #tomorrowPrediction #regionalEvidenceAsOf{
  font-size:10px!important;
  line-height:1.3!important;
 }
 #tomorrowPrediction .regionalSignalStrength{
  font-size:10px!important;
  padding:5px 8px!important;
  margin:0!important;
 }
 #tomorrowPrediction .regionalEvidenceGrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
 }
 #tomorrowPrediction .regionalEvidenceItem{
  padding:9px 9px 10px!important;
  border-radius:10px!important;
  min-width:0!important;
  min-height:95px;
 }
 #tomorrowPrediction .regionalEvidenceName{
  margin:0 0 7px!important;
  font-size:10px!important;
  line-height:1.2!important;
  gap:4px!important;
  min-height:24px;
  align-items:flex-start!important;
 }
 #tomorrowPrediction .regionalEvidenceName span{
  font-size:12px!important;
  flex:0 0 auto;
 }
 #tomorrowPrediction .regionalEvidenceValue,
 #tomorrowPrediction .regionalEvidenceDescription,
 #tomorrowPrediction .regionalNewsLinks{display:none!important}
 #tomorrowPrediction .regionalMobileValue{
  display:block!important;
  font-size:15px!important;
  font-weight:850!important;
  letter-spacing:-.03em;
  line-height:1.2;
  color:#142239;
  overflow-wrap:anywhere;
 }
 #tomorrowPrediction .regionalMobileValue.rising{color:#b45309}
 #tomorrowPrediction .regionalMobileValue.falling{color:#188354}
 #tomorrowPrediction #regionalRepricingCard .regionalMobileValue{
  font-size:13px!important;
  letter-spacing:-.015em;
 }
 #tomorrowPrediction .regionalMobileBrief{
  display:-webkit-box!important;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:5px;
  color:#65748a;
  font-size:10px;
  line-height:1.25;
 }
 #tomorrowPrediction .regionalMobileTrend:not(.hidden){
  display:block!important;
  margin-top:8px;
  padding:8px 9px;
  font-size:10.5px;
  line-height:1.3;
  font-weight:700;
  border-radius:9px;
  background:#f3f7fb;
  color:#42566b;
 }
 #tomorrowPrediction .regionalMobileDetails{
  display:block!important;
  margin:10px 0 2px;
  color:#475569;
  font-size:11px;
 }
 #tomorrowPrediction .regionalMobileDetails summary{
  cursor:pointer;
  font-size:11px;
  font-weight:750;
  color:#475569;
  padding:5px 0;
 }
 #tomorrowPrediction #regionalMobileDetailsContent{
  margin-top:7px;
  border-top:1px solid #e4e7ec;
 }
 #tomorrowPrediction #regionalMobileDetailsContent section{
  padding:9px 0;
  border-bottom:1px solid #e4e7ec;
 }
 #tomorrowPrediction #regionalMobileDetailsContent strong{
  color:#334155;
  font-size:11px;
 }
 #tomorrowPrediction #regionalMobileDetailsContent p{
  margin:4px 0 0;
  font-size:11px;
  line-height:1.45;
  color:#667085;
  overflow-wrap:anywhere;
 }
 #tomorrowPrediction .regionalMobileSourceLinks{
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:7px;
 }
 #tomorrowPrediction .regionalMobileSourceLinks a{
  font-size:11px;
  overflow-wrap:anywhere;
 }
 #tomorrowPrediction #regionalRetailTrendSummary,
 #tomorrowPrediction #regionalBackgroundSummary,
 #tomorrowPrediction #regionalEvidenceNote{display:none!important}
 #tomorrowPrediction .regionalEvidenceNote{
  font-size:10.5px!important;
  line-height:1.25!important;
  margin:8px 1px 2px!important;
 }
 #tomorrowPrediction .timingWhy{margin-top:8px!important}
}

/* V2 preview: restore restrained movement to the regional timing detail. */
@media (min-width:561px) and (prefers-reduced-motion:no-preference){
 #marketTicker.regionalReadableSignal .tickerTrack{display:flex!important;width:max-content!important;animation:gaspalTicker 23s linear infinite!important}
 #marketTicker.regionalReadableSignal .tickerSegment{white-space:nowrap!important;display:inline-block!important}
 #marketTicker.regionalReadableSignal #marketTickerTextB{display:inline-block!important}
 #marketTicker.regionalReadableSignal .tickerViewport{overflow:hidden!important}
}
/* Keep the main recommendation stable while the short context line gently moves. */
@media (max-width:560px) and (prefers-reduced-motion:no-preference){
 #marketTicker .tickerMobileContext{animation:gaspalMobileContextSlide 9s ease-in-out infinite alternate;transform-origin:left center}
 @keyframes gaspalMobileContextSlide{0%,17%{transform:translateX(0)}82%,100%{transform:translateX(-12px)}}
}
/* National long-run background is available in methodology, not competing in the main decision. */
#tomorrowPrediction #regionalBackgroundSummary{display:none!important}

/* V2: compact, real-data market strip under the unchanged timing recommendation. */
@media all{
 body.locationReady #marketTicker.timingSpotlight,
 body.locationReady #marketTicker.regionalReadableSignal{
   height:91px!important;min-height:91px!important;padding-bottom:27px!important;
   position:relative!important;overflow:hidden!important;
 }
 #marketTicker .tickerMobileContext{animation:none!important;transform:none!important}
 #marketTicker .tickerViewport{
   display:block!important;position:absolute!important;left:0;right:0;bottom:0;
   height:23px!important;line-height:23px!important;max-width:100%!important;
   border-top:1px solid rgba(255,255,255,.22);
   background:rgba(0,0,0,.12);overflow:hidden!important;pointer-events:none;
   mask-image:none!important;-webkit-mask-image:none!important;
 }
 #marketTicker.regionalReadableSignal .tickerTrack,
 #marketTicker .tickerTrack{
   display:flex!important;align-items:center!important;width:max-content!important;
   animation:gaspalTicker 30s linear infinite!important;transform:none;
 }
 #marketTicker.regionalReadableSignal .tickerSegment,
 #marketTicker .tickerSegment{
   display:inline-block!important;flex:0 0 auto!important;white-space:nowrap!important;
   font-size:10px!important;font-weight:650!important;padding:0 30px 0 15px!important;
   line-height:23px!important;
 }
 #marketTicker .tickerChevron{bottom:28px!important}
}
@media(prefers-reduced-motion:reduce){
 #marketTicker .tickerTrack,#marketTicker.regionalReadableSignal .tickerTrack{animation:none!important}
}

/* Compact utility row: value proposition always precedes Community and units. */
.gpAuxRow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:1px 0 10px;min-height:24px}
.gpAuxRow .communityHeaderLink{margin:0;padding:4px 9px;flex-shrink:0}
.gpAuxRow .countryModeNotice{margin:0!important;padding:3px 7px!important;border:1px solid #e5e8ee!important;border-radius:999px!important;background:#f5f6f9!important;color:#556176!important;font-size:10px!important;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gpAuxRow .countryModeNotice.hidden{display:none!important}
.gpTickerMetric{display:inline-block;white-space:nowrap}
.gpTickerName{color:#f0f3f8}
.gpMetric-wait{color:#7cf2ad!important}
.gpMetric-fill{color:#ff9292!important}
.gpMetric-neutral{color:#ffc975!important}
.gpTickerDot{color:#d1d5db;padding:0 8px}
#marketTicker .tickerSegment{color:#fff}
@media(max-width:560px){.gpAuxRow{margin:0 0 8px}.gpAuxRow .countryModeNotice{max-width:42%;font-size:9px!important}}

/* Match desktop timing banner and expanded input cards to the proven compact mobile layout. */
@media(min-width:561px){
  body.locationReady #marketTicker.timingSpotlight,
  body.locationReady #marketTicker.regionalReadableSignal{
    position:relative!important;overflow:hidden!important;
    height:91px!important;min-height:91px!important;
    padding-bottom:27px!important;
  }
  #marketTicker .tickerChevron{
    position:absolute!important;right:9px!important;top:33px!important;bottom:auto!important;
    width:27px!important;height:27px!important;border-radius:8px!important;
    transform:translateY(-50%)!important;background:rgba(255,255,255,.10)!important;
  }
  #marketTicker.expanded .tickerChevron{transform:translateY(-50%) rotate(180deg)!important}
  #tomorrowPrediction.timingFloating{
    width:min(440px,calc(100vw - 32px))!important;
    padding:12px 12px 14px!important;
  }
}
/* Country and units are automatic; do not display a non-interactive control. */
.gpAuxRow #countryModeNotice{display:none!important}

/* V2: keep the timing recommendation visible while mobile users scroll stations.
   A previous mobile override set position:relative!important and broke sticky. */
@media(max-width:560px){
  body.locationReady #marketTicker.timingSpotlight,
  body.locationReady #marketTicker.regionalReadableSignal{
    position:sticky!important;
    top:max(6px, env(safe-area-inset-top))!important;
    z-index:150!important;
  }
}
/* Repricing direction has its own semantic colors, regardless of overall signal. */
#tomorrowPrediction .gpRepriceRaise,#marketTicker .gpRepriceRaise{color:#d63737!important}
#tomorrowPrediction .gpRepriceLower,#marketTicker .gpRepriceLower{color:#15803d!important}
#marketTicker .gpRepriceRaise{color:#ff9999!important}
#marketTicker .gpRepriceLower{color:#82efa8!important}
#tomorrowPrediction .regionalMobileValue .gpRepriceRaise,
#tomorrowPrediction .regionalEvidenceValue .gpRepriceRaise{color:#bc2626!important}
#tomorrowPrediction .regionalMobileValue .gpRepriceLower,
#tomorrowPrediction .regionalEvidenceValue .gpRepriceLower{color:#15803d!important}

/* Restore the original worldwide gas-market news reading section near the
   bottom on phones. An old mobile-cleanup rule hid it despite live news data. */
@media(max-width:640px){
  .newsCard:not(.hidden){display:block!important}
  .newsCard{margin-top:14px;padding:14px!important}
  .newsCard .sectionTitle{font-size:17px;line-height:1.25}
  .newsCard .simpleIntro{font-size:12px;line-height:1.4}
  .newsCard .marketBrief{font-size:14px;line-height:1.5}
  .newsCard .newsSources{margin-top:9px}
  .newsCard .newsNote{font-size:11px;line-height:1.45}
}
.newsCard.hidden{display:none!important}

/* Source links belong inside the supply-evidence card, including on phones. */
#tomorrowPrediction .regionalNewsSourcesDetails{margin-top:7px;min-width:0}
#tomorrowPrediction .regionalNewsSourcesDetails[hidden]{display:none!important}
#tomorrowPrediction .regionalNewsSourcesDetails summary{display:list-item;cursor:pointer;color:#176b52;font-size:11px;font-weight:750;line-height:1.45;text-underline-offset:2px}
#tomorrowPrediction .regionalNewsSourcesDetails[open] .regionalNewsLinks{display:flex!important;flex-direction:column;gap:7px;max-height:180px;overflow-y:auto;overflow-wrap:anywhere}
#tomorrowPrediction .regionalNewsSourcesDetails .regionalNewsLinks a{display:block;font-size:11px;line-height:1.4}


/* Web Push signup lives directly in the existing GasPal alerts card. */
.gpPushCard{box-sizing:border-box}
.gpPushFields{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;margin:13px 0 6px}
.gpPushFields label{font-size:12px;font-weight:700;color:#344054}
.gpPushOptional{font-weight:500;color:#667085}
.gpPushSelect{box-sizing:border-box;width:100%;min-height:42px;border:1px solid #d3ddd8;border-radius:10px;padding:9px 10px;background:#fff;color:#17271f;font:inherit;font-size:14px}
.gpPushFields label:first-child{grid-row:1;grid-column:1}.gpPushFields label:nth-of-type(2){grid-row:1;grid-column:2}
.gpPushFields select:first-of-type{grid-column:1;grid-row:2}.gpPushFields select:nth-of-type(2){grid-column:2;grid-row:2}
.gpPushTopics{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0}
.gpPushTopics label{display:flex;align-items:center;gap:6px;font-size:12px;color:#344054;font-weight:600;cursor:pointer}
.gpPushTopics input{accent-color:#137a4a;width:16px;height:16px}
.gpPushEnable{display:inline-flex;align-items:center;justify-content:center;background:#147c4a;color:white;border:0;border-radius:11px;padding:12px 17px;min-height:43px;font:inherit;font-size:14px;font-weight:750;cursor:pointer}
.gpPushEnable:disabled{opacity:.56;cursor:wait}
.gpPushActions{display:inline-flex;gap:7px;flex-wrap:wrap;margin-left:7px}
.gpPushMinor{min-height:37px;border-radius:9px;border:1px solid #cbded1;padding:7px 11px;background:white;color:#286447;font-weight:700;cursor:pointer}
.gpPushStatus{font-size:12px;color:#586b60;line-height:1.45;margin-top:10px}
.gpPushStatus.error{color:#ac3029}
.gpPushHint{font-size:11px;color:#667085;margin-top:7px;line-height:1.4}
.gpPushInstall{background:#f5faf7;border:1px solid #d5e7dc;border-radius:10px;padding:11px;font-size:12px;line-height:1.55;margin-top:10px}
.gpPushInstall ol{padding-left:20px;margin:6px 0}
@media(max-width:520px){.gpPushFields{grid-template-columns:1fr}.gpPushFields label:first-child{grid-row:1;grid-column:1}.gpPushFields select:first-of-type{grid-row:2;grid-column:1}.gpPushFields label:nth-of-type(2){grid-row:3;grid-column:1}.gpPushFields select:nth-of-type(2){grid-row:4;grid-column:1}.gpPushActions{margin:8px 0 0}.gpPushEnable{width:100%}}


/* Optional alert area: compact and cost-aware (12 preobserved markets only). */
.gpPushLocalOption{margin:10px 0 4px;display:grid;gap:5px;max-width:500px}
.gpPushLocalOption[hidden]{display:none!important}
.gpPushLocalOption>label{font-weight:750;font-size:12px;color:#344054}
.gpPushLocalOption .gpPushHint{margin-top:2px}
.gpPushHelp{margin-top:10px;padding:7px 0;color:#475467;font-size:12px;line-height:1.5}
.gpPushHelp>summary{cursor:pointer;font-weight:700;color:#176b52}
.gpPushHelp p{margin:6px 0}


/* City requests are opt-in, anonymous and deliberately secondary to signup. */
.gpPushCityRequest{margin:10px 0 12px;font-size:12px;color:#475467}
.gpPushCityRequest>summary{cursor:pointer;display:list-item;font-weight:750;color:#14724c}
.gpPushCityRequest p{margin:8px 0;line-height:1.5}
.gpPushCityRequest label{display:block;margin:7px 0 5px;font-weight:700;color:#344054}
.gpPushCityRow{display:flex;align-items:center;gap:7px;max-width:470px;flex-wrap:wrap}
.gpPushCityRow input{flex:1 1 180px;min-width:0;border:1px solid #cbd5d1;border-radius:9px;padding:10px;font:inherit;font-size:14px}
.gpPushCityRow button{border:1px solid #cbd5d1;color:#176a49;background:white;border-radius:9px;padding:10px 14px;font-weight:750;cursor:pointer;font:inherit;font-size:13px}
.gpPushCityRow button:disabled{opacity:.6;cursor:progress}
.gpPushCityStatus{margin-top:6px;font-size:12px;color:#166534;min-height:12px}

/* Dream Drive interest test: keep the fueling recommendations primary. */
.dreamDriveTeaser{background:linear-gradient(125deg,#fff7f6 0%,#fff 70%);border:1px solid #f3d5d3;padding:17px 19px}
.dreamDriveEyebrow{color:#c82730;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:6px}
.dreamDrivePitch{display:flex;align-items:center;justify-content:space-between;gap:18px}
.dreamDrivePitch h2{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:0 0 5px;color:#282525}
.dreamDrivePitch p{font-size:12px;color:#6b6161;line-height:1.45;margin:0;max-width:470px}
.dreamDrivePitch a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;white-space:nowrap;background:#d72c32;border-radius:10px;color:#fff;font-weight:800;font-size:12px;min-height:40px;padding:10px 12px}
@media(max-width:580px){.dreamDrivePitch{display:block}.dreamDrivePitch a{margin-top:12px;min-height:37px}.dreamDriveTeaser{padding:16px}}


/* Original GasPal partner referral pass. Keep the core gas decision unobstructed. */
#localPartnerCard.hidden{display:none!important}
body.locationReady #localPartnerCard:not(.hidden){display:flex!important}
body.locationReady #localPartnerCard .partnerFlapPanel{
  width:336px!important;max-width:calc(100vw - 24px)!important;
  max-height:min(75dvh,690px);overflow-y:auto;overscroll-behavior:contain;
}
#localPartnerCard .partnerOfferPreview{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:3px 9px;
  padding:10px 12px;margin-top:11px;border:1px solid #f4c4c8;
  border-radius:12px;background:#fff7f7;color:#891b21;
}
#localPartnerCard .partnerOfferPreview>span{font-size:11px;font-weight:850;max-width:120px;line-height:1.2}
#localPartnerCard .partnerOfferPreview>strong{font-size:27px;letter-spacing:-.035em;line-height:1;font-weight:950;color:#b4232d}
#localPartnerCard .partnerOfferPreview sup{font-size:12px;vertical-align:super}
#localPartnerCard .partnerOfferPreview>small{flex-basis:100%;font-size:10px;color:#92515a}
#localPartnerCard .partnerReferral{background:#f8fafc;color:#344054;border:1px solid #edf0f4}
#localPartnerCard .partnerReferral strong{color:#101828}
#localPartnerCard .partnerPassReveal{
  display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;
  padding:10px 12px;margin-top:11px;border:0;border-radius:10px;
  color:#fff;background:#bd2633;font-size:13px;font-weight:850;cursor:pointer;
}
#localPartnerCard .partnerPassReveal:hover{background:#a71f2b}
#localPartnerCard .partnerPassDetails.hidden{display:none!important}
#localPartnerCard .partnerPassDetails{margin-top:10px}
#localPartnerCard .partnerPassArt{
  padding:13px;border:1px solid #e6e9ee;border-top:4px solid #bc2633;
  border-radius:12px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.04)
}
#localPartnerCard .partnerPassBrand{display:flex;align-items:center;justify-content:space-between;gap:10px}
#localPartnerCard .partnerPassBrand span{font-size:23px;line-height:1;color:#bc2633;font-weight:950;letter-spacing:-.045em}
#localPartnerCard .partnerPassBrand small{font-size:9px;color:#667085;font-weight:850;letter-spacing:.07em}
#localPartnerCard .partnerPassShop{font-size:13px;font-weight:900;color:#101828;margin-top:14px}
#localPartnerCard .partnerPassAddress{font-size:11px;color:#667085;line-height:1.4;margin-top:2px}
#localPartnerCard .partnerPassArt label{display:block;margin-top:14px;color:#475467;font-weight:850;font-size:9px;letter-spacing:.07em}
#localPartnerCard .partnerPassCodeRow{display:flex;gap:6px;margin-top:6px}
#localPartnerCard .partnerPassCodeRow input{
  min-width:0;flex:1;min-height:38px;padding:7px 9px;border:1px dashed #d0d5dd;
  border-radius:9px;background:#f8fafc;font:900 16px/1.2 ui-monospace,SFMono-Regular,monospace;
  color:#101828;letter-spacing:.025em;user-select:text;
}
#localPartnerCard .partnerPassCodeRow button{
  min-height:38px;padding:6px 10px;border:1px solid #d0d5dd;background:#fff;
  color:#344054;border-radius:9px;font-weight:850;font-size:12px;cursor:pointer;
}
#localPartnerCard .partnerPassCopyStatus{font-size:10px;color:#176345;min-height:13px;margin-top:4px}
#localPartnerCard .partnerPassDisclaimer,#localPartnerCard .partnerCouponTerms{
  font-size:10.5px;line-height:1.45;color:#667085;margin:9px 0;
}
#localPartnerCard .partnerCallLink{
  display:block;text-align:center;margin-top:9px;color:#344054;
  font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px;
}
#localPartnerCard .partnerPassReveal:focus-visible,
#localPartnerCard .partnerPassCodeRow button:focus-visible{
  outline:3px solid #c02a39;outline-offset:2px;
}
@media(max-width:560px){
  body.locationReady #localPartnerCard .partnerFlapPanel{width:310px!important;max-height:70dvh}
}

/* Original GasPal coupon styling, no third-party creative assets. */
#localPartnerCard .partnerCouponPrice{display:flex;flex-direction:column;align-items:center;gap:3px;margin:14px -3px 11px;padding:15px 9px 14px;border-radius:12px;background:linear-gradient(155deg,#fff5f5 0%,#fff 70%);border:1px solid #f7d8dc;text-align:center}
#localPartnerCard .partnerCouponService{color:#a92330;letter-spacing:.13em;font-size:10px;font-weight:950}
#localPartnerCard .partnerCouponPrice strong{color:#c02835;font-size:52px;line-height:1.05;font-weight:950;letter-spacing:-.06em}
#localPartnerCard .partnerCouponPrice strong sup{font-size:15px;vertical-align:super;letter-spacing:0}
#localPartnerCard .partnerCouponPrice small{font-size:10px;color:#667085;font-weight:700}
#localPartnerCard .partnerCouponRedemption{margin-top:11px;padding:8px 10px;border-radius:8px;background:#f0f9f4;color:#166534;font-size:11px;font-weight:850;text-align:center}
#localPartnerCard .partnerOfferPreview>span{max-width:120px;letter-spacing:.04em}
#localPartnerCard .partnerPassArt{border-top-width:5px}

/* Original, ticket-style GasPal coupon — no third-party graphics. */
#localPartnerCard .partnerPassArt{position:relative;overflow:visible;padding:0 14px 14px;border:2px solid #cc3442;border-top:0;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(111,28,38,.10)}
#localPartnerCard .partnerCouponHeader{margin:0 -14px;padding:12px 13px 11px;background:#b72533;color:#fff;border-radius:12px 12px 0 0}
#localPartnerCard .partnerPassBrand span{color:#fff;font-size:25px;letter-spacing:-.04em}
#localPartnerCard .partnerPassBrand small{color:#fff;opacity:.9;font-size:9px;letter-spacing:.05em;text-align:right}
#localPartnerCard .partnerCouponTopline{margin-top:8px;letter-spacing:.13em;font-size:9px;font-weight:900;color:#ffe3e6}
#localPartnerCard .partnerCouponPrice{margin:0 -12px;padding:12px 7px 14px;border:0;border-radius:0;background:#fff}
#localPartnerCard .partnerCouponPrice strong{font-size:55px;letter-spacing:-.055em}
#localPartnerCard .partnerCouponPerforation{position:relative;display:flex;gap:9px;align-items:center;justify-content:center;height:24px;margin:2px -14px 12px;border-top:2px dashed #d5a0a6;color:#96505a;font-size:9px;font-weight:900;letter-spacing:.09em}
#localPartnerCard .partnerCouponPerforation:before,#localPartnerCard .partnerCouponPerforation:after{content:"";position:absolute;top:-12px;width:20px;height:20px;background:#fff;border:2px solid #cc3442;border-radius:50%}
#localPartnerCard .partnerCouponPerforation:before{left:-11px;border-left-color:transparent}
#localPartnerCard .partnerCouponPerforation:after{right:-11px;border-right-color:transparent}
#localPartnerCard .partnerPassShop{margin-top:0;font-size:12px}
#localPartnerCard .partnerPassCodeRow input{background:#fffaf9;border:2px dashed #c57d87;font-size:15px;text-align:center;letter-spacing:.05em}
#localPartnerCard .partnerCouponRedemption{background:#fef0f0;color:#86252e}
@media print{#localPartnerCard .partnerPassArt{break-inside:avoid;box-shadow:none}}

/* Final GasPal smog coupon: responsive, branded SVG art + LIVE code.
 * Reference code is intentionally NOT baked into the graphic.
 */
#localPartnerCard .partnerFlapPanel{scrollbar-gutter:stable}
#localPartnerCard .partnerTicket{
  position:relative;overflow:hidden;background:#fff;
  border:2px solid #c8102e;border-radius:14px;
  box-shadow:0 5px 20px rgba(128,12,36,.1);
}
#localPartnerCard .partnerTicketArtwork{display:block;width:100%;height:auto;max-width:100%;background:#fff}
#localPartnerCard .partnerLiveCodePanel{
  position:relative;padding:12px 12px 13px;background:#fff;
  border-top:2px dashed #d6b1b7;text-align:center;
}
#localPartnerCard .partnerLiveCodePanel:before,
#localPartnerCard .partnerLiveCodePanel:after{
  content:"";position:absolute;top:-12px;width:20px;height:20px;
  background:#fff;border:2px solid #c8102e;border-radius:50%;
}
#localPartnerCard .partnerLiveCodePanel:before{left:-12px;border-left:0}
#localPartnerCard .partnerLiveCodePanel:after{right:-12px;border-right:0}
#localPartnerCard .partnerLiveCodePanel label{
  display:block;font-size:11px;line-height:1.3;font-weight:950;
  color:#b82232;letter-spacing:.11em;margin-bottom:8px;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCodeRow{display:flex;gap:7px;margin:0}
#localPartnerCard .partnerLiveCodePanel input{
  min-width:0;flex:1;max-width:100%;height:45px;border:2px dashed #c8102e;
  background:#fffaf9;text-align:center;letter-spacing:.045em;
  font-size:16px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-weight:900;color:#16191e;user-select:text;-webkit-user-select:text;
}
#localPartnerCard .partnerLiveCodePanel button{
  flex:0 0 auto;min-width:60px;min-height:45px;
  border:0;border-radius:8px;background:#c8102e;
  color:#fff;font-weight:850;cursor:pointer;
}
#localPartnerCard .partnerPassCopyStatus{min-height:15px;margin-top:6px;font-size:11px}
#localPartnerCard .partnerTicketCredit{
  margin-top:5px;color:#b82232;font-size:10px;font-weight:800;letter-spacing:.025em;
}
#localPartnerCard .partnerTicketCredit strong{font-weight:950}
#localPartnerCard .partnerCouponTerms{
  margin:9px 0 2px;color:#667085;font-size:10.5px;line-height:1.4;
}
#localPartnerCard.couponShowing .partnerOfferPreview{display:none}
#localPartnerCard.couponShowing .partnerServiceLine{display:none}
#localPartnerCard.couponShowing .partnerPassReveal{background:#f4f4f5;color:#444b53;border:1px solid #ddd}
#localPartnerCard.couponShowing .partnerPassReveal:hover{background:#eee}
#localPartnerCard .partnerLiveCodePanel button:focus-visible,
#localPartnerCard .partnerPassReveal:focus-visible{outline:3px solid #b82232;outline-offset:3px}
@media(max-width:560px){
  #localPartnerCard .partnerLiveCodePanel{padding:11px 9px 11px}
  #localPartnerCard .partnerLiveCodePanel input{font-size:15px;letter-spacing:.02em}
  #localPartnerCard .partnerLiveCodePanel button{min-width:56px}
}
@media(prefers-reduced-motion:reduce){#localPartnerCard .partnerTicket{transition:none}}

/* Generic floating Bay Area car-care entry removed; the real coupon appears
   only after users explicitly tap the inline $29.95 smog-check offer. */
body.locationReady #localPartnerCard:not(.open){display:none!important}
body.locationReady #localPartnerCard .partnerFlapTab{display:none!important}
body.locationReady #localPartnerCard.open:not(.hidden){
  position:fixed!important;inset:0!important;top:0!important;left:0!important;
  right:0!important;bottom:0!important;width:100vw!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;z-index:9999!important;
  padding:10px!important;margin:0!important;
  display:flex!important;flex-direction:row!important;align-items:center!important;
  justify-content:center!important;gap:0!important;
  background:rgba(16,24,40,.60)!important;overflow-y:auto!important;
}
body.locationReady #localPartnerCard.open .partnerFlapPanel{
  position:relative!important;inset:auto!important;left:auto!important;
  right:auto!important;bottom:auto!important;top:auto!important;
  display:block!important;width:min(408px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;max-height:86dvh!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
  margin:auto!important;padding:14px!important;
  border:1px solid #e4e7ec!important;border-radius:16px!important;
  background:#fff!important;box-shadow:0 24px 65px rgba(16,24,40,.28)!important;
}
body.locationReady #localPartnerCard.open .partnerFlapClose{
  position:absolute!important;top:8px!important;right:9px!important;left:auto!important;
  z-index:3!important;background:#f2f4f7!important;
}
/* Coupon artwork already contains the smog-check headline and shop name; no repeated title above it. */
body.locationReady #localPartnerCard.open .partnerPrompt{display:none!important}
body.locationReady #localPartnerCard.open .partnerTitle,
body.locationReady #localPartnerCard.open .partnerServiceLine,
body.locationReady #localPartnerCard.open .partnerOfferPreview,
body.locationReady #localPartnerCard.open .partnerPassReveal{display:none!important}
body.locationReady #localPartnerCard.open .partnerPassDetails{margin:0!important}
body.gpPartnerCouponOpen{overflow:hidden!important}
@media(max-width:580px){
 body.locationReady #localPartnerCard.open:not(.hidden){padding:8px!important}
 body.locationReady #localPartnerCard.open .partnerFlapPanel{
  width:min(390px,calc(100vw - 16px))!important;
  max-width:calc(100vw - 16px)!important;
  max-height:calc(93dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  padding:11px!important;
 }
}

/* GasPal smog-check teaser — one restrained, right-aligned card in the normal
 * document flow. It animates IN from the side once, but never covers fuel
 * prices or interferes with the floating founder-message control. */
#partnerOfferStrip.partnerOfferStrip.hidden,
#partnerOfferRestore.partnerOfferRestore.hidden{display:none!important}
body:not(.locationReady) #partnerOfferStrip,
body:not(.locationReady) #partnerOfferRestore{display:none!important}
#partnerOfferStrip.partnerOfferStrip{
 position:relative!important;inset:auto!important;top:auto!important;
 left:auto!important;right:auto!important;bottom:auto!important;
 display:flex!important;align-items:stretch!important;
 width:min(272px,100%)!important;max-width:100%!important;
 height:auto!important;min-height:64px!important;
 margin:8px 0 10px auto!important;padding:0!important;
 border:1px solid #e9dadd!important;border-left:3px solid #bd2939!important;
 border-radius:12px!important;background:#fff!important;
 box-shadow:0 3px 11px rgba(29,40,57,.065)!important;
 z-index:auto!important;
 animation:gpSmogSlideIn .28s cubic-bezier(.2,.8,.25,1) both;
}
#partnerOfferStrip .partnerPromoButton{
 display:grid!important;grid-template-columns:1fr auto!important;
 grid-template-rows:auto auto!important;
 grid-template-areas:"kicker kicker" "price action"!important;
 column-gap:9px!important;row-gap:4px!important;
 flex:1!important;align-items:center!important;justify-items:start!important;
 width:100%!important;min-width:0!important;min-height:62px!important;
 padding:9px 32px 9px 12px!important;
 border:0!important;border-radius:11px!important;background:transparent!important;
 color:#162235!important;text-align:left!important;white-space:normal!important;
 cursor:pointer!important;
}
#partnerOfferStrip .partnerPromoButton:hover{background:#fff8f9!important}
#partnerOfferStrip .partnerOfferKicker{
 grid-area:kicker!important;
 font-size:9px!important;line-height:1.15!important;letter-spacing:.09em!important;
 font-weight:900!important;color:#8a4e5a!important;
}
#partnerOfferStrip .partnerOfferPrice{
 grid-area:price!important;
 color:#b52637!important;font-size:24px!important;
 line-height:1!important;font-weight:950!important;letter-spacing:-.055em!important;
 white-space:nowrap!important;
}
#partnerOfferStrip .partnerOfferPrice sup{
 font-size:10px!important;vertical-align:super!important;letter-spacing:0!important;
}
#partnerOfferStrip .partnerOfferCTA{
 grid-area:action!important;display:inline-flex!important;gap:5px!important;
 align-items:center!important;justify-self:end!important;
 font-size:11px!important;font-weight:850!important;
 line-height:1.2!important;white-space:nowrap!important;color:#a62031!important;
}
#partnerOfferStrip .partnerPromoDismiss{
 position:absolute!important;top:6px!important;right:6px!important;left:auto!important;
 display:grid!important;place-items:center!important;
 width:22px!important;height:22px!important;padding:0!important;
 border:0!important;border-radius:6px!important;
 color:#79818d!important;background:transparent!important;
 font-size:19px!important;line-height:1!important;cursor:pointer!important;z-index:1!important;
}
#partnerOfferStrip .partnerPromoDismiss:hover{background:#f5edef!important;color:#ae2435!important}
#partnerOfferStrip button:focus-visible,
#partnerOfferRestore button:focus-visible{
 outline:2px solid #b52637!important;outline-offset:2px!important;
}
@keyframes gpSmogSlideIn{
 from{transform:translateX(20px);opacity:0}
 to{transform:translateX(0);opacity:1}
}
/* Recoverable, small, click-to-restore state. Explicitly ONE state at a time. */
#partnerOfferRestore.partnerOfferRestore{
 position:relative!important;inset:auto!important;top:auto!important;
 left:auto!important;right:auto!important;bottom:auto!important;
 display:flex!important;justify-content:flex-end!important;align-items:center!important;
 width:100%!important;max-width:100%!important;height:auto!important;
 min-height:30px!important;padding:0!important;margin:6px 0 8px!important;
 background:transparent!important;border:0!important;box-shadow:none!important;
 z-index:auto!important;
}
#partnerOfferRestore button{
 display:inline-flex!important;align-items:center!important;gap:5px!important;
 min-height:29px!important;padding:5px 9px!important;
 border:1px solid #e7dce0!important;border-radius:999px!important;
 background:#fff!important;color:#667085!important;
 font-size:10px!important;font-weight:750!important;line-height:1.2!important;
 text-decoration:none!important;cursor:pointer!important;
 box-shadow:none!important;
}
#partnerOfferRestore button strong{font-size:11px!important;color:#a72335!important}
#partnerOfferRestore button:hover{background:#fff5f6!important;border-color:#e4bec5!important}
@media(max-width:560px){
 #partnerOfferStrip.partnerOfferStrip{width:min(258px,100%)!important;min-height:62px!important;
   margin:7px 0 9px auto!important}
 #partnerOfferStrip .partnerPromoButton{min-height:60px!important;
   padding:9px 30px 9px 11px!important}
 #partnerOfferStrip .partnerOfferPrice{font-size:23px!important}
 #partnerOfferStrip .partnerOfferCTA{font-size:10.5px!important}
 #partnerOfferRestore.partnerOfferRestore{min-height:29px!important;margin:5px 0 8px!important}
}
@media(prefers-reduced-motion:reduce){
 #partnerOfferStrip.partnerOfferStrip{animation:none!important}
}

/* Approved Bay Area smog coupon — single responsive, functional ticket.
   The code is a live input, never part of the artwork or hardcoded in CSS. */
body.locationReady #localPartnerCard.open .partnerFlapPanel{
  width:min(440px,calc(100vw - 24px))!important;
  max-width:calc(100vw - 24px)!important;
  max-height:min(92dvh,820px)!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  background:#fff!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
}
#localPartnerCard .partnerPassDetails,
body.locationReady #localPartnerCard.open .partnerPassDetails{margin:0!important}
#localPartnerCard .gpSmogCoupon{
  overflow:hidden!important;
  border:1px solid #e5d4d6!important;
  border-radius:20px!important;
  box-shadow:0 12px 45px rgba(37,16,28,.17)!important;
  background:white!important;
  color:#151b29;
  font-family:inherit;
}
#localPartnerCard .gpSmogHero{
  position:relative;display:flex;align-items:center;justify-content:center;
  min-height:78px;padding:22px 48px 15px;
  color:#fff;background:#c8102e;text-align:center;
}
#localPartnerCard .gpSmogHeroSpark{
  position:absolute;top:4px;left:50%;transform:translateX(-50%);
  opacity:.9;font-size:18px;line-height:1;
}
#localPartnerCard .gpSmogHero h2{
  margin:0;font-size:clamp(21px,5.5vw,31px);line-height:1.08;
  font-weight:950;letter-spacing:-.045em;color:#fff;
  white-space:nowrap;
}
body.locationReady #localPartnerCard.open .partnerFlapClose{
  position:absolute!important;top:10px!important;right:10px!important;
  width:32px!important;height:32px!important;padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:0!important;border-radius:9px!important;
  background:rgba(255,255,255,.95)!important;color:#475467!important;
  font-size:25px!important;line-height:1!important;font-weight:400!important;
  cursor:pointer!important;
}
#localPartnerCard .gpSmogCouponBody{padding:15px 17px 13px}
#localPartnerCard .gpSmogMerchant{
  display:flex;align-items:center;gap:9px;margin-bottom:12px;min-width:0;
}
#localPartnerCard .gpSmogCarMark{
  width:60px;height:48px;flex:0 0 60px;color:#c8102e;
}
#localPartnerCard .gpSmogMerchantInfo{min-width:0;flex:1}
#localPartnerCard .gpSmogMerchantInfo>strong{
  display:block;white-space:nowrap;color:#161c28;
  font-size:clamp(13px,3.6vw,18px);
  line-height:1.25;font-weight:950;letter-spacing:-.04em;
}
#localPartnerCard .gpSmogTrust{
  display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;
  margin-top:5px;color:#a41c2c;
  font-size:clamp(8px,2.15vw,10px);font-weight:850;line-height:1.25;
}
#localPartnerCard .gpSmogTrust span{white-space:nowrap}
#localPartnerCard .gpSmogTrust span+span::before{
  content:"·";margin-right:7px;color:#c99ba1;
}
#localPartnerCard .gpSmogDealPanel{
  position:relative;min-height:136px;padding:12px 13px 9px;
  background:#fff1f3;border-radius:17px;text-align:left;
}
#localPartnerCard .gpSmogDealLabel{
  font-size:14px;font-weight:900;line-height:1.25;
  color:#1c2331;letter-spacing:.02em;
}
#localPartnerCard .gpSmogPrice{
  display:block;margin-top:3px;
  color:#c8102e;font-size:clamp(55px,13vw,78px);
  font-weight:950;line-height:1.06;letter-spacing:-.075em;
  white-space:nowrap;
}
#localPartnerCard .gpSmogPrice sup{
  font-size:18px;font-weight:950;vertical-align:super;letter-spacing:0;
  margin-left:3px;
}
#localPartnerCard .gpSmogValueSeal{
  position:absolute;top:28px;right:9px;
  width:80px;height:80px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:3px solid #fff;border-radius:50%;
  box-shadow:0 2px 7px rgba(80,0,24,.12);
  background:#c8102e;color:#fff;text-align:center;
  font-size:12px;font-weight:950;line-height:1.06;letter-spacing:.03em;
  transform:rotate(9deg);
}
#localPartnerCard .gpSmogCheckin{
  margin:12px 0 9px;padding:10px 8px;
  text-align:center;background:#c8102e;color:#fff;
  border-radius:10px;font-size:12.5px;font-weight:900;line-height:1.25;
  letter-spacing:.01em;
}
#localPartnerCard .partnerLiveCodePanel{
  padding:0!important;margin:0!important;text-align:center!important;
  border:0!important;background:transparent!important;
}
#localPartnerCard .partnerLiveCodePanel::before,
#localPartnerCard .partnerLiveCodePanel::after{display:none!important}
#localPartnerCard .partnerLiveCodePanel label{
  margin:0 0 5px!important;color:#ab2132!important;
  font-size:10px!important;letter-spacing:.12em!important;font-weight:900!important;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCodeRow{
  display:flex!important;gap:6px!important;margin:0!important;
  align-items:stretch!important;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCodeRow input{
  box-sizing:border-box!important;height:44px!important;min-height:44px!important;
  min-width:0!important;flex:1 1 auto!important;
  border:2px dashed #cf253c!important;border-radius:9px!important;
  background:#fff!important;color:#18202e!important;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;
  font-weight:900!important;font-size:clamp(12px,3.6vw,16px)!important;
  letter-spacing:.01em!important;text-align:center!important;
  padding:8px 4px!important;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCodeRow button{
  box-sizing:border-box!important;flex:0 0 auto!important;
  min-width:58px!important;min-height:44px!important;
  padding:8px 10px!important;border:0!important;
  border-radius:9px!important;background:#c8102e!important;color:#fff!important;
  font-size:13px!important;font-weight:850!important;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCopyStatus{
  min-height:0!important;margin-top:0!important;
  font-size:11px!important;line-height:1.4!important;
}
#localPartnerCard .partnerLiveCodePanel .partnerPassCopyStatus:not(:empty){
  margin-top:5px!important;
}
#localPartnerCard .gpSmogActions{
  display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:8px!important;margin:12px 0 0!important;
}
#localPartnerCard .gpSmogActions a{
  display:flex!important;align-items:center!important;justify-content:center!important;
  gap:8px!important;min-width:0!important;min-height:43px!important;
  padding:10px 8px!important;border-radius:10px!important;
  text-decoration:none!important;box-sizing:border-box!important;
  font-size:13px!important;font-weight:850!important;line-height:1.2!important;
}
#localPartnerCard .gpSmogActions .partnerPrimary{
  background:#182130!important;color:#fff!important;border:1px solid #182130!important;
}
#localPartnerCard .gpSmogActions .partnerSecondary{
  background:white!important;color:#182130!important;border:1px solid #cfd3da!important;
}
#localPartnerCard .gpSmogActions span{font-size:20px;line-height:1}
#localPartnerCard .partnerCouponTerms{
  margin:11px 2px 4px!important;color:#667085!important;
  text-align:center;font-size:10px!important;line-height:1.35!important;
}
#localPartnerCard .partnerTicketCredit{
  margin:0!important;color:#687383!important;text-align:center!important;
  font-size:10px!important;font-weight:650!important;letter-spacing:0!important;
}
#localPartnerCard .partnerTicketCredit strong{
  color:#b51e31;font-weight:900;
}
#localPartnerCard .gpSmogCoupon button:focus-visible,
#localPartnerCard .gpSmogCoupon a:focus-visible{
  outline:3px solid #263e8e!important;outline-offset:2px!important;
}
@media(max-width:580px){
 body.locationReady #localPartnerCard.open .partnerFlapPanel{
   width:min(390px,calc(100vw - 16px))!important;
   max-width:calc(100vw - 16px)!important;
   max-height:calc(94dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
   padding:0!important;
 }
 #localPartnerCard .gpSmogCouponBody{padding:12px 13px 11px}
 #localPartnerCard .gpSmogMerchant{gap:7px;margin-bottom:10px}
 #localPartnerCard .gpSmogCarMark{width:49px;height:42px;flex-basis:49px}
 #localPartnerCard .gpSmogDealPanel{min-height:125px;padding:11px 12px 8px}
 #localPartnerCard .gpSmogValueSeal{width:70px;height:70px;top:28px;right:8px;font-size:10.5px}
 #localPartnerCard .gpSmogCheckin{margin:10px 0 8px;padding:9px 5px}
 #localPartnerCard .gpSmogActions{margin-top:10px!important}
}
@media(max-width:350px){
 #localPartnerCard .gpSmogHero{padding-left:38px;padding-right:38px;min-height:70px}
 #localPartnerCard .gpSmogHero h2{font-size:20px}
 #localPartnerCard .gpSmogTrust{font-size:7.7px;gap:2px 4px}
 #localPartnerCard .gpSmogMerchantInfo>strong{font-size:12px}
 #localPartnerCard .gpSmogValueSeal{width:62px;height:62px;right:5px;font-size:9px}
 #localPartnerCard .gpSmogPrice{font-size:51px}
 #localPartnerCard .gpSmogDealPanel{min-height:120px}
}
@media(prefers-reduced-motion:reduce){
 #localPartnerCard .gpSmogCoupon *{animation:none!important;transition:none!important}
}
