.tabbar{z-index:1000;max-width:480px;height:72px;padding-bottom:env(safe-area-inset-bottom,0);background:0 0;justify-content:space-around;align-items:center;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-bg{-webkit-backdrop-filter:blur(20px);background:#ffffffeb;border-top:.5px solid #00000014;position:absolute;inset:0;box-shadow:0 -1px 20px #0000000f}.tab{color:#999;cursor:pointer;z-index:1;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:4px 0;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.tab:active{transform:scale(.92)}.tab.active{color:#be0000}.tab-icon-wrap{justify-content:center;align-items:center;width:28px;height:28px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative}.tab.active .tab-icon-wrap{transform:translateY(-2px)scale(1.1)}.tab-icon-wrap svg{z-index:2;width:24px;height:24px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}.tab.active .tab-icon-wrap svg{filter:drop-shadow(0 0 6px #be00004d)}.tab-glow{z-index:1;background:radial-gradient(circle,#be000026 0%,#0000 70%);border-radius:50%;animation:2s ease-in-out infinite glowPulse;position:absolute;inset:-4px}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}}.tab-label{letter-spacing:.3px;opacity:.7;font-size:9px;font-weight:500;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.tab.active .tab-label{opacity:1;letter-spacing:.2px;font-weight:600}.tab:not(.active):hover .tab-icon-wrap svg{opacity:.7}.tab-enter{animation:.3s ease-out tabSlideUp}@keyframes tabSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tab:after{content:"";opacity:0;pointer-events:none;background:currentColor;border-radius:50%;width:0;height:0;transition:all .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tab:active:after{opacity:.06;width:80px;height:80px}.header{padding:44px 20px 28px;padding-top:calc(44px + env(safe-area-inset-top,0));z-index:10;border-bottom-right-radius:24px;border-bottom-left-radius:24px;transition:background .5s;position:sticky;top:0;overflow:hidden;box-shadow:0 4px 20px #00000026}.header-bg-pattern{opacity:.06;background-image:radial-gradient(circle at 15% 40%,#fff 1px,#0000 1px),radial-gradient(circle at 75% 25%,#fff 1px,#0000 1px),radial-gradient(circle at 50% 80%,#fff .5px,#0000 .5px);background-size:36px 36px,28px 28px,20px 20px;position:absolute;inset:0}.header-content{z-index:2;max-width:480px;margin:0 auto;animation:.5s cubic-bezier(.34,1.56,.64,1) both headerSlideIn;position:relative}@keyframes headerSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.header-top{align-items:center;gap:14px;display:flex}.header-icon-wrap{-webkit-backdrop-filter:blur(12px);background:#ffffff26;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;animation:4s ease-in-out infinite iconFloat;display:flex;position:relative;box-shadow:0 2px 12px #0000001a}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.header-icon-ring{border:1px solid #fff3;border-radius:18px;animation:3s ease-in-out infinite ringPulse;position:absolute;inset:-3px}@keyframes ringPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.header-icon-wrap svg{z-index:2;filter:drop-shadow(0 1px 2px #0003);position:relative}.header-titles{flex:1}.header-title{color:#fff;text-shadow:0 1px 3px #00000026;letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.header-subtitle{color:#ffffffb3;letter-spacing:.2px;margin:3px 0 0;font-size:12px;font-weight:400}.header-wave{z-index:2;height:30px;position:absolute;bottom:-2px;left:0;right:0}.header-wave svg{width:100%;height:100%}.header-indicator{z-index:3;gap:5px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.header-dot{background:#ffffff59;border-radius:50%;width:5px;height:5px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.header-dot.active{background:#fff;border-radius:3px;width:18px;box-shadow:0 0 6px #fff6}@media (width<=400px){.header{padding:36px 16px 22px;padding-top:calc(36px + env(safe-area-inset-top,0))}.header-title{font-size:19px}.header-icon-wrap{border-radius:14px;width:42px;height:42px}.header-icon-wrap svg{width:22px;height:22px}}:root{--crvena:#be0000;--tamna:#1a1a2e;--siva:#f5f5f5;--border:#eee;--text:#333;--muted:#888}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:var(--siva);color:var(--text);font-family:-apple-system,system-ui,sans-serif}.app{background:#fff;max-width:480px;min-height:100vh;margin:0 auto;position:relative}.page-content{min-height:100vh;padding-bottom:70px}::-webkit-scrollbar{display:none}.smart-content{padding:16px}.module-card{background:#fff;border-radius:16px;margin-bottom:16px;padding:16px;box-shadow:0 2px 12px #0000000f}.module-header{cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.module-header:active{opacity:.7}.module-title-row{align-items:center;gap:12px;display:flex}.module-icon{font-size:28px}.module-title{color:var(--tamna);margin:0;font-size:17px;font-weight:600}.module-subtitle{color:var(--muted);margin:2px 0 0;font-size:12px}.module-arrow{color:var(--muted);font-size:20px}.nearby-scroll{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.nearby-card{background:var(--siva);cursor:pointer;border:1px solid var(--border);border-radius:12px;flex-shrink:0;align-items:flex-start;gap:8px;min-width:170px;padding:10px;display:flex}.nearby-card:active{background:#e8e8e8}.nearby-icon{flex-shrink:0;margin-top:1px}.nearby-info{flex:1;min-width:0}.nearby-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.nearby-name{font-size:12px;font-weight:500;line-height:1.3}.nearby-dist{color:var(--crvena);white-space:nowrap;letter-spacing:-.3px;font-size:14px;font-weight:700}.nearby-code{color:var(--muted);margin:4px 0;font-size:10px;display:block}.nearby-routes{flex-wrap:wrap;gap:3px;display:flex}.route-pill{background:var(--tamna);color:#fff;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.no-location{text-align:center;color:var(--muted);padding:40px 20px}.locate-btn{background:var(--crvena);color:#fff;cursor:pointer;border:none;border-radius:12px;margin-top:12px;padding:10px 24px;font-size:14px}.overlay-page{z-index:9999;-webkit-overflow-scrolling:touch;background:#fff;animation:.25s cubic-bezier(.34,1.56,.64,1) overlaySlideIn;position:fixed;inset:0;overflow-y:auto}@keyframes overlaySlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.op-header{z-index:10;border-bottom:none;padding:0;position:sticky;top:0}.op-header-inner{padding:50px 16px 4px;padding-top:calc(50px + env(safe-area-inset-top,0))}.op-back{color:#fff;cursor:pointer;opacity:.9;background:0 0;border:none;margin-bottom:6px;padding:4px 0;font-size:15px;font-weight:500;display:block}.op-back:active{opacity:.6}.op-title{color:#fff;margin:0;font-size:20px;font-weight:600;line-height:1.2}.op-subtitle{color:#ffffffb3;margin:4px 0 0;font-size:12px}.op-search{padding:10px 16px 14px}.op-search input{color:#333;background:#ffffffe6;border:none;border-radius:12px;outline:none;width:100%;padding:11px 14px;font-size:14px}.op-search input::placeholder{color:#999}.op-search input:focus{background:#fff;box-shadow:0 0 0 2px #ffffff80}.op-list{padding:4px 16px 80px}.op-row{cursor:pointer;border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:14px 0;display:flex}.op-row:active{opacity:.7;background:#fafafa}.op-pin{background:var(--crvena);border-radius:50%;flex-shrink:0;width:6px;height:6px}.op-info{flex:1;min-width:0}.op-name{font-size:14px;font-weight:500;line-height:1.3;display:block}.op-meta{color:var(--muted);margin:3px 0;font-size:11px;display:block}.op-routes{flex-wrap:wrap;gap:3px;margin-top:4px;display:flex}.op-dist{color:var(--crvena);white-space:nowrap;font-size:12px;font-weight:600}@keyframes pulse{0%{box-shadow:0 0 #4285f466}70%{box-shadow:0 0 0 12px #4285f400}to{box-shadow:0 0 #4285f400}}
