:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.card{padding:2em}#app{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--color-bg: #181A1B;--color-surface: #1F2224;--color-surface-raised: #272B2D;--color-border: #2E3336;--color-text: #EDE8DC;--color-text-dim: #7A7D78;--color-accent: #F5A623;--color-green: #48C774;--color-danger: #FF4B55;--font-display: "Bebas Neue", "Impact", "Haettenschweiler", sans-serif;--font-mono: "DM Mono", "Courier New", monospace;--font-roboto: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-sf-text: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-sf-mono: "SF Mono", ui-monospace, "Cascadia Mono", "Segoe UI Mono", "Ubuntu Mono", monospace;--radius-card: 6px;--app-max-width: 430px}*{box-sizing:border-box}body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-mono);display:flex;justify-content:center;min-height:100vh;-webkit-font-smoothing:antialiased}#app{width:100%;max-width:var(--app-max-width);min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}h1,h2,h3,h4,h5,h6,p{margin:0}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:slideUp .35s ease-out both}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.dashboard[data-v-0a50bc7b]{display:flex;flex-direction:column}.stop-header[data-v-0a50bc7b]{display:flex;flex-direction:column;gap:.3rem;padding:1rem 1.25rem;border-bottom:1px solid var(--color-border)}.header-primary[data-v-0a50bc7b]{display:flex;justify-content:space-between;align-items:center}.primary-left[data-v-0a50bc7b]{display:flex;justify-content:flex-start;align-items:baseline;gap:.75rem;min-width:0}.stop-description[data-v-0a50bc7b]{font-family:var(--font-display);font-size:1.75rem;line-height:1;color:var(--color-text);letter-spacing:.05em;text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-description.interactive[data-v-0a50bc7b]{cursor:pointer;transition:opacity .15s,color .15s}.stop-description.interactive[data-v-0a50bc7b]:hover{opacity:.8;color:var(--color-accent)}.schedule-icon[data-v-0a50bc7b]{flex-shrink:0;align-self:center;margin-top:-2px}.refresh-age[data-v-0a50bc7b]{display:flex;align-items:center;gap:.3rem;white-space:nowrap;flex-shrink:0}.header-secondary[data-v-0a50bc7b]{display:flex;justify-content:space-between;align-items:center;font-family:Avenir Next,Avenir,Segoe UI,Trebuchet MS,Helvetica Neue,sans-serif;font-size:.85rem;letter-spacing:.03em;color:var(--color-text-dim)}.road-name-container[data-v-0a50bc7b]{display:flex;align-items:center;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.road-name[data-v-0a50bc7b]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.divider[data-v-0a50bc7b]{margin:0 .5rem;opacity:.8}.header-icons[data-v-0a50bc7b]{display:flex;align-items:center;gap:.1rem}.icon-btn[data-v-0a50bc7b]{background:none;border:none;color:var(--color-text-dim);cursor:pointer;padding:.3rem;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.icon-btn[data-v-0a50bc7b]:hover{color:var(--color-accent);background:#f5a6231a}.refresh-dot[data-v-0a50bc7b]{width:6px;height:6px;border-radius:50%;background:var(--color-green);box-shadow:0 0 4px var(--color-green);transition:background .3s,box-shadow .3s;flex-shrink:0}.refresh-dot.pulsing[data-v-0a50bc7b]{background:var(--color-accent);box-shadow:0 0 6px var(--color-accent);animation:blink-0a50bc7b .8s ease-in-out infinite}@keyframes blink-0a50bc7b{0%,to{opacity:1}50%{opacity:.2}}.error-row[data-v-0a50bc7b]{padding:.75rem 1.25rem;font-size:.75rem;color:var(--color-danger);border-bottom:1px solid var(--color-border);letter-spacing:.05em}.empty[data-v-0a50bc7b]{padding:3rem 1.25rem;color:var(--color-text-dim);font-size:.8rem;line-height:1.6;text-align:center}.bus-board[data-v-0a50bc7b]{display:flex;flex-direction:column}.bus-row[data-v-0a50bc7b]{display:grid;grid-template-columns:3.5rem 1fr auto;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;border-bottom:1px solid var(--color-border);animation:slideUp-0a50bc7b .35s ease-out both;transition:background .15s}.bus-row[data-v-0a50bc7b]:active{background:var(--color-surface)}.bus-row.arriving[data-v-0a50bc7b]{background:#48c7740d}.bus-row.soon[data-v-0a50bc7b]{background:#f5a6230a}.svc-group[data-v-0a50bc7b]{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.svc[data-v-0a50bc7b]{font-family:var(--font-roboto);font-weight:800;font-variant-numeric:tabular-nums;font-size:2rem;line-height:1;color:var(--color-text);letter-spacing:.04em}.countdown-group[data-v-0a50bc7b]{display:flex;flex-direction:row;align-items:center;gap:.75rem;min-width:0}.bus-meta[data-v-0a50bc7b]{display:flex;align-items:center;opacity:.9}.bus-meta-icon[data-v-0a50bc7b]{display:flex;align-items:center;justify-content:center}.countdown[data-v-0a50bc7b]{display:flex;align-items:baseline;gap:1px}.cnt-mins[data-v-0a50bc7b]{font-family:var(--font-roboto);font-weight:900;font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:1;color:var(--color-text);letter-spacing:.02em}.cnt-secs[data-v-0a50bc7b]{font-family:var(--font-roboto);font-weight:900;font-variant-numeric:tabular-nums;font-size:2.5rem;line-height:1;color:var(--color-text-dim);letter-spacing:.02em}.cnt-unit[data-v-0a50bc7b]{font-size:.75rem;color:var(--color-text-dim);font-family:var(--font-mono);margin-right:.25rem;margin-bottom:.2rem;letter-spacing:.05em}.arriving-wrapper[data-v-0a50bc7b]{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.arriving-text[data-v-0a50bc7b]{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.08em;color:var(--color-green);animation:blink-0a50bc7b 2s ease-in-out infinite;line-height:1}.arriving-sub[data-v-0a50bc7b]{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;color:var(--color-green);opacity:.6;line-height:1}.next-buses[data-v-0a50bc7b]{font-size:.7rem;color:var(--color-text-dim);font-family:var(--font-mono);letter-spacing:.05em;text-align:right;line-height:1.3}.popup-backdrop[data-v-0a50bc7b]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.popup[data-v-0a50bc7b]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem 1.25rem 2rem;width:100%;max-width:430px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 -8px 24px #00000026}.popup-title[data-v-0a50bc7b]{font-size:.65rem;letter-spacing:.2em;color:var(--color-accent);font-weight:600}.popup-input-wrapper[data-v-0a50bc7b]{display:flex;gap:.5rem}.popup-input[data-v-0a50bc7b]{flex:1;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text, #333);font-family:var(--font-mono, monospace);font-size:1.1rem;letter-spacing:.05em;padding:.85rem 1rem;border-radius:8px;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.nearby-btn-inline[data-v-0a50bc7b]{background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text-dim, #666);padding:0 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.nearby-btn-inline[data-v-0a50bc7b]:hover{background:#f5a6231a;border-color:var(--color-accent);color:var(--color-accent)}.nearby-loading-inline[data-v-0a50bc7b]{display:flex;align-items:center;justify-content:center;padding:0 1rem;color:var(--color-text-dim, #888)}@keyframes spin-0a50bc7b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin[data-v-0a50bc7b]{animation:spin-0a50bc7b 1s linear infinite}.nearby-error[data-v-0a50bc7b]{text-align:center;font-family:var(--font-mono, monospace);font-size:.8rem;color:var(--color-danger, #FF4B55)}.popup-input[data-v-0a50bc7b]:focus{border-color:var(--color-accent)}.popup-input[data-v-0a50bc7b]::placeholder{color:var(--color-text-dim, #888);font-size:1.1rem;font-family:var(--font-mono, monospace);letter-spacing:.05em}.stop-list[data-v-0a50bc7b]{display:flex;flex-direction:column;gap:.5rem;max-height:35vh;overflow-y:auto;border-radius:8px}.stop-list-empty[data-v-0a50bc7b]{padding:1rem;text-align:center;color:var(--color-text-dim);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em}.stop-list-item[data-v-0a50bc7b]{display:flex;align-items:center;gap:1rem;width:100%;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #eee);padding:.8rem 1rem;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.stop-list-item[data-v-0a50bc7b]:hover{border-color:var(--color-accent);background:#f5a6230d}.stop-list-item[data-v-0a50bc7b]:active{background:var(--color-border, #ddd)}.stop-list-id[data-v-0a50bc7b]{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent);min-width:3.5rem}.stop-list-info[data-v-0a50bc7b]{display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.nearby-section[data-v-0a50bc7b]{display:flex;flex-direction:column;gap:.5rem}.stop-list-desc[data-v-0a50bc7b]{font-family:var(--font-mono, monospace);font-size:.85rem;letter-spacing:.05em;color:var(--color-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-list-road[data-v-0a50bc7b]{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--color-text-dim);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-list-buses[data-v-0a50bc7b]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.bus-badge[data-v-0a50bc7b]{background-color:#5cc737;color:#000;font-family:var(--font-roboto);font-weight:800;font-variant-numeric:tabular-nums;font-size:.8rem;padding:2px 6px;border-radius:6px}.popup-actions[data-v-0a50bc7b]{display:flex;gap:.75rem}.popup-cancel[data-v-0a50bc7b]{flex:1;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text-dim, #666);font-family:var(--font-mono, monospace);font-size:.8rem;letter-spacing:.1em;padding:.85rem;border-radius:8px;cursor:pointer;transition:background .15s}.popup-cancel[data-v-0a50bc7b]:hover{background:var(--color-border, #eee)}.popup-enter-active[data-v-0a50bc7b]{transition:all .25s cubic-bezier(.32,.72,0,1)}.popup-leave-active[data-v-0a50bc7b]{transition:all .2s ease-in}.popup-enter-from[data-v-0a50bc7b],.popup-leave-to[data-v-0a50bc7b]{opacity:0}.popup-enter-from .popup[data-v-0a50bc7b],.popup-leave-to .popup[data-v-0a50bc7b]{transform:translateY(100%)}@keyframes slideUp-0a50bc7b{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings[data-v-e0a52d64]{display:flex;flex-direction:column}.section-header[data-v-e0a52d64]{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:.4rem}.back-btn[data-v-e0a52d64]{background:none;border:none;color:var(--color-accent);font-family:var(--font-mono);font-size:.65rem;font-weight:600;letter-spacing:.15em;cursor:pointer;padding:0;display:flex;align-items:center;gap:.4rem;transition:opacity .15s}.back-btn[data-v-e0a52d64]:hover{opacity:.7}.section-title[data-v-e0a52d64]{display:block;font-size:.65rem;letter-spacing:.2em;color:var(--color-accent);font-weight:600;margin-bottom:.25rem}.section-sub[data-v-e0a52d64]{font-size:.75rem;color:var(--color-text-dim);letter-spacing:.03em;line-height:1.4}.config-block[data-v-e0a52d64]{border-bottom:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.block-label[data-v-e0a52d64]{font-size:.65rem;letter-spacing:.15em;color:var(--color-text-dim);font-weight:600;margin-bottom:-.25rem}.field-row[data-v-e0a52d64]{display:flex;flex-direction:column;gap:.4rem}.field-row>label[data-v-e0a52d64]{font-size:.6rem;letter-spacing:.15em;color:var(--color-text-dim);font-weight:600}.time-pair[data-v-e0a52d64]{display:flex;align-items:center;gap:.5rem}.sep[data-v-e0a52d64]{color:var(--color-text-dim);font-size:.9rem}input[type=text][data-v-e0a52d64],input[type=time][data-v-e0a52d64]{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:var(--font-mono);font-size:.9rem;letter-spacing:.05em;padding:.65rem .75rem;border-radius:var(--radius-card);outline:none;transition:border-color .15s;width:100%}input[type=time][data-v-e0a52d64]{flex:1}input[data-v-e0a52d64]:focus{border-color:var(--color-accent)}input[data-v-e0a52d64]::placeholder{color:var(--color-text-dim)}.stop-select-btn[data-v-e0a52d64]{background:var(--color-surface);border:1px solid var(--color-border);padding:.85rem 1rem;border-radius:var(--radius-card);cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:border-color .15s,background .15s;width:100%;text-align:left}.stop-select-btn[data-v-e0a52d64]:hover{border-color:var(--color-accent);background:#f5a6230d}.selected-id[data-v-e0a52d64]{font-family:var(--font-display);font-size:1.2rem;color:var(--color-accent);line-height:1}.selected-desc[data-v-e0a52d64]{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-placeholder[data-v-e0a52d64]{font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-dim);letter-spacing:.05em}.save-toast[data-v-e0a52d64]{margin:1.25rem;border:1px solid var(--color-green);color:var(--color-green);font-size:.7rem;letter-spacing:.2em;padding:.65rem;border-radius:var(--radius-card);text-align:center;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s}.save-toast.visible[data-v-e0a52d64]{opacity:1;transform:translateY(0)}.popup-backdrop[data-v-e0a52d64]{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.popup[data-v-e0a52d64]{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem 1.25rem 2rem;width:100%;max-width:430px;display:flex;flex-direction:column;gap:1rem;box-shadow:0 -8px 24px #00000026}.popup-title[data-v-e0a52d64]{font-size:.65rem;letter-spacing:.2em;color:var(--color-accent);font-weight:600}.popup-input-wrapper[data-v-e0a52d64]{display:flex;gap:.5rem}.popup-input[data-v-e0a52d64]{flex:1;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text, #333);font-family:var(--font-mono, monospace);font-size:1.1rem;letter-spacing:.05em;padding:.85rem 1rem;border-radius:8px;outline:none;width:100%;box-sizing:border-box;transition:border-color .15s}.nearby-btn-inline[data-v-e0a52d64]{background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text-dim, #666);padding:0 1rem;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.nearby-btn-inline[data-v-e0a52d64]:hover{background:#f5a6231a;border-color:var(--color-accent);color:var(--color-accent)}.nearby-loading-inline[data-v-e0a52d64]{display:flex;align-items:center;justify-content:center;padding:0 1rem;color:var(--color-text-dim, #888)}@keyframes spin-e0a52d64{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin[data-v-e0a52d64]{animation:spin-e0a52d64 1s linear infinite}.nearby-error[data-v-e0a52d64]{text-align:center;font-family:var(--font-mono, monospace);font-size:.8rem;color:var(--color-danger, #FF4B55)}.popup-input[data-v-e0a52d64]:focus{border-color:var(--color-accent)}.popup-input[data-v-e0a52d64]::placeholder{color:var(--color-text-dim, #888);font-size:1.1rem;font-family:var(--font-mono, monospace);letter-spacing:.05em}.stop-list[data-v-e0a52d64]{display:flex;flex-direction:column;gap:.5rem;max-height:35vh;overflow-y:auto;border-radius:8px}.stop-list-empty[data-v-e0a52d64]{padding:1rem;text-align:center;color:var(--color-text-dim);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.05em}.stop-list-item[data-v-e0a52d64]{display:flex;align-items:center;gap:1rem;width:100%;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #eee);padding:.8rem 1rem;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s;text-align:left}.stop-list-item[data-v-e0a52d64]:hover{border-color:var(--color-accent);background:#f5a6230d}.stop-list-item[data-v-e0a52d64]:active{background:var(--color-border, #ddd)}.stop-list-id[data-v-e0a52d64]{font-family:var(--font-display);font-size:1.5rem;color:var(--color-accent);min-width:3.5rem}.stop-list-info[data-v-e0a52d64]{display:flex;flex-direction:column;gap:.2rem;overflow:hidden}.nearby-section[data-v-e0a52d64]{display:flex;flex-direction:column;gap:.5rem}.stop-list-desc[data-v-e0a52d64]{font-family:var(--font-mono, monospace);font-size:.85rem;letter-spacing:.05em;color:var(--color-text, #333);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-list-road[data-v-e0a52d64]{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--color-text-dim, #888);letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stop-list-buses[data-v-e0a52d64]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.bus-badge[data-v-e0a52d64]{background-color:#5cc737;color:#000;font-family:var(--font-roboto);font-weight:800;font-variant-numeric:tabular-nums;font-size:.8rem;padding:2px 6px;border-radius:6px}.popup-actions[data-v-e0a52d64]{display:flex;gap:.75rem}.popup-cancel[data-v-e0a52d64]{flex:1;background:var(--color-surface, #f9f9f9);border:1px solid var(--color-border, #ccc);color:var(--color-text-dim, #666);font-family:var(--font-mono, monospace);font-size:.8rem;letter-spacing:.1em;padding:.85rem;border-radius:8px;cursor:pointer;transition:background .15s}.popup-cancel[data-v-e0a52d64]:hover{background:var(--color-border, #eee)}.popup-enter-active[data-v-e0a52d64]{transition:all .25s cubic-bezier(.32,.72,0,1)}.popup-leave-active[data-v-e0a52d64]{transition:all .2s ease-in}.popup-enter-from[data-v-e0a52d64],.popup-leave-to[data-v-e0a52d64]{opacity:0}.popup-enter-from .popup[data-v-e0a52d64],.popup-leave-to .popup[data-v-e0a52d64]{transform:translateY(100%)}.app-shell[data-v-68d4cefa]{display:flex;flex-direction:column;min-height:100vh}.app-main[data-v-68d4cefa]{flex:1;overflow-y:auto}
