.mobile-tab-bar{z-index:var(--l-z-nav);height:calc(var(--l-tabbar-h) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);background:var(--l-surface-1);border-top:1px solid var(--l-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:background-color var(--l-dur-phase) var(--l-ease-in-out), border-color var(--l-dur-phase) var(--l-ease-in-out);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-tab-bar__item{justify-content:center;align-items:center;gap:var(--l-space-0);min-height:var(--l-tap-min);color:var(--l-text-muted);transition:color var(--l-dur-base) var(--l-ease-out), transform var(--l-dur-fast) var(--l-ease-out);flex-direction:column;text-decoration:none;display:flex;position:relative}.mobile-tab-bar__item:active{transform:scale(.94)}.mobile-tab-bar__item.is-active{color:var(--l-accent)}.mobile-tab-bar__icon svg{width:20px;height:20px}.mobile-tab-bar__badge{position:absolute;top:4px;right:calc(50% - 18px)}.mobile-tab-bar__label{font:var(--l-type-caption);letter-spacing:var(--l-tracking-caption)}.mobile-tab-bar__item--accent .mobile-tab-bar__icon{background:var(--l-accent);width:44px;height:44px;color:var(--l-text-on-accent);box-shadow:0 0 20px var(--l-accent-glow);transition:transform var(--l-dur-base) var(--l-ease-out), box-shadow var(--l-dur-base) var(--l-ease-out);border-radius:50%;place-items:center;margin-top:-18px;display:grid}.mobile-tab-bar__item--accent.is-active{color:var(--l-accent)}.mobile-tab-bar--pin-active .mobile-tab-bar__item--accent.is-pin-ready .mobile-tab-bar__icon{box-shadow:0 0 32px var(--l-accent-glow), 0 0 0 4px color-mix(in srgb, var(--l-accent) 28%, transparent);transform:scale(1.06)}.mobile-tab-bar--pin-active .mobile-tab-bar__item--accent.is-pin-ready .mobile-tab-bar__label{color:var(--l-accent);font-weight:650}
:root{--l-pill-w:calc(var(--l-tap-min) * 3 + var(--l-space-1) * 4 + 2px);--l-pill-h:calc(var(--l-tap-min) + var(--l-space-1) * 2 + 2px)}.right-rail{z-index:var(--l-z-rail);top:var(--l-space-4);right:var(--l-space-4);width:var(--l-pill-w);height:var(--l-pill-h);box-sizing:border-box;border:1px solid var(--l-border);background:var(--l-surface-1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--l-elev-2);transition:top var(--l-dur-base) var(--l-ease-out), right var(--l-dur-base) var(--l-ease-out), width var(--l-dur-base) var(--l-ease-out), height var(--l-dur-base) var(--l-ease-out), border-radius var(--l-dur-base) var(--l-ease-out), border-width var(--l-dur-base) var(--l-ease-out), background-color var(--l-dur-base) var(--l-ease-out), box-shadow var(--l-dur-base) var(--l-ease-out);border-radius:999px;position:fixed;overflow:hidden}.right-rail.is-docked{z-index:calc(var(--l-z-sheet) + 1);width:var(--l-rail-w);background:var(--l-surface-sunken);height:100dvh;box-shadow:none;border-width:0 0 0 1px;border-radius:0;top:0;right:0}.right-rail__item{top:var(--l-space-1);left:calc(var(--l-space-1) + var(--i) * (var(--l-tap-min) + var(--l-space-1)));width:var(--l-tap-min);height:var(--l-tap-min);box-sizing:border-box;color:var(--l-text-muted);transition:top var(--l-dur-base) var(--l-ease-out), left var(--l-dur-base) var(--l-ease-out), width var(--l-dur-base) var(--l-ease-out), height var(--l-dur-base) var(--l-ease-out), border-radius var(--l-dur-base) var(--l-ease-out), background-color var(--l-dur-base) var(--l-ease-out), color var(--l-dur-base) var(--l-ease-out);border:1px solid #0000;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:0;text-decoration:none;display:flex;position:absolute;overflow:hidden}.right-rail.is-docked .right-rail__item{top:calc(var(--l-space-2) + var(--i) * 72px);left:var(--l-space-1);width:calc(var(--l-rail-w) - var(--l-space-2) - 1px);height:68px;padding:var(--l-space-2) var(--l-space-0);gap:var(--l-space-1);border-radius:var(--l-radius-md)}.right-rail__item:hover{color:var(--l-text);background:var(--l-surface-sunken)}.right-rail.is-docked .right-rail__item:hover{background:color-mix(in srgb, var(--l-text) 6%, transparent)}.right-rail__item.is-active{color:var(--l-accent);background:var(--l-accent-soft)}.right-rail.is-docked .right-rail__item.is-active{border-color:var(--l-accent-border)}.right-rail__icon{flex:none;place-items:center;display:grid}.right-rail__icon svg{width:20px;height:20px}.right-rail__label{max-width:100%;font:var(--l-type-caption);letter-spacing:var(--l-tracking-caption);text-align:center;overflow-wrap:anywhere;opacity:0;max-height:0;transition:max-height var(--l-dur-base) var(--l-ease-out), opacity var(--l-dur-base) var(--l-ease-out);font-weight:600;line-height:1.2}.right-rail.is-docked .right-rail__label{opacity:1;max-height:3em}.right-rail__badge{position:absolute;top:4px;right:4px}.right-rail.is-docked .right-rail__badge{right:10px}.right-rail__sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.right-rail,.right-rail__item,.right-rail__label{transition:none}}@media (max-width:1023px){.right-rail{display:none}}
.app-shell{background:var(--l-bg);width:100%;height:100%;display:flex;position:relative;overflow:hidden}.app-shell--rail{--l-sheet-dock-right:var(--l-rail-w)}.app-shell__stage{flex:1;min-width:0;position:relative}.app-shell__map,.app-shell__mobile-screen{position:absolute;inset:0}.app-shell__mobile-screen{z-index:var(--l-z-panel);background:var(--l-bg);animation:app-shell-push var(--l-dur-base) var(--l-ease-out);flex-direction:column;display:flex;overflow:auto}.app-shell__mobile-screen:has(.screen-page__footer){scroll-padding-bottom:calc(var(--l-space-3) * 2 + 48px + 1px + env(safe-area-inset-bottom,0px) + var(--l-space-2))}.app-shell--with-tabs .app-shell__map,.app-shell--with-tabs .app-shell__mobile-screen{bottom:calc(var(--l-tabbar-h) + env(safe-area-inset-bottom,0px))}.app-shell:has([data-sheet][data-side=bottom]) .mobile-tab-bar{display:none}.app-shell:has([data-sheet][data-side=bottom]).app-shell--with-tabs .app-shell__map{bottom:0}@keyframes app-shell-push{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}
