.poster-viewport{border:1px solid var(--strong-line);background:linear-gradient(180deg, #ffffff0f, transparent 28%), radial-gradient(circle at 82% 16%, #4da1c926, transparent 32%), var(--bg-color);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(var(--bg-dots) 1px, transparent 1px), linear-gradient(90deg, var(--bg-dots) 1px, transparent 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 var(--line);border-radius:4px;max-width:100%;max-height:82vh;position:relative;overflow:hidden;box-shadow:0 24px 34px #00000080,0 8px 14px #0000006b;container-type:size}.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:10;position:absolute;inset:0;container-type:size}.poster-passepartout{pointer-events:none;z-index:5;border:3cqw solid #fff;border-bottom-width:20cqh;position:absolute;inset:0}.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,#5eceffe6);box-shadow:0 0 0 1px var(--bg-color);border-radius:999px}.poster-city{text-transform:uppercase;text-align:center;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;text-align:center;margin:0;font-size:2.6cqh;font-weight:300;line-height:1.2;position:absolute;left:0;right:0;transform:translateY(-50%)}.poster-coords{text-align:center;opacity:.75;margin:0;font-family:JetBrains 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:JetBrains Mono,monospace;font-size:.85cqh;font-weight:300;position:absolute}.poster-credits{text-align:left;opacity:.55;font-family:JetBrains 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-controls{flex-direction:column;align-items:center;gap:6px;display:flex}.map-controls-section{margin-top:5px}.map-control-group{flex-wrap:nowrap;justify-content:center;align-items:center;gap:6px;display:flex}.map-control-slider-row{grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:8px;width:min(560px,100%);display:grid}.map-control-slider{appearance:none;background:var(--accent);border:1px solid var(--line);border-radius:999px;width:100%;height:7px;margin:0;box-shadow:inset 0 0 0 1px #0000001a}.map-control-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--ink);cursor:pointer;border:1px solid #cee9fad9;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 2px #0b1a2680,0 2px 6px #00000059}.map-control-slider::-moz-range-thumb{cursor:pointer;background:#d5e7f5;border:1px solid #cee9fad9;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 2px #0b1a2680,0 2px 6px #00000059}.map-control-slider::-moz-range-track{background:var(--accent);border:1px solid var(--line);border-radius:999px;height:7px}.map-control-btn{border:1px solid var(--line);background:var(--panel-glass);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.78rem;transition:background .15s,border-color .15s;display:inline-flex}.map-control-btn:hover:not(:disabled){background:var(--panel);border-color:var(--strong-line)}.map-control-btn:disabled{opacity:.5;cursor:default}.map-control-btn--primary{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.map-control-btn--primary:hover:not(:disabled){background:var(--accent);color:#fff}.map-control-btn--mode{justify-content:center;min-width:120px}.map-control-btn--marker-toggle{justify-content:center;min-width:150px}.map-control-btn.is-active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.map-control-btn--marker-reset{color:var(--negative);background:#492d22d6;border-color:#ffb18e94}.map-control-btn--marker-reset:hover:not(:disabled){background:#603a2beb;border-color:#ffb18ed9}.map-control-btn--danger{color:var(--negative);background:#522c24d1;border-color:#ff988170}.map-control-btn--danger:hover:not(:disabled){background:#61352ceb;border-color:#ff9881b8}.map-control-hint{background:var(--bg-dots);color:var(--ink);opacity:.7;text-align:center;white-space:pre-line;border-radius:7px;align-items:center;gap:5px;margin:0;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;display:flex}.map-control-hint-icon{flex-shrink:0;font-size:.8em}.settings-info-card{border:1px solid var(--line);background:var(--panel-glass);color:var(--ink);border-radius:10px;margin:10px;padding:12px}.settings-info-title{letter-spacing:.02em;text-transform:uppercase;color:var(--ink);opacity:.9;margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.82rem}.settings-info-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px 14px;margin:0;display:grid}.settings-info-row{gap:2px;margin:0;display:grid}.settings-info-row dt{text-transform:uppercase;letter-spacing:.03em;color:var(--ink);opacity:.6;margin:0;font-family:JetBrains Mono,monospace;font-size:.68rem}.settings-info-row dd{color:var(--ink);margin:0;font-size:.86rem}@media (max-width:700px){.map-control-group{flex-wrap:wrap;width:100%}.map-control-btn{min-height:38px;padding:8px 10px;font-size:.74rem}.map-control-btn--mode,.map-control-btn--marker-toggle{justify-content:flex-start;min-width:0}.map-control-hint{font-size:.65rem}.map-control-slider-row{grid-template-columns:auto minmax(120px,1fr) auto}}
.inspector-card{padding:12px}.info-panel-group{gap:12px;padding:14px;display:grid}.info-panel-section+.info-panel-section{border-top:1px solid var(--line);padding-top:12px}.inspector-card h3,.info-panel-section h3{text-transform:uppercase;letter-spacing:.02em;color:var(--ink);opacity:.6;margin:0 0 8px;font-family:JetBrains Mono,monospace;font-size:.78rem}.swatch-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:8px;display:grid}.swatch{aspect-ratio:1;border:1px solid var(--line);border-radius:7px}.inspector-copy,.inspector-card p,.info-panel-section p{color:var(--ink);opacity:.85;margin:0;font-size:.83rem;line-height:1.45}.inspector-card p+p,.info-panel-section p+p{margin-top:7px}.repo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.github-badge{border:1px solid var(--line);background:var(--field-bg);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:7px 10px;font-size:.78rem;font-weight:600;line-height:1;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.github-badge:hover,.github-badge:focus-visible{border-color:var(--strong-line);background:var(--panel-glass)}.stars-badge{color:#ffd985;border-color:#ffd06961}.stars-badge:hover,.stars-badge:focus-visible{color:#ffe7b1;background:var(--panel-glass);border-color:#ffdc8ac7}.badge-icon{flex:none;width:16px;height:16px}.footer-links{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.footer-link{border:1px solid var(--line);background:var(--field-bg);color:var(--ink);border-radius:999px;align-items:center;padding:6px 10px;font-size:.78rem;font-weight:600;line-height:1;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.footer-link:hover,.footer-link:focus-visible{border-color:var(--strong-line);background:var(--panel-glass)}.footer-links-note{color:var(--ink);opacity:.6;margin:0;font-family:JetBrains Mono,monospace;font-size:.76rem}.hug-copy{color:var(--ink);opacity:.8;margin:12px 20px;font-size:.82rem;line-height:1.5}.hug-rows{gap:10px;margin-top:10px;display:grid}.hug-row{gap:5px;display:grid}.hug-row-label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink);opacity:.5;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:500}.hug-row-content{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.hug-credits-note{color:#8ecf9e;align-items:center;gap:7px;font-size:.8rem;font-weight:500;display:inline-flex}.hug-check-icon{color:#6bc77e;flex:none;width:12px;height:12px}.social-links-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px;display:flex}.social-badge{border:1px solid var(--line);background:var(--field-bg);width:36px;height:36px;color:var(--ink);border-radius:10px;flex:none;justify-content:center;align-items:center;text-decoration:none;transition:border-color .16s,background-color .16s,color .16s,transform .12s;display:inline-flex}a.social-badge:hover,a.social-badge:focus-visible{border-color:var(--strong-line);background:var(--panel-glass);transform:translateY(-1px)}.social-badge--inactive{opacity:.35;cursor:default}.social-icon{flex:none;width:16px;height:16px}
.app-footer{text-align:center;justify-items:center;gap:8px;margin-top:14px;padding:0 2px;display:grid}.source-note{opacity:.74;color:var(--ink-subtle);margin:0;font-family:JetBrains Mono,monospace;font-size:.8rem}.source-link{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.source-link:hover,.source-link:focus-visible{color:var(--accent)}.made-note{text-align:center;color:var(--ink-subtle);margin:0;font-size:.82rem}.heart{color:var(--negative);margin:0 2px}
.updates-modal-backdrop{z-index:200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070d14b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.updates-modal{background:linear-gradient(156deg,#111d29fa,#09121dfa);border:1px solid #8eb1cc4d;border-radius:18px;flex-direction:column;width:min(760px,100%);max-height:min(90vh,820px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 75px #0000008c,inset 0 1px #ffffff0f}.updates-modal-progress{background:#7494b03d;width:100%;height:8px}.updates-modal-progress-bar{background:linear-gradient(90deg,#56f8b3 0%,#7de3ff 100%);height:100%;transition:width .22s}.updates-modal-close{width:36px;height:36px;color:var(--ink);cursor:pointer;background:#12212fe6;border:1px solid #a3c2da73;border-radius:999px;place-items:center;padding:0;display:grid;position:absolute;top:16px;right:16px}.updates-modal-close-icon{font-size:1.15rem}.updates-modal-header{padding:28px 28px 14px}.updates-version-badge{color:#b8fbe0;letter-spacing:.04em;text-transform:uppercase;background:#4cc19029;border:1px solid #81eebe6b;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-block}.updates-modal-header h2{letter-spacing:.03em;margin:12px 0 6px;font-family:Bebas Neue,sans-serif;font-size:clamp(2.1rem,4vw,3rem);line-height:.95}.updates-released-on{color:#cedce9d9;margin:0}.updates-modal-content{padding:10px 28px 16px;overflow-y:auto}.updates-modal-content h3{margin:0 0 14px;font-size:1.4rem}.updates-step-image{object-fit:cover;background:#0a121ab3;border:1px solid #92b0c859;border-radius:12px;width:100%;margin-top:16px}.updates-points{gap:10px;margin:0;padding:0;list-style:none;display:grid}.updates-point{background:#0e1b279e;border:1px solid #88a7c13d;border-radius:12px;grid-template-columns:28px 1fr;align-items:start;gap:10px;padding:10px 12px;display:grid}.updates-point-icon{font-size:1.05rem;line-height:1.45}.updates-point-text{color:#e3eff9f2;flex-direction:column;gap:2px;display:flex}.updates-point-label{text-transform:uppercase;letter-spacing:.07em;font-size:.72rem;font-weight:700}.updates-point--new{border-color:#67e4a270}.updates-point--new .updates-point-label{color:#7ff2be}.updates-point--fixed{border-color:#79bcff70}.updates-point--fixed .updates-point-label{color:#8fc9ff}.updates-point--improved{border-color:#ba9cff6b}.updates-point--improved .updates-point-label{color:#c8aeff}.updates-point--info{border-color:#8fccff6b}.updates-point--info .updates-point-label{color:#b4dcff}.updates-point--community{border-color:#ffb67d6b}.updates-point--community .updates-point-label{color:#ffc48f}.updates-point--docs{border-color:#9cd6ff6b}.updates-point--docs .updates-point-label{color:#b7dcff}.updates-point--roadmap{border-color:#95ffc46b}.updates-point--roadmap .updates-point-label{color:#a9ffd7}.updates-point--removed{border-color:#ff99996b}.updates-point--removed .updates-point-label{color:#ffb4b4}.updates-point--security{border-color:#ffd56c73}.updates-point--security .updates-point-label{color:#ffd98b}.updates-point--breaking{border-color:#ff7d6580}.updates-point--breaking .updates-point-label{color:#ff9f8d}.updates-point--major{border-color:#ffe57e80}.updates-point--major .updates-point-label{color:#ffe88e}.updates-point--perf{border-color:#adf08380}.updates-point--perf .updates-point-label{color:#bff08a}.updates-point--core{border-color:#87e0ec80}.updates-point--core .updates-point-label{color:#98eaf7}.updates-modal-footer{padding:12px 28px 24px}.updates-footer-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.updates-skip-row{align-items:center;gap:8px;font-size:.95rem;display:inline-flex}.updates-skip-row input{accent-color:#78f5c2;width:18px;height:18px}.updates-actions{gap:10px;display:flex}.updates-actions button{min-width:90px;color:var(--ink);cursor:pointer;background:#182b3aeb;border:1px solid #93b1c96b;border-radius:10px;padding:9px 14px}.updates-actions button:disabled{opacity:.45;cursor:not-allowed}.updates-next-button{background:#3bb18338!important;border-color:#5fe8b185!important}.updates-okay-button{background:#4689bd38!important;border-color:#79bcff85!important}@media (max-width:720px){.updates-modal-header,.updates-modal-content,.updates-modal-footer{padding-left:18px;padding-right:18px}.updates-modal{max-height:92vh}}
.payment-modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.payment-modal{background:var(--bg-primary,#0a1824);color:var(--text-primary,#fff);border:1px solid #ffffff1a;border-radius:12px;width:90%;max-width:480px;overflow:hidden;box-shadow:0 20px 40px #0006}.payment-modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px;display:flex}.payment-modal-header h3{margin:0;font-size:1.25rem;font-weight:600}.payment-modal-close{color:var(--text-secondary,#fff9);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem}.payment-modal-body{padding:24px}.payment-section{margin-bottom:20px}.payment-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#fff9);margin:0 0 12px;font-size:.9rem}.format-selector{gap:12px;display:flex}.format-option{cursor:pointer;text-align:center;border:2px solid #ffffff1a;border-radius:8px;flex:1;padding:12px;transition:all .2s}.format-option:hover{background:#ffffff0d}.format-option.active{border-color:var(--accent-color,#3b82f6);background:#3b82f61a}.format-option-title{margin-bottom:4px;font-weight:600;display:block}.format-option-price{color:var(--text-secondary,#fff9);font-size:.85rem}.payment-input-group{margin-bottom:16px}.payment-input-group label{margin-bottom:8px;font-size:.9rem;display:block}.payment-input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:6px;width:100%;padding:12px}.payment-input:focus{border-color:var(--accent-color,#3b82f6);outline:none}.promo-container{gap:8px;display:flex}.promo-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;padding:0 16px}.promo-btn:disabled{opacity:.5;cursor:not-allowed}.promo-feedback{margin-top:8px;font-size:.85rem}.promo-feedback.success{color:#10b981}.promo-feedback.error{color:#ef4444}.payment-modal-footer{border-top:1px solid #ffffff1a;padding:20px 24px 24px}.pay-button{background:var(--accent-color,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:16px;font-size:1rem;font-weight:700;transition:transform .2s,background .2s}.pay-button:hover:not(:disabled){background:#2563eb;transform:translateY(-2px)}.pay-button:disabled{opacity:.7;cursor:not-allowed}.payment-error{color:#ef4444;text-align:center;background:#ef44441a;border-radius:6px;margin-top:12px;padding:12px;font-size:.9rem}
.desktop-header,.desktop-nav-bar,.desktop-location-row-wrap,.desktop-settings-slide,.desktop-export-fab,.desktop-install-badge,.desktop-settings-deco,.desktop-left-panel{display:none}@media (min-width:769px) and (hover:hover) and (pointer:fine){html:has(.app-shell){height:100%;overflow:hidden}body:has(.app-shell){height:100%;overflow:hidden}#root:has(.app-shell){height:100%;overflow:hidden}.app-shell{grid-template:"dheader dheader"62px"dnav dmap"1fr/64px 1fr;max-width:100%;height:100vh;margin:0;padding:0;display:grid;position:relative;overflow:hidden}.desktop-left-panel{display:flex}.general-header{background:var(--panel-glass);border-bottom:1px solid var(--line);z-index:50;flex-shrink:0;grid-area:dheader;justify-content:space-between;align-items:center;gap:14px;margin:0;padding:0 20px;display:flex;box-shadow:0 1px 8px #0000001a}.desktop-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.desktop-brand-logo{filter:drop-shadow(0 2px 6px #0006);width:30px;height:auto}.desktop-brand-copy{align-items:baseline;gap:11px;display:flex}.desktop-brand-title{letter-spacing:.03em;color:var(--ink);margin:0;font-family:Bebas Neue,sans-serif;font-size:1.62rem;line-height:1}.desktop-brand-kicker{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-subtle);margin:0;font-family:JetBrains Mono,monospace;font-size:.67rem}.general-header-actions{align-items:center;gap:8px;margin-left:auto;display:inline-flex}.desktop-header-social{align-items:center;gap:8px;margin-right:4px;display:inline-flex}.general-header-social-btn{border:1px solid var(--line);background:var(--panel);width:34px;height:34px;color:var(--ink);border-radius:9px;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.general-header-social-btn svg{width:16px;height:16px}.general-header-social-btn:hover,.general-header-social-btn:focus-visible{background:var(--accent-bg);border-color:var(--accent);color:var(--ink)}.general-header-social-btn--github{gap:7px;width:auto;min-width:90px;padding:0 10px}.general-header-github-stars{letter-spacing:.02em;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:.67rem;font-weight:600;display:inline-flex}.general-header-github-stars-count{transform:translateY(2px)}.general-header-github-stars svg{width:12px;height:12px}.general-header-text-btn{transition:background .15s,border-color .15s,color .15s}.general-header-text-btn:hover:not(:disabled){filter:none;background:var(--accent-bg);border-color:var(--accent);color:var(--ink);transform:none}.general-header-btn-label{display:inline}.general-header-btn-icon{display:none}.desktop-nav-bar{background:var(--nav-bg);border-right:1px solid var(--line);scrollbar-width:none;z-index:40;flex-direction:column;grid-area:dnav;align-items:center;gap:2px;padding:8px 0;display:flex;overflow-y:auto}.desktop-nav-bar::-webkit-scrollbar{display:none}.desktop-nav-tab{width:52px;height:52px;color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;padding:4px 0;font-family:JetBrains Mono,monospace;font-size:.5rem;font-weight:600;transition:background .15s,color .15s;display:flex}.desktop-nav-tab:hover{filter:none;background:var(--accent-bg);color:var(--ink);transform:none}.desktop-nav-tab.is-active{background:var(--accent-bg);color:var(--accent)}.desktop-nav-icon{width:18px;height:18px}.desktop-nav-label{font-size:.48rem;line-height:1}.desktop-nav-tab--settings{cursor:pointer;margin-top:auto;margin-bottom:6px}.desktop-nav-tab--settings:disabled{opacity:1}.desktop-left-panel{z-index:45;pointer-events:auto;width:356px;max-height:calc(100vh - 196px);transition:left .3s;display:block;position:fixed;top:124px;left:82px}.desktop-location-row-wrap{z-index:46;pointer-events:none;width:440px;display:block;position:fixed;top:76px;left:82px}.desktop-location-row-wrap.is-hidden{display:none}.dsk-loc-bar{pointer-events:auto;flex-shrink:0;width:100%}.dsk-loc-bar .location-search-row{background:var(--panel-glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:12px;align-items:center;gap:6px;width:100%;padding:1px 6px;display:flex;box-shadow:0 4px 20px #00000040}.dsk-loc-bar .location-search-stack{width:100%;position:relative}.dsk-loc-bar .location-search-main-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.dsk-loc-bar .location-search-icons{align-items:center;gap:8px;display:inline-flex}.dsk-loc-bar .location-input-wrap{flex:auto;min-width:0}.dsk-loc-bar .location-input-wrap input{min-height:30px;color:var(--ink);box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:0;padding:2px 22px 2px 10px;font-family:JetBrains Mono,monospace;font-size:.82rem}.dsk-loc-bar button.location-clear-btn{color:#c6ddedb8;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;font-size:1.2rem;line-height:1;display:inline-flex;right:-3px}.dsk-loc-bar button.location-clear-btn:not(:disabled):hover,.dsk-loc-bar button.location-clear-btn:focus-visible{color:#e6f4ff;background:0 0;transform:translateY(-50%)}.dsk-loc-bar .location-input-wrap input:focus{box-shadow:none;border-color:#0000}.dsk-loc-bar .location-search-icon{color:#b7d7eb85;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.9rem;display:flex}.dsk-loc-bar button.location-row-icon-btn{color:#d2e7f5d9;background:#1f384b9e;border:1px solid #9dbdd642;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.05rem;transition:background .15s,border-color .15s,color .15s;display:flex}.dsk-loc-bar button.location-row-icon-btn svg{width:18px;height:18px;display:block}.dsk-loc-bar button.location-row-icon-btn:hover:not(:disabled){filter:none;color:#e5f5ff;background:#447a9961;border-color:#7ebee194;transform:none}.dsk-loc-bar button.location-row-icon-btn.is-active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.dsk-loc-bar button.location-row-icon-btn:disabled{opacity:1;cursor:default}.dsk-loc-bar .location-row-icon-btn.is-locating .location-current-icon{animation:.9s linear infinite desktop-location-spin}@keyframes desktop-location-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dsk-loc-bar .location-suggestions{background:var(--panel);-webkit-backdrop-filter:blur(14px);z-index:12;border:1px solid #92b0c82e;border-radius:10px;max-height:240px;margin-top:4px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000080}.dsk-loc-bar .location-suggestion{color:#c8e4f8d9;text-align:left;border-radius:7px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.76rem}.dsk-loc-bar .location-suggestion:hover{filter:none;background:var(--accent-bg);color:var(--ink);transform:none}.dsk-loc-bar .location-suggestion-status{color:#9cc3da80;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.72rem}.dsk-loc-bar .dsk-loc-coords{display:none}.dsk-loc-bar.show-coords .dsk-loc-coords{-webkit-backdrop-filter:blur(14px);background:#101d2af0;border:1px solid #9dbdd63d;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;padding:8px 9px;display:grid;box-shadow:0 4px 16px #00000061}.dsk-loc-bar .dsk-loc-coords label{color:#bcdbeec7;margin-bottom:0;font-size:.72rem}.dsk-loc-bar .dsk-loc-coords input{color:#def2ff;background:#1f384b75;border-color:#9dbdd64d;border-radius:9px;min-height:36px;margin-top:5px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.76rem}.dsk-loc-bar .dsk-loc-coords input:focus{border-color:var(--accent);box-shadow:none}.dsk-loc-bar .location-permission-message{color:#ffc8b4d9;background:#091018f0;border:1px solid #ff98814d;border-radius:8px;margin-top:4px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.5}.desktop-settings-slide{pointer-events:auto;background:var(--panel-glass);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);overscroll-behavior:contain;scrollbar-width:none;border-radius:14px;height:auto;max-height:calc(100vh - 196px);display:none;overflow:hidden auto;box-shadow:0 8px 32px #00000040}.desktop-settings-slide::-webkit-scrollbar{display:none}.desktop-settings-slide.is-open{display:block}.desktop-settings-slide .settings-panel{background:var(--panel-glass);box-shadow:none;min-width:unset;border:none;border-radius:0;width:100%}.desktop-settings-slide .accordion-header{display:none}.desktop-settings-slide .accordion-body{opacity:1!important;visibility:visible!important;grid-template-rows:none!important;transition:none!important;display:block!important;overflow:visible!important}.desktop-settings-slide .accordion-body-inner{min-height:auto;padding:14px;overflow:visible}.desktop-settings-slide .accordion-item{background:0 0;border-bottom:1px solid #92b0c81a}.desktop-settings-slide .accordion-item:last-child{border-bottom:none}.desktop-settings-slide .mobile-section--location,[data-desktop-tab=theme] .desktop-settings-slide .mobile-section:not(.mobile-section--theme-settings),[data-desktop-tab=layout] .desktop-settings-slide .mobile-section:not(.mobile-section--layout-settings),[data-desktop-tab=layers] .desktop-settings-slide .mobile-section:not(.mobile-section--layers),[data-desktop-tab=markers] .desktop-settings-slide .mobile-section:not(.mobile-section--markers),[data-desktop-tab=style] .desktop-settings-slide .mobile-section:not(.mobile-section--style){display:none}.app-shell>.preview-panel{box-shadow:none;--poster-frame-margin-top:-40px;--poster-frame-margin-bottom:18px;--poster-frame-center-offset-y:calc((var(--poster-frame-margin-top) - var(--poster-frame-margin-bottom)) / 2);background:0 0;border:none;border-radius:0;grid-area:dmap;padding:0;position:relative;overflow:hidden}.app-shell>.preview-panel .poster-viewport{min-height:unset;border:none;border-radius:0;width:100%;height:100%;position:absolute;inset:0}.app-shell>.preview-panel .poster-frame{max-height:calc(84vh - 44px);width:min(calc(100% - 48px), calc((84vh - 44px) * var(--poster-aspect,.666667)));margin-top:var(--poster-frame-margin-top);margin-bottom:var(--poster-frame-margin-bottom);overflow:visible;box-shadow:0 24px 48px #000000a6}.app-shell>.preview-panel .poster-frame .map-container{border-radius:inherit;overflow:hidden}.poster-ghost-layer{transform:translateY(var(--poster-frame-center-offset-y));z-index:0;opacity:.45;filter:blur(6px) saturate(.75) var(--ghost-brightness);pointer-events:none;display:block;position:absolute;inset:-48px -24px}.app-shell>.preview-panel .poster-viewport:before{display:none}.app-shell>.preview-panel .poster-viewport{background:var(--bg-color)}.app-shell>.preview-panel .poster-frame .map-controls{z-index:20;white-space:nowrap;background:0 0;border:none;border-radius:0;flex-flow:row;align-items:center;gap:6px;margin:0;padding:0 0 8px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%,140%)}.app-shell>.preview-panel .poster-frame .map-controls .map-control-group{flex-wrap:nowrap}.app-shell>.preview-panel .poster-frame .map-controls>.map-control-hint{white-space:nowrap;margin:0;position:absolute;top:50%;left:calc(100% + 10px);transform:translateY(-50%)}.app-shell>.preview-panel .settings-info-card{z-index:16;background:var(--panel-glass);-webkit-backdrop-filter:blur(10px);border:1px solid #92b0c833;width:320px;margin:0;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 8px 24px #00000052}.app-shell>.preview-panel .settings-info-card .settings-info-list{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.desktop-layout-label{z-index:15;-webkit-backdrop-filter:blur(8px);color:#c3dcf0a6;text-transform:uppercase;letter-spacing:.06em;pointer-events:none;-webkit-user-select:none;user-select:none;background:#091018b8;border:1px solid #92b0c829;border-radius:8px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.66rem;position:absolute;top:14px;left:14px}.app-header{display:none}.mobile-location-row-wrap,.mobile-export-fab-trigger,.mobile-export-modal-backdrop{display:none!important}.app-footer{display:none}.desktop-footer{z-index:31;text-align:left;border-top:1px solid var(--line);background:var(--nav-bg);white-space:nowrap;justify-content:space-between;align-items:center;gap:16px;margin:0;padding:8px 18px 8px 82px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -1px 8px #00000014}.desktop-footer .source-note,.desktop-footer .made-note{color:var(--ink-subtle);align-items:center;margin:0;font-size:.66rem;line-height:1.2;display:flex}.desktop-footer-left,.desktop-footer-middle,.desktop-footer-right{align-items:center;min-width:0;display:flex}.desktop-footer-left{flex:1 1 0;justify-content:flex-start}.desktop-footer-middle{flex:none;justify-content:center}.desktop-footer-right{flex:1 1 0;justify-content:flex-end;gap:8px;position:relative}.desktop-footer .source-link{text-decoration:none}.desktop-footer-info-btn{border:1px solid var(--line);background:var(--panel-glass);width:20px;height:20px;color:var(--ink-subtle);border-radius:999px;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.desktop-footer-info-btn svg{width:12px;height:12px}.desktop-footer-attribution{border:1px solid var(--line);background:var(--panel-glass);white-space:normal;max-width:min(420px,55vw);color:var(--ink);z-index:60;text-align:left;border-radius:8px;padding:8px 10px;font-size:.66rem;line-height:1.35;display:none;position:absolute;bottom:calc(100% + 8px);right:0;box-shadow:0 8px 24px #00000026}.desktop-footer-right:hover .desktop-footer-attribution,.desktop-footer-info-btn:hover+.desktop-footer-attribution{display:block}.mobile-persistent-footer{display:none}.app-shell>.install-prompt{z-index:48;width:min(560px,100vw - 140px);margin:0;position:fixed;top:76px;left:50%;transform:translate(-50%)}.about-modal-backdrop{z-index:500;-webkit-backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;animation:.2s backdrop-fadein;display:flex;position:fixed;inset:0}.about-modal{background:var(--panel);border:1px solid #92b0c82e;border-radius:20px;width:min(600px,90vw);max-height:82vh;padding:32px;animation:.28s cubic-bezier(.32,.72,0,1) about-modal-in;position:relative;overflow-y:auto;box-shadow:0 32px 64px #0009}@keyframes about-modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.about-modal-close{color:#b4cde199;cursor:pointer;background:0 0;border:1px solid #92b0c838;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1rem;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;top:14px;right:14px}.about-modal-close:hover{filter:none;background:var(--accent-bg);color:var(--ink);border-color:#5eaed466;transform:none}.about-modal .info-panel{display:block}.about-modal .info-panel-group{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.desktop-install-badge{z-index:30;-webkit-backdrop-filter:blur(12px);background:#091018f0;border:1px solid #5eaed44d;border-radius:12px;align-items:center;gap:8px;padding:7px 10px 7px 12px;animation:.3s cubic-bezier(.32,.72,0,1) badge-slide-in;display:flex;position:fixed;bottom:62px;left:18px;box-shadow:0 6px 20px #0000006b}@keyframes badge-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.desktop-install-badge-btn{color:#b0cfe5;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:7px;padding:0;font-family:JetBrains Mono,monospace;font-size:.76rem;font-weight:600;transition:color .15s;display:flex}.desktop-install-badge-btn:hover{filter:none;color:#dff3ff;transform:none}.desktop-install-badge-icon{opacity:.75;flex-shrink:0;width:15px;height:15px}.desktop-install-badge-dismiss{color:#b4cde17a;cursor:pointer;background:0 0;border:1px solid #92b0c833;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.75rem;transition:background .15s,color .15s,border-color .15s;display:flex}.desktop-install-badge-dismiss:hover{filter:none;color:#ff9985;background:#ff5a4624;border-color:#ff5a4661;transform:none}.desktop-export-fab{z-index:30;flex-direction:column;align-items:flex-start;gap:6px;display:flex;position:fixed;bottom:52px;right:18px}.desktop-export-flyout{opacity:0;pointer-events:none;flex-direction:column;gap:5px;max-height:0;transition:max-height .25s cubic-bezier(.4,0,.2,1),opacity .2s,transform .2s;display:flex;overflow:hidden;transform:translateY(6px)}.desktop-export-fab:hover .desktop-export-flyout,.desktop-export-fab:focus-within .desktop-export-flyout{opacity:1;pointer-events:auto;max-height:180px;transform:translateY(0)}.desktop-export-btn{text-transform:uppercase;letter-spacing:.06em;cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:132px;padding:8px 14px;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:flex;box-shadow:0 3px 10px #0000004d}.desktop-export-btn:disabled{opacity:.55;cursor:default}.desktop-export-btn--primary{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.desktop-export-btn--primary:hover:not(:disabled){filter:none;color:#091826;background:#dcecfa;border-color:#8cb9dccc;transform:none}.desktop-export-btn--pdf{color:#ffc6aa;background:#301608eb;border-color:#ff8e5e5c}.desktop-export-btn--pdf:hover:not(:disabled){filter:none;color:#ffd5be;background:#411e0af5;border-color:#ff8e5ea3;transform:none}.desktop-export-btn--svg{color:#effff5;background:linear-gradient(135deg,#2a7e4ff5,#1d6740f5);border-color:#78dda18f}.desktop-export-btn--svg:hover:not(:disabled){filter:none;color:#f0fff6;background:linear-gradient(135deg,#328d59fa,#227549fa);border-color:#93ebb7e0;transform:none}.desktop-export-label-hover{display:none}.desktop-export-fab:hover .desktop-export-label-hover,.desktop-export-fab:focus-within .desktop-export-label-hover{display:inline}.desktop-export-fab:hover .desktop-export-label-default,.desktop-export-fab:focus-within .desktop-export-label-default{display:none}.desktop-export-btn-icon{flex-shrink:0;width:14px;height:14px}.is-spinning{animation:.9s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.desktop-layout-label{display:block}.desktop-settings-deco{z-index:20;-webkit-backdrop-filter:blur(10px);pointer-events:none;-webkit-user-select:none;user-select:none;background:#091018b8;border:1px solid #92b0c824;border-radius:10px;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:fixed;bottom:18px;left:18px}.desktop-settings-deco-icon{color:#9cc3da4d;width:16px;height:16px}}.desktop-layout-label{display:none}.light-theme .dsk-loc-bar .location-search-icon{color:#64411e73}.light-theme .dsk-loc-bar button.location-clear-btn{color:#64411e8c}.light-theme .dsk-loc-bar button.location-clear-btn:not(:disabled):hover,.light-theme .dsk-loc-bar button.location-clear-btn:focus-visible{color:var(--accent)}.light-theme .dsk-loc-bar button.location-row-icon-btn{color:#503214cc;background:#fffaf4e6;border-color:#78502833}.light-theme .dsk-loc-bar button.location-row-icon-btn:hover:not(:disabled){color:var(--accent);background:#fff5eaf2;border-color:#b05a1a73}.light-theme .dsk-loc-bar button.location-row-icon-btn.is-active{border-color:var(--accent);color:var(--accent);background:#b05a1a1f}
.mobile-nav-wrapper,.mobile-nav,.mobile-marker-edit-done,.mobile-marker-size-bar,.mobile-persistent-footer{display:none}@media (max-width:768px),(hover:none) and (pointer:coarse){html,body{overscroll-behavior-x:none;background-color:var(--bg-color)}.mobile-nav-wrapper{bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:100;align-items:center;gap:8px;display:flex;position:fixed;left:16px;right:16px}html[data-display-mode=standalone] .mobile-nav-wrapper{bottom:calc(4px + env(safe-area-inset-bottom,0px))}.mobile-nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);border-radius:26px;flex:1;min-width:0;height:60px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #00000026,0 2px 8px #0000001a}.mobile-nav-scroll-container{flex:1;min-width:0;height:100%;position:relative;overflow:hidden}.mobile-nav-tabs{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;height:100%;display:flex;overflow-x:auto}.mobile-nav-tabs::-webkit-scrollbar{display:none}.mobile-nav-fade{pointer-events:none;background:linear-gradient(90deg,#0000,#0910189e 70%,#091018c7 100%);border-radius:0 20px 20px 0;width:30px;position:absolute;top:0;bottom:0;right:0}.mobile-nav-fade:after{content:"";border-top:1.5px solid #b4cde159;border-right:1.5px solid #b4cde159;width:6px;height:6px;position:absolute;top:50%;right:6px;transform:translateY(-50%)rotate(45deg)}.mobile-nav-tab{width:72px;color:var(--ink-subtle);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-tap-highlight-color:transparent;scroll-snap-align:start;background:0 0;border:none;border-radius:20px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:3px;margin:0;padding:6px 0;font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:600;transition:background .15s,color .15s;display:flex}.mobile-nav-tab:not(:disabled):hover{filter:none;transform:none}.mobile-nav-tab.is-active{background:var(--accent-bg);color:var(--accent)}.mobile-nav-icon{width:19px;height:19px}.mobile-nav-label{line-height:1}.mobile-nav-settings{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border:1px solid var(--line);width:60px;height:60px;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;display:flex}.mobile-nav-settings-icon{width:20px;height:20px}.startup-location-modal{z-index:420;-webkit-backdrop-filter:blur(12px);background:#060c126b;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;padding:20px;animation:.25s startup-location-fadein;display:flex;position:fixed;top:0;left: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;margin:0 auto;display: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:var(--ink);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-suggestions{border:1px solid var(--line);background:var(--panel);border-radius:10px;max-height:176px;margin:-2px 0 0;padding:0;list-style:none;overflow-y:auto}.startup-location-suggestion{width:100%;color:var(--ink);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;padding:10px 11px;font-family:JetBrains 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-card{border:1px solid var(--line);background:var(--field-bg);opacity:0;border-radius:14px;gap:10px;width:min(360px,100% - 16px);margin:0 auto;padding:12px;transition:opacity .2s,transform .2s;display:grid;transform:translateY(8px);box-shadow:0 18px 36px #00000040}.startup-location-card.is-visible{opacity:1;transform:translateY(0)}.startup-location-title{text-transform:uppercase;letter-spacing:.02em;color:var(--ink-subtle);text-align:center;margin:0 0 4px;font-family:JetBrains Mono,monospace;font-size:.8rem}.startup-location-input{background:var(--field-bg);color:#e8f4ff;border:1px solid #97b7cf57;border-radius:10px;outline:none;width:100%;min-height:46px;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:16px}.startup-location-input:focus{border-color:#70b8decc;box-shadow:0 0 0 2px #4b95ba38}.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:JetBrains Mono,monospace;font-size:.84rem;font-weight:700;display:inline-flex}.startup-location-action--geo{color:var(--ink-subtle);background:#142939f2;border-color:#92b0c842}.startup-location-action--geo svg{width:17px;height:17px}.startup-location-action--confirm{color:#f4fbff;background:linear-gradient(135deg,#1a6f8c,#2f8eaf)}.startup-location-error{color:#ffb3a4;margin:0;font-family:JetBrains 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)}}.mobile-export-fab-trigger{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:101;color:#0d1f2e;opacity:1;background:#e7f2faf5;border:1px solid #a5c6dd57;border-radius:14px;justify-content:center;align-items:center;width:60px;height:44px;transition:opacity .22s,transform .22s;display:inline-flex;position:fixed;transform:translateY(0);box-shadow:0 8px 20px #0006,0 2px 8px #00000042}.mobile-export-fab-trigger svg{width:18px;height:18px}.mobile-export-fab-trigger.is-hidden{opacity:0;pointer-events:none;transform:translateY(8px)}.mobile-marker-edit-done{left:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:101;background:var(--panel);min-height:42px;color:var(--ink);letter-spacing:.03em;text-transform:uppercase;border:1px solid #70b8de7a;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:.72rem;display:inline-flex;position:fixed;box-shadow:0 8px 20px #00000061,0 2px 8px #0000003d}.mobile-marker-edit-done svg{width:14px;height:14px}html[data-display-mode=standalone] .mobile-marker-edit-done{bottom:calc(74px + env(safe-area-inset-bottom,0px))}.mobile-export-modal-backdrop{z-index:220;-webkit-backdrop-filter:blur(6px);background:#0000008f;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.mobile-export-modal{border:1px solid var(--line);background:var(--field-bg);border-radius:14px;width:min(100%,360px);padding:12px;box-shadow:0 18px 36px #00000040}.mobile-export-modal-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.mobile-export-modal-header h3{text-transform:uppercase;letter-spacing:.02em;color:var(--ink-subtle);margin:0;font-family:JetBrains Mono,monospace;font-size:.8rem}.mobile-export-modal-close{border:1px solid var(--line);color:#c5e0f1d6;background:#11212fb3;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.mobile-export-modal-close svg{width:14px;height:14px}.mobile-export-modal-actions{grid-template-columns:1fr;gap:8px;display:grid}.mobile-export-social-links{justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;display:inline-flex}.mobile-export-support-label{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:#cee6f6db;margin:14px 0 8px;font-family:JetBrains Mono,monospace;font-size:.84rem}.mobile-export-social-links .general-header-social-btn{background:var(--panel);color:#c3dcf0db;border:1px solid #92b0c833;border-radius:9px;justify-content:center;align-items:center;width:50px;height:50px;text-decoration:none;display:inline-flex}.mobile-export-social-links .general-header-social-btn svg{width:24px;height:24px}.mobile-export-social-links .general-header-social-btn--github{gap:8px;width:auto;min-width:126px;padding:0 14px}.mobile-export-social-links .general-header-github-stars{letter-spacing:.02em;align-items:center;gap:4px;font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;display:inline-flex}.mobile-export-social-links .general-header-github-stars svg{width:13px;height:13px}.mobile-export-social-links .general-header-github-stars-count{transform:translateY(2px)}.mobile-export-option{text-transform:uppercase;letter-spacing:.05em;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:50px;padding:0 12px;font-family:JetBrains Mono,monospace;font-size:.92rem;font-weight:700;display:inline-flex}.mobile-export-option:disabled{opacity:.6}.mobile-export-option--png{color:#0d1f2e;background:#e7f2faf5;border-color:#a5c6dd57}.mobile-export-option--pdf{color:#ffc6aa;background:#301608eb;border-color:#ff8e5e5c}.mobile-export-option--svg{color:#effff5;background:linear-gradient(135deg,#2a7e4ff5,#1d6740f5);border-color:#78dda18f}.mobile-export-option-icon{width:24px;height:24px}.mobile-drawer{z-index:200;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.mobile-drawer-backdrop{-webkit-backdrop-filter:none;touch-action:none;background:#02060a38;animation:.2s backdrop-fadein;position:absolute;inset:0}@keyframes backdrop-fadein{0%{opacity:0}to{opacity:1}}.mobile-drawer-sheet{z-index:1;background:var(--panel-glass);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);border-radius:24px 24px 0 0;flex-direction:column;height:min(38vh,360px);max-height:84vh;transition:transform .28s cubic-bezier(.32,.72,0,1),height .24s cubic-bezier(.32,.72,0,1);animation:.28s cubic-bezier(.32,.72,0,1) sheet-slidein;display:flex;position:relative}.mobile-drawer-sheet.is-expanded{height:calc(100vh - 64px)}@keyframes sheet-slidein{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-drawer-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;width:100%;padding:14px 0 10px;display:flex}.mobile-drawer-handle:after{content:"";background:#b4cde159;border-radius:3px;width:44px;height:5px;display:block}.mobile-drawer-handle:active{cursor:grabbing}.mobile-drawer-handle:active:after{background:#7dd8f080}.mobile-drawer-content{overscroll-behavior:contain;padding:8px 16px calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overflow-y:auto}.mobile-drawer-content .info-panel{display:block}.mobile-drawer-content .info-panel-group{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.mobile-drawer-content .settings-panel{background:var(--panel);box-shadow:none;border:none;border-radius:0;margin:0;padding:0}.mobile-drawer-content .accordion-item,.mobile-drawer-content .accordion-body{background:var(--panel)}.mobile-drawer-content .map-dimension-fields{background:var(--panel-glass)}.mobile-drawer-content .panel-block h2,.accordion-header{display:none}.accordion-body{opacity:1;visibility:visible;grid-template-rows:1fr}.accordion-body-inner{padding:0}.accordion-item{border-bottom:none}.app-shell{padding:0;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px));background:#080f18}html[data-display-mode=standalone] .app-shell{padding-top:env(safe-area-inset-top,0px)}.general-header{z-index:35;background:#091018f7;border-bottom:1px solid #92b0c81f;justify-content:space-between;align-items:center;margin-bottom:0;padding:10px 14px 8px;display:flex;position:relative;box-shadow:0 1px 8px #00000047}.general-header .desktop-brand{align-items:center;gap:10px;min-width:0;display:inline-flex}.general-header .desktop-brand-logo{width:34px;height:auto}.general-header .desktop-brand-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.general-header .desktop-brand-title{letter-spacing:.03em;color:var(--ink);margin:0;font-family:Bebas Neue,sans-serif;font-size:1.56rem;line-height:.95}.general-header .desktop-brand-kicker{text-transform:uppercase;letter-spacing:.03em;color:#b8d4e8a8;margin:0;font-family:JetBrains Mono,monospace;font-size:.56rem}.general-header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:inline-flex}.desktop-header-social{display:none}.general-header-text-btn{background:var(--panel);color:#c3dcf0db;border:1px solid #92b0c833;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.general-header-btn-label{display:none}.general-header-btn-icon{justify-content:center;align-items:center;display:inline-flex}.general-header-btn-icon svg{width:16px;height:16px}.install-help-modal{width:min(360px,100vw - 24px)}.install-help-modal-title{font-size:.78rem}.install-help-steps li,.install-help-modal-text{font-size:.68rem}.app-copy{display:none}.app-shell>.install-prompt{z-index:35;width:auto;margin:10px 12px 0}.mobile-location-row-wrap{z-index:30;pointer-events:auto;margin:8px 8px 0;display:block;position:relative}.mobile-location-row-wrap.is-hidden{display:none}.mobile-location-row-wrap .dsk-loc-bar{width:100%}.mobile-location-row-wrap .dsk-loc-bar .location-search-stack{width:100%;position:relative}.mobile-location-row-wrap .dsk-loc-bar .location-search-main-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.mobile-location-row-wrap .dsk-loc-bar .location-search-row{background:#172a3bf7;border:1px solid #abc9e057;border-radius:12px;align-items:center;gap:6px;width:100%;padding:2px 6px;display:flex;box-shadow:0 6px 18px #0000006b}.mobile-location-row-wrap .dsk-loc-bar .location-search-icons{align-items:center;gap:8px;display:inline-flex}.mobile-location-row-wrap .dsk-loc-bar .location-search-icon{color:#b7d7eb85;pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.mobile-location-row-wrap .dsk-loc-bar .location-input-wrap{flex:auto;min-width:0}.mobile-location-row-wrap .dsk-loc-bar .location-input-wrap input{color:#e8f4ff;min-height:30px;box-shadow:none;background:0 0;border:none;border-radius:0;margin-top:0;padding:2px 22px 2px 8px;font-family:JetBrains Mono,monospace;font-size:16px}.mobile-location-row-wrap .dsk-loc-bar .location-input-wrap input:focus{box-shadow:none;border-color:#0000}.mobile-location-row-wrap .dsk-loc-bar button.location-clear-btn{color:#c6ddedb8;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;font-size:1.2rem;line-height:1;display:inline-flex;right:-3px}.mobile-location-row-wrap .dsk-loc-bar button.location-row-icon-btn{color:#d2e7f5d9;background:#1f384b9e;border:1px solid #9dbdd642;border-radius:9px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.mobile-location-row-wrap .dsk-loc-bar button.location-row-icon-btn svg{width:17px;height:17px}.mobile-location-row-wrap .dsk-loc-bar .location-row-icon-btn.is-locating .location-current-icon{animation:.9s linear infinite mobile-location-spin}.mobile-location-row-wrap .dsk-loc-bar .location-suggestions{z-index:8;background:#091018f7;border:1px solid #92b0c82e;border-radius:10px;max-height:220px;margin-top:0;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000006b}.mobile-location-row-wrap .dsk-loc-bar .location-suggestion{color:#c8e4f8d9;text-align:left;border-radius:7px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.76rem}.mobile-location-row-wrap .dsk-loc-bar .location-permission-message{color:#ffc8b4d9;background:#091018f0;border:1px solid #ff98814d;border-radius:8px;margin-top:4px;padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1.4}.mobile-location-row-wrap .dsk-loc-bar .dsk-loc-coords{display:none}.mobile-location-row-wrap .dsk-loc-bar.show-coords .dsk-loc-coords{background:#101d2af0;border:1px solid #9dbdd63d;border-radius:10px;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px;padding:8px 9px;display:grid;box-shadow:0 4px 16px #00000061}.mobile-location-row-wrap .dsk-loc-bar .dsk-loc-coords label{color:#bcdbeec7;margin-bottom:0;font-size:.72rem}.mobile-location-row-wrap .dsk-loc-bar .dsk-loc-coords input{color:#def2ff;background:#1f384b75;border-color:#9dbdd64d;border-radius:8px;min-height:34px;margin-top:5px;padding:6px 9px;font-family:JetBrains Mono,monospace;font-size:.75rem}.mobile-marker-size-bar{z-index:30;background:#101d2af0;border:1px solid #9dbdd63d;border-radius:10px;gap:6px;margin:6px 8px 0;padding:8px 10px;display:grid;position:relative;box-shadow:0 4px 16px #00000061}.mobile-marker-size-bar__label{text-transform:uppercase;letter-spacing:.02em;color:#bcdbeec7;margin:0;font-family:JetBrains Mono,monospace;font-size:.66rem}.mobile-marker-size-bar__controls{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.mobile-marker-size-bar__slider{width:100%;margin:0}.mobile-marker-size-bar__value{text-align:right;color:#def2ff;min-width:42px;font-family:JetBrains Mono,monospace;font-size:.72rem}@keyframes mobile-location-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-grid{grid-template-columns:1fr;grid-template-areas:"preview""config";gap:0}.app-grid>.info-panel,.app-grid>.settings-panel{display:none}.app-shell>.app-footer{text-align:center;background:#080e16d6;border:1px solid #92b0c829;border-radius:12px;justify-items:center;gap:5px;margin:10px 8px 0;padding:9px 12px;display:grid}.app-shell>.app-footer .source-note{font-size:.67rem;line-height:1.55}.app-shell>.app-footer .made-note{font-size:.72rem}.app-shell>.app-footer .desktop-footer-left,.app-shell>.app-footer .desktop-footer-middle,.app-shell>.app-footer .desktop-footer-right{justify-items:center;gap:4px;display:grid}.app-shell>.app-footer .desktop-footer-info-btn{display:none}.app-shell>.app-footer .desktop-footer-attribution{max-width:none;box-shadow:none;text-align:center;color:#9bb3c5e6;background:0 0;border:none;border-radius:0;padding:0;font-size:.64rem;line-height:1.4;display:block;position:static}.app-shell>.app-footer .source-link{text-decoration:none}.preview-panel{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.poster-viewport{background:#080f18;border:none;border-radius:0;min-height:calc(100vh - 190px);margin:0;padding:14px 0 10px}.poster-ghost-layer{z-index:0;opacity:.42;filter:blur(5px)saturate(.78)brightness(.84);pointer-events:none;display:block;position:absolute;inset:0}.poster-viewport:before{display:none}.poster-frame{z-index:2;border:1px solid #b3d2e63d;border-radius:4px;width:calc(100% - 24px);max-height:150vh;margin-bottom:56px;overflow:visible;box-shadow:0 12px 28px #00000073,0 4px 10px #00000052}.poster-frame .map-controls{z-index:12;width:calc(100% - 8px);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)}.poster-frame .map-controls .map-control-group{justify-content:center;width:100%}.map-controls-section{border-top:1px solid #92b0c81a;margin:0 8px;padding:8px 10px}.settings-panel{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:8px 8px 0;padding:14px;box-shadow:0 8px 20px #00000047,inset 0 1px #ffffff0a}.settings-info-card .settings-info-list{grid-template-rows:repeat(3,auto);grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}[data-mobile-tab=location] .mobile-section:not(.mobile-section--location),[data-mobile-tab=theme] .mobile-section:not(.mobile-section--theme-settings),[data-mobile-tab=layout] .mobile-section:not(.mobile-section--layout-settings),[data-mobile-tab=layout] .mobile-section--layers,[data-mobile-tab=layout] .mobile-section--markers,[data-mobile-tab=layers] .mobile-section:not(.mobile-section--layers),[data-mobile-tab=markers] .mobile-section:not(.mobile-section--markers),[data-mobile-tab=style] .mobile-section:not(.mobile-section--style){display:none}.mobile-section{animation:.18s mobile-section-fadein}@keyframes mobile-section-fadein{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.mobile-persistent-footer{border:1px solid var(--line);background:var(--panel);border-radius:14px;margin:8px 8px 0;padding:14px;display:none;box-shadow:0 8px 20px #00000047,inset 0 1px #ffffff0a}.mobile-persistent-footer .info-panel{display:block}.mobile-persistent-footer .info-panel-group{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.download-row{grid-template-columns:1fr;gap:10px}button.download-format-btn{min-height:50px;font-size:.9rem}.about-modal-backdrop{z-index:260;background:#0000008f;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.about-modal{background:var(--panel);border:1px solid #92b0c833;border-radius:16px;width:min(560px,100vw - 24px);max-height:min(82vh,760px);padding:20px 16px 16px;position:relative;overflow-y:auto;box-shadow:0 24px 48px #0000008c}.about-modal-close{color:#b4cde1a6;background:0 0;border:1px solid #92b0c838;border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:inline-flex;position:absolute;top:12px;right:12px}.about-modal .info-panel{display:block}.about-modal .info-panel-group{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}}
