.btn{display:block;width:100%;padding:var(--sp-2) var(--sp-4);border:1px solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-align:center;cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease-base),color var(--dur-fast) var(--ease-base),border-color var(--dur-fast) var(--ease-base)}.btn-ghost{display:block;width:100%;padding:var(--sp-2) var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:0 0;color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;text-align:center;cursor:pointer;text-decoration:none;transition:background var(--dur-fast) var(--ease-base),border-color var(--dur-fast) var(--ease-base)}.btn-ghost:hover{background:var(--gray-100)}.btn-primary{display:block;width:100%;padding:var(--sp-3) var(--sp-6);border:none;border-radius:var(--radius-md);background:var(--color-primary);color:var(--color-primary-fg);font-family:var(--font-sans);font-size:var(--text-base);font-weight:600;text-align:center;cursor:pointer;transition:background var(--dur-fast) var(--ease-base),transform var(--dur-fast) var(--ease-out)}:root[data-kb-style=diamonds] .btn-primary{background-color:var(--kb-bavaria-blue);background-image:linear-gradient(rgba(0,72,132,.2),rgba(0,72,132,.2)),var(--kb-diamond-pattern-strong);background-size:auto,34px 34px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32)}:root[data-kb-style=diamonds] .btn-primary:hover{background-color:var(--kb-bavaria-blue-dark)}:root[data-kb-style=diamonds] #routeStartNav.btn-primary{background:#005ea8;background-image:none;color:#fff;border:1px solid rgba(255,255,255,.45);box-shadow:0 10px 24px rgba(0,80,146,.22),inset 0 0 0 1px rgba(255,255,255,.22);text-shadow:0 1px 2px rgba(0,35,70,.4)}:root[data-kb-style=diamonds] #routeStartNav.btn-primary:hover{background:#004f8f}.btn-primary:hover{background:var(--kb-blue-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.quick-actions{position:fixed;top:calc(var(--safe-top) + var(--search-bar-h) + var(--sp-5));left:var(--sp-3);right:var(--sp-3);z-index:var(--z-search);display:flex;gap:var(--sp-2);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:var(--sp-1) 0}.quick-actions::-webkit-scrollbar{display:none}.chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border:none;border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--dur-fast) var(--ease-base),box-shadow var(--dur-fast) var(--ease-base)}:root[data-kb-style=diamonds] .chip{background-color:rgba(255,255,255,.94);border:1px solid rgba(0,139,210,.26);box-shadow:0 5px 14px rgba(0,80,146,.13),inset 0 -2px 0 rgba(0,139,210,.18)}:root[data-kb-style=diamonds] .chip--active,:root[data-kb-style=diamonds] .chip.active{background-color:#fff;background-image:linear-gradient(rgba(255,255,255,.14),rgba(255,255,255,.14)),var(--kb-diamond-pattern-strong);background-size:auto,28px 28px;color:#003f72;border-color:rgba(0,139,210,.44)}.chip:hover{background:var(--gray-100);box-shadow:var(--shadow-md)}.chip:active{background:var(--gray-200)}.chip.active{background:var(--color-primary);color:var(--color-primary-fg)}.chip--active{background:var(--color-error);color:#fff;animation:track-pulse 1.5s ease-in-out infinite}.chip--active:hover{background:#b91c1c}.chip--anna{background:linear-gradient(135deg,#4f46e5,#0d9488);color:#fff;box-shadow:0 4px 14px rgba(15,118,110,.22)}.chip--anna:hover{background:linear-gradient(135deg,#4338ca,#0f766e);color:#fff}.chip--anna[hidden]{display:none}@keyframes track-pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.4)}50%{box-shadow:0 0 0 6px rgba(220,38,38,0)}}.chip svg{flex-shrink:0}.beta-demo-overlay{position:fixed;left:calc(var(--safe-left) + var(--sp-3));bottom:calc(var(--safe-bottom) + var(--sp-4));z-index:var(--z-toast);width:min(360px,calc(100vw - var(--safe-left) - var(--safe-right) - 24px));padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-lg);background:rgba(15,23,42,.88);color:#fff;box-shadow:var(--shadow-xl);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.beta-demo-overlay.is-visible{opacity:1;transform:translateY(0)}.beta-demo-overlay__kicker{color:#bfdbfe;font-size:var(--text-xs);font-weight:800}.beta-demo-overlay__text{margin-top:2px;font-size:var(--text-sm);font-weight:650;line-height:1.35}.beta-demo-stop{position:fixed;right:calc(var(--safe-right) + var(--sp-3));bottom:calc(var(--safe-bottom) + var(--sp-4));z-index:var(--z-toast);min-height:40px;padding:0 var(--sp-4);border:1px solid rgba(255,255,255,.36);border-radius:var(--radius-full);background:rgba(15,23,42,.86);color:#fff;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:700;box-shadow:var(--shadow-lg);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chip-more-wrap{position:relative;flex-shrink:0}.chip-more-menu{position:fixed;top:0;left:0;min-width:180px;max-width:calc(100vw - 16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);padding:var(--sp-1) 0;z-index:var(--z-popover);animation:moreMenuIn .14s var(--ease-base)}.chip-more-menu[hidden]{display:none!important}@keyframes moreMenuIn{from{opacity:0;transform:scale(.98) translateY(-4px);transform-origin:top left}to{opacity:1;transform:scale(1) translateY(0);transform-origin:top left}}.chip-more-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) var(--sp-4);border:none;background:0 0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-base)}.chip-more-item:hover{background:var(--gray-100)}.chip-more-item:active{background:var(--gray-200)}.chip-more-item svg{flex-shrink:0;color:var(--color-text-3)}.chip-more-item.chip--active{color:var(--color-error)}.chip-more-item.chip--active svg{color:var(--color-error)}.toast-container{position:fixed;bottom:calc(var(--safe-bottom) + 24px);left:50%;transform:translateX(-50%);z-index:var(--z-toast);display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);pointer-events:none;transition:bottom var(--dur-base) var(--ease-out)}body.is-tbt-active .toast-container{bottom:calc(var(--safe-bottom) + var(--tbt-footer-h,72px) + 16px)}.toast{padding:var(--sp-3) var(--sp-5);border-radius:var(--radius-full);background:var(--gray-800);color:#fff;font-size:var(--text-sm);font-weight:500;box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--dur-base) var(--ease-out) forwards}.toast.toast--out{animation:toast-out var(--dur-fast) var(--ease-in) forwards}@keyframes toast-in{from{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toast-out{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(.95)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media (min-width:768px){.quick-actions{top:calc(var(--safe-top) + var(--search-bar-h) + var(--sp-6));left:var(--sp-4);right:auto;max-width:560px}}@media (prefers-reduced-motion:reduce){.chip--active{animation:none}.chip-more-menu{animation:none}.map-ctx-menu{animation:none}.toast{animation:none;opacity:1;transform:none}.toast.toast--out{animation:none;opacity:0}.btn-primary,.chip,.chip-more-item,.map-ctx-item{transition:none}}.map-ctx-menu{position:fixed;z-index:500;min-width:210px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:0 8px 28px rgba(0,0,0,.18);padding:var(--sp-1) 0;animation:ctxMenuIn .12s var(--ease-out) both}@keyframes ctxMenuIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.map-ctx-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-4);border:none;background:0 0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;color:var(--color-text);cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease-base)}.map-ctx-item svg{flex-shrink:0;color:var(--gray-400)}.map-ctx-item:hover{background:var(--gray-50)}.map-ctx-item:hover svg{color:var(--color-primary)}.map-ctx-divider{height:1px;background:var(--color-border);margin:var(--sp-1) 0}