*{max-width:100vw;margin:0;padding:0;box-sizing:border-box}html,body{overflow-x:hidden;overflow-y:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;background:var(--bg-body);height:100dvh;min-width:290px;color:var(--text-primary);width:100%}html{height:-webkit-fill-available}body.fullscreen-active{height:-webkit-fill-available;overflow:hidden}:root{--color-sehenswuerdigkeiten:#e74c3c;--color-sehenswuerdigkeiten-light:#f8d7da;--color-sehenswuerdigkeiten-dark:#c0392b;--color-essen-trinken:#f39c12;--color-essen-trinken-light:#fef3e2;--color-essen-trinken-dark:#d68910;--color-natur-parks:#27ae60;--color-natur-parks-light:#d5f4e6;--color-natur-parks-dark:#229954;--color-sport-freizeit:#3498db;--color-sport-freizeit-light:#d6eaf8;--color-sport-freizeit-dark:#2980b9;--color-familie-kinder:#9b59b6;--color-familie-kinder-light:#ebdef0;--color-familie-kinder-dark:#8e44ad;--color-einkaufen:#1abc9c;--color-einkaufen-light:#d5f7f0;--color-einkaufen-dark:#17a2b8;--color-oeffentliche-einrichtungen:#00bcd4;--color-oeffentliche-einrichtungen-light:#d1f2f7;--color-oeffentliche-einrichtungen-dark:#0097a7;--color-default:#95a5a6;--color-default-light:#ecf0f1;--color-default-dark:#7f8c8d;--focus-color:#0066cc;--focus-color-dark:#004499;--focus-shadow:0 0 0 3px rgba(0, 102, 204, 0.4);--bg-body:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--bg-block:#ffffff;--bg-block-alt:#f8f9fa;--bg-block-hover:#e9ecef;--bg-input:#ffffff;--bg-input-disabled:#e9ecef;--text-primary:#1a202c;--text-secondary:#495057;--text-muted:#6c757d;--text-inverse:#ffffff;--border-color:#dee2e6;--border-color-light:#e9ecef;--border-color-focus:#667eea;--poi-item-bg:#ffffff;--poi-item-hover-bg:rgba(200, 200, 200, 0.1);--poi-item-active-bg:linear-gradient(135deg, rgba(99, 179, 237, 0.2), rgba(255, 255, 255, 0.9));--poi-item-active-border:#63b3ed;--poi-item-active-shadow:0 2px 8px rgba(99, 179, 237, 0.3);--poi-name-color:#2c3e50;--poi-name-active-color:#2b6cb0;--poi-distance-color:#3498db;--poi-distance-active-color:#38a169;--poi-hover-sehenswuerdigkeiten:rgba(231, 76, 60, 0.08);--poi-hover-essen-trinken:rgba(243, 156, 18, 0.08);--poi-hover-natur-parks:rgba(39, 174, 96, 0.08);--poi-hover-sport-freizeit:rgba(52, 152, 219, 0.08);--poi-hover-familie-kinder:rgba(155, 89, 182, 0.08);--poi-hover-einkaufen:rgba(26, 188, 156, 0.08);--poi-hover-oeffentliche-einrichtungen:rgba(0, 188, 212, 0.08);--poi-active-sehenswuerdigkeiten:linear-gradient(135deg, rgba(231, 76, 60, 0.15), #ffffff);--poi-active-essen-trinken:linear-gradient(135deg, rgba(243, 156, 18, 0.15), #ffffff);--poi-active-natur-parks:linear-gradient(135deg, rgba(39, 174, 96, 0.15), #ffffff);--poi-active-sport-freizeit:linear-gradient(135deg, rgba(52, 152, 219, 0.15), #ffffff);--poi-active-familie-kinder:linear-gradient(135deg, rgba(155, 89, 182, 0.15), #ffffff);--poi-active-einkaufen:linear-gradient(135deg, rgba(26, 188, 156, 0.15), #ffffff);--poi-active-oeffentliche-einrichtungen:linear-gradient(135deg, rgba(0, 188, 212, 0.15), #ffffff);--map-controls-bg:rgba(255, 255, 255, 0.95);--map-controls-shadow:0 2px 8px rgba(0, 0, 0, 0.1);--map-btn-bg:#f8f9fa;--map-btn-hover-bg:#e9ecef;--map-btn-border:#dee2e6;--dropdown-bg:#ffffff;--dropdown-item-bg:#ffffff;--dropdown-item-hover-bg:#f8f9fa;--dropdown-item-color:#333333;--dropdown-border:#dee2e6;--dropdown-shadow:0 4px 16px rgba(0, 0, 0, 0.15);--privacy-section-bg:#f7fafc;--popup-bg:#ffffff;--popup-text:#2c3e50;--popup-text-muted:#7f8c8d;--popup-close-color:#757575;--popup-close-hover:#333333;--popup-route-btn-bg:linear-gradient(45deg, #2196f3, #1976d2);--popup-route-btn-color:#ffffff;--popup-route-info-bg:#f8f9fa;--popup-route-info-color:#495057;--popup-route-info-border:#dee2e6;--ai-container-bg:#ffffff;--ai-container-shadow:0 2px 8px rgba(0, 0, 0, 0.1);--ai-select-bg:#f8f9fa;--ai-select-color:#333333;--ai-select-border:#dee2e6;--wiki-ref-border:#e9ecef;--wiki-ref-color:#6c757d;--wiki-link-bg:rgba(52, 152, 219, 0.1);--wiki-link-color:#3498db;--wiki-link-hover-bg:rgba(52, 152, 219, 0.2);--msg-success-bg:linear-gradient(135deg, #4CAF50, #45a049);--msg-warning-bg:linear-gradient(135deg, #FF9800, #F57C00);--msg-error-bg:linear-gradient(135deg, #F44336, #D32F2F);--dialog-btn-bg:#1e3a8a;--dialog-btn-color:#ffffff;--dialog-btn-hover-bg:#1e40af;--dialog-btn-secondary-bg:#e5e7eb;--dialog-btn-secondary-color:#1f2937;--dialog-btn-secondary-hover-bg:#d1d5db;--dialog-btn-secondary-hover-color:#111827;--permission-granted-bg:#c6f6d5;--permission-granted-color:#22543d;--permission-granted-border:#48bb78;--permission-denied-bg:#fed7d7;--permission-denied-color:#742a2a;--permission-denied-border:#fc8181;--permission-prompt-bg:#bee3f8;--permission-prompt-color:#2c5282;--permission-prompt-border:#4299e1;--error-bg:#f8d7da;--error-color:#721c24;--error-border:#dc3545;--warning-bg:#fff3cd;--warning-color:#856404;--warning-border:#ffc107}.scroll-wrapper{scroll-snap-type:y mandatory;padding-top:max(20px, env(safe-area-inset-top));scroll-behavior:smooth;height:100%;width:100%;overflow-y:auto;overscroll-behavior-y:contain}.scroll-wrapper.header-small{scroll-padding-top:50px}.container{max-width:1100px;margin:0 auto;padding:12px;padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right));padding-bottom:max(20px, env(safe-area-inset-bottom));box-sizing:border-box;min-width:0}.block{scroll-snap-align:none;margin-bottom:12px;scroll-margin-top:12px}.snap-start{scroll-snap-stop:always;scroll-snap-align:start;border:2px solid red}.snap-end{scroll-snap-align:end}.snap-none{scroll-snap-align:none}.snap-point{scroll-snap-align:start;height:1px;width:100%;pointer-events:none}.snap-point.bottom{scroll-snap-align:end}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:8px 16px;text-decoration:none;z-index:9999;border-radius:0 0 4px;font-weight:600;transition:top 0.3s ease}.skip-link:focus{top:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible,[role="button"]:focus-visible{outline:3px solid var(--focus-color);outline-offset:2px;box-shadow:var(--focus-shadow)}@media (prefers-contrast:more){:root{--focus-color:#000000;--focus-shadow:0 0 0 4px rgba(0, 0, 0, 0.5)}button:focus-visible,a:focus-visible,[role="button"]:focus-visible{outline-width:4px;outline-color:#000;background-color:#FF0;color:#000}}@media (prefers-color-scheme:dark){html:not([data-theme="light"]){--focus-color:#66B3FF;--focus-shadow:0 0 0 3px rgba(102, 179, 255, 0.5);--bg-body:linear-gradient(135deg, #1a1f3c 0%, #2d1f4a 100%);--bg-block:#2d3748;--bg-block-alt:#1a202c;--bg-block-hover:#4a5568;--bg-input:#2d3748;--bg-input-disabled:#1a202c;--text-primary:#f7fafc;--text-secondary:#e2e8f0;--text-muted:#a0aec0;--text-inverse:#1a202c;--border-color:#4a5568;--border-color-light:#718096;--border-color-focus:#667eea;--poi-item-bg:#2d3748;--poi-item-hover-bg:#3d4a5c;--poi-item-active-bg:linear-gradient(135deg, rgba(99, 179, 237, 0.2), rgba(45, 55, 72, 0.9));--poi-item-active-border:#63b3ed;--poi-item-active-shadow:0 2px 8px rgba(99, 179, 237, 0.3);--poi-name-color:#f7fafc;--poi-name-active-color:#90cdf4;--poi-distance-color:#63b3ed;--poi-distance-active-color:#68d391;--poi-hover-sehenswuerdigkeiten:rgba(231, 76, 60, 0.15);--poi-hover-essen-trinken:rgba(243, 156, 18, 0.15);--poi-hover-natur-parks:rgba(39, 174, 96, 0.15);--poi-hover-sport-freizeit:rgba(52, 152, 219, 0.15);--poi-hover-familie-kinder:rgba(155, 89, 182, 0.15);--poi-hover-einkaufen:rgba(26, 188, 156, 0.15);--poi-hover-oeffentliche-einrichtungen:rgba(0, 188, 212, 0.15);--poi-active-sehenswuerdigkeiten:linear-gradient(135deg, rgba(231, 76, 60, 0.25), #2d3748);--poi-active-essen-trinken:linear-gradient(135deg, rgba(243, 156, 18, 0.25), #2d3748);--poi-active-natur-parks:linear-gradient(135deg, rgba(39, 174, 96, 0.25), #2d3748);--poi-active-sport-freizeit:linear-gradient(135deg, rgba(52, 152, 219, 0.25), #2d3748);--poi-active-familie-kinder:linear-gradient(135deg, rgba(155, 89, 182, 0.25), #2d3748);--poi-active-einkaufen:linear-gradient(135deg, rgba(26, 188, 156, 0.25), #2d3748);--poi-active-oeffentliche-einrichtungen:linear-gradient(135deg, rgba(0, 188, 212, 0.25), #2d3748);--map-controls-bg:rgba(45, 55, 72, 0.95);--map-controls-shadow:0 2px 8px rgba(0, 0, 0, 0.3);--map-btn-bg:#4a5568;--map-btn-hover-bg:#5a6a7a;--map-btn-border:#718096;--dropdown-bg:#2d3748;--dropdown-item-bg:#2d3748;--dropdown-item-hover-bg:#4a5568;--dropdown-item-color:#e2e8f0;--dropdown-border:#4a5568;--dropdown-shadow:0 4px 16px rgba(0, 0, 0, 0.4);--privacy-section-bg:#4a5568;--popup-bg:#2d3748;--popup-text:#f7fafc;--popup-text-muted:#a0aec0;--popup-close-color:#a0aec0;--popup-close-hover:#f7fafc;--popup-route-btn-bg:linear-gradient(45deg, #63b3ed, #4299e1);--popup-route-btn-color:#1a202c;--popup-route-info-bg:#1a202c;--popup-route-info-color:#a0aec0;--popup-route-info-border:#4a5568;--ai-container-bg:#2d3748;--ai-container-shadow:0 2px 8px rgba(0, 0, 0, 0.3);--ai-select-bg:#4a5568;--ai-select-color:#e2e8f0;--ai-select-border:#718096;--wiki-ref-border:#4a5568;--wiki-ref-color:#a0aec0;--wiki-link-bg:rgba(99, 179, 237, 0.15);--wiki-link-color:#63b3ed;--wiki-link-hover-bg:rgba(99, 179, 237, 0.25);--dialog-btn-bg:#a3b1ff;--dialog-btn-color:#1a202c;--dialog-btn-hover-bg:#b8c4ff;--dialog-btn-secondary-bg:transparent;--dialog-btn-secondary-color:#e2e8f0;--dialog-btn-secondary-hover-bg:#4a5568;--dialog-btn-secondary-hover-color:#f7fafc;--permission-granted-bg:#1a4731;--permission-granted-color:#9ae6b4;--permission-granted-border:#38a169;--permission-denied-bg:#4a1a1a;--permission-denied-color:#feb2b2;--permission-denied-border:#e53e3e;--permission-prompt-bg:#1a365d;--permission-prompt-color:#90cdf4;--permission-prompt-border:#4299e1;--error-bg:#4a1a1a;--error-color:#feb2b2;--error-border:#e53e3e;--warning-bg:#4a3a1a;--warning-color:#fbd38d;--warning-border:#d69e2e}}html[data-theme="dark"]{--focus-color:#66B3FF;--focus-shadow:0 0 0 3px rgba(102, 179, 255, 0.5);--bg-body:linear-gradient(135deg, #1a1f3c 0%, #2d1f4a 100%);--bg-block:#2d3748;--bg-block-alt:#1a202c;--bg-block-hover:#4a5568;--bg-input:#2d3748;--bg-input-disabled:#1a202c;--text-primary:#f7fafc;--text-secondary:#e2e8f0;--text-muted:#a0aec0;--text-inverse:#1a202c;--border-color:#4a5568;--border-color-light:#718096;--border-color-focus:#667eea;--poi-item-bg:#2d3748;--poi-item-hover-bg:#3d4a5c;--poi-item-active-bg:linear-gradient(135deg, rgba(99, 179, 237, 0.2), rgba(45, 55, 72, 0.9));--poi-item-active-border:#63b3ed;--poi-item-active-shadow:0 2px 8px rgba(99, 179, 237, 0.3);--poi-name-color:#f7fafc;--poi-name-active-color:#90cdf4;--poi-distance-color:#63b3ed;--poi-distance-active-color:#68d391;--poi-hover-sehenswuerdigkeiten:rgba(231, 76, 60, 0.15);--poi-hover-essen-trinken:rgba(243, 156, 18, 0.15);--poi-hover-natur-parks:rgba(39, 174, 96, 0.15);--poi-hover-sport-freizeit:rgba(52, 152, 219, 0.15);--poi-hover-familie-kinder:rgba(155, 89, 182, 0.15);--poi-hover-einkaufen:rgba(26, 188, 156, 0.15);--poi-hover-oeffentliche-einrichtungen:rgba(0, 188, 212, 0.15);--poi-active-sehenswuerdigkeiten:linear-gradient(135deg, rgba(231, 76, 60, 0.25), #2d3748);--poi-active-essen-trinken:linear-gradient(135deg, rgba(243, 156, 18, 0.25), #2d3748);--poi-active-natur-parks:linear-gradient(135deg, rgba(39, 174, 96, 0.25), #2d3748);--poi-active-sport-freizeit:linear-gradient(135deg, rgba(52, 152, 219, 0.25), #2d3748);--poi-active-familie-kinder:linear-gradient(135deg, rgba(155, 89, 182, 0.25), #2d3748);--poi-active-einkaufen:linear-gradient(135deg, rgba(26, 188, 156, 0.25), #2d3748);--poi-active-oeffentliche-einrichtungen:linear-gradient(135deg, rgba(0, 188, 212, 0.25), #2d3748);--map-controls-bg:rgba(45, 55, 72, 0.95);--map-controls-shadow:0 2px 8px rgba(0, 0, 0, 0.3);--map-btn-bg:#4a5568;--map-btn-hover-bg:#5a6a7a;--map-btn-border:#718096;--dropdown-bg:#2d3748;--dropdown-item-bg:#2d3748;--dropdown-item-hover-bg:#4a5568;--dropdown-item-color:#e2e8f0;--dropdown-border:#4a5568;--dropdown-shadow:0 4px 16px rgba(0, 0, 0, 0.4);--privacy-section-bg:#4a5568;--popup-bg:#2d3748;--popup-text:#f7fafc;--popup-text-muted:#a0aec0;--popup-close-color:#a0aec0;--popup-close-hover:#f7fafc;--popup-route-btn-bg:linear-gradient(45deg, #63b3ed, #4299e1);--popup-route-btn-color:#1a202c;--popup-route-info-bg:#1a202c;--popup-route-info-color:#a0aec0;--popup-route-info-border:#4a5568;--ai-container-bg:#2d3748;--ai-container-shadow:0 2px 8px rgba(0, 0, 0, 0.3);--ai-select-bg:#4a5568;--ai-select-color:#e2e8f0;--ai-select-border:#718096;--wiki-ref-border:#4a5568;--wiki-ref-color:#a0aec0;--wiki-link-bg:rgba(99, 179, 237, 0.15);--wiki-link-color:#63b3ed;--wiki-link-hover-bg:rgba(99, 179, 237, 0.25);--dialog-btn-bg:#a3b1ff;--dialog-btn-color:#1a202c;--dialog-btn-hover-bg:#b8c4ff;--dialog-btn-secondary-bg:transparent;--dialog-btn-secondary-color:#e2e8f0;--dialog-btn-secondary-hover-bg:#4a5568;--dialog-btn-secondary-hover-color:#f7fafc;--permission-granted-bg:#1a4731;--permission-granted-color:#9ae6b4;--permission-granted-border:#38a169;--permission-denied-bg:#4a1a1a;--permission-denied-color:#feb2b2;--permission-denied-border:#e53e3e;--permission-prompt-bg:#1a365d;--permission-prompt-color:#90cdf4;--permission-prompt-border:#4299e1;--error-bg:#4a1a1a;--error-color:#feb2b2;--error-border:#e53e3e;--warning-bg:#4a3a1a;--warning-color:#fbd38d;--warning-border:#d69e2e}html[data-theme="ocean"]{--focus-color:#FF6B35;--focus-shadow:0 0 0 3px rgba(255, 107, 53, 0.4);--bg-body:linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--bg-block:#ffffff;--bg-block-alt:#f0fdff;--bg-block-hover:#e0f8ff;--bg-input:#ffffff;--bg-input-disabled:#e0f8ff;--text-primary:#003d5c;--text-secondary:#005a7f;--text-muted:#0088b3;--text-inverse:#ffffff;--border-color:#b8e6f5;--border-color-light:#d4f2fa;--border-color-focus:#FF6B35;--poi-item-bg:#ffffff;--poi-item-hover-bg:rgba(79, 172, 254, 0.1);--poi-item-active-bg:linear-gradient(135deg, rgba(255, 107, 53, 0.15), #ffffff);--poi-item-active-border:#FF6B35;--poi-item-active-shadow:0 4px 12px rgba(255, 107, 53, 0.3);--poi-name-color:#003d5c;--poi-name-active-color:#FF6B35;--poi-distance-color:#00a8cc;--poi-distance-active-color:#FF6B35;--poi-hover-sehenswuerdigkeiten:rgba(231, 76, 60, 0.1);--poi-hover-essen-trinken:rgba(243, 156, 18, 0.1);--poi-hover-natur-parks:rgba(39, 174, 96, 0.1);--poi-hover-sport-freizeit:rgba(52, 152, 219, 0.1);--poi-hover-familie-kinder:rgba(155, 89, 182, 0.1);--poi-hover-einkaufen:rgba(26, 188, 156, 0.1);--poi-hover-oeffentliche-einrichtungen:rgba(0, 188, 212, 0.1);--poi-active-sehenswuerdigkeiten:linear-gradient(135deg, rgba(231, 76, 60, 0.2), #ffffff);--poi-active-essen-trinken:linear-gradient(135deg, rgba(243, 156, 18, 0.2), #ffffff);--poi-active-natur-parks:linear-gradient(135deg, rgba(39, 174, 96, 0.2), #ffffff);--poi-active-sport-freizeit:linear-gradient(135deg, rgba(52, 152, 219, 0.2), #ffffff);--poi-active-familie-kinder:linear-gradient(135deg, rgba(155, 89, 182, 0.2), #ffffff);--poi-active-einkaufen:linear-gradient(135deg, rgba(26, 188, 156, 0.2), #ffffff);--poi-active-oeffentliche-einrichtungen:linear-gradient(135deg, rgba(0, 188, 212, 0.2), #ffffff);--map-controls-bg:rgba(255, 255, 255, 0.98);--map-controls-shadow:0 4px 16px rgba(0, 61, 92, 0.2);--map-btn-bg:#f0fdff;--map-btn-hover-bg:#FF6B35;--map-btn-border:#b8e6f5;--dropdown-bg:#ffffff;--dropdown-item-bg:#ffffff;--dropdown-item-hover-bg:#e0f8ff;--dropdown-item-color:#003d5c;--dropdown-border:#b8e6f5;--dropdown-shadow:0 6px 20px rgba(0, 61, 92, 0.15);--privacy-section-bg:#f0fdff;--popup-bg:#ffffff;--popup-text:#003d5c;--popup-text-muted:#0088b3;--popup-close-color:#0088b3;--popup-close-hover:#003d5c;--popup-route-btn-bg:linear-gradient(45deg, #FF6B35, #ff8c5f);--popup-route-btn-color:#ffffff;--popup-route-info-bg:#f0fdff;--popup-route-info-color:#005a7f;--popup-route-info-border:#b8e6f5;--ai-container-bg:#ffffff;--ai-container-shadow:0 4px 16px rgba(0, 61, 92, 0.15);--ai-select-bg:#f0fdff;--ai-select-color:#003d5c;--ai-select-border:#b8e6f5;--wiki-ref-border:#d4f2fa;--wiki-ref-color:#0088b3;--wiki-link-bg:rgba(0, 168, 204, 0.1);--wiki-link-color:#00a8cc;--wiki-link-hover-bg:rgba(0, 168, 204, 0.2);--msg-success-bg:linear-gradient(135deg, #00d2a0, #00b386);--msg-warning-bg:linear-gradient(135deg, #FFB74D, #FF9800);--msg-error-bg:linear-gradient(135deg, #FF6B6B, #EE5A52);--dialog-btn-bg:#FF6B35;--dialog-btn-color:#ffffff;--dialog-btn-hover-bg:#ff8c5f;--dialog-btn-secondary-bg:#e0f8ff;--dialog-btn-secondary-color:#003d5c;--dialog-btn-secondary-hover-bg:#b8e6f5;--dialog-btn-secondary-hover-color:#003d5c;--permission-granted-bg:#d4f8e8;--permission-granted-color:#004d2e;--permission-granted-border:#00d2a0;--permission-denied-bg:#ffe8e8;--permission-denied-color:#5c0000;--permission-denied-border:#ff6b6b;--permission-prompt-bg:#e0f8ff;--permission-prompt-color:#003d5c;--permission-prompt-border:#00a8cc;--error-bg:#ffe8e8;--error-color:#5c0000;--error-border:#ff6b6b;--warning-bg:#fff4e5;--warning-color:#663c00;--warning-border:#FFB74D}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}.header{background:rgb(255 255 255 / .1);backdrop-filter:blur(10px);border-radius:20px;padding:30px;margin-bottom:10px;border:1px solid rgb(255 255 255 / .2);display:flex;align-items:center;gap:20px;position:relative;transition:all 0.5s ease-in-out;user-select:none}.header:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgb(0 0 0 / .15)}.header-icon{display:flex;flex-direction:column;align-items:center;position:relative}.header img{width:96px;height:96px;flex-shrink:0;background:#fff;border-radius:8px;padding:0;transition:width 0.5s ease-in-out,height 0.5s ease-in-out}.header-text{flex:1;text-align:left}.header h1{color:#fff;font-size:2.5em;margin:0 0 10px;text-shadow:2px 2px 4px rgb(0 0 0 / .3);transition:font-size 0.5s ease-in-out,margin 0.5s ease-in-out}.header p{color:rgb(255 255 255 / .9);margin:0;font-size:1.2em;transition:opacity 0.3s ease-in-out}.header.compact{padding:10px 12px;flex-direction:row;align-items:center;cursor:pointer}.header.compact:hover{background:rgb(255 255 255 / .15)}.header.compact::before{content:'';position:absolute;inset:0;background:rgb(255 255 255 / .05);border-radius:20px;opacity:0;transition:opacity 0.3s ease;pointer-events:none}.header.compact:hover::before{opacity:1}.header.compact .header-text h1{font-size:1.2em;margin-bottom:0}.header.compact .header-text p{display:none}.header.compact .header-icon img{width:32px;height:32px}.header-controls{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.wakelock-indicator{position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:#4CAF50;border:2px solid rgb(255 255 255 / .8);box-shadow:0 0 4px rgb(0 0 0 / .3);display:none;z-index:10}.header.compact .wakelock-indicator{top:-2px;right:-2px;width:8px;height:8px}.header-toggle-hint{position:absolute;top:8px;right:8px;font-size:12px;opacity:.6;transition:opacity 0.3s ease;pointer-events:none}.header:hover .header-toggle-hint{opacity:1}.header.compact .header-toggle-hint{top:50%;right:12px;transform:translateY(-50%);font-size:14px}.category-selector{background:var(--bg-block);border-radius:12px;padding:12px;box-shadow:0 2px 8px rgb(0 0 0 / .1)}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;margin-top:15px;border:none;padding:0;min-width:0}.category-item{position:relative;background:var(--bg-block);border:2px solid var(--border-color);border-radius:12px;padding:15px;cursor:pointer;transition:all 0.3s ease;user-select:none;border-left:4px solid var(--color-default);color:var(--text-primary)}.category-item:hover{border-color:#3498db;transform:translateY(-2px);box-shadow:0 4px 12px rgb(52 152 219 / .15)}.category-item.selected{border-color:#3498db;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.category-item.priority{border-color:#f39c12;background:linear-gradient(135deg,#f39c12,#e67e22)}.category-item input[type="checkbox"]{display:none}.category-item .category-name{font-weight:600;font-size:1.1em;margin-bottom:5px;display:block;cursor:pointer}.category-item .category-desc{font-size:.9em;opacity:.8}.category-item[data-category="sehenswuerdigkeiten"]{border-left-color:var(--color-sehenswuerdigkeiten)}.category-item[data-category="essen_trinken"]{border-left-color:var(--color-essen-trinken)}.category-item[data-category="natur_parks"]{border-left-color:var(--color-natur-parks)}.category-item[data-category="sport_freizeit"]{border-left-color:var(--color-sport-freizeit)}.category-item[data-category="familie_kinder"]{border-left-color:var(--color-familie-kinder)}.category-item[data-category="einkaufen"]{border-left-color:var(--color-einkaufen)}.category-item[data-category="oeffentliche_einrichtungen"]{border-left-color:var(--color-oeffentliche-einrichtungen)}.category-item.selected[data-category="sehenswuerdigkeiten"]{border-color:var(--color-sehenswuerdigkeiten);background:linear-gradient(135deg,var(--color-sehenswuerdigkeiten),var(--color-sehenswuerdigkeiten-dark))}.category-item.selected[data-category="essen_trinken"]{border-color:var(--color-essen-trinken);background:linear-gradient(135deg,var(--color-essen-trinken),var(--color-essen-trinken-dark))}.category-item.selected[data-category="natur_parks"]{border-color:var(--color-natur-parks);background:linear-gradient(135deg,var(--color-natur-parks),var(--color-natur-parks-dark))}.category-item.selected[data-category="sport_freizeit"]{border-color:var(--color-sport-freizeit);background:linear-gradient(135deg,var(--color-sport-freizeit),var(--color-sport-freizeit-dark))}.category-item.selected[data-category="familie_kinder"]{border-color:var(--color-familie-kinder);background:linear-gradient(135deg,var(--color-familie-kinder),var(--color-familie-kinder-dark))}.category-item.selected[data-category="einkaufen"]{border-color:var(--color-einkaufen);background:linear-gradient(135deg,var(--color-einkaufen),var(--color-einkaufen-dark))}.category-item.selected[data-category="oeffentliche_einrichtungen"]{border-color:var(--color-oeffentliche-einrichtungen);background:linear-gradient(135deg,var(--color-oeffentliche-einrichtungen),var(--color-oeffentliche-einrichtungen-dark))}.priority-star{position:absolute;top:10px;right:10px;color:var(--text-muted);font-size:1.2em;cursor:pointer;opacity:.65;transition:all 0.3s ease;background:none;border:none;padding:4px;margin:0;width:auto;height:auto;border-radius:4px;filter:grayscale(100%)}.priority-star.active{color:#ffb300;opacity:1;filter:grayscale(0%) drop-shadow(0 0 6px rgb(255 179 0 / .8));transform:scale(1.4)}.priority-star:not(.active){filter:grayscale(100%);transform:scale(1)}.priority-star:not(.active):hover{opacity:.85;filter:grayscale(50%);transform:scale(1.2)}.priority-star.active:hover{transform:scale(1.5)}.search-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.search-button{flex:1 1 auto;padding:14px;min-width:10rem;background:linear-gradient(45deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all 0.3s ease;position:relative;overflow:hidden}.search-button:hover{background:linear-gradient(45deg,#219a52,#27ae60)}.search-button:disabled{background:#b0b0b0;color:#333;cursor:not-allowed;animation:none;transform:none}.search-button.auto-active{background:linear-gradient(135deg,#4CAF50,#45a049)}.search-button.manual-mode{background:linear-gradient(135deg,#2196F3,#1976D2)}.search-button.pending-search{background:linear-gradient(45deg,#FF9800,#F57C00);animation:pendingPulse 2s ease-in-out infinite}.search-button.pending-search::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .2),transparent);animation:shimmer 1.5s infinite}.auto-toggle{display:flex;flex:0 0 auto;align-items:center;gap:10px;background:var(--bg-block-alt);border-radius:8px;padding:0 12px;height:48px;font-size:16px;font-weight:500;cursor:pointer;user-select:none;color:var(--text-primary)}.auto-toggle input[type="checkbox"]{position:absolute;opacity:0;width:1px;height:1px;margin:0;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.toggle-switch{position:relative;width:36px;height:20px;background:var(--border-color-light);border-radius:10px;transition:background 0.3s,box-shadow 0.3s}.toggle-switch::after{content:"";position:absolute;width:16px;height:16px;background:var(--bg-block);border-radius:50%;top:2px;left:2px;transition:transform 0.3s}input[type="checkbox"]:checked+.toggle-switch{background:var(--poi-distance-color)}input[type="checkbox"]:checked+.toggle-switch::after{transform:translateX(16px)}.location-input-container{position:relative;display:flex;gap:12px;margin-bottom:0;padding:10px 0}.location-input{flex:1;padding:12px 16px;border:2px solid var(--border-color);border-radius:8px;font-size:16px;transition:border-color 0.3s ease;background:var(--bg-input);color:var(--text-primary)}.location-input:focus{border-color:var(--border-color-focus)}.location-input:disabled{background:var(--bg-input-disabled);color:var(--text-muted);cursor:not-allowed}.location-search-btn{padding:12px 20px;background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background 0.2s ease;white-space:nowrap}.location-search-btn:hover:not(:disabled){background:linear-gradient(45deg,#2980b9,#1f4e79)}.location-search-btn:disabled{background:#ccc;cursor:not-allowed}.location-suggestions{background:var(--bg-block);border:1px solid var(--border-color);border-radius:8px;max-height:80vh;overflow-y:auto;box-shadow:var(--dropdown-shadow);position:absolute;top:100%;left:0;right:0;margin-top:2px;z-index:1000;opacity:0;transform:translateY(-10px);transition:all 0.3s ease}.location-suggestions.visible{opacity:1;transform:translateY(0)}.suggestion-item{padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background 0.2s ease;overflow-wrap:break-word;line-height:1.4;color:var(--text-primary)}.suggestion-item:hover{background:var(--bg-block-alt)}.suggestion-item:last-child{border-bottom:none}.search-status{background:var(--bg-block);border-radius:8px;padding:12px 16px;margin-bottom:10px;display:block;box-shadow:0 2px 4px rgb(0 0 0 / .05)}.search-status.active{display:block}.status-phase{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-muted);margin-bottom:4px}.status-phase:last-child{margin-bottom:0}.status-phase.active{color:var(--poi-distance-color);font-weight:500}.status-phase.done{color:var(--poi-distance-active-color)}.status-phase.final.success{color:#2E7D32;font-weight:500;border-left:3px solid #4CAF50;background:linear-gradient(90deg,rgb(76 175 80 / .05) 0%,transparent 100%)}.status-phase.final.no-results{color:#F57C00;border-left-color:#FF9800;background:linear-gradient(90deg,rgb(255 152 0 / .05) 0%,transparent 100%)}.poi-results{background:var(--bg-block);border-radius:12px;padding:10px;box-shadow:0 2px 8px rgb(0 0 0 / .1);display:none;margin-bottom:10px;counter-reset:poi-counter}.poi-results.active{display:block}ul.poi-list{display:flex;flex-direction:column;margin:12px 0;padding:0;list-style:none}ul.poi-list>li{margin-bottom:4px;color:var(--text-secondary);list-style:none}.poi-slot{min-height:60px;border-radius:8px;overflow:hidden;position:relative;padding:5px}.skeleton-loader{height:60px;background:linear-gradient(90deg,var(--bg-block-alt) 25%,var(--bg-block-hover) 50%,var(--bg-block-alt) 75%);background-size:200% 100%;animation:loading-shimmer 1.5s infinite}.skeleton-loader.dim{opacity:.5}@keyframes loading-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.poi-item{padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;display:flex;align-items:center;justify-content:space-between;background:var(--bg-block);opacity:0;transform:translateY(4px);animation:poi-reveal 0.3s ease-out forwards;counter-increment:poi-counter;position:relative;transition:all 0.3s ease;cursor:pointer;user-select:none;border-left:4px solid var(--color-default);margin-bottom:8px}@keyframes poi-reveal{to{opacity:1;transform:translateY(0)}}.poi-info{flex:1}.poi-name{font-weight:500;color:var(--text-primary);margin-bottom:2px;display:flex;align-items:center;gap:8px}.poi-list-icon{font-size:18px;flex-shrink:0;line-height:1}.poi-category{font-size:12px;color:var(--text-secondary);position:relative;padding-left:20px}footer.poi-meta{text-align:right}footer.poi-meta small.poi-distance{font-weight:500;color:var(--poi-distance-color);font-size:14px}footer.poi-meta small.poi-direction{font-size:12px;color:var(--text-muted)}.poi-item[data-category="sehenswuerdigkeiten"]{border-left-color:var(--color-sehenswuerdigkeiten)}.poi-item[data-category="essen_trinken"]{border-left-color:var(--color-essen-trinken)}.poi-item[data-category="natur_parks"]{border-left-color:var(--color-natur-parks)}.poi-item[data-category="sport_freizeit"]{border-left-color:var(--color-sport-freizeit)}.poi-item[data-category="familie_kinder"]{border-left-color:var(--color-familie-kinder)}.poi-item[data-category="einkaufen"]{border-left-color:var(--color-einkaufen)}.poi-item[data-category="oeffentliche_einrichtungen"]{border-left-color:var(--color-oeffentliche-einrichtungen)}.poi-item:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgb(0 0 0 / .1)}.poi-item[data-category="sehenswuerdigkeiten"]:hover{background:var(--poi-hover-sehenswuerdigkeiten)}.poi-item[data-category="essen_trinken"]:hover{background:var(--poi-hover-essen-trinken)}.poi-item[data-category="natur_parks"]:hover{background:var(--poi-hover-natur-parks)}.poi-item[data-category="sport_freizeit"]:hover{background:var(--poi-hover-sport-freizeit)}.poi-item[data-category="familie_kinder"]:hover{background:var(--poi-hover-familie-kinder)}.poi-item[data-category="einkaufen"]:hover{background:var(--poi-hover-einkaufen)}.poi-item[data-category="oeffentliche_einrichtungen"]:hover{background:var(--poi-hover-oeffentliche-einrichtungen)}.poi-item.active{background:var(--poi-item-active-bg);border-left:4px solid var(--poi-item-active-border);box-shadow:var(--poi-item-active-shadow);transform:translateY(-1px)}.poi-item.active .poi-name{color:var(--poi-name-active-color);font-weight:600}.poi-item.active .poi-distance{color:var(--poi-distance-active-color)}.poi-item.active[data-category="sehenswuerdigkeiten"]{background:var(--poi-active-sehenswuerdigkeiten);border-left-color:var(--color-sehenswuerdigkeiten);box-shadow:0 2px 8px rgb(231 76 60 / .3)}.poi-item.active[data-category="essen_trinken"]{background:var(--poi-active-essen-trinken);border-left-color:var(--color-essen-trinken);box-shadow:0 2px 8px rgb(243 156 18 / .3)}.poi-item.active[data-category="natur_parks"]{background:var(--poi-active-natur-parks);border-left-color:var(--color-natur-parks);box-shadow:0 2px 8px rgb(39 174 96 / .3)}.poi-item.active[data-category="sport_freizeit"]{background:var(--poi-active-sport-freizeit);border-left-color:var(--color-sport-freizeit);box-shadow:0 2px 8px rgb(52 152 219 / .3)}.poi-item.active[data-category="familie_kinder"]{background:var(--poi-active-familie-kinder);border-left-color:var(--color-familie-kinder);box-shadow:0 2px 8px rgb(155 89 182 / .3)}.poi-item.active[data-category="einkaufen"]{background:var(--poi-active-einkaufen);border-left-color:var(--color-einkaufen);box-shadow:0 2px 8px rgb(26 188 156 / .3)}.poi-item.active[data-category="oeffentliche_einrichtungen"]{background:var(--poi-active-oeffentliche-einrichtungen);border-left-color:var(--color-oeffentliche-einrichtungen);box-shadow:0 2px 8px rgb(0 188 212 / .3)}.poi-item .poi-category::before{content:"#" counter(poi-counter) " ";position:absolute;left:0;top:50%;color:#fff;transform:translateY(calc(-50%));width:20px;height:12px;border-radius:2px;font-weight:700;font-size:.8em;line-height:12px;padding-bottom:1px;text-align:center}.poi-item[data-category="sehenswuerdigkeiten"] .poi-category::before{background:var(--color-sehenswuerdigkeiten)}.poi-item[data-category="essen_trinken"] .poi-category::before{background:var(--color-essen-trinken)}.poi-item[data-category="natur_parks"] .poi-category::before{background:var(--color-natur-parks)}.poi-item[data-category="sport_freizeit"] .poi-category::before{background:var(--color-sport-freizeit)}.poi-item[data-category="familie_kinder"] .poi-category::before{background:var(--color-familie-kinder)}.poi-item[data-category="einkaufen"] .poi-category::before{background:var(--color-einkaufen)}.poi-item[data-category="oeffentliche_einrichtungen"] .poi-category::before{background:var(--color-oeffentliche-einrichtungen)}.wiki-info-icon{position:absolute;top:8px;right:8px;background:var(--bg-block);border:1px solid var(--wiki-link-color);border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:10px;box-shadow:0 1px 3px rgb(0 0 0 / .2);z-index:5;padding:0;color:var(--wiki-link-color);font-family:inherit}.wiki-info-icon.clickable{cursor:pointer;transition:all 0.2s ease}.wiki-info-icon.clickable:hover{background:var(--wiki-link-color);color:var(--text-inverse);transform:scale(1.15);box-shadow:0 2px 6px rgb(0 123 255 / .4)}.wiki-info-icon.clickable:active{transform:scale(1.05);box-shadow:0 1px 3px rgb(0 123 255 / .6)}.no-results-message{text-align:center;padding:40px 20px;color:var(--text-secondary);background:var(--bg-block-alt);border-radius:12px;margin:20px 0;box-shadow:0 2px 10px rgb(0 0 0 / .05);border-left:4px solid var(--color-default);position:relative}.no-results-message::before{content:'';position:absolute;left:-2px;top:20px;width:8px;height:8px;border-radius:50%;background:var(--color-default);border:2px solid var(--bg-block)}.no-results-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-results-text{font-size:18px;font-weight:500;margin-bottom:8px;color:var(--text-secondary)}.no-results-subtext{font-size:14px;color:var(--text-secondary)}.no-results-popup{text-align:center;padding:10px}.no-results-popup strong{color:#dc3545}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}.results-header h3{margin:0;color:var(--text-primary)}.speed-indicator{display:flex;align-items:center;gap:6px;background:var(--bg-block-alt);padding:6px 12px;border-radius:20px;font-size:12px;border:1px solid var(--border-color);color:var(--text-primary);transition:all 0.3s ease}.speed-indicator.walking{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff;border-color:#4CAF50}.speed-indicator.cycling{background:linear-gradient(135deg,#FF9800,#F57C00);color:#fff;border-color:#FF9800}.speed-indicator.driving{background:linear-gradient(135deg,#2196F3,#1976D2);color:#fff;border-color:#2196F3}.speed-icon{font-size:14px;line-height:1}.speed-text{font-weight:500}.speed-value{font-weight:600;font-size:11px;opacity:.9}.search-type{font-size:10px;opacity:.8;background:rgb(255 255 255 / .2);padding:2px 6px;border-radius:10px;margin-left:4px}.speed-indicator.walking .search-type{background:rgb(255 255 255 / .25)}.speed-indicator.cycling .search-type{background:rgb(255 255 255 / .25)}.speed-indicator.driving .search-type{background:rgb(255 255 255 / .25)}@keyframes speed-update{0%{transform:scale(.95)}50%{transform:scale(1.05)}100%{transform:scale(1)}}.location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.location-header h3{margin:0;color:#fff}.location-activate-btn{background:#1d6fa3;color:#fff;border:none;width:100%;text-align:center;padding:12px;margin-bottom:15px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:700;transition:background 0.3s ease}.location-activate-btn:hover{background:#16537a}.manual-location-block,.contact-info-block{background:var(--bg-block);border-radius:12px;padding:10px 15px;box-shadow:0 2px 8px rgb(0 0 0 / .1);color:var(--text-primary)}.manual-location-block>div:first-child{margin-bottom:8px;font-size:.85em}.manual-location-block{position:relative;overflow:visible}.current-location-block{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%);border-radius:12px;color:#fff;padding:20px;box-shadow:0 2px 8px rgb(0 0 0 / .1);margin-bottom:20px}#manualLocationSection,#manualLocationSectionTop{overflow:visible;position:relative;z-index:1}#manualLocationSection .section-content,#manualLocationSectionTop .section-content{padding:10px;overflow:visible}.gps-switch-container{margin-top:12px;display:flex;justify-content:center}.gps-switch-btn{display:inline-block;max-width:280px;padding:10px 24px;background:linear-gradient(135deg,#4caf50 0%,#45a049 100%);color:#fff;border:2px solid #388e3c;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.3s ease;box-shadow:0 3px 10px rgb(76 175 80 / .3)}.gps-switch-btn:hover{background:linear-gradient(135deg,#45a049 0%,#388e3c 100%);transform:translateY(-2px);box-shadow:0 5px 15px rgb(76 175 80 / .4);border-color:#2e7d32}.gps-switch-btn:active{transform:translateY(0)}.gps-hint-block{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 100%);border:2px solid #64b5f6;border-radius:12px;padding:20px;margin-top:12px;position:relative;box-shadow:0 4px 12px rgb(33 150 243 / .15)}.gps-hint-dismiss{position:absolute;top:12px;right:12px;background:rgb(255 255 255 / .8);border:none;border-radius:50%;width:28px;height:28px;font-size:16px;line-height:1;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;color:#666}.gps-hint-dismiss:hover{background:#fff;color:#333;transform:scale(1.1)}.gps-hint-title{font-size:16px;font-weight:600;color:#1565c0;margin-bottom:12px;padding-right:30px}.gps-hint-benefits{list-style:none;padding:0;margin:0}.gps-hint-benefits li{padding:6px 0 6px 24px;position:relative;color:#424242;font-size:14px}.gps-hint-benefits li::before{content:"✓";position:absolute;left:0;color:#2196f3;font-weight:700;font-size:16px}.current-location-display{background:var(--bg-block);border-radius:8px;padding:16px;color:var(--text-primary)}.location-status{display:flex;align-items:center;gap:10px}.location-icon{font-size:18px}.location-text{font-weight:500;color:var(--text-primary);flex:1}.export-inline-btn{background:none;border:none;font-size:1.2em;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all 0.2s ease;opacity:.7}.export-inline-btn:hover{opacity:1;background:rgb(0 123 255 / .1);transform:scale(1.1)}.location-accuracy{font-size:.9em;color:var(--text-secondary)}.dialog-overlay{position:fixed;inset:0;background:rgb(0 0 0 / .5);display:none;justify-content:center;align-items:center;z-index:1000}.dialog{background:var(--bg-block,#ffffff);color:var(--text-primary,#1a202c);border-radius:15px;padding:8px;max-width:600px;width:90%;max-height:80vh;overflow-y:auto;position:relative;box-shadow:0 20px 40px rgb(0 0 0 / .3)}.dialog h2{color:var(--text-primary,#1a202c);margin-bottom:16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:1.17em}.dialog h3{color:var(--text-primary,#1a202c);margin-bottom:12px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:1em}.dialog p{color:var(--text-secondary,#2d3748);margin:8px 0;line-height:1.6}.dialog li{color:var(--text-secondary,#2d3748);margin:5px 0;line-height:1.5}.dialog strong{color:var(--text-primary,#1a202c);font-weight:600}.dialog small{color:var(--text-muted,#718096)}.dialog-close{position:absolute;top:15px;right:20px;background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted,#4A5568);padding:5px;transition:color 0.2s;min-width:44px;min-height:44px}.dialog-close:hover{color:var(--text-primary,#1A202C)}.privacy-section{background:var(--privacy-section-bg,#f7fafc);color:var(--text-secondary,#1A202C);border-radius:8px;border-left:4px solid var(--border-color-focus,#667eea);padding:15px;margin-bottom:20px}.privacy-section h3,.privacy-section h4{color:var(--text-primary,#1a202c);margin-bottom:10px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95em}.privacy-section p{color:var(--text-secondary,#2d3748);margin:8px 0;line-height:1.6}.privacy-section ul{margin:10px 0;padding-left:20px}.privacy-section li{color:var(--text-secondary,#2d3748);margin:5px 0;line-height:1.5}.location-section{color:var(--text-secondary,#2d3748);margin-bottom:12px;padding:8px;background:var(--privacy-section-bg,#f7fafc);border-radius:8px;border-left:4px solid var(--border-color-focus,#667eea)}.location-section h3,.location-section h4{color:var(--text-primary,#1a202c);margin-bottom:10px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:.95em}.location-section p{color:var(--text-secondary,#2d3748);margin:8px 0;line-height:1.6}.location-section li{color:var(--text-secondary,#2d3748)}.permission-status{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-weight:500}.permission-granted{background:var(--permission-granted-bg,#c6f6d5);color:var(--permission-granted-color,#22543d);border:2px solid var(--permission-granted-border,#48bb78)}.permission-denied{background:var(--permission-denied-bg,#fed7d7);color:var(--permission-denied-color,#742a2a);border:2px solid var(--permission-denied-border,#fc8181)}.permission-prompt{background:var(--permission-prompt-bg,#bee3f8);color:var(--permission-prompt-color,#2c5282);border:2px solid var(--permission-prompt-border,#4299e1)}.instruction-steps{margin-top:12px}.instruction-steps strong{color:var(--text-primary);display:block;margin-top:12px;font-weight:600}.instruction-steps ol{margin:8px 0 16px 20px;padding-left:10px}.instruction-steps li{color:var(--text-secondary);margin:4px 0;line-height:1.5}#dialogButtons{display:flex;gap:12px;margin-top:12px}#dialogButtons .button{flex:1;padding:12px 20px;background:var(--dialog-btn-bg,#1e3a8a);color:var(--dialog-btn-color,#ffffff);border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all 0.2s ease;box-shadow:0 2px 4px rgb(59 130 246 / .2)}#dialogButtons .button:hover{background:var(--dialog-btn-hover-bg,#1e40af);transform:translateY(-1px);box-shadow:0 4px 8px rgb(59 130 246 / .3)}#dialogButtons .button-secondary{background:var(--dialog-btn-secondary-bg,#e5e7eb);color:var(--dialog-btn-secondary-color,#1f2937);font-weight:600;box-shadow:0 2px 4px rgb(0 0 0 / .1)}#dialogButtons .button-secondary:hover{background:var(--dialog-btn-secondary-hover-bg,#d1d5db);color:var(--dialog-btn-secondary-hover-color,#111827);box-shadow:0 4px 8px rgb(0 0 0 / .15)}.collapsible-section,.section-header{background:var(--bg-block);border-radius:12px;margin-bottom:10px;overflow:visible}#categoriesSection:not(.active)+#statusUndErgebnis+#mapSection{margin-top:12px}.collapsible-section .section-header{padding:12px 15px;margin:0;margin-bottom:4px;cursor:pointer;display:flex;align-items:center;color:var(--text-secondary);background:var(--bg-block-alt);border:1px solid var(--border-color);font-size:1rem;font-weight:600}.collapsible-section .section-header:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;background:var(--bg-block-hover)}details.collapsible-section summary.section-header{cursor:pointer;list-style:none}details.collapsible-section summary.section-header::-webkit-details-marker{display:none}details.collapsible-section summary.section-header::after{content:'+';margin-left:auto;font-size:1.5em;transition:transform 0.2s ease}details.collapsible-section[open] summary.section-header::after{content:'−'}details.collapsible-section:not([open]) .section-content{display:none}.section .section-content{transition:max-height 0.3s ease}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px;margin-bottom:20px}.contact-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:var(--bg-block-alt);border-radius:8px;transition:all 0.3s ease}.contact-item:hover{background:var(--bg-block-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .1)}.contact-icon{font-size:24px;line-height:1}.contact-content{flex:1}.contact-title{font-weight:600;color:var(--text-primary);margin-bottom:4px}.contact-desc{font-size:.9em;color:var(--text-secondary);margin-bottom:8px}.contact-link{color:var(--border-color-focus);text-decoration:none;font-size:.9em;font-weight:500}.contact-link:hover{text-decoration:underline}.contact-link:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:var(--focus-shadow);text-decoration:underline}.stats-buttons-container,.settings-buttons-container{display:flex;gap:10px;margin-top:10px}.stats-btn{background:var(--border-color-focus);color:var(--text-inverse);border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:500;transition:background 0.3s ease;flex:1;min-width:0;text-align:center}.stats-btn:hover{background:var(--focus-color-dark,#004499)}.stats-btn:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:var(--focus-shadow)}.theme-toggle-btn{background:var(--border-color-focus);color:var(--text-inverse);border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:.9em;font-weight:500;transition:background 0.3s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.theme-toggle-btn:hover{background:var(--focus-color-dark,#004499)}.theme-toggle-btn:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:var(--focus-shadow)}.stats-display{background:var(--bg-block-alt);border-radius:8px;padding:16px;margin-top:16px}.stats-display h4{margin:0 0 12px;color:var(--text-primary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.stat-item{text-align:center;background:var(--bg-block);padding:12px;border-radius:6px;box-shadow:0 1px 3px rgb(0 0 0 / .1)}.stat-value{font-size:24px;font-weight:600;color:var(--border-color-focus);margin-bottom:4px}.stat-label{font-size:.8em;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.teilen-content{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.qr-section{flex-shrink:0}.qr-section img{border-radius:8px;box-shadow:0 4px 8px rgb(0 0 0 / .1)}.social-links{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.social-links .stats-btn{width:100%;min-width:0;display:flex;align-items:center;justify-content:flex-start;text-align:left;padding:8px 12px;overflow:hidden}.social-links .stats-btn .btn-icon{display:inline-block;width:20px;text-align:center;margin-right:8px;flex-shrink:0}.social-links .stats-btn .btn-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-export-container{margin-top:15px}.export-toggle-btn{width:100%;padding:12px 16px;background:linear-gradient(45deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background 0.3s ease,transform 0.2s ease;text-align:center}.export-toggle-btn:hover{background:linear-gradient(45deg,#5a67d8,#6b46c1);transform:translateY(-2px)}.search-export-section{margin-top:12px;background:var(--bg-block);border-radius:10px;padding:12px;box-shadow:0 2px 6px rgb(0 0 0 / .08)}.export-info{text-align:center;margin-bottom:10px}.export-message{color:var(--text-secondary);font-size:.9em;padding:8px}.export-buttons{display:flex;justify-content:space-between;gap:10px;margin-top:6px}.export-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:var(--bg-block);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9em;font-weight:500;transition:all 0.2s ease;text-align:center;min-width:0;color:var(--text-primary)}.export-action-btn:hover{border-color:#3498db;box-shadow:0 3px 8px rgb(52 152 219 / .15);transform:translateY(-2px)}.export-action-btn.primary{background:linear-gradient(45deg,#3498db,#2980b9);color:#fff;border:none}.export-action-btn.primary:hover{background:linear-gradient(45deg,#2980b9,#1f4e79)}.export-action-btn:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:var(--focus-shadow)}.export-help{margin-top:10px;font-size:.8em;color:var(--text-secondary);text-align:center}.refresh-cache-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#fff0;border:1px solid var(--border-color-light);border-radius:50%;font-size:.8em;color:var(--text-secondary);cursor:pointer;transition:all 0.2s ease;opacity:1;flex-shrink:0}.refresh-cache-btn:hover{background:var(--bg-block-alt);opacity:1;transform:scale(1.1)}.refresh-cache-btn:active{transform:scale(.95);background:var(--bg-block-hover)}.refresh-cache-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.refresh-cache-btn.loading{animation:spin 1s linear infinite}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.brief-message{pointer-events:none;user-select:none}.brief-message-success{background:var(--msg-success-bg)}.brief-message-warning{background:var(--msg-warning-bg)}.brief-message-error{background:var(--msg-error-bg)}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #f3f3f3;border-top:2px solid #2196f3;border-radius:50%;animation:spin 0.8s linear infinite}.error-message{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error-color);padding:12px 16px;border-radius:8px;margin-bottom:16px;display:none}.error-message.active{display:block}.server-health{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom, 0px));right:calc(20px + env(safe-area-inset-right, 0px));background:var(--bg-block);padding:12px 16px;border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0 / .1);font-size:12px;display:none;color:var(--text-primary)}.server-health.debug-mode{display:block}.server-status{display:flex;align-items:center;gap:8px;margin-bottom:4px}.status-dot{width:8px;height:8px;border-radius:50%;background:#4caf50}.status-dot.warning{background:#ff9800}.status-dot.error{background:#f44336}.app-footer{background:rgb(255 255 255 / .1);backdrop-filter:blur(10px);padding:20px;text-align:center;color:rgb(255 255 255 / .8);border-radius:12px 12px 0 0}.footer-content{max-width:1100px;margin:0 auto}.app-footer p{margin:0;font-size:.9em}@media (max-width:768px){.scroll-wrapper{scroll-snap-type:none}.header h1{font-size:2em}.container{padding:12px}.category-grid{grid-template-columns:repeat(2,1fr)}.location-input-container{flex-direction:column}.location-search-btn{width:100%}.contact-grid{grid-template-columns:1fr}.map-controls{flex-wrap:wrap;gap:6px;padding:6px}.stats-grid{grid-template-columns:repeat(2,1fr)}.teilen-content{flex-direction:column;align-items:center;gap:15px}.social-links{width:100%}.ai-container-block .ai-controls{flex-direction:column;align-items:stretch}.ai-persona-selector select{max-width:100%}.ai-refresh-btn{width:100%;justify-content:center}.export-buttons{flex-direction:column}.export-action-btn{width:100%;flex:none}.header.compact .header-text h1{font-size:1.1em}.header-toggle-hint{font-size:10px}.header.compact .header-toggle-hint{font-size:12px}.dialog{background:var(--bg-block,#ffffff);color:var(--text-primary,#1a202c)}.dialog *{color:inherit}.dialog h2,.dialog h3,.dialog h4{color:var(--text-primary,#1a202c)}.dialog p:not(.permission-granted,.permission-denied,.permission-prompt),.dialog li{color:var(--text-secondary,#2d3748)}#dialogButtons .button{color:#ffffff!important}#dialogButtons .button-secondary{color:#1f2937!important}.location-suggestions{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.suggestion-item{padding:14px 16px;min-height:44px}.map-control-btn{padding:8px 10px;font-size:14px;min-width:40px}.dropdown-btn{padding:8px 12px}.dropdown-menu{min-width:140px;font-size:13px}.dropdown-item{padding:8px 12px}}@media (max-width:480px){.category-grid{grid-template-columns:1fr}.search-controls{flex-flow:column wrap;align-items:stretch;overflow-x:hidden}.auto-toggle{justify-content:center;width:100%}.stats-grid{grid-template-columns:1fr}.map-icon{font-size:48px}.map-text{font-size:20px}.map-subtext{font-size:14px}.location-suggestions{max-height:50vh}.search-button{min-width:0;flex:1 1 100%}.teilen-content{flex-direction:column;align-items:center;gap:15px;overflow-x:hidden}.qr-section img{max-width:100%;height:auto}.export-buttons{flex-wrap:wrap;justify-content:center;max-width:100%;overflow-x:hidden}}@media (max-width:480px){.container{padding:10px}.header{padding:15px;gap:15px}.header h1{font-size:1.8em}.category-grid,.contact-grid,.stats-grid{grid-template-columns:1fr;gap:8px}.category-item{padding:12px}.search-controls{flex-direction:column;align-items:stretch;gap:10px}.auto-toggle{justify-content:center;width:100%;height:44px}.teilen-content{flex-direction:column;align-items:center;gap:15px}.social-links{width:100%}}@media (max-width:360px){.container{padding:8px}.header{padding:12px;gap:12px}.header h1{font-size:1.6em}.category-item{padding:10px}.category-item .category-name{font-size:1em}.search-button{padding:12px;font-size:14px}.poi-item{padding:10px 12px}.poi-name{font-size:14px}.poi-distance{font-size:12px}}@media (max-width:768px) and (orientation:landscape){.header{padding:10px 20px}.header h1{font-size:1.5em}#actualMap{height:300px}.category-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){.scroll-wrapper{scroll-snap-type:none}.block{scroll-snap-align:none}.user-location-marker .pulse{animation:none!important;opacity:.3}.skeleton-loader{animation:none!important;background:#f0f0f0}}@media (prefers-contrast:more){.category-item{border-width:3px}.category-item.selected{border-color:#000;background:#000;color:#fff}.poi-item{border:2px solid #000}.poi-distance{color:#000;font-weight:700}.search-button{background:#000;border:2px solid #fff}.map-control-btn{border:2px solid #000;background:#fff;color:#000}.primary-btn{background:#000;color:#fff}}@media print{.map-container-block,.server-health,.dialog-overlay,.search-controls,.map-controls{display:none!important}body{background:#fff;color:#000}.container{max-width:none!important;padding:0}.header{background:none;color:#000;border:1px solid #000}.poi-item{border:1px solid #000;margin-bottom:10px}.block{break-inside:avoid}h1,h2,h3{break-after:avoid}}@media (pointer:coarse){.category-item,.poi-item{min-height:60px;padding:15px}.map-control-btn{min-width:48px;min-height:48px;padding:12px}.search-button{min-height:48px;padding:15px}.dropdown-item{padding:12px 16px;min-height:48px}}@media (max-width:768px) and (min-height:600px){.scroll-wrapper{scroll-snap-type:y proximity}.container{padding:12px}}@media (min-width:768px) and (max-height:500px){.header{padding:15px 30px}.category-grid{grid-template-columns:repeat(3,1fr)}#actualMap{height:250px}}.map-wrapper{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgb(0 0 0 / .1);aspect-ratio:1/1;transition:all 0.3s ease-in-out}.map-container-block{background:var(--bg-block);border-radius:12px;padding:10px 15px;box-shadow:var(--map-controls-shadow);transition:all 0.3s ease;position:relative}.map-placeholder{height:400px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);display:flex;align-items:center;justify-content:center;position:relative}.map-placeholder-content{text-align:center;color:#fff}.map-icon{font-size:64px;margin-bottom:16px;opacity:.9}.map-text{font-size:24px;font-weight:600;margin-bottom:8px}.map-subtext{font-size:16px;opacity:.8;max-width:300px}#actualMap{width:100%;height:400px;border-radius:8px}.map-controls{display:flex;gap:8px;justify-content:center;padding:8px;background:var(--map-controls-bg,rgb(255 255 255 / .95));border-radius:8px;box-shadow:var(--map-controls-shadow,0 2px 8px rgb(0 0 0 / .1));backdrop-filter:blur(10px);overflow:visible;position:relative;z-index:1000;transition:all 0.3s ease}.map-control-btn{padding:10px 12px;background:var(--bg-block-alt);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all 0.2s ease;font-size:16px;min-width:44px;display:flex;align-items:center;justify-content:center;color:var(--text-primary)}.map-control-btn:hover{background:var(--bg-block-hover);transform:translateY(-1px)}.map-control-btn:focus{outline:2px solid var(--focus-color);outline-offset:2px}.primary-btn{background:var(--border-color-focus);color:var(--text-inverse);border-color:var(--border-color-focus)}.primary-btn:hover{background:var(--focus-color-dark,#004499)}.map-dropdown{position:relative;display:inline-block;z-index:10001!important}.dropdown-btn{display:flex;align-items:center;gap:4px;padding:10px 14px;background:var(--bg-block-alt);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;cursor:pointer}.dropdown-arrow{font-size:14px;transition:transform 0.2s;transform:rotate(180deg)}.map-dropdown.open .dropdown-arrow{transform:rotate(0deg)}.dropdown-menu{display:none;position:absolute;bottom:100%;left:0;background:var(--dropdown-item-bg,white);border:1px solid var(--dropdown-border,#dee2e6);border-radius:6px;box-shadow:var(--dropdown-shadow,0 4px 16px rgb(0 0 0 / .15));z-index:99999!important;min-width:160px;margin-bottom:4px;overflow:hidden}.dropdown-item{width:100%;padding:10px 16px;background:var(--dropdown-item-bg,white);color:var(--dropdown-item-color,inherit);border:none;text-align:left;cursor:pointer;font-size:14px;border-bottom:1px solid var(--dropdown-border,#f1f3f4);transition:background 0.2s;display:flex;align-items:center;gap:8px}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:var(--dropdown-item-hover-bg,#f8f9fa)}.dropdown-item:focus{background:var(--dropdown-item-hover-bg,#e3f2fd)}.user-location-marker{position:relative;width:30px;height:30px}.user-location-marker .center{position:absolute;width:14px;height:14px;background:#2196f3;border:3px solid #fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 2px 4px rgb(0 0 0 / .3);z-index:2;transition:all 0.3s ease}.user-location-marker .pulse{position:absolute;width:30px;height:30px;background:rgb(33 150 243 / .3);border-radius:50%;animation:pulse 2s ease-out infinite;top:50%;left:50%;transform:translate(-50%,-50%)}.poi-marker,.poi-marker-numbered{display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px rgb(0 0 0 / .3);cursor:pointer;transition:transform 0.2s}.poi-marker{width:32px;height:32px;background:#fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.poi-marker:hover{transform:rotate(-45deg) scale(1.1)}.poi-marker .poi-icon{transform:rotate(45deg);font-size:18px}.poi-marker-numbered{width:30px;height:30px;border-radius:50%;color:#fff;font-weight:700;font-size:14px;border:2px solid #fff}.poi-marker-numbered:hover{transform:scale(1.1)}.poi-marker.sehenswuerdigkeiten{background:var(--color-sehenswuerdigkeiten)}.poi-marker.essen_trinken{background:var(--color-essen-trinken)}.poi-marker.natur_parks{background:var(--color-natur-parks)}.poi-marker.sport_freizeit{background:var(--color-sport-freizeit)}.poi-marker.familie_kinder{background:var(--color-familie-kinder)}.poi-marker.einkaufen{background:var(--color-einkaufen)}.leaflet-marker-icon.routing-inactive{opacity:.3;transition:opacity 0.3s ease,transform 0.3s ease,filter 0.3s ease;pointer-events:auto;cursor:pointer}.leaflet-marker-icon.routing-inactive:hover{opacity:.5}.leaflet-marker-icon.routing-inactive:hover .poi-marker-numbered{transform:scale(1.05)}.leaflet-marker-icon.routing-active-destination{opacity:1;transition:all 0.3s ease;z-index:1000!important}.leaflet-marker-icon.routing-active-destination .poi-marker-numbered{transform:scale(1.15);animation:routing-destination-glow 2s ease-in-out infinite}.destination-marker{position:relative;text-align:center}.marker-pin{width:30px;height:30px;background:#ff5252;border-radius:50% 50% 50% 0;transform:rotate(-45deg);margin:0 auto;box-shadow:0 2px 4px rgb(0 0 0 / .3)}.marker-label{position:absolute;top:-10px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#fff;padding:3px 8px;border-radius:12px;font-weight:700;font-size:12px;box-shadow:0 1px 3px rgb(0 0 0 / .2)}.map-interaction-indicator,.map-tracking-indicator{position:absolute;background:rgb(255 255 255 / .95);border-radius:8px;font-size:11px;z-index:1000;transition:all 0.3s ease;pointer-events:none;box-shadow:0 2px 8px rgb(0 0 0 / .1);display:flex;align-items:center;gap:6px;line-height:1.2}.map-interaction-indicator{top:calc(10px + env(safe-area-inset-top, 0px));right:calc(10px + env(safe-area-inset-right, 0px));padding:8px 12px;border:1px solid #ddd;max-width:180px}.map-interaction-indicator.enabled{background:rgb(76 175 80 / .95);color:#fff;border-color:#4CAF50}.map-interaction-indicator.routing{background:rgb(255 152 0 / .95);color:#fff;border-color:#FF9800}.map-tracking-indicator{top:calc(10px + env(safe-area-inset-top, 0px));left:calc(50px + env(safe-area-inset-left, 0px));color:#fff;padding:8px 12px;display:none;border:2px solid rgb(255 255 255 / .3);backdrop-filter:blur(10px);min-width:140px;justify-content:center;font-weight:500}.map-tracking-indicator.active{display:flex;animation:slideInFromLeft 0.4s ease-out}.map-tracking-indicator .tracking-icon{font-size:14px;animation:pulse-icon 2s ease-in-out infinite}.map-tracking-indicator .tracking-text{font-weight:600;letter-spacing:.3px}.map-tracking-indicator.routing{background:rgb(255 152 0 / .95);border-color:rgb(255 152 0 / .3)}.map-tracking-indicator.auto-search{background:rgb(33 150 243 / .95);border-color:rgb(33 150 243 / .3)}.map-tracking-indicator.tracking{background:rgb(76 175 80 / .95);border-color:rgb(76 175 80 / .3)}#toggleInteractionBtn{position:relative;transition:all 0.3s ease;font-weight:600;border:2px solid #fff0}#toggleInteractionBtn::after{content:'';position:absolute;top:-3px;right:-3px;width:8px;height:8px;border-radius:50%;border:2px solid #fff;transition:all 0.3s ease}#toggleInteractionBtn.inactive{background:#6c757d;color:#fff;border-color:#495057;box-shadow:0 2px 4px rgb(108 117 125 / .3)}#toggleInteractionBtn.inactive:hover{background:#5a6268;border-color:#5a6268;transform:translateY(-1px);box-shadow:0 4px 8px rgb(108 117 125 / .4)}#toggleInteractionBtn.inactive::after{background:#dc3545}#toggleInteractionBtn.active{background:#28a745;color:#fff;border-color:#28a745;box-shadow:0 2px 4px rgb(40 167 69 / .3);animation:subtle-glow 2s ease-in-out infinite alternate}#toggleInteractionBtn.active:hover{background:#218838;border-color:#218838;transform:translateY(-1px);box-shadow:0 4px 8px rgb(40 167 69 / .4)}#toggleInteractionBtn.active::after{background:#28a745}#toggleInteractionBtn.routing{background:linear-gradient(45deg,#ff6b35,#ff8c42);color:#fff;border-color:#ff6b35;box-shadow:0 2px 6px rgb(255 107 53 / .4);animation:routing-pulse 1.5s ease-in-out infinite}#toggleInteractionBtn.routing:hover{background:linear-gradient(45deg,#e55a2b,#e67d37);border-color:#e55a2b}#toggleInteractionBtn.routing::after{background:#ff6b35;animation:status-blink 1s ease-in-out infinite alternate}.fullscreen .map-wrapper{position:fixed;inset:0;z-index:9999;border-radius:0;height:100vh;min-height:-webkit-fill-available;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.fullscreen #actualMap{height:calc(100vh - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;min-height:-webkit-fill-available;border-radius:0;width:100vw;max-height:none;touch-action:pan-x pan-y}.fullscreen .map-controls{position:fixed;bottom:env(safe-area-inset-bottom,20px);left:50%;transform:translateX(-50%);z-index:10000;background:rgb(255 255 255 / .95);backdrop-filter:blur(10px);border-radius:12px;padding:8px 12px;box-shadow:0 4px 20px rgb(0 0 0 / .25);border:1px solid rgb(255 255 255 / .3)}.user-location-marker.tracking .pulse{animation:user-pulse-tracking 1.8s ease-out infinite}.user-location-marker.tracking .center{background:#4CAF50;box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 0 rgb(76 175 80 / .7);animation:center-glow-tracking 1.8s ease-in-out infinite}.user-location-marker.routing .pulse{animation:user-pulse-routing 1.5s ease-out infinite}.user-location-marker.routing .center{background:#FF9800;animation:center-glow-routing 1.5s ease-in-out infinite}.user-location-marker.auto-search .pulse{animation:user-pulse-auto-search 2.2s ease-out infinite}.user-location-marker.auto-search .center{background:#2196F3;animation:center-glow-auto-search 2.2s ease-in-out infinite}.map-container-block.tracking{border-left:4px solid #4CAF50;background:linear-gradient(90deg,rgb(76 175 80 / .05) 0%,transparent 100%)}.map-container-block.routing{border-left:4px solid #FF9800;background:linear-gradient(90deg,rgb(255 152 0 / .05) 0%,transparent 100%)}.map-container-block.auto-search{border-left:4px solid #2196F3;background:linear-gradient(90deg,rgb(33 150 243 / .05) 0%,transparent 100%)}.map-container-block.manual-location{border-left:4px solid #9C27B0;background:linear-gradient(90deg,rgb(156 39 176 / .05) 0%,transparent 100%)}.map-container-block.tracking .section-title::after{content:" 📍";color:#4CAF50;animation:title-pulse 2s ease-in-out infinite}.map-container-block.routing .section-title::after{content:" 🚶";color:#FF9800;animation:title-pulse 1.5s ease-in-out infinite}.map-container-block.auto-search .section-title::after{content:" 🔄";color:#2196F3;animation:title-pulse 2.2s ease-in-out infinite}.map-container-block.manual-location .section-title::after{content:" 📌";color:#9C27B0}.map-controls[data-tracking-mode]::before{position:absolute;top:-30px;left:0;font-size:10px;font-weight:600;background:rgb(255 255 255 / .95);padding:4px 10px;border-radius:12px;border:1px solid rgb(0 0 0 / .1);backdrop-filter:blur(10px);box-shadow:0 2px 8px rgb(0 0 0 / .1);white-space:nowrap;z-index:100}.map-controls[data-tracking-mode="tracking"]::before{content:"📍 Live-Tracking aktiv";color:#2E7D32;border-color:rgb(76 175 80 / .3)}.map-controls[data-tracking-mode="auto-search"]::before{content:"🔄 Auto-Suche aktiv";color:#1976D2;border-color:rgb(33 150 243 / .3)}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(0);opacity:1}100%{transform:translate(-50%,-50%) scale(2);opacity:0}}@keyframes routing-destination-glow{0%,100%{box-shadow:0 0 15px rgb(255 152 0 / .6),0 0 30px rgb(255 152 0 / .4),0 2px 8px rgb(0 0 0 / .3);filter:brightness(1.1)}50%{box-shadow:0 0 25px rgb(255 152 0 / .8),0 0 45px rgb(255 152 0 / .6),0 2px 8px rgb(0 0 0 / .3);filter:brightness(1.2)}}@keyframes slideInFromLeft{0%{transform:translateX(-100%);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes pulse-icon{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}@keyframes subtle-glow{0%{box-shadow:0 2px 4px rgb(40 167 69 / .3)}100%{box-shadow:0 2px 8px rgb(40 167 69 / .5),0 0 12px rgb(40 167 69 / .2)}}@keyframes routing-pulse{0%,100%{transform:scale(1);box-shadow:0 2px 6px rgb(255 107 53 / .4)}50%{transform:scale(1.05);box-shadow:0 4px 12px rgb(255 107 53 / .6),0 0 16px rgb(255 107 53 / .3)}}@keyframes status-blink{0%{opacity:1}100%{opacity:.6}}@keyframes title-pulse{0%,100%{opacity:1}50%{opacity:.6}}@keyframes user-pulse-tracking{0%{opacity:1;transform:translate(-50%,-50%) scale(.4);background:rgb(76 175 80 / .4)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.5);background:rgb(76 175 80 / .1)}}@keyframes user-pulse-routing{0%{opacity:1;transform:translate(-50%,-50%) scale(.5);background:rgb(255 152 0 / .5)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.2);background:rgb(255 152 0 / .1)}}@keyframes user-pulse-auto-search{0%{opacity:1;transform:translate(-50%,-50%) scale(.3);background:rgb(33 150 243 / .4)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.8);background:rgb(33 150 243 / .1)}}@keyframes center-glow-tracking{0%,100%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 0 rgb(76 175 80 / .7)}50%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 8px #fff0}}@keyframes center-glow-routing{0%,100%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 0 rgb(255 152 0 / .7)}50%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 6px #fff0}}@keyframes center-glow-auto-search{0%,100%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 0 rgb(33 150 243 / .7)}50%{box-shadow:0 2px 8px rgb(0 0 0 / .3),0 0 0 10px #fff0}}@media (max-width:768px){.map-controls{gap:6px;padding:6px}.map-control-btn{padding:8px 10px;font-size:14px;min-width:40px}.dropdown-btn{padding:8px 12px}.dropdown-menu{min-width:140px;font-size:13px}.dropdown-item{padding:8px 12px}.map-interaction-indicator,.map-tracking-indicator{font-size:10px;padding:6px 10px;max-width:160px}.map-tracking-indicator{min-width:120px;gap:6px}.map-tracking-indicator .tracking-icon{font-size:12px}.map-icon{font-size:48px}.map-text{font-size:20px}.map-subtext{font-size:14px}.fullscreen .map-controls{bottom:calc(env(safe-area-inset-bottom, 10px) + 10px);padding:6px 10px;gap:6px}.fullscreen .map-control-btn{padding:8px 10px;font-size:14px;min-width:40px}#toggleInteractionBtn::after{width:6px;height:6px;top:-2px;right:-2px}.map-controls[data-tracking-mode]::before{font-size:9px;top:-25px;padding:3px 8px}}@media (max-width:480px){.map-controls{gap:4px;padding:4px}.map-control-btn{padding:6px 8px;font-size:13px;min-width:36px}.dropdown-btn{padding:6px 10px}.dropdown-menu{left:-10px;min-width:120px}.map-tracking-indicator{font-size:10px;padding:6px 10px;top:5px;left:5px;min-width:120px}}@media (max-width:768px) and (orientation:landscape){.fullscreen .map-controls{bottom:calc(env(safe-area-inset-bottom, 5px) + 5px);padding:4px 8px}.fullscreen .map-control-btn{padding:6px 8px;font-size:12px;min-width:36px}}@media (prefers-reduced-motion:reduce){.poi-marker,.poi-marker-numbered,.map-control-btn,.user-location-marker .pulse,.user-location-marker .center,.leaflet-marker-icon.routing-active-destination .poi-marker-numbered,#toggleInteractionBtn,#toggleInteractionBtn::after,.map-tracking-indicator,.map-tracking-indicator .tracking-icon{animation:none!important;transition:none!important}.map-tracking-indicator.active{animation:none;transform:translateX(0)}}@media (prefers-contrast:more){.map-tracking-indicator{border-width:3px;font-weight:700}.user-location-marker .center{border-width:4px}.map-container-block.tracking,.map-container-block.routing,.map-container-block.auto-search{border-left-width:6px}#toggleInteractionBtn.inactive{background:#000;border:3px solid #666;color:#fff}#toggleInteractionBtn.active{background:#000;border:3px solid lime;color:#fff}#toggleInteractionBtn.routing{background:#000;border:3px solid #f60;color:#fff}}html{height:-webkit-fill-available}body.fullscreen-active{height:-webkit-fill-available;overflow:hidden}.js-viewport-fix .fullscreen .map-wrapper,.js-viewport-fix .fullscreen #actualMap{height:var(--vh-mobile,100vh)}@supports (height:100dvh){.fullscreen .map-wrapper,.fullscreen #actualMap{height:100dvh!important;min-height:unset}}@supports (-webkit-touch-callout:none){.fullscreen .map-wrapper{height:-webkit-fill-available}.fullscreen #actualMap{height:-webkit-fill-available}}.leaflet-popup-content{margin:6px;min-width:120px;max-width:160px}.leaflet-popup-content-wrapper{border-radius:8px}.leaflet-popup-tip{width:15px;height:15px}.leaflet-popup-close-button{color:var(--popup-close-color,#757575)!important;font-size:18px!important}.leaflet-popup-close-button:hover{color:var(--popup-close-hover,#333333)}.leaflet-popup-close-button:focus{outline:2px solid var(--focus-color)!important;outline-offset:2px!important;color:var(--popup-close-hover,#333333)!important}.poi-popup{font-size:12px;line-height:1.3}.poi-popup-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.poi-popup-number{background:var(--poi-distance-color);color:var(--text-inverse);padding:1px 4px;border-radius:3px;font-size:10px;font-weight:700;flex-shrink:0}.poi-popup h4{margin:0;font-size:13px;line-height:1.2;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poi-meta-line{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:11px;gap:8px}.poi-meta-line .poi-category,.poi-meta-line .poi-distance{margin:0;font-size:.9em;white-space:nowrap}.poi-meta-line .poi-category{color:var(--popup-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis}.poi-meta-line .poi-distance{color:var(--poi-distance-color);font-weight:500;flex-shrink:0}.poi-route-btn,.poi-route-info{width:100%;padding:4px 6px;border-radius:4px;margin-top:4px;font-size:11px}.poi-route-btn{background:linear-gradient(45deg,#2196f3,#1976d2);color:#fff;border:none;cursor:pointer;font-weight:500;transition:background 0.2s}.poi-route-btn:hover{background:linear-gradient(45deg,#1976d2,#1565c0)}.poi-route-info{background:#f8f9fa;color:#495057;border:1px solid #dee2e6;text-align:center;font-style:italic}@media (max-width:768px){.leaflet-popup-content{margin:5px;min-width:110px;max-width:140px}.poi-popup{font-size:11px}.poi-popup h4{font-size:12px}.poi-meta-line{font-size:10px;gap:6px}.poi-route-btn,.poi-route-info{font-size:10px;padding:3px 5px}}@media (max-width:480px){.leaflet-popup-content{margin:4px;min-width:100px;max-width:130px}.poi-popup-header{gap:3px;margin-bottom:3px}.poi-popup-number{padding:1px 3px;font-size:9px}.poi-popup h4{font-size:11px}.poi-meta-line{font-size:9px;gap:4px;margin-bottom:3px}.poi-route-btn,.poi-route-info{font-size:9px;padding:2px 4px;margin-top:3px}}.places-container{margin-top:6px;border-top:1px solid var(--places-border,#e8eaed);padding-top:6px;animation:fadeIn 0.2s ease-in}.places-loaded{width:80px}.places-container.places-loaded{animation:slideIn 0.3s ease-out}.places-info{display:flex;justify-content:space-between;align-items:center;background:var(--places-bg,#f8f9fa);border-radius:6px;border-left:3px solid var(--places-link,#4285f4);padding:6px 8px;font-size:12px;min-height:40px;margin-left:10px;color:var(--places-text,#202124);cursor:pointer;transition:background-color 0.2s ease,border-color 0.2s ease,transform 0.1s ease}.places-info:hover{background:var(--places-bg-hover,#f1f3f4);transform:scale(1.01)}.places-info.open{border-left-color:var(--places-open,#34a853)}.places-info.closed{border-left-color:var(--places-closed,#ea4335)}.places-left,.places-right{display:flex;flex-direction:column;text-decoration:none;gap:2px}.places-right{align-items:flex-end;flex-shrink:0;gap:4px}.adjusted-label{font-size:10px;color:var(--places-text-secondary,#5f6368);line-height:1}.adjusted-value{font-size:14px;font-weight:700;color:var(--places-text,#202124);line-height:1.2}.places-link{display:inline-flex;align-items:center;justify-content:center;color:var(--places-link,#4285f4);text-decoration:none;font-size:12px;font-weight:500;padding:2px 4px;border-radius:4px;background:var(--places-link-bg,rgb(66 133 244 / .1));transition:background-color 0.2s ease}.places-link:hover{text-decoration:underline;background:var(--places-bg-hover,#f1f3f4)}.places-rating,.rating-display{display:flex;align-items:center;gap:4px}.places-rating{flex:1}.stars{font-size:12px;line-height:1;color:#ffc107}.rating-value{font-weight:700;color:var(--places-text,#202124);font-size:12px}.rating-count{color:var(--places-text-secondary,#5f6368);font-size:10px;white-space:nowrap}.places-details{display:flex;align-items:center;gap:8px}.detail-item{font-size:10px;color:var(--places-text-secondary,#5f6368);white-space:nowrap;display:flex;align-items:center;gap:2px}.places-header{display:flex;align-items:center;gap:4px;font-weight:500;color:var(--places-link,#4285f4);font-size:11px;flex-shrink:0}.places-icon{font-size:12px}.places-source{font-size:10px;font-weight:600;color:var(--places-text-secondary,#5f6368)}.places-confidence{background:var(--places-rating-bg,rgb(66 133 244 / .1));color:var(--places-link,#4285f4);padding:1px 4px;border-radius:8px;font-size:9px;font-weight:500;margin-left:auto}.places-loading,.places-error{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;font-size:11px;min-height:28px}.places-loading{background:var(--places-loading-bg,#f8f9fa);color:var(--places-text-secondary,#5f6368);border:1px dashed var(--places-loading-border,#dadce0)}.places-error{background:var(--places-error-bg,#fef7e0);color:var(--places-error-text,#b06000);border-left:2px solid var(--places-error-border,#fbbc04);font-size:10px;min-height:24px}.loading-spinner,.places-toggle-btn.loading{animation:spin 1s linear infinite;font-size:12px;color:var(--places-link,#4285f4)}.error-icon{font-size:12px}.places-info.ultra-compact,.places-info.icon-only{padding:4px 6px;min-height:20px;font-size:10px}.places-info.ultra-compact .places-header,.places-info.ultra-compact .places-footer,.places-info.icon-only .places-header,.places-info.icon-only .places-footer{display:none}.places-info.icon-only{background:#fff0;border:none;gap:4px;min-height:16px}.places-info.icon-only .rating-count{display:none}.places-info.icon-only .detail-item{font-size:9px}.places-badge,.places-minimal{display:inline-flex;align-items:center;gap:3px;background:var(--places-rating-bg,rgb(66 133 244 / .1));color:var(--places-link,#4285f4);padding:2px 6px;border-radius:10px;font-size:9px;font-weight:500;margin-top:2px;border:1px solid var(--places-border,#e8eaed)}.places-minimal{border-radius:8px;margin-top:3px}.places-badge .stars,.places-minimal .rating-stars{font-size:10px}.places-badge .rating-value,.places-minimal .rating-text{font-size:9px}.places-toggle-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--places-bg,#f8f9fa);border:2px solid var(--places-border,#e8eaed);border-radius:8px;font-size:14px;cursor:pointer;transition:all 0.2s ease;margin-left:8px;color:var(--places-text,#202124)}.places-toggle-btn:hover{background:var(--places-bg-hover,#f1f3f4);border-color:var(--places-link,#4285f4);transform:scale(1.05)}.places-toggle-btn.active{background:var(--places-link-bg,rgb(66 133 244 / .15));border-color:var(--places-link,#4285f4);color:var(--places-link,#4285f4)}.places-toggle-btn:disabled{cursor:not-allowed;opacity:.6}.poi-item .places-container{margin-top:4px;padding-top:4px}.poi-item .places-info{font-size:11px;padding:4px 6px;min-height:22px}.poi-results>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.places-container.hover-expand .places-info{transition:all 0.3s ease}.places-container.hover-expand:hover .places-info{padding:8px 10px;min-height:32px}.places-container.hover-expand:hover .places-review{display:block;background:var(--places-link-bg,rgb(66 133 244 / .1));padding:6px 8px;border-radius:4px;margin-top:4px;border-left:2px solid var(--places-link,#4285f4);font-size:10px}.places-container.hover-expand:hover .review-text{font-style:italic;color:var(--places-text-secondary,#5f6368);line-height:1.3}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@media (max-width:768px){.places-info{padding:4px 6px;font-size:10px;min-height:24px}.places-confidence{display:none}.rating-count{font-size:9px}.places-link{font-size:9px;padding:1px 3px}.places-details .detail-item:not(:first-child){display:none}}@media (prefers-color-scheme:dark){.places-info{border-left-width:3px;border-left-style:solid}.stars{filter:brightness(1.2)}}@media (prefers-contrast:more){.places-info{border-width:2px}.places-link{border:1px solid}}#install-button-container{position:absolute;top:-8px;right:-8px;z-index:10}.install-btn,.floating-install{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%);color:#fff;border-radius:50px;cursor:pointer;box-shadow:0 4px 15px rgb(79 172 254 / .4);transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;position:relative;backdrop-filter:blur(10px);border:2px solid rgb(255 255 255 / .3)}.install-btn{width:48px;height:48px;border-radius:50%;font-size:20px}.install-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px rgb(79 172 254 / .6),0 0 0 8px rgb(79 172 254 / .1)}.install-btn.swing{animation:swingAnimation 4s infinite,pulseGlow 3s infinite}.floating-install{position:fixed;bottom:20px;right:20px;padding:12px 20px;font-size:14px;font-weight:500;gap:8px;z-index:1000;display:none;animation:floatingPulse 3s infinite}.floating-install.show{display:flex}.floating-install:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgb(79 172 254 / .6)}@keyframes swingAnimation{0%,75%{transform:rotate(0deg)}78%{transform:rotate(-8deg)}82%{transform:rotate(8deg)}86%{transform:rotate(-6deg)}90%{transform:rotate(4deg)}94%{transform:rotate(-2deg)}97%,100%{transform:rotate(0deg)}}@keyframes pulseGlow{0%,70%{box-shadow:0 4px 15px rgb(79 172 254 / .4),0 0 0 0 rgb(79 172 254 / .7)}85%{box-shadow:0 6px 25px rgb(79 172 254 / .6),0 0 0 10px rgb(79 172 254 / .2)}100%{box-shadow:0 4px 15px rgb(79 172 254 / .4),0 0 0 0 rgb(79 172 254 / .7)}}@keyframes floatingPulse{0%,70%{transform:scale(1);box-shadow:0 4px 20px rgb(79 172 254 / .4)}85%{transform:scale(1.05);box-shadow:0 6px 25px rgb(79 172 254 / .6)}100%{transform:scale(1);box-shadow:0 4px 20px rgb(79 172 254 / .4)}}@keyframes slideDown{from{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,20%,50%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}@keyframes badgeBounce{0%,80%,100%{transform:scale(1)}40%{transform:scale(1.1)}}.install-badge{position:absolute;top:-5px;left:-5px;background:#ff4757;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:10px;border:2px solid #fff;animation:badgeBounce 2s infinite}.smart-install-banner{position:absolute;top:100%;left:0;right:0;background:linear-gradient(135deg,rgb(79 172 254 / .95) 0%,rgb(0 242 254 / .95) 100%);backdrop-filter:blur(15px);border:1px solid rgb(255 255 255 / .2);border-radius:0 0 15px 15px;padding:15px 20px;color:#fff;display:none;align-items:center;gap:15px;margin-top:5px;animation:slideDown 0.4s ease-out;box-shadow:0 8px 25px rgb(0 0 0 / .15)}.smart-install-banner.show{display:flex}.banner-icon{font-size:24px;animation:bounce 2s infinite}.banner-content{flex:1}.banner-title{font-size:16px;font-weight:600;margin:0 0 4px;text-shadow:1px 1px 2px rgb(0 0 0 / .2)}.banner-subtitle{font-size:14px;opacity:.9;margin:0}.banner-actions{display:flex;gap:8px;align-items:center}.banner-btn,.banner-close{border-radius:20px;font-size:14px;font-weight:500;cursor:pointer;transition:all 0.2s ease;backdrop-filter:blur(10px)}.banner-btn{background:rgb(255 255 255 / .2);border:1px solid rgb(255 255 255 / .3);color:#fff;padding:8px 16px}.banner-btn:hover{background:rgb(255 255 255 / .3);transform:translateY(-1px)}.banner-btn.primary{background:#fff;color:#4facfe}.banner-btn.primary:hover{background:#f8f9fa}.banner-close{background:none;border:none;color:#fff;font-size:18px;opacity:.7;padding:4px;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}.banner-close:hover{opacity:1;background:rgb(255 255 255 / .1)}@media (max-width:768px){.install-btn{width:40px;height:40px;font-size:18px}.smart-install-banner{padding:12px 15px}.banner-title{font-size:14px}.banner-subtitle{font-size:13px}}@media (max-width:480px){.banner-actions{flex-direction:column;gap:6px;align-items:stretch}.banner-btn{text-align:center;padding:6px 12px;font-size:13px}}.tour-suggestion{background:linear-gradient(135deg,#4a5568 0%,#2d3748 100%);color:#fff;padding:1.5rem;border-radius:16px;margin:1rem 0;box-shadow:0 4px 20px rgb(0 0 0 / .2);animation:slideIn 0.4s ease-out}.tour-header h4{margin:0 0 .5rem;font-size:1.3rem;font-weight:700;color:#fff}.tour-description{margin:0 0 1rem;font-size:.9rem;opacity:.95;color:#fff}.tour-stats{display:flex;gap:1rem;margin:1rem 0;padding:.75rem;background:rgb(255 255 255 / .3);border-radius:12px;flex-wrap:wrap}.stat{display:flex;align-items:center;gap:.4rem;font-size:.95rem}.stat-icon{font-size:1.2rem}.stat-value{font-weight:600;color:#fff}.tour-route{list-style:none;padding:0;margin:1rem 0}.tour-stop{background:rgb(255 255 255 / .1);border-radius:12px;margin:.75rem 0;overflow:hidden;transition:transform 0.2s,background 0.2s}.tour-stop:hover{background:rgb(255 255 255 / .15);transform:translateX(4px)}.stop-main{display:flex;align-items:flex-start;padding:1rem;gap:.75rem}.stop-number{background:#fff;color:#2d3748;min-width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0;box-shadow:0 2px 8px rgb(0 0 0 / .15)}.stop-info{flex:1;display:flex;flex-direction:column;gap:.3rem}.stop-name{font-weight:600;font-size:1rem;line-height:1.3;color:#fff}.walk-info{font-size:.85rem;opacity:1;font-weight:500;color:#fff;display:flex;align-items:center;gap:.3rem}.break-suggestion{background:rgb(255 255 255 / .15);padding:.75rem 1rem .75rem 3.5rem;margin-top:-1px;display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;border-top:1px dashed rgb(255 255 255 / .3);position:relative}.break-icon{font-size:1.2rem;position:absolute;left:1rem;top:50%;transform:translateY(-50%)}.break-text{display:flex;flex-direction:column;gap:.2rem;line-height:1.4}.break-text strong{font-weight:600}.break-meta{font-size:.8rem;opacity:.85}.tour-actions{display:flex;gap:.75rem;margin-top:1.5rem}.tour-btn{flex:1;padding:.9rem 1rem;border:none;border-radius:10px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center;gap:.4rem}.tour-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(0 0 0 / .2)}.tour-btn:active{transform:translateY(0)}.tour-btn.primary{background:#fff;color:#2d3748}.tour-btn.primary:hover{background:#e2e8f0}.tour-btn.secondary{background:rgb(255 255 255 / .2);color:#fff;border:1px solid rgb(255 255 255 / .3)}.tour-btn.secondary:hover{background:rgb(255 255 255 / .3)}@media (max-width:600px){.tour-suggestion{padding:1.25rem;border-radius:12px}.tour-header h4{font-size:1.1rem}.tour-stats{gap:.75rem}.stat,.walk-info{font-size:.85rem}.stop-main{padding:.85rem;gap:.6rem}.stop-number{min-width:28px;height:28px;font-size:.9rem}.stop-name{font-size:.95rem}.break-suggestion{padding:.6rem .85rem .6rem 3rem;font-size:.8rem}.tour-actions{flex-direction:column;gap:.5rem}.tour-btn{padding:.8rem;font-size:.9rem}}@media (prefers-color-scheme:dark){.tour-suggestion{box-shadow:0 4px 20px rgb(102 126 234 / .5)}.stop-number{box-shadow:0 2px 8px rgb(0 0 0 / .3)}}@media print{.tour-actions{display:none}.tour-suggestion{background:#fff;color:#000;border:2px solid #2d3748}.stop-number{border:2px solid #2d3748}}.ai-container-block .ai-controls{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.ai-persona-selector{flex:1;min-width:0}.ai-persona-selector select{width:100%;max-width:250px;background:var(--ai-select-bg);color:var(--ai-select-color);border:1px solid var(--ai-select-border);border-radius:6px;padding:8px 12px}.control-group{display:flex;gap:8px;flex-shrink:0}.wikipedia-enhanced-content,.wikipedia-fallback-content,.standard-ai-content,.multi-poi-ai-content,.ai-error-container,.fallback-content,.error-content,.basic-content{border-radius:8px;padding:15px;margin:15px 0;border-left:4px solid}.ai-header,.wikipedia-header,.ai-error-header,.error-header,.fallback-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:600;color:var(--text-primary)}.ai-description,.wikipedia-extract,.ai-error-message,.error-message,.fallback-message{line-height:1.6;margin-bottom:12px;font-size:14px;color:var(--text-secondary)}.wikipedia-enhanced-content{background:linear-gradient(135deg,var(--bg-block-alt) 0%,var(--bg-block) 100%);border:1px solid var(--border-color);box-shadow:var(--ai-container-shadow);padding:0;overflow:hidden}.ai-content.enhanced{padding:20px;background:linear-gradient(135deg,#e8f5e8 0%,#f0f8f0 100%);border-left-color:#28a745}.ai-meta{margin-left:auto;font-size:12px;color:var(--text-secondary);font-weight:400;padding:2px 8px;background:var(--bg-block-alt);border:1px solid var(--border-color-light);border-radius:12px}.wikipedia-reference-section{padding-top:15px;border-top:1px dashed var(--wiki-ref-border);display:flex;align-items:center;gap:8px}.wikipedia-reference{color:var(--wiki-link-color);text-decoration:none;font-size:14px;font-weight:500;padding:4px 8px;border-radius:6px;background:var(--wiki-link-bg);transition:all 0.2s ease}.wikipedia-reference:hover{background:var(--wiki-link-hover-bg);transform:translateY(-1px)}.wikipedia-fallback-content{border-color:#007bff}.wikipedia-section{background:var(--bg-block-alt);border-left-color:#007bff}.standard-ai-content,.ai-description-content{background:var(--bg-block);border-left-color:#28a745;color:var(--text-primary)}.multi-poi-ai-content{background:var(--bg-block);border-left-color:#3498db;color:var(--text-primary)}.multi-poi-basic-content{background:var(--bg-block-alt);border:1px solid var(--border-color);color:var(--text-primary)}.ai-error-container,.fallback-content,.error-content,.multi-poi-error-content{background:var(--error-bg,#f8d7da);border-left-color:var(--error-border,#dc3545)}.ai-error-header,.error-header,.fallback-header{color:var(--error-color,#721c24)}.ai-error-message,.error-message,.fallback-message{color:var(--error-color,#721c24)}.ai-error-note{background:var(--warning-bg,#fff3cd);padding:12px 15px;border-left:4px solid var(--warning-border,#ffc107);display:flex;align-items:center;gap:8px;color:var(--warning-color,#856404);font-size:13px}.ai-loading{text-align:center;padding:30px 15px;color:var(--text-secondary);background:linear-gradient(45deg,var(--bg-block-alt),var(--bg-block-hover));position:relative;overflow:hidden}.ai-loading::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .6),transparent);animation:loading-shimmer 2s infinite}@keyframes loading-shimmer{0%{left:-100%}100%{left:100%}}.ai-placeholder{text-align:center;padding:40px 20px;background:linear-gradient(135deg,var(--bg-block-alt) 0%,var(--bg-block-hover) 100%);border:2px dashed var(--border-color);color:var(--text-secondary)}.wikipedia-info-block{background:#fff;border-radius:12px;box-shadow:0 4px 12px rgb(0 0 0 / .15);overflow:hidden;border:1px solid #dee2e6}.wikipedia-info-block .wikipedia-header{background:linear-gradient(135deg,#4a90e2 0%,#357abd 100%);color:#fff;padding:15px 20px;justify-content:space-between}.wikipedia-controls,.wikipedia-actions{display:flex;gap:8px}.wiki-mode-btn,.wiki-close-btn,.wiki-action-btn{border:none;border-radius:6px;cursor:pointer;transition:all 0.2s ease;display:flex;align-items:center;justify-content:center}.wiki-mode-btn,.wiki-close-btn{background:rgb(255 255 255 / .2);color:#fff;width:28px;height:28px;border-radius:50%;font-size:12px}.wiki-action-btn{background:#007bff;color:#fff;padding:6px 12px;font-size:12px}.wiki-action-btn.primary{background:#28a745}.reference-label,.wikipedia-source,.basic-message{font-size:12px;color:var(--text-secondary);font-weight:500}.language-indicator{display:inline-block;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.language-indicator.de{background:#d4edda;color:#155724}.language-indicator.en{background:#d1ecf1;color:#0c5460}.priority-badge{font-size:11px;padding:2px 6px;border-radius:8px;font-weight:500;display:inline-block}@media (max-width:768px){.wikipedia-enhanced-content,.wikipedia-fallback-content,.multi-poi-ai-content{margin:10px 0}.ai-content.enhanced{padding:15px}.ai-header,.wikipedia-info-block .wikipedia-header,.wikipedia-footer{flex-direction:column;align-items:flex-start;gap:10px}.wikipedia-reference-section{flex-direction:column;align-items:flex-start;gap:5px}.ai-meta{margin-left:0;align-self:flex-end}}@media (max-width:480px){.wiki-mode-btn,.wiki-close-btn{width:24px;height:24px;font-size:10px}.ai-placeholder{padding:30px 15px}}@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .wikipedia-enhanced-content{background:linear-gradient(135deg,var(--bg-block) 0%,var(--bg-block-alt) 100%);border-color:var(--border-color)}html:not([data-theme="light"]) .ai-content.enhanced{background:linear-gradient(135deg,#1e3a1e 0%,#2d5a2d 100%)}}html[data-theme="dark"] .wikipedia-enhanced-content{background:linear-gradient(135deg,var(--bg-block) 0%,var(--bg-block-alt) 100%);border-color:var(--border-color)}html[data-theme="dark"] .ai-content.enhanced{background:linear-gradient(135deg,#1e3a1e 0%,#2d5a2d 100%)}@media print{.wikipedia-enhanced-content,.wikipedia-fallback-content,.standard-ai-content{background:white!important;color:black!important;box-shadow:none!important;border:1px solid #cccccc!important}.wikipedia-controls,.wikipedia-actions,.ai-loading{display:none!important}}.ai-description-header h4{margin:0;color:var(--text-primary);font-size:16px}.ai-refresh-btn:hover{background:#1976d2}.wiki-link-container:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgb(33 150 243 / .2)}.wiki-link-container:hover .wiki-link-arrow{transform:translateX(3px)}.control-group button,.refresh-button,.wikipedia-toggle{background:var(--bg-block-alt);border:1px solid var(--border-color);color:var(--text-primary);border-radius:6px;padding:8px 12px;cursor:pointer;transition:all 0.2s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.control-group button:hover,.refresh-button:hover,.wikipedia-toggle:hover{background:var(--bg-block-hover);border-color:var(--border-color-focus);transform:scale(1.05)}.control-group button:focus-visible,.refresh-button:focus-visible,.wikipedia-toggle:focus-visible{outline:3px solid var(--focus-color);outline-offset:3px;box-shadow:var(--focus-shadow)}