html,body{height:100%;overflow:hidden}@property --safe-top{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --sheet-drop{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --keyboard{syntax: "<length>"; inherits: false; initial-value: 0px;}@property --sheet-shift{syntax: "<length>"; inherits: true; initial-value: 0px;}#app{container:app / size;position:fixed;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto}.map{grid-area:1 / 1 / -1 / -1;isolation:isolate}.map .maplibregl-ctrl-top-left,.map .maplibregl-ctrl-top-right{margin-block-start:env(safe-area-inset-top)}.map .maplibregl-ctrl-bottom-right{inset:env(safe-area-inset-top) auto auto 0}.panel{--gap: clamp(.5rem, 2cqi, .875rem);--inset: clamp(.75rem, 3.5cqi, 1rem);grid-area:2 / 1;position:relative;z-index:1;display:flex;flex-direction:column;gap:var(--gap);--safe-top: env(safe-area-inset-top);max-block-size:var(--sheet-max, min(45cqb, 40rem));margin-block-end:var(--keyboard);translate:0 var(--sheet-drop);padding:var(--inset);padding-block-start:0;padding-block-end:max(var(--inset),env(safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--radius-l) var(--radius-l) 0 0;background:var(--surface);box-shadow:var(--shadow)}.panel>:not(.grabber){translate:0 var(--sheet-shift)}.panel.moving,.panel.moving>:not(.grabber){transition:translate .25s cubic-bezier(.2,.9,.3,1),opacity .25s}.panel.lowered{overflow-y:hidden}.panel>:not(.grabber,.panel-header){transition:opacity .25s}.panel.lowered>:not(.grabber,.panel-header){opacity:0}.grabber{position:sticky;inset-block-start:0;z-index:1;flex:none;display:grid;place-items:center;block-size:1.5rem;margin-inline:calc(-1 * var(--inset));margin-block-end:calc(-1 * var(--gap) / 2);padding:0;border:none;background:var(--surface);touch-action:none}.grabber:before{content:"";inline-size:2.25rem;block-size:.3rem;border-radius:1rem;background:var(--border)}@media(prefers-reduced-motion:reduce){.panel.moving,.panel.moving>:not(.grabber){transition-property:opacity}}@container app (inline-size >= 48rem){.panel{grid-area:1 / 1;align-self:start;justify-self:start;block-size:auto;inline-size:clamp(20rem,32cqi,26rem);max-block-size:calc(100cqb - 2 * var(--gap));margin:var(--gap);padding:var(--inset);border-radius:var(--radius-l);translate:none}.panel.lowered{overflow-y:auto}.panel>:not(.grabber){translate:none}.panel.lowered>*{opacity:1}.grabber{display:none}.panel-header{touch-action:auto}.map .maplibregl-ctrl-bottom-right{inset:auto 0 0 auto}}.panel-header{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem 1rem;touch-action:none}.panel-header h1{margin-inline-end:auto}.status{font-size:.85rem;color:var(--muted)}.dot{display:inline-block;inline-size:.5em;aspect-ratio:1;margin-inline-end:.4em;border-radius:50%;background:var(--positive);vertical-align:.1em}.planner{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.notice{margin:0;font-size:.85rem;text-wrap:pretty}.planner-fields{display:grid;gap:.375rem}.place-input{display:grid;grid-template-columns:4em minmax(0,1fr) auto;align-items:center;border-radius:var(--radius-m);background:var(--surface-raised)}.place-input:focus-within{outline:2px solid var(--accent)}.place-label{padding-inline-start:.75rem;font-size:.8rem;font-weight:600;color:var(--muted)}.place-input input{grid-column:2;min-inline-size:0;font-size:max(1rem,16px);padding:.6rem .75rem .6rem .25rem;border:none;background:none;outline:none}.clear{display:grid;padding:.5rem .75rem;border:none;background:none;color:var(--muted)}.suggestions{display:grid;margin:0;padding:0;list-style:none}.suggestions li{display:flex;align-items:center;gap:.5rem;padding:.75rem .625rem;border-radius:var(--radius-s);cursor:pointer}.suggestions li+li{border-block-start:1px solid var(--border)}.suggestions [aria-selected=true],.suggestions li:hover{background:var(--surface-raised)}.swap{display:grid;place-items:center;inline-size:2.5rem;aspect-ratio:1;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted)}.itineraries ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.itineraries p{margin:0}.itinerary{border:1px solid var(--border);border-radius:var(--radius-m)}.itinerary.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.itinerary-summary{display:grid;gap:.375rem;inline-size:100%;padding:.625rem .75rem;border:none;background:none;text-align:start}.itinerary-times{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 .75rem}.duration{font-weight:600}.itinerary-legs{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;font-size:.9rem}.walk-chip{display:inline-flex;align-items:center;font-size:.85rem;white-space:nowrap}.leave{margin-inline-start:auto;color:var(--muted)}.walk-option{display:flex;align-items:center;gap:.375rem;inline-size:100%;margin-block-start:.5rem;padding:.6rem .75rem;border:1px dashed var(--border);border-radius:var(--radius-m);background:none;text-align:start;color:var(--muted)}.walk-option.selected{border-style:solid;border-color:var(--accent);color:var(--text)}.stop-link{padding:0;border:none;background:none;text-align:start;text-decoration:underline dotted;text-underline-offset:.2em}.route-badge{display:inline-block;min-inline-size:1.9em;padding:.05em .4em;border-radius:.375rem;font-size:.8rem;font-weight:700;text-align:center}.steps{display:grid;gap:.625rem;margin:0 .75rem .75rem;padding:.625rem 0 0;border-block-start:1px solid var(--border);list-style:none;font-size:.9rem}.step{display:grid;grid-template-columns:1.9em minmax(0,1fr);align-items:start;gap:.625rem}.step>.icon{justify-self:center;margin-block-start:.1em;color:var(--muted)}.step.ride>div{padding-inline-start:.625rem;border-inline-start:3px solid var(--route-color)}.step .muted{margin-block:.125rem;font-size:.85rem}.stop-view header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.stop-view h2{font-size:1.05rem}.stop-view p{margin:0}.close{display:grid;place-items:center;inline-size:2rem;aspect-ratio:1;padding:0;border:none;border-radius:50%;background:var(--surface-raised);font-size:1.05rem;color:var(--muted)}.close:hover{color:var(--text)}.stop-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.5rem;margin-block:.625rem}.arrivals{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.arrivals li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;font-size:.9rem}.arrival-direction{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.arrival-times{font-weight:600;white-space:nowrap}.arrival-times.muted{font-weight:400}.legend{margin-block:.75rem 0;font-size:.8rem}.bus-view{display:grid;gap:.5rem}.bus-view header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.625rem}.bus-view header .route-badge{margin-block-start:.15rem}.bus-view h2{font-size:1.05rem}.bus-view p{margin:0}.bus-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:.5rem}.cue{padding:.5rem .75rem;border-radius:var(--radius-s);background:var(--accent);color:var(--on-accent);font-weight:600}.bus-stops{margin:0;padding:0;list-style:none}.bus-stops li{position:relative;display:grid;grid-template-columns:4.25rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding-block:.375rem;font-size:.9rem}.bus-stops li+li{border-block-start:1px solid var(--border)}.bus-stop-time{font-variant-numeric:tabular-nums;color:var(--muted)}.bus-stops li:first-child .bus-stop-time,.bus-stops .yours .bus-stop-time{font-weight:600;color:var(--text)}.bus-stops .yours .stop-link{font-weight:600}.bus-stops .past{opacity:.5}.tag{padding:.05rem .4rem;border-radius:.375rem;background:var(--accent);color:var(--on-accent);font-size:.75rem;font-weight:600;white-space:nowrap}.ride-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:.5rem .5rem .5rem .75rem;border:1px solid var(--accent);border-radius:var(--radius-m)}.ride-suggestion .button{padding-block:.4rem}.routes h2{margin-block-end:.375rem}.routes ul{margin:0;padding:0;list-style:none}.routes li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.5rem}.routes li button{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.375rem .5rem;border:none;border-radius:var(--radius-s);background:none;text-align:start}.routes li button:hover{background:var(--surface-raised)}.routes .route-badge{inline-size:100%}.routes .not-running{opacity:.5}.route-status{font-size:.8rem;color:var(--muted)}.map-card .maplibregl-popup-content{padding:.75rem;border-radius:var(--radius-m);background:var(--surface);color:var(--text);box-shadow:var(--shadow);font:inherit}.map-card .maplibregl-popup-tip{display:none}.map-card-body{display:grid;gap:.375rem;font-size:.9rem}.map-card-body p{margin:0}.map-card-actions{display:grid;gap:.375rem;margin-block-start:.25rem}
