/* A single workspace: persistent actions, direct controls, quiet disclosures. */
.elevation-control{margin:17px 0 4px;padding-top:14px;border-top:1px solid #e6e9ed}.elevation-heading,.elevation-input-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.elevation-heading>label{font-size:14px;font-weight:600;color:#26313d}.elevation-heading>label>span{font-size:12px;font-weight:400;color:#707b88;margin-left:5px}.elevation-heading .text-button{font-size:12px;min-height:30px;padding:3px 0;color:#315c91}.elevation-heading .text-button:disabled{cursor:default;color:#87919e;opacity:.65}.elevation-input-row{margin:7px 0 9px}.elevation-input-row>input[type=range]{flex:1;min-width:0;margin:0;accent-color:#293f59}.elevation-number{position:relative;flex:0 0 84px}.elevation-number>input{width:100%;height:38px;min-height:38px;padding:6px 24px 6px 10px;font-size:16px;font-variant-numeric:tabular-nums}.elevation-number>span{position:absolute;right:9px;top:7px;color:#687581;pointer-events:none}.elevation-number>input::-webkit-inner-spin-button{appearance:none}.elevation-control #elevationHelp{font-size:12px;line-height:1.65;color:#687581;margin:0 0 5px}.elevation-control #elevationHeight{font-size:13px;color:#334b65;font-variant-numeric:tabular-nums;margin:0}.design-report .design-engine{font-size:12px;line-height:1.6;color:#456382;margin:0 0 7px}
.map-lakes .water-list-row{display:flex;gap:7px;align-items:center;border-bottom:1px solid #edf1f5;padding:4px 0}.map-lakes .water-list-row>a,.map-lakes .water-list-row>span{flex:1;min-width:0;font-size:12px;line-height:1.6;margin:0}.map-lakes .water-list-row>button{min-height:28px;width:28px;flex-shrink:0;font-size:18px;color:#8492a3}.map-lakes #pixelStatus{font-size:11px;color:#8b682d}.map-lakes #resetWaterExclusions{font-size:12px;min-height:30px;color:#536c86}
.settings .search input{border:0;box-shadow:none;min-height:0;background:none;border-radius:0}.settings .workspace-heading{padding-top:17px;padding-bottom:15px}.settings .workspace-heading h1{font-size:23px;margin:5px 0}.settings .workspace-heading .eyebrow{display:none}.settings .control-section{padding-top:17px;padding-bottom:17px}.settings #rangeSettings{margin:5px 0 -7px}.settings #rangeSettings>summary{font-size:13px;padding:7px 0}.settings .popular{margin:9px 0 5px}
body{background:#fff;font-family:Inter,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-size:15px}button{transition:background .15s,border-color .15s;min-height:40px}button:disabled{cursor:wait;opacity:.55}button svg{flex-shrink:0}button:focus-visible,summary:focus-visible{outline:2px solid #2365d9;outline-offset:3px}
.site-header{height:72px;padding:0 28px;gap:24px}.brand-image{width:146px;height:54px}.studio-name{font-size:11px;letter-spacing:1.5px}.nav{font-size:15px}.site-header nav{gap:26px}.account-chip{font-size:14px;min-height:38px}.quiet{font-size:14px}.header-actions{gap:18px}
#studioView{max-width:none;margin:0;padding:0}.workbench{margin:0;border:0;border-radius:0;box-shadow:none;grid-template-columns:368px minmax(0,1fr);height:calc(100dvh - 72px);min-height:640px;max-height:none;overflow:hidden}.settings{min-width:0;min-height:0;display:flex;flex-direction:column;border-right:1px solid #dfe3e8}.workspace-heading{padding:24px 24px 20px;flex-shrink:0;border-bottom:1px solid #e7e9ed}.workspace-heading .eyebrow{font-size:10px;letter-spacing:1.5px;color:#737b86}.workspace-heading h1{font-size:25px;line-height:1.3;font-weight:650;letter-spacing:-.6px;margin:8px 0}.workspace-heading p{font-size:14px;color:#68717d;margin:0}.settings .panel-scroll{padding:0;flex:1;min-height:0;overflow:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-gutter:stable}
.control-section{padding:22px 24px;border-bottom:1px solid #e6e9ed;margin:0}.control-section h2{font-size:17px;letter-spacing:-.3px;font-weight:650;margin:0 0 16px;color:#1d252f}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.section-heading h2{margin:0}.section-heading .text-button{font-size:13px;min-height:26px;padding:0;color:#47617e}.section-meta{font-size:10px;letter-spacing:1.2px;color:#687586}.section-description{font-size:14px;color:#66717f;margin:-6px 0 15px}
.search{border-radius:6px;margin:0}.search input{font-size:15px;padding:12px 4px}.search svg{width:18px}.search-results{max-height:220px;overflow:auto}.search-results button{font-size:14px;line-height:1.6}.popular{margin:10px 0 20px;gap:6px}.popular button{font-size:13px;border-radius:4px;padding:4px 9px;min-height:30px;background:#f1f3f6;color:#536171}.range-label{font-size:14px;margin:15px 0 9px}.range-label output{font-size:13px;background:#f0f3f6;color:#334152;font-variant-numeric:tabular-nums}.range-label label{font-weight:500}.two-fields{gap:12px;margin:16px 0}.two-fields>label,.field{font-size:14px;color:#566171;line-height:1.8}.two-fields input,.field input,.two-fields select,.field select{font-size:15px;min-height:42px;background:#fff;border-radius:5px}.shape-options{gap:8px}.shape-options button{font-size:14px;min-height:42px;background:#fff;border-radius:5px;color:#657180}.shape-options button.selected{background:#edf2f8;border-color:#788da7;color:#213b59}.shape-options svg{width:16px;height:16px}
.primary,.secondary{font-size:15px;border-radius:6px;min-height:44px}.primary{background:#1d2734;color:#fff;font-weight:550}.primary:hover{background:#32445b;color:#fff}.secondary{color:#2e4056;border-color:#d3dae3;background:#fff}.secondary:hover{background:#f3f6fa;border-color:#98a8bc}.hint,.range-ends{font-size:13px;color:#697587;line-height:1.75}.hint{margin:10px 0}.advanced{border-top:0}.advanced summary{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;gap:8px;font-size:14px;font-weight:550;color:#293a4f;padding:14px 0}.advanced summary:after{content:'+';font-size:21px;line-height:1;color:#68788b;font-weight:400}.advanced[open]>summary:after{content:'−'}.advanced summary::-webkit-details-marker{display:none}.advanced summary>span{font-size:12px;color:#7c8795;font-weight:400;margin-left:auto}.control-section.advanced{padding-top:5px;padding-bottom:5px}.control-section.advanced>summary{font-size:15px;min-height:52px}.control-section.advanced[open]{padding-bottom:20px}.control-section .advanced{margin-top:10px;border:0}.control-section .advanced .advanced{border-top:1px solid #edf0f3}.upload-zone{margin:12px 0;background:#f8fafc;padding:16px 8px}.upload-zone .upload-icon{display:none}.upload-zone strong{font-size:14px}.upload-zone>span:last-child{font-size:12px}.track-file{font-size:14px}.track-file small{font-size:12px}.export-dock{padding:16px 24px 0;background:#fff;border-top:1px solid #dfe4eb;box-shadow:0 -6px 18px #172b4505;flex-shrink:0}.export-dock .print-cta{border:0;font-size:13px;min-height:35px;padding:5px;background:none;margin:6px 0;color:#5b6a7e}.export-dock .panel-footer{padding:6px 0 10px;min-height:33px;height:auto;font-size:11px;border:0;background:white;color:#7a8594}.panel-footer #saveButton{margin-left:auto;min-height:26px}.export-summary{padding:12px;background:#f5f7fa;margin:8px 0}.export-summary>svg,.export-summary>h3{display:none}.export-summary p{font-size:15px;margin:0}.export-summary>span{font-size:12px}.format-options{margin:12px 0}.format-options>label{padding:10px;border-radius:5px}.format-options strong{font-size:14px}.format-options small{font-size:12px}#snapshotButton,#portableButton{font-size:14px;margin-top:9px}
.preview-area{height:100%;min-height:0;display:flex;flex-direction:column;background:#f4f6f8}.preview-header{height:69px;flex-shrink:0;background:#fff;border-bottom:1px solid #e4e8ee;padding:0 28px}.preview-header>div:first-child{min-width:0;display:flex;align-items:center;gap:10px}.preview-header strong{font-size:17px;font-weight:600;white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.preview-header #locationSubtitle{font-size:13px;color:#7d8794;white-space:nowrap}.small-dot{display:none}.view-tabs{background:#edf0f4;padding:4px;border-radius:7px;gap:2px;flex-shrink:0}.view-tabs button{font-size:14px;padding:6px 15px;min-height:34px;border-radius:5px;color:#697587}.view-tabs button.selected{background:white;color:#203147;box-shadow:0 1px 4px #17263813}.view-tabs svg{width:15px;height:15px}#viewport{flex:1;min-height:300px;background:radial-gradient(ellipse at 52% 45%,#fff,#eef1f5)}#canvasHost{inset:0}.model-badge{top:22px;left:25px;font-size:12px;color:#6a7787;background:transparent;border:0;padding:0;box-shadow:none}.model-badge svg{width:15px}.viewer-tools{right:22px;top:22px;gap:6px}.viewer-tools button{height:38px;width:38px;border-color:#dce2e9;background:#ffffffda;border-radius:5px;color:#51637b}.model-axis{bottom:42px}.orbit-hint{font-size:12px;color:#6d7b8e;bottom:17px}.terrain-stats{height:88px;padding:15px 28px;gap:16px;background:white;border-top:1px solid #e0e5eb;flex-shrink:0}.terrain-stats>div>span{font-size:12px;color:#7a8594}.terrain-stats strong{font-size:20px;letter-spacing:-.4px;font-weight:550;color:#2f4055}.terrain-stats strong small{font-size:11px;color:#7a8594}.profile-wrap{max-width:190px}.terrain-stats .profile-wrap span{font-size:11px}
.map-inset:not(.expanded){display:none}.map-inset.expanded{inset:0;border:0;border-radius:0;box-shadow:none;z-index:4;background:#e5ebed}.map-inset.expanded .map-inset-header{top:18px;left:22px;right:auto;bottom:auto;position:absolute;z-index:2;height:44px;border:1px solid #d8e0e8;background:#fff;border-radius:6px;padding:4px;box-shadow:0 2px 12px #162d4610}.map-inset-header>span,#expandMap{display:none}.map-inset-header button{font-size:14px;min-height:34px;padding:5px 16px;border-radius:4px;color:#657487}.map-inset-header button.selected{background:#edf2f8;color:#213c5a}.map-inset.expanded #map{position:absolute;inset:0;width:100%;height:100%}.map-selection-toolbar{left:22px!important;right:22px!important;bottom:41px!important;top:auto!important;background:white!important;border:1px solid #d8e0e8!important;border-radius:7px!important;padding:10px 12px!important;box-shadow:0 4px 18px #18304a12;gap:12px!important;z-index:3!important}.map-selection-toolbar span{font-size:13px!important;color:#5b6d82!important}.map-selection-toolbar button{font-size:13px!important;min-height:36px!important;padding:7px 12px!important;border-radius:5px!important;white-space:nowrap}.map-selection-toolbar #loadMapTerrain{background:#213249!important;color:white!important}.map-inset.expanded .map-coords{bottom:10px;left:24px;right:auto;font-size:11px;background:#ffffffcf;color:#60718a;padding:2px 6px;border-radius:3px}.maplibregl-ctrl-top-right{top:16px;right:14px}.maplibregl-ctrl button{min-height:29px}.maplibregl-ctrl-attrib{font-size:10px!important}.map-lakes{position:absolute;top:78px;left:22px;z-index:2;width:240px;padding:14px 16px;border:1px solid #d8e0e8;background:#fff;border-radius:7px;box-shadow:0 3px 16px #18304a0c;color:#24435a}.lake-heading{display:flex;align-items:center;gap:8px}.lake-heading>svg{width:18px;height:18px;color:#2e8bac}.lake-heading strong{font-size:15px;letter-spacing:0;font-weight:600}.lake-heading button{margin-left:auto;min-height:26px;width:26px;padding:3px;color:#8391a2}.lake-heading button svg{width:14px;height:14px}.map-lakes p{font-size:12px;color:#728296;line-height:1.65;margin:7px 0 0}.map-lakes summary{font-size:12px;cursor:pointer;color:#54738d;padding-top:10px}.map-lakes a{font-size:12px;color:#337f9f;display:block;margin-top:6px}.map-lakes #lakeList{max-height:180px;overflow:auto;margin-top:8px}.map-lakes #lakeList a{font-size:13px;padding:3px 0;color:#38576e}.map-lakes #smallLakes{font-size:12px;min-height:30px;text-align:left;margin-top:8px;color:#456681}.map-lakes[data-status=loading] .lake-heading>svg{animation:pulse 1.4s infinite}.map-lakes[data-status=error]{border-color:#d8bca3}.map-lakes[data-status=error] #lakeStatus{color:#8c5638}.map-mode .model-badge,.map-mode .viewer-tools,.map-mode .orbit-hint,.map-mode .model-axis{visibility:hidden}
.assistant-panel{display:block;min-height:0}.assistant-compose{padding:0;border:0;background:none}.assistant-compose>label{display:block;font-size:13px;color:#65748a;margin:12px 0 8px}.assistant-input{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:6px;border-color:#d7dee7}.assistant-input textarea{font-size:14px;height:45px;line-height:1.6;color:#304259}.assistant-input textarea::placeholder{color:#8a96a5}.assistant-input>button{width:32px;height:32px;min-height:32px;border-radius:5px;background:#e9eef5;color:#314a69;flex-shrink:0}.assistant-input>button svg{width:15px;height:15px}.assistant-suggestions{flex-direction:row;flex-wrap:wrap;gap:6px;margin:8px 0}.assistant-suggestions button,.assistant-suggestions button:first-child{font-size:12px;min-height:29px;padding:4px 8px;color:#596e86;background:#f2f5f9;border:0;border-radius:4px}.assistant-messages{overflow:visible;padding:0;max-height:none;display:flex;flex-direction:column}.chat-bubble{font-size:13px;line-height:1.75;margin:10px 0;padding:10px;color:#556a82;border-radius:5px;background:#f4f7fa}.chat-bubble.user{display:none}.chat-bubble.assistant{margin:8px 0;border:0}.chat-bubble.error{background:#fff4ea;color:#8b5833}.design-report{margin:14px 0 0;padding:0;border:0;box-shadow:none;background:none;font-size:13px}.design-report h3{display:none}.design-report p{font-size:13px;color:#65758b;line-height:1.75;margin:10px 0}.design-layer-strip{height:24px;min-height:24px;margin:12px 0;border:0;border-radius:4px}.design-materials{gap:7px;margin:12px 0}.design-materials>div{font-size:12px;color:#536780;line-height:1.5}.design-report summary{font-size:13px;color:#516781}.design-report .design-evidence{font-size:12px}.design-report button{font-size:12px;color:#586f8b;min-height:28px}.design-report pre{font-size:11px;background:#f1f4f8;padding:8px}#layerPlanStatus{font-size:12px;margin:8px 0 0;color:#7a8797}footer{display:none}#toast{bottom:22px;font-size:14px;max-width:min(520px,calc(100vw - 32px));line-height:1.6}
@keyframes pulse{50%{opacity:.35}}
@media(min-width:1600px){.workbench{grid-template-columns:400px minmax(0,1fr)}.control-section{padding-left:28px;padding-right:28px}.workspace-heading{padding:28px}.export-dock{padding-left:28px;padding-right:28px}}
@media(max-width:1100px){.studio-name,.brand-divider{display:none}.site-header nav{gap:16px}.header-actions .quiet span{display:none}.preview-header{padding:0 20px}.preview-header #locationSubtitle{display:none}.terrain-stats{padding-left:20px;padding-right:20px}.profile-wrap{display:none}.terrain-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.site-header{height:64px;padding:0 16px;gap:12px}.brand-image{width:112px;height:42px}.site-header nav{gap:12px;margin-left:auto}.site-header .nav{font-size:13px}.site-header .nav[data-view=gallery]{display:none}.header-actions{gap:6px}.header-actions .quiet{display:none}.account-chip{padding:6px 9px;min-height:34px;font-size:12px}.account-chip svg{width:14px}.nav span{display:none}.workbench{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible}.preview-area{order:-1;height:61dvh;min-height:430px;max-height:630px;position:sticky;top:0;z-index:5;border-bottom:1px solid #dbe2eb}.preview-header{height:58px;padding:0 16px}.preview-header strong{font-size:15px;max-width:145px}.view-tabs button{font-size:13px;padding:5px 11px;min-height:30px}.view-tabs svg{display:none}#viewport{min-height:240px}.terrain-stats{height:72px;padding:10px 16px;gap:10px}.terrain-stats>div>span{font-size:10px}.terrain-stats strong{font-size:16px}.terrain-stats strong small{font-size:10px}.terrain-stats .profile-wrap{display:none}.settings{border:0;overflow:visible}.workspace-heading{padding:20px}.workspace-heading .eyebrow{display:none}.workspace-heading h1{font-size:23px;margin:0 0 5px}.workspace-heading p{font-size:13px}.settings .panel-scroll{overflow:visible}.control-section{padding:20px}.control-section h2{font-size:17px}.export-dock{position:sticky;bottom:0;z-index:6;padding:12px 20px 0;box-shadow:0 -4px 20px #1e304015}.export-dock .panel-footer{display:none}.export-dock .print-cta{font-size:12px;margin:3px 0}.map-lakes{top:65px;left:12px;width:200px;padding:10px 12px}.lake-heading strong{font-size:14px}.map-lakes p,.map-lakes summary{font-size:11px}.map-lakes details[open]{max-height:180px;overflow:auto}.map-inset.expanded .map-inset-header{top:12px;left:12px;height:38px}.map-inset-header button{font-size:13px;padding:3px 12px;min-height:28px}.map-selection-toolbar{left:12px!important;right:12px!important;bottom:28px!important;padding:7px!important;flex-wrap:wrap!important;gap:6px!important}.map-selection-toolbar span{font-size:11px!important;flex-basis:100%}.map-selection-toolbar button{font-size:12px!important;min-height:31px!important;padding:4px 10px!important}.map-selection-toolbar #loadMapTerrain{margin-left:auto}.map-inset.expanded .map-coords{bottom:4px;left:12px;font-size:9px}.maplibregl-ctrl-top-right{top:6px;right:4px}.model-badge{top:15px;left:16px;font-size:11px}.viewer-tools{right:12px;top:12px;gap:5px}.viewer-tools button{width:33px;height:33px;min-height:33px}.viewer-tools button svg{width:15px}.orbit-hint{font-size:10px;bottom:9px}.model-axis{display:none}.collection-view{padding:24px 18px}.collection-heading h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:760px){.site-header{display:flex;min-height:64px}.site-header nav{height:auto;gap:10px;margin-left:auto}.site-header .brand{flex-shrink:0}.preview-area{height:48dvh;min-height:340px}.export-dock .panel-footer{display:flex;padding:1px 0 5px;min-height:26px}.export-dock .panel-footer>span{font-size:10px}.export-dock .panel-footer #saveButton{min-height:24px}.settings .workspace-heading{padding:17px 20px}.settings .control-section{padding:17px 20px}.settings .panel-scroll{scrollbar-gutter:auto}.map-selection-toolbar #loadMapTerrain{flex:0 0 auto}.map-selection-toolbar #fitSelection{flex:0 0 auto}.viewer-tools .icon-button{width:32px;height:32px}}
@media(max-width:760px) and (max-height:600px){.preview-area{position:relative;height:390px;min-height:390px}.export-dock{position:relative}.site-header .nav{font-size:12px}}
@media(max-width:760px){.site-header{flex-wrap:nowrap;align-content:normal}.site-header nav{order:0;width:auto;flex:0 0 auto;margin:0 0 0 auto;gap:10px}.site-header .brand-image{height:42px}.site-header .header-actions{order:0;flex:0 0 auto}.site-header .nav[data-view=studio]{display:none}}
