:root{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0;background:rgb(25,25,25);color:#eee;overscroll-behavior:none}body{min-height:100vh;min-height:100dvh;-webkit-tap-highlight-color:transparent}#app{min-height:100vh;min-height:100dvh}button{font-family:inherit}.station-autocomplete[data-v-b47bf393],.input-wrapper[data-v-b47bf393]{position:relative;width:100%}.input-background[data-v-b47bf393]{position:absolute;inset:0;background:linear-gradient(to right,transparent,transparent);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;transition:all .3s ease;opacity:0}.input-wrapper:hover .input-background[data-v-b47bf393]{opacity:1;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),rgb(60,60,60),rgb(45,45,45) 40%,transparent 70%)}.input-content[data-v-b47bf393]{position:relative;width:100%;background:rgb(25,25,25)}input[data-v-b47bf393]{display:flex;width:100%;height:36px;border-radius:8px;border:1px solid rgb(40,40,40);background:rgb(25,25,25);padding:8px 12px;font-size:.875rem;color:#eee;transition:all .15s ease;box-shadow:0 1px 2px #0000000d}input[data-v-b47bf393]::placeholder{color:#969696b3}input[data-v-b47bf393]:focus{outline:none;border-color:#3c3c3c;box-shadow:0 0 0 3px #3c3c3c33,0 1px 2px #0000000d}input[data-v-b47bf393]:disabled{cursor:not-allowed;opacity:.5}input[type=search][data-v-b47bf393]::-webkit-search-cancel-button,input[type=search][data-v-b47bf393]::-webkit-search-decoration,input[type=search][data-v-b47bf393]::-webkit-search-results-button,input[type=search][data-v-b47bf393]::-webkit-search-results-decoration{appearance:none;-webkit-appearance:none}.floating-label[data-v-b47bf393]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#969696b3;pointer-events:none;transition:all .15s cubic-bezier(.4,0,.2,1);font-size:.875rem;transform-origin:left top;background:rgb(25,25,25);padding:0 4px}input:focus~.floating-label[data-v-b47bf393],input:not(:placeholder-shown)~.floating-label[data-v-b47bf393]{transform:translateY(-26px) scale(.85);color:#646464}.loading-indicator[data-v-b47bf393]{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.loading-spinner[data-v-b47bf393]{display:block;width:16px;height:16px;border:2px solid transparent;border-top-color:#969696b3;border-radius:50%;animation:spin-b47bf393 .8s linear infinite}@keyframes spin-b47bf393{to{transform:rotate(360deg)}}.suggestions[data-v-b47bf393]{position:absolute;top:calc(100% + 8px);left:0;right:0;max-height:300px;overflow-y:auto;background:rgb(35,35,35);border-radius:12px;z-index:1000;box-shadow:0 4px 12px #0000004d,inset 0 1px 2px #ffffff0d;border:2px solid rgb(40,40,40);transform-origin:top;animation:slideDown-b47bf393 .2s ease}@keyframes slideDown-b47bf393{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.suggestion[data-v-b47bf393]{padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid rgb(40,40,40);position:relative;overflow:hidden}.suggestion[data-v-b47bf393]:last-child{border-bottom:none}.suggestion[data-v-b47bf393]:before{content:"";position:absolute;inset:0;background:rgb(45,45,45);opacity:0;transition:opacity .2s ease}.suggestion[data-v-b47bf393]:hover:before{opacity:1}.station-name[data-v-b47bf393]{position:relative;color:#eee;font-weight:500;font-size:.9rem;transition:transform .2s ease}.station-city[data-v-b47bf393]{position:relative;font-size:.8rem;color:#888;margin-top:4px;transition:transform .2s ease}.suggestion:hover .station-name[data-v-b47bf393],.suggestion:hover .station-city[data-v-b47bf393]{transform:translate(4px)}.suggestions[data-v-b47bf393]::-webkit-scrollbar{width:8px;height:8px}.suggestions[data-v-b47bf393]::-webkit-scrollbar-track{background:rgb(30,30,30)}.suggestions[data-v-b47bf393]::-webkit-scrollbar-thumb{background:rgb(50,50,50);border-radius:4px}.suggestions[data-v-b47bf393]::-webkit-scrollbar-thumb:hover{background:rgb(60,60,60)}@media (max-width: 480px){.input-wrapper[data-v-b47bf393]{height:44px}input[data-v-b47bf393],.floating-label[data-v-b47bf393]{font-size:.85rem}.suggestion[data-v-b47bf393]{padding:10px 14px}.station-name[data-v-b47bf393]{font-size:.85rem}.station-city[data-v-b47bf393]{font-size:.75rem}}.departure-board[data-v-191c091d]{padding:.36em;display:inline-block;line-height:1.3em;background:rgb(30,30,30);-webkit-border-radius:.21em;-moz-border-radius:.21em;border-radius:.21em;color:#eee;font-family:Helvetica}.row[data-v-191c091d]{display:block;white-space:nowrap;margin:.3em 0;cursor:pointer}.letter[data-v-191c091d]{display:inline-block;width:1em;margin:0 .1em;height:1.3em;text-align:center;position:relative;color:inherit;transition:color .3s ease;-webkit-box-shadow:inset 0 -.07em 0 rgba(50,50,50,.7),inset 0 -.14em 0 rgba(0,0,0,.7),inset .14em 0 .28em rgba(0,0,0,.9),inset -.14em 0 .28em rgba(0,0,0,.9),0 .07em 0 rgba(255,255,255,.2);-moz-box-shadow:inset 0 -.07em 0 rgba(50,50,50,.7),inset 0 -.14em 0 rgba(0,0,0,.7),inset .14em 0 .28em rgba(0,0,0,.9),inset -.14em 0 .28em rgba(0,0,0,.9),0 .07em 0 rgba(255,255,255,.2);-o-box-shadow:inset 0 -.07em 0 rgba(50,50,50,.7),inset 0 -.14em 0 rgba(0,0,0,.7),inset .14em 0 .28em rgba(0,0,0,.9),inset -.14em 0 .28em rgba(0,0,0,.9),0 .07em 0 rgba(255,255,255,.2);box-shadow:inset 0 -.07em #323232b3,inset 0 -.14em #000000b3,inset .14em 0 .28em #000000e6,inset -.14em 0 .28em #000000e6,0 .07em #fff3}.letter.delayed[data-v-191c091d]{color:#ff4d4d}.letter[data-v-191c091d]:before{border-top:.07em solid rgba(0,0,0,.4);border-bottom:.07em solid rgba(255,255,255,.08);height:0;position:relative;width:100%;left:0;top:.62em;content:" ";display:block;z-index:2;-moz-transform:translate(0,-.05em);-o-transform:translate(0,-.1em)}.fold[data-v-191c091d]{display:block;position:absolute;height:0;top:.65em}.flap[data-v-191c091d]{display:block;position:absolute;top:0;width:1em;height:.65em;margin:0;overflow:hidden}.text[data-v-191c091d]{width:100%}.bottom[data-v-191c091d]{top:.65em}.bottom .text[data-v-191c091d]{position:relative;top:-.65em}.falling[data-v-191c091d]{display:none;bottom:0;top:auto}.falling .text[data-v-191c091d]{-webkit-backface-visibility:hidden;border-top:.03em solid #444;border-bottom:.03em solid #444;background:#000;display:block;position:relative;-webkit-transform:scaleY(1);-moz-transform:scaleY(1);-o-transform:scaleY(1);transform:scaleY(1);-webkit-transition:-webkit-transform linear;-moz-transition:-moz-transform linear;-o-transition:-o-transform linear;transition:transform linear}.favorite-station[data-v-916f36bd]{padding:14px 14px calc(44px + env(safe-area-inset-bottom));transition:all .2s;height:100%;display:flex;flex-direction:column;overflow:hidden}.departures[data-v-916f36bd]{flex:1;min-height:0;display:flex;flex-direction:column}.departure-display[data-v-916f36bd]{flex:1;min-height:0}.favorite-station.loading[data-v-916f36bd]{opacity:.7}.header[data-v-916f36bd]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.station-info h3[data-v-916f36bd]{margin:0 0 6px;font-size:.95rem;color:#eee;text-transform:uppercase;letter-spacing:.05em}.station-meta[data-v-916f36bd]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.type-switch[data-v-916f36bd]{padding:4px 8px;border:none;border-radius:4px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;background:rgb(40,40,40);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px}.type-switch i[data-v-916f36bd]{font-size:.9rem;opacity:.7}.type-switch.departure[data-v-916f36bd]{color:#4fc3f7}.type-switch.arrival[data-v-916f36bd]{color:#81c784}.type-switch[data-v-916f36bd]:hover{background:rgb(45,45,45);transform:translateY(-1px)}.update-interval[data-v-916f36bd]{font-size:.8rem;color:#888}.actions[data-v-916f36bd]{display:flex;gap:8px}.icon-btn[data-v-916f36bd]{width:28px;height:28px;padding:0;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s;background:rgb(40,40,40);color:#888}.icon-btn[data-v-916f36bd]:hover:not(:disabled){background:rgb(45,45,45);color:#eee;transform:translateY(-1px)}.icon-btn[data-v-916f36bd]:disabled{opacity:.5;cursor:not-allowed}.icon-btn.delete[data-v-916f36bd]:hover:not(:disabled){background:#e53935;color:#fff}.messages[data-v-916f36bd]{margin-top:16px;padding-top:16px;border-top:2px solid rgb(40,40,40)}.message[data-v-916f36bd]{padding:8px 12px;font-size:.85rem;margin-bottom:6px}.error[data-v-916f36bd]{padding:12px;font-size:.85rem}.retry-btn[data-v-916f36bd]{padding:6px 12px;background:#ef5350;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.8rem;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.retry-btn[data-v-916f36bd]:hover{background:#e53935;transform:translateY(-1px)}.loading-placeholder[data-v-916f36bd]{padding:2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;min-height:200px;background:rgba(0,0,0,.2);border-radius:12px;backdrop-filter:blur(8px)}.loading-animation[data-v-916f36bd]{position:relative;width:48px;height:48px}.spinner-ring[data-v-916f36bd]{position:absolute;inset:0;border-radius:50%;border:2.5px solid transparent;animation:spin-916f36bd linear infinite}.spinner-ring.outer[data-v-916f36bd]{border-top-color:#fffc;animation-duration:1.5s}.spinner-ring.inner[data-v-916f36bd]{inset:6px;border-top-color:#ffffff4d;animation-duration:2.5s}.loading-text[data-v-916f36bd]{display:flex;align-items:center;gap:.25rem;font-size:.9rem;color:#ffffffb3}.loading-text .primary[data-v-916f36bd]{font-weight:500}.loading-text .dots[data-v-916f36bd]{display:flex}.loading-text .dots span[data-v-916f36bd]{animation:dots-916f36bd 1.4s infinite;animation-fill-mode:both;margin:0 1px;font-weight:600}.loading-text .dots span[data-v-916f36bd]:nth-child(2){animation-delay:.2s}.loading-text .dots span[data-v-916f36bd]:nth-child(3){animation-delay:.4s}@keyframes spin-916f36bd{to{transform:rotate(360deg)}}@keyframes dots-916f36bd{0%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}to{opacity:.4;transform:translateY(0)}}@media (max-width: 480px){.favorite-station[data-v-916f36bd]{padding:16px}.station-info h3[data-v-916f36bd]{font-size:1rem}.type-switch[data-v-916f36bd]{padding:4px 8px;font-size:.75rem}.icon-btn[data-v-916f36bd]{width:28px;height:28px;font-size:1.1rem}}@media (min-width: 481px) and (max-width: 768px){.favorite-station[data-v-916f36bd]{padding:18px}}.modal-overlay[data-v-916f36bd]{position:fixed;inset:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-916f36bd]{background:rgb(35,35,35);border-radius:8px;padding:20px;width:90%;max-width:400px;box-shadow:0 4px 12px #0000004d}.modal h3[data-v-916f36bd]{margin:0 0 16px;color:#eee;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:12px;border-bottom:1px solid rgb(50,50,50)}.settings-content[data-v-916f36bd]{margin-bottom:20px}.setting-item[data-v-916f36bd]{margin-bottom:16px}.setting-item label[data-v-916f36bd]{display:block;color:#888;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.setting-value[data-v-916f36bd]{color:#eee;font-size:.9rem;margin:0}.modal-actions[data-v-916f36bd]{display:flex;justify-content:flex-end}.modal-actions button[data-v-916f36bd]{padding:8px 16px;background:rgb(50,50,50);color:#eee;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:all .2s;text-transform:uppercase;letter-spacing:.05em}.modal-actions button[data-v-916f36bd]:hover{background:rgb(60,60,60)}.departure-display[data-v-916f36bd] .letter{transition:color .3s ease}.departure-display[data-v-916f36bd] .letter.delayed{color:#f44}.app[data-v-669e33c1]{width:100%;height:100vh;height:100dvh;background:rgb(25,25,25);display:flex;flex-direction:column;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;position:relative;overflow:hidden;padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-header[data-v-669e33c1]{flex:0 0 auto;display:flex;align-items:center;justify-content:center;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:rgb(25,25,25)}.app-title[data-v-669e33c1]{font-size:1.05rem;font-weight:600;letter-spacing:.04em;color:#ffffffeb}.content[data-v-669e33c1]{flex:1;display:flex;flex-direction:column;position:relative;min-height:0;overflow:hidden}.pager[data-v-669e33c1]{flex:1;min-height:0;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.pager[data-v-669e33c1]::-webkit-scrollbar{display:none}.page[data-v-669e33c1]{flex:0 0 100%;width:100%;height:100%;scroll-snap-align:center;scroll-snap-stop:always;display:flex;flex-direction:column;min-width:0}.dots[data-v-669e33c1]{position:absolute;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:8px;z-index:50;pointer-events:none}.dot[data-v-669e33c1]{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:rgba(255,255,255,.25);cursor:pointer;transition:all .2s ease;pointer-events:auto}.dot.active[data-v-669e33c1]{background:rgba(255,255,255,.95);transform:scale(1.3)}.empty-state[data-v-669e33c1],.loading-state[data-v-669e33c1]{flex:1;display:flex;align-items:center;justify-content:center;padding:1.75rem;color:#fffc}.empty-state-content[data-v-669e33c1],.loading-content[data-v-669e33c1]{background:rgba(255,255,255,.05);padding:2rem;border-radius:24px;text-align:center;width:100%;border:1px solid rgba(255,255,255,.1);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.loading-content[data-v-669e33c1]{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.empty-state .title[data-v-669e33c1]{font-size:1.1rem;font-weight:500;margin-bottom:.5rem;color:#ffffffe6}.empty-state .hint[data-v-669e33c1]{font-size:.9rem;color:#fff9}.fab[data-v-669e33c1]{position:fixed;right:calc(20px + env(safe-area-inset-right));bottom:calc(20px + env(safe-area-inset-bottom));width:56px;height:56px;border-radius:50%;border:none;background:rgba(255,255,255,.95);color:#141414;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px #00000073;z-index:80;transition:transform .15s cubic-bezier(.4,0,.2,1)}.fab[data-v-669e33c1]:active{transform:scale(.92)}.sheet-overlay[data-v-669e33c1]{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;z-index:100}.sheet[data-v-669e33c1]{width:100%;max-height:85dvh;display:flex;flex-direction:column;background:rgb(30,30,30);border-top-left-radius:24px;border-top-right-radius:24px;padding:16px 16px calc(24px + env(safe-area-inset-bottom));border-top:1px solid rgba(255,255,255,.1);box-shadow:0 -8px 24px #00000080}.sheet[data-v-669e33c1] .suggestions{position:static;margin-top:12px;max-height:45vh}.sheet-header[data-v-669e33c1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.sheet-title[data-v-669e33c1]{font-size:1rem;font-weight:600;color:#ffffffeb}.sheet-close[data-v-669e33c1]{width:34px;height:34px;border-radius:50%;border:none;background:rgba(255,255,255,.08);color:#ffffffd9;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem}.sheet-enter-active[data-v-669e33c1],.sheet-leave-active[data-v-669e33c1]{transition:opacity .25s ease}.sheet-enter-active .sheet[data-v-669e33c1],.sheet-leave-active .sheet[data-v-669e33c1]{transition:transform .25s cubic-bezier(.4,0,.2,1)}.sheet-enter-from[data-v-669e33c1],.sheet-leave-to[data-v-669e33c1]{opacity:0}.sheet-enter-from .sheet[data-v-669e33c1],.sheet-leave-to .sheet[data-v-669e33c1]{transform:translateY(100%)}[data-v-669e33c1] .favorite-station{width:100%;height:100%}[data-v-669e33c1] .favorite-station .departures{overflow-x:hidden}[data-v-669e33c1] .departure-board{transform-style:preserve-3d;perspective:1000px;transform:translateZ(0);backface-visibility:hidden;position:relative;z-index:1}.loading-spinner-container[data-v-669e33c1]{width:48px;height:48px;position:relative;margin-bottom:.5rem}.loading-spinner[data-v-669e33c1]{position:absolute;inset:0;width:100%;height:100%;border:2px solid rgba(255,255,255,.1);border-radius:50%;border-top-color:#ffffffe6;animation:spin-669e33c1 1s cubic-bezier(.4,0,.2,1) infinite}.loading-spinner[data-v-669e33c1]:before{content:"";position:absolute;inset:-6px;border:2px solid transparent;border-radius:50%;border-top-color:#fff3;animation:spin-669e33c1 2s linear infinite}.loading-text[data-v-669e33c1]{font-size:1.1rem;font-weight:500;color:#ffffffe6;margin:0}.loading-subtext[data-v-669e33c1]{font-size:.9rem;color:#fff9;margin:0}@keyframes spin-669e33c1{to{transform:rotate(360deg)}}
