@font-face{font-family:Karrik;src:url(/fonts/Karrik-Regular.woff2)format("woff2"),url(/fonts/Karrik-Regular.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Karrik;src:url(/fonts/Karrik-Italic.woff2)format("woff2"),url(/fonts/Karrik-Italic.woff)format("woff");font-style:italic;font-weight:400;font-display:swap}:root{--bg-main:#0a0a0a;--bg-panel:#161616;--bg-card:#232323;--bg-card-hover:#2c2c2c;--skeleton-base:#363636;--skeleton-pulse:#454444;--accent:#22c55e;--accent-yellow:#facc15;--danger:#fb7185;--text-main:#fff;--text-muted:#8e8e93;--focus-ring:#7dd3fc}html{box-sizing:border-box;background-color:var(--bg-main);color:var(--text-main);font-size:20px}*,:before,:after{box-sizing:inherit;margin:0;padding:0}body{flex-direction:column;gap:1.2rem;width:100%;max-width:100%;margin:0;padding:5rem 1.5rem 1.5rem;font-family:Karrik,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-weight:700;display:flex}.alert-stack{z-index:2500;pointer-events:none;flex-direction:column;gap:.55rem;width:min(92vw,430px);display:flex;position:fixed;top:4.1rem;right:1.1rem}.app-alert{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:auto;opacity:0;border:1px solid;border-radius:12px;grid-template-columns:1fr auto;align-items:start;gap:.75rem;padding:.62rem .72rem;transition:opacity .2s,transform .2s;display:grid;transform:translateY(-6px);box-shadow:0 12px 22px #00000059}.app-alert.show{opacity:1;transform:translateY(0)}.app-alert.closing{opacity:0;transform:translateY(-8px)}.app-alert-message{margin:0;font-size:.69rem;font-weight:700;line-height:1.45}.app-alert-close{color:inherit;cursor:pointer;opacity:.85;background:0 0;border:none;padding:.03rem .12rem;font-size:1rem;line-height:1}.app-alert-close:hover{opacity:1}.app-alert-info{color:#e0f2fe;background:#1e293be0;border-color:#7dd3fc8c}.app-alert-success{color:#dcfce7;background:#14532ddb;border-color:#4ade808c}.app-alert-warning{color:#fef3c7;background:#78350fde;border-color:#fbbf2499}.app-alert-danger{color:#ffe4e6;background:#7f1d1dde;border-color:#fb71859e}header{-webkit-backdrop-filter:blur(18px);z-index:1000;background-color:#0a0a0ab3;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;height:3.8rem;padding:0 1.5rem;display:flex;position:fixed;top:0;left:0;right:0}.header-brand{color:var(--text-main);cursor:pointer;align-items:center;gap:.6rem;transition:opacity .2s;display:flex}.header-brand:hover{opacity:.8}.header-brand h1{letter-spacing:-.7px;font-size:1.4rem;font-weight:800}.header-brand i{color:var(--text-main);font-size:1.8rem}.help-btn{border:2px solid var(--accent-yellow);color:var(--accent-yellow);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:all .2s;display:flex}.help-btn:hover{background-color:#facc151a;transform:scale(1.05)}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.utility-section{background-color:var(--bg-panel);border:1px solid #ffffff08;border-radius:24px;grid-template-columns:1fr;gap:1rem;padding:1.2rem;display:grid;position:relative;box-shadow:0 10px 30px #0000004d}@media (width>=900px){.utility-section{grid-template-columns:1fr auto;align-items:center;gap:1.5rem}}.utility-buttons{flex-wrap:wrap;gap:.75rem;display:flex}.location-search-box{width:100%;position:relative}.location-search-row{border:1px solid var(--bg-card);background:var(--bg-main);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.4rem .6rem .4rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:grid}.location-search-row:focus-within{border-color:#ffffff40;box-shadow:0 0 0 1px #ffffff1a}.location-search-row i{color:var(--text-muted);font-size:.85rem;transition:color .3s}.location-search-row:focus-within i{color:var(--text-main)}#location-search{color:var(--text-main);background:0 0;border:none;outline:none;min-width:0;padding:.3rem 0;font-family:inherit;font-size:.85rem;font-weight:500}#location-search::placeholder{color:#55555a}#location-search:focus-visible{outline:none}#location-search-btn{background-color:var(--bg-card);border-radius:12px;padding:.5rem 1.2rem}.autocomplete-list{z-index:1300;background:var(--bg-panel);border:1px solid var(--bg-card);border-radius:12px;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:hidden;box-shadow:0 12px 30px #00000073}.autocomplete-item{width:100%;color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:none;gap:.15rem;padding:.58rem .75rem;font-family:inherit;display:grid}.autocomplete-item:hover,.autocomplete-item.active{background:#ffffff0f}.autocomplete-item-title{font-size:.72rem;line-height:1.35}.autocomplete-item-subtitle{color:var(--text-muted);font-size:.64rem}.autocomplete-empty{color:var(--text-muted);padding:.58rem .75rem;font-size:.68rem}.secondary-btn{background:var(--bg-card);color:var(--text-main);cursor:pointer;border:1px solid #ffffff08;border-radius:14px;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.2rem;font-family:inherit;font-size:.8rem;font-weight:700;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 12px #00000026}.secondary-btn:active{transform:translateY(0)}.secondary-btn i{font-size:.85rem;transition:transform .4s}#refresh-btn:hover i{transform:rotate(180deg)}#locate-btn:hover i{transform:scale(1.2)}.secondary-btn:hover{background-color:var(--bg-card-hover);border-color:#ffffff26;transform:translateY(-2px);box-shadow:0 6px 20px #0006}#map{background-color:var(--bg-panel);border:1px solid var(--bg-card);z-index:1;border-radius:24px;height:460px}.leaflet-control-attribution{opacity:.58;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid #ffffff1f;border-radius:10px;font-size:.56rem;line-height:1.25;transition:opacity .2s,border-color .2s;color:#ffffff9e!important;background:#0c0c0c75!important;margin:0 .55rem .55rem 0!important;padding:.16rem .4rem!important}.leaflet-control-attribution:hover{opacity:.95;border-color:#ffffff40}.leaflet-control-attribution a{color:#ffffffbf!important}.leaflet-control-attribution a:hover{color:#fff!important}.leaflet-popup-content-wrapper,.leaflet-popup-tip{border:1px solid var(--bg-card);font-family:inherit;background:var(--bg-panel)!important;color:var(--text-main)!important}.leaflet-popup-content{font-size:.75rem;line-height:1.4}.popup-title{margin-bottom:.25rem;font-size:.85rem}.popup-actions{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.popup-link{color:var(--text-main);background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;padding:.2rem .45rem;font-size:.62rem;line-height:1.2;text-decoration:none}.popup-link:hover{background:#ffffff1a;border-color:#ffffff3d}.filter-section{grid-template-columns:1fr;gap:1rem;padding:.2rem 0;display:grid}@media (width>=768px){.filter-section{grid-template-columns:2fr 1fr;align-items:end}}.filter-group{flex-direction:column;gap:.5rem;display:flex}.filter-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;justify-content:space-between;font-size:.85rem;display:flex}.filter-label span{color:var(--text-main)}select{background-color:var(--bg-panel);color:var(--text-main);border:2px solid var(--bg-card);cursor:pointer;appearance:none;border-radius:12px;outline:none;padding:.7rem 1rem;font-family:inherit;font-size:.95rem;font-weight:700}input[type=range]{-webkit-appearance:none;background:0 0;width:100%}input[type=range]::-webkit-slider-runnable-track{background:var(--bg-panel);border-radius:4px;width:100%;height:8px}input[type=range]::-webkit-slider-thumb{background:var(--text-main);cursor:pointer;-webkit-appearance:none;border-radius:50%;width:24px;height:24px;margin-top:-8px;transition:background .2s}input[type=range]::-webkit-slider-thumb:hover{background:var(--accent)}.list-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;margin-top:.4rem;font-size:.95rem}.station-list{flex-direction:column;gap:.9rem;display:flex}.station-row{background-color:var(--bg-card);cursor:pointer;border:2px solid #0000;border-radius:20px;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.1rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}.station-row:hover{background-color:var(--bg-card-hover);border-color:var(--skeleton-pulse);transform:translateY(-2px)}.station-row.active{border-color:var(--accent)}.station-left{align-items:center;gap:1rem;min-width:0;display:flex}.brand-logo-container{flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;padding:0;display:flex}.brand-logo{object-fit:contain;width:100%;height:100%}.station-details{min-width:0}.station-details h3{letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:1rem;overflow:hidden}.station-details p{color:var(--text-muted);font-size:.7rem;font-weight:500;line-height:1.35}.station-details p i{color:var(--text-main);margin-right:.25rem}.open-state{margin-top:.2rem;font-size:.66rem}.open-state.is-open{color:#86efac}.open-state.is-closed{color:#fda4af}.price-zone{flex-shrink:0;align-items:center;gap:.7rem;display:flex}.price-massive{color:var(--accent);letter-spacing:-1px;text-align:right;font-size:1.75rem;font-weight:900;line-height:1}.price-unavailable{color:var(--text-muted);font-size:.8rem}.price-decimals{vertical-align:super;font-size:.95rem}.chevron-icon{color:var(--skeleton-base);font-size:1rem;transition:transform .2s}.station-row:hover .chevron-icon{color:var(--text-main);transform:translate(3px)}.skeleton-zone{flex-direction:column;gap:.9rem;margin-top:.15rem;display:flex}.skeleton{background:linear-gradient(90deg, var(--skeleton-base) 25%, var(--skeleton-pulse) 50%, var(--skeleton-base) 75%);background-size:200% 100%;animation:1.5s ease-in-out infinite loading-pulse}@keyframes loading-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-row{background-color:var(--bg-card);border-radius:20px;justify-content:space-between;align-items:center;gap:.8rem;padding:1rem 1.1rem;display:flex}.sk-left{align-items:center;gap:1rem;display:flex}.sk-logo{border-radius:16px;width:64px;height:64px}.sk-title{border-radius:4px;width:170px;height:1rem;margin-bottom:.4rem}.sk-sub{border-radius:4px;width:115px;height:.8rem}.sk-price{border-radius:6px;width:86px;height:1.8rem}.hidden{display:none!important}.empty-state{background:var(--bg-panel);border:1px solid var(--bg-card);color:var(--text-muted);border-radius:14px;padding:.85rem;font-size:.75rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;opacity:0;pointer-events:none;background:#000000d9;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .25s;display:flex;position:fixed;top:0;left:0}.modal-overlay.active{opacity:1;pointer-events:auto}.modal-content{background-color:var(--bg-panel);border:2px solid var(--bg-card);border-radius:22px;width:min(92vw,560px);max-width:560px;padding:1.5rem}.modal-content h2{color:var(--accent-yellow);margin-bottom:.8rem;font-size:1.2rem}.modal-content p{color:var(--text-muted);font-size:.85rem;font-weight:500;line-height:1.6}.help-meta{color:#d5d5d9;border-top:1px solid #ffffff1a;margin-top:.7rem;padding-top:.7rem;font-size:.72rem;line-height:1.45}.close-modal-btn{background-color:var(--accent-yellow);color:#000;cursor:pointer;border:none;border-radius:14px;width:100%;margin-top:1.2rem;padding:.8rem 1.5rem;font-family:inherit;font-weight:900}@media (width<=700px){html{font-size:18px}body{padding:4.6rem 1rem 1rem}.alert-stack{width:auto;top:3.5rem;left:.7rem;right:.7rem}header{height:3.2rem;padding:0 1rem}.header-brand h1{font-size:1.2rem}#map{border-radius:18px;height:360px}.station-row{align-items:flex-start;padding:.9rem}.utility-section{border-radius:20px;gap:.8rem;padding:1rem}.location-search-row{grid-template-columns:auto 1fr auto!important;padding:.4rem .5rem .4rem .8rem!important}.location-search-row i{display:block!important}#location-search{font-size:16px;line-height:1.25}.utility-buttons{grid-template-columns:1fr 1fr;gap:.5rem;width:100%;display:grid}.utility-buttons .secondary-btn{width:100%;padding:.6rem .5rem;font-size:.75rem}.brand-logo-container,.sk-logo{border-radius:12px;width:54px;height:54px}.price-massive{font-size:1.4rem}}
