.ride-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-block:12px 20px;padding:5px;border:1px solid var(--color-border-muted);border-radius:16px;background:transparent;container-type:inline-size}.ride-mode-switch .ride-mode-choice{--mode-face: var(--color-ink);position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:78px;padding:14px 12px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--color-secondary-ink);font:inherit;font-size:.9375rem;font-weight:700;line-height:1.3;text-align:center;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ride-mode-switch [data-mode=destination]{--mode-face: var(--color-accent-strong)}.ride-mode-switch .ride-mode-choice.is-active{border-color:var(--color-control-border);background:var(--color-paper);color:var(--color-ink);box-shadow:none}.ride-mode-switch .ride-mode-choice:disabled{opacity:.45;cursor:default}.ride-mode-chip{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;border:2px solid var(--color-border-muted);border-radius:50%;background:var(--color-paper);color:var(--color-ink);transition:transform var(--motion-press, .16s) var(--ease-out)}.ride-mode-chip:after{content:"";position:absolute;inset:4px;border:1px dashed currentColor;border-radius:50%;opacity:.6;pointer-events:none}.ride-mode-chip .control-icon{width:23px;height:23px}.ride-mode-switch .is-active>.ride-mode-chip{border-color:#d5b86f;background:var(--mode-face);color:var(--color-paper-warm);box-shadow:0 3px 5px #173d3626;transform:translateY(-1px) rotate(-4deg)}.ride-mode-label{min-width:0;overflow-wrap:anywhere}.ride-mode-choice:not(:disabled):active .ride-mode-chip{transform:scale(.95)}.ride-mode-choice:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}@container (max-width: 36rem){.ride-mode-switch .ride-mode-choice{flex-direction:column;gap:8px;padding:12px 4px}.ride-mode-label{min-height:2.6em;display:grid;align-content:center;text-wrap:balance}}@container (max-width: 15rem){.ride-mode-switch .ride-mode-choice{grid-column:1 / -1;flex-direction:row;justify-content:flex-start;padding:12px;gap:12px;text-align:left}.ride-mode-label{min-height:auto}}@supports not (container-type: inline-size){.ride-mode-switch{grid-template-columns:repeat(auto-fit,minmax(min(100%,5rem),1fr))}@media(max-width:600px){.ride-mode-switch .ride-mode-choice{flex-direction:column}}}@media(hover:hover)and (pointer:fine){.ride-mode-switch .ride-mode-choice:not(.is-active):not(:disabled):hover{background:var(--color-paper)}}html[data-focus-input=keyboard] .ride-mode-switch .ride-mode-chip{transition:none}html[data-motion=quiet] .ride-mode-switch .ride-mode-choice .ride-mode-chip{transition:none;transform:none}@media(prefers-reduced-motion:reduce){.ride-mode-switch .ride-mode-choice .ride-mode-chip{transition:none;transform:none!important}}@media(forced-colors:active){.ride-mode-switch .ride-mode-choice,.ride-mode-switch .ride-mode-chip{border-color:ButtonText}.ride-mode-switch .ride-mode-choice.is-active{outline:2px solid Highlight;outline-offset:-3px}.ride-mode-switch .ride-mode-choice:focus-visible{outline:3px solid CanvasText;outline-offset:2px}}.ride-activity{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0;padding:14px;border:1px solid var(--color-border-muted);border-radius:20px;background:var(--color-paper);color:var(--color-ink)}.result-page>.ride-activity{margin-bottom:12px}.ride-activity-chip{display:grid;place-items:center;flex:none;width:4.25rem;aspect-ratio:1;border:2px dashed #9c762d;outline:1px solid var(--color-border-muted);outline-offset:4px;border-radius:50%;background:var(--color-sage-surface)}.ride-activity-chip strong{font:700 1.25rem/1.2 var(--font-display, "Fraunces", serif);font-variant-numeric:tabular-nums}.ride-activity-chip small{font-size:.65em}.ride-activity-copy{min-width:0;flex:1 1 9rem}.ride-activity-copy h2{display:flex;align-items:center;gap:6px;margin:0;font:700 1rem/1.4 DM Sans,sans-serif}.ride-activity-copy .control-icon{width:20px;height:20px;flex:none}.ride-activity-metrics{display:flex;flex-wrap:wrap;gap:6px 16px;margin:4px 0 0;font-size:.9375rem;font-variant-numeric:tabular-nums}.ride-activity-metrics dd{margin:0}.ride-activity-note{display:block;margin-top:4px;color:var(--color-secondary-ink);font-size:.75rem}.history-attempt{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:4px;font-size:.8125rem;line-height:1.4}.history-route-kind{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--color-secondary-ink);font-size:.8125rem;font-weight:600;margin-bottom:0}.history-route-kind .control-icon{width:18px;height:18px;flex:none}.history-route-context{display:block;margin-top:4px;color:var(--color-secondary-ink);font-size:.875rem;overflow-wrap:anywhere}.history-attempt-status{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;border-radius:0;background:transparent}.history-attempt-status .control-icon{width:16px;height:16px}.history-attempt-status[data-status=finished]{color:var(--color-ink);background:transparent}.history-attempt-progress{color:var(--color-secondary-ink);font-variant-numeric:tabular-nums}@font-face{font-family:Google Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/google-sans-latin-500-DL4ee5e9.woff2) format("woff2")}.sign-in-choices{display:flex;flex-wrap:wrap;gap:10px;min-width:0}.sign-in-choices .button{min-height:48px;min-width:0;white-space:normal;text-align:center;font:600 1rem/1.35 system-ui,-apple-system,sans-serif;letter-spacing:0;padding:12px 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px}.sign-in-choices .button.sign-in-apple{background:#000;color:#fff;border:1px solid #000;box-shadow:none}.sign-in-apple svg{width:20px;height:24px;flex:none}.sign-in-choices .button.sign-in-google{background:#fff;color:#1f1f1f;border:1px solid #747775;box-shadow:none;border-radius:999px;font-family:Google Sans,Arial,sans-serif;font-weight:500;font-size:.875rem;line-height:1.43;padding:12px 16px;gap:12px;text-decoration:none;letter-spacing:0}.sign-in-google .google-brand-mark{display:block;width:20px;height:auto;flex:none;object-fit:contain}.google-sign-in-label{min-width:0;overflow-wrap:anywhere}.sign-in-choices .button.sign-in-google:focus-visible{outline:3px solid #1a73e8;outline-offset:3px}@media(hover:hover)and (pointer:fine){.sign-in-choices .button.sign-in-google:hover{background:#fff;border-color:#1a73e8;color:#1f1f1f}}.app-sheet .sign-in-choices .button,.history-section .sign-in-choices .button{width:100%}.sign-in-choices.is-compact .button{font-size:.875rem;padding:10px 12px;min-height:44px}.sign-in-choices.is-compact .button.sign-in-google{min-height:48px;padding:12px 16px}.account-action-hint{font-size:.875rem;color:var(--color-secondary-ink);margin:4px 0 14px;line-height:1.5}.account-connected{font-size:.875rem}.account-delete-actions{display:grid;gap:12px;margin-top:24px}.account-delete-confirm p{overflow-wrap:anywhere}.policy-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin-block:16px}.policy-links a{display:inline-flex;min-height:44px;align-items:center;line-height:1.4;text-underline-offset:.2em}.guest-access:has(.sign-in-choices){flex-wrap:wrap}@media(max-width:600px){.site-header .sign-in-choices{display:none}}.start-ride-panel{display:grid;justify-items:start;min-width:0;gap:8px;margin-block:12px 16px}.start-ride-panel p{margin:0;max-width:36ch;color:var(--color-text-muted);font-size:.8125rem;line-height:1.4;overflow-wrap:anywhere}.start-ride-panel .button{min-height:52px;gap:8px;color:var(--color-paper-warm);background:var(--color-ink)}.start-ride-panel svg{width:20px;height:20px;flex:none}.ride-secondary{margin-top:16px}.ride-secondary-actions{display:grid}.ride-secondary-button{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:64px;min-width:48px;max-width:100%;padding:12px 0;border:0;background:transparent;color:var(--color-ink);font:inherit;font-size:.875rem;font-weight:600;text-align:left;line-height:1.4}.ride-secondary-button+.ride-secondary-button{border-top:1px solid var(--color-divider)}.ride-tool-copy{display:grid;min-width:0;gap:3px;overflow-wrap:anywhere}.ride-tool-copy strong{font-size:.875rem;font-weight:600}.ride-tool-copy small{color:var(--color-text-muted);font-size:.8125rem}.ride-tool-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:0;background:transparent}.ride-secondary-button svg{flex:none;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8}.ride-tool-icon svg{width:20px;height:20px}.app-sheet.app-sheet-compact{width:min(100%,26rem)}.ride-share-options{display:grid;gap:12px}.ride-share-options .button{min-height:48px;width:100%}.ride-share-options .ride-link-content{padding:0}.ride-share-options .share-privacy-note{margin:8px 0 0;font-size:.8125rem;line-height:1.4}.gpx-export{display:grid;gap:4px}.ride-share-options .gpx-app-guides{margin-top:8px}.share-link-options>summary{font-size:.8125rem}.share-consent{min-height:48px}.app-shell[data-preview=true]{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.app-shell[data-preview=true]>.app-navigation{grid-row:6}.app-shell>.preview-start-action{grid-row:5;width:100%;min-width:0;margin:0;padding:10px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));border-top:1px solid var(--color-border-muted);background:var(--color-paper-warm);gap:6px;justify-items:stretch}.app-shell>.preview-start-action .button{width:100%;max-width:44rem;justify-self:center;border-radius:12px;min-height:56px;box-shadow:none;font-weight:600}.app-shell>.preview-start-action p{max-width:60ch;justify-self:center;text-align:center;font-size:.75rem;line-height:1.35}.app-shell>.preview-start-action [role=alert]{font-size:.875rem;color:var(--color-accent-deep);font-weight:600}.app-shell .result-page{--result-radius: var(--radius-panel, 16px);--result-padding: 16px;--route-map-height: clamp(220px, 38dvh, 360px);max-width:44rem;padding-block:14px 24px}.app-shell .result-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0;animation:none}.app-shell .result-heading h1{margin:0;min-width:0;font-size:1.875rem;line-height:1.15;font-weight:600;letter-spacing:-.02em}.app-shell .result-heading .back-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:8px 12px;border:1px solid var(--color-border-muted);color:var(--color-ink);font-size:.8125rem;border-radius:12px;border-color:var(--color-divider);background:transparent;font-weight:500}.result-heading .back-link svg{width:18px;height:18px;flex:none}.app-shell .result-subtitle{display:flex;align-items:flex-start;gap:8px;margin:6px 0 0;font-size:.875rem;line-height:1.4;overflow-wrap:anywhere}.result-subtitle .control-icon{width:18px;height:18px;margin-top:1px}.result-subtitle>span{min-width:0}.app-shell .ride-dashboard{margin:10px 0 14px;padding:4px var(--result-padding);border:1px solid var(--color-border-muted);border-radius:var(--result-radius);background:var(--color-paper);animation:none}.app-shell .ride-dashboard .stats-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell .ride-dashboard .stat{min-width:0;padding:8px 0;gap:8px}.app-shell .ride-dashboard .stat-chip{width:32px;height:32px;flex:none}.app-shell .ride-dashboard .stat-copy{min-width:0}.app-shell .ride-dashboard .stat-copy strong{font-size:1.5rem;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.app-shell .result-page .map-card{min-height:0;border-radius:var(--result-radius);border:1px solid var(--color-border-muted);background:var(--color-paper)}.app-shell .result-page .map-visual,.app-shell .result-page .map-card>.map-loading{height:var(--route-map-height)}.app-shell .result-page .map-stamp{display:none}.result-page .map-error{max-height:calc(100% - 24px);overflow-y:auto}.map-extras{min-width:0}@media(max-width:767px)and (min-height:800px){@supports (overflow: clip){.app-shell .result-page .map-card:has(.map-extras[open]){overflow:clip}.app-shell .result-page .route-map-wrap:has(.map-extras[open])>.map-visual{position:sticky;top:0;z-index:6;height:clamp(140px,24dvh,200px);border-bottom:1px solid var(--color-border-muted)}.result-page .elevation-scrubber,.result-page .elevation-controls button{scroll-margin-top:calc(clamp(140px,24dvh,200px) + 12px)}}}.result-page .map-extras>summary{min-height:48px;padding:13px 14px;color:var(--color-ink);font-size:.8125rem;font-weight:600;cursor:pointer}.result-page .map-extras:not([open])>:not(summary){display:none}.result-page .elevation-unavailable{padding:12px;font-size:.8125rem}.result-page .map-extras[open]>summary{border-bottom:1px solid var(--color-divider)}.app-shell .result-page .map-credit{padding:6px 12px 10px;font-size:.6875rem;line-height:1.4;overflow-wrap:anywhere}.app-shell .result-page .route-check-note,.app-shell .result-page .time-caveat{margin:12px 0;font-size:.8125rem;line-height:1.45}.result-page .route-check-note[data-caution=true]{padding:10px 12px;border-radius:14px;background:var(--color-paper-gold)}.app-shell .result-page .ride-secondary{display:grid;gap:0;margin-top:24px;padding:0 var(--result-padding);border:1px solid var(--color-divider);border-radius:var(--result-radius);background:var(--color-paper)}.app-shell .result-page :is(.route-confidence,.ride-extra-details,.ride-secondary-actions){min-width:0;margin:0;padding:16px 0;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent}.app-shell .result-page .ride-secondary-actions{padding-block:0}.result-page :is(.route-facts-heading h2,.ride-details-title){margin:0;font:600 1rem/1.4 DM Sans,sans-serif;letter-spacing:0}.result-page .ride-details-title{margin-bottom:12px}.result-page :is(.coffee-ticket,.picked-stop-ticket){display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;margin:0 0 16px;padding:0 0 16px;border:0;border-bottom:1px solid var(--color-divider)}.result-page :is(.coffee-ticket,.picked-stop-ticket) strong{font-size:1rem;line-height:1.4}.result-page :is(.coffee-ticket,.picked-stop-ticket) p{font-size:.8125rem;color:var(--color-text-muted)}.result-page .route-stop-actions :is(.coffee-map-action,.keep-place-action){padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:12px;background:var(--color-canvas);font-size:.8125rem;line-height:1.4}.app-shell .result-page .result-places{min-width:0;margin:0;padding:0;border:0;border-top:1px solid var(--color-divider);border-radius:0;background:transparent}.app-shell .result-page .result-places>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:14px 2px;color:var(--color-ink);font-size:.9375rem;font-weight:600}.app-shell .result-page .result-places>summary:after{content:"";width:8px;height:8px;flex:none;margin:0 6px 4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}.app-shell .result-page .result-places[open]>summary:after{transform:rotate(225deg);margin-bottom:0}.result-places>summary>span:last-child{margin-left:auto;color:var(--color-text-muted);font-size:.8125rem;font-weight:400}.app-shell .result-places .stop-filters{display:flex;flex-wrap:wrap;gap:6px}.app-shell .result-places .stop-filters button{min-height:48px;border-radius:999px;padding:8px 12px}.app-shell .result-places .place-button{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px 12px;padding:14px 0;min-width:0;text-align:left}.result-places .place-button>span{min-width:0;overflow-wrap:anywhere}.app-shell .result-places .place-button>small{grid-column:2;text-align:left}.result-places .place-button small{white-space:normal;overflow-wrap:anywhere}.result-places .stops-note{margin:0 0 12px}.result-page .ride-extra-details .stat strong{white-space:normal;overflow-wrap:anywhere}.result-page :is(.ride-extra-details>.stats-row,.cyclist-detail-grid){grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:8px 16px}.result-page .stat{padding:10px 0}.result-page :is(.stat-chip,.cyclist-detail-token){width:24px;height:24px;border:0;border-radius:0;background:transparent}.result-page :is(.stat-chip svg,.cyclist-detail-token .control-icon){width:20px;height:20px}.result-page :is(.stat-label,.cyclist-detail-label){color:var(--color-text-muted);font-size:.8125rem;font-weight:500;line-height:1.4}.result-page :is(.ride-extra-details .stat strong,.cyclist-detail-value){margin-top:3px;font:700 1.25rem/1.25 Fraunces,Georgia,serif;letter-spacing:-.025em;overflow-wrap:anywhere}.result-page .ride-detail-heading{margin:16px 0 4px;padding-top:16px;border-top:1px solid var(--color-divider);font-size:.875rem;line-height:1.4}.result-page .route-credit{margin-top:12px}.result-page .route-feedback{margin-top:16px;padding-inline:var(--result-padding);border:1px solid var(--color-border-muted);border-radius:var(--result-radius);background:var(--color-paper)}.result-page .route-feedback>summary{min-height:56px;font-size:.875rem}@media(min-width:900px)and (min-height:600px){.app-shell[data-preview=true]>.app-navigation{grid-row:3}}@media(hover:hover)and (pointer:fine){.start-ride-panel .button:hover{background:var(--color-route-green)}.ride-secondary-button:hover{color:var(--color-accent-strong)}}.app-shell .ride-reroll{min-width:0;margin:0;padding:0}.app-shell .result-page>.ride-reroll{margin-top:12px}.app-shell .ride-reroll .roulette-wheel-primary{--wheel-size: 40px;--wheel-hub-size: 22px;--wheel-inset: 14px;display:grid;width:100%;max-width:none;min-height:64px;height:auto;margin:0;padding:12px 72px 12px 16px;border:1px solid var(--color-border-muted);border-radius:var(--result-radius);background:var(--color-paper-gold);color:var(--color-ink);box-shadow:none}.ride-reroll .wheel-action strong{line-height:1.4;text-wrap:wrap;overflow-wrap:anywhere;font-family:DM Sans,system-ui,sans-serif;font-weight:600;font-size:1rem;letter-spacing:0}.app-shell .ride-reroll .roulette-wheel-primary.is-locked,.app-shell .ride-reroll .roulette-wheel-primary:disabled:not(.is-spinning){background:var(--color-sage-surface)}.app-shell .ride-reroll .previous-loop{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:10px 0 0;padding:8px 0;font:inherit;font-size:.875rem;line-height:1.4;color:var(--color-ink)}.ride-reroll .previous-loop .control-icon{width:18px;height:18px;flex:none}.reroll-status{margin:8px 0 0;font-size:.8125rem;line-height:1.5}@media(hover:hover)and (pointer:fine){.app-shell .ride-reroll .roulette-wheel-primary:not(:disabled):hover{background:var(--color-sage-surface)}}.app-shell .ride-reroll .roulette-wheel-primary:is(:disabled,.is-locked) .wheel-action strong{font-size:1rem}html[data-motion=quiet] .ride-reroll .roulette-wheel{transition:none;transform:none!important}@media(prefers-reduced-motion:reduce){.ride-reroll .roulette-wheel{transition:none;transform:none!important}}.app-shell .result-page .ride-extra-details{border-bottom:0}.result-page .route-fact{padding:8px 0;background:transparent;border-radius:0}.app-shell .result-page .ride-dashboard{transition:transform .18s var(--ease-out),opacity .18s var(--ease-out)}.app-shell .result-page[data-rerolling] .ride-dashboard{transform:translate(-6px);opacity:.72}.app-shell .result-page[data-deal] .ride-dashboard{animation:ride-ticket-deal .26s var(--ease-out) both}.app-shell .result-page[data-deal][data-rerolling] .ride-dashboard{animation:none}@keyframes ride-ticket-deal{0%{transform:translateY(8px);opacity:.75}to{transform:translateY(0);opacity:1}}.result-page .coffee-ticket{grid-template-columns:48px minmax(0,1fr)}.result-page .coffee-ticket .coffee-token{width:48px;height:48px;transform:none}.coffee-ticket[data-revealing] .coffee-token{animation:coffee-chip-deal .26s var(--ease-out) both}.coffee-ticket[data-revealing] .coffee-ticket-copy{animation:coffee-copy-deal .22s var(--ease-out) both}@keyframes coffee-chip-deal{0%{transform:perspective(240px) rotateY(-70deg) scale(.96);opacity:.6}to{transform:perspective(240px) rotateY(0) scale(1);opacity:1}}@keyframes coffee-copy-deal{0%{transform:translateY(4px);opacity:.75}to{transform:translateY(0);opacity:1}}html[data-motion=quiet] .app-shell .result-page .ride-dashboard,html[data-motion=quiet] .coffee-ticket :is(.coffee-token,.coffee-ticket-copy){animation:none;transition:none;transform:none;opacity:1}@media(prefers-reduced-motion:reduce){.app-shell .result-page .ride-dashboard,.coffee-ticket :is(.coffee-token,.coffee-ticket-copy){animation:none!important;transition:none!important;transform:none!important;opacity:1!important}}:root{--ease-out: cubic-bezier(.22, 1, .36, 1);--motion-press: .16s}.picker-section .picker-inner{max-width:44rem;padding-block:20px 28px}.app-shell .picker-inner .location-fields>.field-group{min-width:0;padding:0;border:0;border-radius:0;background:transparent}.app-shell .picker-inner .location-fields .field-label{gap:8px;font-size:.875rem;line-height:1.4}.app-shell .picker-inner .location-fields .location-button{border:0;border-radius:14px;background:var(--color-sage-surface);box-shadow:none;font-size:.875rem}.app-shell .picker-inner .location-fields .address-form input{border-color:var(--color-control-border);border-radius:var(--radius-control);background:var(--color-paper)}.app-shell .picker-inner .address-hint:empty{display:none}.picker-inner .live-picker-grid{grid-template-columns:minmax(0,1fr);gap:24px}.picker-inner .location-button{width:100%;min-width:0;min-height:48px;gap:10px;padding:12px 14px;border:1px solid var(--color-border-green);border-radius:12px;background:var(--color-paper);color:var(--color-ink);text-align:left;text-decoration:none}.picker-inner .location-button svg{flex:none;width:22px;height:22px;stroke:currentColor;stroke-width:1.8}.picker-inner .time-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 6px 4px;border-radius:20px;background:var(--color-sage-surface)}.app-shell .picker-inner .time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .picker-inner .time-choice-open .time-chip{background:var(--color-ink);color:var(--color-paper)}.planning-mark{width:32px;height:32px;flex:none;pointer-events:none}.no-rush-range{margin:8px 0 16px;padding:16px;border:1px solid var(--color-divider);border-radius:12px;background:var(--color-paper)}.time-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.time-range-fields label{display:grid;gap:6px;min-width:0;color:var(--color-ink);font-size:.875rem;font-weight:600}.time-range-fields input{width:100%;min-width:0;min-height:48px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:1rem;border-color:var(--color-control-border);padding:12px}.no-rush-range .field-help{margin:8px 0 0}.app-shell .picker-inner .custom-duration-disabled{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent;box-shadow:none;color:var(--color-secondary-ink);font:inherit;text-align:left;overflow-wrap:anywhere;opacity:1;cursor:default}.custom-duration-disabled small{font-size:.8125rem;line-height:1.5}.range-time-repair{min-height:48px;margin-top:6px;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:10px;background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:.875rem;font-weight:600;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}.picker-inner .destination-plan .time-mode{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.picker-inner .destination-plan .time-mode button{flex:1 1 min(100%,5rem);flex-direction:column;gap:12px;align-items:center;justify-content:flex-start;min-width:0;min-height:112px;padding:12px 4px;border:1px solid transparent;border-radius:18px;color:var(--color-ink);font-size:.8125rem;line-height:1.4;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}.picker-inner .destination-plan .time-mode button.selected{border-color:var(--color-border-muted);background:var(--color-paper-gold)}.picker-inner .destination-plan .plan-chip{position:relative;width:56px;height:56px;border:2px solid var(--color-paper);outline:1px solid var(--color-ink);outline-offset:0;box-shadow:0 3px #173d3624,0 6px 10px #173d3612;transition:transform var(--motion-press) var(--ease-out)}.picker-inner .destination-plan .plan-chip:before{content:"";position:absolute;inset:4px;border:1px dashed currentColor;border-radius:50%;opacity:.65;pointer-events:none}.plan-chip-check{position:absolute;inset:-5px -5px auto auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--color-ink);color:var(--color-paper);opacity:0}.plan-chip-check .control-icon{width:20px;height:20px}.time-mode .selected .plan-chip-check{opacity:1}.picker-inner .destination-plan .selected .plan-chip{transform:translateY(-2px) rotate(-4deg)}.picker-inner .destination-plan .time-mode button:active .plan-chip{transform:translateY(1px) rotate(0) scale(.95)}@media(hover:hover)and (pointer:fine){.picker-inner .destination-plan .time-mode button:not(.selected):hover .plan-chip{transform:translateY(-2px) rotate(3deg)}}:root[data-motion=quiet] .picker-inner .destination-plan .plan-chip,:root[data-motion=quiet] .app-shell .picker-inner .time-choice .time-chip{transform:none;transition:none}@media(prefers-reduced-motion:reduce){.picker-inner .destination-plan .time-mode button .plan-chip{transform:none;transition:none}}.picker-inner .time-choice{min-width:0;min-height:104px;gap:10px;padding:8px 2px;border-radius:14px;align-content:start}.picker-inner .time-chip{width:60px;height:60px;transition:transform var(--motion-press) var(--ease-out)}.picker-inner .time-choice.selected .time-chip{transform:translateY(-2px);box-shadow:0 0 0 3px var(--color-sunshine),0 5px 10px #173d3626}.picker-inner .time-choice-hint{color:var(--color-ink);font-size:.75rem;font-weight:600;line-height:1.3;text-align:center;overflow-wrap:anywhere}.time-chip-check{position:absolute;top:-5px;right:-5px;width:20px;height:20px;padding:1px;border:2px solid var(--color-paper);border-radius:50%;background:var(--color-ink);fill:none;stroke:var(--color-paper);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.picker-inner .custom-duration-options,.picker-inner .route-preference-field{margin-top:12px}.app-shell .picker-inner .planner-setting{min-width:0;margin:8px 0 0;padding:0;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent}.app-shell .picker-inner .planner-setting>summary,.app-shell .picker-inner button.planner-setting{display:grid;grid-template-columns:32px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:72px;padding:16px 0;border-radius:0;color:var(--color-ink);text-align:left}.planner-setting .planner-setting-token{width:32px;height:32px;border:0;outline:0;color:var(--color-secondary-ink);background:transparent}.app-shell .picker-inner .planner-setting>summary:after{justify-self:center;margin-inline:0}.planner-setting-token svg{width:24px;height:24px}.planner-setting-copy{display:grid;min-width:0;gap:2px;overflow-wrap:anywhere}.planner-setting-copy strong{color:var(--color-ink);font-size:1rem;font-weight:600;line-height:1.4}.planner-setting-copy small{color:var(--color-secondary-ink);font-size:.8125rem;font-weight:400;line-height:1.5}.custom-duration-disabled .planner-setting-token{opacity:.55}.picker-inner .custom-time{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:8px}.picker-inner .custom-time .time-stepper{display:grid;width:min(100%,20rem);grid-template-columns:48px minmax(0,1fr) 48px;gap:8px}.picker-inner .custom-time input{width:100%;min-width:0;min-height:48px;text-align:center;font-size:max(1rem,16px)}.picker-inner .time-stepper button{display:grid;place-items:center;min-width:48px;min-height:48px;border:1px solid var(--color-border-muted);border-radius:12px;background:var(--color-paper);color:var(--color-ink)}.time-stepper svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.picker-inner .spin-row{gap:12px;margin-top:20px}.ride-plan-slip{grid-row:1;display:flex;align-items:center;gap:12px;min-width:0;padding-block:14px;border-block:1px dashed var(--color-border-muted)}.ride-plan-slip>svg{flex:none;width:32px;height:32px;fill:none;stroke:var(--color-route-green);stroke-width:1.4}.ride-plan-slip>div{display:grid;gap:4px;min-width:0}.ride-plan-slip strong{font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}.ride-plan-slip div>span{color:var(--color-text-muted);font-size:.8125rem;line-height:1.4}.picker-inner .spin-row>.roulette-wheel-primary{grid-row:2;width:100%;min-height:76px}.picker-inner .spin-copy{grid-row:3}.picker-inner .spin-copy strong{font-family:inherit;font-size:.9375rem;line-height:1.4;letter-spacing:normal}.picker-inner :where(button,summary),.app-navigation a{touch-action:manipulation;-webkit-user-select:none;user-select:none}.picker-inner :is(.location-button,.time-stepper button,.route-choice){transition:transform var(--motion-press) var(--ease-out)}.picker-inner :is(.location-button,.time-stepper button,.route-choice):not(:disabled):active{transform:scale(.98)}.picker-inner .time-choice:not(:disabled):active .time-chip{transform:scale(.94)}.picker-inner :is(.time-choice,.time-stepper button,.location-button):focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.picker-inner .time-stepper button:disabled{opacity:.45;cursor:not-allowed}.app-navigation .section-icon{transition:transform var(--motion-press) var(--ease-out)}.app-navigation a:active .section-icon{transform:scale(.92)}@media(hover:hover)and (pointer:fine){.picker-inner .location-button:not(:disabled):hover,.picker-inner .time-stepper button:not(:disabled):hover{background:var(--color-sage-surface)}}@media(min-width:900px)and (min-height:600px){.picker-section .picker-inner{max-width:60rem}.picker-inner .live-picker-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px}}@media(prefers-reduced-motion:reduce){.picker-inner *,.app-navigation .section-icon{transition-duration:0s}.picker-inner .time-choice.selected .time-chip,.picker-inner .time-choice:not(:disabled):active .time-chip,.picker-inner :is(.location-button,.time-stepper button,.route-choice):active,.app-navigation a:active .section-icon{transform:none}}.stop-picker,.favorite-places,.adventure-option,.route-confidence,.route-feedback,.city-passport{min-width:0;overflow-wrap:anywhere;color:var(--color-ink, #173d36)}.adventure-option{margin-block:0 16px;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent}.stop-picker{border-top:1px solid var(--color-divider)}.stop-picker summary{display:grid;grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:12px;padding:16px 0;min-height:72px;cursor:pointer;list-style:none;touch-action:manipulation}.stop-picker summary::-webkit-details-marker{display:none}.stop-picker summary[aria-disabled=true]{cursor:default;opacity:.6}.stop-picker summary strong,.place-choice-list strong{display:block;font-size:1rem;line-height:1.4}.stop-picker small,.place-choice-list small{display:block;color:var(--color-secondary-ink, #526b5e);font-size:.8125rem;line-height:1.5}.place-token{display:grid;place-items:center;width:40px;height:40px;border:2px solid currentColor;outline:1px dashed currentColor;outline-offset:-6px;border-radius:50%;background:var(--color-sage-surface, #e8eddc);pointer-events:none}.place-token .control-icon{width:21px;height:21px}.stop-picker-content{padding:0 16px 14px}.place-search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--color-border-muted, #c6cebd);background:var(--color-paper, #fffcf4);border-radius:12px;padding:0 12px}.place-search-field .control-icon{flex:none;width:20px;height:20px}.place-search-field input{min-width:0;width:100%;min-height:48px;padding:10px 0;border:0;border-radius:0;background:transparent;color:inherit;font-size:1rem}.place-search-field:focus-within{outline:2px solid var(--color-ink, #173d36);outline-offset:2px}.place-search-field input:focus{outline:none}.place-search-status{min-height:0;margin-block:6px;font-size:.8125rem;line-height:1.5}.place-choice-list,.favorite-place-list{list-style:none;margin:0;padding:0}.place-choice-list li+li{border-top:1px solid var(--color-border-muted, #c6cebd)}.place-choice-list .place-search-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:8px;align-items:center}.place-choice-list .place-search-row:not(:has(.place-map-preview)){grid-template-columns:minmax(0,1fr)}.place-choice-list .place-map-preview{width:48px;min-height:48px;justify-content:center;border-radius:50%;background:var(--color-sage-surface)}.place-distance-note{margin:8px 0;font-size:.8125rem;line-height:1.5;color:var(--color-secondary-ink)}.choose-map-place{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;max-width:100%;margin-block:8px;padding:10px 12px;border:1px solid var(--color-border-muted);border-radius:12px;background:var(--color-sage-surface);color:var(--color-ink);font:inherit;font-size:.875rem;font-weight:600;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation}.choose-map-place .control-icon{width:20px;height:20px;flex:none}.destination-place-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;min-width:0}.favorite-destination-toggle[aria-expanded=true]{border-color:var(--color-ink)}.favorite-destination-toggle .control-icon{fill:currentColor}.favorite-destination-panel{flex:0 0 100%;min-width:0;padding-block:4px 12px;overflow-wrap:anywhere}.favorite-destination-panel>p{margin:8px 0;font-size:.875rem;line-height:1.5}.favorite-destination-panel .place-error{padding-inline:0}.favorite-destination-panel .place-choice-list button{padding:12px 8px;border-radius:12px}.favorite-destination-panel .favorite-more{min-height:48px}.favorite-destination-panel [aria-pressed=true]{background:var(--color-sage-surface)}.place-choice-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;width:100%;padding:10px 2px;background:transparent;border:0;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation}.place-choice-list button>span{min-width:0;flex:1}.place-choice-list .control-icon{flex:none;width:20px;height:20px}.place-list-label{margin:14px 0 4px;font-size:.8125rem;font-weight:600}.picked-place-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:0 16px 10px}.picked-place-actions button,.stop-reset,.keep-place-action,.favorite-place-plan button,.favorite-more,.place-error button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:inherit;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;touch-action:manipulation}.picked-place-actions .control-icon,.stop-reset .control-icon,.keep-place-action .control-icon{width:18px;height:18px;flex:none}.stop-reset{padding-left:0;margin-bottom:6px}.keep-place-action{background:var(--color-paper, #fffcf4);border:1px solid var(--color-border-muted, #c6cebd);margin-top:8px}.keep-place-action[aria-pressed=true] .control-icon,.picked-place-actions [aria-pressed=true] .control-icon,.favorite-remove .control-icon{fill:currentColor}.place-error{padding:8px 16px;margin:4px 0 10px;font-size:.875rem;line-height:1.5}.favorite-places{margin-block:20px 28px}.favorite-places>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.favorite-places h2{display:flex;align-items:center;gap:8px;margin:0;font:inherit;font-weight:600;font-size:1.125rem}.favorite-places h2 .control-icon{width:21px;height:21px}.favorite-places header>span,.favorite-empty,.favorite-places>p{font-size:.875rem;color:var(--color-secondary-ink, #526b5e)}.favorite-place-list>li{display:grid;grid-template-columns:40px minmax(0,1fr) 48px;align-items:start;gap:10px;padding:14px 0;border-bottom:1px dashed var(--color-border-muted, #c6cebd)}.favorite-place-body{min-width:0}.favorite-place-body>strong{display:block;font-size:1rem;line-height:1.4}.favorite-place-body>span{display:block;margin-top:3px;font-size:.8125rem;line-height:1.5;color:var(--color-secondary-ink, #526b5e)}.favorite-place-plan{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:8px}.favorite-place-plan button:first-child{border:1px solid var(--color-border-muted, #c6cebd);background:var(--color-sage-surface, #e8eddc)}.favorite-place-plan .control-icon{width:18px;height:18px}.favorite-remove{width:48px;min-height:48px;display:grid;place-items:center;border:0;border-radius:50%;color:inherit;background:transparent;cursor:pointer;touch-action:manipulation}.favorite-remove .control-icon{width:20px;height:20px}.favorite-more{margin-top:8px}.picked-stop-ticket{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:16px}.picked-stop-ticket strong{font-size:1rem;line-height:1.4}.picked-stop-ticket p{margin:4px 0;color:var(--color-secondary-ink, #526b5e);font-size:.875rem}.place-choice-list button,.favorite-place-plan button,.favorite-remove,.keep-place-action{transition:transform var(--motion-press, .16s) var(--ease-out)}.place-choice-list button:active,.favorite-place-plan button:active,.favorite-remove:active,.keep-place-action:active{transform:scale(.98)}@media(hover:hover)and (pointer:fine){.place-choice-list button:hover,.favorite-place-plan button:hover,.favorite-remove:hover{background:var(--color-sage-surface, #e8eddc)}}@media(prefers-reduced-motion:reduce){.place-choice-list button,.favorite-place-plan button,.favorite-remove,.keep-place-action{transition:none;transform:none}}:root[data-motion=quiet] .place-choice-list button,:root[data-motion=quiet] .favorite-place-plan button,:root[data-motion=quiet] .favorite-remove,:root[data-motion=quiet] .keep-place-action{transition:none;transform:none}.coffee-choice{display:grid;grid-template-columns:32px minmax(0,1fr) 40px;align-items:center;gap:12px;width:100%;min-height:72px;padding:16px 0;border:0;border-radius:0;background:transparent;color:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:transform var(--motion-press, .16s) var(--ease-out)}.coffee-choice:active{transform:scale(.985)}.coffee-choice strong{display:block;font-size:1rem;line-height:1.4}.coffee-choice small{display:block;margin-top:2px;font-size:.8125rem;line-height:1.5;color:var(--color-secondary-ink, #526b5e)}.coffee-token{position:relative;display:grid;place-items:center;flex:none;width:46px;height:46px;border:2px solid currentColor;border-radius:50%;background:var(--color-canvas, #f5f1e7);transform:rotate(-8deg);transition:transform .24s var(--ease-out),background-color .16s ease}.coffee-token:after{position:absolute;inset:4px;border:1px dashed currentColor;border-radius:inherit;content:"";opacity:.55;pointer-events:none}.coffee-token svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.adventure-option[data-on=true] .coffee-token{transform:rotate(8deg)}.adventure-switch{display:flex;align-items:center;width:38px;height:24px;padding:3px;border:1px solid currentColor;border-radius:20px;background:var(--color-sage-surface, #e8eddc)}.adventure-switch>span{display:block;width:16px;height:16px;flex:none;border-radius:50%;background:currentColor;transition:transform .16s var(--ease-out)}.adventure-option[data-on=true] .adventure-switch>span{transform:translate(12px)}.adventure-option[data-on=true] .coffee-steam{animation:coffee-steam .9s ease-in-out 2}.coffee-settings{display:grid;gap:8px;padding:0 16px 14px}.coffee-settings label{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px}.coffee-settings .coffee-budget{flex:1 1 7rem;min-width:0}.coffee-settings small,.adventure-footnote{font-size:.8125rem;line-height:1.5;color:var(--color-secondary-ink, #526b5e)}.coffee-settings select,.passport-city select,.feedback-location select{min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--color-border-muted, #c6cebd);border-radius:12px;background:var(--color-paper, #fffcf4);color:inherit;font:inherit;font-size:max(1rem,16px)}.coffee-ticket{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:flex-start;gap:12px;padding:14px 0;border-block:1px dashed var(--color-border-muted, #c6cebd)}.coffee-ticket>div{min-width:0}.route-stop-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:0}.route-stop-actions :is(.coffee-map-action,.keep-place-action){min-height:48px;max-width:100%;margin:0;white-space:normal;overflow-wrap:anywhere}.route-stop-actions>:is(p,small){flex-basis:100%;margin:0}.coffee-ticket strong{font-size:1.0625rem}.coffee-ticket p{margin:5px 0;font-size:.875rem;line-height:1.5}.route-feedback>summary{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;min-height:52px;padding-block:12px;cursor:pointer;list-style:none;font-weight:600}.route-feedback>summary>span{font-size:.8125rem;font-weight:400;color:var(--color-secondary-ink)}.route-confidence{container-type:inline-size}.route-facts-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;margin-bottom:12px}.route-facts-heading h2{margin:0;font:700 1rem/1.4 DM Sans,sans-serif;letter-spacing:0}.route-style-token{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--color-sage-surface);color:var(--color-ink);font:inherit;font-size:.8125rem}.route-style-token .control-icon{width:18px;height:18px;flex:none}.route-fact-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.route-fact{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;min-width:0;min-height:72px;padding:12px 8px;border-radius:12px;background:var(--color-canvas);color:var(--color-ink)}.route-fact-token{grid-column:1;grid-row:1;min-width:0;margin:0;overflow-wrap:anywhere}.route-fact-token strong{font:700 1.5rem/1.2 Fraunces,Georgia,serif;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.route-fact-token small{font-family:DM Sans,sans-serif;font-size:.75rem;margin-left:1px}.route-fact-label{grid-column:1 / -1;grid-row:2;display:block;margin-top:6px;min-width:0;overflow-wrap:anywhere;font-size:.8125rem;font-weight:600;line-height:1.4}@container (max-width: 18rem){.route-fact-chips{grid-template-columns:minmax(0,1fr)}.route-fact{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:8px;min-height:44px}.route-fact-label{grid-column:1;grid-row:1;margin:0}.route-fact-token{grid-column:2}}.coffee-map-action{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 0;border:0;border-bottom:1px solid var(--color-border-muted);background:transparent;color:var(--color-ink);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;touch-action:manipulation}.coffee-map-action .control-icon{width:18px;height:18px}.route-confidence button:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.route-feedback{margin-block:4px 16px;border-top:1px solid var(--color-divider)}.route-feedback-form>p{font-size:.9375rem;line-height:1.5}.feedback-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr));gap:8px}.feedback-choices button{display:grid;grid-template-columns:24px minmax(0,1fr);min-width:0;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border:1px solid var(--color-border-muted, #c6cebd);border-radius:15px;background:var(--color-paper, #fffcf4);color:inherit;font:inherit;font-size:.875rem;text-align:left;cursor:pointer;touch-action:manipulation;transition:transform var(--motion-press, .16s) var(--ease-out),background-color .16s ease}.feedback-choices button>span{display:grid;place-items:center;flex:none;width:24px;height:24px;border:1px dashed currentColor;border-radius:50%;font-size:1rem;transition:transform .18s var(--ease-out)}.feedback-choices button:active{transform:scale(.97)}.feedback-choices button[aria-pressed=true]{background:var(--color-sage-surface, #e8eddc);border-color:currentColor}.feedback-choices button[aria-pressed=true]>span{transform:rotate(12deg)}.feedback-location{margin-top:8px;font-size:.875rem}.feedback-location>label{display:grid;gap:6px;padding-bottom:12px}.feedback-send{width:100%;min-height:48px;display:flex;justify-content:center;align-items:center;gap:10px}.feedback-send svg{width:24px;height:24px;animation:adventure-wheel 1.4s linear infinite}.feedback-receipt{display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 12px;line-height:1.5;padding:16px;border:1px dashed var(--color-border-muted, #c6cebd);border-radius:18px;background:var(--color-sage-surface, #e8eddc)}.feedback-receipt>span:last-child{grid-column:2;font-size:.875rem}.feedback-seal{display:grid;place-items:center;width:42px;height:42px;border:2px solid currentColor;border-radius:50%;background:#f4d795;animation:adventure-stamp .28s var(--ease-out) both}.city-passport{margin-block:20px;padding:18px 16px;border:1px solid var(--color-border-muted, #c6cebd);border-radius:22px;background:var(--color-paper, #fffcf4)}.city-passport>header{display:flex;gap:12px;align-items:center}.city-passport h3{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.5rem;line-height:1.25}.city-passport header p{font-size:.8125rem;line-height:1.5;margin:4px 0 0}.passport-wheel{flex:none;width:40px;height:40px;transform:rotate(-12deg)}.passport-wheel svg{width:100%;height:100%}.passport-city{display:grid;gap:6px;margin:0;flex:1;min-width:0;font-size:.8125rem}.passport-city select{width:100%;min-width:0}.passport-page{animation:passport-page .18s var(--ease-out) both;transform-origin:left center}.passport-heading{display:flex;margin-top:16px;min-width:0;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px}.passport-heading strong{font-size:1.125rem}.passport-country{display:block;margin-top:2px;font-size:.8125rem;color:var(--color-secondary-ink)}.passport-heading>span{font-size:.8125rem}.passport-seals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,5.25rem),1fr));gap:10px 6px;padding:16px 0;margin:0;list-style:none}.passport-seals li{display:flex;min-width:0;flex-direction:column;align-items:center;gap:6px;text-align:center}.passport-stamp{display:grid;place-items:center;flex:none;width:54px;height:54px;border:2px dashed var(--color-border-muted, #c6cebd);border-radius:50%;font-family:Fraunces,Georgia,serif;font-size:1.75rem;background:var(--color-canvas, #f5f1e7);color:var(--color-secondary-ink, #526b5e);transform:rotate(-7deg)}.passport-seals .is-earned .passport-stamp{border:3px double currentColor;background:#f4d795;color:var(--color-ink, #173d36)}.passport-seals .is-new .passport-stamp{animation:adventure-stamp .24s var(--ease-out) both}.passport-stamp>svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feedback-choices .control-icon{width:18px;height:18px}.feedback-seal .control-icon{width:28px;height:28px}.passport-seals strong{font-size:.75rem;line-height:1.4}.passport-seals small{font-size:.75rem;line-height:1.4;color:var(--color-secondary-ink, #526b5e)}.passport-mileage{font-size:.8125rem;line-height:1.5;border-block:1px dashed var(--color-border-muted, #c6cebd);padding-block:10px}.passport-empty{display:flex;gap:12px;align-items:center;margin-block:20px}.passport-empty p{font-size:.875rem;line-height:1.6}.feedback-queue{padding:0;list-style:none}.feedback-queue li{padding:16px 0;border-bottom:1px solid var(--color-border-muted, #c6cebd)}.feedback-queue p{margin:6px 0}.feedback-queue li>div{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.feedback-queue button,.admin-feedback button{min-height:44px;padding:8px 12px;font:inherit;font-size:.875rem}.admin-feedback>summary{min-height:48px;cursor:pointer}.admin-feedback>summary span{margin-left:8px;font-size:.8125rem}.verification-notice{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 0;font-size:.875rem;line-height:1.5}.verification-notice button{min-height:44px;padding:8px 12px;font:inherit;color:inherit}@keyframes adventure-stamp{0%{opacity:0;transform:scale(1.12) rotate(-18deg)}to{opacity:1;transform:scale(1) rotate(-7deg)}}@keyframes passport-page{0%{opacity:.3}to{opacity:1}}@keyframes coffee-steam{0%,to{opacity:.4;transform:translateY(1px)}50%{opacity:1;transform:translateY(-2px)}}@keyframes adventure-wheel{to{transform:rotate(360deg)}}@media(hover:hover)and (pointer:fine){.coffee-choice:hover .coffee-token{transform:rotate(4deg)}.feedback-choices button:hover{background:var(--color-sage-surface, #e8eddc)}}@media(max-width:360px){.coffee-choice{grid-template-columns:42px minmax(0,1fr) 38px;gap:8px;padding:12px}.coffee-token{width:40px;height:40px}}html[data-motion=quiet] .coffee-steam,html[data-motion=quiet] .feedback-seal,html[data-motion=quiet] .passport-page,html[data-motion=quiet] .passport-stamp,html[data-motion=quiet] .feedback-send svg{animation:none!important}html[data-motion=quiet] .coffee-token,html[data-motion=quiet] .adventure-switch>span,html[data-motion=quiet] .coffee-choice,html[data-motion=quiet] .feedback-choices button,html[data-motion=quiet] .feedback-choices button>span{transition:none!important}@media(prefers-reduced-motion:reduce){.coffee-steam,.feedback-seal,.passport-page,.passport-stamp,.feedback-send svg{animation:none!important}.coffee-token,.adventure-switch>span,.coffee-choice,.feedback-choices button,.feedback-choices button>span{transition:none!important}}.coffee-budget{margin:0;font-size:.875rem;line-height:1.5;font-variant-numeric:tabular-nums}.coffee-time-repair{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.coffee-time-repair p{flex:1 1 10rem;margin:0;font-size:.875rem;line-height:1.5}.coffee-adjust-time{min-height:48px;border:1px solid currentColor;border-radius:12px;padding:8px 12px;background:var(--color-paper-gold);color:inherit;font:inherit;font-weight:600;cursor:pointer}.adventure-note{border:0;font-size:.8125rem;line-height:1.5;color:var(--color-secondary-ink)}.adventure-note p{margin:0 0 12px}.adventure-note>summary,.feedback-location>summary{display:flex;align-items:center;min-height:48px;cursor:pointer;list-style:none}:is(.route-feedback,.adventure-note,.feedback-location)>summary{position:relative;padding-right:24px}:is(.route-feedback,.adventure-note,.feedback-location)>summary::-webkit-details-marker{display:none}:is(.route-feedback,.adventure-note,.feedback-location)>summary:after{position:absolute;right:4px;top:calc(50% - 5px);width:7px;height:7px;content:"";border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform var(--motion-press) var(--ease-out)}:is(.route-feedback,.adventure-note,.feedback-location)[open]>summary:after{transform:rotate(225deg)}html[data-motion=quiet] :is(.route-feedback,.adventure-note,.feedback-location)>summary:after{transition:none}@media(prefers-reduced-motion:reduce){:is(.route-feedback,.adventure-note,.feedback-location)>summary:after{transition:none}}.feedback-receipt:focus{outline:none}.feedback-edit{min-height:48px;padding:8px 0;border:0;background:transparent;color:var(--color-secondary-ink);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.selected-place-address{margin:6px 0;font-size:.875rem;line-height:1.5;color:var(--color-secondary-ink);overflow-wrap:anywhere}.picker-inner .adventure-option :is(.coffee-token,.place-token){width:32px;height:32px;border:0;outline:0;border-radius:0;background:transparent;color:var(--color-secondary-ink);transform:none}.picker-inner .adventure-option .coffee-token:after{display:none}.picker-inner .adventure-option :is(.coffee-token svg,.place-token .control-icon){width:24px;height:24px}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");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:DM Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/dm-sans-latin-ext-800-normal-m9aqBDDI.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-800-normal-DOQ-4In_.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/dm-sans-latin-800-normal-C2H8778U.woff2) format("woff2"),url(/assets/dm-sans-latin-800-normal-BwbkPQqB.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-vietnamese-600-normal-BjlAJixd.woff2) format("woff2"),url(/assets/fraunces-vietnamese-600-normal-DlAl5EAR.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-ext-600-normal-BtzmzP0X.woff2) format("woff2"),url(/assets/fraunces-latin-ext-600-normal-B0Dy4lqi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-normal-BFCDtZfi.woff2) format("woff2"),url(/assets/fraunces-latin-600-normal-DL5QCzvS.woff) format("woff");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:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-vietnamese-700-normal-DH94m5DZ.woff2) format("woff2"),url(/assets/fraunces-vietnamese-700-normal-DxawQjq2.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-ext-700-normal-CanUGppC.woff2) format("woff2"),url(/assets/fraunces-latin-ext-700-normal-DuBstVeD.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fraunces-latin-700-normal-CEOla-zY.woff2) format("woff2"),url(/assets/fraunces-latin-700-normal-DTjk5d1Q.woff) format("woff");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}:root{--layer-popover: 30;--color-ink: #173d36;--color-night-ink: #222b28;--color-secondary-ink: #476458;--color-text-muted: #506358;--color-canvas: #f6f3eb;--color-paper: #fffdf6;--color-paper-warm: #fffaf0;--color-paper-gold: #fff9e8;--color-sage-surface: #e9eee0;--color-divider: #dce2d6;--color-control-border: #81958a;--space-unit: 4px;--radius-control: 12px;--radius-panel: 16px;--color-border-green: #b9cfb8;--color-border-muted: #b9c9b8;--color-border-soft: #c7d5c9;--color-border-sage: #bed3bd;--color-accent: #d65336;--color-accent-strong: #b64027;--color-accent-deep: #a9432e;--color-route-green: #2b6749;--color-sunshine: #f5be57;font-family:DM Sans,system-ui,sans-serif;color-scheme:light;color:var(--color-ink);background:var(--color-canvas);font-synthesis:none;-webkit-font-smoothing:antialiased}.signed-in-access{display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-left:auto}.header-rides,.account-menu summary,.account-menu-content button{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px;color:var(--color-ink);border:0;background:transparent;font-size:.875rem;font-weight:600}.header-rides svg,.account-menu-content svg{width:20px;height:20px;flex:none}.account-menu{position:relative}.account-menu summary{cursor:pointer;list-style:none}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary>span{max-width:18ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}.account-menu-content{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--layer-popover);width:min(260px,calc(100vw - 32px));padding:12px;border-radius:12px;background:var(--color-paper-warm);box-shadow:0 8px 28px #173d3626}.account-menu-content p{margin:4px 8px 10px;font-size:.8125rem;line-height:1.5;overflow-wrap:anywhere}.account-menu-content p strong{display:block}.account-menu-content button{width:100%;text-align:left;border-radius:8px}@media(hover:hover)and (pointer:fine){.account-menu-content button:hover,.header-rides:hover{background:var(--color-sage-surface)}}.app-disclosure{border:0}.app-disclosure>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding-block:6px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:600}.app-disclosure>summary::-webkit-details-marker{display:none}.app-disclosure>summary:after{flex:none;content:"";width:7px;height:7px;margin-left:auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}.app-disclosure[open]>summary:after{transform:translateY(2px) rotate(225deg)}.app-disclosure>summary span{color:var(--color-text-muted);font-weight:500}.route-preference-field.app-disclosure{margin-block:4px 0;padding:0;background:transparent;border:0;border-radius:0}.route-preference-field>.route-preference-options{padding-block:8px}.route-preference-field .route-choice{padding:10px 12px;min-height:48px;border-radius:12px}.custom-duration-options .custom-time{margin-top:4px}.ride-dashboard>.stats-row{grid-template-columns:repeat(auto-fit,minmax(86px,1fr))}.ride-extra-details>.stats-row{margin-bottom:12px}.ride-extra-details{margin-top:24px;border-top:1px dashed var(--color-border-muted);padding-top:20px}.ride-details-title{margin:0 0 12px;font:750 1.125rem/1.4 DM Sans,sans-serif}.cyclist-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));gap:12px;margin:0}.cyclist-detail-grid>div{display:flex;align-items:center;gap:10px;min-width:0;padding-block:10px}.cyclist-detail-token{display:grid;place-items:center;flex:none;width:40px;height:40px;border:1px dashed var(--color-secondary-ink);border-radius:50%;background:var(--color-sage-surface)}.cyclist-detail-token .control-icon{width:22px;height:22px}.cyclist-detail-label,.cyclist-stop-list small{color:var(--color-secondary-ink);font-size:.875rem;line-height:1.5}.cyclist-detail-value{display:block;margin:0;font-weight:600}.cyclist-stop-list{list-style:none;padding:0;margin:0}.cyclist-stop-list li+li{border-top:1px solid var(--color-divider)}.cyclist-stop-list button{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 0;border:0;background:transparent;color:var(--color-ink);font:inherit;text-align:left;touch-action:manipulation}.cyclist-stop-list button>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.cyclist-stop-list strong,.cyclist-stop-list small{display:block}.cyclist-stop-list button>.control-icon{width:22px;height:22px;flex:none}.cyclist-stop-list button:active .cyclist-detail-token{background:var(--color-paper-gold)}.ride-detail-heading{margin:16px 0 4px;font-family:DM Sans,sans-serif;font-size:.9375rem}.ride-extra-details .ride-warning{margin-top:0}.route-check-note{margin:12px 0;max-width:70ch;color:#70532f;font-size:.875rem;line-height:1.5}.destination-plan .time-mode{margin-block:0 12px}.destination-plan .time-mode button{white-space:normal;text-align:left}.account-error.container{margin:0 auto 12px}@media(max-width:700px){.site-header:has(.signed-in-access){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding-block:12px}.site-header:has(.signed-in-access) .brand{grid-column:1;grid-row:1}.site-header:has(.signed-in-access) .header-link{grid-column:2;grid-row:1}.signed-in-access{grid-column:1 / -1;grid-row:2;justify-content:space-between;margin-left:0;min-width:0}}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-color:var(--color-border-muted) var(--color-canvas)}::selection{color:var(--color-paper-warm);background:var(--color-ink)}input,textarea{caret-color:var(--color-ink)}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.65}a{color:inherit}:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.container{width:min(1220px,calc(100% - 48px));margin-inline:auto;max-width:calc(100% - max(16px,env(safe-area-inset-left)) - max(16px,env(safe-area-inset-right)))}.app-shell{overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.site-header{min-height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.site-header-guest{border:0}.brand{display:inline-flex;align-items:center;gap:12px;border:0;background:none;padding:8px 0;color:var(--color-ink);text-align:left}.brand-icon{display:block;width:78px;height:40px;object-fit:contain}.brand-copy{display:grid;gap:1px}.brand-name{font-size:1.3125rem;font-weight:600;letter-spacing:-.04em;line-height:1.1;white-space:nowrap}.brand-sub{color:var(--color-text-muted);font-size:.6875rem;font-weight:600;line-height:1.25}.brand-accent{font-weight:500}.title-period{color:var(--color-accent-strong)}.header-link{flex:none;text-decoration:none;border-bottom:1px solid;padding-bottom:4px;font-size:.8125rem;font-weight:600}.header-link-arrow{margin-left:8px}.header-link-mini{display:none}.offline-note{padding:12px 24px;text-align:center;background:#f7d889;font-size:.8125rem;font-weight:600}.account-status{line-height:1.4}.guest-access{display:flex;align-items:center;justify-content:center;gap:10px 16px;flex:1;min-width:0}.guest-credit{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--color-ink);font-size:.8125rem;font-weight:600;white-space:nowrap}.guest-chip{position:relative;display:grid;place-items:center;flex:none;width:34px;height:34px;border:2px solid var(--color-paper-warm);border-radius:50%;background:var(--color-accent-strong);box-shadow:0 0 0 1px var(--color-ink);color:var(--color-paper-warm);font-family:Fraunces,Georgia,serif;font-size:1.25rem;font-weight:600;line-height:1}.guest-chip:before{position:absolute;inset:3px;border:1px dashed #fffaf0b8;border-radius:50%;content:""}.guest-chip.has-spin{background:var(--color-route-green)}.google-signin{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:5px 0;border:0;background:transparent;color:var(--color-ink);font-size:.8125rem;font-weight:600;text-decoration:none}.google-signin{gap:9px;min-height:44px;padding:5px 12px 5px 6px;border:1px solid var(--color-ink);border-radius:9px;background:var(--color-ink);box-shadow:0 3px #102b27;color:var(--color-paper-warm);font-weight:600;white-space:nowrap;transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease}@media(hover:hover)and (pointer:fine){.google-signin:hover{transform:translateY(-2px);background:#265447;color:var(--color-paper-warm)}}.google-signin:active{transform:translateY(2px)}.google-signin svg{width:16px;height:16px;color:var(--color-sunshine)}.google-signin-short{display:none}.google-g{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff}.google-g img{display:block;width:19px;height:19px;object-fit:contain}.account-unavailable{color:var(--color-text-muted);font-size:.75rem}.account-error{flex-basis:100%;margin:0;color:#a43b2d}.history-section{padding-block:20px 32px}.history-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px}.history-heading h1{margin:5px 0 0;font-family:Fraunces,Georgia,serif;font-size:clamp(30px,4vw,48px);font-weight:600;letter-spacing:-.02em}.history-heading>span,.history-empty{color:var(--color-text-muted);font-size:.8125rem}.history-list{display:grid;gap:10px;padding:0;margin:0;list-style:none}.history-search{display:flex;align-items:center;gap:8px;min-width:0;margin:16px 0;padding:4px 6px 4px 12px;border:1px solid var(--color-border-muted);border-radius:16px;background:var(--color-sage-surface);color:var(--color-secondary-ink)}.history-search input{flex:1;min-width:0;width:100%;border:0;padding:8px 0;background:transparent;color:var(--color-ink);font:inherit;font-size:1rem;appearance:none;-webkit-appearance:none}.history-search input::-webkit-search-cancel-button{-webkit-appearance:none}.history-search button{display:grid;place-items:center;width:48px;height:48px;flex:none;padding:12px;border:0;border-radius:50%;background:transparent;color:var(--color-ink)}.history-search:focus-within{border-color:var(--color-ink);outline:2px solid var(--color-ink);outline-offset:2px}.app-shell .history-search input:focus-visible{outline:none}.history-empty-state{padding-block:16px}.history-list li{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:4px;padding:6px;border:0}.history-open{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;width:100%;min-width:0;padding:12px;border:0;background:transparent;color:var(--color-ink);text-align:left}@media(hover:hover)and (pointer:fine){.history-open:hover{color:var(--color-accent-strong)}}.history-list strong{min-width:0;font-size:1rem;line-height:1.4;overflow-wrap:anywhere;word-break:normal}.history-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;color:var(--color-text-muted);font-size:.8125rem;line-height:1.4;font-variant-numeric:tabular-nums}.history-meta>*{min-width:0;max-width:100%;overflow-wrap:anywhere}.history-delete{display:grid;place-items:center;width:48px;min-height:48px;padding:12px;border:0;background:transparent;color:#8d5147}@media(hover:hover)and (pointer:fine){.history-delete:hover{color:var(--color-accent-strong);text-decoration:underline;text-underline-offset:4px}}.history-pagination{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:20px}.history-pagination button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:4px 0;border:0;background:transparent;color:#175b47;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}@media(hover:hover)and (pointer:fine){.history-pagination button:hover{color:var(--color-accent-strong)}}.history-pagination button span{font-size:1.125rem;font-weight:400}h1,h2,h3{text-wrap:balance;overflow-wrap:anywhere}p{text-wrap:pretty;overflow-wrap:anywhere}.stat strong,.time-choice,.elevation-axis,.directions li small{font-variant-numeric:tabular-nums}.result-heading h1{font-family:Fraunces,Georgia,serif;font-size:clamp(56px,6vw,90px);line-height:1.06;letter-spacing:-.04em;margin:27px 0 22px}.about-section :is(h1,h2) em{color:var(--color-accent-strong);font-weight:600}.roulette-wheel{position:relative;display:grid;place-items:center;flex:none;width:154px;height:154px;padding:9px;border:2px solid var(--color-ink);border-radius:50%;background:var(--color-paper-warm);box-shadow:0 5px 14px #173d3620;color:var(--color-ink);cursor:pointer;text-decoration:none;transition:transform .18s cubic-bezier(.16,1,.3,1),background-color .18s ease;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.roulette-wheel.is-spinning{cursor:progress}.roulette-wheel:disabled{opacity:1}.roulette-wheel-primary{--wheel-size: 64px;--wheel-hub-size: 32px;--wheel-inset: 14px;justify-items:start;width:min(100%,350px);min-height:84px;height:auto;padding:12px calc(var(--wheel-size) + var(--wheel-inset) + 16px) 12px 22px;border-radius:14px;background:var(--color-accent-strong);box-shadow:0 5px 14px #173d3629;color:var(--color-paper-warm);text-align:left}.roulette-wheel-primary:disabled{opacity:1}.roulette-wheel-primary:disabled:not(.is-spinning):not(.is-settling){background:#6c8176;cursor:not-allowed}@media(hover:hover)and (pointer:fine){.roulette-wheel:not(:disabled):hover{transform:translateY(-2px)}.roulette-wheel-primary:not(:disabled):hover{background:#a73520}}.roulette-wheel:not(:disabled):active{transform:scale(.98)}.wheel-action{z-index:1;display:grid;pointer-events:none}.wheel-action strong{font-family:Fraunces,Georgia,serif;font-size:clamp(24px,2.7vw,28px);line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.roulette-wheel-primary:disabled .wheel-action strong,.roulette-wheel-primary.is-locked .wheel-action strong{font-size:1.5rem}.wheel-rotor{position:relative;display:grid;place-items:center;width:100%;height:100%;border-radius:50%}.wheel-rotor:before{position:absolute;inset:-4px;border:2px dotted var(--color-sunshine);border-radius:50%;content:"";opacity:.75;transition:opacity .2s ease}.roulette-wheel.is-spinning .wheel-rotor:before{opacity:1}.wheel-face{display:grid;place-items:center;width:100%;height:100%;border:2px solid var(--color-ink);border-radius:50%;background:conic-gradient(from -22.5deg,var(--color-accent) 0deg 45deg,var(--color-sunshine) 45deg 90deg,#d7e5cb 90deg 135deg,#e9a18b 135deg 180deg,var(--color-sunshine) 180deg 225deg,var(--color-accent) 225deg 270deg,#d7e5cb 270deg 315deg,#e9a18b 315deg 360deg)}.roulette-wheel-primary .wheel-rotor{position:absolute;top:0;bottom:0;right:var(--wheel-inset);width:var(--wheel-size);height:var(--wheel-size);margin-block:auto}.roulette-wheel-primary .wheel-center{top:0;bottom:0;right:calc(var(--wheel-inset) + (var(--wheel-size) - var(--wheel-hub-size)) / 2);width:var(--wheel-hub-size);height:var(--wheel-hub-size);margin-block:auto;color:var(--color-ink)}.roulette-wheel-primary .wheel-arrow{width:20px;height:20px}.roulette-wheel-primary .wheel-pointer{top:calc((100% - var(--wheel-size)) / 2 - 4px);right:calc(var(--wheel-inset) + var(--wheel-size) / 2 - 7px);left:auto;width:14px;height:16px;transform:none}.wheel-face:after{content:"";width:83%;height:83%;border:1px dashed #173d3660;border-radius:50%}.roulette-wheel.is-spinning .wheel-face,.roulette-wheel.is-settling .wheel-face{will-change:transform}.wheel-pointer{position:absolute;z-index:2;top:-18px;left:50%;width:23px;height:29px;background:var(--color-ink);clip-path:polygon(0 0,100% 0,50% 100%);transform:translate(-50%)}.wheel-center{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:55%;height:55%;border:2px solid var(--color-ink);border-radius:50%;background:var(--color-paper-warm);font-size:.6875rem;font-weight:900;letter-spacing:.08em;white-space:nowrap;box-shadow:0 3px 9px #173d3630}.wheel-arrow{width:31px;height:31px;flex:none}.picker-section{border:0}.picker-inner{padding-block:24px 28px}.picker-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:12px}.picker-heading h1,.about-section :is(h1,h2),.directions h2{font-family:Fraunces,Georgia,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:0}.live-picker-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.84fr);gap:clamp(16px,3vw,32px)}.suggested-time:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.location-fields{display:grid;align-content:start;gap:14px;min-width:0}.suggested-time{display:inline-block;margin-left:12px;padding:7px 11px;border:1px solid currentColor;border-radius:8px;background:var(--color-paper);color:var(--color-ink);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.field-group{position:relative;min-width:0}.field-label{display:block;margin-bottom:6px;font-size:.9375rem;font-weight:600}.address-label{display:flex;align-items:center;gap:9px}.address-chip{position:relative;display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--color-paper-warm);border-radius:50%;background:var(--color-accent-strong);box-shadow:0 0 0 1px var(--color-ink);color:var(--color-paper-warm);animation:chip-land .22s cubic-bezier(.16,1,.3,1) both}.address-chip:before{position:absolute;inset:2px;border:1px dashed #fffaf0b8;border-radius:50%;content:""}.address-chip-destination{background:var(--color-route-green)}.address-chip svg{position:relative;z-index:1;width:13px;height:13px}@keyframes chip-land{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}.address-form{display:flex;position:relative}.address-form.is-confirmed input{border-color:#789b7c;background:var(--color-paper-warm)}.address-clear{position:absolute;top:0;right:2px;width:48px;height:48px;border:0;border-radius:9px;background:transparent;color:var(--color-text-muted);font-size:1.5625rem;line-height:1}@media(hover:hover)and (pointer:fine){.address-clear:hover{background:var(--color-sage-surface)}}.address-hint{min-height:0;margin:4px 0 0;color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.address-hint:empty{display:none}.address-form input,.custom-time input{width:100%;min-width:0;min-height:48px;padding:0 16px;border:1.5px solid #c6d5c4;border-radius:12px;background:var(--color-paper);color:var(--color-ink);font-size:.9375rem}.address-form input::placeholder,.custom-time input::placeholder{color:var(--color-text-muted)}.address-form input{padding-inline-end:52px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;border-radius:12px;border:1.5px solid transparent;padding:0 22px;font-size:.875rem;font-weight:600;white-space:nowrap;transition:transform .2s,box-shadow .2s,background .2s}@media(hover:hover)and (pointer:fine){.button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 8px 18px #163c3625}}.button-secondary{color:var(--color-ink);background:var(--color-paper);border-color:var(--color-border-soft)}.location-button{display:inline-flex;align-items:center;min-height:48px;margin-top:10px;padding:0 2px;border:0;background:none;color:#276352;font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}.field-help{margin:8px 0 0;color:var(--color-text-muted);font-size:.75rem;line-height:1.5}.location-error{margin:10px 0 0;color:var(--color-accent-deep);font-size:.875rem;line-height:1.5;overflow-wrap:anywhere}.search-results{margin-top:12px;padding:5px;border:1px solid #c6d5c4;border-radius:12px;background:#fffdf7;box-shadow:0 15px 30px #173d3622;max-height:min(380px,50vh);overflow-y:auto}.address-city-link{border:0;padding:0;background:none;color:var(--color-accent-deep);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.address-city-link:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.search-results button{display:flex;align-items:center;gap:11px;width:100%;min-height:62px;padding:10px 14px;border:0;border-radius:8px;background:none;color:var(--color-ink);text-align:left;cursor:pointer}.search-result-icon{display:grid;place-items:center;flex:none;width:38px;height:38px;border:1px solid #b9cdc0;border-radius:10px;background:#f3f5eb;color:#1b4a3d}.search-result-icon svg{width:21px;height:21px}.search-result-icon-landmark,.search-result-icon-museum{border-color:#e3b9aa;background:#f8e9df;color:#aa452e}.search-result-icon-park,.search-result-icon-cafe{border-color:#c5d8b6;background:#edf2df}.search-result-icon-transit,.search-result-icon-health,.search-result-icon-shop{border-color:#b9ccc7;background:#e8efea}@media(hover:hover)and (pointer:fine){.search-results button:hover{background:var(--color-sage-surface)}}.search-results button.is-active{background:var(--color-sage-surface)}.search-results button.is-active{box-shadow:inset 3px 0 var(--color-accent)}.search-results button+button{border-top:1px solid #e7ebe0}.search-results button:focus-visible,.address-clear:focus-visible,.roulette-wheel:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.search-result-copy{display:flex;flex-direction:column;min-width:0;line-height:1.25}.search-result-copy strong{font-size:.9375rem;font-weight:600}.search-result-copy small{margin-top:4px;color:#4e685a;font-size:.75rem;line-height:1.3}.search-result-kind{color:var(--color-accent-deep);font-weight:600}.search-result-street{color:var(--color-text-muted)!important}.search-result-warning{margin-top:4px;color:var(--color-accent-deep);font-size:.6875rem;font-weight:600}.sr-only{position:absolute;width:1px;height:1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.time-options{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:0}.time-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:-4px 0 10px}.time-mode button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:46px;padding:5px 6px;border:0;border-bottom:2px solid var(--color-border-green);border-radius:0;background:transparent;color:#315c4c;font:inherit;font-size:.75rem;font-weight:600;white-space:nowrap;cursor:pointer}.time-mode button.selected{border-bottom-color:var(--color-accent-strong);color:var(--color-ink)}.plan-chip{display:grid;place-items:center;width:26px;height:26px;flex:none;border:2px solid var(--color-paper-warm);border-radius:50%;background:var(--color-accent-strong);box-shadow:0 0 0 1px var(--color-ink);color:var(--color-paper-warm);font-family:Fraunces,Georgia,serif;font-size:.75rem;line-height:1;transition:transform .18s ease,box-shadow .18s ease}.time-mode button:nth-child(2) .plan-chip{background:var(--color-night-ink)}.time-mode button:nth-child(3) .plan-chip{background:var(--color-route-green)}@media(hover:hover)and (pointer:fine){.time-mode button:hover .plan-chip{transform:translateY(-2px)}}.time-mode button.selected .plan-chip{box-shadow:0 0 0 1px var(--color-ink),0 0 0 3px var(--color-sunshine)}.time-mode button:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.no-time-help{margin-top:0;padding:0}.time-choice{display:grid;place-items:center;min-height:64px;border:0;border-right:0;border-radius:0;background:transparent;color:var(--color-paper-warm);cursor:pointer}.time-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;width:57px;height:57px;border:2px solid var(--color-paper-warm);border-radius:50%;background:var(--color-accent-strong);box-shadow:0 0 0 1px var(--color-ink);transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease}.time-chip:before{position:absolute;inset:4px;border:1px dashed #fffaf0bd;border-radius:50%;content:"";pointer-events:none}.time-choice:nth-child(2) .time-chip{background:var(--color-night-ink)}.time-choice:nth-child(3) .time-chip{background:var(--color-route-green)}@media(hover:hover)and (pointer:fine){.time-choice:not(.selected):hover .time-chip{transform:translateY(-2px) scale(1.05)}}.time-choice:active .time-chip{transform:scale(.97)}.time-choice:last-child{border-right:0}.time-chip strong{font-family:Fraunces,Georgia,serif;font-size:1.4375rem;font-weight:600;line-height:1}.time-choice small{margin-top:2px;font-family:DM Sans,system-ui,sans-serif;font-size:.5625rem;font-weight:600;letter-spacing:.12em;line-height:1}.time-choice.selected .time-chip{transform:translateY(-3px) scale(1.04);box-shadow:0 0 0 2px var(--color-ink),0 0 0 5px var(--color-sunshine),0 7px 10px #173d3633}.time-choice:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.custom-time{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.custom-time label{font-size:.8125rem;font-weight:600}.custom-time>div{display:flex;align-items:center;gap:8px}.custom-time input{width:100px;min-height:46px}.custom-time span{color:var(--color-text-muted);font-size:.75rem}.route-preference-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.route-choice{display:flex;align-items:center;gap:12px;min-width:0;min-height:70px;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-ink);text-align:left;font:inherit;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}@media(hover:hover)and (pointer:fine){.route-choice:hover{transform:translateY(-2px)}}.route-choice:active{transform:translateY(1px)}.route-choice:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.route-choice.is-selected{border-color:var(--color-ink);box-shadow:none;background:var(--color-sage-surface)}.route-choice-copy{display:grid;min-width:0;gap:3px}.route-choice-copy strong{font-size:.8125rem;line-height:1.2}.route-choice-copy small{color:var(--color-text-muted);font-size:.6875rem;line-height:1.25}.route-preference-field>p{margin:12px 0 0;color:var(--color-text-muted);font-size:.6875rem;line-height:1.45}.route-pick-result{display:flex;align-items:baseline;gap:7px;margin-top:8px;color:var(--color-secondary-ink);font-size:.75rem;font-weight:600}.route-pick-result>span{color:var(--color-accent-strong);font-size:.6875rem}.inline-alert{margin-top:18px;padding:14px 16px;border:1px solid #e9c98c;border-radius:11px;background:#fff1d7;color:#674721;font-size:.8125rem;font-weight:600;line-height:1.5}.spin-row{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:16px;margin-top:12px;padding:0;border:0}.spin-row .roulette-wheel-primary{grid-column:1;grid-row:1}.spin-copy{grid-row:2;display:flex;flex-direction:column;gap:5px;min-width:0}.spin-copy strong{font-family:Fraunces,Georgia,serif;font-size:clamp(22px,2.7vw,29px);line-height:1.15;letter-spacing:-.04em}.about-section{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:32px;padding-block:24px 32px}.about-section :is(h1,h2){font-size:clamp(36px,3.7vw,53px)}.about-section>div:last-child{color:var(--color-text-muted);font-size:1rem;line-height:1.7}.about-section>div:last-child p:first-child{margin-top:0}.about-details{margin-top:8px;border:0}.about-details summary{display:flex;align-items:center;gap:12px;min-height:48px;width:fit-content;list-style:none;color:var(--color-ink);cursor:pointer;font-size:.875rem;font-weight:600}.about-details summary::-webkit-details-marker{display:none}.about-details summary:after{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;content:"";transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}.about-details[open] summary:after{transform:translateY(2px) rotate(225deg)}.about-details summary:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.about-more-open,.about-details[open] .about-more-closed{display:none}.about-details[open] .about-more-open{display:inline}.about-details>div{max-width:70ch;padding-top:6px;font-size:.8125rem;line-height:1.65}.about-details>div p{margin:0 0 14px}.about-details>div p:last-child{margin-bottom:0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;border:0;color:var(--color-text-muted);font-size:.75rem;font-weight:600}.site-footer a{display:inline-flex;align-items:center;min-height:44px;padding-inline:8px;color:var(--color-ink);text-decoration:none}.result-page{padding-block:12px 32px}.result-heading,.ride-dashboard{animation:result-enter .45s ease-out both}@keyframes result-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.back-link{min-height:45px;padding:0;border:0;background:none;color:#346251;font-size:.8125rem;font-weight:600}.result-heading{margin-top:4px}.result-heading h1{max-width:860px;font-size:clamp(2.125rem,5vw,3.875rem);margin:0 0 8px}.result-subtitle{margin:0;color:var(--color-text-muted);font-size:1.0625rem}.ride-warning{margin-top:27px;padding-block:8px;color:#70532f;font-size:.8125rem;line-height:1.5}.ride-warning strong{color:#503a22}.ride-warning a{color:#173d33;text-decoration-color:#91aa9d;text-underline-offset:3px}.ride-dashboard{margin:12px 0 4px}.ride-weather-window{color:var(--color-text-muted);font-size:.8125rem;font-weight:600;text-align:left}.weather-deck{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.weather-card{display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px}.weather-card+.weather-card{border-left:0}.weather-token{position:relative;display:grid;flex:none;place-items:center;width:20px;height:20px;color:var(--color-ink)}.weather-token svg{position:relative;z-index:1;width:18px;height:18px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.weather-copy{display:flex;flex-direction:column;min-width:0}.weather-label{color:var(--color-text-muted);font-size:.8125rem;font-weight:600;line-height:1.1}.weather-copy strong{margin-top:2px;color:var(--color-ink);font-family:Fraunces,Georgia,serif;font-size:1.3125rem;line-height:1.12;white-space:nowrap}.weather-copy strong span{font-family:DM Sans,sans-serif;font-size:.6875rem;letter-spacing:0}.weather-copy small{margin-top:2px;color:var(--color-text-muted);font-size:.75rem;white-space:normal}.weather-pending{padding:10px 0;color:var(--color-text-muted);font-size:.8125rem}.weather-pending button{border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--color-ink);font:inherit;font-weight:600;cursor:pointer}.weather-source{margin:6px 0 0;color:var(--color-text-muted);font-size:.75rem}.weather-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:7px}.stat{display:flex;align-items:center;gap:9px;min-width:0;min-height:52px;padding:6px 8px;color:var(--color-ink)}.stat-chip{position:relative;display:grid;flex:none;place-items:center;width:24px;height:24px;color:var(--color-ink)}.stat-chip svg{position:relative;width:21px;height:21px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.stat-copy{display:flex;flex-direction:column;min-width:0}.stat-label{color:var(--color-text-muted);font-size:.625rem;font-weight:600;line-height:1.2}.stat strong{margin-top:3px;font-family:Fraunces,Georgia,serif;font-size:clamp(16px,1.8vw,22px);font-weight:600;letter-spacing:-.04em;line-height:1.1;white-space:nowrap}.time-caveat{margin:-6px 0 20px;color:#965128;font-size:.8125rem;font-weight:600}.map-card{position:relative;min-width:0;overflow:hidden;border:0;border-radius:0;background:transparent}.map-reset{position:absolute;z-index:5;bottom:14px;left:14px;min-height:38px;padding:0 13px;border:1px solid var(--color-border-soft);border-radius:9px;background:var(--color-paper);color:var(--color-ink);box-shadow:0 3px 10px #173d3625;font-size:.75rem;font-weight:600}.route-map-wrap{position:relative}.map-visual{position:relative;height:460px;overflow:hidden;isolation:isolate;contain:paint;background:#e8ebdf}.map-stamp,.map-pan-hint{position:absolute;z-index:4;pointer-events:none;padding:7px 10px;border:1px solid #173d3626;border-radius:6px;background:#fffdf6ee;color:var(--color-ink);box-shadow:0 2px 9px #173d3617;font-size:.625rem;font-weight:900;letter-spacing:.08em}.map-stamp{top:14px;left:14px}.map-pan-hint{right:14px;bottom:14px;font-size:.6875rem;letter-spacing:0}.map-visual .maplibregl-ctrl-group{overflow:hidden;border:1px solid var(--color-border-soft);border-radius:9px;box-shadow:0 3px 10px #173d3625}.start-map-marker{padding:5px 8px;border:2px solid var(--color-ink);border-radius:8px;background:var(--color-paper);color:var(--color-ink);box-shadow:0 2px 7px #173d3633;font-size:.625rem;font-weight:900;letter-spacing:.04em;white-space:nowrap;pointer-events:none}.route-order-marker{z-index:3;display:grid;place-items:center;width:25px;height:25px;border:2px solid var(--color-ink);border-radius:50%;background:var(--color-paper-gold);color:var(--color-ink);box-shadow:0 2px 6px #173d3633;font-size:.75rem;font-weight:900;pointer-events:none}.roadwork-map-marker{z-index:5;display:grid;place-items:center;width:26px;height:26px;padding:0;border:2px solid var(--color-paper-gold);border-radius:5px;background:#bf4430;color:var(--color-paper-gold);box-shadow:0 2px 7px #173d3666;cursor:pointer}.roadwork-map-marker.is-work{background:#e4a63d;color:var(--color-ink)}.roadwork-map-marker span{display:block;font-size:1.0625rem;font-weight:900;line-height:1}.roadwork-map-marker:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.roadwork-map-popup .maplibregl-popup-content{max-width:250px;padding:13px 16px;border:1px solid var(--color-border-soft);border-radius:10px;background:var(--color-paper);color:var(--color-ink);box-shadow:0 8px 22px #173d3630}.roadwork-map-detail{display:grid;gap:5px;padding-right:7px;font-size:.75rem;line-height:1.4}.roadwork-map-detail strong{font-size:.8125rem}.roadwork-map-detail p{margin:0}.roadwork-map-detail small{color:var(--color-text-muted)}.roadwork-map-detail a{color:var(--color-ink);font-weight:600;text-underline-offset:2px}.roadwork-map-key{display:inline-flex;align-items:center;gap:7px}.roadwork-map-key i{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid var(--color-paper-gold);border-radius:3px;background:#bf4430;color:var(--color-paper-gold);font-size:.75rem;font-style:normal;font-weight:900}.map-credit{padding:0 20px 13px;color:var(--color-text-muted);font-size:.625rem;line-height:1.4}.map-credit a{color:inherit;text-underline-offset:2px}.map-direction-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px 20px 0;color:var(--color-secondary-ink);font-size:.75rem;font-weight:600}.climb-map-key{display:inline-flex;align-items:center;gap:5px;margin-left:auto}.climb-map-key i{display:inline-block;width:18px;border-top:5px solid #7657a6;border-radius:3px}.departure-map-key{display:inline-block;width:22px;border-top:6px solid #17604a;border-radius:3px}.elevation-panel{min-width:0;margin:12px 0 16px;padding:0 14px;color:var(--color-ink)}.elevation-unavailable{padding:13px 16px;color:var(--color-secondary-ink);font-size:.8125rem}.elevation-heading,.elevation-heading>strong,.elevation-totals{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.elevation-heading{justify-content:space-between;font-size:.9375rem}.elevation-token{display:grid;place-items:center;width:32px;height:32px;border:1px dashed #9c762d;border-radius:50%;background:var(--color-sage-surface)}.elevation-token svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.elevation-totals{color:var(--color-secondary-ink);font-size:.8125rem;font-variant-numeric:tabular-nums}.elevation-help{margin:8px 0;color:var(--color-secondary-ink);font-size:.8125rem}.elevation-plot{display:grid;grid-template-columns:minmax(0,2.75rem) minmax(0,1fr);gap:8px;min-width:0}.elevation-heights{display:flex;flex-direction:column;justify-content:space-between;padding-block:16px 6px;color:var(--color-secondary-ink);font-size:.75rem;line-height:1.3}.elevation-scrubber{position:relative;width:100%;height:160px;min-width:0;border:1px solid var(--color-border-muted);border-radius:14px;background:var(--color-paper-warm);touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:crosshair}.elevation-scrubber:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.elevation-chart{display:block;width:100%;height:100%;border-radius:inherit;pointer-events:none}.elevation-handle{position:absolute;width:20px;height:20px;transform:translate(-50%,-50%);border:3px solid var(--color-paper-warm);border-radius:50%;background:var(--color-accent-strong);box-shadow:0 2px 5px #173d3640;outline:1px solid #9c762d;pointer-events:none}.elevation-axis{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin:6px 0 10px calc(2.75rem + 8px);color:var(--color-secondary-ink);font-size:.75rem;font-variant-numeric:tabular-nums}.elevation-controls{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;gap:8px;align-items:center}.elevation-controls .elevation-step,.elevation-reset{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:48px;padding:10px;border:1px solid var(--color-border-muted);border-radius:999px;background:var(--color-sage-surface);color:var(--color-ink);font:inherit;font-size:.8125rem;font-weight:600;touch-action:manipulation}.elevation-step svg,.elevation-reset svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.elevation-readout{display:flex;justify-content:center;align-items:baseline;flex-wrap:wrap;gap:4px 12px;min-width:0;font-size:.9375rem;font-variant-numeric:tabular-nums}.elevation-readout>*{min-width:0;max-width:100%;text-align:center;overflow-wrap:anywhere}.elevation-readout>span{color:var(--color-secondary-ink)}.elevation-reset{width:100%;margin-top:8px;background:var(--color-paper)}.elevation-panel button:disabled{opacity:.45;cursor:default}.stop-map-marker{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;cursor:pointer;overflow:visible}.stop-map-marker img{width:32px;height:32px;filter:drop-shadow(0 2px 3px #173d3620);transition:transform .16s}@media(hover:hover)and (pointer:fine){.stop-map-marker:hover img{transform:scale(1.18)}}.stop-map-marker.is-selected img{transform:scale(1.12);filter:drop-shadow(0 0 2px var(--color-accent))}.stop-map-marker.is-selected{z-index:5}.stop-map-marker:focus-visible{outline:2px solid var(--color-ink);outline-offset:-4px;border-radius:8px}.stop-map-label{position:absolute;left:50%;bottom:43px;max-width:180px;padding:5px 8px;border:1px solid #d7e1d4;border-radius:7px;background:var(--color-paper);color:var(--color-ink);box-shadow:0 2px 8px #173d3620;font-size:.6875rem;font-weight:600;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;transform:translate(-50%)}@media(hover:hover)and (pointer:fine){.stop-map-marker:hover .stop-map-label{opacity:1}}.stop-map-marker:focus-visible .stop-map-label,.stop-map-marker.is-selected .stop-map-label{opacity:1}.sketch-stop-icon{filter:drop-shadow(0 0 2px var(--color-paper))}.route-sketch{display:grid;place-items:center;position:absolute;inset:0;background:var(--color-sage-surface)}.route-sketch svg{width:min(100%,460px);max-height:92%}.sketch-badge{position:absolute;bottom:14px;left:14px;padding:7px 10px;border-radius:8px;background:var(--color-paper);color:#45665b;font-size:.6875rem;font-weight:600}.route-map,.map-loading{height:100%;width:100%}.route-map{visibility:hidden}.route-map-ready{visibility:visible}.map-loading{display:grid;place-items:center;color:var(--color-text-muted);background:#e8ebdf;font-size:.875rem}.map-error{position:absolute;inset:auto 12px 12px;padding:12px;border-radius:9px;background:var(--color-paper);box-shadow:0 3px 12px #0002;font-size:.75rem;font-weight:600}.previous-loop{align-self:flex-start;margin-top:25px;padding:0 0 5px;border:0;border-bottom:1px solid #6b8a70;background:none;color:#335e47;font-size:.75rem;font-weight:600;text-align:left}.gpx-app-guides>summary{min-height:48px;padding-block:6px;font-size:.8125rem;font-weight:600;cursor:pointer}.gpx-app-guides{margin-top:12px}.gpx-app-guides summary:focus-visible{outline:3px solid var(--color-ink);outline-offset:2px}.gpx-app-guides ul{margin:0;padding:0;list-style:none}.gpx-app-guides li{padding:9px 0;font-size:.75rem}.gpx-app-guides a{display:inline-flex;align-items:center;min-height:44px;color:var(--color-ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}@media(hover:hover)and (pointer:fine){.gpx-app-guides a:hover{color:var(--color-accent-strong)}}.gpx-app-guides a:focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}.gpx-app-guides li>span{display:block;margin-top:2px;color:#526f61}.map-app-note{margin:12px 0 0;color:var(--color-text-muted);font-size:.6875rem;line-height:1.5}.route-credit{margin:0;color:var(--color-text-muted);font-size:.6875rem;line-height:1.5}.directions{margin-top:24px}.directions-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:25px}.directions h2{font-size:clamp(35px,3.5vw,48px)}.directions-heading>span{color:var(--color-text-muted);font-size:.75rem;font-weight:600;white-space:nowrap}.stops-note{margin:-7px 0 24px;color:var(--color-text-muted);font-size:.8125rem;line-height:1.6}.stop-filters{display:flex;flex-wrap:nowrap;gap:18px;overflow-x:auto;margin:0 0 20px;border-bottom:1px solid #cbd7c9;scrollbar-width:thin}.stop-filters button{flex:none;min-height:44px;border:0;border-bottom:3px solid transparent;border-radius:0;padding:8px 0;background:transparent;color:#31544b;font:inherit;font-size:.75rem;font-weight:600;cursor:pointer}@media(hover:hover)and (pointer:fine){.stop-filters button:hover{border-bottom-color:var(--color-accent-strong);color:var(--color-ink)}}.stop-filters button.is-active{border-bottom-color:var(--color-accent-strong);color:var(--color-ink)}.stop-filters button span{margin-left:4px;opacity:.7}.directions ol{display:grid;gap:0;margin:0;padding:0;list-style:none}.directions li{border:0}.place-button{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;min-height:65px;padding:12px 0;border:0;background:none;color:var(--color-ink);text-align:left;font-size:.875rem;line-height:1.45}@media(hover:hover)and (pointer:fine){.place-button:hover{background:var(--color-sage-surface)}}.place-button.is-selected{background:var(--color-sage-surface)}.place-button>span:nth-child(2){min-width:0}.place-button>span:nth-child(2) small{white-space:normal}.direction-icon{width:24px;height:24px;object-fit:contain}.directions li small{color:var(--color-text-muted);font-size:.75rem;white-space:nowrap}.directions-empty{color:var(--color-text-muted);font-size:.875rem}.places-credit{margin:20px 0 0;color:var(--color-text-muted);font-size:.6875rem;line-height:1.5}@media(max-width:850px){.site-header{gap:12px}.guest-access{gap:8px}.guest-credit-label,.google-signin-label{display:none}.guest-credit:after{content:"guest spins";font-size:.6875rem}.guest-credit.is-singular:after{content:"guest spin"}.google-signin-short{display:inline}.google-signin{padding-right:9px}}@media(max-width:920px){.live-picker-grid{gap:25px}}@media(max-width:700px){.container{width:min(100% - 32px,540px)}.site-header{min-height:76px}.brand{gap:8px}.brand-icon{width:58px;height:34px}.brand-name{font-size:1.125rem}.brand-sub{font-size:.625rem}.header-link{font-size:.75rem}.picker-inner{padding-block:12px 20px}.picker-heading{display:block;margin-bottom:8px}.picker-heading h1{font-size:clamp(1.875rem,8vw,2.5rem)}.live-picker-grid{grid-template-columns:1fr;gap:14px}.route-preference-options{grid-template-columns:1fr;gap:6px}.route-choice{min-height:54px;padding:7px 10px}.route-choice-copy strong{font-size:.8125rem}.route-choice-copy small{font-size:.6875rem}.location-fields{gap:14px}.spin-row{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:12px;padding-top:0}.spin-row .roulette-wheel-primary{grid-column:1;width:100%;--wheel-size: 56px;--wheel-hub-size: 28px;min-height:76px;padding-block:12px;padding-left:18px}.spin-row .wheel-action strong{font-size:1.5rem}.spin-row .roulette-wheel-primary:disabled .wheel-action strong,.spin-row .roulette-wheel-primary.is-locked .wheel-action strong{font-size:1.3125rem;line-height:1.1}.about-section{grid-template-columns:1fr;gap:20px;padding-block:20px 28px}.about-section>div:last-child{font-size:.9375rem}.site-footer{flex-wrap:wrap;padding-block:20px;min-height:0}.site-footer>span:nth-child(2){display:none}.result-page{padding-top:7px}.result-heading h1{font-size:clamp(2rem,8vw,2.75rem)}.result-subtitle{font-size:.9375rem}.stats-row{grid-template-columns:1fr 1fr}.stat{min-height:52px;padding:6px}.stat strong{font-size:clamp(16px,4vw,20px)}.weather-card{flex-direction:column;align-items:flex-start;gap:4px;padding:7px 6px}.weather-token{width:20px;height:20px}.weather-token svg{width:16px;height:16px}.weather-copy strong{font-size:1.125rem}.weather-copy small{font-size:.75rem;white-space:normal}.map-visual{height:340px}.elevation-panel{margin-inline:0}.directions{margin-top:24px}.directions-heading{display:block}.directions-heading>span{display:block;margin-top:8px}}@media(max-width:600px){.site-header{gap:8px}.brand{gap:5px}.brand-icon{width:44px;height:34px}.brand-name{font-size:1rem}.brand-sub{display:none}.guest-access{flex:none;gap:6px;margin-left:auto}.guest-credit{display:grid;justify-items:center;gap:0;min-height:40px}.guest-credit:after{content:"SPIN";font-size:.5rem;line-height:1;letter-spacing:.04em}.google-signin-short,.google-signin svg,.header-link-label,.header-link-arrow{display:none}.guest-chip{width:29px;height:29px;font-size:1rem}.google-signin{min-width:44px;min-height:44px;padding:5px}.google-g{width:27px;height:27px}.header-link{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;border:0}.header-link-mini{display:grid;place-items:center;width:30px;height:30px;border:1px solid #9fb5a2;border-radius:50%;font-size:1.0625rem;line-height:1}.account-status,.account-unavailable{max-width:100px;font-size:.625rem;line-height:1.2}}@media(max-width:390px){.time-mode{gap:3px}.time-mode button{gap:4px;min-height:44px;padding-inline:2px;font-size:.625rem}.plan-chip{width:23px;height:23px;font-size:.6875rem}.container{width:calc(100% - 28px)}.header-link{font-size:.6875rem}.brand-name{font-size:1.0625rem}.address-form .button{padding-inline:13px}.custom-time{align-items:flex-start;flex-direction:column}.custom-time>div{width:100%}.custom-time input{flex:1}.spin-copy strong{font-size:1.4375rem}.place-button{grid-template-columns:32px minmax(0,1fr);gap:11px}.place-button>small{grid-column:2;white-space:normal}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.roulette-wheel .wheel-face{will-change:auto}.result-heading,.ride-dashboard{animation:none}}@media(pointer:coarse){.app-shell input,.app-shell select,.app-shell textarea{font-size:max(16px,1rem)}.app-shell button,.app-shell .button,.app-shell summary{min-height:44px;touch-action:manipulation}}:root{--app-nav-space: calc(4.75rem + env(safe-area-inset-bottom, 0px)) }[hidden]{display:none!important}html{scroll-padding-block:24px calc(var(--app-nav-space) + 24px);-webkit-tap-highlight-color:transparent}html:has(#root>.app-shell),body:has(>#root>.app-shell),#root:has(>.app-shell){height:100%;overflow:hidden;overscroll-behavior:none}body:has(>#root>.app-shell){position:fixed;inset:0;width:100%}:where(button,a,summary,[role=button]){touch-action:manipulation}:where(button,summary,[role=button],.app-navigation a){user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}:where(.app-shell,.shared-app,.ride-navigation,.app-sheet) :where(button,summary,select,a.button){min-height:48px;min-width:48px}:where(button,a,summary):focus-visible{outline:3px solid var(--color-ink);outline-offset:3px}html[data-focus-input=pointer] :is(.app-shell,.app-sheet,.shared-app) :is(button,a,summary,[role=button]):focus-visible{outline:none}:where(.app-shell,.shared-app) :where(input:not([type=checkbox]):not([type=radio]),textarea,select){min-height:48px;font-size:max(1rem,16px)}.app-shell{--route-map-height: 460px;position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto;height:100dvh;min-height:0;min-width:0;overflow:hidden;padding-bottom:0}.app-shell>.site-header{grid-row:1}.app-notices{grid-row:2;min-width:0;max-height:25dvh;overflow:auto;overscroll-behavior:contain}.app-notices:empty{display:none}#app-content{grid-row:4;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;scrollbar-gutter:stable;scroll-behavior:auto;scroll-padding:16px;overflow-anchor:none}#app-content:focus,.app-shell h1[tabindex="-1"]:focus,.app-shell h2[tabindex="-1"]:focus,.app-sheet :is(h1,h2,h3,[role=status])[tabindex="-1"]:focus,.shared-app :is(h1,h2,h3)[tabindex="-1"]:focus,.ride-navigation[tabindex="-1"]:focus{outline:none}.app-shell .map-visual,.app-shell .map-card>.map-loading{height:var(--route-map-height)}.app-shell .map-card{min-height:calc(var(--route-map-height) + 5rem)}[data-keyboard=open] .app-shell{position:fixed;inset-inline:0;top:var(--visible-top, 0px);bottom:auto;height:var(--visible-height, 100dvh)}.app-shell :where(h1,h2,input,button,summary,a){scroll-margin-block:16px}.app-shell :where(h1,h2,h3),.shared-app :where(h1,h2,h3){overflow-wrap:anywhere}.app-shell :is(.picker-heading,.history-heading,.section-empty) h1{margin-block:0 8px;font-size:1.875rem;line-height:1.15;letter-spacing:-.035em}.app-shell .history-heading{align-items:center}.app-shell .app-page-end{justify-content:center;margin-top:16px;padding-block:12px 20px;border:0}.app-page-end a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;font-size:.8125rem;color:var(--color-text-muted)}.app-shell .button,.shared-app .button,.app-sheet .button{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.35;padding-block:12px}.app-shell button,.app-sheet button,.shared-app button,.ride-navigation button{white-space:normal;overflow-wrap:anywhere}.app-shell .about-section p,.sheet-content p{font-size:1rem}:root:has(.app-guidance:not([hidden])){overscroll-behavior-y:none}.skip-link{position:fixed;top:max(8px,env(safe-area-inset-top));left:16px;z-index:1500;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;background:var(--color-ink);color:var(--color-paper);border-radius:8px}.skip-link:focus{width:auto;height:auto;margin:0;padding:14px;overflow:visible;clip-path:none}.app-navigation{position:relative;grid-row:5;z-index:100;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;min-height:var(--app-nav-space);padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:var(--color-paper-warm);border-top:1px solid var(--color-border-muted)}.app-navigation a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0;min-height:60px;padding:4px;border-radius:12px;border-top:3px solid transparent;color:var(--color-secondary-ink);text-decoration:none;font-size:.8125rem;line-height:1.2;font-weight:600;text-align:center;overflow-wrap:anywhere}.app-navigation a[aria-current=page]{background:var(--color-paper-gold);color:var(--color-ink);border-top-color:var(--color-accent-strong)}.section-icon{position:relative;display:grid;place-items:center;width:36px;height:28px}.section-icon>svg{width:25px;height:25px}.app-navigation [aria-current=page] .section-icon{color:var(--color-accent-strong)}.ride-dot{position:absolute;right:0;top:0;width:8px;height:8px;border-radius:50%;background:var(--color-route-green);border:1px solid var(--color-paper)}.mobile-account-button{display:inline-grid;place-items:center;padding:10px;border-radius:50%;border:1px solid var(--color-border-muted);background:var(--color-paper);color:var(--color-ink);flex:none}.mobile-account-button svg{width:24px;height:24px}.site-header .header-link,.site-header .header-rides{display:none}.app-shell .site-header{min-height:4rem;padding-block:0;display:flex;gap:12px;flex-wrap:nowrap}.app-shell .site-header .brand{min-width:0;margin-right:auto}.app-shell .site-header .brand-icon{width:45px;height:45px}.app-shell .site-header .brand-name{font-size:clamp(1.05rem,4.5vw,1.4rem)}.app-shell .site-header .brand-sub{display:none}.app-shell .site-header .guest-access{flex:none;margin-left:0}.app-shell .guest-access .google-signin,.app-shell .guest-access .account-unavailable,.app-shell .guest-credit-label,.app-shell .signed-in-access{display:none}.app-shell .account-status{font-size:.75rem;max-width:9ch}.section-empty{padding-block:24px;max-width:70ch}.section-empty>svg{width:58px;height:58px;color:var(--color-ink)}.section-empty h1,.history-heading h1{font-family:Fraunces,Georgia,serif;font-size:2rem;line-height:1.15;margin-block:12px 8px;text-wrap:balance}.section-empty p{line-height:1.6}.mobile-primary{background:var(--color-ink);color:var(--color-paper-warm);text-decoration:none}.active-ride-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;padding-block:8px;line-height:1.5;color:var(--color-ink)}.active-ride-note p{margin:0}.active-ride-note a{display:inline-flex;align-items:center;min-height:48px;font-weight:600;text-underline-offset:4px}.app-shell:has(>.app-guidance:not([hidden])){padding-top:0}.app-shell>.app-guidance{--navigation-bottom-inset: 0px;grid-row:4;min-width:0;min-height:0;height:100%}.app-guidance .ride-navigation:not(.is-expanded){height:100%}.app-shell:has(.app-guidance:not([hidden]))>.app-notices{display:none}.app-sheet{--sheet-dock-clearance: 0px;position:fixed;inset:auto 0 max(0px,calc(100dvh - var(--visible-height, 100dvh) - var(--visible-top, 0px)) + var(--sheet-dock-clearance));width:min(100%,38rem);max-width:none;max-height:calc(min(100dvh,var(--visible-height, 100dvh)) - 16px - var(--sheet-dock-clearance));margin:0 auto;padding:0;border:0;border-radius:28px 28px 0 0;background:var(--color-paper-warm);color:var(--color-ink);box-shadow:0 -8px 32px #173d3626;overflow:hidden;translate:0 var(--sheet-drag-y, 0px);transition:translate var(--motion-press, .16s) var(--ease-out)}.app-sheet[data-dragging=true]{transition:none}.sheet-drag-area{display:grid;place-items:center;height:44px;flex:none;touch-action:none;user-select:none;-webkit-user-select:none}.sheet-drag-area>span{width:36px;height:5px;border-radius:999px;background:var(--color-secondary-ink);opacity:.45}.app-sheet:not([open]){display:none}.app-sheet[open]{display:flex;flex-direction:column}.app-sheet::backdrop{background:#142d29a8}.sheet-heading{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:8px max(16px,env(safe-area-inset-right)) 4px max(16px,env(safe-area-inset-left));flex:none}.sheet-heading h2{min-width:0;overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:1.25rem;font-weight:600;line-height:1.2;text-wrap:balance}.sheet-close{display:grid;place-items:center;flex:none;width:48px;height:48px;padding:12px;border-radius:50%;background:var(--color-sage-surface);color:var(--color-ink);border:0}.sheet-close svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.8}.sheet-content{min-height:0;min-width:0;overflow-wrap:anywhere;overflow:auto;overscroll-behavior:contain;padding:8px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left));scroll-padding-block:16px}.sheet-content p{line-height:1.6}.sheet-footer{flex:none;min-width:0;padding:12px max(16px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left));border-top:1px solid var(--color-border-muted);background:var(--color-paper-warm)}.app-sheet[data-has-footer=true] .sheet-content{padding-bottom:16px}html[data-web-modal] .app-navigation{visibility:hidden;pointer-events:none}.sheet-content :where(button,a,input,summary){scroll-margin-block:16px}.sheet-content .nav-stats{margin-top:0}.sheet-content .nav-controls,.sheet-content .nav-view-options{display:flex;flex-wrap:wrap;gap:12px}.sheet-account-name{font-weight:600;font-size:1.125rem;overflow-wrap:anywhere}.account-profile{display:flex;align-items:center;gap:12px;margin:4px 0 16px}.account-profile>div{min-width:0}.account-profile p{margin:0;overflow-wrap:anywhere}.account-avatar{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:50%;background:var(--color-sage-surface);color:var(--color-ink);font-size:1.375rem;font-weight:600}.account-profile .account-email{color:var(--color-text-muted);font-size:.8125rem}.account-profile .sheet-account-name{font-size:1.0625rem;line-height:1.4}.account-allowance{padding:16px 0;border-radius:0;border-block:1px solid var(--color-divider);background:transparent;font-weight:500}#account-dialog .sheet-action{margin:0;padding:16px 0;min-height:56px;border:0;border-bottom:1px solid var(--color-divider);border-radius:0;box-shadow:none;background:transparent}.app-sheet .sheet-action-destructive{color:var(--color-accent-deep)}.sheet-action{display:flex;align-items:center;width:100%;min-height:52px;padding:12px 16px;margin-block:12px;text-align:left;color:var(--color-ink);border:1px solid var(--color-border-muted);background:var(--color-paper);border-radius:12px;font-weight:600}:where(.button,.nav-button,.sheet-action,.sheet-close,.mobile-account-button):not(:disabled):active{filter:brightness(.9)}.app-navigation a:active{background:var(--color-sage-surface)}.app-shell .history-list>li{min-width:0}.app-shell .history-open{min-width:0;overflow-wrap:anywhere}.app-shell .history-heading{flex-wrap:wrap}.app-shell .about-section{position:relative}[data-keyboard=open] .app-navigation{display:none}@media(max-width:700px){.app-shell{--route-map-height: 340px}}@media(hover:hover)and (pointer:fine){.sheet-drag-area{display:none}.app-navigation a:hover{background:var(--color-sage-surface);color:var(--color-ink)}.sheet-action:hover,.sheet-close:hover,.mobile-account-button:hover{background:var(--color-sage-surface)}}@media(min-width:900px)and (min-height:600px){:root{--app-nav-space: 0px}.app-navigation{grid-row:3;position:relative;inset:auto;width:min(1220px,calc(100% - 48px));margin:0 auto 8px;min-height:0;grid-template-columns:repeat(4,minmax(110px,170px));justify-content:center;border-top:0;border-bottom:0;padding:4px 0;background:transparent}.app-navigation a{flex-direction:row;min-height:48px;gap:8px;border-top:0;border-bottom:3px solid transparent;font-size:.875rem}.app-navigation a[aria-current=page]{border-bottom-color:var(--color-accent-strong)}.mobile-account-button{display:none}.app-shell .signed-in-access,.app-shell .guest-access .google-signin,.app-shell .guest-access .account-unavailable,.app-shell .guest-credit-label,.app-shell .site-header .brand-sub{display:flex}.app-shell .site-header .brand-name{font-size:1.5rem}.app-shell .site-header .brand-icon{width:48px;height:48px}.app-sheet{inset:calc(var(--visible-top, 0px) + var(--visible-height, 100dvh) / 2 - var(--sheet-dock-clearance) / 2) 0 auto;transform:translateY(-50%);border-radius:16px;max-height:min(85dvh,50rem,calc(var(--visible-height, 100dvh) - 16px - var(--sheet-dock-clearance)))}}@media(pointer:coarse){.app-shell input,.shared-app input,.app-sheet input{font-size:max(1rem,16px)}}@media(hover:none){.app-shell .maplibregl-ctrl-group button:not(:disabled):hover,.ride-navigation .maplibregl-ctrl-group button:not(:disabled):hover{background-color:var(--color-paper)}.app-shell .maplibregl-ctrl-group button:not(:disabled):active,.ride-navigation .maplibregl-ctrl-group button:not(:disabled):active{background-color:var(--color-sage-surface)}}@media(max-height:500px)and (orientation:landscape){:root{--app-nav-space: calc(64px + env(safe-area-inset-bottom, 0px)) }.app-shell .site-header{min-height:64px}.app-navigation{padding-top:2px}.app-navigation a{flex-direction:row;gap:8px;min-height:48px}.app-navigation .section-icon{width:26px}.app-sheet{width:min(100%,42rem)}.sheet-drag-area{display:none}}@media(prefers-reduced-motion:reduce){.app-sheet{transition:none}html{scroll-behavior:auto}:where(button,a,summary){transition-duration:0s!important}}html[data-page-zoom=locked],html[data-page-zoom=locked] :where(#app-content,.ride-navigation,.nav-ride-content,.sheet-content,.nav-bottom,.nav-map-footer,.app-sheet,.shared-app){touch-action:pan-x pan-y}html[data-page-zoom=allowed]{touch-action:manipulation}.app-navigation .section-icon{position:relative}.collected-chip-landing{position:absolute;inset:0 auto auto 50%;width:28px;height:28px;margin-left:-14px;display:grid;place-items:center;pointer-events:none;border:2px solid var(--color-sunshine);border-radius:50%;background:var(--color-ink);color:var(--color-paper);animation:collected-chip-land .42s var(--ease-out) both}.collected-chip-landing svg{width:80%;height:80%}@keyframes collected-chip-land{0%{transform:translateY(-28px) rotate(-12deg) scale(.96);opacity:0}20%{opacity:1}70%{transform:translateY(0) rotate(0) scale(1);opacity:1}to{transform:translateY(0) scale(.96);opacity:0}}html[data-motion=quiet] .collected-chip-landing{display:none}@media(prefers-reduced-motion:reduce){.collected-chip-landing{display:none;animation:none}}@supports (font: -apple-system-body){:root[data-native=ios]{font:-apple-system-body}}:root[data-native=ios][data-native-reading=ready]{font-size:var(--native-reading-size)}[data-accessibility-text] .app-shell .site-header .brand-name{font-size:20px}[data-accessibility-text] .app-shell .site-header{min-height:72px}[data-native=ios] .app-shell .site-header .sign-in-choices{display:none}:root[data-native-chrome=ready]{--app-nav-space: var(--native-nav-height, 112px);--app-nav-height: var(--native-nav-height, 112px)}[data-native-chrome=ready] .app-navigation{display:none!important}[data-native-dock]:not([data-native-dock=hidden]) .app-sheet,[data-native-chrome=ready]:not([data-native-dock=hidden]) .app-sheet{--sheet-dock-clearance: var(--native-nav-height, 112px)}[data-native-chrome=ready] #app-content{padding-bottom:var(--native-nav-height, 112px);scroll-padding-bottom:calc(var(--native-nav-height, 112px) + 16px)}[data-native-chrome=ready] .app-shell[data-preview=true]{grid-template-rows:auto auto auto minmax(0,1fr) auto var( --native-nav-height, 112px )}[data-native-chrome=ready] .app-shell[data-preview=true] #app-content{padding-bottom:0}[data-native-chrome=ready] .app-shell:has(>.app-guidance:not([hidden])){grid-template-rows:auto auto auto minmax(0,1fr) var( --native-nav-height, 112px )}:root{--control-radius: var(--radius-control, 12px);--control-press: .14s;--control-lift: none}.control-icon{width:22px;height:22px;flex:none}:is(.app-shell,.app-sheet,.shared-app) .button,:where(.app-shell,.app-sheet) .sheet-action{min-height:54px;gap:10px;padding:14px 18px;border-radius:var(--control-radius);box-shadow:none;font-weight:600;line-height:1.3;text-decoration:none;transition:transform var(--control-press) var(--ease-out),box-shadow var(--control-press) var(--ease-out),background-color var(--control-press) ease-out}:is(.app-shell,.app-sheet,.shared-app) .button-secondary{border:1px solid var(--color-border-green);background:var(--color-paper);color:var(--color-ink)}:is(.app-shell,.app-sheet,.shared-app) :is(.button,.sheet-action):not(:disabled):active{transform:translateY(2px) scale(.985);box-shadow:inset 0 1px 3px #173d3615,0 1px #173d361a;filter:none}:is(.app-shell,.app-sheet,.shared-app) :is(.button,.sheet-action):disabled{box-shadow:none;transform:none;opacity:.5}.app-shell .picker-inner .location-button{min-height:58px;border-radius:var(--control-radius);background:var(--color-paper);box-shadow:inset 0 1px #fff,0 2px #173d3610;font-weight:600}.app-shell .picker-inner .location-button>svg{width:34px;height:34px;padding:6px;border-radius:50%;background:var(--color-sage-surface)}.app-shell .picker-inner .time-options{gap:8px;padding:14px 6px 8px;border:1px solid var(--color-border-muted);border-radius:25px;background:var(--color-sage-surface)}.app-shell .picker-inner .time-choice{gap:12px;padding-block:10px;border-radius:19px}.app-shell .picker-inner .time-chip{width:clamp(58px,18vw,76px);height:clamp(58px,18vw,76px);box-shadow:0 3px #173d362b,0 6px 12px #173d3615}.app-shell .picker-inner .time-chip strong{font-size:1.75rem}.app-shell .picker-inner .time-choice.selected .time-chip{transform:translateY(-3px);box-shadow:0 0 0 3px var(--color-sunshine),0 6px #173d3625,0 10px 16px #173d3615}.app-shell .picker-inner .time-choice.selected .time-choice-hint{color:var(--color-accent-strong)}.app-shell .picker-inner .time-choice:not(:disabled):active .time-chip{transform:translateY(2px) scale(.94)}.app-shell .picker-inner .app-disclosure:not(.planner-setting){padding:0;border:1px solid var(--color-border-muted);border-radius:var(--control-radius);background:var(--color-paper)}.app-shell .picker-inner .app-disclosure:not(.planner-setting)>summary{min-height:54px;padding:14px;border-radius:var(--control-radius);font-size:.9375rem}.app-shell .picker-inner .app-disclosure>:not(summary){margin-inline:12px}.app-shell .picker-inner .app-disclosure>:last-child{margin-bottom:14px}.app-shell .picker-inner .time-stepper button{border-radius:15px;box-shadow:inset 0 1px #fff,0 2px #173d3615}.app-shell .picker-inner .route-preference-options{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:12px}.app-shell .picker-inner .route-choice{display:grid;grid-template-columns:38px minmax(0,1fr) 24px;align-items:center;gap:10px;width:100%;min-height:68px;padding:12px;border:1px solid var(--color-border-muted);border-radius:16px;background:var(--color-paper-warm);color:var(--color-ink);text-align:left}.route-choice-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--color-sage-surface);color:var(--color-ink)}.route-choice-selection{display:grid;place-items:center}.app-shell .picker-inner .route-choice.is-selected{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink);box-shadow:inset 0 0 0 2px var(--color-paper-warm),0 3px 8px #173d361a}.app-shell .picker-inner .route-choice.is-selected small{color:var(--color-paper)}.app-shell .picker-inner .roulette-wheel-primary{min-height:80px;transition:transform var(--control-press) var(--ease-out),box-shadow var(--control-press) var(--ease-out);border-radius:16px;box-shadow:0 2px 4px #00000014}.app-shell .picker-inner .roulette-wheel-primary:not(:disabled):active{transform:translateY(3px) scale(.99);box-shadow:inset 0 2px 4px #71301d26,0 1px #71301d}.app-shell .picker-inner .roulette-wheel-primary.is-spinning,.app-shell .picker-inner .roulette-wheel-primary.is-settling{transform:none}.app-shell .picker-inner .ride-plan-slip{padding:16px 12px;border:1px dashed var(--color-border-green);border-radius:16px;background:var(--color-paper)}.app-sheet .sheet-heading{padding-top:12px;padding-bottom:8px}.app-sheet .sheet-close,.app-shell .mobile-account-button{border:1px solid var(--color-border-muted);transition:transform var(--control-press) var(--ease-out);box-shadow:none}.app-sheet .sheet-close:active,.app-shell .mobile-account-button:active{transform:scale(.93)}.app-sheet .sheet-action{margin-block:10px;font-size:1rem}.app-shell .history-list>li{border:0;border-bottom:1px solid var(--color-divider);border-radius:0;background:transparent;box-shadow:none}.app-shell .history-list>li:last-child{border-bottom:0}.app-shell .history-open{border-radius:var(--radius-control);padding:16px 12px}.app-shell .history-delete{min-height:48px;border-radius:14px}.collection-chip-face,.collection-medal-face{transition:transform var(--control-press) var(--ease-out),filter var(--control-press) ease-out}.app-shell .collection-chip:active .collection-chip-face,.app-shell .collection-medal:active .collection-medal-face{transform:translateY(2px) scale(.95)}.app-shell .collection-chip.is-selected .collection-chip-face,.app-shell .collection-medal.is-selected .collection-medal-face{filter:drop-shadow(0 4px 5px #173d3626)}.ride-navigation .nav-button{min-height:48px;border-radius:16px;transition:background-color var(--control-press) ease-out,transform var(--control-press) var(--ease-out);box-shadow:none;padding:12px 16px}.ride-navigation .nav-button:disabled{box-shadow:none}.ride-navigation .nav-button:not(:disabled):active{transform:translateY(1px)}.ride-navigation .nav-header-actions .nav-button{border-radius:999px}.ride-navigation .nav-button[aria-pressed=true]{border-color:var(--color-ink);box-shadow:inset 0 0 0 2px var(--color-paper-warm)}.ride-navigation .nav-button.nav-primary,.ride-navigation .nav-recenter[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.nav-guidance-summary{grid-area:guidance;min-width:0;padding:0 max(12px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left))}.nav-guidance-summary>button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:8px 12px;border:1px solid var(--color-border-green);border-radius:14px;background:var(--color-sage-surface);color:var(--color-ink);text-align:left}.nav-guidance-summary>button>span{flex:1;display:grid;gap:2px}.nav-guidance-summary strong{font-size:1rem;line-height:1.3}.nav-guidance-summary small{font-size:.75rem;line-height:1.2}.nav-summary-expand{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8}.nav-guidance-summary[data-warning=true]>button{background:var(--color-paper-gold)}@media(hover:hover)and (pointer:fine){:is(.app-shell,.app-sheet,.shared-app) :is(.button,.sheet-action):not(:disabled):hover{filter:brightness(.97)}.app-shell .history-open:not(:disabled):hover{background:var(--color-sage-surface)}.collection-chip:hover .collection-chip-face,.collection-medal:hover .collection-medal-face{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){:where(.app-shell,.app-sheet,.shared-app,.ride-navigation) :is(button,a.button,summary),.collection-chip-face,.collection-medal-face{transition:none!important}:where(.app-shell,.app-sheet,.shared-app,.ride-navigation) :is(button,a.button):active,.app-shell .picker-inner .time-choice.selected .time-chip,.app-shell .picker-inner .time-choice:active .time-chip,.collection-chip:is(:active,:hover) .collection-chip-face,.collection-medal:is(:active,:hover) .collection-medal-face{transform:none!important}}@media(forced-colors:active){:where(.app-shell,.app-sheet,.ride-navigation) :is(button,a.button){box-shadow:none!important}.app-shell .picker-inner .route-choice.is-selected{outline:2px solid Highlight}}:is(.app-sheet,.app-shell) :is(.share-text-button,.history-pagination button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid var(--color-border-muted);border-radius:999px;background:var(--color-paper);color:var(--color-ink);font-weight:600;text-decoration:none}:is(.app-sheet,.app-shell) button[aria-busy=true]{cursor:progress;opacity:.8}.app-shell :where(.picker-inner,.history-section,.guide-section){letter-spacing:0}.app-shell .picker-inner .picker-heading{margin-bottom:0}.app-shell .picker-heading h1{margin-block:0;text-wrap:balance;font-weight:600;font-size:2rem;line-height:1.15;letter-spacing:-.02em}.app-shell .picker-inner .live-picker-grid{gap:24px}.app-shell .picker-inner .location-fields>.field-group{padding:0;border:0;background:transparent;box-shadow:none}.app-shell .picker-inner .location-button{min-height:52px;background:var(--color-sage-surface);box-shadow:none}.app-shell .picker-inner .location-button>svg{width:26px;height:26px;padding:2px;background:transparent}.app-shell .picker-inner .time-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,4.75rem),1fr));gap:8px;padding:8px 0;border:0;border-radius:0;background:transparent}.app-shell .picker-inner .time-choice{gap:12px;padding:14px 6px 12px;border:1px solid transparent;border-radius:22px;transition:background-color var(--motion-press) var(--ease-out),border-color var(--motion-press) var(--ease-out)}.app-shell .picker-inner .time-choice.selected{background:var(--color-paper-gold);border-color:#cba459}.app-shell .picker-inner .time-chip{width:min(100%,4.5rem);height:auto;aspect-ratio:1;box-shadow:0 3px #173d3624,0 7px 12px #173d3612;transition:transform .22s var(--ease-out)}.app-shell .picker-inner .time-choice.selected .time-chip{transform:translateY(-2px) rotate(-3deg);box-shadow:0 3px #173d3624,0 7px 12px #173d3612}.app-shell .picker-inner .time-choice.selected .time-choice-hint{color:var(--color-ink)}.app-shell .picker-inner .time-choice-hint{font-size:.8125rem;line-height:1.35;font-weight:600}.app-shell .picker-inner .time-choice:active .time-chip{transform:translateY(1px) rotate(0) scale(.97)}.app-shell .picker-inner .app-disclosure:not(.planner-setting){border-color:var(--color-divider);background:transparent}.app-shell .picker-inner .app-disclosure:not(.planner-setting)>summary{min-height:50px}.app-shell .picker-inner .ride-plan-slip{gap:10px;padding:12px 0;border:0;border-top:1px solid var(--color-divider);border-radius:0;background:transparent}.app-shell .ride-plan-slip>svg{width:26px;height:26px}.app-shell .picker-inner .spin-row{gap:8px;margin-top:16px}.app-shell :is(.picker-inner,.planner-spin-action) .roulette-wheel-primary{min-height:76px;border-radius:16px;box-shadow:0 2px 4px #00000014}.app-shell[data-section=plan]{grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.app-shell[data-section=plan]>.app-navigation{grid-row:6}.app-shell>.planner-spin-action{grid-row:5;display:grid;min-width:0;gap:8px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:var(--color-paper-warm);border-top:1px solid var(--color-divider)}.app-shell>.planner-spin-action .ride-plan-slip{width:100%;max-width:44rem;justify-self:center;min-width:0;padding:0 4px;border:0;border-radius:0;background:transparent}.planner-spin-action .ride-plan-slip>svg,.planner-spin-action .ride-plan-slip>div>span{display:none}.planner-spin-action .ride-plan-slip strong{display:block;font-size:.8125rem;line-height:1.4;font-weight:600;color:var(--color-secondary-ink);overflow-wrap:anywhere}.app-shell .picker-inner .spin-row:empty{display:none}.app-shell>.planner-spin-action .roulette-wheel-primary{width:100%;max-width:44rem;justify-self:center;margin:0;min-height:72px;border-radius:16px;box-shadow:0 2px 4px #00000014}[data-native-chrome=ready] .app-shell[data-section=plan]{grid-template-rows:auto auto auto minmax(0,1fr) auto var( --native-nav-height, 112px )}[data-native-chrome=ready] .app-shell[data-section=plan] #app-content{padding-bottom:0;scroll-padding-bottom:16px}[data-keyboard=open] .planner-spin-action{display:none}@media(min-width:900px)and (min-height:600px){.app-shell[data-section=plan]>.app-navigation{grid-row:3}}.wheel-face{background:repeating-conic-gradient(from -7.5deg,var(--color-accent-strong) 0deg 15deg,var(--color-ink) 15deg 30deg);border-color:var(--color-ink)}.wheel-face:after{border-color:#fffaf0a0}.wheel-ball{position:absolute;inset:0;border-radius:50%;pointer-events:none}.wheel-ball:after{content:"";position:absolute;width:8%;height:8%;top:9%;left:46%;border:1px solid var(--color-ink);border-radius:50%;background:var(--color-paper-warm)}.wheel-face{background:conic-gradient(from -90deg,var(--color-sunshine) 0deg 14deg,transparent 14deg),repeating-conic-gradient(from -90deg,var(--color-ink) 0deg 14deg,var(--color-paper-warm) 14deg 15deg,var(--color-accent-strong) 15deg 29deg,var(--color-paper-warm) 29deg 30deg)}.wheel-seat{position:absolute;inset:30%;border:1px solid var(--color-sunshine);border-radius:50%;background:var(--color-paper-warm);box-shadow:0 2px 4px #173d3626}.app-shell .picker-inner .time-chip-check{opacity:0;transform:scale(.9) rotate(-12deg);transition:transform .22s var(--ease-out),opacity var(--motion-press) var(--ease-out)}.app-shell .picker-inner .selected .time-chip-check{opacity:1;transform:scale(1) rotate(0)}.app-shell .picker-inner .time-choice.selected .time-chip{transform:translateY(-3px) rotate(-2deg) scale(1.025)}.app-shell>.planner-spin-action .roulette-wheel-primary{--wheel-size: 56px;--wheel-hub-size: 22px;min-height:72px;border-radius:16px;box-shadow:0 2px 4px #00000014}.app-shell>.planner-spin-action .wheel-arrow{width:16px;height:16px}.app-shell .result-heading{animation:casino-route-ready .22s var(--ease-out) both}@keyframes casino-route-ready{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(max-height:580px){.app-shell[data-section=plan]{display:flex;flex-direction:column;overflow-y:auto}.app-shell[data-section=plan]>*{flex-shrink:0}.app-shell[data-section=plan]>#app-content{order:3;overflow:visible}.app-shell[data-section=plan]>.planner-spin-action{order:4}.app-shell[data-section=plan]>.app-navigation{order:5;position:sticky;bottom:0}[data-native-chrome=ready] .app-shell[data-section=plan]{padding-bottom:var(--native-nav-height, 112px)}.app-shell>.planner-spin-action .roulette-wheel-primary{min-height:58px;--wheel-size: 42px}.app-shell>.planner-spin-action{gap:4px;padding-block:4px}}.app-shell .history-list{gap:0;border:1px solid var(--color-divider);border-radius:var(--radius-panel);background:var(--color-paper)}.app-shell .history-list>li{border-color:var(--color-divider);box-shadow:none}.app-shell .history-open{padding-block:16px}.history-meta,.ride-stat-value,.nav-stats dd{font-variant-numeric:tabular-nums}.app-shell .guide-flow>li>svg{border-radius:0}.app-sheet .sheet-heading h2{letter-spacing:-.02em}.app-sheet .sheet-content{scrollbar-width:thin;scrollbar-color:var(--color-border-muted) transparent}.app-shell .collection-chip.is-selected .collection-rim,.app-shell .collection-medal.is-selected .collection-rim{animation:none}.app-shell .collection-chip.is-selected .collection-chip-face{transform:translateY(-3px) rotate(-3deg)}.ride-navigation:not([data-ride-status=arrived]) .ride-pocket-chip.is-settling,.ride-navigation:not([data-ride-status=arrived]) .ride-pockets.is-winning .ride-pocket-track{animation:none}:is(.app-shell,.app-sheet,.shared-app) .button,:where(.app-shell,.app-sheet) .sheet-action{transition:transform var(--control-press) var(--ease-out),background-color var(--control-press) var(--ease-out)}html[data-motion=quiet] :where(.result-heading,.wheel-ball,.collection-nav-note.is-collected,.collection-inspector,.ride-souvenir-chip,.ride-chip-ripple,.ride-chip-particles i){animation:none!important}html[data-motion=quiet] :where(.time-chip-check,.time-chip,.collection-chip-face,.collection-medal-face,.roulette-wheel,.button,.sheet-action){transform:none!important;transition:opacity .16s var(--ease-out),background-color .16s var(--ease-out)}html[data-motion=quiet] :where(.ride-chip-ripple,.ride-chip-particles){display:none}@media(hover:hover)and (pointer:fine){.app-shell .picker-inner .time-choice:not(.selected):hover{background:var(--color-paper)}}@media(prefers-reduced-motion:reduce){.app-shell .result-heading{animation:none}.app-shell .picker-inner .time-chip-check{transform:none;transition:none}.roulette-wheel.is-spinning .wheel-ball{animation:none}.app-shell .picker-inner .time-choice .time-chip,.app-shell .collection-chip.is-selected .collection-chip-face{transform:none;transition:none}}.app-shell>.planner-spin-action .wheel-action strong{font:600 1.25rem/1.3 DM Sans,system-ui,sans-serif;letter-spacing:0}.app-shell .picker-inner .time-options{position:relative;isolation:isolate}.app-shell .picker-inner .time-choice{position:relative;z-index:1;border-color:transparent;background:transparent}.app-shell .picker-inner .time-choice.selected{border-color:transparent;background:transparent}.app-shell .picker-inner .time-bet{position:absolute;inset:0 auto auto 0;z-index:0;pointer-events:none;border:2px solid var(--color-sunshine);border-radius:50%;opacity:0;transition:transform .22s var(--ease-out),opacity .16s var(--ease-out)}html[data-focus-input=keyboard] .picker-inner .time-bet,html[data-motion=quiet] .picker-inner .time-bet{transition:none}@media(prefers-reduced-motion:reduce){.app-shell .picker-inner .time-bet{transition:none}}@media(forced-colors:active){.app-shell .picker-inner .time-bet{border-color:Highlight}}
