@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Outfit:wght@300;400;600;800&display=swap";
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.06d3mdzz5bre_.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.11.cyxs5p-0z~.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.16t1db8_9y2o~.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.0q3udbd2bu5yp.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.0gw~uztddq1df.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.0.q-h669a_dqa.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{--bg-primary:#050505;--bg-secondary:#0a0a0a;--accent-primary:#fff;--accent-secondary:#707070;--text-primary:#fff;--text-secondary:#a1a1a1;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-blur:blur(12px);--sidebar-width:400px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.02em;font-family:Outfit,sans-serif}.app-container{width:100vw;height:100vh;display:flex}.map-viewport{z-index:1;background-color:#111;flex:1;position:relative}.map-container{width:100%;height:100%}.sidebar{width:var(--sidebar-width);z-index:10;resize:horizontal;direction:rtl;background-color:#080808;border-left:1px solid #ffffff0d;flex-direction:column;gap:1rem;min-width:300px;max-width:600px;height:100vh;padding:1.2rem;display:flex;overflow:hidden auto;box-shadow:-10px 0 30px #000c}.sidebar>*{direction:ltr}.curated-themes-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;margin-top:.5rem;padding-right:4px;display:grid;overflow-y:auto}.theme-thumbnail{cursor:pointer;border:1px solid #ffffff1a;border-radius:6px;height:80px;transition:all .3s;position:relative;overflow:hidden}.theme-thumbnail:hover{border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 4px 12px #0006}.theme-thumbnail.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 4px 12px #00000080}.theme-mini-texture{position:absolute;inset:0;overflow:hidden}.theme-name-overlay{color:#fff;z-index:2;background:linear-gradient(#0000,#000c);padding:.5rem;font-size:.75rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.theme-check-badge{background:var(--accent);color:#000;z-index:2;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:.4rem;right:.4rem}.sidebar-footer{border-top:1px solid #ffffff0d;margin-top:auto;padding-top:1rem}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:16px;padding:1.5rem}.btn-primary{color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background-color:#fff;border:none;border-radius:8px;padding:1rem 2rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:700;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 #fff0}.btn-primary:hover{background-color:#f0f0f0;transform:translateY(-2px);box-shadow:0 0 20px #fff3}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{background-color:var(--accent-secondary);cursor:not-allowed;opacity:.5}.input-group{flex-direction:column;gap:.8rem;display:flex}.input-label{text-transform:uppercase;color:var(--text-secondary);letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.1rem;font-size:.7rem;font-weight:700;display:flex}.text-input{border:1px solid var(--glass-border);color:#fff;box-sizing:border-box;background:#ffffff0d;border-radius:8px;width:100%;min-width:0;padding:.8rem;font-family:inherit;transition:border-color .3s}.text-input:focus{border-color:#ffffff4d;outline:none}.theme-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.theme-card{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:12px;transition:all .3s;position:relative;overflow:hidden}.theme-card.active{border-color:#fff}.theme-preview{background-position:50%;background-size:cover;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.map-placeholder{background-color:#050505;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.placeholder-texture{pointer-events:none;position:absolute;inset:0}.texture-line{transition:all .5s;position:absolute}.theme-scroll-container{scrollbar-width:none;gap:1rem;padding:.5rem 0;display:flex;overflow-x:auto}.theme-scroll-container::-webkit-scrollbar{display:none}.theme-card-premium{cursor:pointer;flex:0 0 120px;transition:transform .3s cubic-bezier(.4,0,.2,1)}.theme-card-premium:hover{transform:translateY(-5px)}.theme-poster-preview{border:1px solid #ffffff1a;border-radius:6px;width:120px;height:160px;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 4px 15px #0000004d}.theme-card-premium.active .theme-poster-preview{border:2px solid #fff;box-shadow:0 0 20px #fff3}.theme-poster-label{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);text-align:center;background:#0000001a;padding:8px;position:absolute;bottom:0;left:0;right:0}.theme-info{text-align:center;margin-top:.5rem}.theme-name{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.65rem;font-weight:600}.theme-card-premium.active .theme-name{color:#fff}.loader{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:24px;height:24px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.leaflet-container{background:#111!important}.selection-overlay{pointer-events:none;z-index:1000;border:2px solid #fff;justify-content:center;align-items:center;width:300px;height:400px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #00000080}.selection-overlay:after{content:"AREA TO RENDER";color:#000;background:#fff;padding:2px 8px;font-family:Outfit,sans-serif;font-size:.7rem;position:absolute;top:-20px}.map-placeholder{background:radial-gradient(circle,#1a1a1a 0%,#050505 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.map-placeholder:before{content:"";background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.btn-secondary{color:var(--text-primary);border:1px solid var(--glass-border);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:#ffffff0d;border-radius:8px;padding:.8rem;font-family:Outfit,sans-serif;font-size:.8rem;font-weight:600;transition:all .3s}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff4d}.btn-secondary.active{color:#000;background:#fff}
