:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light;--bg:var(--tg-theme-bg-color,#f2f5f3);--card:var(--tg-theme-secondary-bg-color,#fff);--text:var(--tg-theme-text-color,#12201a);--muted:var(--tg-theme-hint-color,#68756f);--accent:var(--tg-theme-button-color,#158a5b);--accent-text:var(--tg-theme-button-text-color,#fff);--line:color-mix(in srgb,var(--text) 11%,transparent);--success:#168a58;--danger:#c13f4d;--shadow:0 14px 40px rgba(23,48,37,.08)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 0 0,rgba(41,184,124,.12),transparent 32rem),var(--bg);color:var(--text);font-size:16px;line-height:1.45}button,input,summary{font:inherit}button{cursor:pointer}main{width:min(100%,720px);margin:auto;padding:calc(16px + env(safe-area-inset-top)) 14px calc(40px + env(safe-area-inset-bottom))}.hero{display:flex;align-items:center;gap:12px;padding:8px 4px 20px}.hero h1{font-size:clamp(22px,6vw,30px);letter-spacing:-.04em;margin:1px 0}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:15px;color:#fff;background:linear-gradient(145deg,#0e6544,#1fb779);font-weight:800;box-shadow:0 8px 20px rgba(21,138,91,.28)}.eyebrow{margin:0;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.13em}.status-dot{width:10px;height:10px;border-radius:50%;background:#27b778;box-shadow:0 0 0 5px rgba(39,183,120,.12);margin-left:auto}.card{background:color-mix(in srgb,var(--card) 96%,transparent);border:1px solid var(--line);border-radius:24px;padding:18px;margin:0 0 14px;box-shadow:var(--shadow);overflow:hidden}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section-heading h2{font-size:21px;letter-spacing:-.025em;margin:2px 0 0}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-size:26px;font-weight:700}.map-card{padding:18px 0}.map-card>.section-heading,.map-card>.radius-control,.map-card>.coordinates,.map-card>.primary,.map-card>.result-summary,.map-card>.station-list{margin-left:18px;margin-right:18px}#map{height:310px;width:100%;background:#dce9e2;z-index:0}.leaflet-control-zoom{border:0!important;box-shadow:0 6px 18px rgba(0,0,0,.12)!important}.leaflet-control-zoom a{border:0!important;color:#183f30!important}.radius-control{padding:15px 0 7px}.radius-control>div{display:flex;justify-content:space-between;align-items:center}.radius-control strong{color:var(--accent)}input[type=range]{accent-color:var(--accent);width:100%}.coordinates{border-top:1px solid var(--line);padding-top:10px;margin-bottom:14px}.coordinates summary,.secondary-period summary{color:var(--muted);cursor:pointer;padding:6px 0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}label{display:block;font-size:13px;font-weight:650;margin:10px 0;color:var(--muted)}input:not([type=checkbox]):not([type=range]){width:100%;min-height:46px;margin-top:6px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--card) 94%,var(--bg));color:var(--text);outline:none;transition:border-color .18s,box-shadow .18s}input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}fieldset{margin:14px 0;border:1px solid var(--line);border-radius:17px;padding:12px}legend{padding:0 7px;color:var(--muted);font-size:13px;font-weight:650}.fuel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fuel-chip{position:relative;margin:0}.fuel-chip input{position:absolute;opacity:0;pointer-events:none}.fuel-chip span{display:block;padding:10px 8px;text-align:center;border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:13px;font-weight:700;transition:.18s}.fuel-chip input:checked+span{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 13%,var(--card));color:var(--accent)}.switch-row{display:flex;align-items:center;gap:11px;padding:10px 0;color:var(--text);font-size:14px}.switch-row input{width:20px;height:20px;accent-color:var(--accent)}button.primary,button.secondary{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:50px;border:0;border-radius:15px;padding:12px 16px;font-weight:800;transition:transform .12s,opacity .12s}.primary{background:var(--accent);color:var(--accent-text);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 25%,transparent)}.secondary{background:color-mix(in srgb,var(--accent) 11%,var(--card));color:var(--accent)}button:active{transform:scale(.985)}button[disabled]{opacity:.58;cursor:wait}.result-summary,.inline-status{min-height:20px;margin-top:13px;color:var(--muted);font-size:14px}.inline-status.success{color:var(--success)}.inline-status.error{color:var(--danger)}.station-list{display:grid;gap:10px}.station-card{padding:14px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--card) 93%,var(--bg))}.station-head{display:flex;gap:10px;justify-content:space-between}.station-head h3{font-size:16px;margin:0;line-height:1.25}.distance{white-space:nowrap;color:var(--accent);font-weight:800;font-size:14px}.address{margin:5px 0 10px;color:var(--muted);font-size:13px}.fuel-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:6px 0;font-size:13px}.badge{padding:4px 8px;border-radius:999px;font-weight:750;font-size:12px}.badge.available{color:#087344;background:#dff7eb}.badge.limited,.badge.maybe_available{color:#91500b;background:#fff0d9}.badge.unavailable{color:#a52e3c;background:#ffe5e8}.badge.unknown{color:#59645f;background:#e9eeeb}.route-link{display:inline-flex;margin-top:9px;color:var(--accent);font-size:13px;font-weight:800;text-decoration:none}.station-marker{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#fff;border:3px solid var(--accent);box-shadow:0 5px 14px rgba(0,0,0,.2);font-size:15px}.subscription-list{display:grid;gap:10px}.subscription{border:1px solid var(--line);border-radius:17px;padding:14px}.subscription-title{display:flex;justify-content:space-between;gap:10px}.subscription h3{margin:0;font-size:16px}.subscription-meta{color:var(--muted);font-size:13px;margin:6px 0 12px}.status-pill{font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px;background:#dff7eb;color:#087344}.status-pill.paused{background:#edf0ee;color:#68756f}.button-row{display:grid;grid-template-columns:1fr auto auto;gap:7px}.button-row button{border:0;border-radius:11px;padding:10px;background:color-mix(in srgb,var(--accent) 11%,var(--card));color:var(--accent);font-weight:750}.button-row .danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 9%,var(--card))}.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:16px}.field-hint{font-size:13px;font-weight:650;color:var(--muted);margin:14px 0 0}.toast{position:fixed;z-index:1000;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,20px);width:min(calc(100% - 28px),600px);padding:13px 16px;border-radius:14px;background:#10251d;color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.25);opacity:0;pointer-events:none;transition:.22s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.error{background:#852d38}.leaflet-popup-content{font-family:inherit;margin:10px 12px}.leaflet-popup-content b{display:block;margin-bottom:3px}
select{box-sizing:border-box;width:100%;min-height:46px;margin-top:6px;padding:11px 40px 11px 13px;border:1px solid var(--line);border-radius:13px;background-color:color-mix(in srgb,var(--card) 94%,var(--bg));color:var(--text);font:inherit;outline:none}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}.map-card>button.primary{width:calc(100% - 36px);max-width:calc(100% - 36px)}.map-card>button.primary span:first-child{min-width:0;overflow-wrap:anywhere}.leaflet-container{font-family:inherit}
@media(max-width:480px){main{padding-left:10px;padding-right:10px}.card{border-radius:21px}.fuel-grid{grid-template-columns:repeat(2,1fr)}#map{height:285px}.button-row{grid-template-columns:1fr 1fr}.button-row button:first-child{grid-column:1/-1}.hero h1{font-size:23px}}
.data-warning{padding:11px 13px;border-radius:13px;background:#fff0d9;color:#70410d;font-size:13px;font-weight:650}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.icon-button{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;padding:0;line-height:0;border-radius:16px}
.icon-button .location-icon{display:block;width:28px;height:28px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.text-button{border:0;background:transparent;color:var(--accent);font-size:13px;font-weight:800;padding:8px;border-radius:10px}.text-button:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.quiet-master{margin-top:14px;border-top:1px solid var(--line);padding-top:15px}.quiet-fields{transition:opacity .18s,filter .18s}.quiet-fields.disabled{opacity:.42;filter:saturate(.5)}.quiet-fields.disabled input,.quiet-fields.disabled summary{pointer-events:none}
.subscription.editing{border-color:color-mix(in srgb,var(--accent) 52%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
.address-link{display:block;color:var(--muted);text-decoration:none}.address-link:hover,.address-link:focus{text-decoration:underline;color:var(--accent)}
.section-note{margin:-5px 0 14px;color:var(--muted);font-size:13px}
.button-row{grid-template-columns:1fr 1fr}.button-row button[data-search]{grid-column:1/-1}
.add-subscription-button{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;min-height:38px;padding:8px 11px;border:0;border-radius:12px;background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent);font-size:13px;font-weight:800}.add-subscription-button span{font-size:18px;line-height:1}
button.is-busy{position:relative;opacity:.68}
