/* ===== FuelDosth website: app-aligned enhancements. Dark is the default; light follows the device. ===== */
:root {
  --r-lg: 24px;
  --r-md: 20px;
  --r-sm: 16px
}

/* raised cards + one radius set */
.feature {
  border-radius: var(--r-lg);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), 0 22px 50px rgba(0, 0, 0, .28)
}

.b {
  border-radius: var(--r-md);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07)
}

.legal details {
  border-radius: var(--r-sm);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06)
}

/* no underline sweep: keep the red text colour only */
.hero .accent {
  background: none;
  animation: none
}

/* store badge stays visible on dark */
.badge {
  border-color: #6f859b
}

/* odometer motif: ticker prices + stat tiles */
.track b {
  padding: 2px 9px;
  border-radius: 6px;
  color: #fff;
  font: 700 1rem Rajdhani, var(--f1);
  letter-spacing: .5px;
  background: linear-gradient(180deg, #3A5169, #5F7D99 50%, #3A5169);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25)
}

.b strong {
  align-self: flex-start;
  padding: 2px 14px;
  border-radius: 12px;
  font-family: Rajdhani, var(--f1);
  color: #fff;
  background: linear-gradient(180deg, #3A5169, #2D4256);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 4px 10px rgba(0, 0, 0, .3)
}

.b.lg strong {
  padding: 0;
  background: none;
  box-shadow: none
}

/* hero odometer pod (digits roll up in app.js) */
.pod-badge {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 4px 0 18px
}

.pod-badge p {
  margin: 0;
  color: var(--mute);
  font-size: .95rem;
  max-width: 28ch
}

.pod-badge b {
  color: #fff
}

.pod-svg {
  flex: none;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .5))
}

/* scroller extras */
.track .tag {
  align-self: center;
  padding: 3px 12px;
  margin: 0 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  font-size: .8rem;
  font-weight: 600
}

.track small {
  margin-left: 3px;
  color: var(--mute);
  font-size: .8rem
}

.track .msg {
  color: #fff;
  font-style: italic;
  padding-right: 46px
}

/* fuel types tile */
.fchips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 4px
}

.fchip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 10px 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .18);
  color: #fff;
  font-size: .8rem;
  font-weight: 600
}

.b.lg p {
  max-width: 28ch
}

/* store buttons in the top bar */
.topstores {
  display: flex;
  gap: 8px;
  align-items: center
}

.mini {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 11px 5px 9px;
  border-radius: 10px;
  background: #000;
  border: 1px solid #6f859b;
  color: #fff;
  text-decoration: none;
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.1;
  white-space: nowrap
}

.mini svg {
  width: 17px;
  height: 17px;
  fill: #fff
}

.mini.soon {
  opacity: .65
}

.mini em {
  font-style: normal;
  font-weight: 400;
  font-size: .66rem;
  opacity: .8
}

@media(max-width:720px) {
  .topstores {
    display: none
  }
}

/* Find / Confirm / Earn */
.steps ol {
  list-style: none;
  margin: 22px 0 4px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px
}

.steps li {
  position: relative;
  padding: 18px 18px 18px 66px;
  border-radius: var(--r-md);
  border: 1px solid var(--line);
  background: linear-gradient(160deg, #182d44, #0f1d2d);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07)
}

.steps li i {
  position: absolute;
  left: 16px;
  top: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--red);
  color: #fff;
  font: 700 1.05rem var(--f1);
  font-style: normal;
  box-shadow: 0 0 0 4px rgba(214, 95, 97, .22)
}

.steps b {
  display: block;
  font: 700 1.1rem var(--f1)
}

.steps span {
  color: var(--mute);
  font-size: .92rem
}

@media(max-width:720px) {
  .steps ol {
    grid-template-columns: 1fr
  }
}

/* two-phone showcases: no more clipping, first phone sits on top */
.shot.duo {
  padding-bottom: 56px
}

.duo .phone+.phone {
  margin-left: -18px;
  margin-top: 56px
}

.duo .phone:first-child {
  position: relative;
  z-index: 2
}

/* legal answers: dark tinted panel */
.legal details p {
  background: #0f1d2d;
  color: #cfdbe8
}

.legal details a {
  color: #ff9a96
}

footer {
  gap: 22px
}

/* sticky Google Play bar (phones) */
.playbar {
  display: none
}

@media(max-width:720px) {
  .playbar {
    display: flex;
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom));
    z-index: 60;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 10px 10px 16px;
    border-radius: 18px;
    background: rgba(16, 31, 49, .94);
    backdrop-filter: blur(10px);
    border: 1px solid var(--line);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .45);
    color: #fff;
    text-decoration: none;
    font-weight: 600
  }

  .playbar small {
    display: block;
    font-weight: 400;
    color: var(--mute);
    font-size: .75rem
  }

  .playbar em {
    font-style: normal;
    background: var(--red);
    padding: 9px 16px;
    border-radius: 999px;
    font-size: .9rem
  }

  body {
    padding-bottom: 88px
  }
}

/* ===== light theme (device preference) ===== */
@media (prefers-color-scheme:light) {
  :root {
    --bg: #f0f0f0;
    --card: #fff;
    --line: #e3e8ee;
    --ink: #1b2733;
    --mute: #6b7886;
    --red: #C95456;
    --navy: #2D4256
  }

  body {
    color: var(--ink);
    background: #f0f0f0;
    background-image: radial-gradient(60rem 40rem at -10% -5%, rgba(201, 84, 86, .10), transparent 60%), radial-gradient(50rem 40rem at 110% 60%, rgba(45, 66, 86, .10), transparent 60%)
  }

  h1,
  h2 {
    color: var(--navy)
  }

  .pts li {
    color: #3b4a59
  }

  .pts li strong,
  .pod-badge b,
  .steps b {
    color: var(--navy)
  }

  .progress {
    background: linear-gradient(90deg, #C95456, #2D4256)
  }

  .feature {
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 8px 28px rgba(45, 66, 86, .08)
  }

  .feature::before {
    background: radial-gradient(closest-side, rgba(201, 84, 86, .14), transparent)
  }

  .phone {
    box-shadow: 0 0 0 2px #2b2b2b, 0 22px 48px rgba(45, 66, 86, .30)
  }

  .chips span {
    background: #eef2f6;
    color: var(--navy);
    font-weight: 500
  }

  .btn {
    color: var(--red);
    background: #fff
  }

  .btn.solid {
    background: var(--red);
    color: #fff
  }

  .btn:hover {
    filter: none;
    box-shadow: 0 6px 16px rgba(201, 84, 86, .3)
  }

  .email {
    background: rgba(201, 84, 86, .07);
    color: var(--navy)
  }

  .email b {
    color: var(--red);
    font-weight: 600
  }

  .ticker {
    background: #fff
  }

  .b {
    background: #fff;
    box-shadow: 0 6px 20px rgba(45, 66, 86, .07)
  }

  .b.lg {
    background: linear-gradient(150deg, #d0605f, #C95456 45%, #a94347);
    border: 0
  }

  .b::after,
  .feature::after {
    background: radial-gradient(280px circle at var(--mx, 50%) var(--my, 50%), rgba(45, 66, 86, .07), transparent 62%)
  }

  .pod-svg {
    filter: drop-shadow(0 4px 6px rgba(22, 34, 45, .4))
  }

  .steps li {
    background: #fff;
    box-shadow: 0 6px 20px rgba(45, 66, 86, .07)
  }

  .playbar {
    background: rgba(255, 255, 255, .96);
    color: var(--navy);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .2)
  }

  footer a:hover {
    color: var(--red)
  }

  .toolbar button {
    color: var(--red)
  }

  .toolbar button:hover {
    color: var(--navy)
  }

  .legal details {
    background: #fff;
    box-shadow: 0 2px 8px rgba(45, 66, 86, .05)
  }

  .legal summary {
    color: var(--navy)
  }

  .legal details p {
    background: #f6f8fa;
    color: #3b4a59
  }

  .legal details a {
    color: var(--red)
  }
}