:root{--bg:#14151a;--card:#1d1f27;--border:#2c2f3a;--text:#e8e8ee;--muted:#9a9cab;--accent:#f5a623;--ok:#34d399;--bad:#f87171}*{box-sizing:border-box}body{background:radial-gradient(1200px 500px at 50% -100px, #2a2230 0%, var(--bg) 60%) fixed;color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.page{max-width:960px;margin:0 auto;padding:0 16px 40px}.hero{text-align:center;padding:48px 0 24px}.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:.8rem}h1{margin:6px 0;font-size:clamp(1.8rem,5vw,2.8rem)}.sub{color:var(--muted);margin:0}main{gap:20px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px}h2{margin:0 0 14px;font-size:1.25rem}h3{margin:12px 0 4px;font-size:1rem}.muted,.hint{color:var(--muted);font-size:.9rem}.hint{margin:10px 0 0}code{background:#0f1015;border-radius:6px;padding:2px 6px}.badge{background:#2a2d38;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-weight:600;display:inline-flex}.badge .dot{background:var(--muted);border-radius:50%;width:10px;height:10px}.badge.online{color:var(--ok);background:#34d3991f}.badge.online .dot{background:var(--ok);box-shadow:0 0 10px var(--ok);animation:2s infinite pulse}.badge.offline{color:var(--bad);background:#f871711f}.badge.offline .dot{background:var(--bad)}.demo{color:var(--accent);margin-left:10px;font-size:.8rem}@keyframes pulse{50%{opacity:.4}}.address-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;display:flex}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.address{color:var(--accent);background:0 0;padding:0;font-size:clamp(1.3rem,4vw,1.9rem)}.btn{background:var(--accent);color:#1a1205;cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-weight:700}.btn:hover{filter:brightness(1.1)}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.stat{border:1px solid var(--border);background:#171820;border-radius:12px;padding:14px}.stat .value{font-size:1.4rem;font-weight:700}.substat{color:var(--muted);font-size:.85rem}.progress{grid-template-columns:repeat(9,1fr);gap:4px;margin-top:18px;display:grid}.progress span{background:#2a2d38;border-radius:4px;height:10px}.progress span.filled{background:var(--accent)}.lines{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.line{border:1px solid var(--border);border-top:4px solid var(--line);background:#171820;border-radius:12px;padding:14px 16px}.line h3{margin:0 0 6px}.chip{color:var(--muted);background:#2a2d38;border-radius:999px;margin:0 6px 6px 0;padding:2px 10px;font-size:.78rem;display:inline-block}.stops{border-left:3px solid var(--line);margin:10px 0 0;padding:0 0 0 18px;list-style:none}.stops li{justify-content:space-between;gap:10px;padding:6px 0;display:flex;position:relative}.stops li:before{content:"";background:var(--card);border:3px solid var(--line);border-radius:50%;width:11px;height:11px;position:absolute;top:12px;left:-26px}.time{color:var(--muted);font-variant-numeric:tabular-nums}.info-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.info-grid ul{margin:0;padding-left:18px}footer{text-align:center;color:var(--muted);margin-top:32px;font-size:.85rem}.chip.status{color:var(--ok);background:#34d3991f}.stops li.current .station{color:var(--line);font-weight:700}.stops li.current:before{background:var(--line)}
