@import url(https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700;800;900&family=Rajdhani:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;background:#0a0a0f;color:#fff;font-family:Rajdhani,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;overscroll-behavior:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);scroll-behavior:smooth}code{font-family:Orbitron,source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--neon-cyan:#00f0ff;--neon-magenta:#f0f;--neon-pink:#ff2a6d;--neon-yellow:#f9f002;--neon-green:#05ffa1;--dark-bg:#0a0a0f;--darker-bg:#050508;--panel-bg:#0a0a14e6;--border-glow:#00f0ff}.App{background:#0a0a0f;background:var(--dark-bg);background-image:linear-gradient(0deg,#0000 24%,#00f0ff08 25%,#00f0ff08 26%,#0000 27%,#0000 74%,#00f0ff08 75%,#00f0ff08 76%,#0000 77%,#0000),linear-gradient(90deg,#0000 24%,#00f0ff08 25%,#00f0ff08 26%,#0000 27%,#0000 74%,#00f0ff08 75%,#00f0ff08 76%,#0000 77%,#0000);background-size:80px 80px;font-family:Rajdhani,sans-serif;min-height:100vh;position:relative}.App:before{background:repeating-linear-gradient(0deg,#0000001a,#0000001a 1px,#0000 0,#0000 3px);bottom:0;content:"";left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:9999}.App-header{align-items:center;background:#0a0a14e6;background:var(--panel-bg);border-bottom:2px solid #00f0ff;border-bottom:2px solid var(--neon-cyan);box-shadow:0 0 20px #00f0ff4d,0 0 40px #00f0ff1a,inset 0 -1px 0 #00f0ff33;display:flex;flex-direction:column;gap:1rem;padding:1.5rem 2rem;position:relative}.App-header h1{animation:flicker 4s infinite;color:#0f0;font-family:Orbitron,monospace;font-size:1.8rem;font-weight:700;letter-spacing:2px;margin:0;text-shadow:0 0 10px #00f0ff,0 0 20px #00f0ff,0 0 40px #00f0ff;text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan),0 0 40px var(--neon-cyan);text-transform:uppercase}@keyframes flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.8}94%{opacity:1}96%{opacity:.9}97%{opacity:1}}.mode-toggle{background:#00f0ff0d;border:1px solid #00f0ff4d;border-radius:0;-webkit-clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);display:flex;flex-direction:column;gap:.6rem;padding:.5rem}.mode-btn{background:#00f0ff0d;border:1px solid #00f0ff33;border-radius:0;color:#00f0ffb3;cursor:pointer;font-family:Orbitron,monospace;font-size:1.15rem;font-weight:700;letter-spacing:2px;margin:0;padding:1rem 2rem;text-shadow:0 0 6px #00f0ff4d;text-transform:uppercase;transition:all .3s ease;width:auto}.mode-btn:hover{background:#00f0ff26;border-color:#00f0ff80;box-shadow:0 0 12px #00f0ff33;color:#00f0ff;color:var(--neon-cyan);text-shadow:0 0 15px #00f0ff;text-shadow:0 0 15px var(--neon-cyan)}.mode-btn.active{background:#00f0ff;background:var(--neon-cyan);border-color:#00f0ff;border-color:var(--neon-cyan);box-shadow:0 0 20px #00f0ff,0 0 40px #00f0ff4d,inset 0 0 15px #ffffff4d;box-shadow:0 0 20px var(--neon-cyan),0 0 40px #00f0ff4d,inset 0 0 15px #ffffff4d;-webkit-clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);color:#0a0a0f;color:var(--dark-bg)}main{background:#0a0a14e6;background:var(--panel-bg);border:1px solid #00f0ff;border:1px solid var(--neon-cyan);box-shadow:0 0 30px #00f0ff33,inset 0 0 60px #00f0ff08;-webkit-clip-path:polygon(0 20px,20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);clip-path:polygon(0 20px,20px 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%);margin:2rem auto;max-width:800px;padding:2rem;position:relative}main:before{background:linear-gradient(90deg,#00f0ff,#0000);background:linear-gradient(90deg,var(--neon-cyan),#0000);left:20px;right:0;top:0}main:after,main:before{content:"";height:2px;position:absolute}main:after{background:linear-gradient(90deg,#0000,#f0f);background:linear-gradient(90deg,#0000,var(--neon-magenta));bottom:0;left:0;right:20px}.form-group{margin-bottom:1.5rem;text-align:left}.form-group label{color:#00f0ff;color:var(--neon-cyan);display:block;font-family:Orbitron,monospace;font-size:.95rem;font-weight:600;letter-spacing:1px;margin-bottom:.5rem;text-shadow:0 0 10px #00f0ff80;text-transform:uppercase}.form-group input[type=datetime-local]{background:#00f0ff0d;border:1px solid #00f0ff4d;box-sizing:border-box;-webkit-clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);color:#fff;flex:1 1;font-family:Rajdhani,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease}.form-group input[type=datetime-local]:focus{border-color:#00f0ff;border-color:var(--neon-cyan);box-shadow:0 0 15px #00f0ff66,inset 0 0 20px #00f0ff1a;outline:none}.datetime-row{align-items:stretch;display:flex;gap:.5rem}.now-btn{font-size:.9rem;font-weight:600;margin-top:0;padding:.75rem 1.25rem;white-space:nowrap;width:auto}.autocomplete{position:relative;width:100%}.autocomplete input{background:#00f0ff0d;border:1px solid #00f0ff4d;box-sizing:border-box;-webkit-clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);color:#fff;font-family:Rajdhani,sans-serif;font-size:1rem;padding:.75rem 1rem;transition:all .3s ease;width:100%}.autocomplete input:focus{border-color:#00f0ff;border-color:var(--neon-cyan);box-shadow:0 0 15px #00f0ff66,inset 0 0 20px #00f0ff1a;outline:none}.autocomplete input::placeholder{color:#00f0ff66}.autocomplete-items{background:#050508;background:var(--darker-bg);border:1px solid #00f0ff;border:1px solid var(--neon-cyan);box-shadow:0 0 20px #00f0ff4d,inset 0 0 30px #00f0ff0d;-webkit-clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-item{border-bottom:1px solid #00f0ff1a;color:#fffc;cursor:pointer;font-family:Rajdhani,sans-serif;padding:.75rem 1rem;transition:all .2s ease}.autocomplete-item:last-child{border-bottom:none}.autocomplete-active,.autocomplete-item:hover{background:#00f0ff1a;border-left:3px solid #00f0ff;border-left:3px solid var(--neon-cyan);color:#00f0ff;color:var(--neon-cyan);padding-left:calc(1rem - 3px);text-shadow:0 0 10px #00f0ff;text-shadow:0 0 10px var(--neon-cyan)}.autocomplete-item strong{color:#f0f;color:var(--neon-magenta);text-shadow:0 0 5px #f0f;text-shadow:0 0 5px var(--neon-magenta)}button{background:#00f0ff;background:var(--neon-cyan);border:none;box-shadow:0 0 20px #00f0ff,inset 0 0 20px #fff3;box-shadow:0 0 20px var(--neon-cyan),inset 0 0 20px #fff3;-webkit-clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);clip-path:polygon(15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%,0 15px);color:#0a0a0f;color:var(--dark-bg);cursor:pointer;font-family:Orbitron,monospace;font-size:1.1rem;font-weight:700;letter-spacing:2px;margin-top:.5rem;padding:1rem 2rem;position:relative;text-transform:uppercase;transition:all .3s ease;width:100%}button:hover{background:#f0f;background:var(--neon-magenta);box-shadow:0 0 30px #f0f,0 0 60px #f0f,inset 0 0 20px #ffffff4d;box-shadow:0 0 30px var(--neon-magenta),0 0 60px var(--neon-magenta),inset 0 0 20px #ffffff4d;transform:translateY(-2px)}button:active{box-shadow:0 0 15px #f0f,inset 0 0 30px #0000004d;box-shadow:0 0 15px var(--neon-magenta),inset 0 0 30px #0000004d;transform:translateY(0)}.routes-table{background:#050508;background:var(--darker-bg);border:1px solid #f0f;border:1px solid var(--neon-magenta);border-collapse:initial;border-spacing:0;box-shadow:0 0 30px #f0f3,inset 0 0 60px #ff00ff08;margin-top:2rem;overflow:hidden;width:100%}.routes-table thead{background:linear-gradient(90deg,#f0f3,#00f0ff33)}.routes-table th{border-bottom:2px solid #f0f;border-bottom:2px solid var(--neon-magenta);color:#00f0ff;color:var(--neon-cyan);font-family:Orbitron,monospace;font-size:.9rem;font-weight:700;letter-spacing:1px;padding:1rem;text-align:left;text-shadow:0 0 10px #00f0ff;text-shadow:0 0 10px var(--neon-cyan);text-transform:uppercase}.routes-table td{border-bottom:1px solid #f0f3;color:#ffffffe6;font-family:Rajdhani,sans-serif;padding:1rem;vertical-align:top}.routes-table tbody tr:last-child td{border-bottom:none}.routes-table tbody tr:hover{background:#ff00ff1a}.routes-table td p{font-size:.9rem;line-height:1.5;margin:.25rem 0}.routes-table td div{border-bottom:1px dashed #00f0ff33;padding:.5rem 0}.routes-table td div:last-child{border-bottom:none}.departure-board-title{color:#f9f002;color:var(--neon-yellow);font-family:Orbitron,monospace;font-size:1.4rem;font-weight:700;letter-spacing:2px;margin:1.5rem 0 1rem;text-shadow:0 0 10px #f9f002,0 0 20px #f9f002;text-shadow:0 0 10px var(--neon-yellow),0 0 20px var(--neon-yellow);text-transform:uppercase}.departure-board{overflow-x:auto}.departures-table{background:#050508;background:var(--darker-bg);border:1px solid #05ffa1;border:1px solid var(--neon-green);border-collapse:initial;border-spacing:0;box-shadow:0 0 30px #05ffa133,inset 0 0 60px #05ffa108;overflow:hidden;width:100%}.departures-table thead{background:linear-gradient(90deg,#05ffa126,#f9f00226)}.departures-table th{border-bottom:2px solid #05ffa1;border-bottom:2px solid var(--neon-green);color:#05ffa1;color:var(--neon-green);font-family:Orbitron,monospace;font-size:.85rem;font-weight:700;letter-spacing:1px;padding:1rem .75rem;text-align:left;text-shadow:0 0 10px #05ffa1;text-shadow:0 0 10px var(--neon-green);text-transform:uppercase}.departures-table td{border-bottom:1px solid #05ffa126;color:#fff;font-family:Rajdhani,monospace;padding:.875rem .75rem}.departures-table tbody tr:last-child td{border-bottom:none}.departures-table tbody tr:hover{background:#05ffa10d}.departures-table .time{color:#f9f002;color:var(--neon-yellow);font-family:Orbitron,monospace;font-size:1.1rem;font-weight:700;text-shadow:0 0 10px #f9f002;text-shadow:0 0 10px var(--neon-yellow)}.departures-table .destination{max-width:200px}.departures-table .dest-name{color:#fff;display:block;font-weight:600}.departures-table .via{color:#00f0ff99;display:block;font-size:.75rem;margin-top:.25rem}.departures-table .platform{background:#05ffa1;background:var(--neon-green);box-shadow:0 0 10px #05ffa1;box-shadow:0 0 10px var(--neon-green);-webkit-clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);color:#0a0a0f;color:var(--dark-bg);font-family:Orbitron,monospace;font-size:1.1rem;font-weight:700;min-width:40px;text-align:center}.departures-table .status{font-family:Orbitron,monospace;font-size:.8rem;font-weight:700}.departures-table .status.on-time{color:#05ffa1;color:var(--neon-green);text-shadow:0 0 10px #05ffa1;text-shadow:0 0 10px var(--neon-green)}.departures-table .status.delayed{animation:pulse 1s infinite;color:#f9f002;color:var(--neon-yellow);text-shadow:0 0 10px #f9f002;text-shadow:0 0 10px var(--neon-yellow)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.departures-table .status.cancelled{animation:pulse .5s infinite;color:#ff2a6d;color:var(--neon-pink);text-shadow:0 0 10px #ff2a6d;text-shadow:0 0 10px var(--neon-pink)}.departures-table tr.cancelled td{opacity:.5;text-decoration:line-through}.departures-table tr.cancelled td.status{opacity:1;text-decoration:none}.departures-table .operator{color:#00f0ff80;font-size:.8rem}.departures-table .clickable-row{cursor:pointer;transition:all .3s ease}.departures-table .clickable-row:hover{background:#05ffa11a;box-shadow:inset 0 0 30px #05ffa11a}.departures-table .clickable-row.expanded .dest-name{color:#05ffa1;color:var(--neon-green);text-shadow:0 0 10px #05ffa1;text-shadow:0 0 10px var(--neon-green)}.calling-points-row td{background:#050508;background:var(--darker-bg);padding:0!important}.calling-points{background:linear-gradient(180deg,#05ffa11a,#0000);border-top:2px solid #05ffa1;border-top:2px solid var(--neon-green);padding:1rem}.calling-points h4{color:#05ffa1;color:var(--neon-green);font-family:Orbitron,monospace;font-size:.9rem;letter-spacing:1px;margin:0 0 .75rem;text-shadow:0 0 10px #05ffa1;text-shadow:0 0 10px var(--neon-green);text-transform:uppercase}.calling-points .loading-text{animation:pulse 1s infinite;color:#00f0ff;color:var(--neon-cyan);font-style:italic}.stops-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.stop-item{align-items:center;background:#00f0ff0d;border:1px solid #00f0ff33;-webkit-clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);display:flex;font-size:.85rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.stop-item:hover{background:#00f0ff1a;border-color:#00f0ff;border-color:var(--neon-cyan);box-shadow:0 0 15px #00f0ff4d}.stop-time{color:#f9f002;color:var(--neon-yellow);font-family:Orbitron,monospace;font-weight:700;text-shadow:0 0 5px #f9f002;text-shadow:0 0 5px var(--neon-yellow)}.stop-name{color:#fff}.stop-delay{color:#ff2a6d;color:var(--neon-pink);font-size:.75rem;text-shadow:0 0 5px #ff2a6d;text-shadow:0 0 5px var(--neon-pink)}@media (max-width:768px){.App-header h1{font-size:1.4rem}.mode-toggle{justify-content:center;width:100%}main{-webkit-clip-path:polygon(0 15px,15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);clip-path:polygon(0 15px,15px 0,100% 0,100% calc(100% - 15px),calc(100% - 15px) 100%,0 100%);margin:1rem;padding:1.5rem}.routes-table{font-size:.85rem}.routes-table td,.routes-table th{padding:.75rem .5rem}.departures-table td,.departures-table th{font-size:.85rem;padding:.75rem .5rem}.departures-table .destination{max-width:150px}}@media (max-width:480px){.App-header{padding:1rem;text-align:center}.App-header h1{font-size:1.2rem}main{-webkit-clip-path:polygon(0 10px,10px 0,100% 0,100% 100%,0 100%);clip-path:polygon(0 10px,10px 0,100% 0,100% 100%,0 100%);margin:1rem 0 0;min-height:calc(100vh - 80px);padding:1.25rem}.form-group{margin-bottom:1.25rem}.form-group label{font-size:.9rem}.autocomplete input,.form-group input[type=datetime-local]{font-size:16px;padding:1rem}button{font-size:1rem;margin-top:.75rem;padding:1rem 1.5rem;transform:none!important}button:active{background:#f0f;background:var(--neon-magenta);box-shadow:inset 0 2px 10px #00000080}.datetime-row{flex-direction:row}.now-btn{font-size:.9rem;min-width:60px;padding:1rem}.autocomplete-items{max-height:200px}.autocomplete-item{align-items:center;display:flex;font-size:.95rem;min-height:48px;padding:1rem}.routes-table{background:#0000;border:none;box-shadow:none}.routes-table thead{display:none}.routes-table tbody{display:flex;flex-direction:column;gap:1rem}.routes-table tbody tr{background:#050508;background:var(--darker-bg);border:1px solid #f0f;border-left:4px solid #f0f;border:1px solid var(--neon-magenta);border-left-width:4px;box-shadow:0 0 20px #f0f3;display:flex;flex-direction:column;padding:1rem}.routes-table tbody tr:hover{background:#ff00ff1a}.routes-table td{border-bottom:none;display:block;padding:.5rem 0}.routes-table td:first-child{border-bottom:1px solid #00f0ff33;color:#00f0ff;color:var(--neon-cyan);font-size:1rem;font-weight:700;margin-bottom:.5rem;padding-bottom:.75rem;text-shadow:0 0 10px #00f0ff;text-shadow:0 0 10px var(--neon-cyan)}.routes-table td:last-child{background:#f0f;background:var(--neon-magenta);box-shadow:0 0 15px #f0f;box-shadow:0 0 15px var(--neon-magenta);-webkit-clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);color:#0a0a0f;color:var(--dark-bg);font-weight:700;margin-top:.5rem;padding:.75rem;text-align:center}.routes-table td p{font-size:.85rem;margin:.35rem 0}.routes-table td div{padding:.5rem 0}.App-header{flex-direction:column}.mode-toggle{width:100%}.mode-btn{flex:1 1;padding:.5rem .75rem}.departure-board-title{font-size:1.2rem;margin:1rem 0}.departure-board{margin:0;overflow-x:visible;padding:0}.departures-table{background:#0000;border:none;box-shadow:none;min-width:0;min-width:auto;width:100%}.departures-table thead{display:none}.departures-table tbody{display:flex;flex-direction:column;gap:.75rem}.departures-table tbody tr{align-items:center;border:1px solid #05ffa1;border-left:4px solid #05ffa1;border:1px solid var(--neon-green);border-left-width:4px;box-shadow:0 0 20px #05ffa133;display:flex;flex-wrap:wrap;gap:.5rem;padding:.875rem}.departures-table tbody tr,.departures-table tbody tr:hover{background:#050508;background:var(--darker-bg)}.departures-table tbody tr.cancelled{border-left-color:#ff2a6d;border-left-color:var(--neon-pink)}.departures-table td{border-bottom:none;padding:0}.departures-table .time{color:#f9f002;color:var(--neon-yellow);font-size:1.25rem;font-weight:700;min-width:55px}.departures-table .destination{flex:1 1;max-width:none;min-width:120px}.departures-table .dest-name{color:#fff;font-size:.95rem;font-weight:600}.departures-table .via{color:#00f0ff80;font-size:.7rem;margin-top:.15rem}.departures-table .platform{font-size:.9rem;font-weight:700;min-width:32px;padding:.25rem .5rem;text-align:center}.departures-table .status{background:#ffffff0d;border:1px solid;font-size:.8rem;padding:.25rem .5rem}.departures-table .status.on-time{background:#05ffa11a}.departures-table .status.delayed{background:#f9f0021a}.departures-table .status.cancelled{background:#ff2a6d1a}.departures-table .operator{border-top:1px solid #05ffa133;color:#0f0;font-size:.7rem;margin-top:.25rem;padding-top:.5rem;width:100%}.departures-table .calling-points-row{display:block}.departures-table .calling-points-row td{display:block;padding:0!important;width:100%}.calling-points{background:#050508;background:var(--darker-bg);margin:-.5rem -.875rem -.875rem;padding:.75rem}.stops-list{flex-direction:column;gap:.25rem}.stop-item{font-size:.8rem;padding:.4rem .5rem}}@media (max-width:360px){.App-header h1{font-size:1.1rem}main{padding:1rem}.autocomplete input,.form-group input[type=datetime-local]{padding:.875rem}.routes-table td:first-child{font-size:.9rem}}@media (hover:none) and (pointer:coarse){button:hover{box-shadow:0 0 20px #00f0ff;box-shadow:0 0 20px var(--neon-cyan);transform:none}.autocomplete-item:hover{background-color:initial}.autocomplete-item:active{background:#00f0ff1a}.routes-table tbody tr:hover{background:#050508;background:var(--darker-bg)}}.input-with-locate{align-items:flex-start;display:flex;gap:.5rem;position:relative}.input-with-locate .autocomplete{flex:1 1}.nearby-stations-wrapper{position:relative}.locate-btn{align-items:center;background:#00f0ff1a!important;border:1px solid #00f0ff!important;border:1px solid var(--neon-cyan)!important;box-shadow:0 0 10px #00f0ff33!important;-webkit-clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)!important;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)!important;color:#00f0ff!important;color:var(--neon-cyan)!important;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;margin-top:0!important;min-width:48px;padding:0!important;transition:all .3s ease;width:48px!important}.locate-btn:hover{background:#00f0ff40!important;box-shadow:0 0 20px #00f0ff66!important;transform:none!important}.locate-btn:disabled{cursor:not-allowed;opacity:.5}.locate-btn svg{flex-shrink:0}.nearby-stations-dropdown{background:#050508;background:var(--darker-bg);border:1px solid #00f0ff;border:1px solid var(--neon-cyan);box-shadow:0 0 20px #00f0ff4d,inset 0 0 30px #00f0ff0d;-webkit-clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);margin-top:4px;min-width:300px;position:absolute;right:0;top:100%;z-index:1001}.nearby-loading{color:#00f0ff;color:var(--neon-cyan);font-family:Rajdhani,sans-serif;font-size:.9rem;padding:1rem;text-align:center}.locate-pulse{animation:pulse 1s infinite;display:inline-block;font-size:1.2rem}.nearby-error{color:#ff2a6d;color:var(--neon-pink);text-shadow:0 0 10px #ff2a6d;text-shadow:0 0 10px var(--neon-pink)}.nearby-empty,.nearby-error{font-family:Rajdhani,sans-serif;font-size:.9rem;padding:1rem;text-align:center}.nearby-empty{color:#ffffff80}.nearby-list{max-height:300px;overflow-y:auto}.nearby-item{align-items:center;border-bottom:1px solid #00f0ff1a;cursor:pointer;display:flex;font-family:Rajdhani,sans-serif;gap:.75rem;padding:.75rem 1rem;transition:all .2s ease}.nearby-item:last-child{border-bottom:none}.nearby-item:hover{background:#00f0ff1a;border-left:3px solid #00f0ff;border-left:3px solid var(--neon-cyan);padding-left:calc(1rem - 3px)}.nearby-name{color:#fff;flex:1 1;font-size:.95rem}.nearby-code{color:#00f0ff;color:var(--neon-cyan);font-size:.75rem;text-shadow:0 0 5px #00f0ff;text-shadow:0 0 5px var(--neon-cyan)}.nearby-code,.nearby-distance{font-family:Orbitron,monospace;font-weight:600}.nearby-distance{color:#f9f002;color:var(--neon-yellow);font-size:.7rem;min-width:50px;text-align:right;text-shadow:0 0 5px #f9f002;text-shadow:0 0 5px var(--neon-yellow)}@media (max-width:480px){.locate-btn{height:48px;width:48px!important}.nearby-stations-dropdown{min-width:250px;right:0}.nearby-item{min-height:48px;padding:1rem}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#050508;background:var(--darker-bg)}::-webkit-scrollbar-thumb{background:#00f0ff;background:var(--neon-cyan);box-shadow:0 0 10px #00f0ff;box-shadow:0 0 10px var(--neon-cyan)}::-webkit-scrollbar-thumb:hover{background:#f0f;background:var(--neon-magenta);box-shadow:0 0 10px #f0f;box-shadow:0 0 10px var(--neon-magenta)}.login-container{align-items:center;background:#0a0a0f;background:var(--dark-bg);background-image:linear-gradient(0deg,#0000 24%,#00f0ff08 25%,#00f0ff08 26%,#0000 27%,#0000 74%,#00f0ff08 75%,#00f0ff08 76%,#0000 77%,#0000),linear-gradient(90deg,#0000 24%,#00f0ff08 25%,#00f0ff08 26%,#0000 27%,#0000 74%,#00f0ff08 75%,#00f0ff08 76%,#0000 77%,#0000);background-size:80px 80px;display:flex;justify-content:center;min-height:100vh}.login-box{background:#0a0a14e6;background:var(--panel-bg);border:2px solid #00f0ff;border:2px solid var(--neon-cyan);box-shadow:0 0 30px #00f0ff4d,0 0 60px #00f0ff1a,inset 0 0 30px #00f0ff0d;max-width:400px;padding:3rem;text-align:center;width:90%}.login-box h2{color:#00f0ff;color:var(--neon-cyan);font-family:Orbitron,monospace;font-size:1.8rem;font-weight:700;letter-spacing:3px;margin:0 0 .5rem;text-shadow:0 0 10px #00f0ff,0 0 20px #00f0ff;text-shadow:0 0 10px var(--neon-cyan),0 0 20px var(--neon-cyan)}.login-subtitle{color:#fff9;font-family:Rajdhani,sans-serif;font-size:1rem;letter-spacing:2px;margin-bottom:2rem;text-transform:uppercase}.login-input-group{margin-bottom:1.5rem}.login-input{background:#050508;background:var(--darker-bg);border:2px solid #00f0ff;border:2px solid var(--neon-cyan);box-sizing:border-box;color:#00f0ff;color:var(--neon-cyan);font-family:Rajdhani,sans-serif;font-size:1.1rem;letter-spacing:1px;padding:1rem 1.5rem;transition:all .3s ease;width:100%}.login-input:focus{box-shadow:0 0 20px #00f0ff66,inset 0 0 10px #00f0ff1a;outline:none}.login-input::placeholder{color:#00f0ff66}.login-error{color:#ff2a6d;color:var(--neon-pink);font-family:Rajdhani,sans-serif;font-size:.9rem;letter-spacing:1px;margin-bottom:1rem;text-shadow:0 0 10px #ff2a6d;text-shadow:0 0 10px var(--neon-pink)}.login-btn,.login-error{text-transform:uppercase}.login-btn{background:#0000;border:2px solid #00f0ff;border:2px solid var(--neon-cyan);color:#00f0ff;color:var(--neon-cyan);cursor:pointer;font-family:Orbitron,monospace;font-size:1rem;font-weight:600;letter-spacing:2px;padding:1rem 2rem;transition:all .3s ease;width:100%}.login-btn:hover:not(:disabled){background:#00f0ff;background:var(--neon-cyan);box-shadow:0 0 30px #00f0ff80,inset 0 0 20px #00f0ff33;color:#0a0a0f;color:var(--dark-bg)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.logout-btn{border-color:#ff2a6d!important;border-color:var(--neon-pink)!important;color:#ff2a6d!important;color:var(--neon-pink)!important}.logout-btn:hover{background:#ff2a6d!important;background:var(--neon-pink)!important;box-shadow:0 0 20px #ff2a6d80!important;color:#0a0a0f!important;color:var(--dark-bg)!important}
/*# sourceMappingURL=main.cba6fbb7.css.map*/