:root{--surface: oklch(98.6% .004 85);--surface-raised: oklch(95.4% .007 85);--text: oklch(23% .012 265);--muted: oklch(49% .014 265);--border: oklch(88.5% .009 85);--accent: oklch(42% .15 262);--on-accent: oklch(98.6% .004 85);--positive: oklch(52% .14 152);--highlight: oklch(90% .14 95 / .6);--shadow: 0 10px 30px oklch(23% .03 265 / .16), 0 1px 3px oklch(23% .03 265 / .12);--radius-l: 1.125rem;--radius-m: .75rem;--radius-s: .5rem;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.45;color:var(--text);-webkit-text-size-adjust:none;text-size-adjust:none}@media(prefers-color-scheme:dark){:root{--surface: oklch(18.5% .01 265);--surface-raised: oklch(23.5% .012 265);--text: oklch(94% .006 85);--muted: oklch(71% .014 265);--border: oklch(31% .014 265);--accent: oklch(79% .1 258);--on-accent: oklch(18.5% .01 265);--positive: oklch(78% .15 152);--highlight: oklch(75% .14 90 / .4);--shadow: 0 10px 30px oklch(0% 0 0 / .45), 0 1px 3px oklch(0% 0 0 / .35)}}*{box-sizing:border-box}html,body{margin:0;background:var(--surface)}button,input{font:inherit;color:inherit}button{cursor:pointer}input[type=checkbox]{accent-color:var(--accent)}.button{padding:.55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--surface-raised)}.button:hover{border-color:var(--muted)}h1,h2{margin:0;letter-spacing:-.01em}a{color:var(--accent);text-underline-offset:.15em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.live{color:var(--positive)}.eyebrow{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.app-title{font-size:1.2rem;font-weight:700}.app-title a{color:var(--muted);font-weight:600;text-decoration:none}.app-title a:hover{color:var(--accent)}.app-title span{margin-inline:.3em;color:var(--border);font-weight:400}.icon{display:inline-block;flex:none;inline-size:1.15em;block-size:1.15em;vertical-align:-.2em;background:currentColor;mask:var(--icon) center / contain no-repeat}.icon-close{--icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.25' stroke-linecap='round'><path d='M6.5 6.5l11 11M17.5 6.5l-11 11'/></svg>")}.icon-swap{--icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 19V5M4.5 8.5 8 5l3.5 3.5M16 5v14m-3.5-3.5L16 19l3.5-3.5'/></svg>")}.icon-walk{--icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><circle cx='13.5' cy='3.75' r='2'/><path d='M9.8 8.9 7 23h2.1l1.8-8 2.1 2v6h2v-7.5l-2.1-2 .6-3A7.3 7.3 0 0 0 19 13v-2c-1.9 0-3.5-1-4.3-2.4l-1-1.6c-.4-.6-1-1-1.7-1-.3 0-.5.1-.8.1L6 8.3V13h2V9.6z'/></svg>")}.icon-locate{--icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'><circle cx='12' cy='12' r='7'/><circle cx='12' cy='12' r='2.5' fill='black'/><path d='M12 2v3m0 14v3M2 12h3m14 0h3'/></svg>")}.icon-forward{--icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14m-5-5 5 5-5 5'/></svg>")}
