@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Instrument+Sans:wght@400;500;600;700&family=Spline+Sans+Mono:wght@400;500&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#1a2733;--ink-mid:#4a6278;--ink-light:#8aa5bb;--panel:#fff;--bg:#f0f4f8;--bg-warm:#f7f5f4;--line:#1e3c5a1f;--line-strong:#a6c7df73;--blue:#3eaff7;--blue-dark:#128ddb;--green:#59d388;--orange:#db845e;--accent:#4da1c9}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:Instrument Sans,sans-serif;overflow-x:hidden}.landing-page nav{z-index:100;background:var(--bg-warm);border-bottom:1px solid var(--line-strong);justify-content:space-between;align-items:center;gap:20px;height:62px;padding:0 32px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0000000f}.landing-page .nav-brand{align-items:center;gap:10px;text-decoration:none;display:flex}.landing-page .nav-logo{background:var(--ink);flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.landing-page .nav-logo img{width:32px;height:32px}.landing-page .nav-brand-text{flex-direction:column;line-height:1.2;display:flex}.landing-page .nav-title{letter-spacing:.04em;color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:1.4rem;line-height:1}.landing-page .nav-tagline{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);font-family:Spline Sans Mono,monospace;font-size:.58rem}.landing-page .nav-links{flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.landing-page .nav-links a{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mid);border-radius:8px;padding:6px 14px;font-family:Spline Sans Mono,monospace;font-size:.7rem;text-decoration:none;transition:all .18s}.landing-page .nav-links a:hover{color:var(--ink);background:#14508c12}.landing-page .nav-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.landing-page .btn-ghost{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-mid);border:1px solid var(--line-strong);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-family:Spline Sans Mono,monospace;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.landing-page .btn-ghost:hover{background:var(--bg);border-color:var(--ink-light);color:var(--ink);transform:translateY(-1px)}.landing-page .btn-primary{text-transform:uppercase;letter-spacing:.07em;color:#e8f4fc;background:var(--ink);cursor:pointer;border:1px solid #96c8eb40;border-radius:8px;align-items:center;gap:7px;padding:9px 18px;font-family:Spline Sans Mono,monospace;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.landing-page .btn-primary:hover{background:#243646;transform:translateY(-1px);box-shadow:0 4px 14px #1a273340}.landing-page .hero{align-items:center;min-height:calc(100vh - 62px);padding:80px 32px 60px;display:flex;position:relative;overflow:hidden}.landing-page .hero-bg{z-index:0;background:linear-gradient(#ffffff0f,#0000 28%),radial-gradient(circle at 78% 20%,#4da1c938,#0000 40%),radial-gradient(circle at 15% 80%,#59d3881a,#0000 35%),linear-gradient(145deg,#f7f5f4,#dce8f2);position:absolute;inset:0}.landing-page .hero-grid{pointer-events:none;z-index:0;background-image:linear-gradient(#14508c12 1px,#0000 1px),linear-gradient(90deg,#14508c12 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.landing-page .hero-inner{z-index:1;grid-template-columns:1fr 1fr;align-items:center;gap:64px;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.landing-page .hero-left{flex-direction:column;gap:28px;display:flex}.landing-page .hero-badge{text-transform:uppercase;letter-spacing:.07em;color:var(--blue-dark);background:#3eaff71a;border:1px solid #3eaff74d;border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px 14px 6px 8px;font-family:Spline Sans Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.landing-page .hero-badge-dot{background:var(--blue);border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.landing-page .hero-title{letter-spacing:.02em;color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:clamp(3.2rem,6vw,5.2rem);line-height:.95}.landing-page .hero-title .line-accent{color:var(--accent);display:block}.landing-page .hero-sub{color:var(--ink-mid);max-width:420px;font-size:1.05rem;line-height:1.65}.landing-page .hero-ctas{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.landing-page .btn-hero{text-transform:uppercase;letter-spacing:.07em;color:#e8f4fc;background:var(--ink);cursor:pointer;border:1px solid #96c8eb33;border-radius:10px;align-items:center;gap:8px;padding:14px 28px;font-family:Spline Sans Mono,monospace;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #1a273333}.landing-page .btn-hero:hover{background:#243646;transform:translateY(-2px);box-shadow:0 8px 24px #1a273347}.landing-page .btn-hero-arrow{transition:transform .2s}.landing-page .btn-hero:hover .btn-hero-arrow{transform:translate(3px)}.landing-page .hero-social-proof{align-items:center;gap:16px;display:flex}.landing-page .hero-stat-chip{color:var(--ink-mid);align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:.68rem;display:flex}.landing-page .hero-stat-chip .dot{background:var(--line-strong);border-radius:50%;width:4px;height:4px}.landing-page .hero-right{justify-content:center;align-items:center;display:flex;position:relative}.landing-page .mockup-wrap{width:340px;position:relative}.landing-page .mockup-shadow{filter:blur(12px);background:radial-gradient(#1a273340,#0000 70%);width:70%;height:40px;position:absolute;bottom:-30px;left:50%;transform:translate(-50%)}.landing-page .mockup-poster{aspect-ratio:2/3;z-index:2;background:linear-gradient(145deg,#f7f5f4,#dce8f2);border:1px solid #14508c33;border-radius:6px;width:240px;margin:0 auto;display:block;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014,0 16px 48px #1a27332e,inset 0 1px #fffc}.landing-page .mockup-poster-inner{background-image:url(/assets/hanover_blueprint.png);background-position:50%;background-size:cover;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;padding-bottom:14%;display:flex;position:relative;overflow:hidden}.landing-page .mockup-roads{position:absolute;inset:0;overflow:hidden}.landing-page .mockup-roads:before{content:"";background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px),radial-gradient(circle at 40% 45%,#ffffff14 0,#0000 50%);background-size:28px 28px,28px 28px,100% 100%;position:absolute;inset:0}.landing-page .mockup-roads:after{content:"";background:#ffffff40;width:130%;height:3px;position:absolute;top:15%;left:-10%;transform:rotate(-22deg);box-shadow:0 18px #ffffff26,0 -32px #ffffff1a}.landing-page .mockup-city-label{letter-spacing:.04em;color:#fff;text-shadow:0 2px 12px #00000040;text-align:center;z-index:2;font-family:Bebas Neue,sans-serif;font-size:2.2rem;line-height:1;position:relative}.landing-page .mockup-divider{z-index:2;background:#fff9;width:60%;height:1.5px;margin:6px auto;position:relative}.landing-page .mockup-country-label{text-transform:uppercase;letter-spacing:.15em;color:#fffc;text-align:center;z-index:2;font-family:Spline Sans Mono,monospace;font-size:.55rem;position:relative}.landing-page .mockup-coords{letter-spacing:.06em;color:#ffffff8c;z-index:2;margin-top:4px;font-family:Spline Sans Mono,monospace;font-size:.42rem;position:relative}.landing-page .mockup-chip{background:var(--panel);border:1px solid var(--line-strong);color:var(--ink-mid);white-space:nowrap;border-radius:10px;padding:8px 12px;font-family:Spline Sans Mono,monospace;font-size:.65rem;animation:4s ease-in-out infinite float;position:absolute;box-shadow:0 4px 16px #0000001a}.landing-page .mockup-chip--theme{animation-delay:0s;top:8%;right:-20px}.landing-page .mockup-chip--export{animation-delay:1.4s;bottom:25%;left:-30px}.landing-page .mockup-chip--layouts{animation-delay:2.6s;top:42%;right:-28px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.landing-page .chip-dot{border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.landing-page .chip-dot--blue{background:var(--blue)}.landing-page .chip-dot--green{background:var(--green)}.landing-page .chip-dot--orange{background:var(--orange)}.landing-page section{padding:100px 32px}.landing-page .section-inner{max-width:1100px;margin:0 auto}.landing-page .section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);align-items:center;gap:8px;margin-bottom:14px;font-family:Spline Sans Mono,monospace;font-size:.68rem;font-weight:600;display:flex}.landing-page .section-label:before{content:"";background:var(--accent);width:20px;height:1.5px;display:block}.landing-page .section-title{letter-spacing:.03em;color:var(--ink);margin-bottom:14px;font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.landing-page .section-sub{color:var(--ink-mid);max-width:520px;font-size:.95rem;line-height:1.7}.landing-page .features{background:var(--bg-warm);border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong)}.landing-page .features-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:52px;display:grid}.landing-page .feature-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:28px 26px;transition:all .22s;position:relative;overflow:hidden}.landing-page .feature-card:before{content:"";background:linear-gradient(90deg, var(--blue), var(--accent));opacity:0;height:3px;transition:opacity .22s;position:absolute;top:0;left:0;right:0}.landing-page .feature-card:hover{border-color:#4da1c966;transform:translateY(-3px);box-shadow:0 8px 28px #14508c1a}.landing-page .feature-card:hover:before{opacity:1}.landing-page .feature-icon{background:var(--bg);border:1px solid var(--line-strong);border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:20px;font-size:1.2rem;display:grid}.landing-page .feature-count{color:var(--ink);letter-spacing:.02em;font-family:Bebas Neue,sans-serif;font-size:3rem;line-height:1}.landing-page .feature-count span{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;vertical-align:middle;margin-left:4px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:600}.landing-page .feature-name{color:var(--ink);margin:6px 0 8px;font-size:.92rem;font-weight:700}.landing-page .feature-desc{color:var(--ink-mid);font-size:.84rem;line-height:1.6}.landing-page .gallery-grid{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:52px;display:grid}.landing-page .gallery-item{aspect-ratio:2/3;border:1px solid var(--line-strong);cursor:pointer;border-radius:10px;transition:all .22s;position:relative;overflow:hidden}.landing-page .gallery-item:hover{border-color:#4da1c966;transform:translateY(-4px)scale(1.02);box-shadow:0 16px 40px #1a273333}.landing-page .gallery-poster{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;padding-bottom:12%;display:flex;position:relative}.landing-page .gallery-poster--1{background-image:url(/assets/hanover_contrast.png);background-position:50%;background-size:cover}.landing-page .gallery-poster--2{background-image:url(/assets/hanover_noir.png);background-position:50%;background-size:cover}.landing-page .gallery-poster--3{background-image:url(/assets/hanover_emerald.png);background-position:50%;background-size:cover}.landing-page .gallery-poster--4{background-image:url(/assets/manchester.png);background-position:50%;background-size:cover}.landing-page .gallery-roads{position:absolute;inset:0}.landing-page .gallery-roads:before{content:"";position:absolute;inset:0}.landing-page .gallery-poster--1 .gallery-roads:before{display:none}.landing-page .gallery-text{z-index:2;text-align:center;position:relative}.landing-page .gallery-city{letter-spacing:.04em;font-family:Bebas Neue,sans-serif;font-size:1.6rem;line-height:1}.landing-page .gallery-poster--1 .gallery-city{color:#fff;text-shadow:0 2px 8px #0003}.landing-page .gallery-poster--2 .gallery-city{color:#7adba0}.landing-page .gallery-poster--3 .gallery-city{color:#f0c4a8}.landing-page .gallery-poster--4 .gallery-city{color:#2a1f14}.landing-page .gallery-hr{width:55%;height:1px;margin:5px auto}.landing-page .gallery-poster--1 .gallery-hr{background:#ffffff8c}.landing-page .gallery-poster--2 .gallery-hr{background:#7adba066}.landing-page .gallery-poster--3 .gallery-hr{background:#f0c4a866}.landing-page .gallery-poster--4 .gallery-hr{background:#2a1f144d}.landing-page .gallery-country{text-transform:uppercase;letter-spacing:.15em;font-family:Spline Sans Mono,monospace;font-size:.5rem}.landing-page .gallery-poster--1 .gallery-country{color:#ffffffb3}.landing-page .gallery-poster--2 .gallery-country{color:#7adba099}.landing-page .gallery-poster--3 .gallery-country{color:#f0c4a899}.landing-page .gallery-poster--4 .gallery-country{color:#2a1f148c}.landing-page .gallery-item-tag{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffc;text-transform:uppercase;letter-spacing:.08em;background:#0006;border-radius:6px;padding:3px 8px;font-family:Spline Sans Mono,monospace;font-size:.56rem;position:absolute;top:10px;left:10px}.landing-page .testimonials{background:var(--bg-warm);border-top:1px solid var(--line-strong)}.landing-page .testimonials-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:52px;display:grid}.landing-page .testi-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;flex-direction:column;gap:16px;padding:26px;display:flex}.landing-page .testi-stars{color:#ffd985;gap:3px;font-size:.85rem;display:flex}.landing-page .testi-quote{color:var(--ink);flex:1;font-size:.9rem;line-height:1.65}.landing-page .testi-quote:before{content:"“"}.landing-page .testi-quote:after{content:"”"}.landing-page .testi-author{border-top:1px solid var(--line);align-items:center;gap:12px;padding-top:14px;display:flex}.landing-page .testi-avatar{color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-family:Bebas Neue,sans-serif;font-size:1rem;display:grid}.landing-page .testi-avatar--a{background:linear-gradient(135deg,#3eaff7,#128ddb)}.landing-page .testi-avatar--b{background:linear-gradient(135deg,#59d388,#2c9a5a)}.landing-page .testi-avatar--c{background:linear-gradient(135deg,#db845e,#b05a30)}.landing-page .testi-name{color:var(--ink);font-size:.84rem;font-weight:700}.landing-page .testi-handle{color:var(--ink-light);font-family:Spline Sans Mono,monospace;font-size:.65rem}.landing-page .stats{background:var(--ink);border-top:1px solid #96c8eb1a}.landing-page .stats-grid{background:#96c8eb1a;border:1px solid #96c8eb1a;border-radius:16px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:0;display:grid;overflow:hidden}.landing-page .stat-cell{text-align:center;background:#ffffff08;padding:44px 36px}.landing-page .stat-value{color:#fff;letter-spacing:.03em;font-family:Bebas Neue,sans-serif;font-size:3.8rem;line-height:1}.landing-page .stat-value em{color:var(--blue);font-style:normal}.landing-page .stat-label{text-transform:uppercase;letter-spacing:.12em;color:#96c8eb99;margin-top:8px;font-family:Spline Sans Mono,monospace;font-size:.7rem}.landing-page .stats .section-inner{flex-direction:column;gap:52px;display:flex}.landing-page .stats .section-label{color:#4da1c9cc}.landing-page .stats .section-label:before{background:#4da1c9cc}.landing-page .stats .section-title{color:#fff}.landing-page .cta{border-top:1px solid var(--line-strong);background:radial-gradient(circle at 30%,#4da1c92e,#0000 55%),radial-gradient(circle at 80% 30%,#59d3881a,#0000 40%),linear-gradient(145deg,#f7f5f4,#dce8f2);position:relative;overflow:hidden}.landing-page .cta-grid-overlay{background-image:linear-gradient(#14508c0f 1px,#0000 1px),linear-gradient(90deg,#14508c0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.landing-page .cta-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:28px;max-width:700px;margin:0 auto;display:flex;position:relative}.landing-page .cta .section-label{margin:0 auto}.landing-page .cta .section-label:before{display:none}.landing-page .cta .section-title{margin-bottom:0}.landing-page .cta .section-sub{text-align:center;max-width:440px}.landing-page .cta-btns{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.landing-page .stagger>*{transition-delay:0s}.landing-page .stagger>:first-child{transition-delay:50ms}.landing-page .stagger>:nth-child(2){transition-delay:.15s}.landing-page .stagger>:nth-child(3){transition-delay:.25s}.landing-page .stagger>:nth-child(4){transition-delay:.35s}@media (max-width:900px){.landing-page .hero-inner{text-align:center;grid-template-columns:1fr;gap:48px}.landing-page .hero-left{align-items:center}.landing-page .hero-sub{text-align:center}.landing-page .hero-right{order:-1}.landing-page .mockup-chip--theme,.landing-page .mockup-chip--export,.landing-page .mockup-chip--layouts{display:none}.landing-page .features-grid{grid-template-columns:1fr;gap:16px}.landing-page .gallery-grid{grid-template-columns:repeat(2,1fr)}.landing-page .testimonials-grid,.landing-page .stats-grid{grid-template-columns:1fr}.landing-page .nav-links{display:none}.landing-page .footer-inner{text-align:center;flex-direction:column;gap:16px}.landing-page footer-links{flex-wrap:wrap;justify-content:center}}@media (max-width:600px){.landing-page nav{padding:0 20px}.landing-page section{padding:72px 20px}.landing-page .hero{padding:60px 20px 50px}.landing-page .gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.landing-page .cta-btns{flex-direction:column}}@media (min-width:0){.landing-page .nav-links a.is-active{color:var(--ink);font-weight:600}.landing-page .page-header{border-bottom:1px solid var(--line-strong);background:linear-gradient(#ffffff0f,#0000 28%),radial-gradient(circle at 70% 30%,#4da1c933,#0000 45%),linear-gradient(145deg,#f7f5f4,#dce8f2);padding:80px 32px 72px;position:relative;overflow:hidden}.landing-page .page-header-grid{background-image:linear-gradient(#14508c0f 1px,#0000 1px),linear-gradient(90deg,#14508c0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.landing-page .page-header-inner{z-index:1;max-width:760px;margin:0 auto;position:relative}.landing-page .breadcrumb{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);align-items:center;gap:8px;margin-bottom:20px;font-family:Spline Sans Mono,monospace;font-size:.65rem;display:flex}.landing-page .breadcrumb a{color:var(--ink-light);text-decoration:none;transition:color .15s}.landing-page .breadcrumb a:hover{color:var(--accent)}.landing-page .breadcrumb-sep{opacity:.4}.landing-page .page-header h1{letter-spacing:.03em;color:var(--ink);margin-bottom:20px;font-family:Bebas Neue,sans-serif;font-size:clamp(3rem,6vw,5rem);line-height:.95}.landing-page .page-header h1 em{color:var(--accent);font-style:normal}.landing-page .page-header p{color:var(--ink-mid);max-width:580px;font-size:1.05rem;line-height:1.7}.landing-page .page-body{flex-direction:column;gap:80px;max-width:1100px;margin:0 auto;padding:80px 32px;display:flex}.landing-page .section-body{color:var(--ink-mid);max-width:640px;font-size:.95rem;line-height:1.75}.landing-page .section-body+.section-body{margin-top:12px}.landing-page .mission-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px;display:grid}.landing-page .mission-visual{border:1px solid var(--line-strong);aspect-ratio:4/3;background:radial-gradient(circle at 60% 35%,#4da1c959,#0000 55%),linear-gradient(145deg,#c8dce8,#8faec6 50%,#6a90ae);border-radius:14px;position:relative;overflow:hidden}.landing-page .mission-visual-grid{background-image:linear-gradient(#ffffff24 1px,#0000 1px),linear-gradient(90deg,#ffffff24 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.landing-page .mission-visual-road{background:#ffffff40;position:absolute}.landing-page .road-1{height:2px;top:38%;left:0;right:0;transform:rotate(-8deg)}.landing-page .road-2{width:2px;top:0;bottom:0;left:45%}.landing-page .road-3{background:#ffffff26;height:1.5px;top:65%;left:0;right:0;transform:rotate(4deg)}.landing-page .mission-visual-pin{background:var(--ink);border:2px solid #fff;border-radius:50% 50% 50% 0;width:20px;height:20px;position:absolute;top:34%;left:42%;transform:rotate(-45deg);box-shadow:0 2px 8px #0000004d}.landing-page .mission-visual-label{color:#fff;letter-spacing:.05em;text-shadow:0 2px 8px #0000004d;white-space:nowrap;font-family:Bebas Neue,sans-serif;font-size:1.8rem;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.landing-page .values-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;display:grid}.landing-page .value-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:26px 24px;transition:all .22s}.landing-page .value-card:hover{border-color:#4da1c966;transform:translateY(-3px);box-shadow:0 8px 28px #14508c1a}.landing-page .value-icon{margin-bottom:14px;font-size:1.6rem;display:block}.landing-page .value-name{color:var(--ink);margin-bottom:8px;font-size:.95rem;font-weight:700}.landing-page .value-desc{color:var(--ink-mid);font-size:.84rem;line-height:1.6}.landing-page .stack-section{background:var(--bg-warm);border:1px solid var(--line-strong);border-radius:18px;padding:52px}.landing-page .stack-grid{background:var(--line-strong);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;display:grid;overflow:hidden}.landing-page .stack-card{background:var(--panel);flex-direction:column;gap:16px;padding:32px 28px;transition:background .18s;display:flex}.landing-page .stack-card:hover{background:var(--bg)}.landing-page .stack-card-logo{border:1px solid var(--line-strong);border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.landing-page .stack-card-logo svg{width:28px;height:28px}.landing-page .stack-card-logo--osm{background:linear-gradient(135deg,#7dce8e,#3da854)}.landing-page .stack-card-logo--nominatim{background:linear-gradient(135deg,#7ab4e8,#3478c8)}.landing-page .stack-card-logo--maplibre{background:linear-gradient(135deg,#e8a87a,#c86a30)}.landing-page .stack-card-name{letter-spacing:.04em;color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:1.4rem;line-height:1}.landing-page .stack-card-role{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-top:-10px;font-family:Spline Sans Mono,monospace;font-size:.62rem}.landing-page .stack-card-desc{color:var(--ink-mid);flex:1;font-size:.85rem;line-height:1.65}.landing-page .stack-card-link{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);align-items:center;gap:5px;font-family:Spline Sans Mono,monospace;font-size:.68rem;font-weight:600;text-decoration:none;transition:gap .15s;display:inline-flex}.landing-page .stack-card-link:hover{gap:8px}.landing-page .stack-note{color:var(--ink-mid);background:#3eaff712;border:1px solid #3eaff733;border-radius:10px;margin-top:24px;padding:16px 20px;font-size:.84rem;line-height:1.6}.landing-page .stack-note strong{color:var(--ink)}.landing-page .timeline{flex-direction:column;gap:0;margin-top:40px;padding-left:28px;display:flex;position:relative}.landing-page .timeline:before{content:"";background:var(--line-strong);width:2px;position:absolute;top:6px;bottom:6px;left:7px}.landing-page .timeline-item{padding:0 0 36px 28px;position:relative}.landing-page .timeline-item:last-child{padding-bottom:0}.landing-page .timeline-dot{background:var(--panel);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;left:-21px}.landing-page .timeline-dot.is-now{background:var(--accent)}.landing-page .timeline-date{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);margin-bottom:4px;font-family:Spline Sans Mono,monospace;font-size:.65rem}.landing-page .timeline-title{color:var(--ink);margin-bottom:4px;font-size:.95rem;font-weight:700}.landing-page .timeline-desc{color:var(--ink-mid);font-size:.85rem;line-height:1.6}.landing-page .cta-strip{background:var(--ink);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:52px 48px;display:flex;position:relative;overflow:hidden}.landing-page .cta-strip:before{content:"";background-image:linear-gradient(#96c8eb0d 1px,#0000 1px),linear-gradient(90deg,#96c8eb0d 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.landing-page .cta-strip-text{z-index:1;position:relative}.landing-page .cta-strip-title{letter-spacing:.04em;color:#fff;margin-bottom:8px;font-family:Bebas Neue,sans-serif;font-size:2.2rem;line-height:1}.landing-page .cta-strip-sub{color:#96c8ebb3;font-size:.9rem;line-height:1.5}.landing-page .cta-strip-actions{z-index:1;flex-wrap:wrap;align-items:center;gap:12px;display:flex;position:relative}.landing-page .btn-light{text-transform:uppercase;letter-spacing:.07em;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #ffffff4d;border-radius:10px;align-items:center;gap:7px;padding:12px 22px;font-family:Spline Sans Mono,monospace;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.landing-page .btn-light:hover{background:#f0f8ff;transform:translateY(-2px);box-shadow:0 6px 18px #00000040}.landing-page .btn-ghost-light{text-transform:uppercase;letter-spacing:.07em;color:#96c8ebcc;cursor:pointer;background:0 0;border:1px solid #96c8eb40;border-radius:10px;align-items:center;gap:7px;padding:12px 22px;font-family:Spline Sans Mono,monospace;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .18s;display:inline-flex}.landing-page .btn-ghost-light:hover{color:#c8e8f8;background:#96c8eb1a;border-color:#96c8eb80;transform:translateY(-2px)}.landing-page .page-body--contact{grid-template-columns:1fr 380px;align-items:start;gap:60px;display:grid}.landing-page .channels{flex-direction:column;gap:16px;margin-top:40px;display:flex}.landing-page .channel-card{background:var(--panel);border:1px solid var(--line-strong);color:inherit;border-radius:14px;align-items:flex-start;gap:20px;padding:24px 26px;text-decoration:none;transition:all .22s;display:flex;position:relative;overflow:hidden}.landing-page .channel-card:after{content:"→";color:var(--accent);opacity:0;font-size:1rem;transition:all .22s;position:absolute;top:50%;right:24px;transform:translateY(-50%)translate(4px)}.landing-page .channel-card:hover{border-color:#4da1c973;transform:translateY(-3px);box-shadow:0 8px 28px #14508c1a}.landing-page .channel-card:hover:after{opacity:1;transform:translateY(-50%)translate(0)}.landing-page .channel-icon{border:1px solid var(--line-strong);border-radius:12px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:1.3rem;display:grid}.landing-page .channel-icon--general{background:linear-gradient(135deg,#dce8f2,#c4d8ea)}.landing-page .channel-icon--bug{background:linear-gradient(135deg,#fdecea,#f5c8c4)}.landing-page .channel-icon--feature{background:linear-gradient(135deg,#e8f5ec,#c4e8ce)}.landing-page .channel-icon--github{background:linear-gradient(135deg,#e8eaf0,#cdd2de)}.landing-page .channel-text{flex:1;min-width:0}.landing-page .channel-name{color:var(--ink);margin-bottom:4px;font-size:.96rem;font-weight:700}.landing-page .channel-desc{color:var(--ink-mid);margin-bottom:10px;font-size:.84rem;line-height:1.55}.landing-page .channel-cta{text-transform:uppercase;letter-spacing:.07em;color:var(--accent);align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:.68rem;font-weight:600;display:inline-flex}.landing-page .sidebar{flex-direction:column;gap:20px;display:flex}.landing-page .sidebar-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:26px 24px}.landing-page .sidebar-card-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:600}.landing-page .sidebar-faq{flex-direction:column;gap:18px;display:flex}.landing-page .faq-q{color:var(--ink);align-items:flex-start;gap:8px;margin-bottom:5px;font-size:.88rem;font-weight:700;display:flex}.landing-page .faq-q:before{content:"Q.";color:var(--accent);flex-shrink:0;padding-top:2px;font-family:Spline Sans Mono,monospace;font-size:.7rem}.landing-page .faq-a{color:var(--ink-mid);padding-left:22px;font-size:.83rem;line-height:1.6}.landing-page .sidebar-response-times{flex-direction:column;gap:12px;display:flex}.landing-page .rt-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.landing-page .rt-label{color:var(--ink-mid);font-size:.84rem}.landing-page .rt-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:4px 10px;font-family:Spline Sans Mono,monospace;font-size:.62rem;font-weight:600}.landing-page .rt-badge--fast{color:#1a7a42;background:#59d38826;border:1px solid #59d3884d}.landing-page .rt-badge--med{color:#1560a0;background:#3eaff71f;border:1px solid #3eaff747}.landing-page .rt-badge--slow{color:#8a3a10;background:#db845e1f;border:1px solid #db845e47}.landing-page .sidebar-card--dark{background:var(--ink);border-color:#96c8eb1a}.landing-page .sidebar-card--dark .sidebar-card-title{color:#96c8eb80;border-bottom-color:#96c8eb1a}.landing-page .community-links{flex-direction:column;gap:10px;display:flex}.landing-page .community-link{color:#c8e8f8d9;background:#ffffff0a;border:1px solid #96c8eb1a;border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .18s;display:flex}.landing-page .community-link:hover{color:#c8e8f8;background:#4da1c91f;border-color:#4da1c94d;transform:translate(3px)}.landing-page .community-link-icon{background:#ffffff12;border:1px solid #ffffff14;border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:.9rem;display:grid}.landing-page .community-link-label{flex:1}.landing-page .community-link-sub{color:#96c8eb80;margin-top:1px;font-family:Spline Sans Mono,monospace;font-size:.7rem;display:block}.landing-page .community-link-arrow{color:#96c8eb59;font-size:.8rem}.landing-page .note-bar{color:var(--ink-mid);background:#3eaff712;border:1px solid #3eaff733;border-radius:12px;grid-column:1/-1;align-items:center;gap:16px;padding:18px 24px;font-size:.86rem;line-height:1.55;display:flex}.landing-page .note-bar-icon{flex-shrink:0;font-size:1.3rem}.landing-page .note-bar a{color:var(--accent);font-weight:600;text-decoration:none}.landing-page .note-bar a:hover{text-decoration:underline}}.landing-page .page-header{border-bottom:1px solid var(--line-strong);background:linear-gradient(#ffffff0f,#0000 28%),radial-gradient(circle at 80% 20%,#4da1c929,#0000 42%),radial-gradient(circle at 10% 70%,#59d38814,#0000 38%),linear-gradient(145deg,#f7f5f4,#dce8f2);padding:80px 32px 72px;position:relative;overflow:hidden}.landing-page .page-header-grid{background-image:linear-gradient(#14508c0f 1px,#0000 1px),linear-gradient(90deg,#14508c0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.landing-page .page-header-inner{z-index:1;max-width:760px;margin:0 auto;position:relative}.landing-page .breadcrumb{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);align-items:center;gap:8px;margin-bottom:20px;font-family:Spline Sans Mono,monospace;font-size:.65rem;display:flex}.landing-page .breadcrumb a{color:var(--ink-light);text-decoration:none;transition:color .15s}.landing-page .breadcrumb a:hover{color:var(--accent)}.landing-page .breadcrumb-sep{opacity:.4}.landing-page .page-header h1{letter-spacing:.03em;color:var(--ink);margin-bottom:20px;font-family:Bebas Neue,sans-serif;font-size:clamp(3rem,6vw,5rem);line-height:.95}.landing-page .page-header h1 em{color:var(--accent);font-style:normal}.landing-page .page-header-meta{flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:20px;display:flex}.landing-page .meta-chip{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mid);align-items:center;gap:6px;font-family:Spline Sans Mono,monospace;font-size:.65rem;display:inline-flex}.landing-page .meta-chip svg{width:12px;height:12px;color:var(--accent)}.landing-page .page-header p{color:var(--ink-mid);max-width:560px;font-size:1.05rem;line-height:1.7}.landing-page .page-body--privacy{grid-template-columns:240px 1fr;align-items:start;gap:56px;max-width:1100px;margin:0 auto;padding:72px 32px 80px;display:grid}.landing-page .toc{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:22px 20px;position:sticky;top:82px}.landing-page .toc-title{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);border-bottom:1px solid var(--line);margin-bottom:14px;padding-bottom:12px;font-family:Spline Sans Mono,monospace;font-size:.65rem;font-weight:600}.landing-page .toc-list{flex-direction:column;gap:2px;list-style:none;display:flex}.landing-page .toc-list a{color:var(--ink-mid);border-radius:8px;align-items:center;gap:8px;padding:7px 10px;font-size:.8rem;line-height:1.35;text-decoration:none;transition:all .15s;display:flex}.landing-page .toc-list a:hover{color:var(--ink);background:#14508c0f}.landing-page .toc-list a.is-active{color:var(--accent);background:#4da1c91a;font-weight:600}.landing-page .toc-num{color:var(--ink-light);flex-shrink:0;width:16px;font-family:Spline Sans Mono,monospace;font-size:.6rem}.landing-page .toc-updated{border-top:1px solid var(--line);color:var(--ink-light);margin-top:18px;padding-top:14px;font-family:Spline Sans Mono,monospace;font-size:.62rem;line-height:1.5}.landing-page .content{flex-direction:column;gap:0;display:flex}.landing-page .summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:56px;display:grid}.landing-page .summary-card{background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;padding:20px 18px}.landing-page .summary-card-icon{margin-bottom:10px;font-size:1.4rem;display:block}.landing-page .summary-card-title{color:var(--ink);margin-bottom:5px;font-size:.88rem;font-weight:700}.landing-page .summary-card-desc{color:var(--ink-mid);font-size:.78rem;line-height:1.55}.landing-page .policy-section{border-bottom:1px solid var(--line);padding:48px 0}.landing-page .policy-section:last-child{border-bottom:none;padding-bottom:0}.landing-page .policy-section-header{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.landing-page .policy-section-num{color:var(--line-strong);letter-spacing:.03em;-webkit-user-select:none;user-select:none;flex-shrink:0;font-family:Bebas Neue,sans-serif;font-size:2.8rem;line-height:1}.landing-page .policy-section-label{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:4px;font-family:Spline Sans Mono,monospace;font-size:.62rem;font-weight:600}.landing-page .policy-section-title{letter-spacing:.03em;color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:1.9rem;line-height:1.05}.landing-page .policy-body{color:var(--ink-mid);font-size:.92rem;line-height:1.8}.landing-page .policy-body p+p{margin-top:14px}.landing-page .policy-body strong{color:var(--ink);font-weight:700}.landing-page .policy-body a{color:var(--accent);font-weight:500;text-decoration:none}.landing-page .policy-body a:hover{text-decoration:underline}.landing-page .policy-highlight{border-radius:10px;align-items:flex-start;gap:14px;margin:20px 0;padding:18px 20px;font-size:.88rem;line-height:1.65;display:flex}.landing-page .policy-highlight--good{color:var(--ink-mid);background:#59d38814;border:1px solid #59d38840}.landing-page .policy-highlight--good strong{color:#1a6636}.landing-page .policy-highlight--note{color:var(--ink-mid);background:#3eaff714;border:1px solid #3eaff738}.landing-page .policy-highlight--note strong{color:var(--blue-dark)}.landing-page .policy-highlight--warn{color:var(--ink-mid);background:#db845e14;border:1px solid #db845e38}.landing-page .policy-highlight--warn strong{color:#8a3a10}.landing-page .policy-highlight-icon{flex-shrink:0;margin-top:1px;font-size:1.1rem}.landing-page .policy-list{flex-direction:column;gap:8px;margin:14px 0;padding-left:0;list-style:none;display:flex}.landing-page .policy-list li{color:var(--ink-mid);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.6;display:flex}.landing-page .policy-list li:before{content:"—";color:var(--accent);flex-shrink:0;margin-top:3px;font-family:Spline Sans Mono,monospace;font-size:.75rem}.landing-page .third-party-table{border-collapse:collapse;width:100%;margin:20px 0;font-size:.84rem}.landing-page .third-party-table thead tr{background:var(--bg);border-bottom:2px solid var(--line-strong)}.landing-page .third-party-table th{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-light);text-align:left;padding:10px 14px;font-family:Spline Sans Mono,monospace;font-size:.62rem;font-weight:600}.landing-page .third-party-table tbody tr{border-bottom:1px solid var(--line)}.landing-page .third-party-table tbody tr:last-child{border-bottom:none}.landing-page .third-party-table tbody tr:hover{background:#14508c06}.landing-page .third-party-table td{color:var(--ink-mid);vertical-align:top;padding:12px 14px;line-height:1.5}.landing-page .third-party-table td:first-child{color:var(--ink);font-weight:600}.landing-page .third-party-table td a{color:var(--accent);text-decoration:none}.landing-page .third-party-table td a:hover{text-decoration:underline}.landing-page .purpose-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:2px 8px;font-family:Spline Sans Mono,monospace;font-size:.6rem;font-weight:600;display:inline-block}.landing-page .purpose-badge--map{color:#1560a0;background:#4da1c91f;border:1px solid #4da1c940}.landing-page .purpose-badge--geo{color:#1a6636;background:#59d3881a;border:1px solid #59d38840}.landing-page .purpose-badge--render{color:#8a3a10;background:#db845e1a;border:1px solid #db845e40}.landing-page .contact-strip{background:var(--ink);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:0;padding:36px;display:flex;position:relative;overflow:hidden}.landing-page .contact-strip-text{z-index:1;position:relative}.landing-page .contact-strip-title{letter-spacing:.04em;color:#fff;margin-bottom:6px;font-family:Bebas Neue,sans-serif;font-size:1.8rem;line-height:1}.landing-page .contact-strip-sub{color:#96c8eba6;font-size:.86rem}.landing-page footer{background:var(--bg-warm);border-top:1px solid var(--line-strong);padding:32px}.landing-page .footer-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1100px;margin:0 auto;display:flex}.landing-page .footer-brand{letter-spacing:.04em;color:var(--ink);font-family:Bebas Neue,sans-serif;font-size:1.2rem}.landing-page .footer-links{align-items:center;gap:24px;display:flex}.landing-page .footer-links a{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mid);font-family:Spline Sans Mono,monospace;font-size:.68rem;text-decoration:none;transition:color .15s}.landing-page .footer-links a:hover{color:var(--ink)}.landing-page .footer-copy{color:var(--ink-light);font-family:Spline Sans Mono,monospace;font-size:.62rem}.landing-page .fade-up{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.landing-page .fade-up.is-visible{opacity:1;transform:translateY(0)}@media (max-width:960px){.landing-page .page-body--privacy{grid-template-columns:1fr;gap:40px}.landing-page .toc{position:static}.landing-page .summary-grid{grid-template-columns:1fr;gap:12px}}@media (max-width:600px){.landing-page .page-body{padding:48px 20px 64px}.landing-page .page-header{padding:60px 20px 56px}.landing-page .contact-strip{text-align:center;flex-direction:column;align-items:center}.landing-page .third-party-table{display:block;overflow-x:auto}}
:root{--ink:#1a2733;--panel:#fff;--line:#1e3c5a24;--strong-line:#a6c7df73;--positive:#16a34a;--negative:#dc2626}*,:before,:after{box-sizing:border-box}html,body{color:var(--ink);background-color:#f0f4f8;width:100%;height:100%;margin:0;padding:0;font-family:Instrument Sans,sans-serif}#root{background-color:#f0f4f8;width:100%;height:100%}
.app-shell{max-width:1780px;margin:0 auto;padding:24px}.app-header,.general-header{grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.general-header-actions{align-items:center;gap:8px;display:inline-flex}.install-header-wrap{display:inline-flex;position:relative}.general-header-text-btn{color:#1e5272;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;background:0 0;border:1px solid #14508c47;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;gap:0;padding:7px 14px;font-family:Spline Sans Mono,monospace;font-size:.76rem;font-weight:600;display:inline-flex}.general-header-text-btn:disabled{opacity:.48;cursor:default}.general-header-btn-label{display:inline}.general-header-btn-icon{display:none}.install-help-modal-backdrop{z-index:600;background:#0000008f;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.install-help-modal{background:#fff;border:1px solid #14508c26;border-radius:14px;width:min(420px,100vw - 24px);padding:18px 14px 14px;position:relative;box-shadow:0 18px 36px #0000007a}.install-help-modal-close{color:#c5e0f1d6;background:#11212fb3;border:1px solid #92b0c83d;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:absolute;top:10px;right:10px}.install-help-modal-title{text-transform:uppercase;letter-spacing:.08em;color:#1a3a52;margin:0 28px 12px 0;font-family:Spline Sans Mono,monospace;font-size:.82rem}.install-help-modal-text{color:#cee6f6e6;margin:0;font-family:Spline Sans Mono,monospace;font-size:.72rem;line-height:1.5}pre.install-help-modal-text{white-space:pre-wrap;word-break:break-word;max-height:52vh;overflow:auto}.install-help-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.install-help-steps li{color:#cee6f6e6;grid-template-columns:24px 1fr;align-items:center;gap:10px;font-family:Spline Sans Mono,monospace;font-size:.72rem;line-height:1.45;display:grid}.install-help-step-icon{color:#1a3d56;background:#e8f2f9;border:1px solid #14508c33;border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.install-help-step-icon svg{width:14px;height:14px}.install-help-emphasis{color:#dff3ff;font-style:normal;font-weight:700}.brand-row{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.brand-copy{min-width:0}.brand-logo{filter:drop-shadow(0 8px 16px #00000059);flex:none;width:clamp(64px,7vw,102px);height:auto;margin-left:auto}.app-kicker{text-transform:uppercase;letter-spacing:.16em;opacity:.74;margin:0;font-family:Spline Sans Mono,monospace;font-size:.76rem}.app-header h1{letter-spacing:.03em;color:#0f2233;text-shadow:0 12px 26px #00000073;margin:6px 0;font-family:Bebas Neue,sans-serif;font-size:clamp(2.35rem,6.2vw,4.7rem);line-height:.9}.app-copy{opacity:.86;color:#2f5266;max-width:1000px;margin:0;font-size:1rem}.app-grid{grid-template-columns:minmax(340px,410px) minmax(0,1fr);grid-template-areas:"config preview""config inspector";align-items:start;gap:14px;display:grid}.settings-panel,.preview-panel,.inspector-card,.info-panel-group{background:var(--panel);border:1px solid #1450821f;border-radius:16px;box-shadow:0 20px 42px #0000005c,inset 0 1px #ffffff0a}.settings-panel{grid-area:config;padding:0;overflow:hidden}.accordion-item{background:#0a141feb;border-bottom:1px solid #92b0c81f}.accordion-item:last-child{border-bottom:none}.accordion-item.accordion-item--open{background:#0a141feb}.accordion-header{color:#1e3a52;text-transform:uppercase;letter-spacing:.1em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#f7fafc;border:none;align-items:center;gap:12px;width:100%;padding:20px 16px;font-family:Spline Sans Mono,monospace;font-size:.78rem;font-weight:600;transition:color .18s,background .18s;display:flex}.accordion-header:hover{color:#0f2d42;background:#1a7eb50f}.accordion-header.is-open{color:#1565a0}.accordion-icon{color:#2a7db5;flex-shrink:0;width:18px;height:18px}.accordion-label{text-align:left;flex:1}.accordion-chevron{opacity:.6;flex-shrink:0;width:16px;height:16px;transition:transform .26s cubic-bezier(.4,0,.2,1)}.accordion-header.is-open .accordion-chevron{opacity:.9;transform:rotate(180deg)}.accordion-body{opacity:0;visibility:hidden;background:#0a141feb;grid-template-rows:0fr;transition:grid-template-rows .26s cubic-bezier(.4,0,.2,1);display:grid;overflow:hidden}.accordion-body.is-open{opacity:1;visibility:visible;grid-template-rows:1fr}.accordion-body-inner{min-height:0;padding:0 14px;overflow:hidden}.accordion-body.is-open .accordion-body-inner{padding-bottom:14px}@media (min-width:769px){.accordion-body-inner>.panel-block>h2,.accordion-body-inner .map-settings-theme-part>h2,.accordion-body-inner .map-settings-layout-part>h2{display:none}}.preview-panel{grid-area:preview;padding:3px}.info-panel{grid-area:inspector;grid-template-columns:1fr;gap:12px;display:grid}.app-grid{grid-template-columns:minmax(320px,390px) minmax(0,1fr)}@media (max-width:980px){.app-header,.general-header{grid-template-columns:1fr}.app-grid{grid-template-columns:1fr;grid-template-areas:"config""preview""inspector"}.info-panel{grid-template-columns:1fr}}@media (max-width:760px){.app-shell{padding:14px}.brand-logo{width:72px}}.install-prompt{-webkit-backdrop-filter:blur(8px);color:#b8d4e8;background:#0a1824e0;border:1px solid #5eaed447;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 14px;font-size:.84rem;display:flex}.install-prompt-text{flex:auto;min-width:0;line-height:1.45}.install-prompt-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}button.install-prompt-btn{color:#f0f9ff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#1565a0 0%,#0d4f82 100%);border:1px solid #1a7eb599;border-radius:999px;width:auto;margin:0;padding:7px 14px;font-size:.8rem;font-weight:700;transition:border-color .15s,box-shadow .15s;box-shadow:0 0 10px #5eaed438}button.install-prompt-btn:hover{filter:none;border-color:#82c8f0d9;transform:none;box-shadow:0 0 18px #5eaed466}button.install-prompt-dismiss{color:#4a7a96;cursor:pointer;letter-spacing:.015em;box-sizing:border-box;background:0 0;border:1px solid #1a64a033;border-radius:999px;justify-content:center;align-items:center;width:auto;margin:0;padding:7px 14px;font-size:.8rem;font-weight:700;line-height:1;transition:color .15s,border-color .15s,background .15s;display:inline-flex}button.install-prompt-dismiss:hover{filter:none;color:#1a5272;background:#5eaed406;border-color:#1a64a073;transform:none}.install-prompt-share-icon{font-size:1em;font-style:normal;display:inline-block}.install-prompt-mobile-icon{vertical-align:-.15em;color:currentColor;width:1.05em;height:1.05em;margin-right:8px;display:inline-block}.startup-location-modal{z-index:420;-webkit-backdrop-filter:blur(12px);background:#060c126b;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:20px;animation:.25s startup-location-fadein;display:flex;position:fixed;inset:0}.startup-location-modal.is-closing{animation:.22s forwards startup-location-fadeout}.startup-location-logo-wrap{flex-direction:column;justify-content:center;align-items:center;gap:8px;width:auto;height:auto;display:inline-flex;transform:translateY(-18px)}.startup-location-logo{width:98px;height:98px;animation:1.05s cubic-bezier(.24,.78,0,1) startup-location-logo-pop}.startup-location-app-name{letter-spacing:.04em;color:#ecf5ff;text-shadow:0 2px 10px #00000073;margin:0;font-family:Bebas Neue,sans-serif;font-size:2rem;line-height:.92;transform:translateY(10px)}.startup-location-card{opacity:0;background:#fff;border:1px solid #14508c26;border-radius:14px;gap:10px;width:min(360px,100% - 16px);padding:12px;transition:opacity .2s,transform .2s;display:grid;transform:translateY(8px);box-shadow:0 18px 36px #0000007a}.startup-location-card.is-visible{opacity:1;transform:translateY(0)}.startup-location-title{text-transform:uppercase;letter-spacing:.08em;color:#1a3a52;margin:0;font-family:Spline Sans Mono,monospace;font-size:.8rem}.startup-location-input{color:#0f2233;background:#f5f9fc;border:1px solid #14508c40;border-radius:10px;outline:none;width:100%;min-height:46px;padding:0 12px;font-family:Spline Sans Mono,monospace;font-size:16px}.startup-location-input:focus{border-color:#70b8decc;box-shadow:0 0 0 2px #4b95ba38}.startup-location-suggestions{background:#09121bf5;border:1px solid #92b0c83d;border-radius:10px;max-height:176px;margin:-2px 0 0;padding:0;list-style:none;overflow-y:auto}.startup-location-suggestion{color:#dcecf7e6;text-align:left;text-transform:none;letter-spacing:.02em;background:0 0;border:none;border-bottom:1px solid #92b0c824;border-radius:0;justify-content:flex-start;width:100%;padding:10px 11px;font-family:Spline Sans Mono,monospace;font-size:.74rem;line-height:1.4}.startup-location-suggestion:last-child{border-bottom:none}.startup-location-suggestion-status{color:#b4cde1b3;margin:0;padding:10px 11px;font-size:.72rem}.startup-location-action{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;font-family:Spline Sans Mono,monospace;font-size:.84rem;font-weight:700;display:inline-flex}.startup-location-action--geo{color:#1a3d56;background:#eaf2f8;border-color:#1a64a04d}.startup-location-action--geo svg{width:17px;height:17px}.startup-location-action--confirm{color:#fff;background:linear-gradient(135deg,#1565a0,#0d4f82)}.startup-location-error{color:#b91c1c;margin:0;font-family:Spline Sans Mono,monospace;font-size:.72rem}@keyframes startup-location-fadein{0%{opacity:0}to{opacity:1}}@keyframes startup-location-fadeout{0%{opacity:1}to{opacity:0}}@keyframes startup-location-logo-pop{0%{opacity:0;transform:scale(.78)rotate(-7deg)}60%{opacity:1;transform:scale(1.06)rotate(2deg)}to{opacity:1;transform:scale(1)rotate(0)}}.app-shell--three-column{max-width:none!important;margin:0!important;padding:0!important}.app-shell--three-column .general-header{margin-bottom:0!important;padding:0 24px!important}.app-shell--three-column .left-panel,.app-shell--three-column .right-panel{box-shadow:none!important;border-radius:0!important}.app-shell--three-column .preview-panel{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}
.panel-block+.panel-block{margin-top:12px}.mobile-section--theme-settings .map-settings-layout-part,.mobile-section--layout-settings .map-settings-theme-part{display:none}.panel-block h2{text-transform:uppercase;letter-spacing:.1em;color:#2563a8;margin:0 0 8px;font-family:Spline Sans Mono,monospace;font-size:.76rem}label{color:#1e3a4f;margin-bottom:9px;font-size:.84rem;font-weight:600;display:block}.field-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.field-grid.triple{grid-template-columns:repeat(3,minmax(0,1fr))}.map-dimension-fields{grid-template-columns:1fr;gap:10px;display:grid}.map-size-fields-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.distance-slider-field{gap:8px;margin-bottom:0;display:grid}.distance-slider-field>span{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:10px;display:grid}.distance-slider-value{letter-spacing:.02em;color:#0f2d42;font-family:Spline Sans Mono,monospace}.distance-slider-input{text-align:right;appearance:textfield;border-radius:10px;width:100%;min-height:48px;margin-top:0;padding:12px;font-family:Spline Sans Mono,monospace;font-size:.82rem}.distance-slider-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.distance-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.distance-slider{appearance:none;cursor:pointer;background:0 0;border:none;outline:none;width:100%;height:20px;margin:0;padding:0;display:block}.distance-slider::-moz-range-track{box-sizing:border-box;background:linear-gradient(#1c3345f2,#11222ff2);border:1px solid #97b7cf57;border-radius:999px;height:10px}.distance-slider::-moz-range-thumb{box-sizing:border-box;background:radial-gradient(circle at 35% 35%,#4ca9cd,#2a7fa0 70%);border:2px solid #e8f3fb;border-radius:999px;width:20px;height:20px;box-shadow:0 0 0 2px #050d1473,0 2px 6px #00000059}.distance-slider-meta{color:#64899e;height:16px;margin-top:5px;font-family:Spline Sans Mono,monospace;font-size:.66rem;position:relative}.distance-slider-meta-mark{white-space:nowrap;text-shadow:0 1px #00000040;line-height:1;position:absolute;top:0}.field-grid.keep-two-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.map-dimension-fields label{margin-bottom:0}.map-details-section{margin-top:6px}.map-details-subtitle{text-transform:uppercase;letter-spacing:.08em;color:#88b7d5;margin:0 0 8px;font-family:Spline Sans Mono,monospace;font-size:.72rem}.map-details-card{background:#09121bcc;border:none;border-radius:12px;gap:10px;padding:0;display:grid}.map-details-card .map-dimension-fields{gap:0}.form-control-tall,.map-dimension-input{min-height:48px;padding:12px}.toggle-field{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.theme-switch{justify-content:center;align-items:center;width:58px;height:34px;display:inline-flex;position:relative}.theme-switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.theme-switch-track{background:#c5d5e0;border-radius:999px;width:58px;height:34px;transition:background-color .16s;display:block;position:relative}.theme-switch-track:after{content:"";background:#eaf5fd;border-radius:999px;width:26px;height:26px;transition:transform .16s;position:absolute;top:4px;left:4px;box-shadow:0 1px 3px #00000059}.theme-switch input:checked+.theme-switch-track{background:#111827}.theme-switch input:checked+.theme-switch-track:after{transform:translate(24px)}.theme-switch input:focus-visible+.theme-switch-track{box-shadow:0 0 0 3px #4b95ba4d}.credits-toggle-field{margin-top:10px}.credits-hint{color:#4a7a96;opacity:.85;margin:2px 0 0;font-size:.74rem;font-weight:400;line-height:1.45}.credits-confirm-modal{width:min(420px,100%);max-height:unset;background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;box-shadow:0 10px 30px #0000001f}.credits-modal-body{background:#fff;gap:16px;padding:28px 24px 20px;display:grid}.credits-modal-headline{color:#1e2937;letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:700;line-height:1.35}.credits-modal-text{color:#334155;margin:0;font-size:1rem;line-height:1.65}.credits-modal-text strong{color:#1e2937;font-weight:700}.credits-modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;margin-top:8px;display:flex}.credits-modal-keep{color:#fff;cursor:pointer;background:#1e2937;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-size:.85rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0000001a}.credits-modal-keep:hover,.credits-modal-keep:focus-visible{background:#111827;border-color:#1e2937;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.credits-modal-keep .heart{font-size:1.1rem}.credits-modal-remove{color:#64748b;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.credits-modal-remove:hover,.credits-modal-remove:focus-visible{color:#1e2937;background:#f8fafc;border-color:#cbd5e1}input,select,button{font:inherit}input:not([type=checkbox]):not([type=radio]),select{color:#0f2233;background:#fff;border:1px solid #1e507840;border-radius:10px;outline:none;width:100%;margin-top:4px;padding:9px 10px;transition:border-color .16s,box-shadow .16s}input::placeholder{color:#8eaabf}input:not([type=checkbox]):not([type=radio]):focus,select:focus{border-color:#111827;box-shadow:0 0 0 3px #1a7eb540}.location-autocomplete{margin-top:4px;position:relative}.location-autocomplete input{margin-top:0}.location-input-wrap{position:relative}.location-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.location-input-wrap input{padding-right:34px}button.location-current-btn{color:#1e2937;background:#fff;border:1px solid #e5e7eb;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:48px;min-height:48px;margin:0;padding:0;font-size:.72rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0000000f}button.location-current-btn svg{fill:currentColor;width:22px;height:22px}button.location-current-btn:not(:disabled):hover,button.location-current-btn:focus-visible{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 3px 6px #0000001a}.location-permission-message{color:#c0392b;margin:8px 0 0;font-size:.73rem;line-height:1.45}.location-suggestions{z-index:30;background:#fff;border:1px solid #1a64a033;border-radius:10px;max-height:220px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 28px #00000070}.location-suggestion{color:#1a2e3d;text-align:left;background:0 0;border:none;border-radius:8px;width:100%;padding:8px 10px;font-size:.82rem;font-weight:500}.location-suggestion:hover,.location-suggestion:focus-visible{background:#4585a933}.location-suggestion:not(:disabled):hover{filter:none;transform:none}.location-suggestion-status{color:#5a7d94;padding:8px 10px;font-size:.78rem}.theme-note{opacity:.74;color:#5a7d94;margin:0 0 8px;font-size:.8rem}.theme-active-label{color:#1e3a4f;margin:0;font-size:.84rem;font-weight:600}.theme-section{background:#09121bcc;border:1px solid #97b7cf57;border-radius:12px;margin:0 0 10px;padding:10px}.theme-summary-header,.theme-edit-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.theme-summary-header .theme-active-label,.theme-edit-header .theme-active-label{flex:auto;min-width:0}.theme-edit-actions{align-items:center;gap:6px;display:inline-flex}.theme-summary-view .theme-card{margin:0}.theme-summary-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.theme-summary-copy{flex:auto;min-width:0}.theme-summary-label{letter-spacing:.03em;color:#e7f2fb;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.theme-summary-label-name{color:#e7f2fb;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.card-scroll-list{display:block}.card-scroll-list .theme-card,.card-scroll-list .layout-card{margin:0 0 8px}.card-scroll-list .theme-card:last-child,.card-scroll-list .layout-card:last-child{margin-bottom:0}.mobile-section--theme-settings .accordion-body-inner{scrollbar-width:none;-ms-overflow-style:none}.mobile-section--theme-settings .accordion-body-inner::-webkit-scrollbar{display:none}.theme-slider{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.theme-slider::-webkit-scrollbar{display:none}.theme-slider-wrap{padding:0 12px;position:relative}.theme-slider-chevron{z-index:2;color:#d8e8f459;pointer-events:none;background:linear-gradient(90deg,#09121bdb,#09121b00);justify-content:center;align-items:center;width:28px;height:36px;font-size:1.15rem;font-weight:700;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.theme-slider-chevron--left{left:-8px}.theme-slider-chevron--right{background:linear-gradient(270deg,#09121bdb,#09121b00);right:-8px}.theme-slider .theme-card{scroll-snap-align:start;flex:0 0 calc(33.3333% - 5.33333px);width:calc(33.3333% - 5.33333px);min-width:calc(33.3333% - 5.33333px)}.theme-summary-actions{justify-content:flex-end;margin-top:8px;display:flex}.theme-summary-footer{justify-content:flex-start;align-items:flex-start;gap:10px;margin-top:8px;display:flex}button.theme-customize-btn{color:#1a4d6e;cursor:pointer;background:linear-gradient(135deg,#e8f4fc 0%,#d8ecf7 100%);border:1px solid #1a7eb54d;border-radius:12px;justify-content:center;align-items:center;gap:5px;width:44px;min-height:44px;margin:0;padding:0;font-size:.72rem;font-weight:700;line-height:1;transition:border-color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.theme-summary-head .theme-customize-btn{flex:none}button.theme-customize-btn:not(:disabled):hover,button.theme-customize-btn:focus-visible{filter:none;color:#0f3350;background:linear-gradient(135deg,#c8e4f5 0%,#b8d8ee 100%);border-color:#7dd8f080;transform:none;box-shadow:inset 0 0 0 1px #7dd8f033}.marker-add-btn{gap:6px;padding:9px 14px;font-size:.78rem}.theme-customize-icon{color:currentColor;justify-content:center;align-items:center;width:19px;height:19px;display:inline-flex}.theme-customize-icon svg{fill:currentColor;width:19px;height:19px}button.theme-edit-done-btn{color:#1a3d56;background:#daeef8;border:1px solid #1a64a059;border-radius:8px;width:auto;margin:0;padding:5px 10px;font-size:.72rem;font-weight:700}button.theme-edit-done-btn:not(:disabled):hover,button.theme-edit-done-btn:focus-visible{filter:none;background:#bfdfef;border-color:#1a7eb5b3;transform:none}button.theme-reset-all-btn{color:#9a3412;background:#fef3ee;border:1px solid #c8502859;border-radius:8px;width:auto;margin:0;padding:5px 10px;font-size:.72rem;font-weight:700}button.theme-reset-all-btn:not(:disabled):hover,button.theme-reset-all-btn:focus-visible{filter:none;background:#fde0d2;border-color:#c8502899;transform:none}.layout-active-label{color:#1e3a4f;margin:0 0 8px;font-size:.84rem;font-weight:600}.layout-summary-head{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.layout-summary-copy{flex:auto;min-width:0}.layout-summary-label{letter-spacing:.03em;color:#e7f2fb;text-transform:uppercase;margin:0;font-size:1rem;font-weight:700}.layout-summary-label-name{text-transform:uppercase}.layout-summary-description{color:#b9cfde;margin:8px 0 0;font-size:.78rem;line-height:1.42}.section-summary-label{letter-spacing:.03em;color:#e7f2fb;text-transform:uppercase;margin:0 0 10px;font-size:1rem;font-weight:700}.section-summary-label-name{text-transform:uppercase}.layout-custom-editor{margin-bottom:10px}.layout-inline-groups{gap:10px;margin-bottom:10px;display:grid}.layout-inline-group h3{letter-spacing:.06em;color:#a8bfd1;text-transform:uppercase;margin:0 0 6px;font-size:.92rem;font-weight:700}.layout-inline-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:126px;gap:8px;width:100%;display:grid}.layout-inline-group,.layout-picker-group{grid-template-columns:1fr;align-items:start;display:grid}.theme-card{text-align:left;cursor:pointer;background:#09121bdb;border:1px solid #97b7cf57;border-radius:12px;width:100%;min-height:120px;padding:0;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden}.theme-card.is-selected{border-color:#70b8decc;box-shadow:0 0 0 2px #4b95ba38}.theme-card:hover{border-color:#70b8de99;transform:translateY(-2px)}.theme-card-name{letter-spacing:.04em;text-transform:uppercase;color:#e7f2fb;z-index:2;text-shadow:0 1px 2px #00000080;margin:0;font-size:.8rem;font-weight:700;position:absolute;bottom:8px;left:10px;right:10px}.theme-card-palette{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;width:100%;height:100%;min-height:80px;display:grid}.theme-card-palette--full{grid-template-columns:repeat(auto-fit,minmax(20px,1fr));gap:0}.theme-card.is-selected .theme-card-palette,.theme-card:hover .theme-card-palette,.theme-card:focus-within .theme-card-palette{filter:none}.theme-card-swatch{border-right:1px solid #d6e9f729;width:100%;height:80px}.theme-card-swatch:last-child{border-right:none}.theme-card-name-shadow{pointer-events:none;z-index:1;background:linear-gradient(#0000,#04080ce6);height:50%;position:absolute;bottom:0;left:0;right:0}.theme-card-description{color:#b9cfde;flex:auto;min-width:0;margin:10px 0 0;font-size:.78rem;line-height:1.42}.theme-summary-footer .theme-customize-btn{flex:none;margin:0}.layout-card{text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:flex-start;width:100%;height:126px;margin:0 0 10px;padding:8px;transition:all .2s;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000d}.layout-card.is-selected{background:#f1f5f9;border-color:#64748b;box-shadow:0 0 0 3px #64748b26}.layout-card:not(.is-selected):not(:disabled):hover,.layout-card:not(.is-selected):focus-visible{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 4px 8px #0000000f}.layout-card-copy{flex-direction:column;justify-content:flex-start;min-width:0;padding:0;display:flex}.layout-card-name{letter-spacing:.03em;text-transform:uppercase;color:#1e2937;margin:0;font-size:.72rem;font-weight:700}.layout-card-meta{letter-spacing:.03em;color:#64748b;text-transform:uppercase;margin:3px 0 0;font-family:Spline Sans Mono,monospace;font-size:.64rem}.layout-card-symbol{object-fit:contain;background:0 0;border:none;width:calc(100% - 8px);height:68px;margin:10px 4px 0;padding:0;display:block}.layout-card-description{color:#334155;margin:8px 0 0;font-size:.78rem;line-height:1.42}.layout-card.is-selected .layout-card-name,.layout-card.is-selected .layout-card-meta,.layout-card.is-selected .layout-card-description{color:#1e2937}.picker-modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#02080ebd;justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;inset:0}.picker-modal{background:#081018fa;border:1px solid #97b7cf6b;border-radius:14px;flex-direction:column;width:min(560px,100%);max-height:86vh;padding:12px;display:flex;box-shadow:0 28px 52px #0000008c}.picker-modal-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.picker-modal-header h3{text-transform:uppercase;letter-spacing:.08em;color:#8cb6d0;margin:0;font-family:Spline Sans Mono,monospace;font-size:.76rem}button.picker-modal-close{color:#d8e8f4;background:#142634f0;border:1px solid #97b7cf6b;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;margin:0;padding:0;font-size:.8rem;line-height:1;display:inline-flex}button.picker-modal-close:not(:disabled):hover,button.picker-modal-close:focus-visible{filter:none;background:#2f4f66f2;transform:none}.picker-modal-body{padding-right:3px;display:block;overflow-y:auto}.picker-option-list{gap:8px;display:grid}.picker-option-list .theme-card,.picker-option-list .layout-card{margin:0}.layout-picker-groups{gap:12px;display:grid}.layout-picker-group h4{text-transform:uppercase;letter-spacing:.08em;color:#87adc4;margin:0 0 7px;font-family:Spline Sans Mono,monospace;font-size:.9rem}.layout-picker-group .picker-option-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:126px;width:100%}.picker-modal-footer{justify-content:flex-end;margin-top:10px;display:flex}button.picker-modal-done{color:#e6f2fb;background:#142634f0;border:1px solid #97b7cf6b;padding:8px 12px}button.picker-modal-done:not(:disabled):hover,button.picker-modal-done:focus-visible{filter:none;background:#2f4f66f2;transform:none}.palette-editor-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}button.palette-color-item{cursor:pointer;background:#09121bd6;border:1px solid #97b7cf42;border-radius:8px;flex-direction:column;align-items:center;gap:5px;width:100%;margin:0;padding:5px;display:flex}button.palette-color-item.is-active{border-color:#70b8decc;box-shadow:0 0 0 2px #4b95ba38}button.palette-color-item:not(:disabled):hover,button.palette-color-item:focus-visible{filter:none;background:#142634f0;border-color:#70b8dec7;transform:none}.palette-color-swatch{border:1px solid #d6e9f726;border-radius:5px;width:100%;height:44px;display:block}.palette-color-name{color:#a8bfd1;word-break:break-word;text-align:center;font-size:.7rem;font-weight:500;line-height:1.2;display:block}.color-picker-popup{background:#152837f5;border:1px solid #97b7cf6b;border-radius:12px;max-width:500px;margin:0 auto;padding:15px;position:relative;box-shadow:inset 0 0 0 1px #1f394dc7}.color-preset-grid{grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:8px;display:grid}.color-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}button.color-preset-cell{aspect-ratio:1;cursor:pointer;border:2px solid #0000;border-radius:6px;min-height:30px;margin:0;padding:0;transition:border-color .1s,transform .1s}button.color-preset-cell.is-active{border-color:#fff;box-shadow:0 0 0 2px #ffffff59}button.color-preset-cell:not(:disabled):hover,button.color-preset-cell:focus-visible{filter:none;border-color:#d6e9f7cc;transform:scale(1.08)}button.color-grid-action{color:#d5e5f0;letter-spacing:.01em;text-align:center;background:#162b3af2;border:1px solid #97b7cf6b;border-radius:9px;justify-content:center;align-items:center;min-height:44px;margin:0;padding:0 8px;font-size:.82rem;font-weight:700;line-height:1.05;display:flex}button.color-grid-action.is-active{background:#2d4e66fa;border-color:#70b8ded1}button.color-grid-action:not(:disabled):hover,button.color-grid-action:focus-visible{filter:none;background:#2d4e66fa;border-color:#70b8ded1;transform:none}button.color-grid-reset{color:#ffd7c2;border-color:#ffb18e94}.color-manual-panel{background:#0d1923db;border:1px solid #97b7cf57;border-radius:10px;margin-top:10px;padding:12px;box-shadow:inset 0 0 0 1px #1f394d9e}.color-custom-panel{gap:11px;display:grid}.color-picker-frame{background:#0f1c26f5;border:1px solid #97b7cf57;border-radius:12px;padding:10px}.color-picker-frame .react-colorful{width:100%;height:220px}.color-picker-frame .react-colorful__saturation{border-bottom:none;border-radius:10px 10px 0 0}.color-picker-frame .react-colorful__hue{border-radius:999px;height:20px;margin-top:10px}.color-picker-frame .react-colorful__interactive{border-radius:inherit}.color-picker-frame .react-colorful__pointer{border-width:2px;width:20px;height:20px;box-shadow:0 0 0 1px #060e14d6,0 0 0 4px #060e142e}label.color-field-label{color:#8ab0c6;flex-direction:column;gap:2px;margin-bottom:0;font-size:.68rem;font-weight:600;display:flex}.color-hex-input{letter-spacing:.04em;background:#1a2f40fa;border-color:#97b7cf80;border-radius:10px;width:100%;min-height:50px;margin-top:0;padding:12px 14px;font-family:Spline Sans Mono,monospace;font-size:1rem}.markers-summary-card{gap:10px;display:grid}.markers-summary-copy{color:#9fbcd0;margin:0;font-size:.78rem;line-height:1.45}.markers-summary-preview{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.markers-summary-preview-count{color:#b8cedd;background:#0c1722e6;border:1px solid #97b7cf47;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-family:Spline Sans Mono,monospace;font-size:.68rem;display:inline-flex}.markers-section__copy,.markers-section__empty,.markers-section__hint{color:#9fbcd0;margin:0;font-size:.78rem;line-height:1.45}.markers-section__content{gap:12px;margin-top:12px;display:grid}.markers-section-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.markers-section-head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.marker-info-wrap{display:inline-flex;position:relative}.marker-info-wrap--bottom{justify-self:end}button.marker-info-btn{color:#b6cfe0;background:#0f1c28e6;border:1px solid #97b7cf52;border-radius:999px;width:24px;height:24px}button.marker-info-btn:not(:disabled):hover,button.marker-info-btn:focus-visible{filter:none;background:#243e50f0;border-color:#70b8deb8;transform:none}.marker-info-btn svg{width:13px;height:13px}.marker-info-popover{z-index:8;color:#c2d8e7;opacity:0;pointer-events:none;background:#070e15f7;border:1px solid #97b7cf57;border-radius:8px;width:min(320px,70vw);padding:8px 10px;font-size:.72rem;line-height:1.45;transition:opacity .14s;position:absolute;top:calc(100% + 6px);right:0}.marker-info-wrap:hover .marker-info-popover,.marker-info-wrap:focus-within .marker-info-popover{opacity:1}.markers-section__list{gap:10px;display:grid}.markers-section__mobile-strip{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;align-items:stretch;gap:7px;padding-top:10px;padding-bottom:2px;padding-right:16px;display:flex;overflow-x:auto}.markers-section__mobile-strip::-webkit-scrollbar{display:none}.markers-section__marker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.marker-mobile-card{scroll-snap-align:start;background:#0a141fc7;border:1px solid #97b7cf42;border-radius:10px;flex:0 0 clamp(90px,30%,116px);min-width:clamp(90px,30%,116px);position:relative}.marker-mobile-card.is-selected{border-color:#70b8ded1;box-shadow:0 0 0 2px #4b95ba33}button.marker-mobile-card__select{color:#d8e8f4;background:0 0;border:none;border-radius:10px;align-content:center;justify-items:center;gap:7px;width:100%;min-height:72px;margin:0;padding:8px 6px 7px;display:grid}button.marker-mobile-card__select:not(:disabled):hover,button.marker-mobile-card__select:focus-visible{filter:none;background:#142736f0;transform:none}.marker-mobile-card__label{text-align:center;color:#d9e8f4;white-space:normal;word-break:break-word;width:100%;font-size:.64rem;font-weight:700;line-height:1.25}button.marker-mobile-card__delete{z-index:1;color:#ffd5cb;background:#522c24db;border:1px solid #ff988157;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;margin:0;padding:0;display:inline-flex;position:absolute;top:0;right:0;transform:translate(35%,-35%)}button.marker-mobile-card__delete svg{width:15px;height:15px}button.marker-mobile-card__delete:not(:disabled):hover,button.marker-mobile-card__delete:focus-visible{filter:none;background:#61352cf0;border-color:#ff9881b8;transform:translate(35%,-35%)}.markers-section__actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.markers-section__actions .marker-row__icon-btn{flex:1 1 0;min-width:0}button.marker-delete-all-btn{color:#ffd5cb;background:#522c24d1;border-color:#ff988157;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:40px;margin:0;padding:8px 12px;display:inline-flex}button.marker-delete-all-btn:not(:disabled):hover,button.marker-delete-all-btn:focus-visible{filter:none;background:#61352ceb;border-color:#ff9881b8;transform:none}.marker-delete-confirm-modal{width:min(420px,100%);max-height:unset}.marker-delete-modal-body{background:linear-gradient(#ff7c6b1a,#0a1824);gap:12px;padding:16px;display:grid}.marker-delete-modal-headline{color:#e4f2fc;margin:0;font-size:1rem;font-weight:700}.marker-delete-modal-text{color:#b8cedd;margin:0;font-size:.9rem}.marker-delete-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}button.marker-delete-modal-cancel{color:#e8f3fb;background:#142634f0;border:1px solid #97b7cf6b;border-radius:9px;width:auto;margin:0;padding:8px 12px}button.marker-delete-modal-cancel:not(:disabled):hover,button.marker-delete-modal-cancel:focus-visible{filter:none;background:#2c4e66fa;border-color:#70b8ded1;transform:none}button.marker-delete-modal-confirm{color:#ffd5cb;background:#522c24e0;border:1px solid #ff98816b;border-radius:9px;align-items:center;gap:8px;width:auto;margin:0;padding:8px 12px;display:inline-flex}button.marker-delete-modal-confirm:not(:disabled):hover,button.marker-delete-modal-confirm:focus-visible{filter:none;background:#61352ceb;border-color:#ff9881b8;transform:none}.marker-settings-card,.marker-editor-card{background:#0a141fc7;border:1px solid #97b7cf42;border-radius:12px;gap:10px;padding:12px;display:grid}.marker-editor-card.is-disabled{opacity:.55}.marker-settings-card__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.marker-settings-card__header h3{text-transform:uppercase;letter-spacing:.08em;color:#8cb6d0;margin:0;font-family:Spline Sans Mono,monospace;font-size:.72rem}button.marker-settings-card__reset-btn{color:#ffd7c2;background:#492d22d6;border-color:#ffb18e94;width:auto;margin:0;padding:7px 10px}.marker-editor-toolbar-btn{justify-content:center;min-width:108px}.marker-editor-toolbar-btn--danger{color:#ffd7c2;background:#492d22d6;border-color:#ffb18e94}.marker-editor-toolbar-btn--danger:not(:disabled):hover,.marker-editor-toolbar-btn--danger:focus-visible{filter:none;background:#603a2beb;border-color:#ffb18ed9;transform:none}.marker-settings-card__theme-color{gap:6px;display:grid}.marker-settings-card__theme-label{color:#d9e7f2;font-size:.84rem;font-weight:600}.marker-header-action-btn{min-width:128px}.marker-header-settings-btn.is-compact{width:40px;min-width:40px;padding:0}.marker-header-action-btn.is-active{background:#2a485df2;border-color:#70b8ded1}.marker-settings-toggle-hint{color:#8fb0c6;width:100%;margin:0;font-size:.72rem;line-height:1.35}.marker-settings-card__theme-note{color:#8fb0c6;margin:0;font-size:.74rem;line-height:1.45}.marker-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.marker-row__summary{align-items:center;gap:10px;min-width:0;display:flex}.marker-row__title{color:#e7f2fb;font-size:.84rem;font-weight:700}.marker-row__actions{align-items:center;gap:8px;display:flex}button.marker-row__icon-btn{color:#d8e8f4;background:#122534f0;border-color:#97b7cf57;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:auto;min-width:90px;height:38px;margin:0;padding:0 12px;display:inline-flex}.marker-row__icon-btn-icon{justify-content:center;align-items:center;display:inline-flex}.marker-row__icon-btn-label{letter-spacing:.02em;font-size:.76rem}button.marker-row__icon-btn--danger{color:#ffd5cb;background:#522c24d1;border-color:#ff988157;min-width:38px;padding:0}.marker-editor-card__details{border-top:1px solid #97b7cf2e;gap:10px;padding-top:10px;display:grid}.marker-editor-card__stack{gap:10px;display:grid}.marker-editor-card__size-row,.marker-editor-card__color-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:4px;display:grid}.marker-editor-card__size-slider{appearance:none;cursor:pointer;background:0 0;border:none;outline:none;width:100%;height:26px;margin:0;padding:0;display:block}.marker-editor-card__size-slider::-webkit-slider-runnable-track{box-sizing:border-box;background:linear-gradient(#1c3345f2,#11222ff2);border:1px solid #97b7cf57;border-radius:999px;height:12px}.marker-editor-card__size-slider::-webkit-slider-thumb{appearance:none;box-sizing:border-box;background:radial-gradient(circle at 35% 35%,#4ca9cd,#2a7fa0 70%);border:2px solid #e8f3fb;border-radius:999px;width:22px;height:22px;margin-top:-6px;box-shadow:0 0 0 2px #050d1473,0 2px 6px #00000059}.marker-editor-card__size-slider::-moz-range-track{box-sizing:border-box;background:linear-gradient(#1c3345f2,#11222ff2);border:1px solid #97b7cf57;border-radius:999px;height:12px}.marker-editor-card__size-slider::-moz-range-thumb{box-sizing:border-box;background:radial-gradient(circle at 35% 35%,#4ca9cd,#2a7fa0 70%);border:2px solid #e8f3fb;border-radius:999px;width:22px;height:22px;box-shadow:0 0 0 2px #050d1473,0 2px 6px #00000059}.marker-editor-card__size-slider::-moz-range-progress{background:linear-gradient(#2b5f7ef2,#235470f2);border-radius:999px;height:12px}.marker-editor-card__size-input{width:88px}.marker-editor-card__color-input{cursor:pointer;border-radius:10px;width:54px;min-width:54px;min-height:48px;padding:4px}.marker-editor-card__color-row--readonly{grid-template-columns:auto auto;justify-content:start}.marker-editor-card__color-swatch{background:#000;border:1px solid #97b7cf42;border-radius:10px;width:48px;min-width:48px;min-height:48px}.marker-color-control{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}button.marker-color-display-btn{background:0 0;border:none;align-items:center;gap:8px;width:auto;margin:0;padding:0;display:inline-flex}button.marker-color-display-btn:not(:disabled):hover,button.marker-color-display-btn:focus-visible{filter:none;transform:none}button.marker-color-edit-btn{color:#d8e8f4;background:#132635f0;border:1px solid #97b7cf57;border-radius:8px;width:auto;margin:0;padding:5px 10px;font-size:.72rem;font-weight:700}button.marker-color-edit-btn:not(:disabled):hover,button.marker-color-edit-btn:focus-visible{filter:none;background:#2a485df2;border-color:#70b8ded1;transform:none}.marker-editor-card__color-value{color:#ebf3fa;letter-spacing:.04em;background:#09121bd6;border:1px solid #97b7cf42;border-radius:10px;align-items:center;min-height:48px;padding:0 12px;font-family:Spline Sans Mono,monospace;font-size:.8rem;display:inline-flex}.marker-editor-card__icon-field{margin-bottom:0}.marker-picker{gap:10px;margin-top:6px;display:grid}.marker-picker__section-title{text-transform:uppercase;letter-spacing:.06em;color:#8cb6d0;margin:0;font-size:.72rem;font-weight:700}.marker-picker__divider{background:#97b7cf38;width:100%;height:1px}.marker-picker__divider--actions{margin-top:-2px}.marker-picker__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}button.marker-picker__option{background:#0c1722e6;border:1px solid #97b7cf47;border-radius:10px;justify-items:center;gap:6px;margin:0;padding:8px 6px;display:grid}button.marker-picker__option--uploaded{position:relative}button.marker-picker__option--upload-tile{background:#101f2ce6;border-style:dashed;border-color:#70b8de85}button.marker-picker__option--toggle{background:#0e1b27eb;border-style:dashed;border-color:#97b7cf57}button.marker-picker__option.is-selected{border-color:#70b8ded1;box-shadow:0 0 0 2px #4b95ba38}button.marker-picker__option:not(:disabled):hover,button.marker-picker__option:focus-visible{filter:none;background:#162a3af5;border-color:#70b8decc;transform:none}.marker-picker__label{color:#b8cedd;font-size:.68rem;line-height:1.2}.marker-picker__uploaded-empty{color:#8fb0c6;margin:0;font-size:.74rem}.marker-picker__upload-plus{color:#cfe6f5;border:1px solid #70b8de85;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1rem;font-weight:700;display:inline-flex}.marker-picker__toggle-sign{color:#d8e8f4;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.4rem;font-weight:700;line-height:1;display:inline-flex}.marker-picker__remove-uploaded{color:#ffd5cb;background:#522c24e6;border:1px solid #ff988166;border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;line-height:1;display:inline-flex;position:absolute;top:4px;right:4px}.marker-picker__remove-uploaded:hover,.marker-picker__remove-uploaded:focus-visible{background:#61352cf2;border-color:#ff9881b8}.marker-picker__actions{flex-wrap:wrap;gap:8px;display:flex}button.marker-picker__toggle,button.marker-picker__upload{color:#d8e8f4;background:#132635f0;border-color:#97b7cf57;border-radius:9px;align-items:center;gap:6px;width:auto;margin:0;padding:7px 10px;font-size:.74rem;display:inline-flex}button.marker-picker__clear-uploaded{color:#ffd5cb;background:#522c24d1;border-color:#ff988157}.marker-picker__file-input{display:none}.marker-picker__error{color:#ffb39a;margin:0;font-size:.72rem}.marker-visual{width:var(--marker-size);height:var(--marker-size);color:var(--marker-color);justify-content:center;align-items:center;display:inline-flex}.marker-settings-screen .marker-visual,.markers-summary-preview .marker-visual{filter:drop-shadow(0 0 1px #ffffffd1)drop-shadow(0 0 3px #050d14b8)}.marker-visual__icon,.marker-visual__image{width:100%;height:100%}.marker-visual__image-mask{width:100%;height:100%;-webkit-mask-image:var(--marker-mask-url);mask-image:var(--marker-mask-url);-webkit-mask-image:var(--marker-mask-url);background:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.marker-visual__icon{color:inherit;justify-content:center;align-items:center;display:inline-flex}.marker-visual__icon svg{width:100%;height:100%;display:block}.marker-visual__image{object-fit:contain}.action-row{gap:8px;margin-top:10px;display:grid}.export-map-label{text-transform:uppercase;letter-spacing:.09em;color:#7de4a6;margin:0;font-family:Spline Sans Mono,monospace;font-size:.72rem}.action-row>button{width:100%;padding:8px 12px}.download-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}button.download-format-btn{grid-auto-flow:column;justify-content:center;align-items:center;gap:8px;min-height:42px;margin:0;padding:10px 12px;display:grid}button.export-map-btn{color:#effff5;background:linear-gradient(135deg,#2a7e4ff5,#1d6740f5);border:1px solid #78dda18f}button.export-map-btn:not(:disabled):hover,button.export-map-btn:focus-visible{background:linear-gradient(135deg,#328d59fa,#227549fa);border-color:#93ebb7e0}.download-btn-icon{justify-content:center;align-items:center;display:inline-flex}.download-btn-icon svg{width:20px;height:20px}.download-btn-icon.is-spinning{animation:.9s linear infinite export-icon-spin}.download-btn-icon path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}@keyframes export-icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}button{cursor:pointer;border:1px solid #0000;border-radius:11px;padding:10px 12px;font-weight:700;transition:transform .14s,filter .14s}button.icon-only-btn{justify-content:center;align-items:center;padding:0;display:inline-flex}button:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-1px)}button.theme-card:not(:disabled):hover,button.theme-card:focus-visible{filter:none;transform:none}.picker-option-list--themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.picker-option-list--themes .theme-card{width:100%}button:disabled{opacity:.52;cursor:not-allowed}button[type=submit]{color:#f4fbff;background:linear-gradient(135deg,#1a6f8c,#2f8eaf)}button.location-clear-btn{z-index:1;color:#1e2937;background:#fff;border:1px solid #e5e7eb;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;margin:0;padding:0;font-size:.85rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex;position:absolute;top:50%;right:8px;transform:translateY(-50%);box-shadow:0 1px 3px #00000014}button.location-clear-btn:not(:disabled):hover,button.location-clear-btn:focus-visible{color:#111827;background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-50%)scale(1.08);box-shadow:0 2px 5px #0000001f}.ghost{color:#ffc6aa;background:#ff844f24;border-color:#ff8e5e52}.status,.error{margin:10px 0 0;font-size:.8rem}.status{color:var(--positive)}.error{color:var(--negative)}@media (max-width:760px){.field-grid,.field-grid.triple{grid-template-columns:1fr}.field-grid.keep-two-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-summary-header,.theme-edit-header{flex-direction:row;align-items:center}.card-scroll-list{white-space:nowrap;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.card-scroll-list::-webkit-scrollbar{display:none}.card-scroll-list .theme-card{scroll-snap-align:start;filter:brightness(.75);flex:0 0 min(72vw,280px);width:min(72vw,280px);min-height:144px;margin:0}.card-scroll-list .theme-card .theme-card-palette,.card-scroll-list .theme-card .theme-card-swatch{min-height:144px}.layout-inline-groups,.layout-picker-groups{overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:8px;display:flex;overflow-x:auto}.layout-inline-groups::-webkit-scrollbar{display:none}.layout-picker-groups::-webkit-scrollbar{display:none}.layout-inline-group,.layout-picker-group,.layout-inline-list.card-scroll-list,.picker-option-list.card-scroll-list{display:contents}.layout-inline-group h3,.layout-picker-group h4{display:none}.layout-inline-groups .layout-card,.layout-picker-groups .layout-card{scroll-snap-align:start;flex:0 0 min(44vw,164px);width:min(44vw,164px);height:168px;margin:0}.layout-inline-groups .layout-card .layout-card-symbol,.layout-picker-groups .layout-card .layout-card-symbol{object-fit:contain;width:calc(100% - 8px);height:104px;margin:10px 4px 0}.theme-edit-actions{justify-content:flex-end;width:auto}.palette-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.color-preset-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.color-picker-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.color-picker-popup{max-width:100%;padding:15px}button.color-preset-cell{min-height:40px}button.color-grid-action{min-height:48px;font-size:.84rem}.color-picker-frame .react-colorful{height:200px}.marker-settings-card__header,.marker-row{flex-direction:column;align-items:stretch}.marker-color-control{align-items:stretch}.marker-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.markers-section__marker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.marker-row__actions{justify-content:flex-end}.color-hex-input{min-height:56px;font-size:1.04rem}.form-control-tall,.map-dimension-input{min-height:56px;padding:13px 12px}.action-row{grid-template-columns:1fr}.picker-modal-backdrop{padding:8px}.picker-modal{max-height:92vh;padding:10px}}@media (min-width:761px){.theme-mobile-slider{display:none}.theme-summary-view>.theme-card{display:block}.picker-option-list--themes .theme-card:hover .theme-card-swatch,.picker-option-list--themes .theme-card:focus-visible .theme-card-swatch{margin-left:4px}.picker-option-list--themes .theme-card:hover .theme-card-swatch:first-child,.picker-option-list--themes .theme-card:focus-visible .theme-card-swatch:first-child{margin-left:0}}.selected-theme-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14263480;border:1px solid #70b8de40;border-radius:16px;margin-bottom:24px;padding:18px}.selected-theme-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.selected-theme-badge{text-transform:uppercase;letter-spacing:.08em;color:#88b7d5;background:#88b7d51f;border-radius:20px;padding:4px 8px;font-family:Spline Sans Mono,monospace;font-size:.65rem;font-weight:600}.theme-customize-label{margin-left:6px;font-size:.7rem;font-weight:500}.selected-theme-content{flex-direction:column;gap:12px;display:flex}.selected-theme-name{color:#e7f2fb;text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:1.3rem;font-weight:700;line-height:1.2}.selected-theme-description{color:#b9cfde;margin:0;font-size:.8rem;line-height:1.45}.selected-theme-palette{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.selected-theme-swatch{cursor:default;border:1px solid #d6e9f740;border-radius:10px;width:36px;height:36px;transition:transform .15s,box-shadow .15s}.selected-theme-swatch:hover{transform:scale(1.08);box-shadow:0 2px 8px #0000004d}.theme-options-section{margin-top:8px}.theme-options-title{text-transform:uppercase;letter-spacing:.08em;color:#88b7d5;margin:0 0 14px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:600}.theme-grid-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.theme-grid-list .theme-card{width:100%;min-height:110px;margin:0}.theme-grid-list .theme-card-palette,.theme-grid-list .theme-card-swatch{min-height:70px}.theme-grid-list .theme-card-name{font-size:.75rem;bottom:6px;left:8px;right:8px}@media (max-width:500px){.theme-grid-list{grid-template-columns:1fr}}.theme-grid-list .theme-card:hover{border-color:#70b8de99;transform:translateY(-2px)}.theme-vertical-list{flex-direction:column;gap:8px;max-height:400px;padding-right:4px;display:flex;overflow-y:auto}.theme-vertical-list::-webkit-scrollbar{width:6px}.theme-vertical-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:10px}.theme-vertical-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}.theme-vertical-item{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:12px;width:100%;padding:10px;transition:all .2s;display:flex;box-shadow:0 1px 2px #00000008}.theme-vertical-item:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px #0000000f}.theme-vertical-item.is-selected{background:#f1f5f9;border-color:#64748b;box-shadow:0 2px 5px #00000014}.theme-vertical-preview{flex-shrink:0;gap:2px;display:flex}.theme-vertical-swatch{border:1px solid #e2e8f0;border-radius:4px;width:24px;height:24px}.theme-vertical-info{flex:1;min-width:0}.theme-vertical-name{color:#1e2937;text-transform:uppercase;letter-spacing:.3px;font-size:.8rem;font-weight:600;display:block}.theme-vertical-description{color:#64748b;white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;display:block;overflow:hidden}.theme-vertical-check{color:#0f172a;flex-shrink:0;font-size:1.1rem;font-weight:700}.style-subsection{margin-bottom:20px}.style-subsection:last-child{margin-bottom:0}.style-subsection-title{text-transform:uppercase;letter-spacing:.08em;color:#1e3a4f;margin:0 0 12px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:600}.distance-control{flex-direction:column;gap:8px;display:flex}.distance-control>span:first-child{color:#1e2937;font-size:.75rem;font-weight:500}.distance-slider-group{align-items:center;gap:12px;display:flex}.distance-label{color:#64748b;white-space:nowrap;font-family:Spline Sans Mono,monospace;font-size:.65rem}.distance-slider{-webkit-appearance:none;background:#e2e8f0;border-radius:9999px;outline:none;flex:1;height:4px}.distance-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#1e2937;border:2px solid #fff;border-radius:50%;width:16px;height:16px;transition:all .2s;box-shadow:0 2px 6px #0003}.distance-slider::-webkit-slider-thumb:hover{background:#111827;transform:scale(1.08)}.distance-slider::-moz-range-thumb{cursor:pointer;background:#1e2937;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 6px #0003}.distance-value{color:#1e2937;text-align:right;min-width:36px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:500}.layers-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.layer-toggle{color:#d9e7f2;cursor:pointer;align-items:center;gap:8px;font-size:.75rem;display:flex}.layer-toggle input{cursor:pointer;width:16px;height:16px}.layout-categories{flex-direction:column;gap:20px;display:flex}.layout-category-title{text-transform:uppercase;letter-spacing:.08em;color:#1e3a4f;margin:0 0 12px;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:600}.layout-grid{gap:12px;display:grid}.layout-grid--print,.layout-grid--social_media,.layout-grid--wallpaper,.layout-grid--web{grid-template-columns:repeat(2,1fr)}.style-group{margin-bottom:18px}.style-group-label{color:#1e3a4f;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.alignment-buttons{background:#f8f9fa;border:1px solid #e5e7eb;border-radius:12px;gap:6px;width:fit-content;padding:5px;display:flex;box-shadow:0 1px 3px #0000000d}.alignment-btn{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.75rem;font-weight:500;transition:all .2s;display:flex}.alignment-btn:hover{color:#111827;background:#f1f3f5}.alignment-btn.is-active{color:#fff;background:#111827;box-shadow:0 1px 3px #0000001a}.alignment-btn.is-active:hover{background:#1f2937}.alignment-icon{font-size:.9rem}.alignment-label{text-transform:uppercase;font-family:Spline Sans Mono,monospace;font-size:.7rem}.size-buttons{gap:10px;display:flex}.size-btn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:10px 16px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000d}.size-btn:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 5px #00000014}.size-btn.is-active{background:#f1f5f9;border-color:#64748b;box-shadow:0 2px 6px #0000001a}.size-preview{color:#1e2937;font-size:1.1rem;font-weight:700}.size-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-family:Spline Sans Mono,monospace;font-size:.65rem}.opacity-slider-container{align-items:center;gap:12px;padding:8px 0;display:flex}.opacity-icon{color:#64748b;opacity:.7;font-size:1rem}.opacity-slider{appearance:none;background:linear-gradient(90deg,#37abcb4d,#37abcbe6);border-radius:3px;outline:none;flex:1;height:6px}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#1e2937;border:2px solid #fff;border-radius:50%;width:16px;height:16px;transition:all .2s;box-shadow:0 2px 6px #0003}.opacity-slider::-webkit-slider-thumb:hover{background:#111827;transform:scale(1.05)}.opacity-value{float:right;font-family:Spline Sans Mono,monospace;font-size:.7rem}.font-selector-label{margin:12px 0;display:block}.font-selector-title{color:#1e3a4f;margin-bottom:6px;font-size:.8rem;font-weight:600;display:block}.export-section-content{justify-content:center;margin-top:8px;display:flex}.left-panel-scroll,.right-panel-scroll{flex-direction:column;gap:24px;padding:20px 16px;display:flex}.panel-section{border-bottom:1px solid #92b0c81a}.panel-section:last-child{border-bottom:none;padding-bottom:0}.panel-section-title{text-transform:uppercase;letter-spacing:.1em;color:#111827;margin:0 0 16px;font-family:Spline Sans Mono,monospace;font-size:.7rem}.export-container{justify-content:center;margin-top:8px;display:flex}.export-container .desktop-export-fab{width:100%;box-shadow:none;background:0 0;flex-direction:column;align-items:stretch;gap:10px;padding:0;display:flex;position:static}.export-container .desktop-export-btn{white-space:nowrap;width:100%;min-width:auto;padding:12px 16px;font-size:.85rem}.export-container .desktop-export-flyout{opacity:1;pointer-events:auto;flex-direction:column;gap:8px;max-height:none;display:flex;position:static;overflow:visible;transform:none}.export-container .desktop-export-fab:hover .desktop-export-flyout{max-height:none}.export-container .desktop-export-btn--primary{display:none}.export-buttons-panel{flex-direction:column;gap:10px;width:100%;display:flex}.export-panel-btn{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-family:Spline Sans Mono,monospace;font-size:.85rem;font-weight:700;transition:all .2s;display:flex}.export-panel-btn:disabled{opacity:.6;cursor:not-allowed}.export-panel-btn:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-2px)}.export-panel-btn-icon{width:18px;height:18px}.export-panel-btn-icon.is-spinning{animation:.9s linear infinite export-spin}@keyframes export-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.export-panel-btn--png{color:#0d1f2e;background:#e8f2fbf5;border-color:#b4d2eb8c}.export-panel-btn--png:not(:disabled):hover{color:#091826;background:#dcecfa;border-color:#8cb9dccc}.export-panel-btn--pdf{color:#ffc6aa;background:#301608eb;border-color:#ff8e5e5c}.export-panel-btn--pdf:not(:disabled):hover{color:#ffd5be;background:#411e0af5;border-color:#ff8e5ea3}.export-panel-btn--svg{color:#effff5;background:linear-gradient(135deg,#2a7e4ff5,#1d6740f5);border-color:#78dda18f}.export-panel-btn--svg:not(:disabled):hover{color:#f0fff6;background:linear-gradient(135deg,#328d59fa,#227549fa);border-color:#93ebb7e0}.export-buttons-row{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;display:grid}.export-row-btn{text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px 8px;font-family:Spline Sans Mono,monospace;font-size:.8rem;font-weight:700;display:flex}.export-row-btn:disabled{opacity:.6;cursor:not-allowed}.export-row-btn:not(:disabled):hover{filter:brightness(1.05);transform:translateY(-2px)}.export-row-btn-icon{width:16px;height:16px}.export-row-btn-icon.is-spinning{animation:.9s linear infinite export-spin}.export-row-btn--png{color:#0d1f2e;background:#e8f2fbf5;border-color:#b4d2eb8c}.export-row-btn--png:not(:disabled):hover{color:#091826;background:#dcecfa;border-color:#8cb9dccc}.export-row-btn--pdf{color:#ffc6aa;background:#301608eb;border-color:#ff8e5e5c}.export-row-btn--pdf:not(:disabled):hover{color:#ffd5be;background:#411e0af5;border-color:#ff8e5ea3}.export-row-btn--svg{color:#effff5;background:linear-gradient(135deg,#2a7e4ff5,#1d6740f5);border-color:#78dda18f}.export-row-btn--svg:not(:disabled):hover{color:#f0fff6;background:linear-gradient(135deg,#328d59fa,#227549fa);border-color:#93ebb7e0}@media (max-width:500px){.export-buttons-row{grid-template-columns:1fr;gap:8px}.export-row-btn{padding:12px}}.location-banner{z-index:200;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #1a7eb540;border-radius:16px;width:min(560px,100% - 32px);animation:.3s cubic-bezier(.32,.72,0,1) banner-slide-in;position:fixed;top:70px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #0006}@keyframes banner-slide-in{0%{opacity:0;transform:translate(-50%)translateY(-20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.location-banner-content{flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;display:flex}.location-banner-icon{flex-shrink:0;font-size:1.8rem}.location-banner-text{flex:1;min-width:160px}.location-banner-text strong{color:#0f2233;margin-bottom:4px;font-family:Spline Sans Mono,monospace;font-size:.85rem;display:block}.location-banner-text span{color:#4a6d82;font-size:.75rem;line-height:1.3}.location-banner-search{flex:2;min-width:220px;position:relative}.location-banner-input-wrapper{align-items:center;display:flex;position:relative}.location-banner-search-icon{color:#88b7d5;pointer-events:none;width:16px;height:16px;position:absolute;left:12px}.location-banner-input{color:#e8f4ff;background:#142634e6;border:1px solid #97b7cf4d;border-radius:10px;outline:none;width:100%;padding:10px 32px 10px 38px;font-family:Spline Sans Mono,monospace;font-size:.85rem}.location-banner-input:focus{border-color:#111827;box-shadow:0 0 0 2px #4b95ba33}.location-banner-clear{color:#d2e3ef;cursor:pointer;background:#1e3547e6;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;display:flex;position:absolute;right:10px}.location-banner-clear:hover{background:#2f4f66f2}.location-banner-suggestions{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:201;background:#091018fa;border:1px solid #92b0c833;border-radius:10px;max-height:200px;margin:0;padding:6px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.location-banner-suggestion{text-align:left;color:#dfebf6;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:10px 12px;font-size:.8rem}.location-banner-suggestion:hover{background:#5eaed426}.location-banner-suggestion-status{color:#8fb0c6;padding:10px 12px;font-size:.75rem}.location-banner-actions{flex-shrink:0;gap:8px;display:flex}.location-banner-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-family:Spline Sans Mono,monospace;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.location-banner-btn--geo{color:#1a3d56;background:#e8f3fa;border-color:#1a64a04d}.location-banner-btn--geo:hover:not(:disabled){background:#2f4f66f2;border-color:#70b8de80;transform:translateY(-1px)}.location-banner-btn--geo:disabled{opacity:.6;cursor:not-allowed}.location-banner-btn--geo svg{width:14px;height:14px}.location-banner-btn--dismiss{color:#4a7a96;background:0 0;border-color:#1a64a033}.location-banner-btn--dismiss:hover{color:#0f3d5a;background:#1a7eb514;border-color:#5eaed466;transform:translateY(-1px)}.location-banner-btn--dismiss svg{width:12px;height:12px}@media (max-width:768px){.location-banner{width:calc(100% - 16px);top:66px}.location-banner-content{flex-direction:column;align-items:stretch;gap:12px}.location-banner-text{text-align:center}.location-banner-actions{justify-content:center}}.format-group{margin-bottom:16px}.format-label{color:#1e2937;letter-spacing:.3px;margin-bottom:8px;font-size:.8rem;font-weight:600;display:block}.orientation-buttons{gap:10px;display:flex}.orientation-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-family:Spline Sans Mono,monospace;font-size:.8rem;font-weight:600;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000a}.orientation-btn:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 5px #0000000f}.orientation-btn.is-active{color:#fff;background:#111827;border-color:#111827;box-shadow:0 2px 6px #0000001f}.orientation-icon{font-size:1.1rem;line-height:1}.custom-size-fields{border-top:1px solid #e5e7eb;margin-top:16px;padding-top:16px}.format-hint{color:#64748b;margin:12px 0 0;font-family:Spline Sans Mono,monospace;font-size:.7rem;font-weight:500}
.poster-viewport{background:linear-gradient(#ffffff0f,#0000 28%),radial-gradient(circle at 82% 16%,#4da1c947,#0000 32%),linear-gradient(145deg,#f7f5f4,#dce8f2);border:1px solid #14508c33;border-radius:14px;place-items:center;min-height:850px;display:grid;position:relative;overflow:hidden}.poster-viewport:before{content:"";pointer-events:none;background-image:linear-gradient(#14508c14 1px,#0000 1px),linear-gradient(90deg,#14508c14 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:0}.poster-frame{z-index:1;aspect-ratio:var(--poster-aspect,2 / 3);width:min(100%, calc(82vh * var(--poster-aspect,.666667)));border:1px solid #14508c33;border-radius:4px;max-width:100%;max-height:82vh;position:relative;overflow:hidden}.map-container{border-radius:inherit;position:absolute;inset:0;overflow:hidden}.map-container .maplibregl-control-container{display:none}.poster-fade{pointer-events:none;z-index:2;height:25%;position:absolute;left:0;right:0}.poster-fade--top{top:0}.poster-fade--bottom{bottom:0}.poster-text-overlay{pointer-events:none;z-index:4;position:absolute;inset:0;container-type:size}.poster-marker-overlay{z-index:3;pointer-events:none;position:absolute;inset:0}.poster-marker-overlay.is-edit-mode{pointer-events:auto;touch-action:none;overscroll-behavior:contain}.poster-marker{pointer-events:none;position:absolute;transform:translate(-50%,-50%)}.poster-marker.is-draggable{pointer-events:auto;cursor:grab;touch-action:none}.poster-marker.is-draggable.is-dragging{cursor:grabbing}.poster-marker.is-selected{filter:none}.poster-marker.is-selected .marker-visual{border:2px solid var(--marker-highlight-color,#1a65b4d9);border-radius:999px;box-shadow:0 0 0 1px #071018ad}.poster-city{text-transform:uppercase;white-space:pre-wrap;margin:0;font-weight:700;line-height:1.1;position:absolute;left:0;right:0;transform:translateY(-50%)}.poster-divider{border:0;border-top:2px solid;height:0;margin:0;position:absolute;left:40%;right:40%;transform:translateY(-50%)}.poster-country{text-transform:uppercase;letter-spacing:.15em;opacity:.85;margin:0;font-size:2.6cqh;font-weight:300;line-height:1.2;position:absolute;left:0;right:0;transform:translateY(-50%)}.poster-coords{opacity:.65;letter-spacing:.08em;margin:0;font-family:Spline Sans Mono,monospace;font-size:1.6cqh;font-weight:400;position:absolute;left:0;right:0;transform:translateY(-50%)}.poster-attribution{text-align:right;opacity:.55;font-family:Spline Sans Mono,monospace;font-size:.85cqh;font-weight:300;position:absolute}.poster-credits{text-align:left;opacity:.55;font-family:Spline Sans Mono,monospace;font-size:.85cqh;font-weight:300;position:absolute}@media (max-width:980px){.poster-viewport{min-height:400px}.poster-frame{width:min(100%, calc(68vh * var(--poster-aspect,.666667)));max-height:68vh}}.map-control-hint{color:#14508cb3;text-align:center;white-space:pre-line;background:#14508c14;border-radius:7px;align-items:center;gap:5px;margin:0;padding:4px 8px;font-family:Spline Sans Mono,monospace;font-size:.7rem;display:flex}.map-control-hint-icon{flex-shrink:0;font-size:.8em}.app-shell--three-column .preview-panel .poster-viewport{min-height:unset!important;background:#f7f5f4!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.app-shell--three-column .preview-panel .poster-viewport:before{display:none!important}
