@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fredoka:wght@400;500;600;700&display=swap');
:root{--ink:#183c3b;--cream:#fffcf2;--yellow:#ffdc63;--teal:#087d72;--pink:#ffc8c7;--coral:#f7745d;--purple:#6952b9;--line:#d9dfd1;--muted:#526b67}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:20px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.55 'DM Sans',sans-serif}.wrap{max-width:1200px;padding:0 28px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;min-height:98px;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font:600 23px 'Fredoka',sans-serif;text-decoration:none;white-space:nowrap}.brand small{display:block;font:700 9px 'DM Sans',sans-serif;letter-spacing:1.1px;margin-top:6px}.brand-icon{font-size:30px;display:grid;place-items:center;width:46px;height:46px;border:2px solid var(--ink);border-radius:13px;background:var(--yellow)}nav{display:flex;gap:26px}nav a{font-size:13px;font-weight:600;text-decoration:none;color:var(--ink)}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;padding-top:55px;padding-bottom:45px;gap:30px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.6px}h1,h2,h3,h4{font-family:'Fredoka',sans-serif;font-weight:500;line-height:1.12;margin:0}h1{font-size:clamp(48px,6.6vw,80px);letter-spacing:-2px;margin:18px 0}h1 em,h2 em{font-style:normal;color:var(--teal)}.hero p{color:var(--muted);font-size:17px;margin:20px 0 25px}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 20px;border:2px solid var(--ink);border-radius:12px;background:var(--yellow);color:var(--ink);font:700 13px 'DM Sans',sans-serif;text-decoration:none;box-shadow:3px 3px 0 var(--ink);cursor:pointer}.button:hover{transform:translateY(-1px);box-shadow:4px 4px 0 var(--ink)}.button.dark{background:var(--ink);color:white;box-shadow:3px 3px 0 #a0cbb6}.button.small{padding:9px 14px;font-size:12px;white-space:nowrap}.button:disabled{opacity:.55;cursor:wait;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--purple);outline-offset:4px}.hero-caption{display:block;font-size:10px;color:var(--muted);margin-top:15px}.pump-scene{position:relative;padding:45px 25px 0;background:#e0f0e4;border-radius:50% 45% 42% 38%;max-width:420px;justify-self:end;min-width:300px;transform:rotate(2deg)}.pump-scene svg{width:100%;display:block}.sticker{position:absolute;top:-14px;right:6px;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;padding:11px 19px;font:500 19px 'Fredoka',sans-serif;transform:rotate(7deg);box-shadow:3px 3px 0 var(--ink)}.tiny-sticker{position:absolute;bottom:18px;left:-30px;font-size:9px;font-weight:800;background:var(--pink);padding:12px 15px;border:2px solid var(--ink);border-radius:50%;transform:rotate(-12deg)}.ribbon{background:var(--purple);color:#fff9d2;padding:12px 0;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);overflow:hidden}.ribbon>div{white-space:nowrap;text-align:center;font:500 16px 'Fredoka',sans-serif;word-spacing:2px}.ribbon span{margin:0 35px;color:var(--yellow)}.dashboard{padding-top:58px}.section-title h2{font-size:42px;letter-spacing:-.5px;margin-top:12px}.section-title p{color:var(--muted);font-size:14px}.feed-banner{display:flex;gap:12px;align-items:center;background:#eaf0e4;border:1px solid var(--line);padding:15px 18px;border-radius:12px;margin-top:25px}.feed-banner strong{font-size:12px}.feed-banner small{display:block;font-size:11px;color:var(--muted)}.feed-banner button{margin-left:auto;background:white;box-shadow:2px 2px 0 var(--ink)}.status-dot{width:10px;height:10px;border-radius:50%;background:#b98418;flex-shrink:0}.feed-banner.loaded .status-dot{background:var(--teal)}.settings{display:grid;grid-template-columns:1.45fr .7fr 1fr;gap:24px;align-items:start;margin:25px 0}.settings small,small{font-size:11px;line-height:1.5;color:var(--muted);display:block;margin-top:7px}label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}input,select{width:100%;border:1.5px solid #adc0b4;border-radius:9px;background:white;padding:11px 12px;font:15px 'DM Sans',sans-serif;color:var(--ink);min-height:45px}.unit{position:relative}.unit input{padding-right:52px}.unit span{position:absolute;right:13px;top:12px;font-size:12px}.mode-box{padding:5px 0}.mode-box>span{font-size:10px;letter-spacing:1px;font-weight:800;color:var(--teal)}.link-button{display:block;background:none;border:0;color:var(--ink);padding:8px 0 0;font:700 12px 'DM Sans',sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.price-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.price-card{border:2px solid var(--ink);border-radius:18px;padding:24px;box-shadow:4px 4px 0 var(--ink);display:flex;flex-direction:column}.yellow{background:var(--yellow)}.teal{background:var(--teal);color:white}.pink{background:var(--pink)}.price{display:flex;align-items:baseline;gap:8px;margin-top:14px}.price strong{font:500 62px 'Fredoka',sans-serif;letter-spacing:-2px}.price>span{font-size:18px}.price-card p{font-size:12px;min-height:40px;margin:9px 0 20px}.card-bottom{display:flex;justify-content:space-between;border-top:1px solid #183c3b40;padding-top:14px;margin-top:auto;font-size:12px}.teal .card-bottom{border-color:#ffffff55}.wallet{font:500 48px 'Fredoka',sans-serif;letter-spacing:-1px;display:block;margin-top:22px}.week-panel{background:white;border:1.5px solid var(--line);border-radius:18px;padding:26px;margin-top:30px}.panel-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.panel-heading h3{font-size:29px;margin-top:10px}.tag{font-size:9px;font-weight:800;letter-spacing:.6px;background:#eee9ff;color:#533995;border-radius:30px;padding:7px 12px;white-space:nowrap}#projectionSummary{font-size:13px;color:var(--muted)}.week-chart svg{width:100%;height:auto;display:block;max-height:245px}.empty{text-align:center;background:#f4f6ef;border-radius:10px;padding:30px;color:var(--muted);font-size:13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px;text-align:left;white-space:nowrap}th{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);background:#f7f8f2}th,td{padding:11px 14px;border-bottom:1px solid #e9ecdf}td:nth-child(2){font-weight:700;color:var(--teal)}tbody tr:last-child{background:#fff6d8}.fineprint{font-size:10px;color:var(--muted);line-height:1.65;margin-bottom:0}.manual{border:1px solid #c9c5da;background:#f4f0ff;border-radius:12px;margin-top:24px;padding:18px 22px}summary{cursor:pointer;font-weight:700;font-size:13px}summary span{float:right}.manual p{font-size:12px}.manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:18px}#inputError{font-size:13px;color:#af3320}.joke-section{background:var(--yellow);border:2px solid var(--ink);border-radius:20px;margin-top:55px;margin-bottom:65px;text-align:center;padding:28px;max-width:1144px;position:relative;box-shadow:5px 5px 0 var(--ink)}.joke-label{font-size:10px;letter-spacing:2px;font-weight:800}blockquote{font:500 29px/1.25 'Fredoka',sans-serif;max-width:720px;margin:18px auto 24px}.joke-section button{background:white}.joke-foot{display:block;font-size:10px;margin-top:14px}.savings{padding-bottom:55px}.tips-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:28px}.tip{padding:23px 20px;border-radius:15px;background:#e6f2e6;border:1px solid #c1d7c1;display:flex;flex-direction:column}.tip:nth-child(2){background:#fff0d7;border-color:#e3cfaf}.tip:nth-child(3){background:#eee9ff;border-color:#d5cbed}.tip:nth-child(4){background:#ffe8e4;border-color:#e9c6bd}.tip-icon{font-size:28px}.tip h3{font-size:23px;margin-top:17px}.tip p{font-size:12px;color:var(--muted);line-height:1.65}.tip>span:last-child{font-size:8px;letter-spacing:1px;font-weight:800;margin-top:auto;padding-top:12px}.source-note{font-size:10px;color:var(--muted)}a{color:var(--teal);text-underline-offset:3px}.detour-panel{display:grid;grid-template-columns:1fr 1.3fr;gap:55px;background:#fff;border:2px solid var(--ink);border-radius:18px;padding:30px;margin-top:35px}.detour-panel h3{font-size:36px;margin:15px 0}.detour-panel p{font-size:13px;color:var(--muted);max-width:320px}.detour-inputs{display:grid;grid-template-columns:1fr 1fr;gap:15px}.detour-result{padding:16px;border-radius:10px;background:#fff2ca;margin-top:15px;font-size:13px}.detour-result strong{display:block;font:500 25px 'Fredoka',sans-serif;margin-bottom:5px}.facts{padding-bottom:40px}.facts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:25px 0 35px}.facts-grid article{border-top:3px solid var(--coral);padding-top:17px}.facts-grid article>span{font-size:9px;letter-spacing:1px;font-weight:800;color:var(--purple)}.facts-grid h3{font-size:25px;margin-top:12px}.facts-grid p{font-size:13px;color:var(--muted)}.facts-grid a{font-size:11px}.sources{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.sources p{font-size:11px;color:var(--muted)}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:24px}.source-grid h4{font-size:20px}.source-grid a{font-size:11px}footer{padding-top:25px!important;padding-bottom:30px!important;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line)}footer .brand{display:block;font-size:20px}footer p,footer>a:last-child{font-size:10px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1000px){.price strong{font-size:50px}.wallet{font-size:40px}.price-card{padding:20px}.tips-grid{grid-template-columns:1fr 1fr}.joke-section{margin-left:28px;margin-right:28px}.detour-panel{gap:25px}.settings{gap:15px}.brand{font-size:19px}nav{gap:15px}}@media(max-width:700px){.wrap{padding-left:18px;padding-right:18px}header{min-height:80px}nav a{font-size:11px}nav a:last-child{display:none}.brand{font-size:16px}.brand small{font-size:7px;letter-spacing:.5px}.brand-icon{display:none}.hero{grid-template-columns:1fr;padding-top:35px;gap:38px}h1{font-size:59px}.hero p{font-size:15px}.pump-scene{width:290px;min-width:0;justify-self:center}.sticker{font-size:17px}.ribbon>div{font-size:13px}.ribbon span{margin:0 17px}.dashboard{padding-top:35px}.section-title h2{font-size:35px}.settings{grid-template-columns:1.5fr 1fr}.mode-box{grid-column:1/3}.price-grid{grid-template-columns:1fr;gap:17px}.price-card{padding:23px}.price strong{font-size:64px}.price-card p{min-height:0}.wallet{font-size:45px}.feed-banner{flex-wrap:wrap;padding:13px}.feed-banner>div{flex:1}.feed-banner button{margin-left:20px}.panel-heading{align-items:flex-start;flex-direction:column;gap:12px}.week-panel{padding:20px 13px}.panel-heading h3{font-size:27px}.manual-grid{grid-template-columns:1fr}.joke-section{margin-left:18px;margin-right:18px;margin-top:35px;margin-bottom:45px}blockquote{font-size:25px}.tips-grid{gap:12px}.tip{padding:18px 14px}.tip h3{font-size:21px}.detour-panel{grid-template-columns:1fr;padding:23px}.facts-grid{grid-template-columns:1fr;gap:23px}.source-grid{grid-template-columns:1fr}footer{flex-wrap:wrap}.desktop{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button:hover{transform:none}}
.station-section{padding-top:45px}.map-note{background:#fff0d1;border:1px solid #dccb9d;border-radius:12px;padding:15px 18px;font-size:12px;margin:20px 0}.map-toolbar{display:grid;grid-template-columns:.7fr 1.3fr .8fr;gap:15px}.map-actions{grid-column:1/4;display:flex;flex-wrap:wrap;gap:12px}.map-actions .button{background:#fff}.map-layout{display:grid;grid-template-columns:1fr 290px;min-height:480px;border:2px solid var(--ink);border-radius:16px;overflow:hidden}#stationMap{height:500px;z-index:0;background:#dcebef}.station-detail{background:white;padding:23px;max-height:500px;overflow:auto}.station-detail h3{font-size:26px;margin:0 0 14px}.station-detail p{font-size:12px}.station-detail a{font-size:12px}.station-detail .station-price{font:500 32px 'Fredoka',sans-serif;color:var(--teal);margin:15px 0 4px}.station-detail .station-source{font-size:10px;color:var(--muted)}.station-detail label{font-size:11px;margin-top:14px}.station-detail .button{margin-top:14px;gap:10px}.station-reference{background:#f4f0ff;border-radius:9px;padding:12px;font-size:11px;margin:18px 0}.map-key{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;margin:14px 0;color:var(--muted)}.map-key i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px}.price-dot{background:var(--teal)}.unknown-dot{background:#7f8c8d}#stationStatus{font-size:12px;color:var(--muted)}.station-list-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px;margin:15px 0}.station-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:360px;overflow:auto;margin-top:15px}.station-list button{text-align:left;border:1px solid var(--line);border-radius:8px;background:#f7faf4;padding:12px;cursor:pointer;font:12px 'DM Sans',sans-serif;color:var(--ink)}.station-list button span{display:block;font-size:10px;margin-top:6px}.leaflet-tooltip{white-space:normal;max-width:240px;padding:11px;border-radius:9px;font:12px 'DM Sans',sans-serif}.leaflet-tooltip strong{display:block}.map-price-caption{font-size:10px;margin-top:4px}.station-detail .verified{font-size:9px;display:inline-block;border-radius:20px;background:#e0f1dd;color:#285929;padding:5px 9px}.observation-message{font-size:11px;color:#914112}@media(max-width:750px){.map-toolbar{grid-template-columns:1fr 1fr}.map-toolbar>div:nth-child(2){grid-column:1/3;grid-row:2}.map-actions{grid-column:1/3}.map-layout{grid-template-columns:1fr}#stationMap{height:390px}.station-detail{max-height:none}.station-list{grid-template-columns:1fr 1fr}.map-actions .button{font-size:10px;padding:9px}.map-key{gap:10px}}
