/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--spacing:.25rem;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{--paper:#f2eee5;--paper-deep:#e7dfd0;--ink:#173d38;--ink-soft:#55706b;--line:#173d382e;--vermilion:#df633e;--gold:#c49b57;--white:#fffdf7}*{box-sizing:border-box}body,html{width:100%;height:100%}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Noto Sans CJK SC,Microsoft YaHei,Arial,sans-serif}body,body.modal-lock{overflow:hidden}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}::selection{background:#df633e33}.site-shell{width:100%;height:100dvh;min-height:0;overflow:hidden}.city-opening{--opening-paper:#f2eee5;z-index:200;color:var(--ink);background:var(--opening-paper);isolation:isolate;animation:city-opening-paper .7s cubic-bezier(.2,.75,.25,1) both;position:fixed;inset:0;overflow:hidden}.city-opening:after,.city-opening:before{content:"";z-index:8;pointer-events:none;background:var(--opening-paper);opacity:0;width:50%;height:100%;position:absolute;top:0}.city-opening:before{border-right:1px solid #173d3833;left:0}.city-opening:after{border-left:1px solid #173d3833;right:0}.city-opening.is-closing{pointer-events:none;background:0 0}.city-opening.is-closing:before{opacity:1;animation:city-opening-curtain-left .72s cubic-bezier(.76,0,.24,1) both}.city-opening.is-closing:after{opacity:1;animation:city-opening-curtain-right .72s cubic-bezier(.76,0,.24,1) both}.city-opening-map{opacity:0;border:1px solid #173d3833;animation:city-map-arrive .6s ease-out .18s forwards;position:absolute;inset:7vh 7vw}.city-opening-map:before{content:"";opacity:.22;background-image:linear-gradient(#173d3829 1px,#0000 0),linear-gradient(90deg,#173d3829 1px,#0000 0);background-size:clamp(48px,7vw,100px) clamp(48px,7vw,100px);position:absolute;inset:0}.city-opening-axis{background:#173d3854;display:block;position:absolute}.city-opening-axis.axis-horizontal{width:100%;height:1px;animation:city-axis-x .72s ease-out .35s forwards;top:50%;left:0;transform:scaleX(0)}.city-opening-axis.axis-vertical{width:1px;height:100%;animation:city-axis-y .72s ease-out .35s forwards;top:0;left:50%;transform:scaleY(0)}.city-opening-coordinate{background:var(--vermilion);opacity:0;border-radius:50%;width:5px;height:5px;animation:city-coordinate .38s ease-out forwards;position:absolute;box-shadow:0 0 0 5px #df633e1a}.city-opening-coordinate:after,.city-opening-coordinate:before{content:"";background:var(--vermilion);opacity:.7;position:absolute}.city-opening-coordinate:before{width:23px;height:1px;top:2px;left:-9px}.city-opening-coordinate:after{width:1px;height:23px;top:-9px;left:2px}.coordinate-one{animation-delay:.76s;top:27%;left:18%}.coordinate-two{animation-delay:.9s;top:38%;right:14%}.coordinate-three{animation-delay:1.04s;bottom:19%;left:31%}.city-opening-selection{aspect-ratio:1.55;border:1px solid var(--vermilion);opacity:0;width:min(42vw,460px);animation:city-selection-lock .78s cubic-bezier(.2,.8,.2,1) .92s forwards;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)scale(.74)}.city-opening-selection>i{border:2px solid var(--vermilion);background:var(--opening-paper);width:9px;height:9px;position:absolute}.city-opening-selection>i:first-child{top:-5px;left:-5px}.city-opening-selection>i:nth-child(2){top:-5px;right:-5px}.city-opening-selection>i:nth-child(3){bottom:-5px;right:-5px}.city-opening-selection>i:nth-child(4){bottom:-5px;left:-5px}.city-opening-center{z-index:3;text-align:center;width:min(92vw,720px);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.city-opening-index{color:var(--vermilion);letter-spacing:2.4px;opacity:0;margin-bottom:22px;font-family:Courier New,monospace;font-size:9px;font-weight:700;animation:city-copy-rise .48s ease-out .93s forwards;display:block}.city-opening-brand{align-items:flex-end;gap:17px;display:inline-flex}.city-opening-brand strong{letter-spacing:-4px;opacity:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,8vw,108px);line-height:.8;animation:city-copy-rise .72s cubic-bezier(.2,.8,.2,1) 1.22s forwards;transform:translateY(18px)}.city-opening-mark{align-items:flex-end;gap:clamp(3px,.45vw,6px);width:clamp(44px,6vw,72px);height:clamp(48px,6.8vw,82px);display:flex;transform:skewY(-6deg)}.city-opening-mark i{background:var(--ink);transform-origin:bottom;flex:1;animation:city-building-rise .62s cubic-bezier(.2,.8,.2,1) forwards;display:block;transform:scaleY(0)}.city-opening-mark i:first-child{height:54%;animation-delay:1.12s}.city-opening-mark i:nth-child(2){background:var(--vermilion);height:100%;animation-delay:1.25s}.city-opening-mark i:nth-child(3){height:72%;animation-delay:1.19s}.city-opening-center p{letter-spacing:.34em;opacity:0;margin:22px 0 15px;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(12px,1.35vw,17px);animation:city-copy-rise .54s ease-out 1.64s forwards}.city-opening-rule{background:#173d3829;width:min(220px,44vw);height:1px;margin:0 auto;display:block;overflow:hidden}.city-opening-rule i{background:var(--vermilion);width:100%;height:1px;animation:city-rule-draw .9s cubic-bezier(.2,.8,.2,1) 1.77s forwards;display:block;transform:translate(-101%)}.city-opening-buildings{z-index:2;border-bottom:1px solid #173d3873;justify-content:center;align-items:flex-end;gap:clamp(5px,1vw,16px);height:min(18vh,150px);display:flex;position:absolute;bottom:7vh;left:7vw;right:7vw}.city-opening-buildings i{transform-origin:bottom;background:#173d3814;border:1px solid #173d389e;border-bottom:0;width:clamp(18px,3.2vw,52px);animation:city-building-rise .54s cubic-bezier(.2,.8,.2,1) forwards;transform:scaleY(0)}.city-opening-buildings i:first-child{height:32%;animation-delay:1.78s}.city-opening-buildings i:nth-child(2){height:58%;animation-delay:1.88s}.city-opening-buildings i:nth-child(3){height:42%;animation-delay:1.81s}.city-opening-buildings i:nth-child(4){height:83%;animation-delay:1.96s}.city-opening-buildings i:nth-child(5){background:var(--vermilion);border-color:var(--vermilion);height:52%;animation-delay:1.87s}.city-opening-buildings i:nth-child(6){height:70%;animation-delay:2.02s}.city-opening-buildings i:nth-child(7){height:38%;animation-delay:1.84s}.city-opening-buildings i:nth-child(8){height:62%;animation-delay:1.94s}.city-opening-buildings i:nth-child(9){height:26%;animation-delay:1.77s}.city-opening-edition{letter-spacing:1.8px;opacity:.58;font:700 8px/1 Courier New,monospace;position:absolute;bottom:3.5vh;left:8vw}.city-opening-skip{z-index:5;top:calc(3vh + env(safe-area-inset-top));min-width:72px;min-height:40px;color:var(--ink-soft);letter-spacing:1px;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #173d3859;font-size:10px;font-weight:700;position:absolute;right:4vw}.city-opening-skip:hover{color:var(--vermilion);border-color:var(--vermilion)}.city-opening-skip span{color:var(--vermilion);margin-left:5px;display:inline-block}@keyframes city-opening-paper{0%{opacity:0}to{opacity:1}}@keyframes city-map-arrive{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes city-axis-x{to{transform:scaleX(1)}}@keyframes city-axis-y{to{transform:scaleY(1)}}@keyframes city-coordinate{0%{opacity:0;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}@keyframes city-selection-lock{to{opacity:1;transform:translate(-50%,-50%)rotate(-4deg)scale(1)}}@keyframes city-copy-rise{to{opacity:1;transform:translateY(0)}}@keyframes city-rule-draw{to{transform:translate(0)}}@keyframes city-building-rise{to{transform:scaleY(1)}}@keyframes city-opening-curtain-left{to{transform:translate(-101%)}}@keyframes city-opening-curtain-right{to{transform:translate(101%)}}.brand-mark{align-items:flex-end;gap:2px;width:31px;height:31px;display:flex;transform:skewY(-6deg)}.brand-mark i{background:var(--ink);border-radius:1px 1px 0 0;width:8px;display:block}.brand-mark i:first-child{height:15px}.brand-mark i:nth-child(2){background:var(--vermilion);height:29px}.brand-mark i:nth-child(3){height:21px}.brand-type{letter-spacing:-.8px;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:700}.eyebrow,.preview-index,.step-label{letter-spacing:2.2px;color:var(--vermilion);font-size:10px;font-weight:700;line-height:1;display:block}.intent-modal h2{font-family:Songti SC,STSong,SimSun,Georgia,serif;font-weight:600}.studio{background:var(--white);width:100%;max-width:none;height:100dvh;min-height:0;box-shadow:none;border:0;grid-template-columns:354px minmax(0,1fr);margin:0;display:grid}.control-panel{overscroll-behavior:contain;border-right:1px solid var(--ink);scrollbar-width:thin;scrollbar-color:#173d384d transparent;background:#f8f4eb;min-height:0;padding:18px 20px 24px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:center;padding-bottom:15px;display:flex}.workspace-brand{align-items:center;gap:11px;min-width:0;display:flex}.workspace-brand>div{min-width:0}.workspace-brand .brand-mark{transform-origin:0;flex:none;transform:scale(.86)skewY(-6deg)}.workspace-brand .brand-type{font-size:21px;line-height:1;display:block}.workspace-brand h1{color:var(--ink-soft);letter-spacing:1px;margin:4px 0 0;font-size:9px;font-weight:600}.workspace-version{color:var(--ink-soft);letter-spacing:.5px;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin-top:5px;padding:0;font-family:Courier New,monospace;font-size:7px;display:inline-flex}.workspace-version strong{color:var(--vermilion);font-size:8px}.workspace-version:hover strong{color:var(--ink)}.controls-close-button,.controls-open-button,.panel-backdrop{display:none}.live-dot{letter-spacing:.8px;color:var(--ink-soft);padding-top:3px;font-size:10px}.live-dot i{background:#4e9674;border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block;box-shadow:0 0 0 4px #4e96741f}.control-section{border-top:1px solid var(--line);padding:15px 0 17px}.section-title{align-items:center;gap:9px;margin-bottom:13px;display:flex}.section-title>span{color:var(--vermilion);font-family:Georgia,serif;font-size:10px;font-weight:700}.section-title h3{letter-spacing:.5px;margin:0;font-size:13px}.section-title em{color:var(--ink-soft);margin-left:auto;font-size:10px;font-style:normal}.city-search{gap:7px;margin-bottom:10px;display:grid}.city-search-field{border:1px solid var(--ink);background:var(--white);grid-template-columns:minmax(0,1fr) auto;display:grid}.city-search-field input{min-width:0;height:40px;color:var(--ink);background:0 0;border:0;outline:none;padding:0 11px;font-size:11px}.city-search-field input::placeholder{color:#2e4a448f}.city-search-field button{border:0;border-left:1px solid var(--ink);background:var(--ink);min-width:58px;color:var(--white);cursor:pointer;font-size:9px;font-weight:700}.city-search-field button:hover{background:var(--vermilion)}.city-search-field button:disabled{cursor:wait;opacity:.68}.city-search-results{border:1px solid var(--line);background:var(--white);max-height:216px;overflow-y:auto;box-shadow:0 12px 28px #12302b1f}.city-search-results button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;gap:3px;width:100%;padding:9px 11px;display:grid}.city-search-results button:last-child{border-bottom:0}.city-search-results button.active,.city-search-results button:hover{background:#efe7d9}.city-search-results strong{font-size:11px}.city-search-message,.city-search-results small{color:var(--ink-soft);font-size:8px}.city-search-message{background:#c84d3214;padding:7px 9px;line-height:1.5}.city-search-message.is-error{color:#9a3e2a}.city-search-credit{color:var(--ink-soft);letter-spacing:.4px;font-size:7px}.city-search-current{border:1px solid var(--ink);background:#173d380f;grid-template-columns:auto 1fr;gap:2px 7px;margin:0 0 9px;padding:8px 10px;display:grid}.city-search-current span{color:var(--vermilion);align-self:center;font-size:8px;font-weight:700}.city-search-current strong{font-size:12px}.city-search-current small{color:var(--ink-soft);grid-column:1/-1;font-size:8px}.city-tabs{border:1px solid var(--line);grid-template-columns:repeat(2,1fr);display:grid}.city-tabs button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:10px 7px 9px;transition:all .18s}.city-tabs button:nth-child(2n){border-right:0}.city-tabs button:nth-last-child(-n+2){border-bottom:0}.city-tabs small,.city-tabs strong{display:block}.city-tabs strong{font-family:Songti SC,STSong,serif;font-size:16px;font-weight:600}.city-tabs small{letter-spacing:1px;opacity:.6;margin-top:3px;font-size:8px}.city-tabs button:hover{background:#173d380d}.city-tabs button.active{color:var(--white);background:var(--ink)}.range-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.range-options label{border:1px solid var(--line);cursor:pointer;background:#ffffff59;align-items:flex-start;gap:7px;min-width:0;padding:10px 8px;transition:all .18s;display:flex;position:relative}.range-options label:hover{border-color:#173d3873}.range-options label.selected{border-color:var(--ink);background:var(--white);box-shadow:inset 0 -2px var(--vermilion)}.range-options input{opacity:0;pointer-events:none;position:absolute}.radio-mark{border:1px solid var(--ink-soft);border-radius:50%;flex:none;width:11px;height:11px;margin-top:3px;position:relative}.selected .radio-mark:after{content:"";background:var(--vermilion);border-radius:50%;position:absolute;inset:2px}.range-options small,.range-options strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.range-options strong{font-size:11px}.range-options small{color:var(--ink-soft);margin-top:3px;font-size:8px}.terrain-pilot-control{background:#fffdf7b8;border:1px solid #173d3852;margin-top:9px;padding:10px}.terrain-pilot-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.terrain-pilot-heading small,.terrain-pilot-heading span,.terrain-pilot-heading strong{display:block}.terrain-pilot-heading strong{font-size:11px}.terrain-pilot-heading small{color:var(--ink-soft);margin-top:2px;font-size:7px}.terrain-pilot-heading em{border:1px solid var(--vermilion);color:var(--vermilion);letter-spacing:.8px;flex:none;padding:2px 5px;font-size:6px;font-style:normal;font-weight:800}.terrain-mode-options{border:1px solid var(--ink);grid-template-columns:1fr 1fr;margin-top:8px;display:grid}.terrain-mode-options button{border:0;border-right:1px solid var(--ink);min-height:30px;color:var(--ink);cursor:pointer;background:0 0;font-size:8px;font-weight:700}.terrain-mode-options button:last-child{border-right:0}.terrain-mode-options button.selected{color:var(--white);background:var(--ink)}.terrain-pilot-control p{color:var(--ink-soft);align-items:center;gap:6px;margin:8px 0 0;font-size:8px;line-height:1.45;display:flex}.terrain-pilot-control p i{background:#bc8c39;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #bc8c391f}.terrain-pilot-control.status-ready p i{background:#3d8e68;box-shadow:0 0 0 3px #3d8e6824}.terrain-pilot-control.status-unavailable{background:#fff4e0b8;border-color:#b85e3d61}.terrain-pilot-control.status-unavailable p{color:#7d442c}.terrain-pilot-control.status-unavailable p i{background:#b85e3d;box-shadow:0 0 0 3px #b85e3d24}.terrain-source-note{color:#2e4a44b8;margin-top:6px;font-size:6.5px;line-height:1.45;display:block}.landmark-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.landmark-options button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#ffffff59;align-items:center;gap:8px;min-width:0;padding:10px 8px;transition:all .18s;display:flex}.landmark-options button:hover{border-color:#173d3873}.landmark-options button.selected{border-color:var(--ink);background:var(--white)}.landmark-options button:disabled{opacity:.52;cursor:not-allowed}.landmark-options button:disabled:hover{border-color:var(--line)}.landmark-options button.is-outside .check-mark{color:var(--ink-soft);background:0 0;border:1px dashed #173d384d}.check-mark{background:var(--paper-deep);flex:none;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.selected .check-mark{color:#fff;background:var(--vermilion)}.landmark-copy{flex:auto;min-width:0;overflow:hidden}.landmark-options small,.landmark-options strong{overflow-wrap:anywhere;text-overflow:ellipsis;white-space:normal;display:block;overflow:hidden}.landmark-options strong{font-size:11px}.landmark-options small{color:var(--ink-soft);margin-top:2px;font-size:8px}html[data-locale=en] .landmark-options{grid-template-columns:1fr}html[data-locale=en] .landmark-options small,html[data-locale=en] .landmark-options strong{white-space:normal;overflow-wrap:anywhere}.landmark-empty{background:#ffffff4d;border:1px dashed #173d384d;grid-column:1/-1;gap:4px;padding:12px;display:grid}.landmark-empty strong{font-size:10px}.landmark-empty span{color:var(--ink-soft);font-size:8px;line-height:1.55}.style-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.style-options button{border:1px solid var(--line);cursor:pointer;background:0 0;min-width:0;padding:10px 6px 9px;transition:all .18s}.style-options button.selected{border-color:var(--ink);background:var(--white);box-shadow:inset 0 -2px var(--vermilion)}.style-options small,.style-options strong{display:block}.style-options strong{margin-top:5px;font-size:10px}.style-options small{margin-top:2px}.style-impact,.style-options small{color:var(--ink-soft);font-size:8px}.style-impact{border-left:2px solid var(--vermilion);background:#ffffff8f;justify-content:space-between;gap:8px;margin-top:7px;padding:7px 9px;line-height:1.4;display:flex}.style-impact span{color:var(--vermilion);font-family:var(--font-sans);white-space:nowrap;font-weight:700}.style-impact strong{color:var(--ink);text-align:right;font-size:8px}.style-icon{justify-content:center;align-items:flex-end;gap:3px;height:26px;display:flex}.style-icon i{background:var(--ink-soft);width:7px;transition:all .18s}.style-icon i:first-child{height:11px}.style-icon i:nth-child(2){height:23px}.style-icon i:nth-child(3){height:16px}.style-icon-balanced i:nth-child(2){background:var(--vermilion);transform-origin:bottom;transform:scaleY(1.12)}.style-icon-narrative i{opacity:.38}.style-icon-narrative i:nth-child(2){opacity:1;background:var(--vermilion);transform-origin:bottom;transform:scaleY(1.28)}.selected .style-icon i{background:currentColor}.selected .style-icon i:nth-child(2){background:var(--vermilion)}.slider-row{grid-template-columns:1fr auto;gap:7px 10px;margin-top:15px;display:grid}.slider-row label,.slider-row output{font-size:9px;font-weight:700}.slider-row output{color:var(--vermilion)}.slider-row input{appearance:none;background:linear-gradient(90deg,var(--vermilion) 0 var(--range-progress),#173d382e var(--range-progress) 100%);border-radius:3px;grid-column:1/-1;width:100%;height:3px;margin:4px 0}.slider-row input::-webkit-slider-thumb{appearance:none;background:var(--white);border:2px solid var(--vermilion);cursor:grab;border-radius:50%;width:15px;height:15px;box-shadow:0 1px 4px #00000026}.slider-row>div{color:var(--ink-soft);grid-column:1/-1;justify-content:space-between;font-size:8px;display:flex}.slider-row.is-disabled{opacity:.48}.slider-row input:disabled::-webkit-slider-thumb{cursor:not-allowed}.palette-section{padding-bottom:0}.palette-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.palette-options button{border:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:7px;min-width:0;padding:8px;display:flex}.palette-options button.selected{border-color:var(--ink);background:var(--white)}.swatches{flex:0 0 42px;height:18px;display:flex}.swatches i{flex:1;height:18px}.palette-options strong{font-size:10px}.palette-name{text-align:left;gap:1px;min-width:0;display:grid}.palette-name small{color:var(--ink-soft);white-space:nowrap;font-size:7px}.palette-material-contract{border:1px solid var(--line);color:var(--ink-soft);background:#fffdf773;grid-template-columns:auto auto 1fr;align-items:center;gap:7px;margin-top:8px;padding:7px 8px;font-size:8px;display:grid}.palette-material-contract span{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.palette-material-contract i{border:1px solid #173d3833;width:9px;height:9px}.palette-material-contract strong{color:var(--ink-soft);white-space:nowrap;justify-self:end;font-size:8px}.palette-material-contract.is-separated{background:var(--white);border-color:#173d3857}.palette-material-contract.is-separated strong{color:var(--vermilion)}.preview-panel{background:#ede9df;flex-direction:column;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.preview-toolbar{background:#fffdf7c7;border-bottom:1px solid #173d382e;flex:none;justify-content:space-between;align-items:center;gap:18px;height:64px;padding:10px 18px;display:flex}.preview-title{flex:auto;min-width:0}.preview-toolbar h2{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-family:Songti SC,STSong,serif;font-size:18px;font-weight:600;line-height:1.1;overflow:hidden}.preview-toolbar-actions{flex:none;align-items:center;gap:8px;display:flex}.preview-surface-toggle{background:#fffdf780;border:1px solid #173d383d;grid-template-columns:repeat(2,minmax(46px,1fr));display:grid}.preview-surface-toggle button{min-height:40px;color:var(--ink-soft);letter-spacing:.4px;cursor:pointer;background:0 0;border:0;border-right:1px solid #173d3829;padding:0 12px;font-family:Georgia,serif;font-size:10px;font-weight:700;transition:all .18s}.preview-surface-toggle button:last-child{border-right:0}.preview-surface-toggle button:hover:not(:disabled){color:var(--ink);background:#173d3814}.preview-surface-toggle button.selected{background:var(--ink);color:var(--white)}.preview-surface-toggle button:disabled{opacity:.35;cursor:not-allowed}.preview-surface-toggle button:focus-visible{z-index:1;outline:2px solid var(--vermilion);outline-offset:-3px;position:relative}.preview-toolbar-divider{background:#173d3833;width:1px;height:24px;margin:0 1px}.about-button{min-height:40px;color:var(--ink);letter-spacing:.4px;cursor:pointer;background:#fffdf7b8;border:1px solid #173d383d;align-items:center;gap:6px;padding:0 12px;font-size:10px;font-weight:700;transition:all .18s;display:inline-flex;position:relative}.about-button>span{color:var(--vermilion);font-size:12px;line-height:1}.about-button>i{border:2px solid var(--white);background:var(--vermilion);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;right:-4px;box-shadow:0 0 0 2px #df633e29}.about-button:hover,.about-button[aria-expanded=true]{border-color:var(--ink);background:var(--ink);color:var(--white)}.about-button:hover>span,.about-button[aria-expanded=true]>span{color:#f2b19c}.about-button:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}.data-badge{text-align:right;border-left:2px solid var(--scene-accent);padding-left:10px}.data-badge small,.data-badge span{display:block}.data-badge span{font-size:10px;font-weight:700}.data-badge small{color:var(--ink-soft);margin-top:3px;font-size:8px}.city-map-stage{isolation:isolate;background:#d9ddd6;flex:1 1 0;height:auto;min-height:0;position:relative;overflow:hidden}.map-canvas,.map-canvas-shell{position:absolute;inset:0}.map-canvas-shell{isolation:isolate;background:linear-gradient(145deg,#d6ddd5,#eee8dc);overflow:hidden}.map-canvas{z-index:1}.map-canvas .maplibregl-canvas{cursor:grab}.map-canvas-shell.is-map-moving .map-canvas .maplibregl-canvas,.map-canvas-shell.is-map-rotating .map-canvas .maplibregl-canvas{cursor:grabbing!important}.map-error,.map-loading{z-index:12;text-align:center;pointer-events:none;background:#f2eee5e6;place-content:center;justify-items:center;gap:11px;display:grid;position:absolute;inset:0}.map-loading i{border:1px solid #173d3840;border-top:1px solid var(--scene-accent);border-radius:50%;width:38px;height:38px;animation:map-spin 1s linear infinite}.map-error span,.map-loading span{color:var(--ink-soft);letter-spacing:.45px;font-size:13px;line-height:1.55}.map-error strong{font-family:Songti SC,STSong,serif;font-size:18px}.selection-toolbar{--selection-control-x:50%;--selection-control-y:76px;z-index:10;left:var(--selection-control-x);top:var(--selection-control-y);width:min(640px,100% - 24px);min-height:48px;color:var(--white);background:var(--scene-ink);grid-template-columns:54px minmax(120px,1fr) minmax(210px,250px) 48px;display:grid;position:absolute}@supports (color:color-mix(in lab,red,red)){.selection-toolbar{background:color-mix(in srgb,var(--scene-ink) 94%,transparent)}}.selection-toolbar{border:1px solid var(--finder-accent)}@supports (color:color-mix(in lab,red,red)){.selection-toolbar{border:1px solid color-mix(in srgb,var(--finder-accent) 58%,var(--scene-ink))}}.selection-toolbar{visibility:hidden;box-shadow:0 8px 24px #0a201c3d}.selection-toolbar[data-placement=above]{transform:translate(-50%,-100%)}.selection-toolbar[data-placement=below]{transform:translate(-50%)}.selection-toolbar button{min-width:0;min-height:48px;color:inherit;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff26;transition:background .15s,color .15s}.selection-toolbar button:last-child{border-right:0}.selection-toolbar button:hover{background:#ffffff17}.selection-toolbar button.is-selected,.selection-toolbar button[aria-pressed=true]{color:var(--white);background:var(--finder-accent)}@supports (color:color-mix(in lab,red,red)){.selection-toolbar button.is-selected,.selection-toolbar button[aria-pressed=true]{background:color-mix(in srgb,var(--finder-accent) 28%,transparent)}}.selection-toolbar button:focus-visible{outline:2px solid var(--finder-accent);outline-offset:-3px}.selection-toolbar button>small,.selection-toolbar button>span{display:block}.selection-toolbar button>span{color:var(--finder-accent);font-size:15px;line-height:1}.selection-toolbar button>small{color:#ffffffd1;letter-spacing:.15px;overflow-wrap:anywhere;text-overflow:ellipsis;max-width:100%;margin-top:4px;font-size:10px;line-height:1.2;overflow:hidden}html[data-locale=en] .selection-toolbar button>small{letter-spacing:0;font-size:9px}.selection-toolbar-move{touch-action:none;cursor:move!important}.selection-toolbar-size{border-right:1px solid #ffffff26;align-content:center;gap:4px;min-width:0;padding:0 12px;display:grid}.selection-toolbar-size strong{color:var(--white);letter-spacing:.05px;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-size:13px;line-height:1.2;overflow:hidden}.selection-toolbar-size small{color:var(--finder-accent);overflow:hidden}@supports (color:color-mix(in lab,red,red)){.selection-toolbar-size small{color:color-mix(in srgb,var(--finder-accent) 76%,white)}}.selection-toolbar-size small{letter-spacing:.1px;text-overflow:ellipsis;white-space:nowrap;font-family:Courier New,monospace;font-size:10px;line-height:1.2}.selection-toolbar-aspects{border-right:1px solid #ffffff26;grid-template-columns:repeat(5,minmax(40px,1fr));min-width:0;display:grid}.selection-toolbar-aspects button{align-content:center;place-items:center;gap:3px;min-width:0;min-height:48px;padding:3px 2px;display:grid}.selection-toolbar-aspects button:last-child{border-right:0}.selection-toolbar-aspects button:disabled{opacity:.34;cursor:not-allowed}.selection-toolbar-aspects button:disabled:hover{background:0 0}.selection-aspect-icon{border:1.5px solid;border-radius:1px;width:17px;height:17px;color:#ffffffbd!important;display:block!important}.aspect-4-3 .selection-aspect-icon{width:20px;height:15px}.aspect-3-2 .selection-aspect-icon{width:21px;height:14px}.selection-aspect-button.is-selected .selection-aspect-icon{background:var(--finder-accent);color:var(--finder-accent)!important}@supports (color:color-mix(in lab,red,red)){.selection-aspect-button.is-selected .selection-aspect-icon{background:color-mix(in srgb,var(--finder-accent) 16%,transparent)}}.selection-aspect-button.is-selected .selection-aspect-icon{box-shadow:0 0 0 2px var(--finder-accent)}@supports (color:color-mix(in lab,red,red)){.selection-aspect-button.is-selected .selection-aspect-icon{box-shadow:0 0 0 2px color-mix(in srgb,var(--finder-accent) 18%,transparent)}}.selection-aspect-button.is-selected small{color:var(--white);font-weight:800}.selection-aspect-button.aspect-free>span,.selection-aspect-flip>span{place-items:center;min-height:17px;display:grid}.selection-resize-handle{--selection-control-x:50%;--selection-control-y:50%;z-index:11;left:var(--selection-control-x);top:var(--selection-control-y);touch-action:none;visibility:hidden;background:0 0;border:0;width:42px;height:42px;padding:0;position:absolute;transform:translate(-50%,-50%)}.selection-resize-handle:before{content:"";border:3px solid var(--white);background:var(--finder-accent);width:14px;height:14px;box-shadow:0 0 0 2px var(--scene-ink),0 4px 10px #091f1b47;border-radius:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.selection-resize-handle:before{box-shadow:0 0 0 2px color-mix(in srgb,var(--scene-ink) 78%,transparent),0 4px 10px #091f1b47}}.selection-resize-handle:before{transition:transform .12s,opacity .12s}.selection-resize-handle.handle-nw,.selection-resize-handle.handle-se{cursor:nwse-resize}.selection-resize-handle.handle-ne,.selection-resize-handle.handle-sw{cursor:nesw-resize}.selection-resize-handle:hover:before{transform:translate(-50%,-50%)scale(1.12)}.selection-resize-handle:focus-visible{outline:2px solid var(--finder-accent);outline-offset:-8px}.selection-resize-handle.is-active:before{background:var(--white);border-color:var(--finder-accent);transform:translate(-50%,-50%)scale(1.22)}.map-canvas-shell.is-resizing .selection-resize-handle:not(.is-active):before{opacity:.52}.selection-rotation-handle{--selection-control-x:50%;--selection-control-y:50%;z-index:11;left:var(--selection-control-x);top:var(--selection-control-y);width:46px;height:46px;color:var(--white);touch-action:none;cursor:grab;visibility:hidden;background:0 0;border:0;border-radius:50%;padding:0;position:absolute;transform:translate(-50%,-50%)}.selection-rotation-handle span{border:3px solid var(--white);width:24px;height:24px;color:var(--white);background:var(--finder-accent);box-shadow:0 0 0 2px var(--scene-ink),0 4px 10px #091f1b47;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.selection-rotation-handle span{box-shadow:0 0 0 2px color-mix(in srgb,var(--scene-ink) 78%,transparent),0 4px 10px #091f1b47}}.selection-rotation-handle span{font-size:14px;font-weight:800;line-height:1;transition:transform .12s,background .12s}.selection-rotation-handle:focus-visible span,.selection-rotation-handle:hover span{transform:translate(-50%,-50%)scale(1.1)}.selection-rotation-handle:focus-visible{outline:2px solid var(--finder-accent);outline-offset:-6px}.selection-rotation-handle.is-active{cursor:grabbing}.selection-rotation-handle.is-active span{color:var(--finder-accent);background:var(--white);transform:translate(-50%,-50%)scale(1.18)}.map-canvas-shell.is-rotating-selection .selection-resize-handle:before{opacity:.48}.selection-locate-button{z-index:8;min-height:40px;color:var(--scene-ink);cursor:pointer;background:#fffdf7e6;border:1px solid #173d3838;padding:0 13px;font-size:12px;font-weight:700;line-height:1.25;transition:background .15s,border-color .15s,color .15s;position:absolute;top:17px;right:18px;box-shadow:0 6px 18px #1127231f}.selection-locate-button span{color:var(--finder-accent);vertical-align:-1px;margin-right:4px;font-size:12px}.selection-locate-button:hover{border-color:var(--finder-accent);background:var(--white)}.selection-locate-button:focus-visible{outline:2px solid var(--finder-accent);outline-offset:2px}.map-visual-controls{z-index:12;align-items:stretch;gap:8px;display:flex;position:absolute;top:58px;right:18px}.map-view-toggle{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#fffdf7e6;border:1px solid #173d383d;grid-template-columns:repeat(2,40px);display:grid;overflow:hidden;box-shadow:0 7px 20px #11272324}.map-view-toggle button{min-width:40px;min-height:40px;color:var(--scene-ink);cursor:pointer;background:0 0;border:0;border-right:1px solid #173d3829;padding:0;font-family:Georgia,serif;font-size:13px;font-weight:700}.map-view-toggle button:last-child{border-right:0}.map-view-toggle button:hover:not(:disabled){color:var(--white);background:var(--scene-ink)}@supports (color:color-mix(in lab,red,red)){.map-view-toggle button:hover:not(:disabled){background:color-mix(in srgb,var(--scene-ink) 88%,var(--finder-accent))}}.map-view-toggle button.selected{color:var(--white);background:var(--scene-ink)}.map-view-toggle button:focus-visible{outline:2px solid var(--finder-accent);outline-offset:-3px;position:relative}.map-bearing-controls{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#173d38d6;border:1px solid #173d383d;grid-template-columns:repeat(3,40px);display:grid;overflow:hidden;box-shadow:0 7px 20px #11272329}.map-bearing-controls button{min-width:40px;min-height:40px;color:var(--white);cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff29;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.map-bearing-controls button:last-child{border-right:0}.map-bearing-controls button:hover{background:var(--finder-accent)}@supports (color:color-mix(in lab,red,red)){.map-bearing-controls button:hover{background:color-mix(in srgb,var(--finder-accent) 26%,transparent)}}.map-bearing-controls button:focus-visible{outline:2px solid var(--finder-accent);outline-offset:-3px;position:relative}.map-bearing-controls button:disabled{opacity:.4;cursor:wait}.map-bearing-controls .map-bearing-north{align-content:center;gap:2px;font-family:Georgia,serif}.map-bearing-north strong{color:var(--finder-accent);font-size:12px;line-height:1}.map-bearing-north small{color:#ffffffd1;font-family:Courier New,monospace;font-size:10px;line-height:1}.map-canvas-shell.is-selecting .map-canvas .maplibregl-canvas{cursor:grabbing!important}.map-canvas-shell.is-rotating-selection .map-canvas .maplibregl-canvas{cursor:default!important}.map-selection-announcement{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-data-warning{white-space:nowrap;color:#6d4028;background:#fff4daf0;border:1px solid #975c2c40;padding:8px 11px;font-size:11px;line-height:1.4;bottom:55px;left:50%;transform:translate(-50%)}.building-data-status,.map-data-warning{z-index:8;pointer-events:none;position:absolute}.building-data-status{max-width:min(420px,100% - 150px);min-height:46px;color:var(--scene-ink);background:#fffdf7f0;border:1px solid #173d3833;align-items:center;gap:10px;padding:7px 13px;line-height:1.35;display:flex;top:17px;left:18px;box-shadow:0 6px 18px #1127231f}.building-data-status>i{background:#bc8c39;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 3px #bc8c3924}.building-data-copy{gap:2px;min-width:0;display:grid}.building-data-copy strong{font-size:12px}.building-data-copy small,.building-data-copy strong{text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.building-data-copy small{color:var(--ink-soft);font-size:10px;font-weight:600}.building-data-status.status-loading>i{animation:data-status-pulse 1.1s ease-in-out infinite}.building-data-status.status-ready i{background:#3d8e68;box-shadow:0 0 0 3px #3d8e6824}.building-data-status.status-unavailable{color:#7d442c;background:#fff4e0f0;border-color:#9f5b313d}.building-data-status.status-unavailable i{background:#b85e3d;box-shadow:0 0 0 3px #b85e3d24}.print-detail-advice{z-index:8;color:#7d442c;background:#fff4e0f0;border:1px solid #9f5b3138;align-items:center;gap:12px;max-width:470px;padding:10px 11px 10px 13px;font-size:11px;line-height:1.55;display:flex;position:absolute;top:74px;left:18px;box-shadow:0 5px 16px #4a1e1417}.print-detail-advice>span{gap:2px;min-width:0;display:grid}.print-detail-advice strong{font-size:11px}.print-detail-advice small{color:inherit;font-size:9px;line-height:1.5}.print-detail-advice button{min-height:38px;color:inherit;cursor:pointer;background:#ffffffa3;border:1px solid;flex:none;padding:0 11px;font-size:9px;font-weight:700}.print-detail-advice button:focus-visible,.print-detail-advice button:hover{color:var(--white);background:#9f3f27}.print-detail-advice.scale-blocked{color:#913824;background:#ffe7daf5;border-color:#9f3f276b}.print-detail-advice.scale-adaptive{color:#245f66;background:#e1f5f1f5;border-color:#245f6652}.print-detail-advice.scale-adaptive button:focus-visible,.print-detail-advice.scale-adaptive button:hover{background:#245f66}.selection-toolbar-size small{transition:color .15s}.map-canvas-shell.scale-simplified .selection-toolbar-size small{color:#f3c98e}.map-canvas-shell.scale-blocked:not(.visual-adaptive) .selection-toolbar-size small{color:#ff9c82}.map-canvas-shell.visual-adaptive .selection-toolbar-size small{color:#9ee5dc}.map-drag-hint{z-index:6;white-space:nowrap;color:var(--white);letter-spacing:.2px;pointer-events:none;background:#173d38db;padding:9px 12px;font-size:11px;line-height:1.45;position:absolute;bottom:19px;left:50%;transform:translate(-50%);box-shadow:0 6px 20px #11272329}.drag-icon{color:var(--scene-accent);vertical-align:-1px;font-size:12px}.model-ready-badge i{background:var(--scene-accent);width:6px;height:6px;box-shadow:0 0 0 4px var(--scene-accent);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.model-ready-badge i{box-shadow:0 0 0 4px color-mix(in srgb,var(--scene-accent) 18%,transparent)}}.generation-overlay{z-index:20;color:var(--white);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#163530e0;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.generation-overlay>span{color:#ffffffa8;letter-spacing:1.6px;margin-top:16px;font-family:Georgia,serif;font-size:10px}.generation-overlay>strong{letter-spacing:1px;margin-top:9px;font-family:Songti SC,STSong,serif;font-size:22px}.generation-overlay>small{color:#ffffffb8;margin-top:8px;font-size:12px;line-height:1.5}.generation-loader{place-items:center;width:76px;height:76px;display:grid;position:relative}.generation-loader:before{content:"";border:1px solid #ffffff1f;border-radius:50%;animation:generation-breathe 1.8s ease-in-out infinite;position:absolute;inset:4px}.generation-orbit{border:1px solid #ffffff2e;border-radius:50%;width:62px;height:62px;animation:map-spin 3.2s linear infinite;position:relative}.generation-orbit:after,.generation-orbit:before{content:"";border:1px solid #fff3;position:absolute;inset:11px;transform:rotate(45deg)}.generation-orbit:after{background:var(--scene-accent);inset:23px}@supports (color:color-mix(in lab,red,red)){.generation-orbit:after{background:color-mix(in srgb,var(--scene-accent) 82%,white)}}.generation-orbit:after{box-shadow:0 0 18px var(--scene-accent);border:0}@supports (color:color-mix(in lab,red,red)){.generation-orbit:after{box-shadow:0 0 18px color-mix(in srgb,var(--scene-accent) 45%,transparent)}}.generation-orbit i{background:var(--scene-accent);border-radius:50%;width:5px;height:5px;position:absolute}.generation-orbit i:first-child{top:28px;left:4px}.generation-orbit i:nth-child(2){top:7px;right:9px}.generation-orbit i:nth-child(3){bottom:10px;right:6px}.generation-steps{grid-template-columns:repeat(4,minmax(0,1fr));width:min(560px,100% - 44px);margin:24px 0 0;padding:0;list-style:none;display:grid}.generation-steps li{color:#ffffff73;text-align:center;justify-items:center;gap:7px;min-width:0;font-size:10px;line-height:1.3;display:grid;position:relative}.generation-steps li:before{content:"";z-index:-1;background:#ffffff2e;height:1px;position:absolute;top:4px;left:0;right:0}.generation-steps li:first-child:before{left:50%}.generation-steps li:last-child:before{right:50%}.generation-steps li>i{background:#284e48;border:1px solid #ffffff7a;border-radius:50%;width:9px;height:9px}.generation-steps li.is-complete,.generation-steps li.is-current{color:var(--white)}.generation-steps li.is-current>i{background:var(--scene-accent);box-shadow:0 0 0 5px var(--scene-accent)}@supports (color:color-mix(in lab,red,red)){.generation-steps li.is-current>i{box-shadow:0 0 0 5px color-mix(in srgb,var(--scene-accent) 22%,transparent)}}.generation-steps li.is-current>i{animation:data-status-pulse 1.1s ease-in-out infinite}.generation-steps li.is-complete>i{border-color:var(--scene-accent);background:var(--scene-accent)}.generation-meta{text-align:center;flex-wrap:wrap;justify-content:center;gap:7px 16px;width:min(560px,100% - 44px);margin-top:16px;line-height:1.45}.generation-meta,.generation-progress-copy{color:#ffffffb8;font-size:10px;display:flex}.generation-progress-copy{letter-spacing:.35px;justify-content:space-between;align-items:baseline;width:min(440px,100% - 44px);margin-top:17px}.generation-progress-copy strong{color:var(--white);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:14px}.generation-track{background:#ffffff1a;border:1px solid #ffffff2e;border-radius:999px;width:min(440px,100% - 44px);height:8px;margin-top:7px;position:relative;overflow:hidden;box-shadow:inset 0 1px 3px #0000002e}.generation-track>i{width:var(--generation-progress);border-radius:inherit;background:linear-gradient(90deg,var(--scene-accent),var(--scene-accent));height:100%;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.generation-track>i{background:linear-gradient(90deg,color-mix(in srgb,var(--scene-accent) 76%,#c95535),var(--scene-accent))}}.generation-track>i{box-shadow:0 0 14px var(--scene-accent)}@supports (color:color-mix(in lab,red,red)){.generation-track>i{box-shadow:0 0 14px color-mix(in srgb,var(--scene-accent) 30%,transparent)}}.generation-track>i{transition:width .42s cubic-bezier(.22,.78,.28,1)}.generation-track>i:after{content:"";background:linear-gradient(110deg,#0000 20%,#ffffff75 44%,#0000 68%);animation:generation-shimmer 1.55s linear infinite;position:absolute;inset:0}.generation-track b{width:7px;height:7px;box-shadow:0 0 0 4px var(--scene-accent),0 0 12px #ffffffb3;background:#fff8ec;border-radius:50%;position:absolute;top:50%;right:0;transform:translate(25%,-50%)}@supports (color:color-mix(in lab,red,red)){.generation-track b{box-shadow:0 0 0 4px color-mix(in srgb,var(--scene-accent) 25%,transparent),0 0 12px #ffffffb3}}.generation-track b{animation:data-status-pulse 1.1s ease-in-out infinite}.generation-progress-note{color:#ffffff78;text-align:left;width:min(440px,100% - 44px);margin:8px 0 0;font-size:9px;line-height:1.45}.generation-error{z-index:18;max-width:min(390px,100% - 36px);color:var(--white);background:#9f3f27f5;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:13px 14px;font-size:11px;line-height:1.5;display:grid;position:absolute;bottom:18px;right:18px;box-shadow:0 7px 22px #4a1e142e}.generation-error span,.generation-error strong{min-width:0}.generation-error strong{font-size:12px}.generation-error span{color:#ffffffdb;grid-column:1}.generation-error button{min-height:40px;color:var(--white);cursor:pointer;background:0 0;border:1px solid #ffffff85;grid-area:1/2/span 2;align-self:stretch;padding:0 12px;font-size:11px;font-weight:700}.generation-error button:focus-visible,.generation-error button:hover{color:#7d2f21;background:var(--white)}.model-ready-badge,.return-map{z-index:25;background:#fffdf7e0;border:1px solid #173d382b;position:absolute;top:18px;box-shadow:0 7px 20px #173d381a}.return-map{cursor:pointer;min-height:40px;padding:0 13px;font-size:10px;font-weight:700;transition:border-color .15s,color .15s,background .15s;left:18px}.return-map:hover{border-color:var(--scene-accent);color:var(--scene-accent)}.return-map:focus-visible{outline:2px solid var(--scene-accent);outline-offset:2px}.model-ready-badge{align-items:center;gap:7px;min-height:34px;padding:0 11px;font-size:8px;font-weight:700;display:flex;right:18px}.model-provenance{z-index:25;max-width:min(360px,100% - 36px);color:var(--ink-soft);letter-spacing:.15px;background:#fffdf7d1;border:1px solid #173d3821;padding:7px 9px;font-size:8px;position:absolute;top:60px;right:18px}.map-landmark-marker{width:108px;height:46px;color:var(--ink);pointer-events:none;filter:drop-shadow(0 4px 6px #122a2547);transition:opacity .18s,filter .18s;position:relative}.map-landmark-pin{width:15px;height:15px;transform:translateX(-50%) rotate(45deg) scale(var(--marker-scale));transform-origin:bottom;border:2px solid var(--white);background:var(--marker-accent);position:absolute;bottom:0;left:50%;box-shadow:0 0 0 2px #173d3859}.map-landmark-pin:after{content:"";background:var(--white);border-radius:50%;position:absolute;inset:3px}.map-landmark-name{white-space:nowrap;letter-spacing:.1px;background:#fffdf7f0;border:1px solid #173d3838;padding:6px 9px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;bottom:27px;left:50%;transform:translate(-50%)}.map-landmark-marker.is-muted{opacity:.48;filter:grayscale(.8)}.map-landmark-marker.is-muted .map-landmark-name{opacity:.7}.map-canvas .maplibregl-ctrl-group{background:#fffdf7eb;border:1px solid #173d3833;border-radius:0;overflow:hidden;box-shadow:0 5px 17px #173d381f}.map-canvas .maplibregl-ctrl-group button{width:28px;height:28px}.map-canvas .maplibregl-ctrl-attrib{color:var(--ink-soft);background:#fffdf7d6;font-size:10px;line-height:1.35}.map-canvas .maplibregl-ctrl-attrib a{color:var(--ink)}.city-stage{isolation:isolate;background:radial-gradient(circle at 45% 25%,#ffffffeb,#0000 34%),linear-gradient(155deg,#dedbd0,#f1eee7 51%,#d6d0c3);flex:1 1 0;height:auto;min-height:0;position:relative;overflow:hidden}.model-canvas-stage{background:radial-gradient(circle at 50% 27%,#ffffffb3,transparent 34%),linear-gradient(150deg,var(--scene-water),#e6e4df 52%,var(--scene-land))}@supports (color:color-mix(in lab,red,red)){.model-canvas-stage{background:radial-gradient(circle at 50% 27%,#ffffffb3,transparent 34%),linear-gradient(150deg,color-mix(in srgb,var(--scene-water) 20%,#dfe1dc),#e6e4df 52%,color-mix(in srgb,var(--scene-land) 58%,#c8c5bd))}}.model-canvas-shell{overscroll-behavior:none;isolation:isolate;background:radial-gradient(circle at 73% 18%,var(--model-water),transparent 31%),radial-gradient(circle at 19% 83%,var(--model-accent),transparent 30%);position:absolute;inset:0;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.model-canvas-shell{background:radial-gradient(circle at 73% 18%,color-mix(in srgb,var(--model-water) 24%,transparent),transparent 31%),radial-gradient(circle at 19% 83%,color-mix(in srgb,var(--model-accent) 16%,transparent),transparent 30%)}}.model-canvas-grid{opacity:.22;background-image:linear-gradient(var(--model-ink) 1px,transparent 1px),linear-gradient(90deg,var(--model-ink) 1px,transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.model-canvas-grid{background-image:linear-gradient(color-mix(in srgb,var(--model-ink) 18%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--model-ink) 18%,transparent) 1px,transparent 1px)}}.model-canvas-grid{pointer-events:none;background-size:38px 38px;-webkit-mask-image:radial-gradient(#000 15%,#0000 77%);mask-image:radial-gradient(#000 15%,#0000 77%)}.model-canvas{z-index:2;touch-action:none;overscroll-behavior:none;-webkit-user-select:none;user-select:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.model-canvas:active{cursor:grabbing}.model-canvas:focus-visible{outline:2px solid var(--model-accent);outline-offset:-5px}.model-canvas-fallback{z-index:4;width:min(360px,100% - 40px);color:var(--model-ink);border:1px solid var(--model-ink);background:#ffffffe0;padding:14px 18px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab,red,red)){.model-canvas-fallback{border:1px solid color-mix(in srgb,var(--model-ink) 18%,transparent)}}.model-canvas-fallback{text-align:center;font-size:12px;line-height:1.65;box-shadow:0 12px 34px #1428241f}.model-canvas-title{z-index:5;text-align:center;pointer-events:none;gap:3px;display:grid;position:absolute;top:20px;left:50%;transform:translate(-50%)}.model-canvas-title span{color:var(--model-accent);letter-spacing:1.7px;font-family:Georgia,serif;font-size:7px;font-weight:700}.model-canvas-title strong{color:var(--model-ink);letter-spacing:.8px;font-family:Songti SC,STSong,serif;font-size:12px}.model-navigation-controls{z-index:6;gap:5px;width:134px;display:grid;position:absolute;top:68px;left:18px}.model-orbit-controls{border:1px solid var(--model-accent);grid-template-columns:repeat(3,44px);display:grid;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.model-orbit-controls{border:1px solid color-mix(in srgb,var(--model-accent) 35%,transparent)}}.model-orbit-controls{background:var(--model-ink)}@supports (color:color-mix(in lab,red,red)){.model-orbit-controls{background:color-mix(in srgb,var(--model-ink) 84%,transparent)}}.model-orbit-controls{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:0 7px 20px #1127232e}.model-orbit-controls button{color:#ffffffeb;cursor:pointer;background:0 0;border:0;border-right:1px solid #ffffff29;width:44px;height:44px;padding:0;font-family:Georgia,serif;font-size:18px}.model-orbit-controls button:last-child{border-right:0}.model-orbit-controls button:hover{color:var(--model-accent);background:var(--model-accent)}@supports (color:color-mix(in lab,red,red)){.model-orbit-controls button:hover{background:color-mix(in srgb,var(--model-accent) 18%,transparent)}}.model-navigation-direction-toggle:focus-visible,.model-orbit-controls button:focus-visible{outline:2px solid var(--model-accent);outline-offset:-3px}.model-navigation-direction-toggle{border:1px solid var(--model-accent);grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:5px;min-height:36px;padding:0 8px;display:grid}@supports (color:color-mix(in lab,red,red)){.model-navigation-direction-toggle{border:1px solid color-mix(in srgb,var(--model-accent) 35%,transparent)}}.model-navigation-direction-toggle{color:#ffffffe6;background:var(--model-ink)}@supports (color:color-mix(in lab,red,red)){.model-navigation-direction-toggle{background:color-mix(in srgb,var(--model-ink) 84%,transparent)}}.model-navigation-direction-toggle{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;box-shadow:0 7px 20px #11272324}.model-navigation-direction-toggle>span{font-family:Georgia,serif;font-size:17px;line-height:1}.model-navigation-direction-toggle strong{text-align:left;font-size:8px}.model-navigation-direction-toggle small{color:#ffffff9e;white-space:nowrap;font-size:7px}.model-navigation-direction-toggle.is-active,.model-navigation-direction-toggle:hover{color:var(--model-accent);background:var(--model-accent)}@supports (color:color-mix(in lab,red,red)){.model-navigation-direction-toggle.is-active,.model-navigation-direction-toggle:hover{background:color-mix(in srgb,var(--model-accent) 18%,var(--model-ink))}}.model-navigation-direction-toggle.is-active small{color:currentColor}.model-canvas-help{z-index:5;white-space:nowrap;color:#ffffffe6;background:var(--model-ink);padding:7px 10px;position:absolute;bottom:19px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.model-canvas-help{background:color-mix(in srgb,var(--model-ink) 88%,transparent)}}.model-canvas-help{letter-spacing:.35px;pointer-events:none;font-size:8px;box-shadow:0 6px 18px #1428241f}.stage-grid{opacity:.24;background-image:linear-gradient(#173d382e 1px,#0000 0),linear-gradient(90deg,#173d382e 1px,#0000 0);background-size:38px 38px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 82%);mask-image:linear-gradient(#000,#0000 82%)}.city-haze{filter:blur(50px);opacity:.18;border-radius:50%;width:420px;height:420px;position:absolute}.city-haze-one{background:var(--scene-water);top:-150px;right:-170px}.city-haze-two{background:var(--scene-accent);bottom:-250px;left:-200px}.terrain-back{background:var(--scene-ink);opacity:.08;filter:blur(.2px);clip-path:polygon(0 100%,12% 65%,26% 80%,41% 34%,52% 62%,67% 18%,78% 51%,91% 25%,100% 100%);width:380px;height:180px;position:absolute;bottom:27%}.terrain-back-one{left:-8%}.terrain-back-two{opacity:.05;right:-8%;transform:scaleX(-1)}.city-shanghai .terrain-back{display:none}.miniature-shadow{filter:blur(26px);background:#15262138;border-radius:50%;height:30%;position:absolute;bottom:11%;left:17%;right:13%;transform:rotate(-3deg)skew(-25deg)}.miniature-base{transform-style:preserve-3d;position:absolute;inset:20% 12% 19%;transform:rotateX(58deg)rotate(-34deg)}.base-land{background:var(--scene-land);clip-path:polygon(4% 13%,29% 2%,48% 10%,69% 4%,95% 23%,99% 69%,85% 96%,57% 91%,37% 100%,4% 78%,0 39%);border:2px solid #ffffffb8;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 13px #ffffff21,0 0 0 1px #173d382e}.base-edge{z-index:-1;background:var(--scene-ink);position:absolute}@supports (color:color-mix(in lab,red,red)){.base-edge{background:color-mix(in srgb,var(--scene-ink) 62%,var(--scene-land))}}.base-edge-front{height:42px;bottom:-27px;left:2%;right:3%;transform:skew(-23deg)}.base-edge-side{filter:brightness(.72);width:32px;top:8%;bottom:-17px;right:-18px;transform:skewY(-44deg)}.waterway{background:var(--scene-water);opacity:.86;position:absolute;box-shadow:inset 0 0 0 1px #ffffff3d}.waterway-main{border-radius:45% 35% 42% 38%;width:120%;height:23%;top:38%;left:-8%;transform:rotate(5deg)}.waterway-small{opacity:.58;width:13%;height:115%;top:-8%;right:20%;transform:rotate(-12deg)}.city-chongqing .waterway-main{height:20%;transform:rotate(-5deg)}.city-chongqing .waterway-small{opacity:.82;width:17%;right:34%;transform:rotate(27deg)}.city-hangzhou .waterway-main{border-radius:52%;width:43%;height:57%;top:26%;left:-1%;transform:rotate(-12deg)}.city-hangzhou .waterway-small{width:26%;right:-7%;transform:rotate(-2deg)}.road{transform-origin:50%;background:#ffffff7a;height:2px;position:absolute}.road-one{top:24%;left:8%;right:6%;transform:rotate(12deg)}.road-two{bottom:20%;left:10%;right:12%;transform:rotate(-9deg)}.road-three{width:90%;top:48%;left:9%;transform:rotate(72deg)}.road-four{width:72%;top:53%;left:18%;transform:rotate(42deg)}.city-models{pointer-events:none;position:absolute;inset:0}.background-building{opacity:var(--background-opacity);transform-origin:bottom;background:var(--scene-ink);display:block;position:absolute;transform:skewY(-7deg)}@supports (color:color-mix(in lab,red,red)){.background-building{background:color-mix(in srgb,var(--scene-ink) 68%,white)}}.background-building{border:1px solid #ffffff80;transition:opacity .4s,filter .4s;box-shadow:inset -8px 0 #0000001f,8px 10px 14px #15262126}.background-building:before{content:"";background:var(--scene-ink);height:14px;position:absolute;top:-13px;left:-1px;right:-1px}@supports (color:color-mix(in lab,red,red)){.background-building:before{background:color-mix(in srgb,var(--scene-ink) 25%,white)}}.background-building:before{clip-path:polygon(18% 0,100% 0,82% 100%,0 100%)}.background-building i{opacity:.3;background:repeating-linear-gradient(#fffc 0 2px,#0000 2px 10px);position:absolute;inset:10px 8px}.building-2{filter:brightness(1.2)}.building-3{filter:saturate(.55)}.building-4{border-radius:8px 8px 0 0}.style-narrative .background-building{filter:saturate(.15)}.landmark{z-index:8;pointer-events:auto;width:90px;height:150px;margin-left:-45px;transition:opacity .35s,filter .35s;position:absolute}.landmark.is-selected{z-index:12}.landmark.is-muted{opacity:.2;filter:grayscale();z-index:6}.landmark-model{width:74px;height:130px;transform:translateX(-50%) scale(var(--landmark-scale));transform-origin:50% 100%;filter:drop-shadow(8px 11px 8px #1526212e);transition:transform .48s cubic-bezier(.2,.75,.25,1);position:absolute;bottom:0;left:50%}.landmark-shadow{filter:blur(6px);background:#122b2640;border-radius:50%;width:86px;height:18px;position:absolute;bottom:-6px;left:9px;transform:skew(-30deg)}.landmark-label{z-index:20;white-space:nowrap;letter-spacing:.5px;color:var(--scene-ink);opacity:0;background:#fffdf7de;border:1px solid #173d3830;padding:4px 7px;font-size:8px;font-weight:700;transition:all .18s;position:absolute;bottom:-37px;left:50%;transform:translate(-50%)}.landmark.is-selected:hover .landmark-label{opacity:1;bottom:-30px}.shape{background:var(--scene-accent);display:block;position:absolute}.landmark-pearl .shape-a{background:var(--scene-ink);width:7px;height:112px;bottom:0;left:34px}.landmark-pearl .shape-b,.landmark-pearl .shape-c{background:var(--scene-accent);border:3px solid var(--scene-accent);border-radius:50%;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab,red,red)){.landmark-pearl .shape-b,.landmark-pearl .shape-c{border:3px solid color-mix(in srgb,var(--scene-accent) 66%,white)}}.landmark-pearl .shape-b{width:42px;height:42px;bottom:24px}.landmark-pearl .shape-c{width:25px;height:25px;bottom:82px}.landmark-pearl .shape-d{background:var(--scene-ink);width:4px;height:25px;bottom:105px;left:35px}.landmark-pearl .shape-e{background:var(--scene-ink);width:38px;height:8px;bottom:0;left:18px}.landmark-shanghai-tower .shape-a{background:linear-gradient(90deg,var(--scene-ink),var(--scene-ink));width:42px;height:123px;bottom:0;left:20px}@supports (color:color-mix(in lab,red,red)){.landmark-shanghai-tower .shape-a{background:linear-gradient(90deg,color-mix(in srgb,var(--scene-ink) 75%,white),var(--scene-ink))}}.landmark-shanghai-tower .shape-a{clip-path:polygon(14% 10%,72% 0,94% 100%,0 100%);border-radius:45% 30% 3px 3px}.landmark-shanghai-tower .shape-b{opacity:.42;background:repeating-linear-gradient(#fff 0 2px,#0000 2px 10px);width:23px;height:98px;bottom:8px;left:28px;transform:rotate(-4deg)}.landmark-bund{width:138px;margin-left:-69px}.landmark-bund .landmark-model{width:130px}.landmark-bund .shape-a,.landmark-bund .shape-b,.landmark-bund .shape-c,.landmark-bund .shape-d{background:var(--scene-accent);border-bottom:7px solid var(--scene-ink);bottom:0;box-shadow:inset -7px 0 #0000001f}.landmark-bund .shape-a{width:29px;height:47px;left:4px}.landmark-bund .shape-b{width:33px;height:65px;left:35px}.landmark-bund .shape-c{width:27px;height:53px;left:70px}.landmark-bund .shape-d{width:27px;height:42px;left:99px}.landmark-bund .shape-b:before{content:"";border-left:8px solid #0000;border-right:8px solid #0000;border-bottom:22px solid var(--scene-ink);position:absolute;top:-21px;left:9px}.landmark-raffles{width:125px;margin-left:-62px}.landmark-raffles .landmark-model{width:118px}.landmark-raffles .shape-a,.landmark-raffles .shape-b,.landmark-raffles .shape-c,.landmark-raffles .shape-d{background:var(--scene-ink);clip-path:polygon(30% 0,100% 4%,78% 100%,0 100%);width:21px;height:104px;bottom:0}.landmark-raffles .shape-a{left:8px}.landmark-raffles .shape-b{height:118px;left:35px}.landmark-raffles .shape-c{height:112px;left:63px}.landmark-raffles .shape-d{height:96px;left:91px}.landmark-raffles .shape-e{background:var(--scene-accent);border-radius:12px 22px 8px 12px;width:83px;height:17px;top:24px;left:23px;box-shadow:inset 0 -5px #0000001f}.landmark-monument .shape-a{border:3px solid var(--scene-ink);background:#e7d9ba;width:24px;height:82px;bottom:0;left:28px}.landmark-monument .shape-b{background:var(--scene-ink);width:34px;height:18px;bottom:79px;left:23px}.landmark-monument .shape-c{background:var(--scene-accent);clip-path:polygon(50% 0,100% 100%,0 100%);width:14px;height:22px;bottom:97px;left:33px}.landmark-monument .shape-d{background:var(--scene-ink);width:44px;height:10px;bottom:0;left:18px}.landmark-bridge{width:180px;height:110px;margin-left:-90px}.landmark-bridge .landmark-model{width:170px;height:90px}.landmark-bridge .shape-a{background:var(--scene-accent);width:164px;height:8px;bottom:17px;left:3px;transform:rotate(-4deg)}.landmark-bridge .shape-b,.landmark-bridge .shape-c{background:var(--scene-ink);width:7px;height:65px;bottom:18px}.landmark-bridge .shape-b{left:41px}.landmark-bridge .shape-c{right:41px}.landmark-bridge .shape-d{border-top:1px solid var(--scene-accent);width:83px;height:42px;box-shadow:0 -7px 0 -6px var(--scene-accent),0 -14px 0 -13px var(--scene-accent);background:0 0;border-radius:50%;bottom:37px;left:42px;transform:rotate(-3deg)}.landmark-chenghuang .landmark-model,.landmark-leifeng .landmark-model{width:84px}.landmark-chenghuang .shape-a,.landmark-leifeng .shape-a{clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:#b7663d;width:31px;height:82px;bottom:0;left:27px}.landmark-chenghuang .shape-b,.landmark-chenghuang .shape-c,.landmark-chenghuang .shape-d,.landmark-leifeng .shape-b,.landmark-leifeng .shape-c,.landmark-leifeng .shape-d{background:var(--scene-ink);clip-path:polygon(8% 0,92% 0,100% 35%,64% 55%,64% 100%,36% 100%,36% 55%,0 35%);width:59px;height:9px;left:13px}.landmark-chenghuang .shape-b,.landmark-leifeng .shape-b{bottom:23px}.landmark-chenghuang .shape-c,.landmark-leifeng .shape-c{bottom:48px}.landmark-chenghuang .shape-d,.landmark-leifeng .shape-d{bottom:74px}.landmark-chenghuang .shape-e,.landmark-leifeng .shape-e{background:var(--scene-accent);clip-path:polygon(50% 0,100% 100%,0 100%);width:9px;height:24px;bottom:82px;left:37px}.landmark-chenghuang .landmark-model{transform:translateX(-50%) scale(calc(var(--landmark-scale) * 1.08))}.landmark-chenghuang .shape-a{background:#b85d38;width:37px;height:72px;left:24px}.landmark-chenghuang .shape-b{width:68px;bottom:18px;left:8px}.landmark-chenghuang .shape-c{width:62px;bottom:41px;left:11px}.landmark-chenghuang .shape-d{width:54px;bottom:65px;left:15px}.landmark-hangzhou-gate .shape-a,.landmark-hangzhou-gate .shape-b{background:var(--scene-ink);width:26px;height:117px;bottom:0}.landmark-hangzhou-gate .shape-a{clip-path:polygon(0 0,75% 7%,100% 100%,0 100%);left:10px}.landmark-hangzhou-gate .shape-b{clip-path:polygon(25% 7%,100% 0,100% 100%,0 100%);right:10px}.landmark-hangzhou-gate .shape-c{background:var(--scene-accent);width:20px;height:10px;bottom:71px;left:31px}.stage-caption{gap:3px;display:grid;position:absolute;bottom:19px;left:25px}.stage-caption span{color:var(--ink-soft);letter-spacing:1px;font-family:Courier New,monospace;font-size:9px}.stage-caption strong{letter-spacing:1.2px;font-family:Georgia,serif;font-size:11px}.orientation{flex-direction:column;align-items:center;gap:3px;font-family:Georgia,serif;font-size:9px;font-weight:700;display:flex;position:absolute;bottom:22px;right:23px}.orientation i{background:currentColor;width:1px;height:24px;display:block;position:relative}.orientation i:before{content:"";border-top:1px solid;border-left:1px solid;width:7px;height:7px;position:absolute;top:-2px;left:-3px;transform:rotate(45deg)}.model-north-indicator{color:var(--model-ink);pointer-events:none;will-change:transform}.print-settings-dock{z-index:20;background:#f8f4eb;border-top:1px solid #173d382e;flex:none;position:relative}.print-settings-toggle{display:none}.print-settings-panel{grid-template-columns:106px minmax(560px,1fr) minmax(220px,.8fr);align-items:stretch;min-height:76px;display:grid}.print-settings-copy{border-right:1px solid var(--line);align-items:center;gap:9px;padding:11px 12px 11px 18px;display:flex}.print-settings-copy>span{color:var(--vermilion);font-family:Georgia,serif;font-size:10px;font-weight:700}.print-settings-copy>div{gap:3px;min-width:0;display:grid}.print-settings-copy strong{white-space:nowrap;font-size:10px}.print-settings-copy small{color:var(--ink-soft);white-space:nowrap;font-size:7px}.print-settings-fields{border:0;grid-template-columns:minmax(210px,1.55fr) minmax(150px,1.1fr) minmax(104px,.72fr) minmax(104px,.72fr);align-items:end;gap:8px;min-width:0;margin:0;padding:9px 12px;display:grid}.print-settings-fields legend{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.print-settings-fields label{min-width:0;color:var(--ink-soft);letter-spacing:.2px;gap:4px;font-size:7px;font-weight:700;display:grid}.print-settings-fields select{appearance:none;border:1px solid var(--line);width:100%;min-width:0;height:38px;color:var(--ink);background-color:var(--white);background-image:linear-gradient(45deg,transparent 50%,var(--ink-soft) 50%),linear-gradient(135deg,var(--ink-soft) 50%,transparent 50%);cursor:pointer;background-position:calc(100% - 12px) 16px,calc(100% - 8px) 16px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-radius:0;padding:0 26px 0 9px;font-size:9px;font-weight:700}.print-settings-fields select:hover{border-color:#173d3873}.print-settings-compatibility{border-left:1px solid var(--line);background:#fffdf785;align-items:center;gap:8px;min-width:0;padding:11px 16px 11px 12px;display:flex}.print-settings-compatibility>i{background:#4e9674;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #4e96741f}.print-settings-compatibility.scale-simplified>i{background:#c98b39;box-shadow:0 0 0 4px #c98b3921}.print-settings-compatibility.scale-blocked>i{background:#b94831;box-shadow:0 0 0 4px #b9483121}.print-settings-compatibility.scale-adaptive>i{background:#2f7e86;box-shadow:0 0 0 4px #2f7e8621}.print-settings-compatibility>span{gap:4px;min-width:0;display:grid}.print-settings-compatibility small,.print-settings-compatibility strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.print-settings-compatibility strong{font-size:8px}.print-settings-compatibility small{color:var(--ink-soft);font-size:7px}.order-bar{min-height:98px;padding-bottom:env(safe-area-inset-bottom);background:var(--white);border-top:1px solid #173d382e;flex:none;grid-template-columns:minmax(320px,1fr) minmax(220px,32%);align-items:stretch;display:grid}.output-format{border:1px solid var(--line);min-width:0;box-shadow:inset 0 -2px var(--vermilion);background:#f8f4eb;align-items:center;gap:10px;margin:10px 12px;padding:8px 10px;display:flex}.output-format>span:last-child{gap:3px;min-width:0;display:grid}.output-format strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.output-format small{color:var(--ink-soft);font-size:8px}.output-symbol{flex:none;place-items:center;width:27px;height:27px;display:grid}.file-symbol{border:1px solid var(--ink);font-family:Georgia,serif;font-size:8px;font-weight:700}.primary-cta{background:var(--ink);min-width:0;color:var(--white);cursor:pointer;border:0;padding:0 22px;font-size:12px;font-weight:700;transition:background .18s,color .18s}.primary-cta:hover{background:var(--vermilion)}.primary-cta span{margin-left:10px}.primary-cta:disabled{opacity:.62;cursor:not-allowed}.icp-records{min-height:24px;letter-spacing:.2px;flex-wrap:nowrap;justify-content:center;gap:8px;font-size:9px;line-height:1}.icp-records,.icp-records-label{color:var(--ink-soft);align-items:center;display:inline-flex}.icp-records-label{letter-spacing:.8px;white-space:nowrap;gap:6px;font-size:8px;font-weight:700}.icp-records-label:before{content:"";background:var(--vermilion);border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 3px #df633e1a}.icp-records a{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;transition:color .16s;display:inline-flex}.icp-records a:before{content:"";background:var(--line);width:1px;height:10px;margin-right:2px}.icp-records a:focus-visible,.icp-records a:hover{color:var(--vermilion)}.icp-records strong{color:currentColor;font-weight:600}.icp-records-external{color:var(--vermilion);font-family:Georgia,serif;font-size:10px}.order-bar-icp{min-height:28px;padding:2px 12px calc(2px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f8f4eb;grid-column:1/-1;justify-content:center}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0d201db3;place-items:center;padding:20px;animation:fade-in .2s;display:grid;position:fixed;inset:0}.intent-modal{background:var(--paper);border:1px solid var(--white);width:min(560px,100%);max-height:calc(100vh - 40px);padding:42px 44px 38px;animation:rise-in .28s;position:relative;overflow-y:auto;box-shadow:0 35px 100px #00000054}.modal-close{cursor:pointer;background:0 0;border:0;font-family:Georgia,serif;font-size:27px;position:absolute;top:13px;right:17px}.intent-modal h2{margin:13px 0 10px;font-size:35px;line-height:1.2}.modal-intro{margin-bottom:20px;line-height:1.8}.map-declaration-intro,.modal-intro{color:var(--ink-soft);font-size:12px}.map-declaration-intro{max-width:680px;margin:0 0 25px;line-height:1.85}.map-declaration-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;display:grid}.map-declaration-grid article{border-top:1px solid var(--line);padding:17px 0 19px}.map-declaration-grid h3{letter-spacing:.25px;align-items:center;gap:8px;margin:0 0 9px;font-size:13px;display:flex}.map-declaration-grid h3 span{color:var(--vermilion);font-family:Georgia,serif;font-size:10px}.map-declaration-grid p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.72}.map-source-links{flex-wrap:wrap;gap:7px;padding:18px 0;display:flex}.map-source-links a{border:1px solid var(--line);background:var(--white);color:var(--ink-soft);padding:8px 10px;font-size:10px;font-weight:700;line-height:1.25;transition:all .16s}.map-source-links a:hover{border-color:var(--vermilion);color:var(--vermilion)}.about-backdrop{z-index:120;justify-content:flex-end;align-items:stretch;padding:0;display:flex}.about-dialog{width:min(560px,100%);height:100dvh;padding:42px 38px calc(26px + env(safe-area-inset-bottom));border-left:1px solid var(--white);background:var(--paper);overscroll-behavior:contain;scroll-behavior:smooth;animation:release-slide-in .26s;position:relative;overflow-y:auto;box-shadow:-30px 0 90px #00000052}.about-header{border-bottom:1px solid var(--ink);padding-bottom:23px}.about-header h2{margin:13px 0 8px;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:34px;font-weight:600;line-height:1.15}.about-header>p{color:var(--ink-soft);margin:0;font-size:11px;line-height:1.75}.about-directory{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.about-directory a,.about-directory button{border:1px solid var(--line);background:var(--white);min-height:38px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;justify-content:space-between;align-items:center;padding:8px 10px;font-size:9px;font-weight:700;display:flex}.about-directory a:after,.about-directory button:after{content:"↓";color:var(--vermilion);font-family:Georgia,serif}.about-directory .about-directory-external:after{content:"↗"}.about-directory a:hover,.about-directory button:hover{border-color:var(--vermilion);color:var(--vermilion)}.about-section{padding:28px 0 4px;scroll-margin-top:16px}.about-section+.about-section{border-top:1px solid var(--ink);margin-top:28px}.about-section-title{grid-template-columns:24px minmax(0,1fr);gap:8px;margin-bottom:16px;display:grid}.about-section-title>span{color:var(--vermilion);padding-top:2px;font-family:Georgia,serif;font-size:10px;font-weight:700}.about-section-title h3{margin:0 0 5px;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:20px;font-weight:600}.about-section-title p{color:var(--ink-soft);margin:0;font-size:9px;line-height:1.6}.about-updates .current-release-card{margin-top:0}.about-data-notice .map-declaration-intro{margin-bottom:17px}.about-data-notice .map-declaration-grid{grid-template-columns:1fr}.about-footer{border-top:1px solid var(--ink);color:var(--ink-soft);letter-spacing:.5px;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:14px;margin-top:28px;padding-top:13px;font-family:Courier New,monospace;font-size:8px;display:flex}.about-footer>div{gap:4px;display:grid}.about-footer strong{color:var(--ink)}.about-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:5px 9px;display:flex}.about-footer a,.about-footer button{color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.about-footer a:hover,.about-footer button:hover{color:var(--vermilion)}.about-footer .about-footer-icp{border-top:1px solid var(--line);justify-content:center;width:100%;padding-top:10px}.current-release-card{border:1px solid var(--ink);background:var(--white);margin-top:20px;padding:20px;box-shadow:8px 8px #173d3814}.release-meta{color:var(--ink-soft);letter-spacing:.6px;justify-content:space-between;align-items:center;gap:12px;font-family:Courier New,monospace;font-size:8px;display:flex}.release-meta span{background:var(--vermilion);color:var(--white);padding:4px 6px;font-family:inherit}.current-release-card>h3{align-items:baseline;gap:9px;margin:14px 0 0;font-size:16px;display:flex}.current-release-card>h3 strong{color:var(--vermilion);font-family:Georgia,Times New Roman,serif;font-size:13px}.release-details>p{color:var(--ink-soft);margin:10px 0 16px;font-size:10px;line-height:1.7}.release-sections{gap:13px;display:grid}.release-sections section{grid-template-columns:44px minmax(0,1fr);gap:10px;display:grid}.release-sections h4{color:var(--vermilion);letter-spacing:.8px;margin:1px 0 0;font-size:9px}.release-sections ul{margin:0;padding:0;list-style:none}.release-sections li{color:var(--ink);margin:0 0 6px;padding-left:10px;font-size:10px;line-height:1.65;position:relative}.release-sections li:before{content:"";background:var(--ink-soft);width:4px;height:1px;position:absolute;top:.68em;left:0}.release-limitations{border-left:2px solid var(--gold);color:#725848;background:#f5eee1;gap:5px;margin-top:15px;padding:10px 11px;font-size:9px;line-height:1.55;display:grid}.release-limitations strong{letter-spacing:.6px;font-size:8px}.release-history{margin-top:28px}.release-history>h3{letter-spacing:1px;margin:0 0 10px;font-size:10px}.release-history details{border-top:1px solid var(--line)}.release-history details:last-child{border-bottom:1px solid var(--line)}.release-history summary{cursor:pointer;justify-content:space-between;align-items:center;gap:14px;min-height:52px;list-style:none;display:flex}.release-history summary::-webkit-details-marker{display:none}.release-history summary:after{content:"+";color:var(--vermilion);flex:none;font-family:Georgia,serif;font-size:17px}.release-history details[open] summary:after{content:"−"}.release-history summary span{align-items:baseline;gap:8px;min-width:0;font-size:11px;font-weight:700;display:flex}.release-history summary strong{color:var(--vermilion);font-family:Georgia,Times New Roman,serif;font-size:9px}.release-history summary time{color:var(--ink-soft);margin-left:auto;font-family:Courier New,monospace;font-size:8px}.release-history details>.release-details{padding:0 3px 18px}.release-toast{z-index:98;right:18px;bottom:calc(170px + env(safe-area-inset-bottom));border:1px solid var(--ink);background:var(--white);align-items:center;gap:12px;max-width:calc(100vw - 36px);min-height:52px;padding:9px 10px 9px 13px;animation:release-toast-in .24s;display:flex;position:fixed;box-shadow:0 15px 40px #0d201d33}.release-toast>span{gap:3px;display:grid}.release-toast small{color:var(--vermilion);letter-spacing:1px;font-family:Courier New,monospace;font-size:7px}.release-toast strong{white-space:nowrap;font-size:10px}.release-toast>button:not(.release-toast-close){background:var(--ink);min-height:30px;color:var(--white);cursor:pointer;border:0;padding:0 9px;font-size:8px;font-weight:700}.release-toast-close{width:25px;height:30px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;font-family:Georgia,serif;font-size:18px}.modal-config{background:var(--ink);color:#fff;grid-template-columns:1fr auto;gap:5px 10px;margin-bottom:20px;padding:15px 17px;display:grid}.modal-config span{font-size:10px}.modal-config strong{font-family:Georgia,serif;font-size:11px}.modal-config small{opacity:.65;grid-column:1/-1;font-size:8px}.modal-config .model-delivery-note{border-top:1px solid #ffffff29;margin-top:5px;padding-top:7px;line-height:1.55}.intent-modal form{gap:13px;display:grid}.intent-modal label{gap:6px;font-size:10px;font-weight:700;display:grid}.intent-modal input,.intent-modal select,.intent-modal textarea{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);resize:vertical;border-radius:0;outline:none;padding:11px 12px}.intent-modal input:focus,.intent-modal select:focus,.intent-modal textarea:focus{border-color:var(--vermilion);box-shadow:0 0 0 2px #df633e1a}.contact-backdrop{z-index:140}.contact-dialog{width:min(620px,100%)}.feedback-form textarea{min-height:150px;line-height:1.65}.feedback-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.feedback-honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}.feedback-error{border-left:2px solid var(--vermilion);color:#8e3826;background:#df633e14;margin:0;padding:10px 12px;font-size:9px;line-height:1.6}.feedback-error a{color:inherit;text-decoration:underline}.download-file-name-field{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;display:grid}.download-file-name-field input{min-width:0}.download-file-name-field>span{min-width:54px;color:var(--ink-soft);background:#f1ecdf;border:1px solid var(--line);border-left:0;place-items:center;padding:0 10px;font-family:Courier New,monospace;font-size:10px;display:grid}.download-file-name-preview{color:var(--ink-soft);overflow-wrap:anywhere;margin-top:-7px;font-size:8px;line-height:1.5}.intent-modal .download-attribution-confirmation{border:1px solid var(--line);cursor:pointer;background:#fffdf78c;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:12px}.intent-modal .download-attribution-confirmation input{width:17px;height:17px;accent-color:var(--vermilion);margin:1px 0 0;padding:0}.download-attribution-confirmation>span{gap:4px;display:grid}.download-attribution-confirmation strong{font-size:10px}.download-attribution-confirmation small{color:var(--ink-soft);font-size:9px;font-weight:400;line-height:1.6}.download-attribution-confirmation a{color:inherit;text-underline-offset:2px;text-decoration:underline}.modal-submit{min-height:50px;margin-top:4px}.form-note{text-align:center;color:var(--ink-soft);font-size:8px}.success-state{text-align:center;padding:12px 0 3px}.success-mark{border:1px solid var(--vermilion);width:56px;height:56px;color:var(--vermilion);border-radius:50%;place-items:center;margin:0 auto 23px;font-size:24px;display:grid}.success-state p{color:var(--ink-soft);font-size:12px;line-height:1.8}.success-code{background:var(--white);border:1px solid var(--line);gap:5px;margin:25px 0 12px;padding:17px;display:grid}.success-code span{color:var(--ink-soft);font-size:8px}.success-code strong{letter-spacing:2px;font-family:Georgia,serif}.download-cta{justify-content:center;align-items:center;width:100%;min-height:50px;margin-bottom:10px;display:flex}.secondary-cta{border:1px solid var(--ink);cursor:pointer;background:0 0;min-height:46px;padding:0 25px;font-size:11px;font-weight:700}.secondary-cta:hover{background:var(--ink);color:#fff}.success-state .delivery-provenance{color:#725848;text-align:left;background:#f4eee2;border:1px solid #72584829;margin:9px auto 0;padding:9px 11px;font-size:9px;line-height:1.6}.legal-page{overscroll-behavior:contain;background:linear-gradient(135deg,#f8f4eb 0,var(--paper) 58%,#e8e1d4 100%);position:fixed;inset:0;overflow-y:auto}.legal-shell{width:min(1080px,100% - 40px);min-height:100%;margin:0 auto;padding:24px 0 30px}.legal-topbar{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding-bottom:18px;display:flex}.legal-topbar-actions{align-items:center;gap:8px;display:flex}.legal-brand{align-items:center;gap:11px;display:inline-flex}.legal-brand .brand-mark{transform-origin:0;transform:scale(.78)skewY(-6deg)}.legal-brand>span:last-child{gap:3px;display:grid}.legal-brand strong{font-family:Georgia,Times New Roman,serif;font-size:21px;line-height:1}.legal-brand small{color:var(--ink-soft);letter-spacing:.7px;font-size:8px}.legal-back{border:1px solid var(--line);background:var(--white);align-items:center;gap:7px;min-height:40px;padding:0 13px;font-size:10px;font-weight:700;display:inline-flex}.legal-back:hover{border-color:var(--vermilion);color:var(--vermilion)}.legal-navigation{z-index:3;border:1px solid var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f2eee5f0;grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0;display:grid;position:sticky;top:0}.legal-navigation a{border-right:1px solid var(--line);place-items:center;min-height:44px;font-size:10px;font-weight:700;display:grid}.legal-navigation a:last-child{border-right:0}.legal-navigation a:hover{background:var(--white);color:var(--vermilion)}.legal-navigation a[aria-current=page]{background:var(--ink);color:var(--white)}.legal-document{border:1px solid var(--ink);background:#fffdf7e6;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);display:grid;box-shadow:12px 12px #173d3814}.legal-document-header{align-self:start;padding:37px 32px;position:sticky;top:81px}.legal-document-header h1{letter-spacing:-1.2px;margin:17px 0 14px;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:clamp(35px,4vw,55px);font-weight:600;line-height:1.05}.legal-document-header>p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.85}.legal-meta{border-top:1px solid var(--line);gap:0;margin:28px 0 0;display:grid}.legal-meta div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.legal-meta dd,.legal-meta dt{letter-spacing:.5px;margin:0;font-family:Courier New,monospace;font-size:8px}.legal-meta dt{color:var(--ink-soft)}.legal-meta dd{color:var(--vermilion);font-weight:700}.legal-body{border-left:1px solid var(--ink);min-width:0;padding:12px 38px 38px}.legal-section{border-bottom:1px solid var(--line);padding:27px 0 29px}.legal-section:last-child{border-bottom:0}.legal-section h2{align-items:baseline;gap:11px;margin:0 0 14px;font-family:Songti SC,STSong,SimSun,Georgia,serif;font-size:21px;font-weight:600;display:flex}.legal-section h2 span{color:var(--vermilion);font-family:Georgia,serif;font-size:10px}.legal-section li,.legal-section p{color:#405e59;font-size:12px;line-height:1.9}.legal-section p{margin:0 0 12px}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:0;padding-left:19px}.legal-section li+li{margin-top:7px}.legal-section a{color:var(--vermilion);text-underline-offset:3px;text-decoration:underline}.legal-section strong{color:var(--ink)}.legal-callout{border-left:3px solid var(--vermilion);background:#f3eadc;margin:16px 0;padding:16px 18px}.legal-callout>strong{margin-bottom:5px;font-size:12px;display:block}.legal-callout p{margin:0;font-size:11px}.legal-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.legal-link-grid a{border:1px solid var(--line);background:var(--white);align-content:center;gap:4px;min-height:58px;padding:10px 12px;text-decoration:none;display:grid}.legal-link-grid a:hover{border-color:var(--vermilion)}.legal-link-grid strong{font-size:11px}.legal-link-grid span{color:var(--ink-soft);font-size:8px}.legal-table-wrap{border:1px solid var(--line);width:100%;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;min-width:620px}.legal-table td,.legal-table th{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;color:#405e59;padding:13px 14px;font-size:10px;line-height:1.75}.legal-table tr:last-child td,.legal-table tr:last-child th{border-bottom:0}.legal-table td:last-child,.legal-table th:last-child{border-right:0}.legal-table thead th{background:var(--ink);color:var(--white);letter-spacing:.35px;font-size:9px}.legal-table tbody th{width:118px;color:var(--ink);background:#f3eadc}.legal-attribution{border:1px solid var(--ink);background:var(--white);color:var(--ink);margin:18px 0;padding:16px 18px;font-family:Courier New,monospace;font-size:11px;line-height:1.8}.legal-footer{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;padding:25px 0 4px;font-family:Courier New,monospace;font-size:8px;display:flex}.legal-footer nav{flex-wrap:wrap;justify-content:flex-end;gap:8px 14px;display:flex}.legal-footer a{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.legal-footer a:hover{color:var(--vermilion)}.legal-footer .legal-footer-icp{border-top:1px solid var(--line);justify-content:center;width:100%;padding-top:10px}@keyframes fade-in{0%{opacity:0}}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}@keyframes release-slide-in{0%{opacity:.65;transform:translate(34px)}}@keyframes release-toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes map-spin{to{transform:rotate(1turn)}}@keyframes generation-breathe{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:.9;transform:scale(1.08)}}@keyframes generation-shimmer{0%{transform:translate(-120%)}to{transform:translate(160%)}}@keyframes data-status-pulse{50%{opacity:.45;transform:scale(.76)}}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--vermilion);outline-offset:3px}@media (max-width:1120px){.studio{grid-template-columns:326px minmax(0,1fr)}.control-panel{padding-left:17px;padding-right:17px}.print-settings-panel{grid-template-columns:94px minmax(350px,1fr)}.print-settings-fields{grid-template-columns:repeat(2,minmax(150px,1fr))}.print-settings-compatibility{background:0 0;border-left:0;grid-column:2;min-height:30px;margin-top:-7px;padding:0 12px 7px}.print-settings-compatibility strong{display:none}.order-bar{grid-template-columns:minmax(280px,1fr) minmax(190px,34%)}}@media (max-width:860px){.legal-document{grid-template-columns:1fr}.legal-document-header{border-bottom:1px solid var(--ink);padding:32px 30px 28px;position:static}.legal-body{border-left:0;padding:6px 30px 30px}.studio{grid-template-columns:1fr}.preview-panel{width:100%;height:100dvh}.control-panel{z-index:72;width:min(380px,100vw - 44px);height:100dvh;padding:18px 20px calc(28px + env(safe-area-inset-bottom));border-right:1px solid var(--ink);visibility:hidden;transition:transform .22s,visibility 0s linear .22s;position:fixed;inset:0 auto 0 0;transform:translate(-102%);box-shadow:18px 0 48px #0e272238}.controls-open .control-panel{visibility:visible;transition-delay:0s;transform:translate(0)}.panel-heading{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f8f4ebf5;margin:-18px -20px 0;padding:15px 20px;position:sticky;top:-18px}.controls-close-button{border:1px solid var(--line);background:var(--white);cursor:pointer;place-items:center;width:40px;height:40px;font-family:Georgia,serif;font-size:23px;transition:border-color .15s,color .15s,background .15s;display:grid}.controls-close-button:hover{border-color:var(--vermilion);color:var(--white);background:var(--vermilion)}.controls-close-button:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}.controls-open-button{border:1px solid var(--line);background:var(--white);cursor:pointer;flex:none;align-items:center;gap:6px;min-height:40px;padding:0 11px;font-size:10px;font-weight:700;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.controls-open-button:hover{border-color:var(--ink);color:var(--white);background:var(--ink)}.controls-open-button:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}.controls-open-button span{color:var(--vermilion);font-size:13px}.panel-backdrop{z-index:70;opacity:0;visibility:hidden;pointer-events:none;background:#0a1f1b7a;border:0;width:100%;height:100%;transition:opacity .18s,visibility 0s linear .18s;display:block;position:fixed;inset:0}.controls-open .panel-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.preview-toolbar{gap:10px;height:64px;padding:9px 12px}.preview-toolbar h2{font-size:16px}.preview-toolbar-actions{margin-left:auto}.preview-surface-toggle button{padding:0 8px}.print-settings-dock{min-height:48px}.print-settings-toggle{text-align:left;cursor:pointer;background:#f8f4eb;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 14px;display:grid}.print-settings-toggle>span{gap:2px;display:grid}.print-settings-toggle small{color:var(--vermilion);letter-spacing:.8px;font-family:Courier New,monospace;font-size:6px}.print-settings-toggle strong{font-size:9px}.print-settings-toggle b{min-width:0;color:var(--ink-soft);overflow-wrap:anywhere;white-space:normal;font-size:8px;font-weight:600;line-height:1.35}.print-settings-toggle i{color:var(--vermilion);font-family:Georgia,serif;font-size:18px;font-style:normal}.print-settings-panel{display:none}.print-settings-dock.is-open .print-settings-panel{overscroll-behavior:contain;border:1px solid var(--ink);background:var(--paper);grid-template-columns:1fr;max-height:min(440px,100dvh - 164px);padding:14px;display:grid;position:absolute;bottom:calc(100% + 8px);left:10px;right:10px;overflow-y:auto;box-shadow:0 -18px 48px #0d201d3d}.print-settings-copy{border-right:0;border-bottom:1px solid var(--line);padding:0 0 11px}.print-settings-fields{grid-template-columns:repeat(2,minmax(140px,1fr));padding:12px 0}.print-settings-compatibility{border:1px solid var(--line);background:var(--white);grid-column:auto;min-height:36px;margin:0;padding:9px 10px}.print-settings-compatibility strong{display:block}.release-toast{bottom:calc(142px + env(safe-area-inset-bottom))}}@media (max-width:560px){.legal-shell{width:min(100% - 24px,1080px);padding-top:12px}.legal-topbar{min-height:54px;padding-bottom:11px}.legal-brand .brand-mark{margin-right:-4px;transform:scale(.66)skewY(-6deg)}.legal-brand strong{font-size:18px}.legal-back{min-height:40px;padding:0 10px;font-size:9px}.legal-navigation{margin:12px 0}.legal-navigation a{min-height:44px;font-size:9px}.legal-document{box-shadow:7px 7px #173d3814}.legal-document-header{padding:28px 20px 23px}.legal-document-header h1{font-size:39px}.legal-body{padding:3px 20px 24px}.legal-section{padding:23px 0 25px}.legal-section h2{font-size:19px}.legal-section li,.legal-section p{font-size:12px;line-height:1.85}.legal-link-grid{grid-template-columns:1fr}.legal-footer{flex-direction:column;align-items:flex-start;gap:10px}.legal-footer nav{justify-content:flex-start}.control-panel{width:min(360px,100vw - 36px);padding:18px 16px calc(24px + env(safe-area-inset-bottom))}.panel-heading{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.landmark-options,.range-options{grid-template-columns:1fr}.landmark-options button,.range-options label{min-height:48px}.landmark-options strong,.range-options strong{font-size:12px}.preview-toolbar{gap:8px;height:60px;padding:8px 10px}.preview-toolbar h2{max-width:100px;font-size:14px}.preview-index{letter-spacing:1.2px;font-size:7px}.controls-open-button{min-height:40px;padding:0 8px}.preview-toolbar-actions{gap:5px}.preview-surface-toggle button{min-height:40px;padding:0 7px}.preview-toolbar-divider{height:22px}.about-button{justify-content:center;width:40px;min-height:40px;padding:0}.about-button strong{display:none}.selection-toolbar{grid-template-columns:54px minmax(0,1fr) 50px;grid-template-areas:"move size reset""aspects aspects aspects";min-height:96px}.selection-toolbar-move{grid-area:move}.selection-toolbar-size{grid-area:size;padding:0 8px}.selection-toolbar-reset{grid-area:reset}.selection-toolbar-aspects{border-top:1px solid #ffffff26;border-right:0;grid-area:aspects}.selection-toolbar-aspects button{min-height:48px}.selection-toolbar-size strong{font-size:12px}.selection-toolbar-size small{font-size:10px}.selection-toolbar button>small{padding-inline:2px;font-size:9px}.selection-resize-handle{width:44px;height:44px}.selection-rotation-handle{width:48px;height:48px}.selection-locate-button{min-height:40px;font-size:12px;top:12px;right:12px}.map-visual-controls{gap:6px;top:58px;right:12px}.map-view-toggle{grid-template-columns:repeat(2,44px)}.map-bearing-controls button,.map-view-toggle button{min-width:44px;min-height:44px}.map-bearing-controls{grid-template-columns:repeat(3,44px)}.building-data-status{max-width:calc(100% - 124px);top:12px;left:12px;overflow:hidden}.print-detail-advice{max-width:calc(100% - 24px);top:112px;left:12px}.map-drag-hint{white-space:normal;text-align:center;width:calc(100% - 24px);padding:8px 10px;line-height:1.45;bottom:12px}.model-ready-badge{display:none}.model-provenance{max-width:none;font-size:7px;line-height:1.5;display:block;top:58px;left:12px;right:12px}.map-data-warning{display:none}html[data-locale=en] .selection-toolbar button>small{font-size:8.5px}.generation-overlay{padding:18px}.generation-overlay>strong{font-size:20px}.generation-overlay>small{text-align:center;font-size:11px}.generation-steps{width:100%}.generation-steps li{font-size:9px}.generation-meta{width:100%;font-size:9px}.generation-error{max-width:none;bottom:12px;left:12px;right:12px}.model-canvas-title{display:none}.model-navigation-controls{gap:5px;width:auto;display:flex;top:12px;left:auto;right:12px}.model-orbit-controls{grid-template-columns:repeat(3,40px)}.model-orbit-controls button{width:40px;height:40px}.model-navigation-direction-toggle{grid-template-columns:1fr;justify-items:center;width:42px;min-height:42px;padding:0}.model-navigation-direction-toggle small,.model-navigation-direction-toggle strong{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.model-canvas-help{bottom:52px}.miniature-base{inset:25% 2% 21%}.city-models{transform-origin:bottom;transform:scale(.78)}.background-building{margin-bottom:-6%}.print-settings-toggle{gap:8px;padding:0 10px}.print-settings-toggle b{font-size:7px}.print-settings-dock.is-open .print-settings-panel{padding:13px;left:8px;right:8px}.print-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.print-settings-fields label:nth-of-type(-n+2){grid-column:1/-1}.print-settings-fields select{height:44px;font-size:16px}.print-settings-compatibility small{white-space:normal;line-height:1.45}.order-bar{grid-template-columns:1fr;min-height:142px}.output-format{justify-content:center;min-height:48px;margin:6px 8px;padding:6px 8px}.output-symbol{width:23px;height:23px}.output-format strong{font-size:9px}.output-format small{font-size:7px}.order-bar>.primary-cta{min-height:52px}.order-bar-icp{gap:7px;min-height:30px;padding-inline:8px}.intent-modal{padding:38px 22px 28px}.intent-modal h2{font-size:29px}.modal-config{grid-template-columns:1fr}.modal-config small{grid-column:auto}.feedback-identity-grid{grid-template-columns:1fr}.map-declaration-intro{font-size:12px}.map-declaration-grid{grid-template-columns:1fr}.map-declaration-grid article{padding:14px 0 16px}.map-declaration-grid p{font-size:11px}.about-backdrop{align-items:flex-end}.about-dialog{width:100%;height:auto;max-height:82dvh;padding:36px 22px calc(22px + env(safe-area-inset-bottom));border-top:1px solid var(--white);border-left:0;animation:release-sheet-in .26s}.about-header h2{font-size:28px}.about-directory{grid-template-columns:1fr}.current-release-card{padding:17px}.release-sections section{grid-template-columns:40px minmax(0,1fr)}.about-footer{flex-direction:column;align-items:flex-start;gap:5px}.release-toast{right:12px;bottom:calc(168px + env(safe-area-inset-bottom));gap:8px}}@media (max-width:420px){.controls-open-button{justify-content:center;width:40px;padding:0;font-size:0}.controls-open-button span{font-size:13px}.preview-index{display:none}.preview-toolbar h2{max-width:82px;margin-top:0}.preview-toolbar-actions{width:auto}.preview-surface-toggle{grid-template-columns:repeat(2,minmax(40px,1fr))}.preview-surface-toggle button{min-width:40px;padding:0 5px}.map-visual-controls{flex-direction:column;align-items:flex-end}.print-detail-advice{top:162px}.release-toast{justify-content:space-between;left:12px;right:12px}.release-toast strong{white-space:normal}}@keyframes release-sheet-in{0%{opacity:.65;transform:translateY(28px)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.language-switcher{min-width:52px;min-height:40px;color:var(--ink);cursor:pointer;background:#fffdf7b8;border:1px solid #173d383d;justify-content:center;align-items:center;gap:6px;padding:0 11px;font-family:inherit;transition:all .18s;display:inline-flex}.language-switcher-icon{width:14px;height:14px;color:var(--vermilion);display:inline-flex}.language-switcher-icon svg{fill:none;stroke:currentColor;stroke-width:1.65px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.language-switcher strong{letter-spacing:.06em;font-size:10px}.language-switcher:hover{border-color:var(--ink);color:var(--white);background:var(--ink)}.language-switcher:hover .language-switcher-icon{color:#f2b19c}.language-switcher:focus-visible{outline:2px solid var(--vermilion);outline-offset:2px}html[data-locale=en] .release-history .release-limitations,html[data-locale=en] .release-history .release-sections{display:none}@media (max-width:760px){.preview-toolbar-actions .language-switcher{width:40px;min-width:40px;padding:0}.preview-toolbar-actions .language-switcher-icon{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}