:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);color:#fff;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;padding:3rem 2rem}.header{text-align:center;margin-bottom:4rem}.route-badge{display:inline-block;background:#ee352e;color:#fff;width:80px;height:80px;border-radius:50%;font-size:3rem;font-weight:700;line-height:80px;margin-bottom:1.5rem;box-shadow:0 4px 12px #ee352e66}.header h1{font-size:3.5rem;font-weight:600;margin-bottom:.5rem;letter-spacing:-.02em}.direction{font-size:1.5rem;color:#aaa;font-weight:400}.arrivals-container{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:900px;width:100%;margin:0 auto}.arrivals-list{display:flex;flex-direction:column;gap:2rem}.arrival-item{background:#ffffff0d;border-radius:20px;padding:2.5rem 3rem;display:flex;align-items:center;gap:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:transform .2s ease,background .2s ease}.arrival-item:hover{background:#ffffff14;transform:translateY(-2px)}.train-number{font-size:2rem;font-weight:700;color:#ee352e;width:60px;height:60px;border-radius:50%;background:#ee352e26;display:flex;align-items:center;justify-content:center;flex-shrink:0}.arrival-time{display:flex;align-items:baseline;gap:2rem;flex:1}.minutes{font-size:4rem;font-weight:700;color:#fff;line-height:1}.timestamp{font-size:1.8rem;color:#888;font-weight:400}.loading,.error,.no-trains{text-align:center;font-size:2rem;color:#888;padding:4rem 2rem}.error{color:#ff6b6b}.error-detail{font-size:1.2rem;margin-top:1rem;color:#ff8787}.footer{text-align:center;margin-top:4rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}.last-updated{font-size:1.2rem;color:#666;font-weight:400}@media(min-width:768px)and (max-width:1024px)and (orientation:landscape){.app{padding:2rem 4rem}.header h1{font-size:4rem}.minutes{font-size:5rem}}@media(min-width:768px)and (max-width:1024px)and (orientation:portrait){.app{padding:3rem 2rem}.arrival-item{padding:3rem}}.app{-webkit-user-select:none;user-select:none}.arrival-item{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
