:root {
  color-scheme: dark;
  --site-bg: #0a0a0a;
  --site-surface: #161616;
  --site-field: #191919;
  --site-line: #292929;
  --site-muted: #adadad;
  --site-red: #ff525c;
  --site-fuel: #5eead4;
  --site-expense: #fbbf24;
  --site-mod: #c4b5fd;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 100px; scrollbar-color: #4b4b4b var(--site-bg); scroll-behavior: smooth; }
body { margin: 0; background: var(--site-bg); color: #f5f5f5; font: 400 15px/1.65 Inter, sans-serif; -webkit-font-smoothing: antialiased; }
::selection { background: var(--site-red); color: #111; }
a { color: inherit; text-underline-offset: 4px; }
button, input, textarea, select { font: inherit; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--site-red); outline-offset: 5px; }
h1, h2, h3, .wordmark, .site-metric { font-family: Montserrat, Inter, sans-serif; font-weight: 800; letter-spacing: -.025em; line-height: 1.2; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
svg { flex: none; }
.site-icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.brand-dot { color: var(--site-red); }
.wordmark { font-size: 29px; color: #fff; text-decoration: none; letter-spacing: -.035em; line-height: 1; }
.site-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 11px 20px; border-radius: 12px; background: var(--site-red); color: #111; font-weight: 700; text-decoration: none; transition: opacity 140ms ease-out; }
.site-button:hover { opacity: .86; }
.site-button.secondary { background: transparent; color: #fff; border: 1px solid #4a4a4a; }
.site-skip { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 12px 20px; background: #fff; color: #111; transform: translateY(-160%); }
.site-skip:focus { transform: translateY(0); }
.site-rail { position: fixed; inset: 0 auto 0 0; width: 220px; border-right: 1px solid var(--site-line); padding: 36px 24px; display: flex; flex-direction: column; background: var(--site-bg); z-index: 30; }
.site-rail .wordmark { font-size: 26px; }
.site-rail > p { font-size: 12px; color: var(--site-muted); margin: 13px 0 42px; }
.site-sections { display: grid; gap: 12px; }
.site-sections a { display: flex; align-items: center; gap: 15px; min-height: 48px; text-decoration: none; font-weight: 600; color: var(--site-muted); }
.site-sections a:hover, .site-sections a[aria-current] { color: var(--site-red); }
.site-sections a, .site-bottom-nav a { transition: color 150ms ease-out; }
.site-rail-foot { margin-top: auto; display: grid; gap: 16px; font-size: 13px; color: var(--site-muted); }
.site-rail-foot a { text-decoration: none; min-height: 28px; }
.site-rail-foot a:hover { color: #fff; }
.site-shell { margin-left: 220px; }
.site-topbar { position: sticky; top: 0; z-index: 20; min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px clamp(24px, 4vw, 64px); background: rgb(10 10 10 / 94%); border-bottom: 1px solid var(--site-line); }
.site-topbar .wordmark { display: none; }
.site-topbar > p { margin: 0; color: var(--site-muted); font-size: 13px; }
.site-top-actions { display: flex; gap: 24px; align-items: center; }
.site-top-actions > a:not(.site-button) { font-size: 13px; font-weight: 600; text-decoration: none; min-height: 44px; display: flex; align-items: center; }
.site-top-actions > a:not(.site-button):hover { color: var(--site-red); }
.site-main { margin-inline: auto; padding: 0 clamp(24px, 4vw, 64px); }
.site-main > section:not(#overview), #ownership, .latest-update, .site-availability, .site-footer { max-width: 1120px; margin-inline: auto; }
.site-hero { position: relative; min-height: 570px; isolation: isolate; display: flex; align-items: flex-end; overflow: hidden; background: #171917; padding: 52px clamp(24px, 4vw, 64px) 64px; margin-inline: calc(-1 * clamp(24px, 4vw, 64px)); }
.site-hero > img { position: absolute; inset: 0; z-index: -2; height: 100%; width: 100%; object-fit: cover; object-position: 63% 55%; }
.site-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #0a0a0a, rgb(10 10 10 / 72%) 18%, transparent 65%), linear-gradient(90deg, rgb(0 0 0 / 78%), rgb(0 0 0 / 30%) 60%, rgb(0 0 0 / 12%)); }
.site-hero-copy { max-width: 480px; }
.site-hero h1 { max-width: 10ch; font-size: clamp(34px, 4vw, 58px); margin-bottom: 18px; }
.site-hero p { max-width: 43ch; color: #e1e1e1; font-size: 15px; margin-bottom: 24px; }
.site-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.site-availability { margin: 14px 2px 0; color: var(--site-muted); font-size: 12px; }
.latest-update { display: grid; grid-template-columns: 1fr 1.6fr; gap: 32px; padding: 26px 0; margin-top: 30px; border-block: 1px solid var(--site-line); }
.latest-update h2 { font-size: 21px; margin-bottom: 7px; }
.latest-update p { font-size: 13px; color: var(--site-muted); margin-bottom: 8px; }
.latest-update .plain-link { font-size: 13px; display: inline-flex; min-height: 36px; align-items: center; }
.site-section { padding-top: 60px; scroll-margin-top: 16px; }
.section-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 20px; }
.section-heading::after { content: ''; height: 1px; flex: 1; background: var(--site-line); }
.section-heading h2 { font-size: 27px; margin: 0; }
.section-intro { max-width: 65ch; color: var(--site-muted); margin-bottom: 28px; }
.ownership-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.ownership-group h3 { font-size: 17px; margin-bottom: 22px; }
.ownership-cells { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ownership-cell { padding: 0 16px; border-left: 1px solid var(--site-line); min-width: 0; }
.ownership-cell:first-child { padding-left: 0; border: 0; }
.ownership-cell:last-child { padding-right: 0; }
.ownership-cell .cell-name { display: flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.cell-name .site-icon { width: 17px; height: 17px; }
.ownership-cell strong { display: block; font-family: Montserrat, sans-serif; font-size: 17px; letter-spacing: -.025em; line-height: 1.4; margin: 10px 0 4px; }
.ownership-cell p { color: var(--site-muted); font-size: 12px; margin-bottom: 0; }
.fuel { color: var(--site-fuel); } .expense { color: var(--site-expense); } .mod { color: var(--site-mod); }
.ownership-details { display: grid; grid-template-columns: 1.05fr 1fr; gap: 44px; margin-top: 45px; }
.info-rows { margin: 0; }
.info-row { display: flex; align-items: flex-start; gap: 16px; padding-block: 20px; border-bottom: 1px solid var(--site-line); }
.info-row > .site-icon { margin-top: 2px; color: var(--site-muted); }
.info-row h3 { margin: 0 0 5px; font-size: 15px; }
.info-row p { margin: 0; font-size: 13px; color: var(--site-muted); }
.glovebox { padding: 26px; border-radius: 16px; background: var(--site-surface); align-self: start; }
.glovebox-title { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.glovebox-title h3 { font-size: 21px; margin: 0; }
.glovebox-tabs { display: flex; flex-wrap: wrap; gap: 18px; padding-bottom: 16px; border-bottom: 1px solid #353535; list-style: none; padding-left: 0; margin-bottom: 22px; font-weight: 600; font-size: 12px; color: #d1d1d1; }
.glovebox p { color: var(--site-muted); font-size: 13px; }
.glovebox p:last-child { margin-bottom: 0; }
.tools-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.tool-info { display: flex; gap: 16px; padding: 22px 0; border-bottom: 1px solid var(--site-line); }
.tool-info > .site-icon { width: 28px; height: 28px; color: #d1d1d1; margin-top: 2px; }
.tool-info h3 { font-size: 16px; margin: 0 0 7px; }
.tool-info p { margin: 0; color: var(--site-muted); font-size: 13px; max-width: 48ch; }
.feature-spread { display: grid; grid-template-columns: .9fr 1.1fr; gap: 50px; align-items: start; }
.feature-spread .section-intro { font-size: 16px; }
.feature-spread h3 { font-size: 22px; margin-bottom: 14px; }
.feature-spread .info-row:first-child { padding-top: 0; }
.feature-spread .site-button { margin-top: 6px; }
.station-brands { display: flex; gap: 20px; flex-wrap: wrap; align-items: center; padding: 26px 0; }
.station-brands img { width: 40px; height: 40px; object-fit: contain; }
.plain-link { color: #fff; font-weight: 600; text-decoration-color: #666; }
.site-plan { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; border-block: 1px solid var(--site-line); padding-block: 28px; }
.site-plan h3 { font-size: 21px; }
.site-plan p { color: var(--site-muted); max-width: 46ch; }
.site-plan strong { color: #fff; }
.site-plan a { display: inline-flex; min-height: 44px; align-items: center; }
.site-plan-price { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 25px; color: #fff !important; margin-bottom: 10px; }
.site-plan-price small { font-family: Inter, sans-serif; font-size: 13px; font-weight: 400; color: var(--site-muted); }
.site-faq details { border-bottom: 1px solid var(--site-line); }
.site-faq summary { padding: 22px 30px 22px 0; min-height: 56px; cursor: pointer; font-weight: 600; list-style: none; position: relative; }
.site-faq summary::-webkit-details-marker { display: none; }
.site-faq summary::after { content: '+'; position: absolute; right: 4px; font-size: 22px; color: var(--site-muted); top: 16px; }
.site-faq details[open] summary::after { content: '−'; }
.site-faq details p { color: var(--site-muted); max-width: 70ch; padding-bottom: 10px; }
.site-footer { border-top: 1px solid var(--site-line); padding: 32px 0 40px; margin-top: 60px; display: flex; gap: 32px; justify-content: space-between; }
.site-footer .wordmark { font-size: 22px; }
.site-footer p { color: var(--site-muted); font-size: 12px; margin: 12px 0 0; }
.site-footer nav { display: flex; align-content: start; justify-content: flex-end; flex-wrap: wrap; gap: 10px 22px; max-width: 420px; font-size: 12px; }
.site-footer a:not(.wordmark) { color: var(--site-muted); text-decoration: none; display: inline-flex; align-items: center; min-height: 32px; }
.site-footer a:hover { color: #fff; }
.site-bottom-nav { display: none; }

/* The standalone public documents use the same typography and controls. */
.public-document .nav-wrap { background: var(--site-bg); border-color: var(--site-line); }
.public-document .nav-inner { max-width: 1120px; min-height: 80px; }
.public-document .nav-brand { font-family: Montserrat, sans-serif; font-weight: 800; font-size: 25px; gap: 0; letter-spacing: -.035em; }
.public-document .nav-brand img, .public-document .nav-brand .ver, .public-document .brand img { display: none; }
.public-document .nav-cta { background: var(--site-red); color: #111; border-radius: 12px; padding: 12px 20px; font-weight: 700; text-decoration: none; box-shadow: none; border: 0; }
.public-document .wrap { max-width: 920px; padding-top: 46px; padding-bottom: 60px; }
.public-document h1 { font-size: clamp(29px, 5vw, 42px); }
.public-document h2, .public-document h3 { font-family: Montserrat, sans-serif; }
.public-document .lede { color: var(--site-muted); max-width: 65ch; font-size: 15px; }
.public-document .small, .public-document .updated, .public-document .release-date { color: var(--site-muted); }
.public-document .brand { font-family: Montserrat, sans-serif; font-size: 27px; font-weight: 800; letter-spacing: -.035em; gap: 0; }
.public-document .plan { background: var(--site-surface); border-radius: 16px; border: 0; padding: 24px; }
.public-document .plan.featured { background: var(--site-field); border: 1px solid #525252; }
.public-document .plan-name, .public-document .plan-price { font-family: Montserrat, sans-serif; font-weight: 800; }
.public-document .plan-hint { color: #bcbcbc; }
.public-document .features { color: #d4d4d4; font-size: 13px; }
.public-document .badge { color: #ffc6c9; background: #341719; border: 0; letter-spacing: 0; text-transform: none; font-size: 12px; }
.public-document .cta { background: var(--site-red); color: #111; border-radius: 12px; box-shadow: none; font-weight: 700; }
.public-document .cta:hover { background: #ff6a73; }
.public-document .cta.secondary { background: #262626; color: #fff; border-color: #454545; }
.public-document .plan .cta { margin-top: 20px; }
.public-document .plans { align-items: start; gap: 20px; }
.public-document .plan-head { gap: 16px; flex-wrap: wrap; }
.public-document .release.latest { border-color: #414141; box-shadow: none; }
.public-document .release-notes { color: #d4d4d4; }
.public-document .footer a { display: inline-flex; min-height: 36px; align-items: center; }
.public-document.legal-document .wrap { max-width: 800px; }
.public-document.legal-document .brand { padding-bottom: 28px; margin-bottom: 32px; border-bottom: 1px solid var(--site-line); }
.public-document.legal-document p, .public-document.legal-document li { line-height: 1.75; }
.pricing-document .wrap { max-width: 1120px; }
.pricing-intro { max-width: 680px; margin: 0 auto 26px; text-align: center; }
.billing-period { display: grid; grid-template-columns: 1fr 1fr; position: relative; isolation: isolate; padding: 4px; background: #191919; border-radius: 12px; width: min(100%, 340px); margin: 0 auto; }
.billing-period-slider { position: absolute; z-index: -1; top: 4px; bottom: 4px; left: 4px; width: calc(50% - 4px); background: #3b3b3b; border-radius: 9px; transition: transform 250ms cubic-bezier(.22,1,.36,1); }
.billing-period.is-annual .billing-period-slider { transform: translateX(100%); }
.billing-period button { border: 0; color: #bcbcbc; min-height: 44px; padding: 9px 12px; background: transparent; font-size: 13px; font-weight: 600; cursor: pointer; }
.billing-period button[aria-pressed="true"] { color: #fff; }
.billing-period button span { display: inline-block; margin-left: 5px; color: #ffb9bd; font-size: 11px; }
.billing-saving { text-align: center; color: var(--site-muted); font-size: 12px; margin: 12px 0 32px; min-height: 20px; }
.plan-jumps { display: flex; justify-content: center; gap: 24px; margin-bottom: 22px; font-size: 13px; }
.plan-jumps a { min-height: 44px; display: inline-flex; align-items: center; }
.pricing-option h2 { scroll-margin-top: 100px; }
.pricing-options { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 30px; }
.pricing-option { min-width: 0; background: var(--site-surface); border-radius: 16px; padding: 30px; }
.pricing-option-head { padding-bottom: 24px; border-bottom: 1px solid #393939; min-height: 310px; }
.pricing-option-head h2 { font-size: 24px; margin-bottom: 22px; }
.pricing-option-head > p:not(.pricing-amount) { color: #bcbcbc; font-size: 13px; }
.pricing-amount { font: 800 36px/1.3 Montserrat, sans-serif; color: #fff; margin: 0 0 14px; font-variant-numeric: tabular-nums; }
.pricing-amount small { color: var(--site-muted); font: 400 13px/1.5 Inter, sans-serif; display: inline-block; }
.pricing-option-head .site-button, .pricing-option-head .cta { width: 100%; margin-top: 16px; min-height: 46px; }
.pricing-option-head .pricing-trial { font-size: 12px !important; margin: 14px 0 0; }
.pro-option { background: #191919; }
.pro-option h2 { color: #ffc6c9; }
.plan-feature-group { padding-top: 24px; }
.plan-feature-group h3 { font-size: 15px; margin-bottom: 15px; }
.plan-feature-group .features { margin: 0; display: grid; gap: 13px; }
.plan-feature-group .features li { margin: 0; font-size: 13px; line-height: 1.7; }
.included-free { font-weight: 600; font-size: 14px; margin: 22px 0 0; }
.pricing-account-note { color: var(--site-muted); font-size: 13px; max-width: 80ch; margin-top: 28px; }
.pricing-document .small { max-width: 80ch; }
.pricing-document [hidden] { display: none !important; }
@media (max-width: 760px) {
 .pricing-options { grid-template-columns: 1fr; gap: 22px; }
 .pricing-option { padding: 24px; }
 .pricing-option-head { min-height: 0; }
 .pricing-intro { text-align: left; }
}
@media (max-width: 1100px) {
  .site-rail { width: 180px; padding-inline: 20px; }
  .site-rail .wordmark { font-size: 23px; }
  .site-shell { margin-left: 180px; }
  .ownership-groups { grid-template-columns: 1fr; gap: 30px; }
  .site-hero { min-height: 530px; }
  .ownership-details { gap: 25px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 90px; }
  .site-rail { display: none; }
  .site-shell { margin-left: 0; }
  .site-topbar { min-height: 76px; padding: max(14px, env(safe-area-inset-top)) 20px 14px; gap: 16px; }
  .site-topbar .wordmark { display: block; font-size: 26px; }
  .site-topbar > p, .site-top-actions .desktop-link { display: none; }
  .site-top-actions { gap: 12px; }
  .site-top-actions .site-signin { font-size: 11px; }
  .site-top-actions .site-button { min-height: 42px; font-size: 12px; padding: 10px 14px; }
  .site-main { padding: 0 20px calc(82px + env(safe-area-inset-bottom)); }
  .site-hero { min-height: 530px; padding: 28px 24px 48px; margin-inline: -20px; }
  .site-hero > img { object-position: 62% 40%; }
  .site-hero::after { background: linear-gradient(0deg, #0a0a0a 0%, rgb(10 10 10 / 88%) 18%, rgb(0 0 0 / 40%) 50%, transparent 90%); }
  .site-hero h1 { font-size: 36px; max-width: 11ch; }
  .site-hero p { font-size: 14px; }
  .site-hero-actions .site-button { font-size: 12px; padding-inline: 14px; }
  .site-section { padding-top: 42px; }
  .section-heading h2 { font-size: 25px; }
  .section-intro { font-size: 14px; }
  .ownership-cell { padding-inline: 12px; }
  .ownership-cell strong { font-size: 16px; }
  .ownership-details, .feature-spread { grid-template-columns: 1fr; gap: 28px; }
  .latest-update { grid-template-columns: 1fr; gap: 10px; margin-top: 22px; }
  .ownership-details { margin-top: 26px; }
  .glovebox { padding: 22px; }
  .tools-list { gap: 0; grid-template-columns: 1fr; }
  .tool-info { padding-block: 20px; }
  .site-plan { grid-template-columns: 1fr; gap: 24px; }
  .site-plan > div + div { border-top: 1px solid var(--site-line); padding-top: 24px; }
  .site-footer { flex-direction: column; gap: 20px; }
  .site-footer nav { justify-content: flex-start; }
  .site-bottom-nav { display: grid; grid-template-columns: repeat(4,1fr); position: fixed; bottom: 0; inset-inline: 0; z-index: 40; padding: 12px 8px max(12px, env(safe-area-inset-bottom)); background: #111; border-top: 1px solid var(--site-line); }
  .site-bottom-nav a { display: grid; place-items: center; gap: 5px; color: #adadad; text-decoration: none; font-size: 11px; font-weight: 600; min-height: 42px; }
  .site-bottom-nav a[aria-current] { color: var(--site-red); }
  .public-document .nav-inner { min-height: 76px; padding-inline: 20px; }
  .public-document .nav-brand { font-size: 24px; }
  .public-document .nav-cta { font-size: 12px; }
  .public-document .wrap { padding: 30px 20px 56px; }
}
@media (max-width: 360px) {
  .site-main { padding-inline: 16px; }
  .site-topbar { padding-inline: 16px; }
  .site-topbar .wordmark { font-size: 23px; }
  .site-top-actions { gap: 8px; }
  .site-top-actions .site-button { padding-inline: 10px; }
  .site-hero { padding: 24px 20px 40px; min-height: 530px; margin-inline: -16px; }
  .site-hero h1 { font-size: 32px; }
  .ownership-cell { padding-inline: 8px; }
  .ownership-cell .cell-name { font-size: 11px; gap: 4px; flex-wrap: wrap; }
  .ownership-cell strong { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
