:root{--tabbar-h:64px;--float-stack-gap:12px;--float-stack-base:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + var(--float-stack-gap));--pal-summon-h:52px;--pal-summon-bottom:calc(78px + env(safe-area-inset-bottom,0px));--plan-activation-h:48px;--plan-activation-bottom:calc(var(--float-stack-base) + 10px);--map-corner-locate-size:52px;--map-corner-bottom:calc(var(--float-stack-base) + 72px);--map-corner-bottom-consent:calc(var(--float-stack-base) + 200px);--float-stack-top-pal:calc(var(--pal-summon-bottom) + var(--pal-summon-h));--float-stack-top-plan:calc(var(--plan-activation-bottom) + var(--plan-activation-h));--float-stack-top-map-corner:calc(var(--map-corner-bottom) + var(--map-corner-locate-size))}.routeLoadingShell{box-sizing:border-box;min-height:100svh;padding:max(24px, env(safe-area-inset-top)) 20px calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px) + 24px);background:var(--paper);color:var(--ink)}.routeLoadingShellInner{gap:14px;width:min(100%,28rem);margin:0 auto;display:grid}.routeLoadingShellBar,.routeLoadingShellCard{border-radius:var(--radius-sm,10px);background:color-mix(in srgb, var(--ink) 8%, var(--panel-raised,var(--paper)));animation:1.4s ease-in-out infinite routeLoadingPulse;display:block}.routeLoadingShellBar{width:42%;height:1.1rem}.routeLoadingShellBar--short{opacity:.85;width:28%;height:.85rem;animation-delay:.12s}.routeLoadingShellCard{width:100%;height:5.5rem;animation-delay:.2s}.routeLoadingShellCard+.routeLoadingShellCard{opacity:.9;height:4.25rem;animation-delay:.32s}.routeLoadingShellLabel{font:600 .78rem/1.3 var(--font-body,system-ui);color:var(--ink-soft,var(--muted));letter-spacing:.02em;margin:6px 0 0}@keyframes routeLoadingPulse{0%,to{opacity:.72}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.routeLoadingShellBar,.routeLoadingShellCard{animation:none}}.mobileTabBar,.mobileTabBarClearance{display:none}@media (max-width:640px){body:has(.mobileTabBar,.mobileTabBarClearance){padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px))}.mobileTabBar{z-index:var(--z-tabbar);background:linear-gradient(to top, color-mix(in srgb, var(--paper) 88%, transparent), transparent);padding:0 12px calc(6px + env(safe-area-inset-bottom,0px));pointer-events:none;transition:opacity var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out);display:block;position:fixed;bottom:0;left:0;right:0}:is(body:has(.appShell.detail-open) .mobileTabBar,body:has(.appShell.planning-open) .mobileTabBar),.mobileTabBar.isKeyboardHidden{opacity:0;pointer-events:none;transform:translateY(110%)}.mobileTabList{--tab-count:5;--tab-inset:2px;max-width:420px;padding:var(--tab-inset);border:1px solid var(--line);background:var(--panel-raised);box-shadow:0 -3px 12px color-mix(in srgb, var(--ink-deep) 10%, transparent), 0 4px 12px color-mix(in srgb, var(--ink-deep) 8%, transparent);pointer-events:auto;border-radius:16px;justify-content:space-around;align-items:center;gap:0;margin:0 auto;list-style:none;display:flex;position:relative}.mobileTabHighlight{top:var(--tab-inset);bottom:var(--tab-inset);left:var(--tab-inset);width:calc((100% - 2 * var(--tab-inset)) / var(--tab-count));background:color-mix(in srgb, var(--ink) 9%, transparent);transform:translateX(calc(var(--active-index,-1) * 100%));z-index:0;pointer-events:none;border-radius:12px;position:absolute}@media (prefers-reduced-motion:no-preference){.mobileTabHighlight{transition:transform var(--duration-base) var(--ease-out-strong), opacity var(--duration-fast) var(--ease-out-strong)}}.mobileTabItem{z-index:1;flex:1 1 0;min-width:0;display:flex;position:relative}.mobileTab{min-height:44px;color:var(--muted,var(--ink-soft));letter-spacing:0;transition:color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), transform var(--duration-press) var(--ease-out-strong);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;padding:4px 2px;font-size:.6875rem;font-weight:700;line-height:1.05;text-decoration:none;display:flex}.mobileTabIcon{color:currentColor;width:20px;height:20px;transition:color var(--duration-base) var(--ease-out), transform var(--duration-press) var(--ease-out-strong), background var(--duration-base) var(--ease-out);place-items:center;display:grid}.mobileTabLabel{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mobileTab:not(.isActive) .mobileTabIcon{color:var(--ink-soft)}.mobileTab:focus-visible{color:var(--ink);background:color-mix(in srgb, var(--brass) 8%, transparent);outline:2px solid var(--brass);outline-offset:-2px}}@media (max-width:640px) and (hover:hover) and (pointer:fine){.mobileTab:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 8%, transparent)}}@media (max-width:640px){.mobileTab.isActive{color:var(--ink);box-shadow:none;background:0 0}.mobileTab.isActive .mobileTabIcon{color:var(--brass)}}@media (max-width:390px){.mobileTabBar{padding-inline:10px}}@media (max-width:360px){.mobileTabList{--tab-inset:1px;max-width:340px}.mobileTab{min-height:44px;padding:2px 0;font-size:.6875rem}}@media (prefers-reduced-motion:reduce){.mobileTab,.mobileTabIcon,.mobileTabBar{transition:none}}
