@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-latin-ext-800-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--g:#16A34A;--gl:#3DDC3D;--gd:#0E3B22;--gm:#0F5132;--r:#E3262E;--rd:#A3161C;--rl:#FDECEC;--tx:#13201A;--mu:#6B7A71;--ln:#E3E9E5;--am:#FFF4D6;--amd:#8A5A00;--gt:#E3F6E8}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit}
.hide{display:none!important}
/* Splash */
#splash{position:fixed;inset:0;background:#fff;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s}
#splash.out{opacity:0;pointer-events:none}
#slg{position:relative;width:min(220px,60vw);aspect-ratio:1;opacity:0;transform:scale(.85)}
#slg>img{width:100%;height:100%;display:block}
#splash.go #slg{animation:sIn .6s ease-out forwards}
#splash .lid{position:absolute;clip-path:inset(0 0 0 0)}
#splash.go .lid{animation:sBk 2.6s .7s forwards}
#ssub{color:#3B6D11;font-size:13px;font-weight:600;opacity:0;margin-top:10px;letter-spacing:.02em;font-family:Inter,system-ui,sans-serif}
#splash.go #ssub{animation:sFd .5s 1.2s forwards}
@keyframes sIn{to{opacity:1;transform:none}}
@keyframes sFd{to{opacity:1}}
@keyframes sBk{0%{clip-path:inset(0 0 0 0)}12%{clip-path:inset(0 0 100% 0)}48%{clip-path:inset(0 0 100% 0)}53%{clip-path:inset(0 0 0 0)}58%{clip-path:inset(0 0 100% 0)}70%{clip-path:inset(0 0 100% 0)}75%{clip-path:inset(0 0 0 0)}80%{clip-path:inset(0 0 100% 0)}100%{clip-path:inset(0 0 100% 0)}}
/* Update-Hinweis */
#updbar{display:flex;align-items:center;gap:10px;background:#16A34A;color:#fff;padding:9px 14px;font:600 13px Inter,sans-serif;position:relative;z-index:6}
#updbar b{display:block;font-size:14px}#updbar button{margin-left:auto;border:0;border-radius:12px;background:#fff;color:#0E3B22;font:800 13px Inter,sans-serif;padding:9px 14px;cursor:pointer;white-space:nowrap}
#updov{position:fixed;inset:0;z-index:300;background:rgba(10,30,18,.55);display:flex;align-items:center;justify-content:center;padding:20px}
#updov .bx{background:#fff;border-radius:22px;padding:22px;max-width:420px;width:100%;box-shadow:0 20px 50px rgba(0,0,0,.3);font-family:Inter,sans-serif;color:#13261B;max-height:90vh;overflow:auto}
#updov li{margin:6px 0}
.updspin{width:38px;height:38px;border-radius:50%;border:4px solid #DDE5DF;border-top-color:#16A34A;animation:updr .8s linear infinite;margin:6px auto 14px}@keyframes updr{to{transform:rotate(360deg)}}
/* Testdatum-Hinweis */
#testbar{position:fixed;left:50%;top:0;transform:translateX(-50%);z-index:400;background:#7A3E9D;color:#fff;font:700 11px Inter,sans-serif;padding:3px 10px;border-radius:0 0 8px 8px;pointer-events:none}
/* Original-Dienstplanblatt */
.dps{border-collapse:collapse;table-layout:fixed;background:#fff;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:13.3px;line-height:1.1}
.dps td{padding:0 3px;white-space:nowrap;overflow:visible;vertical-align:bottom;box-sizing:border-box}
.dpsthumb{width:62px;height:84px;overflow:hidden;border-radius:8px;border:1px solid #DDE5DF;flex:none;background:#fff;pointer-events:none}
/* Leaflet-Marker */
.busm{background:var(--gd);color:#fff;border:2px solid #fff;border-radius:10px;font:800 13px Inter,sans-serif;padding:3px 7px;box-shadow:0 3px 10px rgba(0,0,0,.35);white-space:nowrap;display:inline-block}
.busm.me{background:var(--r)}
.stopm{width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid var(--gd);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.stopm.x{border-color:var(--r)}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#16A34A;margin-right:5px;animation:lv2 1.4s infinite}@keyframes lv2{50%{opacity:.3}}
