:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400}html,body{margin:0;padding:0;height:100%;width:100%}body{min-width:320px}#root{min-height:100vh;height:100%;display:flex;flex-direction:column}} button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}.app{min-height:100vh;background:#fff;display:flex;flex-direction:column}.header{background:#fffffffa;padding:1.2rem 3rem;display:flex;align-items:center;gap:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100;box-shadow:0 1px 2px #00000008;justify-content:center}.logo{font-size:1.1rem;font-weight:600;color:#1a1a1a}.nav{display:flex;gap:.5rem;background:#f3f4f6;padding:.4rem;border-radius:50px}.nav a{color:#6b7280;text-decoration:none;font-size:.9rem;padding:.6rem 1.2rem;border-radius:50px;transition:all .3s ease;position:relative}.nav a.active{background:#fff;color:#1a1a1a;box-shadow:0 2px 4px #00000014}.nav a:hover:not(.active){color:#1a1a1a}.cta-button{background:#1a1a1a;color:#fff;border:none;padding:.6rem 1.3rem;border-radius:20px;font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.cta-button:hover{background:#2d2d2d}.main{flex:1;display:flex;width:100%;height:100%}.footer{background:#fffffffa;padding:1.2rem 3rem;display:flex;align-items:center;gap:3rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 -1px 2px #00000008;justify-content:center}.footer-logo{font-size:1.1rem;font-weight:600;color:#1a1a1a}.footer-nav{display:flex;gap:.5rem;background:#f3f4f6;padding:.4rem;border-radius:50px}.footer-nav a{color:#6b7280;text-decoration:none;font-size:.9rem;padding:.6rem 1.2rem;border-radius:50px;transition:all .3s ease}.footer-nav a.active{background:#fff;color:#1a1a1a;box-shadow:0 2px 4px #00000014}.footer-nav a:hover:not(.active){color:#1a1a1a}.copyright{color:#6b7280;font-size:.85rem}@media(max-width:768px){.header,.footer{padding:1rem 2rem;flex-direction:column;gap:1rem}.nav,.footer-nav{flex-wrap:wrap;justify-content:center}}background: white; padding: 1.5rem; .footer{background:#fff;padding:1.5rem;text-align:center;border-top:1px solid #e0e0e0;color:#666;font-size:.9rem}.map-container{width:100%;height:100%;position:relative}.map{width:100%;height:100%;background:#f5f5f5}.bundesland-polygon,.kreis-polygon{transition:all .3s cubic-bezier(.4,0,.2,1)}.map-tooltip{background:#000000d9!important;color:#fff!important;border:none!important;border-radius:12px!important;padding:.6rem 1rem!important;font-size:.95rem!important;font-weight:500!important;box-shadow:0 4px 12px #0003!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.map-tooltip strong{font-weight:600}.leaflet-tooltip.map-tooltip:before{display:none}.map-legend{position:absolute;top:20px;right:20px;background:#fff;padding:1rem 1.5rem;border-radius:16px;box-shadow:0 4px 12px #0000001a;z-index:1000;transition:all .3s ease}.map-legend:hover{box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.map-legend h4{margin:0 0 .5rem;font-size:1rem;color:#1a1a1a;font-weight:600}.map-legend p{margin:0;color:#666;font-size:.85rem}.zurueck-button{position:absolute;top:20px;left:20px;background:#fff;border:none;padding:.8rem 1.5rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;cursor:pointer;font-size:.95rem;font-weight:500;color:#1a1a1a;z-index:1000;transition:all .2s ease}.zurueck-button:hover{background:#f5f5f5;box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.leaflet-control-zoom{border:none!important;border-radius:12px!important;overflow:hidden;box-shadow:0 2px 8px #0000001a!important}.leaflet-control-zoom a{border-radius:0!important;border:none!important;color:#1a1a1a!important;font-size:20px!important;transition:all .2s ease!important}.leaflet-control-zoom a:hover{background:#f0f0f0!important}.leaflet-container{transition:transform .3s cubic-bezier(.4,0,.2,1)}
