:root{--bg:#0f1115;--card:#1a1d24;--fg:#e6e8eb;--muted:#9aa0aa;--accent:#e2001a;--ok:#2ecc71;--track:#2a2e37;--driven:#2ecc711f;--driven-border:#2ecc718c;--layout-max:2200px;--layout-pad:24px}*{box-sizing:border-box}[hidden]{display:none}html{overflow-x:hidden}body{background:var(--bg);max-width:100%;color:var(--fg);margin:0;font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;overflow-x:hidden}.section{background:var(--card);border:1px solid #262a33;border-radius:12px;margin:16px 0;padding:16px 18px}.section h2{margin:0 0 4px;font-size:18px}.range{color:var(--muted);font-size:13px}.count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}.nav-link{color:var(--accent);white-space:nowrap;font-weight:600;text-decoration:none}.nav-link:hover{text-decoration:underline}.item{font-variant-numeric:tabular-nums;border-radius:6px;align-items:center;gap:7px;min-width:0;padding:3px 6px;display:flex;position:relative}.item.on{background:var(--driven)}.item.off{opacity:.5}.item.rainbow{background:linear-gradient(90deg,#e403031f,#ff8c001f,#ffed001f,#0080261f,#004dff1f,#7507871f);border-radius:6px}.item.rainbow.off{opacity:.7}.item.rainbow .tznum{color:#fff}.item.rainbow .tznum:after{content:" 🏳️‍🌈"}.txt{flex-direction:column;min-width:0;line-height:1.2;display:flex}.tznum{white-space:nowrap}.name{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}main:has(#mapwrap){align-self:stretch;width:100%;max-width:none;margin:0;padding:0}#mapwrap{width:100%;min-height:300px;max-width:var(--layout-max);padding:0 var(--layout-pad);flex:1;margin:14px auto 20px;position:relative}#map{inset:0 var(--layout-pad);background:#0c0e13;border:1px solid #262a33;border-radius:12px;position:absolute;overflow:hidden}#routelist{top:10px;left:calc(var(--layout-pad) + 10px);z-index:5;width:max-content;min-width:240px;max-width:min(440px, calc(100% - 2 * var(--layout-pad) - 20px));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c0e13eb;border:1px solid #33384a;border-radius:10px;flex-direction:column;max-height:calc(100% - 20px);font-size:12px;display:flex;position:absolute;box-shadow:0 8px 24px #00000080}#routelist[hidden]{display:none}.rl-head{color:#e6e8eb;border-bottom:1px solid #262a33;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:600;display:flex}#rl-reset{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:1px solid #3a2a2e;border-radius:6px;padding:2px 8px;font-size:11px}#rl-reset:hover{border-color:var(--accent)}#rl-items{margin:0;padding:4px;overflow-y:auto}.rl-list{margin:0;padding:0;list-style:none}.rl-accordion{background:0 0!important;margin:6px 0 0!important}.rl-accordion:before{display:none!important}.rl-section-head{border-left:3px solid var(--accent);color:#e6e8eb;border-radius:6px;font-size:13px;font-weight:700;background:#191c23!important;padding:5px 8px!important}.rl-section-head:hover{background:#21252e!important}.rl-subaccordion{background:0 0!important;margin:5px 0 0!important}.rl-subaccordion:before{display:none!important}.rl-subsection-head{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:11px;font-weight:600;min-height:0!important;margin:0!important;padding:0 8px 0 12px!important}.rl-subsection-head:hover{color:#e6e8eb}.rl-tz-group{flex-direction:column;margin-top:3px;display:flex}.rl-tz-label{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-size:10px;font-weight:600}.rl-tzs{flex-wrap:wrap;gap:3px;margin-top:2px;display:flex}.rl-tz{color:#c4c9d1;font-variant-numeric:tabular-nums;background:#22262f;border:1px solid #313742;border-radius:4px;padding:0 5px;font-size:10px}.rl-item{cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.rl-item:hover{background:#1a1d24}.rl-item.active{background:#e2001a24;outline:1px solid #3a2a2e}.rl-swatch{border:1px solid #0c0e13;border-radius:3px;flex:none;width:12px;height:12px;margin-top:3px}.rl-text{flex-direction:column;flex:1;min-width:0;display:flex}.rl-route{color:#e6e8eb;flex-wrap:wrap;align-items:center;gap:4px 6px;line-height:1.3;display:flex}.rl-stop{overflow-wrap:anywhere}.rl-arrow{color:var(--muted);flex:none}.rl-meta{color:var(--muted);margin-top:2px;font-size:11px}body.karte .maplibregl-popup-content{color:var(--fg);background:#0c0e13;border:1px solid #33384a;border-radius:8px;max-height:240px;padding:8px 10px;font:13px/1.4 system-ui,sans-serif;overflow-y:auto;box-shadow:0 8px 24px #00000080}body.karte .maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#33384a}body.karte .maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#33384a}body.karte .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#33384a}body.karte .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#33384a}body.karte .maplibregl-popup-close-button{color:var(--muted)}.pop-no{color:var(--accent);font-weight:600}.pop-date{color:#c7ccd6}.pop-route{color:#e6e8eb;margin-bottom:2px;font-weight:600}.pop-count{color:var(--muted);border-bottom:1px solid #262a33;margin-bottom:5px;padding-bottom:4px;font-size:11px}.pop-row{padding:2px 0}body.karte.rainbow header{background:linear-gradient(90deg,#e403031f,#ff8c001f,#ffed001f,#0080261f,#004dff1f,#7507871f)}body.rainbow #title{color:#fff}body.rainbow #title:after{content:" 🏳️‍🌈"}
