:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#0f172a;--surface-raised:#1e293b;--border:#334155;--text:#f1f5f9;--text-muted:#94a3b8;--link:#38bdf8;--map-radial:#cbd5e1;--map-node:#e2e8f0;--map-label:#f1f5f9;--place:#94a3b8;--place-label:#f1f5f9;--route:#4ade80;--origin:#86efac;--destination:#fb923c;--via-fallback:#cbd5e1;--via-1:#38bdf8;--via-2:#a78bfa;--via-3:#f472b6;--via-4:#fbbf24;--radial-width:2;--ring-width:3}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0;padding:0}body{background-color:var(--surface);color:var(--text);font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}#root{min-height:100dvh}.app-shell{flex-direction:column;gap:.5rem;max-width:100%;min-height:100dvh;padding:1rem;display:flex}.app-shell__header{flex:none}.app-shell__title{color:var(--link);margin:0;font-size:1.5rem;font-weight:600}.app-shell__subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.9rem}.app-shell__body{flex:auto;gap:1rem;min-width:0;min-height:0;display:flex}.app-shell__map{flex:auto;min-width:0;min-height:16rem;position:relative}.app-shell__panels{flex-direction:column;flex:0 0 17rem;gap:.75rem;max-width:100%;min-height:0;display:flex;overflow-y:auto}.panel{background-color:var(--surface-raised);border:1px solid var(--border);border-radius:.5rem;padding:.75rem}.panel__title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.places{margin:0;padding:0;font-size:.85rem;list-style:none}.places__label{cursor:pointer;align-items:center;gap:.5rem;padding:.15rem 0;display:flex}.places__checkbox{accent-color:var(--place);cursor:pointer}.route__field{margin-bottom:.6rem}.route__label{color:var(--text-muted);margin-bottom:.2rem;font-size:.8rem;display:block}.route__select{background-color:var(--surface);width:100%;max-width:100%;color:var(--text);border:1px solid var(--border);font:inherit;border-radius:.25rem;padding:.35rem;font-size:.85rem}.route__description{font-size:.85rem}.route__hint,.route__summary{margin:0}.route__hint{color:var(--text-muted)}.route__legs{color:var(--text-muted);margin:.4rem 0 0;padding-left:1.2rem}.route__legs li{margin-bottom:.2rem}.app-shell__footer{border-top:1px solid var(--border);flex:none;padding-top:.75rem}.app-shell__footer-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 .35rem;font-size:.75rem;font-weight:600}.attribution{color:var(--text-muted);flex-wrap:wrap;gap:.25rem 1.5rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.attribution__source{overflow-wrap:anywhere;flex-wrap:wrap;gap:.35rem;max-width:100%;display:flex}.attribution__licence{color:var(--link)}.network-map{width:100%;height:100%;display:block;position:absolute;inset:0}.network-map__radial{fill:none;stroke:var(--map-radial);stroke-width:var(--radial-width);stroke-linecap:round}.network-map__ring{fill:none;stroke:var(--via-fallback);stroke-width:var(--ring-width);stroke-linecap:round}.network-map__ring[data-ring-order="0"]{stroke:var(--via-1)}.network-map__ring[data-ring-order="1"]{stroke:var(--via-2)}.network-map__ring[data-ring-order="2"]{stroke:var(--via-3)}.network-map__ring[data-ring-order="3"]{stroke:var(--via-4)}.network-map__node{fill:var(--map-node)}.network-map__centre{fill:var(--map-label)}.network-map__route{fill:none;stroke:var(--route);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;opacity:.85}.network-map__place{fill:var(--place);stroke:var(--surface);stroke-width:2px}.network-map__place[data-place-role=origin]{fill:var(--origin)}.network-map__place[data-place-role=destination]{fill:var(--destination)}.network-map__label{fill:var(--map-label);stroke:var(--surface);stroke-width:4px;paint-order:stroke;font-family:inherit;font-size:22px;font-weight:600}.network-map__label--ring{font-size:19px}.network-map__label--ring[data-ring-order="0"]{fill:var(--via-1)}.network-map__label--ring[data-ring-order="1"]{fill:var(--via-2)}.network-map__label--ring[data-ring-order="2"]{fill:var(--via-3)}.network-map__label--ring[data-ring-order="3"]{fill:var(--via-4)}.network-map__label--place{fill:var(--place-label);font-size:17px}.network-map__label--place[data-place-role=origin]{fill:var(--origin)}.network-map__label--place[data-place-role=destination]{fill:var(--destination)}.network-map__label--centre{fill:var(--text-muted);font-size:18px;font-weight:500}@media (width<=48rem){.app-shell__body{flex-direction:column}.app-shell__panels{flex:none;overflow-y:visible}}@media (width<=30rem){.app-shell{padding:.75rem}.app-shell__title{font-size:1.25rem}}
