*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;overflow-x:hidden;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:linear-gradient(135deg,#008571,#1e5050);min-height:100vh;padding:20px;position:relative}@media (max-width:768px){body{padding:10px}main{padding:12px!important;border-radius:16px!important}div[style*=marginBottom],section{margin-bottom:20px!important}}@media (max-width:480px){body{padding:5px}main{padding:8px!important;border-radius:12px!important}h1{font-size:1.5rem!important}h2{font-size:1.25rem!important}[style*=gridTemplateColumns]{grid-template-columns:1fr!important}}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(0,133,113,.3) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(30,80,80,.3) 0,transparent 50%);pointer-events:none;z-index:0}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#008571,#1e5050);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#006d5d,#153838)}@media (prefers-color-scheme:dark){html{color-scheme:dark}}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.leaflet-popup-content{margin:12px;line-height:1.5}.custom-popup .leaflet-popup-content-wrapper{background:hsla(0,0%,100%,.95);border:2px solid #008571;box-shadow:0 8px 32px rgba(0,133,113,.3)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes borderRotate{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.not-found-link:hover{background:#1e5050!important}