:root{--color-bg-page:#f5f5f5;--color-bg-panel:#fff;--color-bg-input:#fff;--color-bg-status:#f0f0f0;--color-bg-preview:#f5f5f5;--color-bg-leaflet:#f0f0f0;--color-text-primary:#222;--color-text-secondary:#666;--color-text-emphasis:#111;--color-text-muted:#999;--color-text-muted2:#aaa;--color-text-attribution:#999;--color-text-inverse:#fff;--color-link:#006d32;--color-link-hover:#004f25;--color-accent:#00ae42;--color-accent-hover:#009639;--color-accent-light:#33c268;--color-btn-secondary-bg:#e8e8e8;--color-btn-secondary-text:#333;--color-btn-shape-bg:#fff;--color-btn-shape-hover:#f0f0f0;--color-btn-shape-border:#0003;--color-btn-shape-shadow:#0000001f;--color-border:#e0e0e0;--color-border-input:#d0d0d0;--color-border-section:#e5e5e5;--color-warning-bg:#fff5f5;--color-warning-text:#c62828;--color-warning-border:#ffcdd2;--color-btn-cancel-bg:#d32f2f;--color-btn-cancel-hover:#b71c1c;--color-btn-cancel-text:#fff;--color-suggestion-hover:#f5f5f5;--color-suggestion-border:#e0e0e0;--color-suggestion-shadow:#0000001f;--color-swatch-terrain:#a8de92;--color-swatch-water:#8bcfeb;--color-swatch-concrete:#b2b2ac;--color-swatch-road:#404040;--color-swatch-border:#0003;--color-rotation-bg:#00ae42eb;--color-rotation-input-border:#ffffff4d;--color-rotation-input-bg:#ffffff26;--color-rotation-unit:#fffc;--color-dimension-bg:#00ae42f2;--color-dimension-border:#ffffff40;--color-dimension-text:#fff;--color-dimension-shadow:#00000040;--color-loading-overlay:#ffffffd9;--color-loading-text:#00ae42;--color-palette-group-bg:#f8f8f8;--color-palette-label:#888;--color-section-disabled-opacity:.4;--color-overlay-backdrop:#00000080;--font-mono:"SF Mono", "Fira Code", "Cascadia Code", ui-monospace, "Menlo", "Consolas", monospace;--top-chrome-height:3.5rem}[data-theme=dark]{--color-bg-page:#121212;--color-bg-panel:#1e1e1e;--color-bg-input:#2c2c2c;--color-bg-status:#1a1a1a;--color-bg-preview:#2a2a2a;--color-bg-leaflet:#121212;--color-text-primary:#e0e0e0;--color-text-secondary:#aaa;--color-text-emphasis:#fff;--color-text-muted:#888;--color-text-muted2:#777;--color-text-attribution:#777;--color-text-inverse:#fff;--color-link:#68e891;--color-link-hover:#98f5b0;--color-accent:#00ae42;--color-accent-hover:#00c44a;--color-accent-light:#33c268;--color-btn-secondary-bg:#333;--color-btn-secondary-text:#e0e0e0;--color-btn-shape-bg:#333;--color-btn-shape-hover:#3a3a3a;--color-btn-shape-border:#ffffff26;--color-btn-shape-shadow:#0000004d;--color-border:#333;--color-border-input:#3a3a3a;--color-border-section:#2a2a2a;--color-warning-bg:#3d1a1a;--color-warning-text:#ffcdd2;--color-warning-border:#6b2020;--color-btn-cancel-bg:#c62828;--color-btn-cancel-hover:#d32f2f;--color-btn-cancel-text:#fff;--color-suggestion-hover:#2a2a2a;--color-suggestion-border:#2a2a2a;--color-suggestion-shadow:#0006;--color-swatch-terrain:#7ab868;--color-swatch-water:#5da8c7;--color-swatch-concrete:#8a8a85;--color-swatch-road:#666;--color-swatch-border:#dce8e426;--color-rotation-bg:#00ae42eb;--color-rotation-input-border:#ffffff4d;--color-rotation-input-bg:#ffffff26;--color-rotation-unit:#fffc;--color-dimension-bg:#00ae42eb;--color-dimension-border:#ffffff40;--color-dimension-text:#fff;--color-dimension-shadow:#0006;--color-loading-overlay:#121212d9;--color-loading-text:#00ae42;--color-palette-group-bg:#222;--color-palette-label:#888;--color-section-disabled-opacity:.3;--color-overlay-backdrop:#000000b3}*{box-sizing:border-box}html,body,#root{height:100%;overflow:hidden}body{background:var(--color-bg-page);min-width:320px;color:var(--color-text-primary);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:var(--color-link);text-underline-offset:.16em}a:hover{color:var(--color-link-hover)}#root{flex-direction:column;display:flex}button,input,select,textarea{font:inherit}button{background:var(--color-accent);color:var(--color-text-inverse);cursor:pointer;border:0;border-radius:8px;padding:.74rem 1rem;font-weight:700}button:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-hover)}button:disabled{cursor:progress;opacity:.65}button[aria-disabled=true]{cursor:not-allowed;opacity:.65}button.secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text)}input,select,textarea{border:1px solid var(--color-border-input);background:var(--color-bg-input);width:100%;color:var(--color-text-primary);border-radius:8px;padding:.68rem .72rem}textarea{resize:vertical;min-height:8rem}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}label{color:var(--color-text-secondary);gap:.34rem;font-size:.9rem;font-weight:700;display:grid}.top-ribbon{z-index:2000;border-bottom:1px solid var(--color-border);background:var(--color-bg-panel);flex-shrink:0;display:grid;position:sticky;top:0}.ribbon-utility-row{border-bottom:1px solid var(--color-border-section);background:color-mix(in srgb, var(--color-bg-panel) 88%, var(--color-bg-page));justify-content:space-between;align-items:center;gap:1rem;min-height:2rem;padding:.25rem 1.35rem;display:flex}.ribbon-stats,.ribbon-utility-links{white-space:nowrap;align-items:center;min-width:0;display:inline-flex}.ribbon-stats{color:var(--color-text-muted);gap:.42rem;font-size:.72rem;font-weight:700}.ribbon-stats-spacer{min-width:1px;min-height:1px}.ribbon-stats-item{align-items:center;gap:.15rem;min-width:0;display:inline-flex}.ribbon-stats-item strong{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.ribbon-stats-item-secondary{opacity:.65;font-size:.68rem}.ribbon-stats-divider{background:var(--color-text-muted);opacity:.4;border-radius:50%;width:2px;height:2px}.ribbon-stats-info-icon{width:.9rem;height:.9rem;color:var(--color-text-muted);cursor:help;opacity:.55;background:0 0;border:1px solid;border-radius:50%;flex:0 0 .9rem;justify-content:center;align-items:center;margin-left:.12rem;padding:0;font:700 .62rem/1 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:inline-flex}.ribbon-stats-info-icon:hover,.ribbon-stats-info-icon:focus-visible{color:var(--color-text-secondary);opacity:.85;background:0 0}.ribbon-utility-links{justify-content:flex-end;gap:.45rem}.ribbon-utility-link{color:var(--color-text-secondary);font-size:.72rem;font-weight:800;line-height:1;text-decoration:none}.ribbon-utility-link:hover,.ribbon-utility-link.active{color:var(--color-accent)}.ribbon-main-row{background:var(--color-bg-panel);grid-template-columns:auto minmax(0,1fr) auto auto auto;align-items:center;gap:.72rem;min-height:3.25rem;padding:.32rem 1.1rem;display:grid}.ribbon-brand{min-width:0;color:var(--color-text-emphasis);align-items:center;gap:.52rem;text-decoration:none;display:inline-flex}.ribbon-brand:hover{color:var(--color-text-emphasis)}.ribbon-logo-mark{width:2.95rem;height:3.25rem;box-shadow:none;object-fit:contain;background:0 0;flex:0 0 2.95rem;display:block;filter:none!important}.ribbon-brand-text{gap:.14rem;min-width:0;display:grid}.ribbon-brand-text strong{color:var(--color-text-emphasis);letter-spacing:0;white-space:nowrap;font-size:1.18rem;font-weight:900;line-height:1}.ribbon-brand-text small{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.56rem;font-weight:850;line-height:1}.ribbon-support-button{box-sizing:border-box;border:1px solid color-mix(in srgb, #fc0 72%, var(--color-border));color:#0b0b0b;white-space:nowrap;background:#ffd400;border-radius:999px;justify-content:center;align-items:center;height:1.55rem;min-height:1.55rem;padding:0 .62rem;font-size:.68rem;font-weight:950;line-height:1;text-decoration:none;display:inline-flex;box-shadow:0 2px #0003,0 5px 12px #ffcc001f}.ribbon-support-button:hover,.ribbon-support-button:focus-visible{color:#0b0b0b;background:#ffe04a;transform:translateY(-1px)}.ribbon-makerworld-banner{border-color:color-mix(in srgb, var(--color-accent) 68%, var(--color-border));background:var(--color-accent);color:var(--color-text-inverse);box-shadow:0 2px #0003,0 5px 12px #00ae4221}.ribbon-makerworld-banner:hover,.ribbon-makerworld-banner:focus-visible{background:var(--color-accent-hover);color:var(--color-text-inverse)}.ribbon-primary-nav{border:1px solid color-mix(in srgb, var(--color-accent) 34%, var(--color-border-section));background:color-mix(in srgb, var(--color-accent) 10%, var(--color-bg-status));white-space:nowrap;border-radius:999px;grid-column:3;justify-self:end;align-items:center;gap:.1rem;min-width:0;padding:.18rem;display:inline-flex}.ribbon-primary-nav a{min-height:2rem;color:var(--color-text-secondary);box-shadow:none;background:0 0;border-radius:999px;justify-content:center;align-items:center;padding:0 .9rem;font-size:.86rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.ribbon-primary-nav a:hover{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.ribbon-primary-nav a.active{background:var(--color-accent);color:var(--color-text-inverse);box-shadow:inset 0 0 0 1px #ffffff47,0 8px 20px #00ae422e}.ribbon-primary-nav a.active:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)}.ribbon-surface-group{--surface-accent:var(--color-accent);--surface-accent-hover:var(--color-accent-hover);--surface-active-text:var(--color-text-inverse);justify-self:end;align-items:center;gap:.5rem;min-width:0;display:inline-flex}.ribbon-surface-group[data-surface=moon]{--surface-accent:#9ca3af;--surface-accent-hover:#b8bec8;--surface-active-text:#141414}.ribbon-surface-group[data-surface=mars]{--surface-accent:#b95b36;--surface-accent-hover:#d07148;--surface-active-text:#fff}.ribbon-surface-group[data-surface=mercury]{--surface-accent:#968e84;--surface-accent-hover:#b2aaa0;--surface-active-text:#141414}.ribbon-surface-group[data-surface=venus]{--surface-accent:#c99348;--surface-accent-hover:#e0aa60;--surface-active-text:#141414}.ribbon-surface-group[data-surface=ceres]{--surface-accent:#a09c92;--surface-accent-hover:#b8b3aa;--surface-active-text:#141414}.ribbon-surface-group[data-surface=vesta]{--surface-accent:#9b7d61;--surface-accent-hover:#b29173;--surface-active-text:#fff}.ribbon-surface-title{color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.65rem;font-weight:900;line-height:1}.ribbon-surface-control{border:1px solid color-mix(in srgb, var(--surface-accent) 38%, var(--color-border));background:color-mix(in srgb, var(--surface-accent) 9%, var(--color-bg-status));white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;min-width:0;padding:.18rem;display:inline-flex}.surface-tab,.surface-more-wrap{min-height:2rem;color:var(--color-text-secondary);border-radius:999px;justify-content:center;align-items:center;font-size:.78rem;font-weight:850;line-height:1;display:inline-flex}.surface-tab{background:0 0;border:0;padding:0 .85rem}.surface-more-wrap{min-width:4.95rem;position:relative}.surface-more-trigger{width:100%;min-height:inherit;border-radius:inherit;color:inherit;cursor:pointer;font:inherit;text-align:center;background:0 0;border:0;justify-content:center;align-items:center;gap:.38rem;padding:0 1.6rem 0 .75rem;line-height:1;display:inline-flex}.surface-tab:hover:not(:disabled),.surface-more-wrap:hover{background:color-mix(in srgb, var(--surface-accent) 15%, var(--color-btn-secondary-bg));color:var(--color-text-emphasis)}.surface-tab.active,.surface-more-wrap.active{background:var(--surface-accent);color:var(--surface-active-text)}.surface-more-wrap:after{content:"";pointer-events:none;border-bottom:2px solid;border-right:2px solid;width:.42rem;height:.42rem;position:absolute;right:.72rem;transform:translateY(-20%)rotate(45deg)}.surface-more-wrap:focus-within{outline:2px solid color-mix(in srgb, var(--surface-accent) 45%, transparent);outline-offset:2px}.surface-more-wrap.open:after{transform:translateY(20%)rotate(225deg)}.surface-more-label{text-overflow:ellipsis;white-space:nowrap;max-width:5.5rem;overflow:hidden}.surface-more-menu{z-index:10002;border:1px solid color-mix(in srgb, var(--surface-accent) 34%, var(--color-border));background:color-mix(in srgb, var(--color-bg-panel) 97%, transparent);border-radius:8px;gap:.12rem;min-width:9.4rem;padding:.28rem;display:grid;position:absolute;top:calc(100% + .42rem);right:0;box-shadow:0 14px 28px #00000047}.surface-more-option{min-height:2rem;color:var(--color-text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:.65rem;padding:0 .68rem;font-size:.78rem;font-weight:850;line-height:1;display:flex}.surface-more-option:hover:not(:disabled),.surface-more-option.active{color:#141414;background:#e5e7eb}.surface-more-option:disabled{cursor:not-allowed;opacity:.48}.surface-more-option-note{color:currentColor;letter-spacing:.02em;text-transform:uppercase;font-size:.6rem;font-weight:900}.ribbon-patch-alert{border:1px solid color-mix(in srgb, var(--color-accent) 55%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 9%, var(--color-bg-status));min-width:0;max-width:12rem;height:2.35rem;color:var(--color-text-secondary);border-radius:8px;grid-column:4;grid-template-columns:auto minmax(0,1fr);justify-self:end;align-items:center;gap:.42rem;padding:.18rem .72rem .18rem .32rem;display:inline-grid;box-shadow:0 8px 22px #00ae4217}.ribbon-patch-alert:hover:not(:disabled),.ribbon-patch-alert:focus-visible{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 13%, var(--color-bg-status));color:var(--color-text-emphasis)}.ribbon-patch-icon{background:var(--color-accent);width:1.65rem;height:1.65rem;color:var(--color-text-inverse);border-radius:6px;place-items:center;display:grid}.ribbon-patch-icon svg{fill:currentColor;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.05rem;height:1.05rem}.ribbon-patch-copy{text-align:left;gap:.1rem;min-width:0;display:grid}.ribbon-patch-copy strong,.ribbon-patch-copy small{text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.ribbon-patch-copy strong{color:var(--color-accent);text-transform:uppercase;font-size:.7rem;font-weight:900}.ribbon-patch-copy small{color:var(--color-text-muted);font-size:.64rem;font-weight:800}.ribbon-theme-toggle,.ribbon-menu-button{border:1px solid var(--color-border);background:var(--color-bg-status);height:2.35rem;color:var(--color-text-secondary);border-radius:8px;justify-content:center;align-items:center;line-height:1;display:inline-flex}.ribbon-theme-toggle{border-radius:999px;justify-content:flex-start;justify-self:end;gap:0;width:2.72rem;min-width:2.72rem;padding:0 .22rem;font-size:.78rem;font-weight:800;transition:background .15s,color .15s}.ribbon-utility-links .ribbon-theme-toggle{height:1.55rem}.ribbon-theme-toggle[aria-pressed=true]{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-bg-status));color:var(--color-text-emphasis);justify-content:flex-end}.ribbon-theme-toggle svg{background:var(--color-bg-panel);border-radius:999px;flex:0 0 1rem;width:1rem;height:1rem;padding:.13rem;box-shadow:0 1px 3px #0003}.ribbon-theme-toggle:hover:not(:disabled),.ribbon-menu-button:hover:not(:disabled),.ribbon-menu-button.active{background:var(--color-btn-secondary-bg);color:var(--color-text-emphasis)}.ribbon-menu-wrap{grid-column:5;justify-self:end;align-items:center;display:inline-flex;position:relative}.ribbon-menu-button{flex-direction:column;gap:.18rem;width:2.35rem;padding:0}.ribbon-menu-button span{background:currentColor;border-radius:999px;width:1rem;height:2px;display:block}.ribbon-menu{z-index:2100;border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;width:min(16rem,100vw - 1.5rem);padding:.45rem;display:grid;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 12px 34px #00000029}.ribbon-menu-section{gap:.1rem;padding:.35rem 0;display:grid}.ribbon-menu-section+.ribbon-menu-section{border-top:1px solid var(--color-border-section)}.ribbon-menu a{min-height:2.25rem;color:var(--color-text-secondary);border-radius:6px;align-items:center;padding:.48rem .65rem;font-size:.9rem;font-weight:700;text-decoration:none;display:flex}.ribbon-menu a:hover,.ribbon-menu a.active{background:var(--color-btn-secondary-bg);color:var(--color-text-emphasis)}.ribbon-menu a.active{border-bottom:0;padding-bottom:.48rem}.ribbon-menu-primary{background:0 0;font-weight:800;color:var(--color-text-secondary)!important;display:none!important}.ribbon-menu a.ribbon-menu-primary:hover{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-bg-panel));color:var(--color-accent)!important}.ribbon-menu a.ribbon-menu-primary.active{background:var(--color-accent);color:var(--color-text-inverse)!important}.ribbon-menu a.ribbon-menu-primary.active:hover{background:var(--color-accent-hover);color:var(--color-text-inverse)!important}.ribbon-support-section a{color:var(--color-text-muted);font-weight:650}@media (width<=1320px){.ribbon-main-row{gap:.72rem}.ribbon-primary-nav a{padding-inline:.65rem}.ribbon-patch-alert{max-width:8.75rem}}@media (width<=1180px){.ribbon-main-row{gap:.72rem;padding-inline:1rem}.ribbon-primary-nav a{padding-inline:.62rem}.ribbon-brand-text small{display:none}}@media (width<=980px){.ribbon-utility-row{padding-inline:.85rem}.ribbon-main-row{grid-template-columns:auto minmax(0,1fr) auto auto auto}.ribbon-primary-nav{justify-self:end}.ribbon-patch-alert{max-width:10rem}}@media (width<=860px){.ribbon-utility-links{gap:.35rem}.ribbon-support-button{padding-inline:.52rem;font-size:.64rem}.ribbon-stats-item-secondary{display:none}}@media (width<=768px){.ribbon-utility-row{flex-direction:row;align-items:center;gap:.5rem}.ribbon-support-button{height:1.45rem;min-height:1.45rem;padding-inline:.48rem;font-size:.61rem}.ribbon-main-row{grid-template-columns:minmax(0,1fr) auto auto;min-height:3.1rem;padding:.36rem .75rem}.ribbon-primary-nav,.primary-ribbon-link{display:none}.ribbon-menu-primary{display:flex!important}.ribbon-surface-group{grid-area:2/1/auto/-1;justify-self:stretch}.ribbon-surface-control{flex:auto}.ribbon-patch-alert{grid-area:1/2;max-width:8.8rem}.ribbon-menu-wrap{grid-area:1/3}}@media (width<=620px){.ribbon-stats{white-space:normal;flex-wrap:wrap;gap:.3rem;font-size:.65rem}.ribbon-main-row{grid-template-columns:minmax(0,1fr) auto auto;row-gap:.45rem}.ribbon-brand{grid-area:1/1}.ribbon-brand-text strong{font-size:1.12rem}.ribbon-logo-mark{flex-basis:2.58rem;width:2.58rem;height:2.85rem}.ribbon-surface-group{grid-area:2/1/auto/-1;justify-self:stretch}.ribbon-surface-title{flex:none}.ribbon-surface-control{flex:auto}.ribbon-patch-alert{grid-area:1/2;width:2.35rem;padding:0}.ribbon-patch-copy{display:none}.ribbon-menu-wrap{grid-area:1/3}.surface-tab,.surface-more-wrap{flex:1 1 0}.ribbon-utility-links .ribbon-theme-toggle{width:2.5rem;min-width:2.5rem}}@media (width<=460px){.ribbon-utility-row{padding:.22rem .55rem}.ribbon-main-row{padding-inline:.55rem}.ribbon-brand{gap:.45rem}.ribbon-brand-text small,.ribbon-stats-item-secondary{display:none}.ribbon-theme-toggle{width:2.35rem;min-width:2.35rem}.ribbon-support-button{text-overflow:ellipsis;max-width:5.25rem;overflow:hidden}.surface-tab,.surface-more-wrap{min-height:1.9rem;font-size:.72rem}}.app-shell{flex:1;grid-template-columns:minmax(0,1fr) 585px;min-height:0;display:grid}.flyover-backdrop{inset:0;top:var(--top-chrome-height,3.5rem);z-index:10050;background:#00000059;animation:.2s flyover-fade-in;position:fixed}[data-theme=dark] .flyover-backdrop{background:#0000008c}@keyframes flyover-fade-in{0%{opacity:0}to{opacity:1}}.flyover-panel{background:var(--color-bg-page);overscroll-behavior:contain;width:1120px;max-width:92vw;height:100%;animation:.25s flyover-slide-in;position:absolute;top:0;right:0;overflow:hidden auto;box-shadow:-4px 0 24px #0000002e}@keyframes flyover-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.flyover-close{float:right;z-index:10;background:var(--color-bg-panel);width:36px;height:36px;color:var(--color-text-secondary);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:.75rem;font-size:1.35rem;font-weight:700;line-height:1;transition:background .15s,color .15s;display:flex;position:sticky;top:.75rem;box-shadow:0 1px 4px #0000001a}.flyover-close:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-emphasis)}.flyover-body{padding:0 0 2rem}.flyover-body .page-container{max-width:none;margin:0;padding:.5rem 2rem 3rem}.flyover-body .page-container h1{margin-top:0;padding-top:0;font-size:1.75rem}@media (width<=768px){.flyover-backdrop{top:var(--top-chrome-height,3.5rem);bottom:0}.flyover-panel{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:85vh;animation:.25s flyover-slide-up;top:auto;bottom:0}@keyframes flyover-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.flyover-body .page-container{padding:.5rem 1.25rem 3rem}.flyover-body .page-container h1{font-size:1.5rem}}.full-editor-backdrop{inset:var(--top-chrome-height,3.5rem) 0 0;z-index:9500;background:var(--color-bg-page);min-width:0;color:var(--color-text-primary);grid-template-rows:auto minmax(0,1fr);display:grid;position:fixed}.full-editor-header{border-bottom:1px solid var(--color-border);background:var(--color-bg-panel);grid-template-columns:minmax(180px,1fr) minmax(0,auto) auto;align-items:center;gap:1rem;min-width:0;padding:.85rem 1rem;display:grid}.full-editor-title{gap:.1rem;min-width:0;display:grid}.full-editor-title span{color:var(--color-text-muted);text-transform:uppercase;font-size:.72rem;font-weight:900;line-height:1.1}.full-editor-title strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:1.08rem;font-weight:900;line-height:1.1;overflow:hidden}.full-editor-status-chips{flex-wrap:wrap;justify-content:center;gap:.45rem;min-width:0;display:flex}.full-editor-status-chips span{border:1px solid var(--color-border-input);background:var(--color-bg-input);min-height:1.55rem;color:var(--color-text-secondary);overflow-wrap:anywhere;border-radius:999px;padding:.32rem .55rem;font-size:.72rem;font-weight:800;line-height:1}.full-editor-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;min-width:0;display:flex}.full-editor-header-actions button{white-space:nowrap;min-height:2.05rem;padding:.48rem .75rem;font-size:.78rem}.full-editor-close{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text-secondary)}.full-editor-close:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.full-editor-body{grid-template-rows:minmax(0,1fr);grid-template-columns:168px minmax(0,1fr) minmax(320px,390px);min-width:0;min-height:0;display:grid;overflow:hidden}.full-editor-nav{border-right:1px solid var(--color-border);background:var(--color-bg-panel);align-content:start;gap:.35rem;min-height:0;padding:.8rem;display:grid;overflow-y:auto}.full-editor-tab{min-height:2.35rem;color:var(--color-text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:flex-start;align-items:center;padding:.55rem .7rem;font-size:.8rem;font-weight:850;line-height:1.15;display:flex}.full-editor-tab:hover:not(:disabled),.full-editor-tab.active{border-color:var(--color-border-input);background:var(--color-bg-input);color:var(--color-text-primary)}.full-editor-tab.active{border-color:var(--color-accent)}.full-editor-stage{background:var(--color-bg-page);min-width:0;min-height:0;padding:1rem;overflow:hidden}.full-editor-preview-frame,.full-editor-road-canvas{border:1px solid var(--color-border);background:var(--color-bg-preview);border-radius:8px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.full-editor-preview-frame .mesh-preview,.full-editor-preview-frame .empty-preview,.full-editor-preview-frame img{aspect-ratio:auto;border:0;border-radius:0;width:100%;height:100%}.full-editor-preview-frame img{object-fit:contain;display:block}.full-editor-progress{width:100%;height:100%;color:var(--color-text-secondary);text-align:center;align-content:center;place-items:center;gap:.55rem;padding:1.5rem;display:grid}.full-editor-progress strong{color:var(--color-accent);font-family:var(--font-mono);font-size:1.7rem;line-height:1}.full-editor-progress small{max-width:520px;color:var(--color-warning-text);overflow-wrap:anywhere;font-size:.82rem;font-weight:700}.full-editor-inspector{border-left:1px solid var(--color-border);background:var(--color-bg-panel);align-content:start;gap:.8rem;min-width:0;min-height:0;padding:1rem;display:grid;overflow-y:auto}.full-editor-section{border-bottom:1px solid var(--color-border-section);gap:.7rem;min-width:0;padding-bottom:.9rem;display:grid}.full-editor-section:last-child{border-bottom:0;padding-bottom:0}.full-editor-section-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;display:grid}.full-editor-section-header span{color:var(--color-text-secondary);text-overflow:ellipsis;text-transform:uppercase;font-size:.78rem;font-weight:900;line-height:1.15;overflow:hidden}.full-editor-section-header strong{min-width:0;color:var(--color-text-muted);text-align:right;overflow-wrap:anywhere;font-size:.72rem;font-weight:850;line-height:1.15}.full-editor-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.full-editor-metric-grid div{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;gap:.15rem;min-width:0;padding:.55rem;display:grid}.full-editor-metric-grid span{color:var(--color-text-muted);font-size:.72rem;font-weight:800;line-height:1.15}.full-editor-metric-grid strong{color:var(--color-text-primary);overflow-wrap:anywhere;font-size:.88rem;font-weight:900;line-height:1.15}.full-editor-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.full-editor-action-grid .cancel{grid-column:1/-1}.full-editor-control-grid,.full-editor-palette-presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.full-editor-inline-color{grid-template-columns:2.5rem minmax(0,max-content);align-items:center;gap:.45rem;display:grid}.full-editor-inline-color input[type=color],.full-editor-section>label input[type=color],.full-editor-layer-row input[type=color]{border-radius:6px;width:2.5rem;height:2rem;padding:.1rem}.full-editor-layer-list{gap:.55rem;min-width:0;display:grid}.full-editor-layer-group{gap:.32rem;min-width:0;display:grid}.full-editor-layer-group>span{color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;font-weight:900;line-height:1.1}.full-editor-layer-row{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;min-width:0;padding:.45rem .5rem;font-size:.78rem;display:grid}.full-editor-layer-row input[type=checkbox]{width:auto}.full-editor-layer-row span{overflow-wrap:anywhere;min-width:0}.full-editor-note{color:var(--color-text-muted);margin:0;font-size:.84rem;font-weight:700;line-height:1.38}.full-editor-tool-toggle{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;display:grid}.full-editor-tool-toggle.three{grid-template-columns:repeat(3,minmax(0,1fr))}.full-editor-tool-toggle button{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text-secondary);font-size:.8rem}.full-editor-tool-toggle button.active,.full-editor-tool-toggle button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.full-editor-range-field input[type=range],.full-editor-road-width-list input[type=range]{accent-color:var(--color-accent);border:0;padding:0}.full-editor-range-field small{color:var(--color-text-muted);font-size:.78rem;font-weight:800}.full-editor-road-width-list{gap:.5rem;display:grid}.full-editor-road-width-list label{grid-template-columns:minmax(0,1fr) minmax(96px,1fr) auto;align-items:center;gap:.55rem;font-size:.76rem;display:grid}.full-editor-road-width-list strong{color:var(--color-text-primary);white-space:nowrap;font-size:.76rem;font-weight:900}.full-editor-build-plate-options{flex-wrap:wrap;gap:.45rem;display:flex}.full-editor-road-canvas{background:linear-gradient(90deg, #0000000a 1px, transparent 1px), linear-gradient(0deg, #0000000a 1px, transparent 1px), var(--color-bg-input);background-size:48px 48px}[data-theme=dark] .full-editor-road-canvas{background:linear-gradient(90deg, #ffffff0a 1px, transparent 1px), linear-gradient(0deg, #ffffff0a 1px, transparent 1px), var(--color-bg-input)}.full-editor-road-grid{border:1px solid var(--color-border);opacity:.6;border-radius:8px;position:absolute;inset:9%}.road-view-controls{z-index:4;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);border-radius:8px;align-items:center;gap:.35rem;padding:.35rem;display:flex;position:absolute;top:.85rem;right:.85rem;box-shadow:0 6px 18px #0000001f}.road-view-controls button{border:1px solid var(--color-border-input);background:var(--color-bg-input);min-width:2rem;height:2rem;color:var(--color-text-primary);border-radius:6px;place-items:center;padding:0 .55rem;font-size:.8rem;font-weight:900;line-height:1;display:grid}.road-view-controls button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-btn-shape-hover)}.road-view-controls span{min-width:2.4rem;color:var(--color-text-muted);font-family:var(--font-mono);text-align:center;font-size:.74rem;font-weight:900;line-height:1}.full-editor-road-svg{z-index:2;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.full-editor-road-svg.pan{cursor:grab}.full-editor-road-svg.panning{cursor:grabbing}.road-map-boundary{fill:#0000;stroke:var(--color-border);stroke-width:1.1px;pointer-events:none}.road-interaction-surface{fill:#0000;pointer-events:all}.road-segment-path{fill:none;stroke:#565a61;stroke-linecap:round;stroke-linejoin:round;opacity:.5;pointer-events:stroke}.road-context-building{fill:#848d961f;stroke:#565c6561;stroke-width:.8px;pointer-events:none}[data-theme=dark] .road-context-building{fill:#d2d8de14;stroke:#d2d8de3d}.road-segment-freeways{stroke:#3f444b;opacity:.68}.road-segment-arterials{stroke:#50555d;opacity:.6}.road-segment-railways{stroke:#7b7170;stroke-dasharray:4 3;opacity:.62}.road-segment-paths{stroke:#4f7371;opacity:.58}.road-segment-highlight-halo{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.42;opacity:1;pointer-events:none;filter:drop-shadow(0 2px 7px #0000005c)}[data-theme=dark] .road-segment-highlight-halo{stroke-opacity:.58}.road-segment-highlight{stroke-linecap:round;stroke-linejoin:round;opacity:1;filter:drop-shadow(0 0 1px #ffffffeb)drop-shadow(0 1px 4px #0000005c)}.road-brush-ring{fill:#ffb00014;stroke-width:2px;pointer-events:none}.road-brush-ring.remove{fill:#dc464614;stroke:#dc4646}.road-stage-message{z-index:3;border:1px solid var(--color-border);background:var(--color-bg-panel);max-width:min(360px,100% - 2rem);color:var(--color-text-secondary);text-align:center;pointer-events:none;border-radius:8px;padding:.8rem .95rem;font-size:.84rem;font-weight:800;line-height:1.35;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 18px #0000001f}.road-selection-card{border:1px solid var(--color-border);background:var(--color-bg-panel);pointer-events:none;border-radius:8px;gap:.14rem;max-width:min(320px,100% - 2rem);padding:.72rem .8rem;display:grid;position:absolute;bottom:1rem;left:1rem;box-shadow:0 6px 18px #0000001f}.road-selection-card span{color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;font-weight:900;line-height:1.1}.road-selection-card strong{color:var(--color-text-primary);font-size:.92rem;font-weight:900;line-height:1.15}.road-selection-card small{color:var(--color-text-secondary);font-size:.76rem;font-weight:750;line-height:1.25}.road-data-status{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.road-data-status span,.full-editor-checkbox-row,.full-editor-highlight-row{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;min-width:0}.road-data-status span{color:var(--color-text-muted);gap:.1rem;padding:.55rem;font-size:.72rem;font-weight:850;display:grid}.road-data-status strong{color:var(--color-text-primary);font-size:.92rem;line-height:1.1}.full-editor-checkbox-row{color:var(--color-text-secondary);align-items:center;gap:.45rem;padding:.5rem .55rem;font-size:.8rem;font-weight:800;display:flex}.full-editor-checkbox-row input{width:auto}.full-editor-highlight-list{gap:.45rem;display:grid}.full-editor-highlight-row{color:var(--color-text-secondary);text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;padding:.5rem .55rem;display:grid}.full-editor-highlight-row.active,.full-editor-highlight-row:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-text-primary)}.full-editor-highlight-row span:last-child{gap:.08rem;min-width:0;display:grid}.full-editor-highlight-row strong,.full-editor-highlight-row small{text-overflow:ellipsis;white-space:nowrap;line-height:1.15;overflow:hidden}.full-editor-highlight-row strong{color:inherit;font-size:.82rem;font-weight:900}.full-editor-highlight-row small{color:var(--color-text-muted);font-size:.72rem;font-weight:800}.road-highlight-swatch{border:1px solid #00000029;border-radius:999px;width:1.25rem;height:1.25rem}@media (width<=1180px){.full-editor-body{grid-template-columns:144px minmax(0,1fr) minmax(280px,340px)}.full-editor-control-grid,.full-editor-palette-presets{grid-template-columns:1fr}}@media (width<=900px){.full-editor-header{grid-template-columns:minmax(0,1fr);align-items:stretch}.full-editor-status-chips,.full-editor-header-actions{justify-content:flex-start}.full-editor-body{grid-template-rows:auto minmax(320px,48vh) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.full-editor-nav{border-right:0;border-bottom:1px solid var(--color-border);gap:.35rem;padding:.65rem;display:flex;overflow:auto hidden}.full-editor-tab{white-space:nowrap;flex:none;min-height:2.15rem}.full-editor-stage{padding:.75rem}.full-editor-inspector{border-left:0;border-top:1px solid var(--color-border)}}@media (width<=620px){.full-editor-backdrop{inset:0}.full-editor-header{padding:.75rem}.full-editor-header-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.full-editor-header-actions button{padding-inline:.45rem}.full-editor-body{grid-template-rows:auto minmax(260px,42vh) minmax(0,1fr)}.full-editor-metric-grid,.full-editor-action-grid,.full-editor-road-width-list label{grid-template-columns:1fr}.road-stage-message{max-width:calc(100% - 1rem);padding:.65rem .75rem}}.stats-bar{z-index:1990;background:var(--color-bg-panel);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;flex-wrap:wrap;flex-shrink:0;justify-content:center;align-items:center;gap:.45rem;padding:.3rem 1rem;font-size:.72rem;font-weight:600;display:flex;position:relative}.stats-bar-item{align-items:center;gap:.15rem;display:inline-flex}.stats-bar-item strong{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.stats-bar-item-secondary{opacity:.55;font-size:.68rem}.stats-bar-divider{background:var(--color-text-muted);opacity:.4;border-radius:50%;width:2px;height:2px}.stats-bar-info-icon{width:.9rem;height:.9rem;color:var(--color-text-muted);opacity:.55;cursor:help;background:0 0;border:1px solid;border-radius:50%;flex:0 0 .9rem;justify-content:center;align-items:center;margin-left:.15rem;padding:0;font:700 .62rem/1 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:inline-flex}.stats-bar-info-icon:hover,.stats-bar-info-icon:focus-visible{opacity:.85;color:var(--color-text-secondary)}@media (width<=620px){.stats-bar{gap:.3rem;padding:.25rem .5rem;font-size:.65rem}.stats-bar-item-secondary{display:none}}.single-instance-screen{place-items:center;min-height:100vh;padding:1rem;display:grid}.single-instance-card{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;gap:1rem;width:min(100%,420px);padding:1.25rem;display:grid}.single-instance-card p{color:var(--color-text-secondary);margin:0;line-height:1.45}.map-panel{grid-template-rows:auto minmax(0,1fr);gap:.75rem;min-width:0;padding:1rem;display:grid}.map-toolbar{grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:.75rem;display:grid}.search-form{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.map{height:100%;min-height:540px}.leaflet-container{background:var(--color-bg-leaflet)}.map-wrapper{z-index:0;isolation:isolate;border:1px solid var(--color-border);border-radius:8px;height:100%;min-height:540px;position:relative;overflow:hidden;container-type:inline-size}.map.drawing-active,.map-wrapper.drawing-active{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.map-wrapper .map{height:100%;min-height:540px}.map-surface-overlay{z-index:10002;pointer-events:auto;max-width:calc(100% - 20px);position:absolute;top:10px;right:10px}.map-surface-overlay .ribbon-surface-group{--map-selector-height:3.15rem;--map-selector-primary-bg:var(--color-accent);--map-selector-primary-bg-hover:var(--color-accent-hover);--map-selector-primary-text:var(--color-text-inverse);--map-selector-secondary-bg:var(--color-btn-secondary-bg);--map-selector-secondary-bg-hover:var(--color-btn-shape-hover);--map-selector-secondary-text:var(--color-btn-secondary-text);min-height:var(--map-selector-height);border:1px solid var(--color-border-input);background:var(--map-selector-secondary-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:7px;justify-self:auto;width:min(19.5rem,100vw - 20px);max-width:calc(100vw - 20px);padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 26px #00000038}.map-shape-title{min-height:var(--map-selector-height);background:var(--color-accent);box-shadow:none;color:var(--color-text-inverse);letter-spacing:0;text-shadow:none;text-transform:none;white-space:nowrap;border:0;border-radius:10px 0 0 10px;flex:none;align-items:center;gap:.38rem;padding:0 .72rem;font-size:.78rem;font-weight:950;line-height:1;display:inline-flex}.surface-dropdown-trigger{width:100%;min-height:var(--map-selector-height);background:var(--map-selector-secondary-bg);color:var(--map-selector-secondary-text);cursor:pointer;font:inherit;text-align:left;border:0;grid-template-columns:3.35rem minmax(0,1fr) 2.55rem;align-items:stretch;padding:0;display:grid}.surface-dropdown-trigger:hover,.surface-dropdown-trigger:focus-visible{background:var(--map-selector-secondary-bg-hover)}.surface-dropdown-trigger:hover .surface-dropdown-icon-cell,.surface-dropdown-trigger:focus-visible .surface-dropdown-icon-cell{background:var(--map-selector-primary-bg-hover)}.surface-dropdown-icon-cell{border-right:1px solid color-mix(in srgb, var(--map-selector-primary-bg) 68%, var(--color-border));background:var(--map-selector-primary-bg);color:var(--map-selector-primary-text);place-items:center;display:grid}.surface-dropdown-icon{object-fit:contain;opacity:.96;filter:brightness(0)invert();width:2.75rem;height:2.75rem}.surface-dropdown-heading{min-width:0;color:var(--map-selector-secondary-text);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 1rem;font-size:1.02rem;font-weight:760;display:flex;overflow:hidden}.surface-dropdown-chevron{border-top:2px solid;border-left:2px solid;place-self:center;width:.68rem;height:.68rem;transition:transform .15s;transform:translateY(22%)rotate(45deg)}.surface-dropdown.open .surface-dropdown-chevron{transform:translateY(-12%)rotate(225deg)}.surface-dropdown-menu{border-top:1px solid var(--color-border-input);background:var(--color-bg-panel);display:grid}.surface-dropdown-option{border:0;border-top:1px solid color-mix(in srgb, var(--color-border) 52%, transparent);min-height:2.32rem;color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;align-items:center;padding:0 1rem 0 1.75rem;font-size:.95rem;font-weight:650;line-height:1;display:flex;position:relative}.surface-dropdown-option:first-child{border-top:0}.surface-dropdown-option:hover:not(:disabled){background:var(--map-selector-secondary-bg-hover)}.surface-dropdown-option.active{background:var(--map-selector-secondary-bg-hover);color:var(--color-text-primary)}.surface-dropdown-option.active:before{content:"";background:var(--map-selector-primary-bg);width:4px;position:absolute;inset:0 auto 0 0}.surface-dropdown-option:disabled{cursor:not-allowed;opacity:.45}.map-selector-title-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:0 0 1.53rem;width:1.53rem;height:1.53rem}.map-shape-control{min-height:var(--map-selector-height);white-space:nowrap;background:0 0;border:0;border-radius:0;align-items:stretch;gap:0;min-width:0;padding:0;display:inline-flex}.map-shape-control>.shape-btn{color:color-mix(in srgb, var(--color-text-primary) 88%, var(--color-text-secondary));border-radius:0;gap:.38rem;font-size:.82rem;font-weight:875}.selector-option-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.65px;flex:0 0 1rem;width:1rem;height:1rem}.map-shape-control>.shape-btn+.shape-btn{border-left:1px solid color-mix(in srgb, var(--color-border) 70%, transparent)}.map-shape-control>.shape-btn:hover:not(:disabled){color:var(--color-text-emphasis);background:#e5e7eb1f}.map-shape-control>.shape-btn.active{box-shadow:none;color:#141414;background:#e5e7eb}.map-shape-buttons{z-index:10000;place-items:start;gap:.38rem;max-width:min(30rem,100% - 20px);display:grid;position:absolute;top:10px;left:10px}.map-shape-selector{--map-selector-height:3.15rem;--map-selector-primary-bg:var(--color-accent);--map-selector-primary-bg-hover:var(--color-accent-hover);--map-selector-primary-text:var(--color-text-inverse);--map-selector-secondary-bg:var(--color-btn-secondary-bg);--map-selector-secondary-bg-hover:var(--color-btn-shape-hover);--map-selector-secondary-text:var(--color-btn-secondary-text);min-height:var(--map-selector-height);border:1px solid var(--color-border-input);background:var(--map-selector-secondary-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:7px;width:min(17.5rem,100vw - 20px);max-width:calc(100vw - 20px);padding:0;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 26px #00000038}.area-dropdown-trigger{width:100%;min-height:var(--map-selector-height);background:var(--map-selector-secondary-bg);color:var(--map-selector-secondary-text);cursor:pointer;font:inherit;text-align:left;border:0;grid-template-columns:3.35rem minmax(0,1fr) 2.55rem;align-items:stretch;padding:0;display:grid}.area-dropdown-trigger:hover,.area-dropdown-trigger:focus-visible{background:var(--map-selector-secondary-bg-hover)}.area-dropdown-trigger:hover .area-dropdown-icon-cell,.area-dropdown-trigger:focus-visible .area-dropdown-icon-cell{background:var(--map-selector-primary-bg-hover)}.area-dropdown-icon-cell{border-right:1px solid color-mix(in srgb, var(--map-selector-primary-bg) 68%, var(--color-border));background:var(--map-selector-primary-bg);color:var(--map-selector-primary-text);place-items:center;display:grid}.area-dropdown-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;width:2.35rem;height:2.35rem}.area-dropdown-heading{min-width:0;color:var(--map-selector-secondary-text);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;align-items:center;padding:0 1rem;font-size:1.02rem;font-weight:760;display:flex;overflow:hidden}.area-dropdown-chevron{border-top:2px solid;border-left:2px solid;place-self:center;width:.68rem;height:.68rem;transition:transform .15s;transform:translateY(22%)rotate(45deg)}.area-dropdown.open .area-dropdown-chevron{transform:translateY(-12%)rotate(225deg)}.area-dropdown-menu{border-top:1px solid var(--color-border-input);background:var(--color-bg-panel);display:grid}.area-dropdown-option{border:0;border-top:1px solid color-mix(in srgb, var(--color-border) 52%, transparent);min-height:2.32rem;color:var(--color-text-primary);cursor:pointer;text-align:left;background:0 0;grid-template-columns:1.48rem minmax(0,1fr);align-items:center;gap:.52rem;padding:.42rem 1rem .42rem 1.05rem;font-size:.95rem;font-weight:650;line-height:1;display:grid;position:relative}.area-dropdown-option span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.area-dropdown-option-icon{border:1px solid color-mix(in srgb, currentColor 34%, transparent);width:1.48rem;height:1.48rem;color:inherit;border-radius:5px;place-items:center;display:grid}.area-dropdown-option-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.area-dropdown-option:first-child{border-top:0}.area-dropdown-option:hover{background:var(--map-selector-secondary-bg-hover)}.area-dropdown-option.active{background:var(--map-selector-secondary-bg-hover);color:var(--color-text-primary)}.area-dropdown-option.active:before{content:"";background:var(--map-selector-primary-bg);width:4px;position:absolute;inset:0 auto 0 0}.moon-map-wrapper .map-shape-buttons{top:10px}@container (width<=790px){.map-surface-overlay{top:10px;left:10px;right:auto}.moon-map-wrapper .map-shape-buttons,.map-shape-buttons{justify-items:start;top:62px;left:10px;right:auto}}.moon-landmark-filter{width:178px;position:relative}.moon-landmark-filter summary{border:2px solid var(--color-btn-shape-border);background:var(--color-btn-shape-bg);min-height:34px;color:var(--color-text-primary);box-shadow:0 1px 4px var(--color-btn-shape-shadow);cursor:pointer;border-radius:4px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.5rem;padding:0 .62rem;font-size:.78rem;font-weight:800;line-height:1;list-style:none;display:grid}.moon-landmark-filter summary::-webkit-details-marker{display:none}.moon-landmark-filter summary:after{content:"v";color:var(--color-text-muted);transform-origin:50%;font-size:.78rem;transition:transform .15s}.moon-landmark-filter[open] summary:after{transform:rotate(180deg)}.moon-landmark-filter summary span{min-width:0}.moon-landmark-filter summary small{color:var(--color-text-muted);font-size:.68rem;font-weight:800;line-height:1}.moon-landmark-filter-menu{z-index:1002;border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;width:min(320px,100vw - 28px);max-height:min(390px,100vh - 180px);padding:.35rem;display:grid;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 10px 22px #00000042}.moon-landmark-country-block{gap:.2rem;display:grid}.moon-landmark-country-block+.moon-landmark-country-block{margin-top:.1rem}.moon-landmark-country-row{grid-template-columns:1.8rem minmax(0,1fr);align-items:center;gap:.25rem;display:grid}.moon-landmark-country-expand{width:1.8rem;height:2rem;color:var(--color-text-muted);background:0 0;border:0;border-radius:5px;place-items:center;padding:0;font-size:.72rem;font-weight:900;line-height:1;display:grid}.moon-landmark-country-expand:hover:not(:disabled),.moon-landmark-country-expand:focus-visible{background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.moon-landmark-country-expand span{transition:transform .15s}.moon-landmark-country-expand.active span{transform:rotate(180deg)}.moon-landmark-country-option{min-height:2rem;color:var(--color-text-secondary);cursor:pointer;border-radius:5px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.35rem .42rem;font-size:.78rem;font-weight:800;display:grid}.moon-landmark-country-option:hover{background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.moon-landmark-country-option input{width:auto;accent-color:var(--color-accent);margin:0}.moon-landmark-country-option span{overflow-wrap:anywhere;min-width:0}.moon-landmark-country-option small{color:var(--color-text-muted);font-size:.7rem;font-weight:800}.moon-landmark-site-list{border-left:2px solid var(--color-border-section);gap:.18rem;margin:0 0 .3rem 2.05rem;padding:.2rem 0 .2rem .45rem;display:grid}.moon-landmark-site-button{width:100%;min-height:2.25rem;color:var(--color-text-secondary);text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;gap:.1rem;padding:.38rem .48rem;display:grid}.moon-landmark-site-button:hover:not(:disabled),.moon-landmark-site-button:focus-visible,.moon-landmark-site-button:active:not(:disabled){border-color:var(--color-border);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.moon-landmark-site-button span{overflow-wrap:anywhere;font-size:.76rem;font-weight:900;line-height:1.12}.moon-landmark-site-button small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:.68rem;font-weight:700;line-height:1.18}.moon-projection-control{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:6px;align-items:center;gap:2px;padding:3px;display:inline-flex}.moon-projection-control button{height:30px;color:var(--color-text-secondary);background:0 0;border-radius:4px;padding:0 .55rem;font-size:.78rem;line-height:1}.moon-projection-control button:hover:not(:disabled),.moon-projection-control button.active{background:var(--color-accent);color:var(--color-text-inverse)}.shape-btn{min-height:1.9rem;color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;box-shadow:none;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 .85rem;font-size:.78rem;font-weight:850;line-height:1;display:flex}.shape-btn:hover{background:color-mix(in srgb, var(--color-accent) 15%, var(--color-btn-secondary-bg));color:var(--color-text-emphasis)}.shape-btn.active{background:var(--color-accent);color:var(--color-text-inverse)}.shape-label-compact{display:none}.selection-resize-handle{touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;display:flex!important}.selection-resize-handle span{border:2px solid var(--color-text-inverse);background:var(--color-accent);border-radius:4px;width:14px;height:14px;display:block;box-shadow:0 1px 5px #00000040}.selection-resize-handle-nw,.selection-resize-handle-se{cursor:nwse-resize}.selection-resize-handle-ne,.selection-resize-handle-sw{cursor:nesw-resize}.polygon-vertex-marker{border:3px solid var(--color-accent);box-sizing:border-box;background:#fff;border-radius:50%;box-shadow:0 1px 5px #00000047;width:18px!important;height:18px!important}.polygon-vertex-marker.is-close-target{box-shadow:0 1px 5px #00000047,0 0 0 4px #00ae4238}.polygon-cursor-counter{pointer-events:none;background:0 0;border:0;width:0!important;height:0!important}.polygon-cursor-counter span{background:var(--color-dimension-bg);border:1px solid var(--color-dimension-border);min-width:38px;color:var(--color-dimension-text);text-align:center;box-shadow:0 1px 5px var(--color-dimension-shadow);white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:12px;font-weight:800;line-height:1;position:absolute;top:10px;left:12px}.rotation-onbox{z-index:1200;pointer-events:auto;background:var(--color-rotation-bg);white-space:nowrap;border:1px solid #ffffff47;border-radius:6px;align-items:center;gap:5px;padding:4px 7px 4px 4px;font-size:12px;font-weight:700;display:flex;position:absolute;box-shadow:0 2px 8px #0000004d}.rotation-handle-button{width:32px;height:32px;color:var(--color-text-inverse);cursor:grab;touch-action:none;background:#ffffff29;border:1px solid #ffffff6b;border-radius:6px;place-items:center;padding:0;display:grid}.rotation-handle-button:hover,.rotation-handle-button:focus-visible,.rotation-handle-button.is-dragging{background:#ffffff42}.rotation-handle-button:active,.rotation-handle-button.is-dragging{cursor:grabbing}.rotation-handle-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;width:19px;height:19px}.rotation-onbox-input{text-align:center;background:var(--color-rotation-input-bg);color:var(--color-text-inverse);border-radius:4px;font-size:11px;border:1px solid var(--color-rotation-input-border)!important;width:42px!important;padding:1px 3px!important}.rotation-onbox-unit{color:var(--color-rotation-unit);font-size:13px}.control-panel{min-height:0;height:calc(100vh - var(--top-chrome-height));background:var(--color-bg-panel);border-left:1px solid var(--color-border);grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:.85rem;padding:1.25rem;display:grid;overflow:hidden}.control-panel-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.control-panel-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;display:flex}.control-panel-actions{border:1px solid var(--color-border);background:var(--color-bg-status);z-index:1;border-radius:10px;gap:.65rem;min-width:0;padding:.25rem;display:grid;position:relative}.export-action-card{z-index:30;position:sticky;top:0;box-shadow:0 10px 22px #00000029}.preview-pane-anchor{min-width:0;scroll-margin-top:4.4rem}.control-panel-actions .selection-warning-banner{margin-bottom:0}.control-panel-scroll{scrollbar-gutter:stable;align-content:start;gap:.85rem;min-width:0;min-height:0;padding-right:.15rem;display:grid;overflow-y:auto}.editor-open-tip{cursor:not-allowed;flex-shrink:0;display:inline-flex}.editor-open-btn{border:1px solid var(--color-border-input);background:var(--color-bg-input);min-height:30px;color:var(--color-text-secondary);text-transform:uppercase;white-space:nowrap;border-radius:8px;padding:0 .72rem;font-size:.72rem;font-weight:800;line-height:1}.editor-open-btn:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.editor-open-btn:disabled{cursor:not-allowed;color:var(--color-text-muted);pointer-events:none}.theme-toggle{background:var(--color-btn-secondary-bg);height:30px;color:var(--color-btn-secondary-text);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 10px;line-height:1;display:flex}.theme-toggle .theme-label{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:500}.theme-toggle:hover:not(:disabled){background:var(--color-btn-shape-hover)}.settings-section{gap:.75rem;padding-top:.25rem;display:grid}.settings-section+.settings-section{border-top:1px solid var(--color-border-section);padding-top:1rem}.service-info-banner{color:#666;background:#f5f5f5;border:1px solid #e0e0e0;border-radius:6px;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500}[data-theme=dark] .service-info-banner{color:#aaa;background:#1a1a1a;border-color:#333}.service-disruption-banner{color:#fff;text-align:center;background:#d32f2f;border-radius:6px;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:600}.selection-warning-banner{color:#c62828;background:#fff5f5;border:1px solid #ffcdd2;border-radius:6px;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500}[data-theme=dark] .selection-warning-banner{color:#ffcdd2;background:#3d1a1a;border-color:#6b2020}.settings-section h2{color:var(--color-text-secondary);letter-spacing:0;text-transform:uppercase;font-size:.82rem;font-weight:800}.color-features-section,.feature-minimums-section,.building-settings-section,.model-settings-section,.moon-marker-settings-section{gap:0}.settings-section-summary{cursor:pointer;color:var(--color-text-secondary);letter-spacing:0;text-transform:uppercase;align-items:center;gap:.65rem;font-size:.82rem;font-weight:800;list-style:none;display:flex}.settings-section-summary>span:first-child{flex:1;min-width:0}.settings-section-summary::-webkit-details-marker{display:none}.settings-section-summary:after{content:"v";color:var(--color-text-muted);transform-origin:50%;font-size:.78rem;transition:transform .15s}.color-features-section[open] .settings-section-summary:after,.feature-minimums-section[open] .settings-section-summary:after,.building-settings-section[open] .settings-section-summary:after,.model-settings-section[open] .settings-section-summary:after,.moon-marker-settings-section[open] .settings-section-summary:after{transform:rotate(180deg)}.settings-section-summary strong{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text-muted);text-transform:none;border-radius:999px;padding:.18rem .45rem;font-size:.68rem;font-weight:800;line-height:1}.color-features-body,.feature-minimums-body,.building-settings-body,.model-settings-body,.moon-marker-settings-body{gap:.75rem;padding-top:.75rem;display:grid}.settings-note{color:var(--color-text-muted);margin:0;font-size:.82rem;font-weight:700;line-height:1.35}.settings-subgroup{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;gap:.55rem;padding:.7rem;display:grid}.settings-subgroup+.settings-subgroup{margin-top:.25rem}.settings-subgroup-header{gap:.12rem;display:grid}.settings-subgroup-header span{color:var(--color-text-secondary);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:900}.settings-subgroup-header small{color:var(--color-text-muted);font-size:.74rem;font-weight:700;line-height:1.3}.generation-mode-group,.color-mode-group{border-color:color-mix(in srgb, var(--color-border-input) 72%, transparent);background:color-mix(in srgb, var(--color-bg-status) 68%, transparent)}.generation-mode-group{border-left:3px solid var(--color-accent)}.color-mode-group{border-left:3px solid var(--color-text-muted)}.eyebrow{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin:0 0 .25rem;font-size:.76rem;font-weight:800}h1,h2{color:var(--color-text-primary);margin:0}h1{font-size:1.8rem;line-height:1.05}h2{font-size:1rem}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem;display:grid}.control-grid>.preset-setting{grid-column:1}.setting-hint{color:var(--color-text-muted);margin-top:.35rem;font-size:.72rem;font-weight:600;line-height:1.35;display:block}.color-inline-control{grid-template-columns:2.5rem minmax(0,max-content);align-items:center;gap:.45rem;margin-top:.35rem;display:grid}.color-inline-control input[type=color]{cursor:pointer;border-radius:6px;width:2.5rem;height:2rem;padding:.1rem}.color-inline-control button{border-radius:5px;height:2rem;min-height:2rem;padding:0 .75rem;font-size:.76rem}.segmented-control{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.segmented-option{border:1px solid var(--color-border-input);background:var(--color-bg-input);min-height:2.4rem;color:var(--color-text-secondary);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;font-size:.84rem;font-weight:800;transition:border-color .15s,background .15s,color .15s;display:flex}.segmented-option input{opacity:0;pointer-events:none;width:auto;position:absolute}.segmented-option.active{border-color:var(--color-accent);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.segmented-option:hover{border-color:var(--color-accent)}.button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.button-row.has-cancel{grid-template-columns:repeat(3,minmax(0,1fr))}.export-action-card .button-row{border:1px solid var(--color-border-section);background:color-mix(in srgb, var(--color-bg-status) 52%, transparent);border-radius:999px;gap:.1rem;padding:.18rem}.export-action-card .button-row button{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:2.42rem;padding:0 .9rem;font-size:.86rem;font-weight:800;line-height:1;display:inline-flex}.export-action-card .button-row button[data-testid=preview-button],.export-action-card .button-row button[data-testid=export-button]{color:var(--color-text-secondary);box-shadow:none;background:0 0;border:0}.export-action-card .button-row button[data-testid=preview-button]:not(:disabled):not([aria-disabled=true]),.export-action-card .button-row button[data-testid=export-button]:not(:disabled):not([aria-disabled=true]){background:var(--color-accent);color:var(--color-text-inverse);box-shadow:0 10px 26px #00ae4229}.export-action-card .button-row button[data-testid=preview-button]:hover:not(:disabled):not([aria-disabled=true]),.export-action-card .button-row button[data-testid=export-button]:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-hover);color:var(--color-text-inverse);box-shadow:0 10px 26px #00ae4233}.export-action-card .button-row button[data-testid=preview-button]:disabled,.export-action-card .button-row button[data-testid=export-button]:disabled,.export-action-card .button-row button[data-testid=preview-button][aria-disabled=true],.export-action-card .button-row button[data-testid=export-button][aria-disabled=true]{cursor:not-allowed;opacity:.62}.export-action-card .button-row button:disabled,.export-action-card .button-row button[aria-disabled=true]{box-shadow:none}button.cancel{background:var(--color-btn-cancel-bg);color:var(--color-btn-cancel-text)}button.cancel:hover:not(:disabled){background:var(--color-btn-cancel-hover)}.selection-summary{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;gap:.45rem .75rem;padding:.72rem;display:grid}.selection-summary div{color:var(--color-text-muted);grid-template-columns:minmax(0,1fr) auto;gap:.75rem;font-size:.88rem;display:grid}.selection-summary strong{color:var(--color-text-emphasis);font-weight:800}.palette-note{border:1px solid var(--color-border-input);background:var(--color-bg-input);color:var(--color-text-secondary);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .75rem;padding:.72rem;font-size:.82rem;font-weight:700;display:grid}.palette-note span{align-items:center;gap:.42rem;min-width:0;display:flex}.palette-presets{gap:.5rem;display:grid}.color-mode-options,.full-editor-palette-presets.color-mode-options{grid-template-columns:1fr}.palette-preset-button{border:1px solid var(--color-border-input);text-align:left;gap:.18rem;padding:.4rem .55rem;font-size:.85rem;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;display:grid}.palette-preset-button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, var(--color-btn-secondary-bg));color:var(--color-text-primary)}.palette-preset-button span{font-weight:800}.palette-preset-button small{color:var(--color-text-muted);font-size:.72rem;font-weight:700;line-height:1.25}.palette-preset-button.active small,.generation-preset-option.active small{color:color-mix(in srgb, var(--color-text-inverse) 82%, transparent)}.palette-preset-button.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse);box-shadow:0 8px 22px #00ae4229}.palette-preset-button.active:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-accent-hover);color:var(--color-text-inverse)}.palette-preset-button.active[aria-disabled=true]{cursor:default;opacity:1}.size-presets{flex-wrap:wrap;justify-content:flex-start;gap:.35rem;margin-top:.3rem;display:flex}.size-preset-btn{text-align:center;flex:none;min-width:2.55rem;padding:.25rem .52rem;font-size:.72rem;font-weight:800}.size-preset-btn.active{outline:2px solid var(--color-accent);outline-offset:1px}.generation-presets{gap:.45rem;display:grid}.generation-preset-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.generation-preset-option{text-align:left;gap:.18rem;min-height:3.35rem;display:grid}.generation-preset-option span{font-weight:800}.generation-preset-option small{color:var(--color-text-muted);font-size:.72rem;font-weight:700;line-height:1.25}.city-palette{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.72rem;display:grid}.city-palette label{flex-direction:row;justify-content:space-between;align-items:center;gap:.6rem;font-size:.8rem;display:flex}.city-palette input[type=color]{border-radius:6px;width:2.25rem;height:1.8rem;padding:.1rem}.road-widths{border:1px solid var(--color-border-input);background:var(--color-bg-input);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;padding:.72rem;display:grid}.road-widths label{font-size:.78rem}.road-widths input{padding:.48rem .5rem}.road-width-input-group{align-items:center;gap:.35rem;display:flex}.road-width-mm{color:var(--color-text-muted2);white-space:nowrap;font-size:.72rem}.swatch{border:1px solid var(--color-swatch-border);border-radius:4px;flex:none;width:.85rem;height:.85rem}.swatch.terrain{background:var(--color-swatch-terrain)}.swatch.water{background:var(--color-swatch-water)}.swatch.concrete{background:var(--color-swatch-concrete)}.swatch.road{background:var(--color-swatch-road)}.preview-panel{border:1px solid var(--color-border);background:var(--color-bg-status);border-radius:10px;gap:.7rem;padding:.62rem;display:grid}.preview-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.preview-header h2{min-width:0}.preview-header-actions{justify-content:flex-end;align-items:center;gap:.45rem;min-width:0;display:inline-flex}.preview-display-toggle{border:1px solid color-mix(in srgb, var(--color-accent) 34%, var(--color-border));background:color-mix(in srgb, var(--color-accent) 10%, var(--color-bg-status));border-radius:999px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.14rem;min-width:9.1rem;min-height:2.05rem;padding:.16rem;display:inline-grid}.preview-display-option{min-width:0;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 .58rem;font-size:.74rem;font-weight:900;line-height:1;transition:background .15s,color .15s,box-shadow .15s}.preview-display-option.active{background:color-mix(in srgb, var(--color-accent) 22%, var(--color-bg-panel));color:var(--color-text-emphasis);box-shadow:0 8px 20px #00ae4224}.preview-display-option:hover,.preview-display-option:focus-visible{color:var(--color-accent-hover)}.preview-display-option.active:hover,.preview-display-option.active:focus-visible{background:color-mix(in srgb, var(--color-accent) 32%, var(--color-bg-panel));color:var(--color-text-emphasis)}.preview-display-option:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);outline-offset:2px}.preview-header span{color:var(--color-text-muted);font-size:.85rem;font-weight:700}.report-issue-btn{background:var(--color-bg-muted);border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.35rem .85rem;font-size:.8rem;font-weight:600;line-height:1.4;transition:background .15s,border-color .15s,color .15s,opacity .15s}.report-issue-btn.ready:not(:disabled){color:#fff;background:#a33a3a;border-color:#b74747}.report-issue-btn.ready:hover:not(:disabled){color:#fff;background:#b74747;border-color:#c95a5a}.report-issue-btn:disabled{background:var(--color-bg-muted);border-color:var(--color-border);color:var(--color-text-muted);opacity:.58;cursor:not-allowed}@media (width<=560px){.preview-header{flex-direction:column;align-items:flex-start;gap:.48rem}.preview-header-actions{width:100%}.preview-display-toggle{flex:auto;min-width:0}}.preview-panel img,.mesh-preview,.empty-preview{aspect-ratio:1.25;border:1px solid var(--color-border-input);background:var(--color-bg-preview);border-radius:8px;width:100%}.preview-panel img{object-fit:contain;display:block}.mesh-preview{overflow:hidden}.mesh-preview canvas{cursor:grab;width:100%;height:100%;display:block}.mesh-preview canvas:active{cursor:grabbing}.empty-preview{color:var(--color-text-muted);text-align:center;place-items:center;padding:1rem;display:grid}.preview-loading{aspect-ratio:1.25;border:1px solid var(--color-border-input);background:var(--color-bg-preview);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:2rem;display:flex}.preview-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;display:grid}@media (width<=860px){.preview-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=560px){.preview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.preview-summary-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 86%, var(--color-bg-status));min-width:0;min-height:4.25rem;color:var(--color-text-secondary);border-radius:8px;grid-template-rows:auto minmax(1.9rem,auto) auto;gap:.28rem;padding:.55rem .58rem;font-size:.9rem;font-weight:700;display:grid;position:relative}.preview-summary-card.disabled{opacity:.78}.preview-summary-select-card{cursor:pointer}.mode-feature-tooltip{z-index:40;border:1px solid var(--color-border-input);background:var(--color-bg-panel);width:min(23rem,100vw - 2rem);color:var(--color-text-secondary);opacity:0;pointer-events:none;visibility:hidden;border-radius:8px;gap:.44rem;padding:.72rem;font-size:.76rem;line-height:1.25;transition:opacity .14s,transform .14s,visibility .14s;display:grid;position:absolute;bottom:calc(100% + .55rem);right:0;transform:translateY(.25rem);box-shadow:0 16px 36px #00000047}.mode-feature-tooltip:after{content:"";border-right:1px solid var(--color-border-input);border-bottom:1px solid var(--color-border-input);background:var(--color-bg-panel);width:.7rem;height:.7rem;position:absolute;bottom:-.38rem;right:1rem;transform:rotate(45deg)}.preview-summary-mode-card:hover .mode-feature-tooltip,.preview-summary-mode-card:focus-within .mode-feature-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.mode-feature-tooltip>strong{color:var(--color-text-emphasis);font-size:.84rem;font-weight:900;line-height:1.1}.mode-feature-tooltip>span{color:var(--color-text-muted);text-transform:none;font-size:.7rem;font-weight:750}.mode-feature-tooltip-row{gap:.16rem;display:grid}.mode-feature-tooltip-row b{color:var(--color-accent);text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1}.mode-feature-tooltip-off b{color:var(--color-text-muted)}.mode-feature-tooltip-row span{color:var(--color-text-secondary);text-transform:none;font-size:.74rem;font-weight:750;line-height:1.25}.preview-summary-grid .mode-feature-tooltip>span,.preview-summary-grid .mode-feature-tooltip-row span{text-transform:none}.preview-summary-grid span{color:var(--color-text-muted);text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1}.preview-summary-control{border:1px solid var(--color-border-input);background-color:var(--color-bg-input);min-width:0;min-height:1.9rem;color:var(--color-text-emphasis);border-radius:6px;align-items:center;display:flex}.preview-summary-grid strong,.preview-summary-meta{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.preview-summary-grid strong{color:var(--color-text-emphasis);font-size:.82rem;font-weight:900;line-height:1.1}.preview-summary-grid small{color:var(--color-text-muted);font-size:.68rem;font-weight:750;line-height:1.1}.preview-summary-select{background-position:right .48rem center;height:1.9rem;padding:0 1.45rem 0 .52rem;font-size:.8rem;font-weight:900;line-height:1.1}.preview-summary-select:focus,.frame-size-control:focus-within{outline:2px solid color-mix(in srgb, var(--color-accent) 55%, transparent);outline-offset:2px}.frame-size-control{grid-template-columns:auto minmax(2.2rem,1fr);gap:.28rem;padding:.16rem .24rem;display:grid}.frame-toggle-switch{border:1px solid var(--color-border-input);background:var(--color-bg-panel);min-width:3.25rem;min-height:1.38rem;color:var(--color-text-muted);text-transform:uppercase;border-radius:999px;grid-template-columns:1rem auto;align-items:center;gap:.18rem;padding:0 .42rem 0 .2rem;font-size:.62rem;font-weight:900;line-height:1;display:inline-grid;position:relative}.frame-toggle-switch.active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-text-inverse);box-shadow:0 8px 20px #00ae4224}.frame-toggle-switch:disabled{opacity:.65}.frame-toggle-thumb{background:var(--color-text-muted);border-radius:999px;width:.82rem;height:.82rem;display:block;box-shadow:0 1px 2px #0000003d}.frame-toggle-switch.active .frame-toggle-thumb{background:var(--color-text-inverse)}.frame-toggle-label{color:inherit;font-size:inherit;line-height:1}.preview-summary-grid .frame-toggle-switch.active .frame-toggle-label{color:var(--color-text-inverse)}.frame-value-readout{justify-content:flex-end;align-items:baseline;min-width:0;padding-right:.04rem;display:flex}.frame-size-control input{width:2.25rem;min-width:0;min-height:1.36rem;color:var(--color-text-emphasis);text-align:center;appearance:textfield;background:0 0;border:0;padding:0;font-size:.8rem;font-weight:900}.frame-size-control input::-webkit-inner-spin-button{appearance:none;margin:0}.frame-size-control input::-webkit-outer-spin-button{appearance:none;margin:0}.frame-size-control input:disabled{opacity:.55}.frame-size-control input:focus{outline:0}.frame-value-readout small{color:var(--color-text-muted);font-size:.68rem;font-weight:750;line-height:1;overflow:visible}.progress-bar-track{background:var(--color-border);border-radius:5px;width:80%;max-width:260px;height:10px;overflow:hidden}.progress-bar-fill{background:var(--color-accent,#00ae42);border-radius:5px;height:100%;transition:width .5s}.progress-percent{color:var(--color-accent,#00ae42);font-size:1.8rem;font-weight:800;line-height:1;font-family:var(--font-mono)}.progress-phase-label{color:var(--color-text-muted);text-align:center;font-size:.85rem}.progress-meta-row{text-align:center;flex-wrap:wrap;justify-content:center;gap:.5rem .85rem;max-width:min(100%,340px);display:flex}.progress-meta-item{font-size:.82rem;font-weight:600;font-family:var(--font-mono);color:var(--color-text-muted);white-space:nowrap;align-items:baseline;gap:.35rem;line-height:1.3;display:inline-flex}.progress-meta-item span{color:var(--color-text-muted2);text-transform:uppercase;font-size:.74rem}.progress-meta-item strong{color:var(--color-text);font-weight:700}.progress-queue-position strong{color:var(--color-warning,#e6a817)}.progress-log-toggle{color:var(--color-text-muted2);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:4px;margin-top:.25rem;padding:.25rem .75rem;font-size:.78rem}.progress-log-toggle:hover{background:var(--color-bg-panel);color:var(--color-text)}.preview-loading-spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent,#00ae42);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite preview-spin}@keyframes preview-spin{to{transform:rotate(360deg)}}.preview-loading-phase{color:var(--color-text);text-align:center;font-size:.95rem;font-weight:700}.preview-loading-phase.error{color:var(--color-warning-text)}.preview-loading-error-message{background:var(--color-warning-bg);width:100%;color:var(--color-warning-text);border:1px solid var(--color-warning-border);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-all;border-radius:6px;padding:1rem;font-size:.85rem}.preview-retry-btn{border:1px solid var(--color-accent);background:var(--color-accent);color:#fff;cursor:pointer;border-radius:6px;margin-top:.75rem;padding:.5rem 1.25rem;font-size:.85rem;font-weight:600;transition:opacity .15s}.preview-retry-btn:hover{opacity:.85}.preview-loading-log{width:100%;max-height:16rem;font-size:.82rem;font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:4px;margin:0;padding:.5rem;line-height:1.5;list-style:none;overflow-y:auto}.preview-loading-log li{border-bottom:1px dashed var(--color-border);padding:.2rem 0}.preview-loading-log li:last-child{color:var(--color-text-primary);border-bottom:none;font-weight:700}.preview-loading-log .log-time{color:var(--color-text-muted2);-webkit-user-select:none;user-select:none;margin-right:.5rem}.preview-top-left-overlays{z-index:25;pointer-events:none;gap:.45rem;max-width:min(17rem,100% - 1.5rem);display:grid;position:absolute;top:.75rem;left:.75rem}.preview-top-center-overlays{z-index:26;pointer-events:none;justify-content:center;width:max-content;max-width:min(23rem,100% - 9rem);display:flex;position:absolute;top:.75rem;left:50%;transform:translate(-50%)}.preview-lighting-toggle{z-index:42;border:1px solid color-mix(in srgb, var(--color-accent) 34%, var(--color-border));background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);min-height:2rem;color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:.38rem;padding:0 .72rem;font-size:.76rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;bottom:.75rem;left:.75rem;box-shadow:0 8px 18px #0f172a24}.preview-lighting-toggle.active{background:color-mix(in srgb, var(--color-accent) 22%, var(--color-bg-panel));color:var(--color-text-emphasis)}.preview-lighting-toggle:hover,.preview-lighting-toggle:focus-visible{border-color:var(--color-accent);color:var(--color-accent-hover)}.preview-lighting-toggle svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1rem;height:1rem}.preview-lighting-panel{z-index:1400;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 96%, transparent);border-radius:8px;gap:.66rem;width:min(15.75rem,100vw - 1.25rem);max-height:calc(100vh - 1.25rem);padding:.72rem;animation:.14s ease-out preview-lighting-slide-in;display:grid;position:fixed;overflow:auto;box-shadow:0 16px 34px #0f172a38}@keyframes preview-lighting-slide-in{0%{opacity:0;transform:translate(-.6rem)}to{opacity:1;transform:translate(0)}}.preview-lighting-header{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.preview-lighting-header strong{color:var(--color-text-emphasis);font-size:.88rem;font-weight:900}.preview-lighting-header-actions{align-items:center;gap:.3rem;display:inline-flex}.preview-lighting-header-actions button{border:1px solid var(--color-border);background:var(--color-bg-input);min-height:1.55rem;color:var(--color-text-muted);cursor:pointer;border-radius:5px;padding:0 .55rem;font-size:.7rem;font-weight:850}.preview-lighting-header-actions button:hover,.preview-lighting-header-actions button:focus-visible{border-color:var(--color-accent);color:var(--color-accent-hover)}.preview-lighting-close{place-items:center;width:1.55rem;padding:0;display:inline-grid}.preview-lighting-close svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:.92rem;height:.92rem}.preview-lighting-controls{gap:.55rem;display:grid}.preview-lighting-control{gap:.32rem;display:grid}.preview-lighting-control span{justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.preview-lighting-control b{color:var(--color-text-secondary);font-size:.74rem;font-weight:850}.preview-lighting-control small{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.68rem;font-weight:800}.preview-lighting-control input[type=range]{width:100%;accent-color:var(--color-accent)}.preview-color-legend{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:8px;gap:.35rem;width:max-content;max-width:100%;padding:.42rem .5rem .48rem;display:grid;box-shadow:0 8px 18px #0f172a24}.preview-color-legend>span{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.61rem;font-weight:900;line-height:1}.preview-color-swatches{flex-wrap:wrap;gap:.28rem;max-width:13.5rem;display:flex}.preview-color-swatch{border:1px solid color-mix(in srgb, var(--color-text-emphasis) 18%, var(--color-border));background:var(--preview-swatch-color);cursor:help;border-radius:3px;flex:none;width:.94rem;height:.94rem;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e}.preview-color-swatch:focus-visible{outline:2px solid color-mix(in srgb, var(--color-accent) 60%, transparent);outline-offset:2px}.preview-color-tooltip{z-index:60;border:1px solid var(--color-border-input);background:var(--color-bg-panel);width:max-content;max-width:min(15rem,100vw - 2rem);color:var(--color-text-secondary);opacity:0;pointer-events:none;visibility:hidden;border-radius:6px;gap:.18rem;padding:.45rem .55rem;font-size:.72rem;font-weight:750;line-height:1.25;transition:opacity .14s,transform .14s,visibility .14s;display:grid;position:absolute;top:calc(100% + .45rem);left:0;transform:translateY(.2rem);box-shadow:0 14px 28px #0000003d}.preview-color-tooltip strong{color:var(--color-text-emphasis);font-family:var(--font-mono);font-size:.64rem;font-weight:900}.preview-color-tooltip span{color:var(--color-text-secondary);text-transform:none}.preview-color-swatch:hover .preview-color-tooltip,.preview-color-swatch:focus-visible .preview-color-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.preview-time-label{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);max-width:100%;color:var(--color-text-muted);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2rem .55rem;padding:.35rem .7rem;font-size:.78rem;font-weight:700;line-height:1.2;display:flex;box-shadow:0 8px 18px #0f172a1f}.preview-time-segment{white-space:nowrap;align-items:baseline;gap:.25rem;display:inline-flex}.preview-time-segment span{color:var(--color-text-muted2);text-transform:uppercase;font-size:.66rem}.preview-time-segment strong{color:var(--color-text);font-family:var(--font-mono);font-weight:800}@media (width<=640px){.preview-top-center-overlays{max-width:min(17rem,100% - 1.5rem)}}.preview-log-pill{z-index:20;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 92%, transparent);color:var(--color-text);border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:800;position:absolute;top:.75rem;right:.75rem;box-shadow:0 8px 18px #0f172a1f}.preview-log-pill:hover{border-color:var(--color-accent,#00ae42);color:var(--color-accent,#00ae42)}.preview-log-overlay{z-index:90;background:var(--color-overlay-backdrop,#00000059);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border-radius:8px;justify-content:stretch;align-items:stretch;padding:.75rem;display:flex;position:absolute;inset:0}.preview-log-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 96%, transparent);border-radius:8px;flex-direction:column;gap:.65rem;width:100%;min-height:0;padding:.8rem;display:flex;box-shadow:0 16px 32px #0f172a2e}.preview-log-card-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.preview-log-card-header div{gap:.1rem;display:grid}.preview-log-card-header span{color:var(--color-text-muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.preview-log-card-header strong{color:var(--color-text-emphasis);font-size:.95rem}.preview-log-close{border:1px solid var(--color-border);background:var(--color-bg-panel);color:var(--color-text);border-radius:999px;padding:.35rem .65rem;font-size:.78rem;font-weight:800}.preview-history-log{flex:1;max-height:none}.preview-source-strip{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 86%, transparent);color:var(--color-text-muted);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-top:.5rem;padding:.5rem .65rem;font-size:.78rem;display:flex}.preview-source-strip strong{color:var(--color-text-emphasis);text-transform:uppercase;font-size:.8rem}.preview-attribution-strip{align-items:flex-start}.preview-attribution-strip span{overflow-wrap:anywhere;flex:18rem;line-height:1.35}.preview-source-actions{flex-wrap:wrap;flex:100%;justify-content:flex-end;gap:.5rem;display:flex}.preview-source-actions button,.export-compliance-actions button{padding:.35rem .55rem;font-size:.78rem}.build-plate-option{border:1px solid var(--color-border);border-radius:6px;padding:.34rem .6rem;font-size:.74rem;font-weight:800;line-height:1.1}.build-plate-option.active{border-color:var(--color-accent);background:var(--color-btn-shape-hover);color:var(--color-text-primary)}.moon-preview-marker-toggle{min-height:2.75rem;padding-top:1.35rem}.moon-preview-marker-field.disabled{opacity:.55}.moon-preview-marker-field input[type=color]{cursor:pointer;min-height:2.35rem;padding:.2rem}.moon-preview-marker-toggle.disabled{opacity:.55}.preview-stats-details{margin-top:.5rem}.preview-stats-summary{cursor:pointer;color:var(--color-text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;padding:.35rem 0;font-size:.85rem;display:flex}.preview-stats-summary::-webkit-details-marker{display:none}.preview-stats-summary::marker{content:""}.preview-details-more-icon{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-bg-panel) 88%, transparent);border-radius:999px;flex:none;width:1.15rem;height:1.15rem;position:relative}.preview-details-more-icon:before{content:"";border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);width:.36rem;height:.36rem;transition:transform .15s;position:absolute;top:50%;left:50%;transform:translate(-55%,-68%)rotate(45deg)}.preview-stats-details[open] .preview-details-more-icon:before{transform:translate(-50%,-40%)rotate(225deg)}.preview-stats-summary strong{font-size:.8rem;font-family:var(--font-mono);text-align:right;flex:auto}.preview-stats-details[open] .preview-stats-summary{margin-bottom:.5rem}.stats-grid{color:var(--color-text-muted);gap:.35rem;font-size:.88rem;display:grid}.stats-grid>div{grid-template-columns:minmax(0,140px) 1fr;align-items:baseline;gap:.75rem;display:grid}.stats-grid strong{color:var(--color-text-emphasis);text-align:right;font-weight:800;font-family:var(--font-mono)}.warnings{color:var(--color-warning-text);margin:0;padding-left:1.1rem;font-size:.88rem}.status{background:var(--color-bg-status);min-height:2.4rem;color:var(--color-text-emphasis);border-radius:8px;margin:0;padding:.75rem}.status.warning{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid var(--color-warning-border)}.attribution{color:var(--color-text-attribution);margin:0;font-size:.75rem;line-height:1.35}.mobile-tabs-container{display:none}@media (width<=980px){.mobile-tabs-container{background:var(--color-bg-panel);border-bottom:1px solid var(--color-border);z-index:1010;padding:.5rem .75rem;display:block;position:sticky;top:0}.mobile-tabs{background:var(--color-bg-page);border:1px solid var(--color-border);border-radius:10px;grid-template-columns:1fr 1fr;gap:.25rem;padding:3px;display:grid}.mobile-tab-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:.6rem .5rem;font-size:.85rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.mobile-tab-btn:hover{color:var(--color-text-primary)}.mobile-tab-btn.active{background:var(--color-bg-panel);color:var(--color-accent);box-shadow:0 2px 6px #00000014}[data-theme=dark] .mobile-tab-btn.active{box-shadow:0 2px 6px #0000004d}.mobile-tab-badge{background-color:var(--color-accent);width:8px;height:8px;box-shadow:0 0 0 2px var(--color-bg-panel), 0 0 8px var(--color-accent);border-radius:50%;animation:2s infinite pulse-badge;position:absolute;top:8px;right:12px}@keyframes pulse-badge{0%{transform:scale(.95);box-shadow:0 0 #00ae42b3}70%{transform:scale(1);box-shadow:0 0 0 6px #00ae4200}to{transform:scale(.95);box-shadow:0 0 #00ae4200}}.app-shell{flex-direction:column;grid-template-columns:none;height:100%;display:flex;overflow:hidden}.app-shell.mobile-tab-map .control-panel,.app-shell.mobile-tab-settings .map-panel{display:none}.map-panel,.control-panel{flex:1;height:100%;min-height:0}.control-panel{border-left:0;grid-template-rows:auto auto minmax(0,1fr);max-height:none;overflow:hidden}.map-wrapper,.map{height:100%!important;min-height:0!important}}@media (width<=620px){.map-panel,.control-panel{padding:.75rem}.map-toolbar,.search-form,.control-grid,.segmented-control,.button-row,.generation-preset-options,.palette-note,.road-widths{grid-template-columns:1fr}.use-current-view-button{display:none}.control-panel-actions{gap:.55rem;padding-bottom:.75rem}.control-panel-actions .button-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.control-panel-actions .button-row.has-cancel{grid-template-columns:repeat(3,minmax(0,1fr))}.control-panel-actions .button-row button{overflow-wrap:anywhere;min-width:0;padding:.68rem .45rem}.map-wrapper,.map{min-height:360px}.map-surface-overlay{max-width:calc(100% - 16px);top:8px;left:8px;right:auto}.map-surface-overlay .ribbon-surface-group{--map-selector-height:2.55rem;border-radius:7px;width:min(17.5rem,100vw - 16px)}.map-shape-title{gap:.28rem;padding:0 .46rem;font-size:.66rem}.map-selector-title-icon{flex-basis:1.32rem;width:1.32rem;height:1.32rem}.surface-dropdown-trigger{grid-template-columns:2.85rem minmax(0,1fr) 2.15rem}.surface-dropdown-icon{width:2.2rem;height:2.2rem}.surface-dropdown-heading{padding-inline:.72rem;font-size:.86rem}.surface-dropdown-chevron{width:.56rem;height:.56rem}.surface-dropdown-option{min-height:2rem;padding-left:1.45rem;font-size:.78rem}.moon-map-wrapper .map-shape-buttons,.map-shape-buttons{justify-items:start;max-width:calc(100% - 16px);top:50px;left:8px;right:auto}.map-shape-selector{--map-selector-height:2.55rem;border-radius:7px;width:min(17.5rem,100vw - 16px)}.area-dropdown-trigger{grid-template-columns:2.85rem minmax(0,1fr) 2.15rem}.area-dropdown-icon{width:1.95rem;height:1.95rem}.area-dropdown-heading{padding-inline:.72rem;font-size:.86rem}.area-dropdown-chevron{width:.56rem;height:.56rem}.area-dropdown-option{min-height:2rem;padding-left:1.45rem;font-size:.78rem}}.checkbox-container{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;margin:.25rem 0;font-size:.9rem;font-weight:700;display:flex}.checkbox-container input[type=checkbox]{cursor:pointer;width:auto;margin:0}.color-checkbox-row{cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.5rem;font-size:.8rem;display:grid!important}.color-checkbox-row input[type=checkbox]{cursor:pointer;width:auto;margin:0}.color-checkbox-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:700}.color-checkbox-row input[type=color]{cursor:pointer;border-radius:6px;width:2.25rem;height:1.8rem;padding:.1rem}.dashed-toggle{cursor:pointer;width:14px;height:14px;accent-color:var(--color-accent);flex-shrink:0;margin:0 4px 0 2px}.dashed-toggle:disabled{opacity:.35;cursor:default}.blank-water-row{opacity:.85;padding-left:1.75rem;font-style:italic;grid-template-columns:auto 1fr!important}.blank-water-row.disabled{opacity:.4;pointer-events:none}.checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;display:flex!important}.checkbox-label input[type=checkbox]{cursor:pointer;width:auto;margin:0}.building-group{border:1px solid var(--color-border-section);background:var(--color-palette-group-bg);border-radius:8px;flex-direction:column;grid-column:1/-1;gap:.25rem;padding:.5rem .6rem;display:flex}.building-parent{margin-bottom:.1rem}.building-children{border-left:2px solid var(--color-border-section);flex-direction:column;gap:.2rem;margin-top:.1rem;margin-left:.1rem;padding-left:.65rem;display:flex}.building-subtype{opacity:1;transition:opacity .15s}.building-subtype.disabled{opacity:var(--color-section-disabled-opacity)}.building-subtype.disabled input[type=color]{cursor:default}.palette-group{background:var(--color-palette-group-bg);flex-direction:column;gap:.2rem;padding:.5rem .6rem;display:flex}.palette-group-label{color:var(--color-palette-label);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:700}.palette-group-children{border-left:2px solid var(--color-border-section);flex-direction:column;gap:.2rem;padding-left:.65rem;display:flex}.section-disabled{opacity:var(--color-section-disabled-opacity)}.map-dimension-label{pointer-events:none!important;background:0 0!important;border:none!important;align-items:center!important;display:flex!important}.width-label{justify-content:center!important}.height-label{justify-content:flex-end!important}.map-dimension-label.oversize div{background:var(--color-warning-bg)!important;color:var(--color-warning-text)!important;border-color:var(--color-warning-border)!important}.map-dimension-label div{background:var(--color-dimension-bg);color:var(--color-dimension-text);border:1px solid var(--color-dimension-border);text-align:center;white-space:nowrap;box-shadow:0 2px 6px var(--color-dimension-shadow);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.search-input-container{width:100%;position:relative}.suggestions-dropdown{z-index:2000;background:var(--color-bg-input);border:1px solid var(--color-border);box-shadow:0 4px 12px var(--color-suggestion-shadow);border-radius:8px;max-height:220px;margin-top:4px;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.suggestions-dropdown li{color:var(--color-text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:.65rem .75rem;font-size:.88rem;transition:background .15s;overflow:hidden}.suggestions-dropdown li:hover,.suggestions-dropdown li.active{background:var(--color-suggestion-hover);color:var(--color-accent)}.suggestions-dropdown li:not(:last-child){border-bottom:1px solid var(--color-suggestion-border)}.map-loading-overlay{background:var(--color-loading-overlay);z-index:9999;color:var(--color-loading-text);place-items:center;font-size:1.2rem;font-weight:800;display:grid;position:absolute;inset:0}[data-theme=dark] .leaflet-tile{filter:invert()hue-rotate(180deg)brightness(.75)contrast(.85)!important}.leaflet-tile.planetary-basemap-tile{mix-blend-mode:normal!important}[data-theme=dark] .leaflet-tile.planetary-basemap-tile{filter:none!important}[data-theme=dark] .leaflet-container{background:var(--color-bg-leaflet)!important}.moon-landmark-label{pointer-events:none;width:auto!important;height:auto!important}.moon-landmark-label .moon-landmark-dot{background:#d32f2f;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:4px;box-shadow:0 0 0 2px #00000059}.moon-landmark-label .moon-landmark-text{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#11110fd6;border:1px solid #ffffff3d;border-radius:6px;gap:1px;min-width:116px;max-width:250px;margin-left:14px;padding:5px 8px 6px;display:grid;box-shadow:0 3px 10px #00000052}.moon-landmark-label strong,.moon-landmark-label small{overflow-wrap:anywhere;white-space:normal}.moon-landmark-label strong{letter-spacing:0;font-size:.76rem;font-weight:850;line-height:1.12}.moon-landmark-label small{color:#ffffffbf;font-size:.62rem;font-weight:650;line-height:1.18}.page-container{max-width:800px;margin:0 auto;padding:3rem 1.5rem 5rem}.page-container h1{color:var(--color-text-emphasis);margin-bottom:1.5rem;font-size:2.2rem}.page-content{color:var(--color-text-secondary);font-size:1.05rem;line-height:1.6}.page-content p{margin-bottom:1.25rem}.page-content ul{margin-bottom:1.5rem;padding-left:1.5rem}.page-content li{margin-bottom:.5rem}.page-content strong{color:var(--color-text-emphasis)}.privacy-choice-panel{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;gap:.75rem;margin:1.5rem 0;padding:1rem 1.25rem;display:grid}.privacy-choice-panel h2,.privacy-choice-panel p{margin:0}.privacy-choice-actions{flex-wrap:wrap;gap:.75rem;display:flex}.privacy-consent-banner{left:max(1rem, env(safe-area-inset-left));right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:9000;border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;max-width:920px;margin:0 auto;padding:.9rem 1rem;display:flex;position:fixed;box-shadow:0 12px 30px #00000038}.privacy-consent-banner p{color:var(--color-text-secondary);margin:.25rem 0 0;font-size:.9rem;line-height:1.35}.privacy-consent-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.privacy-consent-actions a{font-size:.86rem;font-weight:700}@media (width<=720px){.privacy-consent-banner{flex-direction:column;align-items:stretch}.privacy-consent-actions{justify-content:flex-start}}.patch-version{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:10px;margin-bottom:1.25rem;padding:1.25rem 1.5rem}.patch-version-header{flex-wrap:wrap;align-items:baseline;gap:.75rem;margin-bottom:.75rem;display:flex}.patch-version-date{color:var(--color-text-emphasis);font-size:1.1rem;font-weight:700}.patch-version-label{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-radius:99px;padding:.15rem .6rem;font-size:.85rem;font-weight:600}.patch-version-list{color:var(--color-text-secondary);margin-bottom:0;padding-left:1.5rem;font-size:.98rem;line-height:1.65}.patch-version-list li{margin-bottom:.35rem}.patch-version-list li:last-child{margin-bottom:0}.attribution-footer-note{background:var(--color-bg-panel);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:8px;margin-top:1.5rem;padding:1rem 1.25rem;font-size:.95rem}.contact-card{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:8px;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.contact-card a{color:var(--color-accent);font-weight:600;text-decoration:none}.project-cards{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.project-card{background:var(--color-bg-panel);border:1px solid var(--color-border);color:inherit;border-radius:8px;align-items:flex-start;gap:.75rem;padding:1rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.project-card:hover{border-color:var(--color-accent);background:var(--color-bg-input)}.project-card-icon{flex-shrink:0;font-size:1.5rem;line-height:1}.project-card-body{flex-direction:column;gap:.2rem;display:flex}.project-card-body strong{color:var(--color-text-emphasis);font-size:1.05rem}.project-card-desc{color:var(--color-text-secondary);font-size:.95rem;line-height:1.5}.features-page{max-width:880px}.feature-focus-blurb{border:1px solid var(--color-border);border-left:4px solid var(--color-accent);background:var(--color-bg-panel);border-radius:8px;margin:0 0 2rem;padding:1rem 1.25rem}.feature-focus-blurb p:last-child{margin-bottom:0}.features-page h2{color:var(--color-text-emphasis);margin:0 0 1rem;font-size:1.35rem}.special-feature-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.special-feature-list li{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;gap:.25rem;margin:0;padding:.95rem 1rem;display:grid}.special-feature-list strong{color:var(--color-text-emphasis)}.special-feature-list span{color:var(--color-text-secondary)}.contact-page{max-width:1040px}.contact-layout{grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);align-items:start;gap:4rem;display:grid}.contact-intro{position:sticky;top:6rem}.page-eyebrow{color:var(--color-accent);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.65rem;font-size:.76rem;font-weight:800;display:block}.contact-intro h1{margin:0 0 1rem}.contact-intro>p{color:var(--color-text-secondary);line-height:1.65}.contact-direct{border-top:1px solid var(--color-border-section);padding-top:1rem;font-size:.9rem}.contact-direct a{color:var(--color-accent);font-weight:700}.contact-form{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:12px;gap:1.1rem;padding:1.5rem;display:grid}.contact-form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.field-help{color:var(--color-text-muted);font-size:.78rem;font-weight:500}.contact-consent{grid-template-columns:none;align-items:flex-start;gap:.65rem;font-weight:500;line-height:1.45;display:flex}.contact-consent input{width:auto;margin-top:.2rem}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-status{border-radius:8px;margin:0;padding:.8rem;font-size:.9rem;font-weight:700}.contact-status.sent{color:var(--color-accent-hover);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.contact-status.error{color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border)}.field-optional{color:var(--color-text-muted);text-transform:none;letter-spacing:normal;font-size:.78rem;font-weight:500}.field-highlight{outline:3px solid var(--color-accent);outline-offset:2px;transition:outline .3s,border-color .3s;border-color:var(--color-accent)!important}.dialog-overlay{z-index:9999;background:#00000080;justify-content:center;align-items:center;animation:.15s dialog-fade-in;display:flex;position:fixed;inset:0}@keyframes dialog-fade-in{0%{opacity:0}to{opacity:1}}.dialog-box{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:14px;width:calc(100% - 2rem);max-width:420px;padding:1.8rem;animation:.2s dialog-slide-up;box-shadow:0 12px 40px #0000004d}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.dialog-box p{color:var(--color-text);margin:0 0 .8rem;line-height:1.5}.dialog-box p:first-child{font-size:1.1rem}.dialog-actions{justify-content:flex-end;gap:.7rem;margin-top:1.3rem;display:flex}.dialog-btn{cursor:pointer;color:#fff;background:var(--color-accent);border:none;border-radius:8px;padding:.55rem 1.2rem;font-size:.9rem;font-weight:600;transition:opacity .15s}.dialog-btn:hover{opacity:.85}.dialog-btn.secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0}.dialog-btn.secondary:hover{background:var(--color-bg-hover)}@media (width<=760px){.contact-layout{grid-template-columns:1fr;gap:1.5rem}.contact-intro{position:static}.contact-form-row{grid-template-columns:1fr}}.modal-overlay{background:var(--color-overlay-backdrop,#000000a6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;place-items:center;animation:.2s ease-out fadeIn;display:grid;position:fixed;inset:0}.modal-card{background:var(--color-bg-panel);border:1px solid var(--color-border);border-radius:12px;gap:1.25rem;width:90%;max-width:440px;padding:1.75rem;animation:.2s ease-out slideUp;display:grid;box-shadow:0 12px 30px #00000040}.export-modal-card{max-width:640px;max-height:min(90vh,760px);overflow:auto}.modal-card h3{color:var(--color-text-primary);letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800}.modal-card p{color:var(--color-text-secondary);margin:0;font-size:.92rem;line-height:1.45}.export-support-footer{border-top:1px solid var(--color-border);gap:.7rem;padding-top:.9rem;display:grid}.export-support-footer p{color:var(--color-text-secondary);text-align:center;font-size:.86rem}.export-support-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.export-support-banner{border:1px solid var(--color-border);min-height:3.1rem;color:var(--color-text-primary);text-align:center;border-radius:8px;gap:.12rem;padding:.6rem .75rem;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:grid}.export-support-banner:hover,.export-support-banner:focus-visible{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 0 0 2px #00ae422e}.export-support-banner span{font-weight:900;line-height:1.1}.export-support-banner small{color:var(--color-text-muted);text-transform:uppercase;font-size:.76rem;font-weight:800}.export-support-coffee{color:var(--color-text-primary);background:linear-gradient(135deg,#a67e1f33,#a67e1f12);border-color:#a67e1f61}.export-support-coffee small{color:var(--color-text-muted)}.export-support-makerworld{background:linear-gradient(135deg,#00ae4247,#00ae4214);border-color:#00ae4273}.modal-card .input-group{gap:.5rem;display:grid}.modal-card .input-group label{color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem;font-weight:700}.export-printing-tips{border:1px solid var(--color-border);background:var(--color-bg-status);border-radius:8px;grid-template-columns:minmax(0,1fr);gap:.45rem;padding:.55rem .65rem;display:grid}.export-printing-tips span{color:var(--color-text-muted);text-transform:uppercase;font-size:.66rem;font-weight:900;line-height:1}.export-printing-tips p{color:var(--color-text-secondary);font-size:.86rem;font-weight:650;line-height:1.4}.export-compliance-summary{border:1px solid var(--color-border);background:var(--color-bg-status);border-radius:8px;gap:.5rem;padding:.55rem .65rem;display:grid}.export-compliance-toggle{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.55rem;list-style:none;display:flex}.export-compliance-toggle::-webkit-details-marker{display:none}.export-compliance-toggle:before{content:"";border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);width:.48rem;height:.48rem;transition:transform .15s;transform:rotate(-45deg)}.export-compliance-summary[open] .export-compliance-toggle:before{transform:rotate(45deg)translateY(-.08rem)}.export-compliance-toggle>span{flex:14rem;gap:.05rem;min-width:0;display:grid}.export-compliance-toggle strong{color:var(--color-text-primary)}.export-compliance-toggle small{color:var(--color-text-muted);font-size:.78rem;font-weight:700}.export-compliance-toggle a{font-size:.85rem;font-weight:700}.rights-summary-grid{grid-template-columns:minmax(8rem,.9fr) minmax(0,1.1fr);gap:.32rem .75rem;font-size:.86rem;display:grid}.rights-summary-grid span{color:var(--color-text-muted)}.rights-summary-grid strong{color:var(--color-text-primary);overflow-wrap:anywhere}.export-compliance-warning{color:var(--color-text-secondary);background:#f49b001f;border:1px solid #f49b0059;border-radius:6px;padding:.45rem .55rem}.export-compliance-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;display:flex}.modal-checkbox{color:var(--color-text-secondary);grid-template-columns:auto 1fr;align-items:flex-start;gap:.55rem;font-size:.86rem;line-height:1.4;display:grid}.modal-checkbox input{margin-top:.15rem}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.report-modal textarea{border:1px solid var(--color-border-input);background:var(--color-bg-input);width:100%;color:var(--color-text-primary);resize:vertical;border-radius:6px;padding:.6rem .75rem;font-family:inherit;font-size:.9rem;line-height:1.5}.report-modal textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #00ae4226}.report-coords{background:var(--color-bg-status);border:1px solid var(--color-border);border-radius:6px;align-items:flex-start;gap:.5rem;padding:.6rem .75rem;font-size:.8rem;display:flex}.report-coords-label{color:var(--color-text-muted);white-space:nowrap;flex-shrink:0;font-weight:600}.report-coords-values{color:var(--color-text-secondary);font-family:var(--font-mono);word-break:break-all}.report-status{margin:0;font-size:.85rem;line-height:1.4}.report-status.success{color:var(--color-accent)}.report-status.error{color:var(--color-warning-text)}@media (width<=520px){.export-support-links{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.preview-pane-wrapper{width:100%;position:relative}.preview-warning-overlay{background:var(--color-overlay-backdrop,#000000bf);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;box-sizing:border-box;border-radius:8px;justify-content:center;align-items:center;padding:1rem;animation:.2s ease-out fadeIn;display:flex;position:absolute;inset:0}.preview-warning-card{background:var(--color-bg-panel);border:1px solid var(--color-border);text-align:center;border-radius:12px;flex-direction:column;gap:.75rem;width:95%;max-width:380px;padding:1.25rem;animation:.2s ease-out slideUp;display:flex;box-shadow:0 10px 25px #0000004d}.preview-warning-icon{margin-bottom:.25rem;font-size:2rem}.preview-warning-card h3{color:var(--color-warning-text);letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.preview-warning-card p{color:var(--color-text-primary);margin:0;font-size:.9rem;line-height:1.4}.preview-warning-card .preview-warning-hint{color:var(--color-text-secondary);font-size:.85rem;line-height:1.35}.preview-warning-actions{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.preview-warning-actions button{cursor:pointer;border:none;border-radius:6px;width:100%;padding:.65rem 1rem;font-size:.88rem;font-weight:700;transition:all .15s}.preview-warning-actions .btn-accept{background:var(--color-accent);color:var(--color-text-inverse)}.preview-warning-actions .btn-accept:hover{background:var(--color-accent-hover)}.preview-warning-actions .btn-alter{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-border)}.preview-warning-actions .btn-alter:hover{filter:brightness(.95)}.preview-warning-actions .btn-cancel-warning{color:var(--color-text-muted);background:0 0}.preview-warning-actions .btn-cancel-warning:hover{color:var(--color-text-primary)}.compute-time-banner{z-index:30;background:var(--color-bg-panel);min-height:54px;color:var(--color-text-primary);text-align:left;border:1.5px solid #ffb300;border-radius:8px;grid-template-columns:48px minmax(0,1fr);align-items:stretch;margin:0;padding:0;display:grid;position:absolute;top:.75rem;left:.75rem;right:.75rem;overflow:hidden;box-shadow:0 8px 22px #ffb30014}.compute-time-banner-icon{color:#1a1a1a;background:#ffb300;place-items:center;padding-right:4px;display:grid;position:relative}.compute-time-banner-icon:after{content:"";background:inherit;clip-path:polygon(0 0,100% 0,0 100%);width:15px;height:100%;position:absolute;top:0;right:-14px}.compute-time-banner-icon svg{width:26px;height:26px}.compute-time-banner-copy{min-width:0;color:var(--color-text-primary);align-content:center;gap:.12rem;padding:.55rem .6rem .55rem 1.35rem;font-size:.86rem;font-weight:600;line-height:1.35;display:grid}.compute-time-banner-copy strong{color:var(--color-text-emphasis);font-size:.9rem;font-weight:850}.compute-time-banner-copy span{color:var(--color-text-secondary);font-size:.8rem;font-weight:650}.seo-landing-page{max-width:980px}.seo-landing{gap:1.2rem;display:grid}.seo-landing h1{margin-bottom:.25rem}.seo-landing-intro{max-width:760px;color:var(--color-text-secondary);font-size:1.02rem;line-height:1.55}.seo-landing-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);align-items:start;gap:1.25rem;display:grid}.seo-landing-copy{gap:1rem;display:grid}.seo-feature-list{color:var(--color-text-primary);margin:0;padding-left:1.25rem;line-height:1.55}.seo-feature-list li+li{margin-top:.55rem}.seo-detail-sections{gap:.8rem;display:grid}.seo-detail-sections section{gap:.25rem;display:grid}.seo-detail-sections h2{margin:0;font-size:1rem}.seo-detail-sections p{color:var(--color-text-secondary);margin:0;font-size:.94rem;line-height:1.5}.seo-primary-link{background:var(--color-accent);width:fit-content;min-height:42px;color:var(--color-text-inverse);border-radius:6px;justify-content:center;align-items:center;padding:.7rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}.seo-primary-link:hover,.seo-primary-link:focus-visible{background:var(--color-accent-hover)}.seo-landing-media{gap:.5rem;margin:0;display:grid}.seo-landing-media img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:8px;width:100%;display:block}.seo-landing-media figcaption{color:var(--color-text-secondary);font-size:.85rem;line-height:1.4}.seo-faq-section{gap:.55rem;max-width:820px;padding-top:.25rem;display:grid}.seo-faq-section h2{margin:0 0 .15rem;font-size:1.05rem}.seo-faq-section details{border:1px solid var(--color-border);background:var(--color-bg-panel);border-radius:6px}.seo-faq-section summary{cursor:pointer;min-height:38px;padding:.55rem .75rem;font-weight:800}.seo-faq-section p{color:var(--color-text-secondary);margin:0;padding:0 .75rem .75rem;font-size:.94rem;line-height:1.5}.seo-related-links{flex-wrap:wrap;gap:.55rem;padding-top:.25rem;display:flex}.seo-related-links.compact{margin:1rem 0}.seo-related-links a{border:1px solid var(--color-border);background:var(--color-bg-panel);min-height:36px;color:var(--color-text-primary);border-radius:6px;align-items:center;padding:.45rem .65rem;font-size:.88rem;font-weight:700;text-decoration:none;display:inline-flex}.seo-related-links a:hover,.seo-related-links a:focus-visible{border-color:var(--color-accent);color:var(--color-accent)}@media (width<=760px){.seo-landing-grid{grid-template-columns:1fr}}
