:root{--radius: 16px}.landing{width:100%;min-height:100svh;overflow-y:auto;overflow-x:clip;color:var(--text);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 80%,transparent) var(--bg)}.landing:before{content:"";position:fixed;inset:0;background-image:url(/assets/1-fLIFZBUJ.png);background-size:cover;background-position:center;filter:blur(2px);z-index:-2}.landing:after{content:"";position:fixed;inset:0;background:#00000080;z-index:-1}.landing::-webkit-scrollbar{width:8px}.landing::-webkit-scrollbar-track{background:var(--bg)}.landing::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--accent) 80%,transparent);border-radius:4px}.landing::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--accent) 90%,transparent)}.landing-header{max-width:1100px;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) 1.25rem;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(1rem,3vw,2.5rem);align-items:center}.landing-header__copy h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 .25rem}.tagline{opacity:.95;font-size:1.125rem}.cta{display:flex;gap:.75rem;margin:1rem 0;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1rem;border-radius:12px;text-decoration:none;font-weight:600;border:1px solid transparent}.btn--primary{background:var(--primary);color:var(--bg);display:inline-block;padding:14px 32px;font-size:1.1rem;margin-top:16px}.btn--primary:hover{filter:brightness(1.05)}.landing-header__art{position:relative}.blob{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;filter:blur(10px);opacity:.6}.ring{width:min(60vmin,520px);height:min(60vmin,520px);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--primary),transparent 50%) 0 60%,transparent 61% 100%),radial-gradient(closest-side,color-mix(in srgb,var(--road),transparent 35%) 0 55%,transparent 56% 100%)}.quickstart{display:flex;justify-content:center;margin-bottom:5%;flex-direction:column;align-items:center;width:100%;gap:20px}.carousel{display:flex;align-items:flex-start;justify-content:center;height:200px}.feature-card{width:15%;height:80%;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin:20px;text-align:center;cursor:pointer}.feature-card p{text-align:left}.shortcuts .table{display:grid;gap:.5rem}.row{display:grid;grid-template-columns:120px 1fr;align-items:center;background:color-mix(in srgb,var(--panel),transparent 10%);border:1px solid color-mix(in srgb,var(--panel),#000 20%);border-radius:10px;padding:.5rem .75rem}.key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.val{opacity:.85}.feedback{max-width:1100px;margin:0 auto;padding:0 1.25rem 3rem}.feedback h3{margin:0 0 .5rem;font-size:1.35rem}.feedback__lead{margin:0 0 1rem;opacity:.9}.feedback__actions{display:flex;gap:.75rem;margin:0 0 1rem}.form-embed:before{content:"";display:block;padding-top:75%;min-height:640px}.form-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent}.feedback__privacy{margin-top:.75rem;font-size:.9rem;opacity:.75}.changelog{max-width:1100px;margin:0 auto;padding:0 1.25rem 2rem}.changelog h3{margin:0 0 .75rem;font-size:1.35rem}.release{border:1px solid color-mix(in srgb,var(--panel),#000 20%);background:color-mix(in srgb,var(--panel),transparent 8%);border-radius:12px;padding:.875rem 1rem;margin-bottom:.75rem;box-shadow:0 8px 24px color-mix(in srgb,#000,transparent 80%)}.release[open]{background:color-mix(in srgb,var(--panel),transparent 5%)}.release__header{display:flex;align-items:baseline;gap:.75rem;cursor:default;list-style:none}details.release>summary.release__header{cursor:pointer}.release__version{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .6rem;border-radius:999px;font-weight:700;background:color-mix(in srgb,var(--chip),transparent 0%);border:1px solid color-mix(in srgb,var(--chip),#000 20%)}.release__date{opacity:.8;font-size:.95rem}.release ul{margin:.5rem 0 0 1.15rem;line-height:1.6}.release kbd{background:color-mix(in srgb,var(--panel),transparent 20%);border:1px solid color-mix(in srgb,var(--panel),#000 25%);padding:.05rem .4rem;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-C8cdMEH1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BNZrkLa0.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-DBr-NfXb.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-CgEMIOQI.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-CxETBKkY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-Cd0_BKvP.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-DTispvgz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-CIMKXMQI.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-c9plhWJ-.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.nodeWidthSlider{pointer-events:auto;display:flex;flex-direction:column;gap:2px;transform-origin:center;transform:translate(-50%,-50%) scale(var(--node-slider-scale, 1)) rotate(var(--node-slider-rotation, 0))}.nodeWidthSlider__valueRow{display:flex;justify-content:flex-end;font-size:11px;line-height:1.2}.nodeWidthSlider__value{color:var(--node-slider-text);white-space:nowrap}.nodeWidthSlider__track{position:relative;margin-top:2px;height:6px;border-radius:4px;border:1px solid var(--node-slider-border);background:var(--node-slider-track-bg);overflow:hidden;cursor:pointer}.nodeWidthSlider__trackFill{position:absolute;inset:0;width:0;background:var(--node-slider-track-fill)}.nodeWidthSlider__thumb{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;transform:translate(-50%,-50%);background:var(--node-slider-thumb);box-shadow:0 0 0 2px var(--node-slider-thumb-core),0 2px 4px var(--node-slider-thumb-shadow);pointer-events:auto}.nodeWidthSlider.is-active .nodeWidthSlider__thumb{box-shadow:0 0 0 2px var(--node-slider-thumb-core),0 3px 6px var(--node-slider-thumb-shadow)}.nodeWidthSliderAnchor{position:absolute;pointer-events:none}.areaEditPanel{position:fixed;bottom:16px;right:16px;width:260px;background:#fff;border:1px solid #ccc;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000026;font-family:sans-serif;z-index:1000}.areaEditPanel h3{margin-top:0;font-size:16px}.areaEditPanel label{display:block;margin:8px 0 4px;font-size:14px}.areaEditPanel textarea,.areaEditPanel input[type=text]{width:100%;box-sizing:border-box;margin-top:4px;font-size:14px;resize:vertical;padding:6px;border-radius:4px;border:1px solid #ccc}.areaEditPanel textarea:focus,.areaEditPanel input[type=text]:focus{outline:none;border-color:#888;box-shadow:0 0 3px #0003}.buildingEditPanel{position:fixed;bottom:16px;right:16px;width:260px;background:#fff;border:1px solid #ccc;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000026;font-family:sans-serif;z-index:1000}.buildingEditPanel h3{margin-top:0;font-size:16px}.buildingEditPanel label{display:block;margin:8px 0;font-size:14px}.buildingEditPanel input[type=text],.buildingEditPanel textarea,.buildingEditPanel input[type=range],.buildingEditPanel input[type=color]{width:100%;box-sizing:border-box;margin-top:4px;font-size:14px}.buildingPreviewControls{display:flex;flex-direction:column;gap:16px;box-shadow:0 2px 6px #0000001a}.sliderGroup{display:flex;flex-direction:column;gap:6px}input[type=range]{width:100%;cursor:pointer}.shapeTools{display:flex;flex-direction:column;gap:16px;padding:8px;box-sizing:border-box;width:100%;height:100%;border-radius:10px;background:var(--st-bg);border:1px solid var(--st-border);box-shadow:0 4px 12px var(--st-shadow)}.shapeTools__tabs{display:flex;flex-wrap:wrap;gap:6px}.shapeTools__tab{appearance:none;background:var(--st-bg);border:1px solid var(--st-border);border-radius:6px;height:28px;min-width:28px;padding:0 8px;cursor:pointer;color:inherit}.shapeTools__tab.is-active{background:var(--st-btn-bg-hover)}.shapeTools__grid{display:grid;grid-template-columns:repeat(var(--st-cols, 6),var(--st-tile, 40px));grid-template-rows:repeat(var(--st-rows, 2),var(--st-tile, 40px));gap:8px}.shapeTools__btn{appearance:none;background:transparent;border:0;width:var(--st-tile, 40px);height:var(--st-tile, 40px);border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--st-icon)}.shapeTools__btn:hover{background:var(--st-btn-bg-hover)}.shapeTools__btn.is-active{outline:2px solid var(--st-border);outline-offset:-2px;color:var(--st-icon-active)}.shapeTools__icon{width:24px;height:24px;display:block;pointer-events:none;fill:var(--st-icon);color:var(--st-icon)}.shapeTools__path{fill:var(--st-icon);stroke-width:calc(1px / var(--st-scale, 1))}.shapeTools__path.is-active{fill:var(--st-icon-active);stroke-width:calc(1.5px / var(--st-scale, 1))}.featureTypeTools{background:none}.featureTypeTools button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;background:none;border:none;cursor:pointer;transition:box-shadow .2s ease}.featureTypeTools button:not(.active):hover{box-shadow:0 0 0 2px #ffffff1a}.featureTypeTools button.active{box-shadow:0 0 0 5px var(--accent-color);border-radius:50%}.filterToolsPanel{position:fixed;right:16px;bottom:16px;z-index:40;border-radius:8px;padding:12px;width:180px;box-shadow:0 8px 24px #00000026}.filterToolsHeader{display:flex;align-items:center;justify-content:space-between}.filterToolsButtons{display:flex;gap:6px;padding-bottom:10px}.filterToolsButtons button{font-size:12px;padding:4px 8px;border-radius:6px;background:transparent;cursor:pointer}.filterToolsList{list-style:none;margin:0;padding:0 0 10px;display:grid;gap:8px}.filterToolsRow{display:flex;align-items:center;justify-content:space-between}.filterToolsLabel{display:flex;align-items:center;gap:8px;cursor:pointer}.pathTypeTools{background:none}.pathTypeTools button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;background:none;border:none;cursor:pointer;transition:box-shadow .2s ease}.pathTypeTools button:not(.active):hover{box-shadow:0 0 0 2px #ffffff1a}.pathTypeTools button.active{box-shadow:0 0 0 5px var(--accent-color);border-radius:50%}.poiEditPanel{position:fixed;bottom:16px;right:16px;width:260px;background:#fff;border:1px solid #ccc;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000026;font-family:sans-serif;z-index:1000}.poiEditPanel h3{margin-top:0;font-size:16px}.poiEditPanel label{display:block;margin:8px 0 4px;font-size:14px}.poiEditPanel textarea,.poiEditPanel input[type=text]{width:100%;box-sizing:border-box;margin-top:4px;font-size:14px;resize:vertical;padding:6px;border-radius:4px;border:1px solid #ccc}.poiEditPanel textarea:focus,.poiEditPanel input[type=text]:focus{outline:none;border-color:#888;box-shadow:0 0 3px #0003}.roadEditPanel{display:flex;flex-direction:column;gap:14px;animation:rep-fade-in .16s ease-out}.rep-field{display:flex;flex-direction:column;gap:4px}.roadEditPanel input,.roadEditPanel select{outline:none;transition:box-shadow .18s ease,border-color .18s ease,background-color .25s}.roadEditPanel input:focus,.roadEditPanel select:focus{box-shadow:0 0 0 2px #ffffff1f}@keyframes rep-fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.roadTypeTools{background:none}.roadTypeTools button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:6px;box-sizing:border-box;background:none;border:none;cursor:pointer;transition:box-shadow .2s ease}.roadTypeTools button:not(.active):hover{box-shadow:0 0 0 2px #ffffff1a}.roadTypeTools button.active{box-shadow:0 0 0 5px var(--accent-color);border-radius:50%}.toolbar{display:flex;gap:.75rem;position:fixed;top:1rem;z-index:100;background:transparent;padding:0}.toolbar button{background:none;border:none}.toolbar button:focus{outline:none}.toolbar button svg{width:24px;height:24px;color:var(--toolbar-icon-color);background:none;transition:color .2s ease}.toolbar button:hover svg{color:var(--toolbar-icon-hover)}.toolbar button.active svg{color:var(--toolbar-button-active)}.toolbar-dropdown-wrapper{position:relative}.toolbar-dropdown{position:absolute;top:45px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;background:transparent}.toolbar-dropdown button{background:var(--toolbar-button-bg);color:var(--toolbar-icon-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:background .2s ease}.toolbar-dropdown button:active{background:var(--toolbar-button-bg)}.toolbar-dropdown button:hover{background:var(--toolbar-button-hover)}.zoneEditPanel{position:fixed;bottom:16px;right:16px;width:260px;background:#fff;border:1px solid #ccc;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000026;font-family:sans-serif;z-index:1000}.zoneEditPanel h3{margin-top:0;font-size:16px}.zoneEditPanel label{display:block;margin:8px 0 4px;font-size:14px}.zoneEditPanel textarea,.zoneEditPanel input[type=text]{width:100%;box-sizing:border-box;margin-top:4px;font-size:14px;resize:vertical;padding:6px;border-radius:4px;border:1px solid #ccc}.zoneEditPanel textarea:focus,.zoneEditPanel input[type=text]:focus{outline:none;border-color:#888;box-shadow:0 0 3px #0003}html,body,#root{margin:0;padding:0;height:auto;width:100%;font-family:sans-serif;overflow-x:hidden}.toolbar{position:fixed;top:1rem;left:1rem;display:flex;gap:.5rem;z-index:100}#overlay-root{position:fixed;inset:0;z-index:1000;pointer-events:none}.hud{position:absolute;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;align-items:flex-end;-webkit-user-select:none;user-select:none}#overlay-root .hud>*{pointer-events:auto}.editor-root{height:100vh;width:100vw;overflow:hidden;display:flex;flex-direction:column;-webkit-user-select:none;user-select:none}
