:root{--bg: #0a0a0f;--surface: #16161f;--surface-hover: #1e1e2a;--border: #2a2a3a;--text: #e8e8ed;--text-dim: #8888a0;--accent: #006BD6;--accent-glow: rgba(0, 107, 214, .15);--success: #00B427;--warning: #FFBB00;--error: #D20000;--radius: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh}.container{max-width:480px;margin:0 auto;padding:16px 16px 100px}.header{display:flex;align-items:center;gap:12px;padding:20px 0 12px;text-align:center}.header:not(:has(.back-btn)){justify-content:center;flex-direction:column;gap:0}.header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.back-btn{background:var(--border);color:var(--text);border:none;width:40px;height:40px;border-radius:10px;font-size:1.2rem;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.back-btn:active{background:var(--accent)}.subtitle{color:var(--text-dim);font-size:.9rem;margin-top:2px}.picker{display:flex;flex-direction:column;gap:12px;margin-top:24px}.picker-btn{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:20px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.picker-btn:active{background:var(--accent-glow);border-color:var(--accent)}.line-badge{background:var(--accent);color:#fff;font-weight:700;font-size:.85rem;padding:3px 10px;border-radius:6px;white-space:nowrap}.line-badge.small{font-size:.75rem;padding:2px 8px}.delay-tag{font-size:.7rem;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.delay-ok{background:#00b42726;color:var(--success)}.delay-late{background:#d2000026;color:#ff6b6b}.delay-early{background:#006bd626;color:var(--accent)}.departure-list{list-style:none}.dep-left{display:flex;align-items:center;gap:10px}.departure-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:8px;transition:background .15s}.departure-item:hover{background:var(--surface-hover)}.departure-item.next{background:var(--accent-glow);border:1px solid rgba(0,107,214,.3)}.departure-item.next .dep-time{font-size:1.3rem;font-weight:700}.departure-item.next .dep-away{font-size:1.1rem;font-weight:600;color:var(--accent)}.dep-time{font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.dep-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.dep-dest{color:var(--text-dim);font-size:.65rem;text-transform:lowercase;letter-spacing:.02em}.dep-dest:first-letter{text-transform:uppercase}.dep-away{color:var(--text-dim);font-size:.9rem;font-variant-numeric:tabular-nums}.no-departures{color:var(--text-dim);font-size:.85rem;font-style:italic;padding:8px 0}.footer{position:fixed;bottom:0;left:0;right:0;background:var(--surface);border-top:1px solid var(--border);padding:8px 16px;font-size:.75rem;color:var(--text-dim)}.footer-top{text-align:center;padding-bottom:6px}.schedule-info{font-size:.7rem;letter-spacing:.03em}.footer-bottom{display:flex;justify-content:space-between;align-items:center}.refresh-btn{background:var(--border);color:var(--text);border:none;padding:6px 14px;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s}.refresh-btn:active{background:var(--accent)}.loading{text-align:center;padding:60px 0;color:var(--text-dim);font-size:1rem}.error-banner{background:#d2000026;border:1px solid rgba(210,0,0,.3);color:#ff6b6b;padding:10px 14px;border-radius:var(--radius);font-size:.85rem;margin-bottom:16px;text-align:center}
