.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)}.kb-popup-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface) 92%,#fff);color:var(--color-text-2);cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.06);transition:background var(--dur-fast) var(--ease-base),border-color var(--dur-fast) var(--ease-base),color var(--dur-fast) var(--ease-base),transform var(--dur-fast) var(--ease-out)}.kb-popup-close:hover{background:var(--gray-100);border-color:color-mix(in srgb,var(--color-border) 72%,var(--color-text));color:var(--color-text)}.kb-popup-close:active{transform:scale(.94)}.kb-popup-close:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 72%,#fff);outline-offset:2px}.maplibregl-popup.kb-beta-popup{z-index:var(--z-popover);max-width:min(320px,calc(100vw - 32px))}.maplibregl-popup.kb-beta-popup .maplibregl-popup-content{min-width:220px;padding:var(--sp-3) 46px var(--sp-3) var(--sp-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--color-surface) 98%,transparent);color:var(--color-text);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-sm);line-height:1.35}.maplibregl-popup.kb-beta-popup .maplibregl-popup-close-button{top:var(--sp-2);right:var(--sp-2);width:32px;height:32px;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-full);background:color-mix(in srgb,var(--color-surface) 92%,#fff);color:var(--color-text-2);font-size:20px;line-height:28px;box-shadow:0 1px 2px rgba(15,23,42,.06)}.maplibregl-popup.kb-beta-popup .maplibregl-popup-close-button:hover{background:var(--gray-100);color:var(--color-text)}.maplibregl-popup.kb-beta-popup .maplibregl-popup-close-button:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 72%,#fff);outline-offset:2px}.kb-map-popup{display:grid;gap:4px}.kb-map-popup__title{font-weight:700;color:var(--color-text);line-height:var(--lh-tight)}.kb-map-popup__body{color:var(--color-text-2);overflow-wrap:anywhere}.kb-map-popup__meta{color:var(--color-text-3);font-size:var(--text-xs);font-weight:600}.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}.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;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:var(--shadow-sm);transition:background var(--dur-fast) var(--ease-base),box-shadow var(--dur-fast) var(--ease-base),transform var(--dur-fast) var(--ease-out)}: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);transform:scale(.97)}.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-mission{position:fixed;top:calc(var(--safe-top) + var(--search-bar-h) + 42px + 24px);left:calc(var(--safe-left) + var(--sp-3));z-index:var(--z-toast);width:min(390px,calc(100vw - var(--safe-left) - var(--safe-right) - 88px));padding:var(--sp-3);border:1px solid rgba(220,38,38,.28);border-radius:var(--radius-md);background:rgba(15,23,42,.9);color:#fff;box-shadow:var(--shadow-xl);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--dur-base) var(--ease-out),transform var(--dur-base) var(--ease-out);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.beta-demo-mission.is-visible{opacity:1;transform:translateY(0)}.beta-demo-mission__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.beta-demo-mission__kicker{color:#fecaca;font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.beta-demo-mission__phase{min-width:0;overflow:hidden;color:#fff;font-size:var(--text-sm);text-align:right;text-overflow:ellipsis;white-space:nowrap}.beta-demo-mission__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.beta-demo-mission__grid div{min-width:0;padding:var(--sp-2);border-radius:var(--radius-sm);background:rgba(255,255,255,.08)}.beta-demo-mission__grid span{display:block;color:#cbd5e1;font-size:.68rem;font-weight:700}.beta-demo-mission__grid strong{display:block;min-width:0;overflow:hidden;color:#fff;font-size:var(--text-sm);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.beta-demo-mission__note{margin-top:var(--sp-2);color:#e2e8f0;font-size:var(--text-xs);font-weight:600;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)}.beta-demo-voice{position:fixed;right:calc(var(--safe-right) + var(--sp-3));bottom:calc(var(--safe-bottom) + 64px);z-index:var(--z-toast);min-height:36px;padding:0 var(--sp-3);border:1px solid rgba(255,255,255,.28);border-radius:var(--radius-full);background:rgba(15,23,42,.82);color:#fff;font-family:var(--font-sans);font-size:var(--text-xs);font-weight:800;box-shadow:var(--shadow-md);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.beta-demo-stop:hover,.beta-demo-voice:hover{border-color:rgba(255,255,255,.56)}.beta-demo-voice.is-active{border-color:rgba(34,197,94,.58);background:rgba(22,101,52,.92)}.chip-more-wrap{position:relative;flex-shrink:0}.chip-more-menu{position:fixed;top:0;left:0;min-width:240px;max-width:calc(100vw - 16px);max-height:min(560px,calc(100vh - var(--safe-top) - var(--safe-bottom) - 16px));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;overflow-y:auto;box-shadow:var(--shadow-lg);padding:var(--sp-1) 0;z-index:var(--z-popover);animation:moreMenuIn .14s var(--ease-base);-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.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-section{padding:var(--sp-1) 0}.chip-more-section+.chip-more-section{border-top:1px solid color-mix(in srgb,var(--color-border) 72%,transparent)}.chip-more-section[hidden]{display:none!important}.chip-more-section__label{padding:7px var(--sp-4) 4px;color:var(--color-text-3);font-size:11px;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.04em}.chip-more-item{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:44px;padding:10px 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);text-decoration:none;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;text-align:left;transition:background var(--dur-fast) var(--ease-base),color var(--dur-fast) var(--ease-base),transform var(--dur-fast) var(--ease-out)}.chip-more-item[hidden]{display:none!important}.chip-more-item:disabled{opacity:.48;cursor:not-allowed}.chip-more-item:hover{background:var(--gray-100)}.chip-more-item:active{background:var(--gray-200);transform:scale(.99)}.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)}.chip-more-item--danger{color:var(--color-error)}.chip-more-item--danger svg{color:var(--color-error)}.chip-more-item--danger:hover{background:rgba(239,68,68,.08)}.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){.beta-demo-mission{top:calc(var(--safe-top) + 118px);left:var(--sp-4);width:min(390px,calc(100vw - 112px))}}@media (max-width:420px){.beta-demo-mission{width:min(300px,calc(100vw - var(--safe-left) - var(--safe-right) - 72px));padding:10px}.beta-demo-mission__grid{gap:6px}.beta-demo-mission__grid div{padding:7px}}@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}.beta-demo-mission{transition:none;transform:none}.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);overflow:hidden;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}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{max-width:min(72vw,560px);white-space:normal;line-height:1.35}.maplibregl-ctrl-attrib-inner a{text-decoration:underline;text-underline-offset:2px}.chip{border:1px solid rgba(226,232,240,.88);box-shadow:0 8px 20px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.04)}.chip:focus-visible,.chip:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.1),0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent);outline:0}.chip--active,.chip.active{border-color:color-mix(in srgb,var(--color-primary) 48%,transparent)}.chip--anna:focus-visible,.chip--anna:hover{background:linear-gradient(135deg,#4338ca,#0f766e);color:#fff}@media (hover:none) and (pointer:coarse){.chip:hover{box-shadow:0 8px 20px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.04)}}