@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;600&display=swap";
@import "https://unpkg.com/leaflet@1.9.4/dist/leaflet.css";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--background:#0d0d0d;--foreground:#f2f2f2;--primary:#e67e22;--primary-glow:#e67e224d;--secondary:#2c3e50;--accent:#d35400;--glass:#ffffff14;--glass-heavy:#0d0d0dd9;--glass-border:#ffffff1f;--font-main:"Outfit",sans-serif;--error:#e74c3c;--map-filter:invert(100%)hue-rotate(180deg)brightness(95%)contrast(90%);--input-bg:#ffffff0d}.light-theme{--background:#f8f9fa;--foreground:#2c3e50;--glass:#ffffff80;--glass-heavy:#ffffffe6;--glass-border:#00000014;--map-filter:none;--input-bg:#0000000d}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--background);width:100%;height:100%;color:var(--foreground);font-family:var(--font-main);-webkit-font-smoothing:antialiased;overflow:hidden}h1,h2,h3,h4,h5,h6,p,span,div{color:var(--foreground)}.map-container{z-index:0;width:100%;height:100dvh;position:absolute;top:0;left:0}.leaflet-container{width:100%;height:100%;background:#1a1a1a!important}.dark-map-tiles{filter:var(--map-filter)}.ui-layer{pointer-events:none;z-index:1000;width:100%;height:100dvh;padding:2rem;display:flex;position:absolute;top:0;left:0}.tap-shield{z-index:1200;pointer-events:auto;touch-action:none;background:0 0;position:absolute;inset:0}.sidebar{z-index:1100;background:var(--glass-heavy);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);pointer-events:auto;border-radius:24px;flex-direction:column;width:400px;max-height:calc(100vh - 4rem);animation:.6s cubic-bezier(.16,1,.3,1) slideIn;display:flex;position:relative;box-shadow:0 20px 40px #0006}.sidebar-header{border-bottom:1px solid var(--glass-border);padding:2rem}.sidebar-content{flex:1;padding:2rem;overflow:hidden auto}.sidebar-footer{border-top:1px solid var(--glass-border);padding:1.5rem 2rem}.form-group{margin-bottom:1.5rem;overflow:hidden}.form-group label{color:var(--foreground);opacity:.8;margin-bottom:.5rem;font-size:.9rem;display:block}.input{background:var(--input-bg);border:1px solid var(--glass-border);width:100%;max-width:100%;color:var(--foreground);border-radius:12px;padding:.8rem 1rem;font-family:inherit;font-size:1rem;transition:all .2s}.input:focus{border-color:var(--primary);background:var(--glass);outline:none}input[type=date].input{appearance:none;width:100%;min-width:0;max-width:100%}.textarea{resize:vertical;min-height:100px}.btn{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-family:inherit;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--accent);transform:translateY(-2px)}.btn-ghost{color:var(--primary);border:1px solid var(--primary);background:0 0}.btn-ghost:hover{background:var(--primary-glow)}.sauna-list{flex-direction:column;gap:1rem;display:flex}.sauna-card{background:var(--glass);border:1px solid var(--glass-border);cursor:pointer;border-radius:16px;padding:1rem;transition:all .2s;position:relative}.sauna-card:hover{background:var(--glass-heavy);border-color:var(--primary)}.sauna-card h3{margin-bottom:.3rem;padding-right:2rem;font-size:1.1rem}.sauna-card p{color:var(--foreground);opacity:.7;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.sauna-img-preview{object-fit:cover;border-radius:8px;width:100%;height:120px;margin-top:.8rem}.sauna-marker{background:var(--primary);border:3px solid #fff;border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:30px;height:30px;display:flex;transform:rotate(-45deg);box-shadow:0 5px 15px #0000004d}.sauna-marker:after{content:"";background:#fff;border-radius:50%;width:10px;height:10px}.sauna-hut-marker{background:var(--primary);border:4px solid #fff;border-radius:8px 8px 4px 4px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:10px;display:flex;position:relative;box-shadow:0 5px 15px #0000004d}.sauna-hut-marker-pointer{border-top:10px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.sauna-hut-marker:before{content:"";border-left:16px solid #0000;border-right:16px solid #0000;border-bottom:12px solid var(--primary);filter:drop-shadow(0 -2px #fff);width:0;height:0;position:absolute;top:-12px;left:-4px}.sauna-hut-marker:after{content:"";background:#fff;border-radius:2px 2px 0 0;width:8px;height:12px;position:absolute;bottom:0}.steam-marker{background:var(--primary);border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:relative;box-shadow:0 5px 15px #0000004d}.steam-marker:before{content:"♨";color:#fff;font-size:20px;font-weight:700;line-height:1}.steam-marker:after{content:"";border-top:10px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.pin-selector{gap:1rem;margin-top:.5rem;display:flex}.pin-option{background:var(--input-bg);border:1px solid var(--glass-border);cursor:pointer;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.8rem;transition:all .2s;display:flex}.pin-option:hover{background:var(--glass);border-color:var(--primary)}.pin-option.selected{background:var(--primary-glow);border-color:var(--primary);box-shadow:0 0 10px var(--primary-glow)}.pin-preview{justify-content:center;align-items:center;width:30px;height:30px;display:flex;transform:scale(.8)}.sauna-stove-marker{background:var(--primary);border:3px solid #fff;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:10px;display:flex;position:relative;box-shadow:0 5px 15px #0000004d}.sauna-stove-marker .stove-svg{width:22px;height:22px}.sauna-stove-pointer{border-top:10px solid #fff;border-left:8px solid #0000;border-right:8px solid #0000;width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.leaflet-popup-content-wrapper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);background:var(--glass-heavy)!important;color:var(--foreground)!important;border-radius:16px!important}.leaflet-popup-tip{background:var(--glass-heavy)!important}.leaflet-control-zoom{border:none!important;margin:2rem!important}.leaflet-control-zoom-in,.leaflet-control-zoom-out{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--glass-heavy)!important;color:var(--foreground)!important;border:1px solid var(--glass-border)!important}@keyframes slideIn{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.mb-2{margin-bottom:.5rem}.text-primary{color:var(--primary)}@media (max-width:768px){.ui-layer{pointer-events:none;flex-direction:column;justify-content:flex-end;padding:1rem}.sidebar{width:100%;max-height:80dvh;padding-bottom:env(safe-area-inset-bottom,20px);border-radius:24px 24px 0 0;margin-bottom:0;transition:transform .4s cubic-bezier(.16,1,.3,1)}.sidebar.collapsed{transform:translateY(calc(100% - 85px - env(safe-area-inset-bottom,20px)))}.sidebar-header,.sidebar-content,.sidebar-footer{padding:1rem 1.5rem}.leaflet-control-zoom{margin:1rem!important}.mobile-toggle{background:var(--primary);color:#fff;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:4px solid var(--background);cursor:pointer;z-index:1002;pointer-events:auto;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;top:-30px;right:2rem;box-shadow:0 4px 20px #0009;display:flex!important}.sidebar.collapsed .mobile-toggle{transform:rotate(180deg)}}.mobile-toggle{display:none}.pin-hint{z-index:1100;background:var(--glass-heavy);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);pointer-events:auto;border-radius:20px;align-items:center;gap:.8rem;width:calc(100% - 2rem);max-width:420px;padding:.9rem 1.2rem;animation:.4s cubic-bezier(.16,1,.3,1) fadeInUp;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.pin-hint-icon{flex-shrink:0;font-size:1.6rem}.pin-hint-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.pin-hint-text strong{color:var(--primary);font-size:.95rem}.pin-hint-text span{opacity:.6;color:var(--foreground);font-size:.78rem}.pin-hint-cancel{background:var(--glass);border:1px solid var(--glass-border);color:var(--foreground);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.9rem;transition:background .2s;display:flex}.pin-hint-cancel:hover{background:var(--glass-border)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}
