:root{--bg:#ecebe7;--glass:#fcfcfad1;--solid:#fcfcfa;--text:#141414;--text-2:#6e6d69;--text-3:#a3a29d;--line:#14141414;--hover:#1414140b;--sel-bg:#141414;--sel-fg:#fcfcfa;--red:#c4352b;--amber:#a86410;--shadow:0 1px 2px #0000000f, 0 12px 32px -8px #0000002e;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Helvetica Neue", Arial, sans-serif;--font-round:ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;--pin:#2b2b29;--pin-fg:#fcfcfa;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#161616;--glass:#1e1e1ec7;--solid:#1e1e1e;--text:#f2f2ef;--text-2:#a19f99;--text-3:#6b6a66;--line:#ffffff14;--hover:#ffffff0d;--sel-bg:#f2f2ef;--sel-fg:#141414;--red:#ff6b5e;--amber:#f0a73a;--shadow:0 1px 2px #0006, 0 16px 40px -8px #0009;--pin:#f2f2ef;--pin-fg:#161616;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:14px/1.45 var(--font);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-underline-offset:3px}.app{height:100dvh;position:relative;overflow:hidden}:where(.app button){background:0 0;border:0;padding:0}#map{background:var(--bg);position:absolute;inset:0}.empty{text-align:center;color:var(--text-2);padding:32px 20px}.sym{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:15px;height:15px}.map-pin{background:var(--pin);width:22px;height:22px;color:var(--pin-fg);box-shadow:0 0 0 1.5px var(--pin-fg), 0 1px 4px #00000059;cursor:pointer;border-radius:50%;place-items:center;transition:transform .15s;display:grid}.map-pin .sym{stroke-width:1.8px;width:13px;height:13px}.map-pin:hover{transform:scale(1.2)}.map-pin.sel{box-shadow:0 0 0 2px var(--pin-fg), 0 0 0 5px color-mix(in srgb, var(--pin) 25%, transparent), 0 2px 8px #0006;transform:scale(1.4)}.user-dot{background:#378add;border:2px solid #fff;border-radius:50%;width:14px;height:14px;display:block;box-shadow:0 0 0 1px #0003}.glass{background:var(--glass);-webkit-backdrop-filter:blur(24px)saturate(1.6);box-shadow:var(--shadow)}.kicker{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);align-items:center;gap:6px;margin:0;font-size:11px;font-weight:500;display:flex}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:root{--edge:16px;--gap:12px;--pad:10px;--r-box:32px;--r-ctl:22px;--r-row:16px;--tap:44px}.top{z-index:10;top:var(--edge);left:var(--edge);align-items:flex-end;gap:var(--gap);pointer-events:none;flex-direction:column;width:360px;display:flex;position:absolute}.top>*{pointer-events:auto}.bar{padding:var(--pad);border-radius:var(--r-box);align-self:stretch;align-items:center;gap:4px;display:flex}.when{text-align:center;flex:1;min-width:0}.when .kicker{justify-content:center;font-size:10.5px}.when b{font:600 18px/1.3 var(--font-round);letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.tap{width:var(--tap);height:var(--tap);color:var(--text-2);border-radius:50%;flex:none;place-items:center;display:grid}.tap:hover:not(:disabled){background:var(--hover);color:var(--text)}.tap:disabled{opacity:.25;cursor:default}.tap svg,.filt svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.filt{height:var(--tap);border-radius:var(--r-ctl);background:var(--hover);flex:none;align-items:center;gap:8px;padding:0 16px 0 14px;font-size:15px;font-weight:550;display:inline-flex}.filt svg{stroke-width:1.7px;width:18px;height:18px}.filt i{background:var(--sel-bg);min-width:20px;height:20px;color:var(--sel-fg);font:600 12px/20px var(--font);text-align:center;border-radius:10px;padding:0 6px;font-style:normal}.filt[aria-expanded=true]{background:var(--sel-bg);color:var(--sel-fg)}.filt[aria-expanded=true] i{background:var(--sel-fg);color:var(--sel-bg)}.pop{border-radius:var(--r-box);align-self:stretch;gap:20px;padding:20px;display:grid}.pop section{gap:10px;display:grid}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill{height:var(--tap);border-radius:var(--r-ctl);white-space:nowrap;box-shadow:inset 0 0 0 1px var(--line);flex:none;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:500;display:inline-flex}.pill .sym{width:16px;height:16px}.pill:hover:not([aria-pressed=true]){background:var(--hover)}.pill[aria-pressed=true]{background:var(--sel-bg);color:var(--sel-fg);box-shadow:none}.reset{height:var(--tap);color:var(--text-2);justify-self:start;padding:0 4px;font-size:14px;font-weight:550}.locate{width:48px;height:48px;color:var(--text-2);border-radius:50%;place-items:center;display:grid}.locate svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linejoin:round;width:20px;height:20px}.locate:hover{color:var(--text)}.pop~.locate{display:none}.locate[aria-pressed=true]{color:#378add}.locate[aria-pressed=true] svg{fill:currentColor}.locate[aria-busy=true] svg{animation:1s ease-in-out infinite alternate pulse}@keyframes pulse{to{opacity:.3}}.sheet{z-index:9;top:var(--edge);right:var(--edge);width:384px;max-height:calc(100% - 2 * var(--edge));border-radius:var(--r-box);scrollbar-width:thin;position:absolute;overflow-y:auto}.sheet-head{z-index:2;background:linear-gradient(var(--glass) 75%, transparent);align-items:center;column-gap:12px;padding:20px 24px 12px;display:flex;position:sticky;top:0}.handle{display:none}.count{min-width:0;color:var(--text-2);font-size:14px}.count b{color:var(--text);font-weight:600}.sort{border-radius:var(--r-ctl);background:var(--hover);flex:none;gap:2px;margin-left:auto;padding:3px;display:flex}.sort button{height:34px;color:var(--text-2);border-radius:19px;padding:0 16px;font-size:14px;font-weight:500}.sort button[aria-pressed=true]{background:var(--solid);color:var(--text);box-shadow:0 1px 2px #0000001f}.back{height:var(--tap);color:var(--text-2);padding-right:12px;font-size:15px;font-weight:500}.back:hover{color:var(--text)}.legal{color:var(--text-3);padding:16px 24px 24px;font-size:11px;line-height:1.6}.rail{padding:0 12px 4px}.rail h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin:12px 12px 4px;font-size:12px;font-weight:600}.stop{border-top:1px solid var(--line);margin:0;padding:4px 0;list-style:none}.rail h3+.stop{border-top:0}.svc{border-radius:var(--r-row);text-align:left;grid-template-columns:42px 15px minmax(0,1fr) auto;align-items:center;column-gap:10px;width:100%;padding:8px 12px;display:grid}.svc:hover{background:var(--hover)}.svc.sel{background:var(--hover);box-shadow:inset 0 0 0 1px var(--line)}.svc time{font:600 15px/1.2 var(--font-round);font-variant-numeric:tabular-nums;align-self:start;padding-top:1px}.svc .sym{color:var(--text-2);align-self:start;margin-top:2px}.svc .km{font:600 13px/1.2 var(--font-round);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:start;padding-top:2px}.svc.place{grid-template-columns:48px 15px minmax(0,1fr)}.svc.place s{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.grow{flex:1;min-width:0}.name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;display:block;overflow:hidden}.meta{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.svc.cx .name{text-decoration:line-through;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);color:var(--text-2)}.ex{letter-spacing:.02em;flex:none;font-size:11px;font-weight:600}.ex.cx{color:var(--red)}.ex.ch,.ex.old{color:var(--amber)}.detail{padding:4px 24px 12px}.detail h2{font:600 24px/1.2 var(--font-round);letter-spacing:-.015em;margin:6px 0 4px}.sub{color:var(--text-2);margin:0;font-size:12.5px}.actions{gap:8px;margin:16px 0 20px;display:flex}.actions a{height:var(--tap);border-radius:var(--r-ctl);background:var(--hover);flex:1;place-items:center;font-size:14px;font-weight:600;text-decoration:none;display:grid}.actions a:first-child{background:var(--sel-bg);color:var(--sel-fg)}.day{border-top:1px solid var(--line);padding:14px 0}.day h3{letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin:0 0 6px;font-size:12px;font-weight:600}.day.later{opacity:.62}.day.later h3{color:var(--text-3)}.drow{gap:14px;padding:4px 0;display:flex}.drow .t{width:42px;font:600 15px/1.35 var(--font-round);font-variant-numeric:tabular-nums;flex:none}.drow.cx .t{color:var(--red);text-decoration:line-through}.drow .sub{display:block}.status{color:var(--text-3);margin-top:1px;font-size:11.5px;display:block}.status.cx{color:var(--red);font-weight:600}.status.ch,.status.old{color:var(--amber)}details{color:var(--text-3);margin-top:2px;font-size:11.5px}summary{cursor:pointer}q{quotes:"„" "“";margin-top:2px;font-style:italic;display:block}@media (width<=899px){.top{top:calc(var(--edge) + env(safe-area-inset-top));left:var(--edge);right:var(--edge);width:auto}.sheet{top:auto;left:var(--edge);right:var(--edge);bottom:max(var(--edge), env(safe-area-inset-bottom));width:auto;height:40%;max-height:none;transition:height .3s cubic-bezier(.2,.9,.3,1)}.sheet.dragging{-webkit-user-select:none;user-select:none;transition:none}.sheet-head{touch-action:none;cursor:grab;flex-wrap:wrap;padding:0 24px 12px}.sheet.dragging .sheet-head{cursor:grabbing}.handle{width:100%;height:24px;display:block;position:relative}.handle:after{content:"";background:var(--text-3);opacity:.5;border-radius:3px;width:36px;height:5px;margin-left:-18px;position:absolute;top:10px;left:50%}.sheet.peek .sheet-head{padding-bottom:0}.sheet.peek .handle{height:20px}.sheet.peek .count{line-height:40px}.sheet.peek .sort,.in-view{display:none}.sheet.peek .in-view{display:inline}}
