.step-controls{display:contents}.secondary-controls{position:sticky;bottom:0;z-index:calc(var(--z-floorpanel) + 1);flex:0 0 auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:.5rem 3.75rem .5rem .5rem;background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-soft);min-height:58px;box-sizing:border-box}.secondary-controls>.map-info{position:fixed;right:.5rem;bottom:.5rem;z-index:calc(var(--z-floorpanel) + 3);margin:0}.step-controls .subtle-note{flex:1 0 100%}.step-controls__route-actions{position:fixed;bottom:0;left:0;z-index:calc(var(--z-floorpanel) + 3);display:flex;align-items:center;gap:8px;padding:.5rem;background:var(--surface)}.step-controls__route-actions[hidden]{display:none}.route-action__label{display:inline}.route-context-information--hospital{display:none}body:not(.journey-active) .destination-information{display:none!important}.route-task-controls .route-view-toggle{position:fixed;top:8px;right:12px;z-index:3201;margin-left:0;background:#ffffff21;border-color:#ffffff3d}.route-task-controls .route-view-toggle button{color:#ffffffe6;background:transparent;border-color:transparent}.route-task-controls .route-view-toggle button[aria-pressed=true]{color:var(--brand-primary);background:var(--surface);border-color:var(--surface)}.route-task-controls .route-view-toggle button:hover,.route-task-controls .route-view-toggle button:focus-visible{color:var(--brand-primary);background:var(--surface);border-color:var(--surface)}.route-view-toggle{display:inline-flex;flex:0 0 auto;gap:3px;margin-left:auto;padding:3px;background:var(--surface-muted);border:1px solid var(--border);border-radius:var(--radius-pill)}.route-view-toggle[hidden]{display:none!important}.route-view-toggle button{min-height:38px;padding:.45rem .85rem;color:var(--text-muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);box-shadow:none;font:inherit;font-weight:700;cursor:pointer}.route-view-toggle button[aria-pressed=true]{color:var(--brand-primary);background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-soft)}.route-view-toggle button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.route-view-toggle__short-label{display:none}.journey-options{min-height:52px;display:flex;align-items:center;gap:12px;padding:6px 12px;color:var(--text-inverse);background:linear-gradient(135deg,var(--brand-deep),color-mix(in srgb,var(--brand-deep) 85%,black));border:1px solid color-mix(in srgb,var(--brand-deep) 70%,black);border-radius:var(--radius-md);box-shadow:0 4px 18px #00000026,0 1px #ffffff14 inset}.journey-options__label{flex:0 0 auto;font-size:.9rem;font-weight:800}.journey-options .routing-group{width:auto;min-height:40px;padding-inline:12px;box-shadow:none}.journey-options .routing-control{height:100%;align-items:center}.journey-options .routing-control>*{align-self:center}.journey-options .route-view-toggle{background:#ffffff21;border-color:#ffffff3d}.journey-options .route-view-toggle button{color:#ffffffe6}.journey-options .route-view-toggle button[aria-pressed=true]{color:var(--brand-primary);background:var(--surface);border-color:var(--surface)}.journey-options .route-view-toggle button:hover,.journey-options .route-view-toggle button:focus-visible{color:var(--brand-primary);background:var(--surface);border-color:var(--surface)}.controls-form+.journey-options{margin-top:4px}body.journey-active .controls-form+.journey-options{margin-top:0}.controls-form{display:grid;grid-template-columns:1fr;gap:10px;padding:.625rem 1rem;background:linear-gradient(135deg,var(--brand-deep),color-mix(in srgb,var(--brand-deep) 85%,black));border:1px solid color-mix(in srgb,var(--brand-deep) 70%,black);border-radius:var(--radius-lg);box-shadow:0 4px 18px #00000026,0 1px #ffffff14 inset;color:var(--text-inverse)}.controls-toolbar{display:grid;grid-template-columns:1fr;gap:12px}.destinations-selectors{display:grid;grid-template-columns:1fr;gap:12px;min-width:0}.control-group{display:flex;flex-direction:column;gap:6px;min-width:0}.controls-form .destinations-selectors label,.routing-label{color:var(--text-inverse)}.controls-form label,.routing-label{margin:0;font-weight:600;font-size:.92rem;letter-spacing:.01em;line-height:1.2}.controls-form input[type=search],.controls-form select{width:100%;font-size:1rem;box-sizing:border-box;border-radius:999px}.controls-form input[type=search]{height:var(--control-h);padding:0 var(--control-pad-x);border:1px solid var(--border-subtle);background:var(--surface-muted);transition:all .2s ease}#start-input,#destination-input{position:relative;border-radius:24px}.destination-group{position:relative;z-index:80}.control-group--start{position:relative;z-index:90}.search-field,.search-with-mic{position:relative;display:flex;align-items:center;width:100%;z-index:100}.search-field input[type=search],.search-with-mic input[type=search]{width:100%;padding-right:calc(var(--control-pad-x) + 34px);line-height:normal}.search-field input[type=search]::-webkit-search-cancel-button,.search-with-mic input[type=search]::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:10px;top:50%;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--text-muted);background:transparent;border:0;border-radius:var(--radius-pill);font-size:1.4rem;line-height:1;transform:translateY(-50%);box-shadow:none}.search-clear:hover,.search-clear:focus-visible{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,white)}.search-clear[hidden]{display:none}.search-error{margin:0;color:var(--text-inverse);font-size:.85rem;font-weight:600;line-height:1.3}.search-error:empty{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.autocomplete-list{position:absolute;top:calc(100% + 8px);left:0;right:0;display:grid;gap:2px;max-height:min(360px,60vh);overflow-y:auto;scroll-padding-top:54px;-webkit-overflow-scrolling:touch;touch-action:pan-y;padding:6px;color:var(--text);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-float);z-index:130}.autocomplete-list[hidden]{display:none}.autocomplete-option{display:grid;gap:3px;width:100%;min-height:48px;padding:8px 10px;color:var(--text);text-align:left;background:transparent;border:0;border-radius:var(--radius-sm);cursor:pointer;touch-action:pan-y;-webkit-user-select:none;user-select:none;scroll-margin-top:54px}.autocomplete-option--browse{padding-top:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border);border-radius:0}.autocomplete-option:hover,.autocomplete-option[aria-selected=true]{background:color-mix(in srgb,var(--brand-primary) 10%,white)}.autocomplete-option__label{font-size:.95rem;font-weight:700;line-height:1.2}.autocomplete-option__meta{color:var(--text-muted);font-size:.82rem;line-height:1.2}.autocomplete-context{position:sticky;top:-6px;z-index:1;margin:-6px -6px 2px;padding:.55rem .65rem;color:var(--text-muted);background:var(--surface-elevated);border-bottom:1px solid var(--border);font-size:.82rem;font-weight:700;line-height:1.25}.destinations-directory-dialog__panel{max-height:min(760px,calc(100vh - 2rem));overflow-y:auto}.destinations-directory-list{display:grid;gap:.35rem}.destinations-directory-option{display:grid;gap:.15rem;width:100%;padding:.65rem .75rem;color:var(--text);text-align:left;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.destinations-directory-option:hover,.destinations-directory-option:focus-visible{border-color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 8%,white)}.destinations-directory-option span{color:var(--text-muted);font-size:.82rem}.mic-btn,.status-speak,.quick-dest{position:relative;padding:0;line-height:0;color:var(--brand-primary);background:var(--surface-elevated);border:1px solid var(--border);box-shadow:var(--shadow-soft)}.mic-btn:hover,.status-speak:hover,.quick-dest:hover{box-shadow:var(--shadow-float)}.mic-btn:active,.status-speak:active,.quick-dest:active{box-shadow:var(--shadow-soft)}.quick-dest .icon,.mic-btn .icon,.status-speak .icon{display:block}.mic-btn{position:absolute;right:.45rem;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:999px;cursor:pointer;display:grid;place-items:center}.mic-btn.is-listening{filter:brightness(1.15)}.quick-destinations{position:absolute;top:calc(100% + 16px);left:0;display:flex;gap:10px;flex-wrap:nowrap;width:max-content;opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface-elevated) 92%,white);box-shadow:var(--shadow-float);transition:opacity .18s ease,visibility .18s ease,transform .18s ease;z-index:120}.destination-group:hover .quick-destinations,.destination-group:focus-within .quick-destinations,.destination-group.is-active .quick-destinations{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.quick-dest{width:42px;height:42px;border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:transform .15s ease,box-shadow .15s ease}.quick-dest:hover{transform:translateY(-2px)}.quick-dest .icon{width:22px;height:22px}.qd-text{font-weight:800;font-size:.85rem;letter-spacing:.04em;color:var(--brand-primary)}.ui-tooltip{position:absolute;top:var(--tooltip-offset-y);left:50%;transform:translate(-50%);padding:var(--tooltip-pad-y) var(--tooltip-pad-x);font-size:12px;white-space:nowrap;color:var(--tooltip-text);background:var(--tooltip-bg);border-radius:var(--tooltip-radius);box-shadow:var(--shadow-soft);opacity:0;pointer-events:none;z-index:2000}.mic-btn:hover .ui-tooltip,.mic-btn:focus-visible .ui-tooltip,.status-speak:hover .ui-tooltip,.status-speak:focus-visible .ui-tooltip,.quick-dest:hover .ui-tooltip,.quick-dest:focus-visible .ui-tooltip{opacity:1}.panel,.panel--top,.controls-form,.destinations-selectors{overflow:visible}body.journey-active .panel--top{overflow:visible;pointer-events:auto}body.journey-active .panel--top .controls-form{display:none}.controls-form .check{display:inline-flex;align-items:center;gap:.5rem}.controls-form .check input{accent-color:var(--brand-primary)}.routing-group{margin:0;min-inline-size:0;width:100%;min-height:var(--control-h);padding:0 12px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;color:var(--text);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-soft)}.routing-control{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:100%;margin:0;line-height:1;white-space:nowrap}.routing-control input{width:18px;height:18px;margin:0;transform:none;flex:0 0 auto;accent-color:var(--brand-primary)}.routing-control label{display:inline-flex;align-items:center;min-height:30px;font-weight:700}.info-icon-button{width:30px;height:30px;min-height:30px;display:inline-grid;place-items:center;padding:0;color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 8%,white);border:1px solid color-mix(in srgb,var(--brand-primary) 28%,white);border-radius:var(--radius-pill);font:inherit;font-weight:800;line-height:1}.controls-form fieldset.active{border:2px solid var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,white)}.controls-form input[type=search]:focus-visible,.controls-form fieldset:focus-within,.info-icon-button:focus-visible,.mic-btn:focus-visible,.quick-dest:focus-visible,.status-speak:focus-visible{outline:none;border-color:var(--brand-primary);box-shadow:var(--focus-ring),var(--shadow-soft)}#status-wrapper{background:var(--surface-muted);border-left:3px solid var(--brand-primary);border-radius:var(--radius-sm);margin:.5rem 0;display:flex;align-items:center;gap:10px;padding:8px 10px}#status-wrapper[hidden]{display:none!important}#status-message:focus-visible{outline:3px solid var(--focus-color, #ffbf47);outline-offset:3px;border-radius:4px}.status-bubble{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-width:0;box-sizing:border-box}#status-message{margin:0;min-width:0;font-weight:500;font-size:.95rem;color:var(--text)}.route-context-note{grid-column:1 / -1;margin:-2px 0 0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:.45rem .55rem .45rem .65rem;color:#294664;background:color-mix(in srgb,var(--brand-primary) 8%,white);border:1px solid color-mix(in srgb,var(--brand-primary) 18%,white);border-radius:var(--radius-sm);font-size:.84rem;font-weight:500;line-height:1.32}.route-context-note__dismiss{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--brand-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-pill);font:inherit;font-size:1.1rem;line-height:1;cursor:pointer}.route-context-note__dismiss:hover,.route-context-note__dismiss:focus-visible{background:color-mix(in srgb,var(--brand-primary) 10%,white);border-color:color-mix(in srgb,var(--brand-primary) 20%,white);outline:none;box-shadow:var(--focus-ring)}.route-context-note[hidden]{display:none!important}.route-context-note--warning{color:#5b3a00;background:#fff4ce;border-color:#d97706}.route-context-note--warning .route-context-note__dismiss{color:#8a4b00}.route-estimate{grid-column:1;margin:-4px 0 0;color:var(--text-muted);font-size:.88rem;font-weight:600;line-height:1.25}.route-estimate[hidden]{display:none!important}.status-actions{grid-column:1 / -1;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%;min-width:0;box-sizing:border-box}.status-actions[hidden]{display:none!important}.arrival-completion{width:min(calc(100% - 1rem),760px);max-height:min(72dvh,650px);margin:.5rem auto;padding:clamp(.75rem,1.5vw,1rem);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;color:var(--text);background:var(--surface);border:1px solid var(--border);border-top:4px solid #007f3b;border-radius:var(--radius-lg);box-shadow:0 12px 30px #212b3629}.arrival-completion[hidden]{display:none!important}.arrival-completion h2,.arrival-completion h3,.arrival-completion p{margin:0}.arrival-completion__summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.1rem 0 .7rem}.arrival-completion__icon{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;color:#007f3b;background:#e7f4ec;border-radius:50%}.arrival-completion__icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.arrival-completion__summary h2{font-size:clamp(1.45rem,3.5vw,1.85rem);line-height:1.15}.arrival-completion__summary h2:focus-visible{outline:3px solid var(--focus-color, #ffbf47);outline-offset:4px}.arrival-completion__summary p{margin-top:.15rem;color:var(--text-muted);font-size:1rem}.arrival-completion__summary .arrival-completion__thanks{color:var(--text);font-weight:400}.arrival-completion__feedback{display:grid;gap:.4rem;padding:.7rem 0;border-top:1px solid var(--border)}.arrival-completion__feedback h3{font-size:1.12rem;line-height:1.3}.arrival-completion__feedback>p{color:var(--text-muted);line-height:1.4}.arrival-rating{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.35rem;margin-top:.1rem}.arrival-rating__option{min-width:0;width:52px;min-height:52px;justify-self:center;display:flex;align-items:center;justify-content:center;padding:0;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:50%;box-shadow:none;font:inherit;cursor:pointer}.arrival-rating__option:hover{background:color-mix(in srgb,var(--brand-primary) 7%,white);border-color:var(--brand-primary)}.arrival-rating__option:focus-visible{outline:none;box-shadow:var(--focus-ring)}.arrival-rating__option[aria-pressed=true]{color:var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,white);border:2px solid var(--brand-primary)}.arrival-rating__option:disabled{cursor:default;opacity:.68}.arrival-rating__option[aria-pressed=true]:disabled{opacity:1}.arrival-rating__face{font-size:1.75rem;line-height:1}.arrival-rating__scale{display:flex;justify-content:space-between;gap:1rem;padding:0 .2rem;color:var(--text-muted);font-size:.75rem;font-weight:700}.arrival-completion__feedback-status,.arrival-completion__action-status{color:#006747;font-weight:700}.arrival-completion__feedback-status:empty,.arrival-completion__action-status:empty{display:none}.arrival-completion__feedback-status[data-state=error],.arrival-completion__action-status[data-state=error]{color:var(--danger, #b10e1e)}.arrival-completion__return{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.3rem .8rem;padding:.7rem 0;border-top:1px solid var(--border)}.arrival-completion__return p{color:var(--text-muted);font-size:.9rem;line-height:1.3}.arrival-completion__return .arrival-completion__action-status{grid-column:1 / -1}button.arrival-completion__return-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding-inline:1rem;font-weight:800;white-space:nowrap}.arrival-completion__return-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.arrival-completion__privacy{display:grid;gap:.4rem;padding:.65rem .75rem .75rem;line-height:1.4;background:var(--surface-muted);border-radius:var(--radius-md)}.arrival-completion__privacy-details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:-.35rem -.35rem 0;padding:.35rem;border-radius:calc(var(--radius-md) - 2px);cursor:pointer;font-size:1rem;font-weight:800;list-style:none}.arrival-completion__privacy-details summary::-webkit-details-marker{display:none}.arrival-completion__privacy-details summary:after{content:"›";color:var(--text-muted);font-size:1.6rem;font-weight:400;line-height:1;transform-origin:center;transition:transform .15s ease}.arrival-completion__privacy-details[open] summary:after{transform:rotate(90deg)}.arrival-completion__privacy-details summary:hover{background:color-mix(in srgb,var(--brand-primary) 6%,transparent)}.arrival-completion__privacy-details summary:focus-visible{outline:none;box-shadow:var(--focus-ring)}.arrival-completion__privacy-title{display:inline-flex;align-items:center;gap:.5rem}.arrival-completion__shield{width:22px;height:22px;flex:0 0 auto;color:var(--text-muted);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.arrival-completion__privacy-summary{color:var(--text-muted);font-size:.86rem}.arrival-completion__privacy-details[open]+.arrival-completion__privacy-summary{display:none}.arrival-completion__privacy-explanation{display:grid;gap:.55rem;padding:.35rem 0 .55rem}button.arrival-completion__finish{width:100%;min-height:46px;font-size:1rem;font-weight:800}.arrival-completion__privacy-explanation a{width:fit-content;min-height:44px;display:inline-flex;align-items:center;color:var(--brand-primary);font-weight:700}body.journey-arrived .context-strip{position:sticky;flex:0 0 auto;overflow:visible}body.journey-arrived #step-next,body.journey-arrived #clear-journey{display:none}@media(max-width:560px){.arrival-completion{width:calc(100% - .75rem);max-height:min(74dvh,620px);margin:.35rem auto;padding:.65rem}.arrival-completion__summary{gap:.6rem;padding-bottom:.6rem}.arrival-completion__icon{width:44px;height:44px}.arrival-completion__icon svg{width:31px;height:31px}.arrival-completion__summary h2{font-size:1.45rem}.arrival-completion__summary p{font-size:.9rem}.arrival-rating{grid-template-columns:repeat(5,minmax(0,1fr));gap:.25rem}.arrival-rating__option{width:48px;min-height:48px}.arrival-completion__return{grid-template-columns:minmax(0,1fr);justify-items:start;gap:.2rem}button.arrival-completion__return-button{width:auto;min-height:44px;padding-inline:.8rem}.arrival-completion__feedback h3{font-size:1rem}.arrival-completion__privacy{padding:.55rem .65rem .65rem}}.destination-choice-actions .status-action-btn{max-width:100%;white-space:normal;text-align:left}.lift-blocked-actions{display:contents}.lift-blocked-actions[hidden]{display:none!important}.status-action-btn{min-width:0;max-width:100%;border:1px solid var(--brand-primary);background:color-mix(in srgb,var(--brand-primary) 10%,white);color:var(--brand-primary);border-radius:999px;padding:.55rem .85rem;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;overflow-wrap:anywhere}.status-action-btn:hover{background:color-mix(in srgb,var(--brand-primary) 16%,white)}.status-action-btn--warning{border-color:#a33a22;color:#842f1d;background:#fff4ef}.status-action-btn--warning:hover,.status-action-btn--warning:focus-visible{background:#ffe8df}.status-action-btn--subtle{border-color:var(--border);background:var(--surface);color:var(--text-muted, var(--text))}.journey-assistance-controls{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:6px}.status-speak{width:40px;height:40px;border:0;border-radius:var(--radius-pill);cursor:pointer;display:grid;place-items:center;background:var(--surface)}.status-speak.is-speaking{filter:brightness(1.08)}.status-speak .ui-tooltip{right:0;left:auto;transform:none}.update-location{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:.4rem .65rem;color:var(--brand-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);font:inherit;font-size:.82rem;font-weight:700;line-height:1.15;cursor:pointer}.update-location[hidden]{display:none}.update-location:hover,.update-location:focus-visible{background:color-mix(in srgb,var(--brand-primary) 8%,white);border-color:color-mix(in srgb,var(--brand-primary) 35%,var(--border))}.update-location:focus-visible{outline:none;box-shadow:var(--focus-ring)}.update-location .icon{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.update-location__copy{display:flex;flex-direction:column;align-items:flex-start}.update-location__hint{display:none;color:var(--text-muted);font-size:.72rem;font-weight:500}@media(min-width:1200px){.update-location{border-radius:var(--radius-sm)}.update-location__hint{display:block}}@media(max-width:520px){.status-bubble{gap:6px}.update-location{width:42px;min-width:42px;height:42px;justify-content:center;padding:0}.update-location__copy{display:none}}.location-scanner-dialog{z-index:6400}.location-scanner-dialog__panel{width:min(520px,100%);max-height:min(92vh,720px)}.location-scanner-preview{position:relative;width:100%;aspect-ratio:1;margin:14px 0;overflow:hidden;background:#101820;border-radius:var(--radius-sm)}.location-scanner-preview video,.location-scanner-target{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.location-scanner-preview video{object-fit:cover}.location-scanner-target{box-sizing:border-box;pointer-events:none}.location-scanner-target:after{content:"";position:absolute;top:17%;right:17%;bottom:17%;left:17%;border:3px solid #fff;border-radius:12px;box-shadow:0 0 0 999px #00000047}.location-scanner-confirmation{display:grid;gap:12px}.location-scanner-confirmation[hidden]{display:none}.location-scanner-confirmation h3,.location-scanner-confirmation p,.location-scanner-status{margin:0}.location-scanner-confirmation__name{color:var(--text-strong);font-size:1.15rem;font-weight:700}.location-scanner-status{min-height:1.5em;margin-top:12px;color:var(--text-muted);font-size:.9rem}.location-scanner-status[data-tone=error]{color:var(--danger, #8a1c1c);font-weight:600}.location-scanner-status[data-tone=success]{color:var(--success, #006b3c)}.location-scanner-retry{width:100%}@media(prefers-reduced-motion:reduce){.location-scanner-dialog *,.location-scanner-dialog *:before,.location-scanner-dialog *:after{scroll-behavior:auto;transition:none!important;animation:none!important}}.hospital-information-card{min-width:0;margin:.5rem .5rem .5rem 0;padding:8px 12px;color:var(--text);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft)}.hospital-information-card--desktop,.hospital-information-card[hidden]{display:none}.hospital-information-card h2{margin:0 0 2px;overflow:hidden;color:var(--text-strong);font-size:.82rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.hospital-information-card button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:32px;padding:0;color:var(--brand-primary);background:transparent;border:0;border-radius:4px;font:inherit;font-size:.9rem;font-weight:700;text-align:left;cursor:pointer}.hospital-information-card button:focus-visible{outline:3px solid var(--focus-color, #ffbf47);outline-offset:2px}@media(min-width:1200px){.quick-destinations{top:calc(100% + 10px);right:0;left:auto}.quick-destinations:before{content:"";position:absolute;top:-8px;right:100px;width:14px;height:14px;background:color-mix(in srgb,var(--surface-elevated) 92%,white);border-top:1px solid var(--border);border-left:1px solid var(--border);transform:rotate(45deg)}}@media(min-width:900px)and (max-width:1199px){.quick-destinations{top:calc(100% + 10px);left:calc(100% - 60px);right:auto}.quick-destinations:before{content:"";position:absolute;top:-8px;left:30px;width:14px;height:14px;background:color-mix(in srgb,var(--surface-elevated) 92%,white);border-top:1px solid var(--border);border-left:1px solid var(--border);transform:rotate(45deg)}}@media(min-width:900px){.secondary-controls{padding-right:11rem}.hospital-information-card--mobile{display:none!important}.hospital-information-card--desktop:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;flex:0 1 430px;max-width:min(430px,44vw);margin:0 0 0 auto;padding:4px 10px;box-shadow:none}.hospital-information-card--desktop h2{margin:0}.hospital-information-card--desktop button{width:auto;min-height:40px;white-space:nowrap}.hospital-information-card--desktop+.map-info{margin-left:0}.panel--top{display:flex;align-items:stretch;gap:0}body:not(.journey-active) .panel--top{background:linear-gradient(135deg,var(--brand-deep),color-mix(in srgb,var(--brand-deep) 85%,black));border:1px solid color-mix(in srgb,var(--brand-deep) 70%,black);border-radius:var(--radius-lg);box-shadow:0 4px 18px #00000026,0 1px #ffffff14 inset}body:not(.journey-active) .panel--top>.controls-form,body:not(.journey-active) .panel--top>.journey-options{background:transparent;border-color:transparent;box-shadow:none}.controls-form{flex:1 1 auto;min-width:0;border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.controls-form+.journey-options{margin-top:0}.journey-options{flex:0 0 auto;justify-content:flex-end;min-height:0;padding:5px 8px;border-left-color:#ffffff38;border-radius:0 var(--radius-lg) var(--radius-lg) 0}body:not(.journey-active) .journey-options{align-items:flex-end;padding-bottom:10px}body:not(.journey-active) .journey-options .routing-group{height:var(--control-h);min-height:var(--control-h)}.journey-options__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.journey-active .panel--top{height:0;min-height:0;gap:0}body.journey-active .journey-options{position:fixed;top:6px;right:6px;z-index:var(--z-floorpanel);min-height:48px;border-radius:var(--radius-pill)}body.journey-active .status-bubble{max-width:min(1100px,calc(100vw - var(--journey-options-width, 408px) - 24px))}body.journey-active .floor-panel{top:calc(var(--status-height) + var(--float-gap) + 10px)}.controls-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr);gap:18px;align-items:end}.destinations-selectors{display:contents}.control-group{min-width:0}#status-wrapper{margin:6px;display:flex;justify-content:flex-start;background:transparent;border:0;border-radius:var(--radius-md);padding:0}.status-bubble{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;position:relative;width:fit-content;padding:12px 12px 12px 14px;background:var(--surface-elevated);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow-soft);max-width:min(1100px,calc(100vw - 24px))}.journey-active .status-bubble{width:100%;border-radius:var(--radius-md)}#status-message{grid-column:1;grid-row:1;min-width:0;max-width:70ch;white-space:normal}#status-wrapper:not(.location-update-visible) #status-message{max-width:none}.route-estimate{grid-column:1;margin:0;padding-left:2px;white-space:nowrap}.route-context-note{position:static;grid-column:1 / -1;width:100%;max-width:none;margin:0;box-sizing:border-box;box-shadow:none}#status-speak-btn.status-speak{grid-column:2;grid-row:1;align-self:center;width:40px;height:40px;border-radius:999px}.status-actions{grid-column:1 / -1}}@media(max-width:899px){.controls-form{gap:6px;padding:.625rem .875rem .75rem}.controls-toolbar{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;row-gap:6px}.destinations-selectors{display:contents;gap:10px}.control-group--start{grid-column:1 / -1}.destination-group{display:contents}.destination-group>label,.destination-group>.search-with-mic{grid-column:1 / -1}.destination-group>label{margin-bottom:-3px}.control-group{gap:3px}.controls-label{margin-bottom:2px;font-size:.85rem;opacity:.9}.journey-options{min-height:44px;gap:8px;padding:2px 6px;border-radius:var(--radius-sm)}body.journey-active .journey-options{order:-1;flex:0 0 auto;width:100%;box-sizing:border-box}.route-task-controls .route-view-toggle{top:4px;right:6px}.journey-options__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.journey-options .routing-group{min-height:40px;padding-inline:6px}.journey-options .routing-control{gap:6px}.route-view-toggle{gap:2px;padding:2px}.route-view-toggle button{min-height:38px;padding-inline:.4rem;font-size:.95rem}.route-view-toggle__full-label{display:none}.route-view-toggle__short-label{display:inline}.quick-destinations{grid-column:1;align-self:center;position:static;width:fit-content;max-width:100%;max-height:none;margin-top:0;padding:0;border:0;box-shadow:none;flex-wrap:wrap;overflow:visible;opacity:1;visibility:visible;transform:none;pointer-events:auto}.autocomplete-list{grid-column:1 / -1;position:static;max-height:min(300px,45dvh);margin-top:-2px}.destination-group:hover .quick-destinations,.destination-group:focus-within .quick-destinations,.destination-group.is-active .quick-destinations{opacity:1;visibility:visible;max-height:none;padding:0}#status-wrapper{margin:.125rem 0 .375rem;padding:6px 8px;color:var(--mobile-map-label, var(--text));background:var(--mobile-map-surface-elevated, var(--surface-muted));border-left-color:var(--mobile-map-route, var(--brand-primary));box-shadow:0 8px 20px #48607824}#status-message{color:var(--mobile-map-label, var(--text))}.hospital-information-card--desktop:not([hidden]){display:block;flex:0 1 auto;max-width:calc(100% - 58px);margin:0;padding:0;background:transparent;border:0;box-shadow:none}.hospital-information-card--desktop h2{display:none}.hospital-information-card--desktop button{width:auto;min-height:42px;padding:0 .75rem;background:var(--mobile-map-surface, var(--surface));border:1px solid var(--mobile-map-border, var(--border));border-radius:var(--radius-pill);box-shadow:0 8px 22px #4860781f;white-space:nowrap}body.journey-active .hospital-information-card--desktop{display:none!important}.route-context-information--hospital:not([hidden]){display:inline-flex}body.journey-active .route-context-information--hospital{display:none!important}.route-estimate{color:var(--mobile-map-muted, var(--text-muted))}.status-speak{margin-left:6px;color:var(--mobile-map-route, var(--brand-primary));background:var(--mobile-map-surface, var(--surface));border:1px solid var(--mobile-map-border, var(--border))}.status-actions{width:100%;grid-column:1 / -1}.status-action-btn{color:var(--mobile-map-route, var(--brand-primary));background:color-mix(in srgb,var(--mobile-map-route, var(--brand-primary)) 10%,white);border-color:var(--mobile-map-route, var(--brand-primary))}.status-action-btn:hover{background:color-mix(in srgb,var(--mobile-map-route, var(--brand-primary)) 16%,white)}.status-action-btn--subtle{color:var(--mobile-map-muted, var(--text-muted));background:var(--mobile-map-surface, var(--surface));border-color:var(--mobile-map-border, var(--border))}.step-controls,.secondary-controls{gap:6px;padding:.375rem;color:var(--mobile-map-label, var(--text));background:var(--mobile-map-surface-elevated, var(--surface));border-top-color:var(--mobile-map-border, var(--border));box-shadow:0 -6px 16px #4860781f}.secondary-controls{bottom:var(--mobile-legal-footer-height, 0px);min-height:54px}.secondary-controls>.map-info{right:.375rem;bottom:calc(.375rem + var(--mobile-legal-footer-height, 0px))}.step-controls__route-actions{bottom:var(--mobile-legal-footer-height, 0px);gap:6px;padding:.375rem;color:var(--mobile-map-label, var(--text));background:var(--mobile-map-surface-elevated, var(--surface));box-shadow:0 -6px 16px #4860781f}.route-action--compact,.destination-information__trigger{justify-content:center;min-width:68px;padding-block:.3rem!important;font-size:.8rem;line-height:1.05;text-align:center}.route-action__label>span{display:block}.step-controls button{min-height:40px;padding:.45rem .8rem;color:var(--mobile-map-label, var(--text));background:var(--mobile-map-surface, var(--surface));border-color:var(--mobile-map-border, var(--border))}.step-controls button.primary{color:var(--text-inverse);background:var(--mobile-map-route, var(--brand-primary))}.step-controls button.secondary{color:var(--mobile-map-muted, var(--text-muted))}.step-controls button:disabled{opacity:.55;cursor:not-allowed}.step-controls .subtle-note{margin:0;font-size:.86rem;line-height:1.25;color:var(--mobile-map-muted, var(--text-muted))}.route-context-note{font-size:.8rem;line-height:1.25}}.panel--top{position:relative;z-index:3000;box-sizing:border-box}@media(max-width:380px){.step-controls__route-actions{max-width:calc(100vw - 58px);gap:4px;padding-inline:4px}.step-controls__route-actions>button{padding-inline:.5rem}.step-controls__route-actions .route-action--compact,.step-controls__route-actions .destination-information__trigger{min-width:58px;padding-inline:.35rem;font-size:.72rem}}.destination-information{display:inline-flex;align-items:center}.destination-information[hidden]{display:none}.destination-information__trigger{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:.45rem .8rem;color:var(--text-muted, #475569);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;font-size:.8rem;font-weight:500;line-height:1.05;text-align:center;cursor:pointer}.destination-information__trigger:hover{color:var(--brand-primary, #005eb8);background:color-mix(in srgb,var(--brand-primary, #005eb8) 5%,transparent)}.destination-information__trigger:focus-visible{outline:3px solid var(--focus-color, #ffbf47);outline-offset:2px}.destination-information-resources{display:grid;gap:.75rem}.destination-information-resource{padding:.8rem;background:var(--surface, #fff);border:1px solid var(--border, #cbd5e1);border-radius:.6rem}.destination-information-resource h3{margin:0 0 .3rem;color:var(--text-muted, #475569);font-size:.82rem;line-height:1.25;text-transform:uppercase;letter-spacing:.025em}.destination-information-resource__link{display:inline-block;min-height:24px;color:var(--brand-primary, #005eb8);font-weight:700}.destination-information-resource__link:focus-visible{outline:3px solid var(--focus-color, #ffbf47);outline-offset:3px}.destination-information-resource .destination-information-resource__source,.destination-information-resource .destination-information-resource__description{margin-top:.25rem;color:var(--text-muted, #475569);font-size:.88rem;line-height:1.35}.destination-information-disclaimer{margin-top:.9rem!important;padding-top:.75rem;color:var(--text-muted, #475569);border-top:1px solid var(--border, #cbd5e1);font-size:.8rem!important;line-height:1.4!important}.map-column{display:flex;flex-direction:column;position:relative;overflow:hidden;flex:1 1 auto;min-height:0}.map-viewer{position:relative;display:block;flex:1 1 auto;min-height:360px;overflow:hidden;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}.map-viewer[hidden],.floor-panel[hidden],.full-directions-view[hidden]{display:none!important}.full-directions-view{flex:1 1 auto;min-height:0;overflow:auto;background:var(--surface-map);border-block:1px solid var(--border)}.full-directions-view__inner{width:min(100% - 2rem,860px);margin:0 auto;padding:1.25rem 0 2rem}.full-directions-view h2{margin:0;color:var(--text);font-size:clamp(1.35rem,2.5vw,1.8rem)}.full-directions-summary{margin:.4rem 0 1.1rem;color:var(--text-muted);font-weight:600}.full-directions-list{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.full-directions-step__button{width:100%;display:grid;grid-template-columns:2.25rem minmax(0,1fr);gap:.8rem;align-items:start;padding:.9rem 1rem;color:var(--text);text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);cursor:pointer}.full-directions-step__button:hover{border-color:color-mix(in srgb,var(--brand-primary) 45%,var(--border))}.full-directions-step__button:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-soft)}.full-directions-step__button.is-current{background:color-mix(in srgb,var(--brand-primary) 7%,white);border-color:var(--brand-primary)}.full-directions-step__number{width:2.25rem;height:2.25rem;display:grid;place-items:center;color:var(--text-inverse);background:var(--brand-primary);border-radius:var(--radius-pill);font-weight:800}.full-directions-step__content{display:grid;gap:.35rem;min-width:0}.full-directions-step__instruction{font-size:1rem;font-weight:650;line-height:1.45}.full-directions-step__floor{color:var(--text-muted);font-size:.88rem;font-weight:700}.full-directions-step__debug{overflow-wrap:anywhere;color:var(--text-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.75rem;line-height:1.4}#map-svg{display:block;width:100%;height:100%;box-sizing:border-box;border:1px solid var(--border);background:var(--surface-map);cursor:grab;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none}#map-svg:active{cursor:grabbing}.map-viewport-controls{position:absolute;right:12px;bottom:18px;z-index:calc(var(--z-floorpanel) + 1);display:flex;align-items:center;gap:4px;padding:4px;background:color-mix(in srgb,var(--surface-elevated) 92%,white);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow-float);pointer-events:auto}.map-viewport-controls button{position:relative;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;color:var(--brand-primary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:none;cursor:pointer}.map-viewport-controls button:hover,.map-viewport-controls button:focus-visible{box-shadow:var(--shadow-soft)}.map-viewport-controls button:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-soft)}.map-viewport-controls .ui-tooltip{top:auto;bottom:calc(100% + 8px);z-index:calc(var(--z-floorpanel) + 2)}.map-viewport-controls button:hover .ui-tooltip,.map-viewport-controls button:focus-visible .ui-tooltip{opacity:1}.map-zoom-btn{font-size:1.2rem;font-weight:800;line-height:1}.map-reset-view{font:inherit}.map-reset-view .icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.map-zoom-btn:disabled,.map-reset-view:disabled{opacity:.45;pointer-events:none}.brand-intro{position:fixed;left:var(--brand-intro-left, 0);top:var(--brand-intro-top, 0);width:var(--brand-intro-width, 100vw);height:var(--brand-intro-height, 100vh);z-index:1700;display:grid;place-items:center;pointer-events:none;overflow:hidden;opacity:1}.brand-intro:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffeb;opacity:0}.brand-intro__content{position:relative;grid-area:1 / 1;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(10px,3vmin,28px);width:50%;height:50%;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:translateY(4px);opacity:0}.brand-intro__content[hidden]{display:none}.brand-intro__content img{width:min(62%,520px);height:min(62%,520px);object-fit:contain}.brand-intro__content span{font-size:clamp(1.4rem,5vmin,4.5rem);font-weight:700;text-align:center}.brand-intro.is-visible{animation:brandIntroContainerFade 1.2s ease forwards}.brand-intro.is-visible:before{animation:brandIntroScrimFade 1.2s ease forwards}.brand-intro.is-visible .brand-intro__content--product{animation:brandIntroContentFade 1.2s ease forwards}.brand-intro__content--organisation img{width:auto;max-width:100%;height:calc(var(--organisation-name-size) * 1.5);max-height:none}.brand-intro__content--organisation{--organisation-name-size: clamp(1.15rem, 2.6vmin, 2rem);align-items:flex-end;width:min(84%,760px)}.brand-intro__content--organisation span{width:100%;max-width:760px;font-family:Arial,sans-serif;font-size:var(--organisation-name-size);line-height:1.15;text-align:right;white-space:pre-line}.brand-intro.has-organisation.is-visible,.brand-intro.has-organisation.is-visible:before,.brand-intro.has-organisation.is-visible .brand-intro__content{animation-duration:2.4s}.brand-intro.has-organisation.is-visible .brand-intro__content--product{animation-name:brandIntroProductSequence}.brand-intro.has-organisation.is-visible .brand-intro__content--organisation{animation-name:brandIntroOrganisationSequence}@keyframes brandIntroContainerFade{0%,92%{opacity:1}to{opacity:0}}@keyframes brandIntroScrimFade{0%{opacity:.92}58%{opacity:.92}to{opacity:0}}@keyframes brandIntroContentFade{0%{opacity:0}16%,58%{opacity:1}to{opacity:0}}@keyframes brandIntroProductSequence{0%{opacity:0}8%,34%{opacity:1}44%,to{opacity:0}}@keyframes brandIntroOrganisationSequence{0%,46%{opacity:0}56%,84%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:reduce){.brand-intro.is-visible,.brand-intro.is-visible:before,.brand-intro.is-visible .brand-intro__content{animation-duration:.01ms!important}}@media(max-width:899px){.app--map{--mobile-map-bg: #f3f7fa;--mobile-map-surface: #ffffff;--mobile-map-surface-elevated: rgba(255, 255, 255, .96);--mobile-map-border: #d7e0e8;--mobile-map-edge: #c9d2db;--mobile-map-label: #263442;--mobile-map-muted: #5f6f7d;--mobile-map-junction-stroke: #8b98a5;--mobile-map-decision-stroke: #6f7d8b;--mobile-map-destination-fill: #f6b35c;--mobile-map-destination-stroke: #d98a1f;--mobile-map-route: #005eb8;--mobile-map-active-node: #0072e5;--mobile-map-red: #d32f2f}.app--map,.app--map main,.app--map #map-area,.app--map .map-column{background:var(--mobile-map-bg)}.app--map #map-area{flex:1 1 auto;min-height:0}.app--map .map-column{min-height:0}.app--map .map-viewer{min-height:min(320px,42dvh)}.app--map #map-svg{color:var(--mobile-map-label);background:var(--mobile-map-bg);border-color:var(--mobile-map-border);box-shadow:0 0 0 1px #ffffffd1 inset,0 10px 26px #48607824}.app--map .map-viewport-controls{right:10px;bottom:34px;gap:3px;padding:3px;background:var(--mobile-map-surface-elevated, var(--surface-elevated));border-color:var(--mobile-map-border, var(--border))}.app--map .map-viewport-controls button{width:34px;height:34px;min-height:34px;color:var(--mobile-map-route, var(--brand-primary));background:var(--mobile-map-surface, var(--surface));border-color:var(--mobile-map-border, var(--border))}.app--map .map-reset-view .icon{width:18px;height:18px}}@media(max-height:620px){.app--map .map-viewer{min-height:360px}}.graph-edge{stroke:var(--border-strong);stroke-width:7;opacity:.7}.graph-edge.stairs{stroke-dasharray:6 6;opacity:.5}.graph-edge.ramp{stroke-dasharray:10 6;opacity:.7}.graph-node{fill:var(--surface);stroke:var(--text-muted);stroke-width:3}.graph-node.entrance{fill:var(--node-entrance-fill);stroke:var(--node-entrance-stroke)}.graph-node.exit{fill:#d1fae5;stroke:#0f766e}.graph-node.destination{fill:var(--node-destination-fill);stroke:var(--node-destination-stroke)}.graph-node.lift{fill:#ccfbf1;stroke:#0f766e}.graph-node.stairs{fill:#ede9fe;stroke:#6d28d9}.graph-node.junction{fill:var(--surface);stroke:#616161}.graph-label,.node-label{font-size:14px;fill:#424242;paint-order:stroke;stroke:#ffffffeb;stroke-width:3px;stroke-linejoin:round;pointer-events:none}.graph-node-icon{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.graph-node-icon--lift{stroke:#0f766e}.graph-node-icon--stairs{stroke:#6d28d9}.node-hit{fill:transparent;stroke:transparent;pointer-events:all}.node-visual{pointer-events:all}#map-base.is-step-guidance .graph-edge,#map-base.is-step-guidance .node-visual,#map-base.is-step-guidance .node-label{opacity:.25}#map-base.is-step-guidance .node-visual.is-route-node,#map-base.is-step-guidance .node-label.is-route-node,#map-base.is-step-guidance .node-visual.landmark,#map-base.is-step-guidance .node-label.landmark,#map-base.is-step-guidance .node-visual.destination,#map-base.is-step-guidance .node-label.destination{opacity:.9}.node-hit:hover+.node-visual,.node-visual:hover,.clickable-node:hover{stroke-width:5}.clickable-node{cursor:pointer}.floor-badge-rect{fill:var(--surface);stroke:#333;stroke-width:1.5;opacity:.95}.floor-badge-text{fill:#111;font-size:12px;font-weight:600;pointer-events:none}.current-route-segment-halo{fill:none;opacity:.42;pointer-events:none;animation:currentRouteSegmentPulse 1.6s ease-in-out infinite}@keyframes currentRouteSegmentPulse{0%,to{opacity:.24}50%{opacity:.58}}.decision-ring{fill:none;stroke-width:4;stroke-dasharray:4 3;animation:decisionPulse 1.5s infinite}@keyframes decisionPulse{0%{opacity:.4}50%{opacity:1}to{opacity:.4}}.start-marker{fill:none;stroke:var(--brand-primary);stroke-width:3;stroke-dasharray:4 3}.start-marker-label{font-size:12px;stroke:var(--brand-primary);font-weight:600;pointer-events:none}.start-flash{fill:none;stroke:var(--brand-primary);stroke-width:2;opacity:.6;animation:flashFade .6s ease-out}@keyframes flashFade{0%{r:14;opacity:.8}to{r:26;opacity:0}}.pulse-ring{fill:none;stroke:var(--alert);stroke-width:4;opacity:.7;transform-origin:center;animation:pulse 1.4s ease-out infinite}@keyframes pulse{0%{r:10;opacity:.75}to{r:26;opacity:0}}@media(prefers-reduced-motion:reduce){.current-route-segment-halo{animation:none;opacity:.48}}.here-label{font-size:14px;fill:#333;pointer-events:none}.preview-actions{display:flex;gap:8px;margin-top:8px}.preview-actions[hidden]{display:none}.preview-ring{fill:none;stroke:var(--text);stroke-width:3;stroke-dasharray:6 4;opacity:.85;pointer-events:none}.preview-route{stroke:var(--text);stroke-width:6;stroke-dasharray:6 4;opacity:.25;pointer-events:none}.debug-label{font-size:12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;fill:var(--surface);paint-order:stroke;stroke:#000000a6;stroke-width:4px;pointer-events:none}@media(max-width:899px){.app--map .graph-edge{stroke:var(--mobile-map-edge);opacity:1}.app--map .graph-edge.stairs{opacity:.64}.app--map .graph-edge.ramp{opacity:.82}.app--map .graph-node{fill:var(--mobile-map-surface);stroke:var(--mobile-map-decision-stroke)}.app--map .graph-node.entrance,.app--map .graph-node.exit{fill:var(--mobile-map-surface);stroke:var(--mobile-map-active-node)}.app--map .graph-node.destination{fill:var(--mobile-map-destination-fill);stroke:var(--mobile-map-destination-stroke)}.app--map .graph-node.lift{fill:#ccfbf1;stroke:#0f766e}.app--map .graph-node.stairs{fill:#ede9fe;stroke:#6d28d9}.app--map .graph-node.junction{fill:var(--mobile-map-surface);stroke:var(--mobile-map-junction-stroke)}.app--map .graph-label,.app--map .node-label,.app--map .here-label{fill:var(--mobile-map-label);paint-order:stroke;stroke:#ffffffeb;stroke-width:4px;stroke-linejoin:round}.app--map .floor-badge-rect{fill:var(--mobile-map-surface-elevated);stroke:var(--mobile-map-border)}.app--map .floor-badge-text{fill:var(--mobile-map-label)}.app--map .decision-ring{fill:var(--mobile-map-surface);stroke:var(--mobile-map-decision-stroke)}.app--map .route-halo{stroke:#ffffffeb}.app--map .route-line{stroke:var(--mobile-map-route);filter:drop-shadow(0 2px 3px rgba(0,94,184,.22))}.app--map .preview-ring,.app--map .preview-route{stroke:var(--mobile-map-label)}.app--map .start-marker,.app--map .start-flash,.app--map .start-marker-label{stroke:var(--mobile-map-active-node)}.app--map .here-marker{fill:var(--mobile-map-active-node);stroke:var(--mobile-map-surface)}.app--map .pulse-ring{stroke:var(--mobile-map-red)}.app--map .debug-label{fill:#fff;stroke:#000000d9}}.floor-panel{position:absolute;top:calc(var(--status-height) + var(--float-gap));right:12px;z-index:var(--z-floorpanel);margin:0}.floor-panel.is-expanded{z-index:1900}.floor-popover{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:6px}.floor-label{font-weight:650;font-size:.85rem;line-height:1.1;white-space:nowrap;background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius-pill);padding:4px 8px;box-shadow:var(--shadow-soft)}.stack-icon{position:relative;width:56px;height:56px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-elevated);box-shadow:var(--shadow-float);display:grid;place-items:center;--sq-size: 24px;--sq-offset: 7px}.floor-panel.is-expanded .stack-icon{position:absolute;right:0;top:calc(100% + 6px);width:auto;height:auto;max-height:calc(100vh - var(--status-height) - 80px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:10px;display:flex;flex-direction:column;gap:10px;z-index:1901}.sq{position:absolute;width:var(--sq-size);height:var(--sq-size);z-index:calc(100 - var(--i));top:calc(var(--i) * var(--sq-offset));left:50%;transform:translate(-50%) rotate(45deg);border-radius:4px;background:var(--floor-inactive);border:1px solid var(--floor-border);box-shadow:0 2px 6px #0000001f;cursor:pointer;transition:transform .24s ease,top .24s ease,left .24s ease,opacity .2s ease,background-color .2s ease}.sq:after{content:attr(data-label);opacity:0;pointer-events:none}.sq.is-active{background:var(--brand-primary);opacity:1}.sq:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 35%,transparent);outline-offset:2px}.floor-panel.is-expanded .sq{transform:rotate(0);transition-delay:0ms,.24s,.24s,0ms,0ms;position:relative;top:0;left:0;width:38px;height:38px;border-radius:10px}.floor-panel.is-expanded .sq:after{opacity:1;transform:none;display:grid;place-items:center;font-weight:800;font-size:1rem;color:#000000e6}.floor-panel.is-expanded .sq.is-active:after{color:#fff}@media(max-width:899px){.floor-panel{top:calc(var(--status-height) + 10px);right:14px}body.journey-active .floor-panel{top:calc(var(--journey-options-height, 44px) + var(--status-height) + 10px)}.floor-label{color:var(--mobile-map-label, var(--text));background:var(--mobile-map-surface-elevated, var(--surface-elevated));border-color:var(--mobile-map-border, var(--border))}.stack-icon{background:var(--mobile-map-surface-elevated, var(--surface-elevated));border-color:var(--mobile-map-border, var(--border));box-shadow:0 10px 24px #48607829}.floor-panel.is-expanded .stack-icon{max-height:calc(100dvh - var(--status-height) - 112px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.sq{background:var(--mobile-map-edge, var(--floor-inactive));border-color:var(--mobile-map-border, var(--floor-border))}.sq.is-active{background:var(--mobile-map-active-node, var(--brand-primary))}.floor-panel.is-expanded .sq:after{color:var(--mobile-map-label, rgba(0,0,0,.9))}.floor-panel.is-expanded .sq.is-active:after{color:#fff}}.app.appointment-active{height:auto;min-height:100dvh;overflow:auto;background:var(--surface-muted)}.appointment-active .layout[hidden]{display:none}.appointment-plan{box-sizing:border-box;width:min(100%,1000px);margin:0 auto;padding:20px 32px 32px;color:var(--text);font-size:1rem;line-height:1.5}.appointment-plan *,.appointment-plan *:before,.appointment-plan *:after{box-sizing:border-box}.appointment-plan__brand{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 24px;padding-bottom:16px;border-bottom:1px solid var(--border-strong)}.appointment-plan__brand .brand-main{font-size:1.125rem}.appointment-plan__brand .brand-accent{color:var(--brand-primary)}.appointment-plan__brand p{margin:0;color:var(--text-strong)}.appointment-plan__intro{padding:24px 0 16px}.appointment-plan__eyebrow{margin:0 0 4px;color:var(--brand-primary);font-weight:700}.appointment-plan h1{max-width:28ch;margin:0 0 8px;font-size:clamp(1.75rem,3.5vw,2.25rem);line-height:1.2;letter-spacing:-.02em;overflow-wrap:anywhere}.appointment-plan h2{margin:0 0 12px;font-size:1.25rem;line-height:1.35;color:var(--text-strong)}.appointment-plan p{margin-block:0 12px}.appointment-plan__example,.appointment-plan [data-appointment-error]{margin-top:12px;padding:12px 16px;border-left:4px solid var(--brand-primary);background:var(--surface)}.appointment-plan__visit{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg)}.appointment-plan__overview{padding:24px 28px 0}.appointment-plan__summary{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px;margin:0 0 12px}.appointment-plan__summary>div{min-width:0}.appointment-plan dt{color:var(--text-strong);font-size:1rem}.appointment-plan dd{margin:4px 0 0;font-size:1.125rem;font-weight:700;overflow-wrap:anywhere}.appointment-plan__badge{display:block;margin-top:4px;font-size:1rem;font-weight:400;color:var(--text-strong)}.appointment-plan__estimate{padding:10px 12px;background:var(--surface-muted);border-radius:var(--radius-sm);color:var(--text-strong)}.appointment-plan__estimate:empty,.appointment-plan__status:empty,.appointment-plan__summary:empty{display:none}.appointment-plan__status{color:var(--text-strong)}.appointment-plan__options{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:0 24px;border-top:1px solid var(--border-strong)}.appointment-plan details{min-width:0}.appointment-plan summary{cursor:pointer;color:var(--brand-primary);font-weight:700;min-height:48px;padding:12px 4px}.appointment-plan summary:hover{text-decoration:underline}.appointment-plan details[open]{padding-bottom:12px}.appointment-plan__active-options{display:block;padding-left:18px;color:var(--text-strong);font-weight:400}.appointment-plan__active-options:empty{display:none}.appointment-plan__stages{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.appointment-plan__stage{min-width:0;padding:24px 28px 16px;border-top:1px solid var(--border-strong)}.appointment-plan__map-links{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.appointment-plan__map-links a{flex:1 1 140px;border:1px solid var(--brand-primary);border-radius:var(--radius-sm);font-weight:700;text-align:center;background:var(--surface)}.appointment-plan__actions{display:grid;gap:4px;margin:16px 0 0}.appointment-plan a{color:var(--brand-primary);text-underline-offset:3px}.appointment-plan button,.appointment-plan a,.appointment-plan summary{font-family:inherit;font-size:inherit;line-height:inherit;overflow-wrap:anywhere}.appointment-plan button,.appointment-plan a{min-height:48px;padding:12px}.appointment-plan a{display:inline-flex;align-items:center;justify-content:center}.appointment-plan button{cursor:pointer}.appointment-plan button.appointment-plan__primary{background:var(--brand-primary);color:var(--text-inverse);border:1px solid var(--brand-primary);border-radius:var(--radius-sm);font-weight:700}.appointment-plan__text-action{color:var(--brand-primary);background:transparent;border:0;text-decoration:underline;text-underline-offset:3px;text-align:left}.appointment-plan__intro .appointment-plan__text-action{padding-left:0}.appointment-plan__intro .appointment-plan__text-action span{white-space:normal}.appointment-plan__support{color:var(--text-strong)}.appointment-plan .appointment-plan__time-note{margin:0;padding:16px 28px;border-top:1px solid var(--border-strong);color:var(--text-strong)}.appointment-plan__check{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:10px 0;cursor:pointer}.appointment-plan__check input{flex:0 0 24px;width:24px;height:24px;margin:0;accent-color:var(--brand-primary)}.appointment-plan select{display:block;width:100%;min-height:48px;padding:10px;margin:6px 0 16px;font:inherit;background:var(--surface);color:var(--text);border:1px solid #687789;border-radius:var(--radius-sm)}.appointment-plan [data-accessible-arrival] dl{margin:8px 0}.appointment-plan [data-accessible-arrival] dd{font-size:1rem;font-weight:400;margin-bottom:12px}.appointment-plan .appointment-plan__resources{display:block;position:static;width:auto;height:auto;margin:0;padding:20px 0 0;border:0;background:transparent;font:inherit;text-align:left}.appointment-plan__resources h2{font-size:1rem;margin-bottom:4px}.appointment-plan__resources [data-official-links]{display:flex;flex-wrap:wrap;gap:0 20px}.appointment-plan__resources a{padding:10px 0;text-align:left;justify-content:flex-start}.appointment-plan__resources p{display:block;color:var(--text-strong);margin:4px 0 0;text-align:left}.appointment-plan :focus-visible{outline:3px solid var(--text);outline-offset:3px;box-shadow:0 0 0 6px #ffeb3b}.appointment-plan [hidden]{display:none!important}@media(max-width:700px){.appointment-plan{padding:16px 16px 24px}.appointment-plan__brand{display:block;padding-bottom:12px}.appointment-plan__brand p{margin:4px 0 0}.appointment-plan__intro{padding:16px 0 12px}.appointment-plan__overview{padding:20px 20px 0}.appointment-plan__summary{gap:12px 20px}.appointment-plan__options,.appointment-plan__stages{grid-template-columns:1fr}.appointment-plan__options>details+details{border-top:1px solid var(--border-strong)}.appointment-plan__stage{padding:20px}.appointment-plan__stage+.appointment-plan__stage{border-left:0;border-top:1px solid var(--border-strong)}.appointment-plan .appointment-plan__time-note{padding:16px 20px}.appointment-plan__map-links a{flex-basis:120px}}@media(max-width:359px){.appointment-plan__summary{grid-template-columns:1fr}}
