@font-face{font-family:Veneer Regular;src:url(/fonts/Veneer.woff2) format("woff2"),url(/fonts/Veneer.woff) format("woff");font-display:swap}*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0A0A0A;--color-bg-gradient: linear-gradient(150deg, #0A0A0A 0%, #1a0a04 45%, #2d0f08 100%);--color-surface: rgba(255, 255, 255, .07);--color-surface-hover: rgba(255, 255, 255, .11);--color-text: rgba(0, 0, 0, .92);--color-text-muted: rgba(255, 255, 255, .5);--color-border: rgba(255, 255, 255, .12);--color-primary: #cb2214;--color-accent: #ffca19;--color-primary-dim: rgba(203, 34, 20, .2);--color-danger: #e74c3c;--spacing-unit: 1rem;--radius: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--font-size-base: 1.25rem;--font-size-2xs: calc(var(--font-size-base) * .625);--font-size-xs: calc(var(--font-size-base) * .75);--font-size-sm: calc(var(--font-size-base) * .875);--font-size-lg: calc(var(--font-size-base) * 1.125);--font-size-xl: calc(var(--font-size-base) * 1.375);--font-size-2xl: calc(var(--font-size-base) * 1.5)}body{font-family:system-ui,-apple-system,sans-serif;line-height:1.5;block-size:100dvh;background:url(/holzplanken.jpg) center / cover no-repeat fixed,var(--color-bg-gradient);background:image-set(url(/holzplanken.avif) type("image/avif"),url(/holzplanken.jpg) type("image/jpeg")) center / cover no-repeat fixed,var(--color-bg-gradient);color:var(--color-text);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden}b-app-shell,b-app-header,b-bottom-nav{display:contents}header{background:#0a0a0a;border-block-end:1px solid var(--color-border);padding-block:calc(var(--spacing-unit) * .75);padding-inline:var(--spacing-unit);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-unit);position:relative;z-index:1002}header h1{font-family:Veneer Regular,system-ui,sans-serif;font-size:clamp(var(--font-size-lg),3vw,var(--font-size-2xl));font-weight:400;letter-spacing:.02em;color:var(--color-accent)}.header-actions{display:flex;align-items:center;gap:calc(var(--spacing-unit) * .75)}.lang-switcher{display:flex;gap:2px}.lang-btn{background:transparent;border:0;padding:calc(var(--spacing-unit) * .25) calc(var(--spacing-unit) * .5);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;border-radius:var(--radius);transition:background .2s,color .2s}.lang-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.lang-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.flag-btn{font-size:var(--font-size-2xl)}.primary-button{background:var(--color-primary);color:#fff;border:none;padding:calc(var(--spacing-unit) * .6) calc(var(--spacing-unit) * 1.5);border-radius:var(--radius);font:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:opacity .2s}.primary-button:hover:not(:disabled){opacity:.88}.primary-button:disabled{opacity:.5;cursor:wait}.secondary-button{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);padding:calc(var(--spacing-unit) * .4) calc(var(--spacing-unit) * 1);border-radius:var(--radius);font:inherit;font-size:var(--font-size-xs);cursor:pointer;transition:background .2s}.secondary-button:hover{background:var(--color-surface-hover);color:var(--color-text)}.notification-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-unit)}.notification-item h3{font-size:var(--font-size-base);font-weight:600;margin-block-end:calc(var(--spacing-unit) * .25)}.notification-item p{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.notification-item time{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);opacity:.7}.notification-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-unit);margin-block-end:calc(var(--spacing-unit) * .25)}.notification-item--linked{cursor:pointer}.notification-item--linked:hover{background:var(--color-surface-hover)}.empty-state{text-align:center;color:var(--color-text-muted);padding:calc(var(--spacing-unit) * 3) 0}.error{color:#f87171;font-size:var(--font-size-sm)}main{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-bottom:50px}main.main--ar{padding-bottom:0}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar){background:url(/header.png) top center / 105% auto no-repeat,url(/footer.png) bottom center / 105% auto no-repeat,url(/paper.jpg) top center / 105% auto repeat-y;background:image-set(url(/header.avif) type("image/avif"),url(/header.png) type("image/png")) top center / 105% auto no-repeat,image-set(url(/footer.avif) type("image/avif"),url(/footer.png) type("image/png")) bottom center / 105% auto no-repeat,image-set(url(/paper.avif) type("image/avif"),url(/paper.jpg) type("image/jpeg")) top center / 105% auto repeat-y;background-attachment:local;--paper-inset: 5vw;padding-top:calc(var(--paper-inset));padding-right:var(--paper-inset);padding-bottom:calc(var(--paper-inset) + 25px);padding-left:var(--paper-inset);--color-text: #2a1a0c;--color-text-muted: rgba(42, 26, 12, .68);--color-surface: rgba(60, 36, 16, .06);--color-surface-hover: rgba(60, 36, 16, .12);--color-border: rgba(60, 36, 16, .22)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .day-tabs{border-bottom-color:var(--color-border)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .day-tab{color:var(--color-text-muted)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-dropdown-btn,main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-map-link{background:#140c04e0;border-color:#140c048c;color:#f3e8d5}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-map-link:hover,main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-map-link:focus-visible{background:#140c04f2}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-map-link:active{background:#0a0602}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-dropdown-panel{background:#efe1c2;border-color:var(--color-border);box-shadow:0 8px 20px #1e120859}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-dropdown-item{border-bottom-color:var(--color-border)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .stage-dropdown-item.active{color:var(--color-text)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .schedule-time{color:var(--color-text-muted)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .schedule-row{border-bottom-color:var(--color-border)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .schedule-row.muted{color:#2a1a0c6b}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .schedule-row.muted .schedule-time{color:#2a1a0c59}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .past-toggle{color:var(--color-text-muted)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .marker-row{color:var(--color-primary);border-top-color:#cb221459;border-bottom-color:#cb221459}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .artist-meta,main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .mehr-arrow,main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .placeholder-text{color:var(--color-text-muted)}main:not(:has(b-map-view)):not(:has(b-large-compass-view)):not(.main--ar) .merch-card-name-overlay{background:#140c04b3}b-running-order-view,b-lineup-view,b-news-view,b-mehr-view,b-placeholder-view{display:block;width:100%}footer{background:#0a0a0a8c;border-block-start:1px solid var(--color-border);padding-block:calc(var(--spacing-unit) * .5);padding-inline:var(--spacing-unit);text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.header-left{display:flex;align-items:center;gap:6px}.back-btn{background:none;border:none;color:#ccc;cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0}.back-btn:hover{color:#fff}.bottom-nav{display:flex;background:#0a0a0a;border-top:2px solid #cb2214;padding:6px 0 max(12px,env(safe-area-inset-bottom));position:relative;z-index:100}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:none;cursor:pointer;padding:4px 2px;color:#888}.bottom-nav-item.active{color:var(--color-accent)}.bottom-nav-icon{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;transition:background .15s}.bottom-nav-item.active .bottom-nav-icon{background:#cb2214;color:#fff}.nav-badge{position:absolute;inset-block-start:-4px;inset-inline-end:-4px;background:var(--color-primary);color:#fff;font-size:var(--font-size-2xs);font-weight:700;min-inline-size:16px;block-size:16px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center;padding-inline:4px}.bottom-nav-item.raised{justify-content:center}.bottom-nav-item.raised .bottom-nav-icon{width:100px;height:70px;margin-top:-50px;color:#fff;background:transparent}.bottom-nav-item.raised .bottom-nav-label{position:absolute;bottom:12px}.bottom-nav-item.raised .bottom-nav-icon svg{width:26px;height:26px}.bottom-nav-label{font-size:var(--font-size-2xs);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.running-order{padding-block:12px;overflow-x:hidden;overflow-x:clip;overflow-y:visible}.day-tabs{display:flex;border-bottom:2px solid #333;margin:0 12px 12px}.day-swipe{touch-action:pan-y}.day-swipe-track{display:flex;gap:16px;transform:translate(calc(-100% - 16px));will-change:transform;user-select:none;-webkit-user-select:none}.day-panel{flex:0 0 100%;min-width:0;align-self:flex-start;padding-inline:12px}.day-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 4px;font-size:var(--font-size-sm);color:#666;cursor:pointer;text-align:center;white-space:nowrap}.day-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:700}.stage-dropdown{position:relative;margin:0 12px 12px}.stage-dropdown-header{display:flex;align-items:stretch;gap:8px}.stage-dropdown-btn{width:100%;flex:1;background:#222;border:1px solid #444;border-radius:var(--radius-md);padding:10px 14px;display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;text-align:left}.stage-map-link{flex:0 0 auto;min-width:44px;display:inline-flex;align-items:center;justify-content:center;background:#222;border:1px solid #444;border-radius:var(--radius-md);color:#fff;text-decoration:none;font-size:var(--font-size-lg);line-height:1;cursor:pointer;padding:0 10px}.stage-map-link:hover,.stage-map-link:focus-visible{background:#2c2c2c;outline:none}.stage-map-link:focus-visible{box-shadow:0 0 0 2px var(--color-accent)}.stage-map-link:active{background:#1a1a1a}.stage-dropdown-btn .stage-dropdown-chevron{color:#cb2214;font-size:var(--font-size-xs);margin-left:8px}.stage-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--color-bg);border:1px solid #444;border-radius:var(--radius-md);overflow:hidden;z-index:20;box-shadow:0 8px 24px #0009}.stage-dropdown-item{display:flex;align-items:center;gap:10px;padding:11px 14px;font-size:var(--font-size-sm);color:var(--color-text-muted);background:none;border:none;border-bottom:1px solid #333;width:100%;text-align:left;cursor:pointer}.stage-dropdown-item:last-child{border-bottom:none}.stage-dropdown-item.active{color:#fff;font-weight:600}.stage-dropdown-item .stage-check{color:var(--color-accent);font-size:var(--font-size-sm);width:14px;flex-shrink:0}.now-card{background:linear-gradient(135deg,#cb2214,#8b1a0e);border-radius:var(--radius-lg);padding:14px;display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;position:relative;overflow:hidden;box-shadow:0 0 16px #000}.now-progress-bar{position:absolute;bottom:0;left:0;height:4px;background:var(--color-accent);transition:width 1s linear}.now-card-info{flex:1}.now-badge{font-size:var(--font-size-2xs);color:#ffffffb3;text-transform:uppercase;letter-spacing:1px}.next-card .now-badge{color:var(--color-text)}.now-name{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin:4px 0 2px}.next-card .now-name{color:var(--color-text)}.now-time{font-size:var(--font-size-xs);color:#ffffffb3}.next-card .now-time{color:var(--color-text)}.next-card .now-description{color:var(--color-text-muted)}.now-portrait{width:52px;height:52px;background:#ffffff26;border-radius:50%;flex-shrink:0;object-fit:cover}.schedule-section{margin-bottom:16px}.now-card.clickable,.next-card.clickable{cursor:pointer}.next-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:12px 14px;display:flex;align-items:center;gap:12px;margin-bottom:8px;color:var(--color-text)}.now-description{font-size:var(--font-size-sm);color:#ffffffbf;margin:6px 0 0;line-height:1.4}.schedule-label{font-size:var(--font-size-2xs);color:var(--color-accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.schedule-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid #1e1e1e;color:var(--color-text-muted);font-size:var(--font-size-sm)}.schedule-row.muted{color:#555}.schedule-time{color:#666;font-size:var(--font-size-xs);width:38px;flex-shrink:0}.schedule-row.muted .schedule-time{color:#444}.past-section{margin-top:8px}.past-toggle{background:none;border:none;color:#555;font-size:var(--font-size-xs);cursor:pointer;padding:8px 0;width:100%;text-align:left}.past-list{margin-top:4px}.marker-row{text-align:center;color:var(--color-accent);font-size:var(--font-size-sm);font-weight:600;padding:10px 0;margin-bottom:8px;border-top:1px solid rgba(255,202,25,.3);border-bottom:1px solid rgba(255,202,25,.3)}.lineup{padding:12px}.headliner-card{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:16px;gap:8px}.headliner-portrait{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#cb2214,#8b1a0e);object-fit:cover}.headliner-badge{font-size:var(--font-size-2xs);color:var(--color-primary);text-transform:uppercase;letter-spacing:1px}.headliner-name{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.headliner-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.artist-grid{display:grid;grid-template-columns:1fr;gap:10px}@media(min-width:410px){.artist-grid{grid-template-columns:1fr 1fr}}.artist-card{background:var(--color-surface);border-radius:var(--radius-md);padding:2vw;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.artist-portrait{width:52px;height:52px;border-radius:50%;background:var(--color-surface);object-fit:cover}.artist-name{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text)}.artist-meta{font-size:var(--font-size-2xs);color:#666}.news-list{padding:12px;display:flex;flex-direction:column;gap:10px}.news-push-banner{display:flex;align-items:center;gap:10px;margin:12px 12px 0;padding:12px 14px;background:var(--color-primary-dim);border:1px solid var(--color-primary);border-radius:var(--radius-lg);color:var(--color-text)}.news-push-banner__icon{font-size:var(--font-size-lg);line-height:1;flex-shrink:0}.news-push-banner__text{flex:1;font-size:var(--font-size-sm);line-height:1.35}.news-push-banner__cta{background:var(--color-primary);color:#fff;border:none;padding:8px 14px;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700;cursor:pointer;flex-shrink:0;transition:filter .15s,opacity .15s}.news-push-banner__cta:hover:not(:disabled){filter:brightness(1.08)}.news-push-banner__cta:disabled{opacity:.6;cursor:wait}.news-push-banner__close{background:transparent;border:none;color:var(--color-text-muted);padding:8px;margin:-8px -4px -8px 0;font-size:var(--font-size-sm);line-height:1;cursor:pointer;border-radius:var(--radius);flex-shrink:0;transition:color .15s}.news-push-banner__close:hover{color:var(--color-text)}.mehr-list{padding:12px;display:flex;flex-direction:column;gap:8px}.mehr-row{background:var(--color-surface);border:none;border-radius:var(--radius-lg);padding:14px;display:flex;align-items:center;gap:14px;cursor:pointer;width:100%;text-align:left;color:inherit}.mehr-icon{width:38px;height:38px;border-radius:var(--radius-md);flex-shrink:0}.mehr-text{flex:1}.mehr-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);margin-bottom:2px}.mehr-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.mehr-arrow{color:#555;font-size:var(--font-size-xl);line-height:1}.mehr-settings-heading{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;padding:16px 4px 4px}.debug-pill{font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:var(--radius-pill)}.debug-pill--on{background:var(--color-primary-dim);color:var(--color-primary)}.debug-pill--off{background:var(--color-surface-hover);color:var(--color-text-muted)}.toggle-switch{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.toggle-switch__input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.toggle-switch__input:disabled{cursor:not-allowed}.toggle-switch__track{position:relative;display:block;width:44px;height:26px;border-radius:var(--radius-pill);background:var(--color-surface-hover);transition:background .2s}.toggle-switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000059;transition:transform .2s}.toggle-switch__input:checked+.toggle-switch__track{background:var(--color-primary)}.toggle-switch__input:checked+.toggle-switch__track .toggle-switch__thumb{transform:translate(18px)}.toggle-switch__input:disabled+.toggle-switch__track{opacity:.45}.toggle-switch__input:focus-visible+.toggle-switch__track{outline:2px solid var(--color-primary);outline-offset:2px}.mehr-row--toggle{cursor:pointer}.mehr-row-hint{margin:-4px 4px 4px 66px;font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.35}.mehr-setting-icon{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);flex-shrink:0}.nav-settings{padding:12px;display:flex;flex-direction:column;gap:6px}.nav-settings-intro{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:4px 4px 8px;line-height:1.4}.nav-settings-section-heading{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:1px;padding:12px 4px 4px}.nav-settings-list{display:flex;flex-direction:column;gap:8px}.nav-settings-row{background:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-lg);padding:14px;display:flex;align-items:center;gap:14px;width:100%;text-align:left;color:inherit;cursor:pointer;font:inherit}.nav-settings-row--selected{border-color:var(--color-accent);background:var(--color-surface-hover)}.nav-settings-row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.nav-settings-badge{font-size:var(--font-size-2xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:var(--radius-pill);white-space:nowrap}.nav-settings-badge--granted{background:#4caf5033;color:#4caf50}.nav-settings-badge--denied,.nav-settings-badge--error{background:#e74c3c33;color:var(--color-danger, #e74c3c)}.nav-settings-badge--unknown{background:var(--color-surface-hover);color:var(--color-text-muted)}.nav-settings-badge--unsupported{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.nav-settings-hint{font-size:var(--font-size-2xs);color:var(--color-text-muted);line-height:1.35;margin-top:4px}.nav-settings-radio,.nav-settings-toggle{font-size:var(--font-size-xl);line-height:1;color:var(--color-accent);flex-shrink:0}.placeholder-view{display:flex;align-items:center;justify-content:center;min-height:40vh;padding:20px}.placeholder-text{color:#555;font-size:var(--font-size-base);text-align:center}.merch-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:40px 20px}.merch-grid{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--spacing-unit);padding:var(--spacing-unit)}.merch-card{position:relative;background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden;isolation:isolate}.merch-card-content{display:flex;flex-direction:column;transition:filter .2s,opacity .2s}.merch-card.sold-out .merch-card-content{filter:grayscale(.6);opacity:.55}.merch-card-image-wrap{position:relative}.merch-card-image{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;background:var(--color-surface)}.merch-card-image-placeholder{background:var(--color-surface-hover)}.merch-card-name-overlay{position:absolute;top:8px;left:8px;max-width:calc(100% - 16px);background:#0a0a0aa6;color:#fff;font-size:var(--font-size-xs);font-weight:700;padding:4px 10px;border-radius:var(--radius-pill)}.merch-card-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:6px}.merch-card-description{font-size:var(--font-size-xs);color:var(--color-text-muted);line-height:1.4}.merch-card-price-row{display:flex;align-items:baseline;gap:8px}.merch-card-price{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.merch-card-price-original{font-size:var(--font-size-sm);color:var(--color-text-muted);text-decoration:line-through}.merch-soldout-banner{position:absolute;top:50%;left:50%;width:145%;aspect-ratio:709.1 / 134.4;transform:translate(-50%,-50%) rotate(-18deg);background-image:url(/assets/Button_v5-C4P58mwk.svg);background-size:100% 100%;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;font-family:Veneer Regular,system-ui,sans-serif;font-size:var(--font-size-xl);font-weight:400;letter-spacing:.03em;text-transform:uppercase;color:#fff;pointer-events:none;z-index:1}@media(min-width:500px){.merch-grid{grid-template-columns:repeat(3,1fr)}}.faq-view{padding:12px;display:flex;flex-direction:column;gap:10px}.faq-search{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:10px 14px;font-size:var(--font-size-sm);color:var(--color-text)}.faq-search::placeholder{color:var(--color-text-muted)}.faq-list{display:flex;flex-direction:column;gap:8px}.faq-item{background:var(--color-surface);border-radius:var(--radius-md);overflow:hidden}.faq-question{background:none;border:none;width:100%;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text);cursor:pointer}.faq-question:hover{background:var(--color-surface-hover)}.faq-chevron{flex-shrink:0;color:var(--color-text-muted);font-size:var(--font-size-xs)}.faq-answer{padding:var(--spacing-unit);font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-muted);white-space:pre-line}.faq-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:24px 12px}.infos-view{display:flex;flex-direction:column}.infos-awareness{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 12px 0}.infos-awareness-image{width:60%;max-width:260px;height:auto;display:block}.infos-awareness-text{margin:0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text)}.parken-view{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.25);padding:calc(var(--spacing-unit) * 1) var(--spacing-unit)}.parken-intro{margin:0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text)}.parken-section{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .6)}.parken-heading{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.parken-text{margin:0;font-size:var(--font-size-sm);line-height:1.6;color:var(--color-text-muted)}.parken-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:calc(var(--spacing-unit) * .75) var(--spacing-unit);display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5)}.parken-card-title{margin:0;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text)}.parken-card-actions{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5);align-items:center;padding-top:calc(var(--spacing-unit) * .25)}b-artist-view{display:block}.artist-detail{padding:calc(var(--spacing-unit) * 1.5) var(--spacing-unit);display:flex;flex-direction:column;gap:var(--spacing-unit)}.artist-detail-portrait{width:100%;border-radius:var(--radius-md);object-fit:cover}.artist-detail-info{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .4)}.artist-detail-name{font-weight:400;margin:0;font-family:Veneer Regular}.artist-genre-badge{display:inline-block;background:#cb2214;color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:2px 10px;border-radius:var(--radius-pill);width:fit-content}.artist-detail-meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.artist-bio{font-size:var(--font-size-base);white-space:pre-line;line-height:1.6;color:var(--color-text-muted);margin:0}.artist-social{display:flex;gap:calc(var(--spacing-unit) * .75)}.artist-social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#222;color:#fff;text-decoration:none;border:1px solid #333;transition:background .15s}.artist-social-link:hover{background:#333}.artist-detail-loading{text-align:center;padding:2rem;color:var(--color-text-muted);font-size:var(--font-size-2xl)}.artist-not-found{color:#aaa;text-align:center;padding:2rem 0}.back-btn-inline{background:none;border:1px solid #444;color:#fff;padding:.5rem 1rem;border-radius:var(--radius);cursor:pointer;font-size:var(--font-size-sm);align-self:flex-start}.headliner-card,.artist-card{position:relative}b-favorite-button{display:inline-flex;flex:0 0 auto;align-self:flex-start;width:fit-content}.headliner-card b-favorite-button,.artist-card b-favorite-button{position:absolute;top:8px;right:8px;z-index:1}.fav-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;border:none;border-radius:999px;width:34px;height:34px;padding:0;cursor:pointer;line-height:1;transition:background .15s,color .15s,transform .1s;-webkit-tap-highlight-color:transparent;flex:0 0 auto}.fav-btn:active{transform:scale(.94)}.fav-btn__icon{width:20px;height:20px;flex-shrink:0;color:var(--color-primary)}.fav-btn__label{white-space:nowrap;color:var(--color-text)}.fav-btn--labelled{width:fit-content;max-width:100%;height:auto;padding:8px 14px;background:transparent;border:1px solid var(--color-border);font-size:var(--font-size-sm);font-weight:600;align-self:flex-start;margin-top:4px}.fav-btn--labelled:hover{background:var(--color-surface-hover)}.fav-btn--labelled.fav-btn--on{border-color:var(--color-primary)}.fav-btn--labelled.fav-btn--on .fav-btn__label{color:var(--color-primary)}.is-favorite .now-portrait{mask-image:url(/heart-mask.svg);-webkit-mask-image:url(/heart-mask.svg);mask-size:contain;-webkit-mask-size:contain;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;border-radius:0}.headliner-card,.artist-card{cursor:pointer;transition:opacity .15s}.headliner-card:hover,.artist-card:hover{opacity:.85}.np-overlay{position:fixed;inset:0;background:#000000b3;z-index:1500;display:flex;align-items:center;justify-content:center;padding:var(--spacing-unit);--color-bg: #0A0A0A;--color-text: rgba(255, 255, 255, .92);--color-text-muted: rgba(255, 255, 255, .68);--color-border: rgba(255, 255, 255, .12)}.np-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:calc(var(--spacing-unit) * 1.5);max-width:320px;width:100%;text-align:center;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .75)}.np-icon{font-size:2.5rem;line-height:1}.np-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text)}.np-body{font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.5}.np-btn-primary{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:calc(var(--spacing-unit) * .75) var(--spacing-unit);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;width:100%;transition:opacity .2s}.np-btn-primary:hover{opacity:.88}.np-btn-secondary{background:transparent;color:var(--color-text-muted);border:none;font-size:var(--font-size-sm);cursor:pointer;padding:calc(var(--spacing-unit) * .5) 0;width:100%;transition:color .2s}.np-btn-secondary:hover{color:var(--color-text)}.np-info-toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 88px);transform:translate(-50%);z-index:1301;max-width:min(360px,calc(100vw - 32px));padding:calc(var(--spacing-unit) * .75) var(--spacing-unit);background:#141414eb;color:#fff;font-size:var(--font-size-sm);line-height:1.4;border:1px solid var(--color-accent);border-radius:var(--radius-md);box-shadow:0 4px 20px #00000080;cursor:pointer;animation:np-info-toast-in .25s ease-out}.np-info-toast p{margin:0}@keyframes np-info-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.fav-nudge{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 88px);transform:translate(-50%);z-index:1302;max-width:min(360px,calc(100vw - 32px));width:100%;padding:calc(var(--spacing-unit) * .9) var(--spacing-unit);background:#141414f5;color:#fff;border:1px solid #ff3b52;border-radius:var(--radius-md);box-shadow:0 6px 24px #0000008c;animation:np-info-toast-in .25s ease-out;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5)}.fav-nudge__text{margin:0;font-size:var(--font-size-sm);line-height:1.4}.fav-nudge__actions{display:flex;gap:8px;justify-content:flex-end}.fav-nudge__btn-primary,.fav-nudge__btn-secondary{padding:8px 14px;border-radius:var(--radius);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;border:none}.fav-nudge__btn-primary{background:#ff3b52;color:#fff}.fav-nudge__btn-primary:hover{filter:brightness(1.08)}.fav-nudge__btn-secondary{background:transparent;color:var(--color-text-muted, rgba(255,255,255,.7))}.fav-nudge__btn-secondary:hover{color:#fff}.ea-overlay{position:fixed;inset:0;z-index:9999;background:#8b0000;background:linear-gradient(160deg,#8b0000,#c0392b 60%,#8b0000);display:flex;align-items:safe center;justify-content:center;padding:calc(var(--spacing-unit) * 1.5);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:ea-fadein .2s ease-out}@keyframes ea-fadein{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}.ea-card{display:flex;flex-direction:column;align-items:center;gap:calc(var(--spacing-unit) * 1.25);max-width:520px;width:100%;text-align:center}.ea-icon{color:#fff;width:72px;height:72px;filter:drop-shadow(0 0 12px rgba(255,200,0,.6));animation:ea-pulse 1.6s ease-in-out infinite}@keyframes ea-pulse{0%,to{opacity:1}50%{opacity:.7}}.ea-icon svg{width:100%;height:100%}.ea-title{font-size:clamp(1.75rem,6vw,3rem);font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);line-height:1.15;letter-spacing:.01em;white-space:pre-line}.ea-body{font-size:clamp(1rem,3vw,1.25rem);color:#ffffffe6;line-height:1.5;white-space:pre-line}.ea-close{margin-top:calc(var(--spacing-unit) * .5);padding:calc(var(--spacing-unit) * .75) calc(var(--spacing-unit) * 2);background:#ffffff26;border:2px solid rgba(255,255,255,.5);border-radius:var(--radius-pill);color:#fff;font-size:var(--font-size-base);cursor:pointer;transition:background .15s}.ea-close:hover{background:#ffffff40}.karte-permission-gate{text-align:center;padding:calc(var(--spacing-unit) * 3) var(--spacing-unit);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-unit)}.karte-permission-gate p{color:var(--color-text-muted);line-height:1.6}.karte-permission-gate--denied h2{color:var(--color-primary)}.karte-picker{padding:12px;display:flex;flex-direction:column;gap:10px}.karte-picker-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:24px 12px}.karte-picker-list{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin:0}.karte-picker-item{width:100%;background:var(--color-surface);border:none;border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:var(--color-text)}.karte-picker-icon{font-size:1.4rem;flex-shrink:0}.karte-picker-name{flex:1;font-size:var(--font-size-sm);font-weight:600}.karte-picker-distance{color:var(--color-text-muted);font-size:var(--font-size-xs);flex-shrink:0}.karte-picker-pills{display:flex;flex-wrap:wrap;gap:6px;padding:0 2px 8px}.karte-picker-pills--cross{padding:0 0 4px;flex:1}.karte-picker-pill{background:#ffca198c;border:1px solid rgba(0,0,0,.2);border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--font-size-xs);color:#0a0a0a;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff59,0 1px 2px #0003;display:inline-grid;place-items:center}.karte-picker-pill-label,.karte-picker-pill:after{grid-column:1;grid-row:1}.karte-picker-pill:after{content:attr(data-label);font-weight:600;visibility:hidden;pointer-events:none}.karte-picker-pill--active{background:var(--color-accent);border-color:#0000008c;color:#0a0a0a;font-weight:600;box-shadow:inset 0 2px 3px #00000047,inset 0 -1px #ffffff59,0 0 0 1px #00000026}.karte-picker-tile{width:100%;background:var(--color-surface);border:none;border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer;color:var(--color-text)}.karte-picker-tile-icon{font-size:1.4rem;flex-shrink:0}.karte-picker-tile-title{flex:1;font-size:var(--font-size-sm);font-weight:600}.karte-picker-tile-badge{background:var(--color-accent);color:#0a0a0a;border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:700;padding:1px 7px}.karte-picker-tile-chevron{color:var(--color-text-muted);font-size:var(--font-size-sm);flex-shrink:0}.karte-picker-emergency-button{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-pill);padding:5px 12px;font-size:var(--font-size-xs);font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff38,0 1px 2px #00000026}.karte-picker-tile--camp{margin-top:12px;border:1px dashed var(--color-text-muted);background:transparent}.karte-camp{padding:calc(var(--spacing-unit) * 3) var(--spacing-unit);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-unit)}.karte-camp-icon{font-size:3rem;line-height:1}.karte-camp-heading{margin:0}.karte-camp-text{color:var(--color-text-muted);line-height:1.6;max-width:28rem}.karte-camp-privacy{background:var(--color-surface);border-radius:var(--radius-md);padding:10px 12px;font-size:var(--font-size-sm);color:var(--color-text);max-width:28rem}.karte-camp-meta{color:var(--color-text-muted);font-size:var(--font-size-xs)}.karte-camp-hint{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:0}.karte-camp-actions{display:flex;flex-direction:column;gap:8px;width:100%;max-width:20rem;margin-top:var(--spacing-unit)}.karte-emergency-info{background:var(--color-primary-dim);border-left:3px solid var(--color-primary);border-radius:var(--radius-md);padding:10px 12px;font-size:var(--font-size-sm);color:var(--color-text)}b-karte-view{display:contents}b-ar-view{display:flex;flex-direction:column;flex:1;min-height:0}.karte-ar-view{position:relative;flex:1;min-height:0;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.karte-ar-video{position:absolute;width:100vw;height:100%;object-fit:cover;display:block;background:#000;z-index:0;touch-action:none}.karte-ar-overlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;perspective:var(--ar-perspective-px, 900px);perspective-origin:var(--ar-perspective-origin-x, 50%) var(--ar-perspective-origin-y, 100%)}.karte-ar-canvas{position:absolute;inset:0;width:100vw;height:100%;z-index:1;pointer-events:none}.karte-ar-grid-yaw{position:absolute;top:8px;left:50%;transform:translate(-50%);pointer-events:auto;background:#00000073;padding:4px 8px;border-radius:6px;color:#fff;font:11px/1 system-ui,sans-serif;display:flex;align-items:center}.karte-ar-grid-yaw label{display:flex;align-items:center;gap:8px}.karte-ar-grid-yaw-label{min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}.karte-ar-grid-yaw input[type=range]{width:180px}.karte-ar-compass,.karte-ar-compass-needle-holder{position:absolute;left:50%;bottom:10px;width:100vw;height:100vw;transform:translate(-50%,50%);transform-style:preserve-3d;pointer-events:none}.karte-ar-compass,.karte-ar-compass-needle-holder{transition:transform .15s linear}.karte-ar-compass-needle-yaw{position:absolute;inset:0;transform-style:preserve-3d;transform:rotate(0);transition:transform 2.5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}.karte-ar-compass-face{position:absolute;inset:0;width:100%;height:100%}.karte-ar-compass-needle{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 50%;transition:transform .4s ease-out;filter:drop-shadow(0 0 4px rgba(0,0,0,.5))}.karte-ar-edge-hint{position:absolute;top:50%;padding:calc(var(--spacing-unit) * 4.25);pointer-events:none}.karte-ar-edge-hint--left{left:0;animation:karte-ar-edge-tap-left .9s ease-in-out infinite}.karte-ar-edge-hint--right{right:0;animation:karte-ar-edge-tap-right .9s ease-in-out infinite}.karte-ar-edge-hint img{display:block;height:15vh;width:auto}.karte-ar-edge-hint--left img{transform:rotate(-90deg)}.karte-ar-edge-hint--right img{transform:rotate(90deg)}@keyframes karte-ar-edge-tap-left{0%,to{transform:translateY(-50%)}50%{transform:translate(8px,-50%)}}@keyframes karte-ar-edge-tap-right{0%,to{transform:translateY(-50%)}50%{transform:translate(-8px,-50%)}}.karte-ar-info{position:absolute;top:0;left:0;right:0;background:linear-gradient(#000000b3,#0000004d);color:#fff;padding:calc(var(--spacing-unit) * 1.25) var(--spacing-unit)}.karte-ar-poi-name{font-size:var(--font-size-base);font-weight:700}.karte-ar-distance{font-size:1.5rem;font-weight:700}.karte-ar-accuracy{font-size:var(--font-size-xs);color:#ffffffbf}.karte-nav-mode-toggle{position:absolute;top:var(--spacing-unit);right:var(--spacing-unit);width:48px;height:48px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.35);background:#0009;color:#fff;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;z-index:3}.karte-nav-mode-toggle:active{background:#000c}.karte-nav-mode-toggle--on-ar{border-color:#ffffff8c;background:#000000b3}main:has(b-map-view){padding-bottom:0}b-map-view{display:flex;flex-direction:column;flex:1;min-height:0}.karte-map-view{position:relative;flex:1;min-height:0;background:transparent;overflow:hidden;touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;--stage-diameter-vw: 100vw;--stage-bottom-vw: 0vw}.karte-map-tisch{position:absolute;left:0;bottom:0;width:100%;height:auto;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.karte-map-tent-hotspot{position:absolute;right:var(--tent-hotspot-right-vw, 0vw);bottom:min(var(--tent-hotspot-bottom-vw, 0vw),calc(100% - var(--tent-hotspot-diameter-vw, 0vw) - 6px));width:var(--tent-hotspot-diameter-vw, 0vw);height:var(--tent-hotspot-diameter-vw, 0vw);padding:0;margin:0;background:transparent;border:0;border-radius:8px;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;z-index:3}.karte-map-tent-hotspot:focus-visible{outline:2px solid rgba(255,202,25,.85);outline-offset:-2px}@media(hover:hover){.karte-map-tent-hotspot:hover{outline:2px solid rgba(255,255,255,.35);outline-offset:-2px}}b-map-view.b-map-view--zoomed .karte-map-tent-hotspot{z-index:0;pointer-events:none}.karte-map-compass{position:absolute;left:var(--compass-hotspot-left-vw, 0vw);bottom:min(var(--compass-hotspot-bottom-vw, 0vw),calc(100% - var(--compass-hotspot-diameter-vw, 0vw) - 6px));width:var(--compass-hotspot-diameter-vw, 0vw);height:var(--compass-hotspot-diameter-vw, 0vw);padding:0;margin:0;background:transparent;border:0;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;overflow:visible;z-index:3;display:block}.karte-map-compass:focus-visible{outline:2px solid rgba(255,202,25,.85);outline-offset:-2px;border-radius:50%}@media(hover:hover){.karte-map-compass:hover{outline:2px solid rgba(255,255,255,.35);outline-offset:-2px;border-radius:50%}}.karte-map-compass-bezel,.karte-map-compass-needle{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.karte-map-compass-shadow{position:absolute;inset:-35%;border-radius:50%;z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,#0000008c,#00000052 30%,#0000 62%);transition:background .35s ease}.karte-map-compass-shadow--highlight{background:radial-gradient(circle at 50% 50%,#ffe8aae6,#ffd2788c 32%,#ffbe5a00 66%);animation:karteMapCompassGlow 2.2s ease-in-out infinite}.karte-map-compass-tilt{position:absolute;inset:0;z-index:1;pointer-events:none;transform:perspective(500px) rotateX(var(--compass-tilt-x, 0deg)) rotateY(var(--compass-tilt-y, 0deg));transform-origin:50% 50%;transition:transform .25s ease-out;will-change:transform}.karte-map-compass-bezel{z-index:1}.karte-map-compass-needle{z-index:2;transform:rotate(var(--compass-needle-rotation, 0deg));transform-origin:50% 50%;transition:transform .15s linear;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}@keyframes karteMapCompassGlow{0%,to{opacity:.55}50%{opacity:1}}.karte-map-stage{position:absolute;left:50%;bottom:var(--stage-bottom-vw);width:var(--stage-diameter-vw);height:var(--stage-diameter-vw);transform:translate(-50%)}.karte-map-rotator{--map-rotation: 0deg;--pin-rotation: calc(-1 * var(--map-rotation));position:absolute;inset:0;transform:translate(var(--map-origin-x, 50%),var(--map-origin-y, 50%)) scale(var(--map-scale, 1)) translate(calc(-1 * var(--map-origin-x, 50%)),calc(-1 * var(--map-origin-y, 50%))) translate(50%,50%) rotate(var(--map-rotation, 0deg)) translate(-50%,-50%);transform-origin:0 0;transition:transform .15s linear;pointer-events:none}.karte-map-rotator--interacting{transition:none}.karte-map-karte{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.karte-map-pins{position:absolute;inset:0;pointer-events:none}.karte-map-pin{position:absolute;width:0;height:0}.karte-map-pin-body{position:absolute;left:0;top:0;transform:translate(-50%,-100%) rotate(var(--pin-rotation, 0deg));transform-origin:50% 100%;transition:transform .3s cubic-bezier(.34,1.56,.64,1);will-change:transform}.karte-map-pin-bounce{display:block;transform-origin:50% 100%;animation:karteMapPinSprout .45s ease-out}.karte-map-pin--target .karte-map-pin-bounce{animation:karteMapPinSprout .45s ease-out,karteMapBounce .75s ease-in-out .45s infinite}.karte-map-pin-teardrop{position:relative;width:32px;height:44px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));transform-origin:50% 100%}.karte-map-pin-teardrop:before{content:"";position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--pin-color, var(--color-primary));border:1.5px solid rgba(0,0,0,.55);box-sizing:border-box}.karte-map-pin-teardrop:after{content:"";position:absolute;left:50%;top:24px;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:20px solid var(--pin-color, var(--color-primary))}.karte-map-pin--context{opacity:.55;pointer-events:auto;cursor:pointer}.karte-map-pin--context .karte-map-pin-teardrop{transform:scale(.65);filter:none}.karte-map-pin--base{pointer-events:auto;cursor:pointer}.karte-map-pin-icon{position:absolute;left:50%;top:16px;transform:translate(-50%,-50%);font-size:18px;line-height:1;z-index:1}.karte-map-pin-dot{position:absolute;width:0;height:0;pointer-events:auto;cursor:pointer}.karte-map-pin-dot-body{position:absolute;left:0;top:0;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--pin-color, var(--color-primary));border:1.5px solid rgba(245,245,247,.9);box-shadow:0 1px 2px #0000008c}.karte-map-pin-dot-body:before{content:"";position:absolute;inset:-8px}.karte-map-user-arrow{position:absolute;width:0;height:0;pointer-events:none;z-index:2}.karte-map-user-arrow-body{position:absolute;left:0;top:0;transform:translate(-50%,-50%) rotate(var(--arrow-rotation, 0deg));transform-origin:50% 50%;width:26px;height:26px;background:linear-gradient(160deg,#f5f5f7,#c8c8cd,#7a7a80);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.karte-map-user-arrow-glyph{position:absolute;inset:3px;background:linear-gradient(180deg,#ef4444,#b91c1c);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%)}.karte-map-user-offmap{--user-offmap-tip-protrusion: 6px;--user-offmap-label-gap: 6px;position:absolute;width:0;height:0;pointer-events:none;z-index:3}.karte-map-user-offmap-radial{position:absolute;left:0;top:0;width:0;height:0;transform:rotate(var(--marker-rotation, 0deg))}.karte-map-user-offmap-arrow{position:absolute;left:0;top:0;transform:translate(-50%,calc(-1 * var(--user-offmap-tip-protrusion, 6px)));width:30px;height:30px;background:linear-gradient(160deg,#f5f5f7,#c8c8cd,#7a7a80);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%);filter:drop-shadow(0 2px 3px rgba(0,0,0,.6))}.karte-map-user-offmap-arrow:after{content:"";position:absolute;inset:3px;background:linear-gradient(180deg,#ef4444,#b91c1c);clip-path:polygon(50% 0%,100% 100%,50% 80%,0% 100%)}.karte-map-user-offmap-label{position:absolute;left:0;top:0;transform:translate(-50%,calc(-100% - var(--user-offmap-tip-protrusion, 6px) - var(--user-offmap-label-gap, 6px))) rotate(var(--upright-rotation, 0deg));display:inline-block;white-space:nowrap;font-size:var(--font-size-xs);font-weight:700;color:#fff;background:#000000bf;padding:2px 6px;border-radius:4px;text-shadow:0 1px 1px rgba(0,0,0,.6)}.karte-map-pin-pulse{position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,rgba(255,202,25,.55) 0%,rgba(255,202,25,.2) 60%,transparent 75%);transform:translate(-50%,-50%);animation:karteMapPulse 1.4s ease-out infinite;pointer-events:none}@keyframes karteMapPulse{0%{opacity:.75;transform:translate(-50%,-50%) scale(.6)}to{opacity:0;transform:translate(-50%,-50%) scale(3.2)}}@keyframes karteMapBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes karteMapPinSprout{0%{transform:scaleY(0)}55%{transform:scaleY(1.18)}75%{transform:scaleY(.92)}90%{transform:scaleY(1.04)}to{transform:scaleY(1)}}.karte-map-overlay{position:absolute;inset:0;pointer-events:none}.karte-map-mode-toggle{position:absolute;right:var(--spacing-unit);bottom:var(--spacing-unit);width:48px;height:48px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.35);background:#0009;color:#fff;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent}.karte-map-mode-toggle:active{background:#000c}.karte-map-mode-toggle--auto{background:var(--color-accent);color:#0a0a0a;border-color:#0000008c;box-shadow:0 0 0 2px #ffca1959,0 1px 3px #00000059}.karte-map-mode-toggle--auto:active{background:#ffb800}.karte-map-mode-toggle--north{background:#000000bf;border-color:#ffffffe6;color:#fff;font-weight:800;letter-spacing:-.02em}.karte-map-mode-toggle--north:active{background:#000000e6}.karte-map-filter-row{position:absolute;top:calc(var(--spacing-unit) * .5);left:calc(var(--spacing-unit) * .5);right:calc(var(--spacing-unit) * .5);height:44px;pointer-events:none;z-index:2}.karte-map-filter-buttons{height:100%;display:flex;flex-wrap:nowrap;align-items:center;gap:6px;padding:2px 4px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;pointer-events:auto;-webkit-overflow-scrolling:touch}.karte-map-filter-buttons::-webkit-scrollbar{display:none}.karte-map-filter-buttons>*{flex:0 0 auto}.karte-map-filter-chevron{position:absolute;top:0;bottom:0;width:28px;display:none;align-items:center;justify-content:center;border:0;padding:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent;z-index:1}.karte-map-filter-chevron--left{left:0;background:linear-gradient(to right,#141414d9,#1414148c 65%,#14141400);border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.karte-map-filter-chevron--right{right:0;background:linear-gradient(to left,#141414d9,#1414148c 65%,#14141400);border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.karte-map-filter-row--can-scroll-left .karte-map-filter-chevron--left,.karte-map-filter-row--can-scroll-right .karte-map-filter-chevron--right{display:flex}.karte-map-filter-chevron:active{color:var(--color-accent)}.karte-map-section-button{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#0000008c;color:#fff;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center;pointer-events:auto;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;box-shadow:0 1px 2px #00000040;transition:transform .15s ease-out}.karte-map-section-button:active{transform:scale(.94)}.karte-map-section-button--active{background:var(--section-color, var(--color-primary));border-color:#000000a6;box-shadow:0 0 0 2px #ffffffe6,inset 0 0 0 2px #00000059,0 1px 3px #00000059}.karte-map-section-button--emergency{background:#cb2214;border-color:#000000a6}.karte-map-sub-filter{position:absolute;top:calc(var(--spacing-unit) * .5 + 46px);left:calc(var(--spacing-unit) * .5);right:calc(var(--spacing-unit) * .5);pointer-events:none;z-index:2}.karte-map-sub-filter .karte-picker-pills{justify-content:center;padding:0}.karte-map-sub-filter .karte-picker-pill{pointer-events:auto}.karte-map-info{position:absolute;left:var(--spacing-unit);top:calc(100% - var(--stage-bottom-vw) - var(--stage-diameter-vw) + var(--spacing-unit));background:#0009;color:#fff;padding:10px 14px;border-radius:var(--radius-md);pointer-events:none;max-width:calc(100% - 2 * var(--spacing-unit))}.karte-map-info--above{top:auto;bottom:calc(var(--stage-bottom-vw) + var(--stage-diameter-vw) + var(--spacing-unit))}.karte-map-poi-name{font-size:var(--font-size-sm);font-weight:700;line-height:1.2}.karte-map-distance{font-size:var(--font-size-base);font-weight:700;margin-top:2px}.karte-map-poi-icons{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.karte-map-poi-icon{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 4px;background:#ffffff1f;border-radius:var(--radius-pill);font-size:14px;line-height:1}.karte-map-target-outside-filter{font-size:var(--font-size-2xs);color:#ffca19d9;margin-top:4px;line-height:1.3}.karte-map-empty-hint{position:absolute;left:50%;bottom:calc(var(--spacing-unit) + 60px);transform:translate(-50%);background:#0009;color:#ffffffe6;padding:8px 14px;border-radius:var(--radius-pill);font-size:var(--font-size-sm);pointer-events:none;max-width:calc(100% - 32px);text-align:center}main:has(b-large-compass-view){padding-bottom:0}b-large-compass-view{display:flex;flex-direction:column;flex:1;min-height:0}.large-compass{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:calc(var(--spacing-unit) * 1.25) var(--spacing-unit) calc(var(--spacing-unit) * 6.5);gap:var(--spacing-unit);text-align:center}.large-compass-header{display:flex;flex-direction:column;align-items:center;gap:4px}.large-compass-target-label{font-size:var(--font-size-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.1em}.large-compass-target-name{font-size:var(--font-size-xl);font-weight:700;color:#fffaf0;line-height:1.2}.large-compass-distance{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-accent);line-height:1.1}.large-compass-face{position:relative;width:min(90vw,60vh);aspect-ratio:1;margin-top:calc(var(--spacing-unit) * 1);overflow:hidden}.large-compass-bezel,.large-compass-needle{position:absolute;inset:0;width:100%;height:100%;display:block;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none}.large-compass-bezel{z-index:1;transform:rotate(var(--large-compass-bezel-rotation, 0deg));transform-origin:50% 50%;transition:transform .15s linear;filter:drop-shadow(0 6px 24px rgba(0,0,0,.55))}.large-compass-needle{z-index:2;transform:rotate(var(--large-compass-needle-rotation, 0deg));transform-origin:50% 50%;transition:transform 2.5s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 2px 6px rgba(0,0,0,.55))}.large-compass-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.large-compass--fallback{justify-content:center;padding:calc(var(--spacing-unit) * 3) var(--spacing-unit) calc(var(--spacing-unit) * 6.5);gap:var(--spacing-unit)}.large-compass-fallback-icon{font-size:3rem;line-height:1}.large-compass--fallback h2{margin:0}.large-compass--fallback p{color:var(--color-text-muted);line-height:1.6;max-width:28rem}.large-compass--fallback .primary-button,.large-compass--fallback .secondary-button{min-width:12rem}b-action-button{display:block;width:100%;max-width:420px;margin:0 auto}.action-button-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:709.1 / 134.4;min-height:56px;padding:0 18%;background:transparent;border:0;text-decoration:none;cursor:pointer;font:inherit;color:#fff}.action-button-inner:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius)}.action-button-shape{position:absolute;inset:0;-webkit-mask-image:url(/action-button.svg);mask-image:url(/action-button.svg);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--color-primary);transition:filter .15s ease;pointer-events:none}b-action-button[color=red] .action-button-shape,b-action-button:not([color]) .action-button-shape{background-color:var(--color-primary)}b-action-button[color=yellow] .action-button-shape{background-color:var(--color-accent)}b-action-button[color=neutral] .action-button-shape{background-color:#7a7a7a}.action-button-inner:hover .action-button-shape,.action-button-inner:focus-visible .action-button-shape{filter:brightness(1.1)}.action-button-inner:active .action-button-shape{filter:brightness(.9)}.action-button-label{position:relative;z-index:1;text-align:center;line-height:1.15;font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:var(--font-size-sm);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.35);pointer-events:none}
