.trams-live{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:var(--space-4);align-items:start}.trams-map{height:min(68vh,640px);border-radius:14px;overflow:hidden;box-shadow:0 0 0 1px var(--border)}.trams-card{display:flex;flex-direction:column;gap:10px;max-height:min(68vh,640px);overflow-y:auto}.trams-card__name{font-size:1.25rem;margin:0}.trams-card__stats{margin:4px 0}.trams-status--operating{background:#3ddc8426;color:#3ddc84}.trams-status--closed{background:var(--bg-sunken);color:var(--text-muted)}.trams-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.trams-lines li{display:flex;align-items:center;gap:10px;font-size:.88rem}.trams-line{flex:none;min-width:30px;height:24px;padding:0 6px;border-radius:6px;display:inline-grid;place-items:center;color:#fff;font:700 .8rem var(--font-mono);text-shadow:0 1px 1px rgba(0,0,0,.4)}.trams-lines__route{flex:1;min-width:0}.trams-wiki{font-size:.88rem}.trams-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;text-transform:capitalize}.trams-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}.trams-dot--operating{background:#3ddc84}.trams-dot--closed{background:#4a4f5c}.trams-dot--unknown{background:#7f8aa3}.trams-records{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-3)}.trams-rank{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.trams-rank li{padding-left:4px}.trams-rank li>*{vertical-align:middle}.trams-rank li{display:list-item}.trams-rank li .subtle{float:right}.trams-rank__name{border:0;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left}.trams-rank__name:hover{color:var(--accent);text-decoration:underline}@media(max-width:900px){.trams-live{grid-template-columns:1fr}.trams-map{height:52vh}.trams-card{max-height:none}}.trams-linebtn{display:flex;align-items:center;gap:10px;width:100%;padding:3px 4px;border:0;border-radius:8px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.trams-linebtn:hover{background:var(--bg-hover)}.trams-linebtn.is-on{background:var(--accent-soft)}.trams-popup .maplibregl-popup-content{background:#16181b;color:#f0efe9;border-radius:10px;padding:8px 12px;font-size:.85rem;box-shadow:0 8px 24px #00000080}.trams-popup .maplibregl-popup-tip{border-top-color:#16181b;border-bottom-color:#16181b}
