:root{--c-available:#22c55e;--c-queue:#f97316;--c-low:#eab308;--c-empty:#ef4444;--c-limited:#3b82f6;--c-stale:#9ca3af;--c-text:#26324b;--c-muted:#7b88a8;--c-bg:#f5f9ff;--c-surface:#ffffff;--c-border:#e3eaf6;--c-accent:#5490ff;--c-accent-hover:#3d7bf0;--c-accent-soft:#e8f0ff;--radius:16px;--radius-lg:24px;--shadow-card:0 2px 12px rgb(38 50 75/0.06)}*{box-sizing:border-box}body,html{margin:0;padding:0;color:var(--c-text);background:var(--c-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--c-accent)}h1,h2,h3{font-weight:800}.container{max-width:960px;margin:0 auto;padding:0 16px}.site-header{background:var(--c-surface)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.site-logo{gap:10px;text-decoration:none;color:var(--c-text)}.site-logo,.site-logo .pump{display:flex;align-items:center}.site-logo .pump{justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--c-accent);font-size:1.15rem;flex:none}.site-logo .logo-text{display:flex;flex-direction:column;line-height:1.15}.site-logo .logo-title{font-weight:800;font-size:1rem;letter-spacing:.02em;text-transform:uppercase}.site-logo .logo-sub{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-accent)}.header-cta{background:var(--c-accent);color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;padding:10px 20px;border-radius:14px;flex:none}.header-cta:hover{background:var(--c-accent-hover)}.hero{background:var(--c-accent);color:#fff;border-radius:var(--radius-lg);padding:22px 22px 18px;margin:16px 0}.hero h1{font-size:1.45rem;line-height:1.3;margin:0 0 8px;color:#fff}.hero p{margin:0 0 10px;color:rgb(255 255 255/.88)}.hero .addr{color:rgb(255 255 255/.75);font-size:.88rem}.hero a{color:#fff;text-decoration:underline}.trust{font-size:.85rem;color:rgb(255 255 255/.75)!important}.stats-line{font-size:.95rem;margin:8px 0}.hero .status-line .updated{color:rgb(255 255 255/.75)}.legend{display:flex;flex-wrap:wrap;gap:8px 14px;padding:14px 16px;margin:12px 0;list-style:none;font-size:.85rem;background:var(--c-surface);border-radius:var(--radius);box-shadow:var(--shadow-card)}.legend li{display:flex;align-items:center;gap:6px}.dot{width:12px;height:12px;border-radius:50%;flex:none}.map-wrap{--map-filter-height:64px;position:relative;height:min(calc(68vh + var(--map-filter-height)),calc(640px + var(--map-filter-height)));min-height:calc(380px + var(--map-filter-height));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card)}.map-placeholder,.map-wrap{background:var(--c-surface)}.map-placeholder{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding-top:var(--map-filter-height);color:var(--c-muted);font-size:.9rem}.map-loader__spinner{width:34px;height:34px;border:3px solid rgb(84 144 255/.22);border-top:3px solid var(--c-accent);border-radius:50%;animation:map-loader-spin .8s linear infinite}@keyframes map-loader-spin{to{transform:rotate(1turn)}}.map-canvas{position:relative}.map-canvas,.maplibre-map-host{width:100%;height:100%}.map-message{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:calc(24px + var(--map-filter-height)) 24px 24px;color:var(--c-muted);background:var(--c-surface);text-align:center}.map-message--error{color:var(--c-text);background:var(--c-accent-soft)}@media (prefers-reduced-motion:reduce){.map-loader__spinner{animation-duration:1.6s}}.map-data-error{position:absolute;top:calc(var(--map-filter-height) + 12px);left:12px;z-index:6;display:flex;align-items:center;gap:10px;max-width:calc(100% - 76px);padding:9px 12px;border:1px solid rgb(220 38 38/.25);border-radius:12px;color:var(--c-text);background:rgb(255 255 255/.94);box-shadow:0 4px 14px rgb(15 23 42/.16);font-size:.85rem}.map-data-error button{border:0;color:var(--c-accent-hover);background:transparent;font:inherit;font-weight:700;cursor:pointer}.map-locate{position:absolute;right:12px;bottom:12px;z-index:5;background:var(--c-accent);color:#fff;border:none;border-radius:14px;padding:11px 18px;font-size:.9rem;font-weight:600;box-shadow:0 4px 14px rgb(84 144 255/.4);cursor:pointer}.map-locate:hover:not(:disabled){background:var(--c-accent-hover)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.map-filter{position:absolute;inset:0 0 auto;z-index:7;margin:0;padding:12px 12px 20px;background:transparent;pointer-events:none}.map-filter .chip{pointer-events:auto;box-shadow:0 2px 6px rgb(38 50 75/.14),0 8px 20px rgb(38 50 75/.1)}.map-wrap .maplibregl-ctrl-top-right{top:var(--map-filter-height)}.chip{border:none;background:var(--c-surface);color:var(--c-text);border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:500;cursor:pointer;box-shadow:var(--shadow-card)}.chip:hover{background:var(--c-accent-soft)}.chip[aria-pressed=true]{background:var(--c-accent);color:#fff}.sheet-backdrop{position:fixed;inset:0;background:rgb(38 50 75/.4);z-index:40}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;background:var(--c-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:82vh;overflow-y:auto;padding:8px 18px calc(16px + env(safe-area-inset-bottom));box-shadow:0 -8px 30px rgb(38 50 75/.25)}.sheet-grip{width:42px;height:4px;border-radius:2px;background:var(--c-border);margin:6px auto 12px}.sheet h2{margin:0 0 2px;font-size:1.15rem}.addr,.sheet .addr{color:var(--c-muted);font-size:.88rem;margin:0 0 10px}.status-line{display:flex;align-items:center;gap:8px;font-weight:600;margin:6px 0}.updated{color:var(--c-muted);font-weight:400;font-size:.85rem}.fuel-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.fuel-badge{display:inline-flex;align-items:center;gap:6px;background:var(--c-bg);border-radius:10px;padding:5px 10px;font-size:.85rem;font-weight:500}.quality-line{font-size:.9rem;margin:8px 0}.quality-stars{color:#f59e0b;font-size:1.05rem;letter-spacing:1px;text-shadow:0 1px 1px rgb(17 24 39/.35)}.quality-stars-empty{color:#cbd5e1}.route-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.route-buttons a{flex:1 1 30%;text-align:center;text-decoration:none;border:1.5px solid var(--c-accent);border-radius:14px;padding:10px 6px;font-size:.88rem;font-weight:600;color:var(--c-accent);background:var(--c-surface);white-space:nowrap}.route-buttons a:hover{background:var(--c-accent-soft)}.btn-primary{display:block;width:100%;background:var(--c-accent);color:#fff;border:none;border-radius:14px;padding:13px;font-size:1rem;font-weight:600;cursor:pointer;margin:10px 0}.btn-primary:hover:not(:disabled){background:var(--c-accent-hover)}.btn-primary:disabled{opacity:.6}.reports-feed{list-style:none;margin:8px 0;padding:0}.reports-feed li{border-top:1px solid var(--c-border);padding:8px 0;font-size:.9rem}.reports-feed .meta{color:var(--c-muted);font-size:.8rem}.near-item{display:block;width:100%;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.near-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.near-distance{color:var(--c-muted);font-weight:400;flex:none}.report-form h3{margin:12px 0 8px;font-size:1rem}.status-options{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.status-option{display:flex;align-items:center;gap:8px;border:1.5px solid transparent;border-radius:14px;padding:10px;font-size:.9rem;cursor:pointer;background:var(--c-bg)}.status-option[aria-pressed=true]{border-color:var(--c-accent);background:var(--c-accent-soft);font-weight:600}.form-row{margin:10px 0}.form-row label{display:block;font-size:.85rem;color:var(--c-muted);margin-bottom:4px}.form-row input,.form-row textarea{width:100%;border:1.5px solid transparent;border-radius:12px;padding:10px 12px;font-size:.95rem;font-family:inherit;background:var(--c-bg)}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--c-accent);background:var(--c-surface)}.report-form .chip{background:var(--c-bg);box-shadow:none}.report-form .chip:hover{background:var(--c-accent-soft)}.report-form .chip[aria-pressed=true]{background:var(--c-accent)}.form-error{color:var(--c-empty);font-size:.88rem;margin:6px 0}.form-success{color:var(--c-available);font-weight:600;margin:6px 0}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.cities,.faq,.station-list-card{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:16px 18px;margin:16px 0}.cities h2,.faq h2{margin:0 0 6px;font-size:1.15rem}.faq details{border-top:1px solid var(--c-border);padding:10px 0}.faq details:first-of-type{border-top:none}.faq summary{cursor:pointer;font-weight:600}.faq p{color:var(--c-muted)}.cities ul{column-count:2;list-style:none;padding:0;margin:8px 0 0}.cities li{padding:3px 0}.cities a{text-decoration:none}.cities a:hover{text-decoration:underline}.directory-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.directory-heading p{margin:4px 0 0;color:var(--c-muted);font-size:.9rem}.directory-link{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:40px;padding:9px 14px;border-radius:12px;color:#fff;background:var(--c-accent);font-weight:700;text-align:center}.directory-link:hover{background:var(--c-accent-hover);text-decoration:none}.cities-subheading{margin:14px 0 0;font-size:.9rem;color:var(--c-muted)}.region-directory{column-count:1;padding:0;margin:8px 0 0;list-style:none}.region-directory li{page-break-inside:avoid;break-inside:avoid;padding:5px 0}.region-directory a{text-decoration:none}.region-directory a:hover{text-decoration:underline}@media (min-width:640px){.cities ul{column-count:4}.hero{padding:30px 32px 24px}.hero h1{font-size:1.9rem}.region-directory{column-count:3}}@media (max-width:639px){.map-wrap{--map-filter-height:104px}.legend{display:grid;grid-template-columns:repeat(3,max-content);justify-content:space-between;grid-gap:4px 0;gap:4px 0;padding:6px;margin:6px 0 8px;border-radius:12px;font-size:.7rem;line-height:1.15}.legend li{min-width:0;gap:3px;white-space:nowrap}.legend .dot{width:7px;height:7px}.home-hero{padding:11px 13px;margin:8px 0;border-radius:16px}.home-hero h1{margin:0 0 5px;font-size:1.08rem;line-height:1.18}.home-hero .trust,.home-hero__intro{display:none}.home-hero .stats-line{margin:0;font-size:.78rem;line-height:1.25}.home-hero .stats-line strong{font-size:.92rem}.directory-heading{display:block}.directory-link{width:100%;margin-top:12px}}.breadcrumbs{font-size:.82rem;margin:14px 0 0}.breadcrumbs,.breadcrumbs a{color:var(--c-muted)}.station-list{list-style:none;padding:0;margin:8px 0 0}.station-list li{border-top:1px solid var(--c-border);padding:9px 0;display:flex;flex-direction:column;gap:2px}.station-list li:first-child{border-top:none}.station-list a{font-weight:600;text-decoration:none}.station-list a:hover{text-decoration:underline}.station-meta{display:inline-flex;align-items:center;gap:6px;font-size:.83rem;color:var(--c-muted)}.static-page>h1{font-size:1.5rem;margin:16px 0 12px}.static-card{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px 20px;margin:0 0 16px}.static-card h2{font-size:1.05rem;margin:16px 0 6px}.static-card h2:first-child{margin-top:0}.static-card li,.static-card p{color:#46536f}.cities-inline{column-count:2;list-style:none;padding:0}.footer{margin-top:28px;padding:20px 0 36px;font-size:.82rem;color:var(--c-muted);background:var(--c-surface)}.footer-nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:10px}.footer-nav a{text-decoration:none;font-weight:500}.footer-nav a:hover{text-decoration:underline}.disclaimer{font-size:.82rem;color:var(--c-muted);margin:10px 0}.install-banner{position:fixed;left:12px;right:12px;bottom:12px;z-index:30;background:var(--c-surface);color:var(--c-text);border-radius:var(--radius);padding:12px 14px;font-size:.88rem;display:flex;gap:10px;align-items:center;box-shadow:0 8px 28px rgb(38 50 75/.22)}.install-banner button{background:var(--c-accent);color:#fff;border:none;border-radius:12px;padding:9px 14px;font-weight:600;cursor:pointer;flex:none}.install-banner .close{background:transparent;color:var(--c-muted);font-size:1.1rem;padding:4px 8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}