:root{--accent-pink:#ff005a;--accent-pink-rgb:255,0,90;--accent-orange:#ff9900;--accent-orange-rgb:255,153,0;--primary-color:#4A00E0;--secondary-color:#8E2DE2;--secondary-color-rgb:142,45,226;--font-primary:"Poppins",sans-serif;--font-secondary:"Rubik",sans-serif;--text-color-primary:#1a1a1a;--text-color-secondary:#5f6368;--text-color-tertiary:#80868b;--white-color:#ffffff;--modern-bg:#ffffff;--modern-bg-secondary:#f7f8fa;--silver-light:#e8eaed;--silver-medium:#dadce0;--silver-dark:#bdc1c6;--border-color:#e0e3e7;--card-bg-primary:rgba(255,255,255,0.95);--card-border:rgba(224,227,231,0.6);--hologram-color-1:rgba(255,0,90,0.08);--hologram-color-2:rgba(142,45,226,0.08);--hologram-color-3:rgba(74,0,224,0.08);--shadow-sm:0 1px 3px rgba(0,0,0,0.08),0 1px 2px rgba(0,0,0,0.06);--shadow-md:0 4px 6px rgba(0,0,0,0.07),0 2px 4px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px rgba(0,0,0,0.1),0 4px 6px rgba(0,0,0,0.05);--shadow-glow-accent-pink:0 0 20px rgba(var(--accent-pink-rgb),0.15),0 0 40px rgba(var(--accent-pink-rgb),0.08);--shadow-glow-accent-orange:0 0 20px rgba(var(--accent-orange-rgb),0.15),0 0 40px rgba(var(--accent-orange-rgb),0.08);--border-radius-small:4px;--border-radius-medium:8px;--border-radius-large:12px;--border-radius-pill:50px;--space-sm:0.5rem;--dark-bg:#0a081f;--dark-bg-rgb:10,8,31;--heading-color:var(--primary-color);--light-gray:#f8f9fa;--border-color:#e0e0e0;--background-medium:rgba(20,15,45,0.7);--background-light:rgba(30,25,65,0.3);--primary-color-map:var(--primary-color);--text-color-map-light:#f0f0f0;--popup-bg:rgba(40,30,60,0.95);--popup-border:var(--accent-pink);--icon-default-color:#f0f0f0;--border-radius-xl:16px;--text-color-light-on-dark:rgba(255,255,255,0.9);--text-color-medium-on-dark:rgba(255,255,255,0.75);--text-color-dark-on-dark:var(--white-color);--section-bg-dark-theme:rgba(255,255,255,0.04);--section-bg-hover-dark-theme:rgba(255,255,255,0.07);--border-color-subtle-dark-theme:rgba(255,255,255,0.12);--space-xs:0.25rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-xxl:3rem;--transition-fast:all 0.2s ease-out;--transition-std:all 0.3s ease-out}*{margin:0;padding:0;box-sizing:border-box}*,:after,:before{max-width:100%}html{overflow-x:hidden;width:100%;scroll-behavior:smooth}body{padding:0;margin:0;font-family:var(--font-primary),-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,#f8f9fa,#ffffff,#f1f3f4);color:var(--text-color-primary);line-height:1.6;position:relative}#locale-page-wrapper,body{overflow-x:hidden;width:100%;max-width:100vw}#locale-page-wrapper{min-height:100vh;display:flex;flex-direction:column}#main-page-content{flex:1 1;width:100%;max-width:100vw;overflow-x:hidden}.container{max-width:1600px;margin:0 auto;padding:0 var(--space-md) var(--space-xl) var(--space-md)}.leaflet-popup-content-wrapper{background:var(--popup-bg);color:var(--text-color-map-light);border-radius:var(--border-radius-large)!important;box-shadow:var(--shadow-lg);border:1px solid var(--popup-border)}.leaflet-popup-content{margin:var(--space-md) var(--space-lg)!important;line-height:1.6;font-size:14px;width:auto!important;min-width:220px;font-family:var(--font-primary)}.leaflet-popup-tip-container{width:40px!important;height:20px!important}.leaflet-popup-tip{background:var(--popup-bg)!important;box-shadow:none!important}a{color:var(--accent-orange);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--accent-pink);text-decoration:underline}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.gradient-title-effect{font-family:var(--font-secondary,"Rubik",sans-serif);font-weight:700;background:linear-gradient(90deg,#6A0DAD,#8E2DE2,#ff9900);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;display:inline-block;padding-bottom:12px;margin-bottom:var(--space-md,1rem)}.gradient-title-effect:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;height:3px;background:linear-gradient(90deg,#6A0DAD,#8E2DE2,#ff9900);border-radius:2px}.category-filters{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-md);margin:var(--space-xl) 0}.category-btn{background:rgba(255,255,255,.08);border:1px solid var(--border-color-subtle-dark-theme);color:var(--text-color-medium-on-dark);padding:var(--space-sm) var(--space-lg);border-radius:var(--border-radius-pill);font-size:1rem;cursor:pointer;transition:var(--transition-std);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.category-btn.active,.category-btn:hover{background:linear-gradient(to right,var(--accent-pink),var(--primary-color));color:var(--white-color);box-shadow:var(--shadow-glow-accent-pink)}.btn{padding:var(--space-sm) var(--space-xl);border-radius:var(--border-radius-pill);font-weight:600;font-size:1.05rem;cursor:pointer;transition:var(--transition-std);border:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);text-decoration:none}.btn-primary{background:linear-gradient(to right,var(--accent-pink),var(--primary-color));color:var(--white-color);box-shadow:0 5px 15px rgba(var(--accent-pink-rgb),.25)}.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow-accent-pink)}.btn-secondary{background:rgba(255,255,255,.1);color:var(--white-color);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border:1px solid var(--border-color-subtle-dark-theme)}.btn-secondary:hover{background:rgba(255,255,255,.15);border-color:var(--accent-orange);color:var(--accent-orange);transform:translateY(-2px)}.particle-dots{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle,rgba(255,255,255,.03) 1px,transparent 2px);background-size:200px 200px;z-index:-1;pointer-events:none}.loading{text-align:center;padding:var(--space-xl);color:var(--text-color-medium-on-dark);display:none;margin:var(--space-xl) 0}.loading-spinner{border:4px solid rgba(255,255,255,.1);border-top:4px solid var(--accent-pink);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:0 auto var(--space-md)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}