/* Keep the construction workspace in the same blue family as HQ and Replay. */
body :is(#builderPanel,#builderInspector,#detail){color:#eef7fb;background:linear-gradient(150deg,#214657f7,#153547fa);border:1px solid #9bc4d24a;border-radius:22px;box-shadow:0 20px 60px #0925353d;backdrop-filter:blur(20px);scrollbar-color:#5b8294 #153547;scrollbar-width:thin;overscroll-behavior:contain}
html body.building-mode #builderPanel{left:20px;top:150px;width:410px;max-height:calc(100dvh - 174px);padding:20px}
html body.building-mode #builderInspector{right:84px;top:150px;width:300px;max-height:calc(100dvh - 174px);padding:20px}
body :is(#builderPanel,#builderInspector,#detail) :is(h2,h3,h4,b,summary){color:#eef7fb}
body :is(#builderPanel,#builderInspector,#detail) :is(p,small,label),html body.building-mode #builderPanel .buildHeading span,html body.building-mode #builderPanel .scene-savebar,body #detail .asset-type-picker small,body #realDetails p{color:#b4cfdd;line-height:1.5}
body :is(#builderPanel,#builderInspector,#detail) button{color:#ecf7fb;background:#ffffff12;border:1px solid #ffffff1c;border-radius:10px;min-height:36px}
body :is(#builderPanel,#builderInspector,#detail) button:hover{background:#ffffff24;border-color:#9edbe680}
body :is(#builderPanel,#builderInspector,#detail) button:disabled{opacity:.35;cursor:default}
body :is(#builderPanel,#builderInspector,#detail) :is(input:not([type=checkbox]):not([type=range]),select,textarea){width:100%;min-width:0;color:#f0f8fc;background:#0c2b3e;border:1px solid #83acbf55;border-radius:9px;padding:10px;font:inherit;font-size:14px;outline-offset:2px}
body :is(#builderPanel,#builderInspector,#detail) input:focus{background:#123c51;border-color:#7adef4}
body :is(#builderPanel,#builderInspector,#detail) input::placeholder{color:#7f9eae}
body :is(#builderPanel,#builderInspector,#detail) :is(input[type=checkbox],input[type=range]){accent-color:#7adef4}
body :is(#builderPanel,#builderInspector,#detail) :is(button,input,select,textarea):focus-visible{outline:2px solid #8be5fc;outline-offset:2px}
html body.building-mode #builderPanel .buildHeading{margin-bottom:8px}html body.building-mode #builderPanel .buildHeading b{font-size:19px}
html body.building-mode #builderPanel .scene-savebar{font-size:12px;margin:0 0 17px;gap:8px}
html body.building-mode #builderPanel .scene-savebar.save-error{color:#ffd57b;background:#78531e55}
html body.building-mode #builderPanel .site-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;border-radius:14px;background:#082a3b;padding:5px;margin:0 0 18px}
html body.building-mode #builderPanel .site-tabs button{font-size:14px;padding:9px 4px;border:0;background:transparent}
html body.building-mode #builderPanel .site-tabs button.active{background:#72d6f2;color:#123c50;font-weight:700;box-shadow:0 3px 12px #061e3333}
html body.building-mode #builderPanel .catalogue-intro{font-size:13px;margin:0 0 12px}
html body.building-mode #builderPanel .catalog-filters{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}
html body.building-mode #builderPanel .prop-search{margin:0}
html body.building-mode #builderPanel #buildCatalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:46dvh;margin:14px 0;overflow:auto;padding:1px 2px 5px}
html body.building-mode #builderPanel #buildCatalog button{padding:0 0 11px;gap:3px;border-radius:13px;overflow:hidden;text-align:center;justify-items:center;align-content:start;background:#ffffff0c;min-height:114px}
html body.building-mode #builderPanel #buildCatalog button:hover,html body.building-mode #builderPanel #buildCatalog button.chosen{background:#74dafa24;border-color:#7adef4}
html body.building-mode #builderPanel #buildCatalog button b{padding:0 6px;line-height:1.3;font-size:12px;font-weight:500}
html body.building-mode #builderPanel .prop-thumbnail{display:block;width:100%;height:84px;background:radial-gradient(ellipse at center,#77b9ce1c,transparent 70%)}
html body.building-mode #builderPanel .prop-thumbnail img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
html body.building-mode #builderPanel #buildPlacementTools{border-top:1px solid #90b6c32e;padding-top:8px;margin-top:16px}
html body.building-mode #builderPanel :is(#groundTools,#zoneTools,.population-tools){border-top:1px solid #90b6c32e;border-bottom:0;padding:16px 0;margin:12px 0;background:transparent}
html body.building-mode #builderPanel .population-switch{display:none}
html body.building-mode #builderPanel :is(#groundTools,#zoneTools,.population-tools) summary{font-size:15px}
html body.building-mode #builderPanel #groundTools{margin:0;padding-top:0;border-top:0}
html body.building-mode #builderPanel #groundLayers{padding-top:18px;margin-top:18px;border-top:1px solid #90b6c32e}
html body.building-mode #builderPanel #groundLayers h3{margin:0;font-size:18px}
html body.building-mode #builderPanel :is(#groundLayers,#groundTools) p{font-size:13px}
html body.building-mode #builderPanel #groundLayers small{display:block;font-size:11px;line-height:1.5}
html body.building-mode #builderPanel .terrain-toggle{display:flex;align-items:center;gap:9px;margin:18px 0}
html body.building-mode #builderPanel .terrain-toggle input{width:18px;height:18px}
html body.building-mode #builderPanel .strata-preview{display:flex;flex-direction:column;height:148px;overflow:hidden;border-radius:12px;border:1px solid #cce1e444;margin:15px 0;box-shadow:0 10px 22px #071d3033}
html body.building-mode #builderPanel .strata-preview>div{display:flex;align-items:center;justify-content:space-between;min-height:20px;flex-basis:0;padding:2px 12px;font-size:11px;text-shadow:0 1px 3px #000;color:#fff}
html body.building-mode #builderPanel .strata-preview small{color:#fff;font-size:10px}
html body.building-mode #builderPanel .strata-list{display:grid;gap:12px}
html body.building-mode #builderPanel .strata-row{padding:12px;border:1px solid #8baebf30;border-left:4px solid var(--strata-color);border-radius:12px;background:#ffffff05}
html body.building-mode #builderPanel .strata-row label{display:grid;gap:5px;margin:9px 0;font-size:11px}
html body.building-mode #builderPanel .strata-heading{display:flex;align-items:center;gap:8px;font-size:10px;color:#9abcca}
html body.building-mode #builderPanel .strata-heading>b{font-size:12px;color:#7adef4}
html body.building-mode #builderPanel .strata-actions{display:flex;gap:3px;margin-left:auto}
html body.building-mode #builderPanel .strata-actions button{width:28px;min-height:28px;padding:0;border-radius:7px;font-size:16px}
html body.building-mode #builderPanel .strata-fields{display:grid;grid-template-columns:minmax(0,1fr) 94px;gap:10px}
html body.building-mode #builderPanel .strata-add{width:100%;border:1px dashed #7ac5dc88;margin:12px 0;padding:12px;color:#7adef4}
html body.building-mode #builderPanel .terrain-edge{display:block;margin-top:15px;font-size:13px}
html body.building-mode #builderPanel .terrain-edge input{display:block;width:100%;margin:12px 0}
html body.building-mode #builderPanel .terrain-edge div{display:flex;justify-content:space-between;font-size:11px}
html body.building-mode #builderPanel .terrain-total{font-size:15px;color:#7adef4;font-weight:600}
html body.building-mode #builderPanel .terrain-save-status{color:#7adef4;font-size:12px}
html body.building-mode #builderInspector .buildTools button.chosen{background:#72d6f2;color:#123c50}
html body.building-mode #builderInspector :is(#terrainFields,#routeFields,#populationInspector,#zoneFields){background:#0b2c3d77;border:1px solid #ffffff16;border-radius:12px;padding:12px;margin:16px 0}
html body.building-mode #builderInspector #buildObjectList{border-top:1px solid #ffffff1c;padding-top:8px;max-height:24dvh}
html body.building-mode #builderInspector #buildObjectList button.chosen{background:#72d6f22b;color:#7adef4}
body #detail :is(#follow,a){color:#7adef4}body #detail #follow{padding:11px 16px}body #detail #close{border:0;background:transparent}
html body.building-mode #builderInspector #inspectorBack{display:none}
@media(min-width:1500px){html body.building-mode #builderPanel{width:450px}html body.building-mode #builderInspector{width:320px}}
@media(max-width:1100px){html body.building-mode #builderPanel{width:350px;left:12px}html body.building-mode #builderInspector{width:270px;right:68px}}
@media(pointer:coarse) and (orientation:landscape){html body.building-mode #builderPanel{top:76px;left:max(8px,env(safe-area-inset-left));width: min(340px,42vw);max-height:calc(100dvh - 90px)}html body.building-mode #builderInspector{top:76px;right:max(60px,env(safe-area-inset-right));width:min(265px,32vw);max-height:calc(100dvh - 90px)}html body.building-mode #builderPanel #buildCatalog{max-height:40dvh}}
@media(max-width:650px){
 html body.building-mode #builderPanel,html body.building-mode #builderInspector{top:auto;bottom:max(10px,env(safe-area-inset-bottom));left:10px;right:10px;width:calc(100% - 20px);max-height:47dvh;padding:16px}
 html body.building-mode #builderPanel #buildCatalog{max-height:28dvh}
 html body.building-mode #builderInspector{display:none}
 body.building-mode:has(:is(#buildInspectorFields,#buildGroupInspector,#groupEditMode):not([hidden])) #builderPanel{display:none}
 body.building-mode:has(:is(#buildInspectorFields,#buildGroupInspector,#groupEditMode):not([hidden])) #builderInspector{display:block}
 html body.building-mode #builderInspector #inspectorBack{display:block;padding:6px 12px}
 body :is(#builderPanel,#builderInspector,#detail) :is(input:not([type=checkbox]):not([type=range]),select,textarea){font-size:16px}
 html body.building-mode #builderPanel .strata-actions button{width:32px;min-height:34px}
}
/* Nested generator menus share the workspace palette, including native fields. */
html body.building-mode #builderPanel .population-types{background:#0b2b3d;border:1px solid #8fb5c333;padding:12px;border-radius:12px}
html body.building-mode #builderPanel #populationCounts{padding:8px 3px 3px;max-height:280px}
html body.building-mode #builderPanel #populationCounts label{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:12px;margin:10px 0;font-size:14px}
html body.building-mode #builderPanel #populationCounts input{width:76px;min-width:0}
body :is(#builderPanel,#builderInspector,#detail) :is(select,input,textarea){color-scheme:dark}
body :is(#builderPanel,#builderInspector,#detail) :is(option,optgroup){color:#eef7fb;background:#0c2b3e}
html body.building-mode #builderPanel .site-tabs{grid-template-columns:.75fr 1fr 1.25fr .85fr 1fr;gap:2px}
html body.building-mode #builderPanel .site-tabs button{min-width:0;font-size:13px;padding:10px 2px}
html body.building-mode #builderPanel :is(#buildCommonTools,.terrain-surface-section){border-top:1px solid #90b6c32e;margin-top:18px;padding-top:16px}
html body.building-mode #builderPanel .terrain-surface-section h3{margin:0 0 8px;font-size:18px}
html body.building-mode #builderPanel .terrain-surface-section p{font-size:14px}
html body.building-mode #builderPanel .terrain-surface-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
html body.building-mode #builderPanel .terrain-surface-swatches button{display:flex;align-items:center;gap:7px;padding:9px 7px;font-size:12px;text-align:left;line-height:1.25}
html body.building-mode #builderPanel .terrain-surface-swatches i{width:20px;height:25px;border-radius:5px;flex-shrink:0;box-shadow:inset 0 0 0 1px #ffffff30}
html body.building-mode #builderPanel .terrain-surface-swatches [aria-pressed=true]{border-color:#7adef4;background:#72d6f22b;color:#b6f0ff}
html body.building-mode #builderPanel .terrain-drawing-actions{display:flex;gap:8px;padding-top:8px}
html body.building-mode #builderPanel .terrain-drawing-actions button{flex:1;padding:9px;font-size:13px}
html body.building-mode #builderPanel .terrain-edge output{float:right;color:#7adef4}
html body.building-mode #builderInspector .terrain-water-toggle{display:flex;gap:10px;align-items:center;margin:16px 0}
html body.building-mode #builderInspector .terrain-water-toggle input{width:18px;height:18px}
html body.building-mode #builderInspector #terrainWaterRow small{display:block;font-size:12px;margin-top:7px}

#siteSyncSettings{margin:18px 0;padding:15px;border:1px solid #4c7182;border-radius:14px;background:#153646}#siteSyncSettings h3{margin-top:0}#siteSyncSettings p{font-size:12px;line-height:1.5}#siteSyncSettings .site-sync-toggle{display:flex;align-items:center;gap:10px;font-weight:700;color:#e3f5fb}#siteSyncSettings input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:#74d9f4}#siteSyncSettings .site-sync-status{color:#ffd55e}#siteSyncSettings a{display:block;color:#8de4f7;font-size:12px;margin-top:12px}#editSiteBoundary{width:100%;margin-top:4px;background:#376276;color:#e7f5fa}

html body.building-mode #builderPanel .prop-selection-tools{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:6px;margin:12px 0;padding:10px;background:#092b3c;border:1px solid #7ac4da33;border-radius:13px}.prop-selection-tools small{grid-column:1/-1;font-size:11px}.prop-selection-tools button{font-size:12px;padding:7px 5px}body #buildMultiSelect[aria-pressed=true]{color:#173b4d;background:#7cdef0}#buildGroupInspector .buildTools{margin:14px 0}#buildGroupInspector .buildHistory{flex-wrap:wrap}#buildObjectList button.chosen{border-color:#80e0ef;background:#71dff033}.prop-selection-box{position:fixed;pointer-events:none;z-index:500;background:#58c9f030;border:1.5px solid #75dbfc;box-shadow:0 0 0 1px #113e5c55}.prop-selection-box[hidden]{display:none}.prop-settings{padding:10px 12px;margin:12px 0;background:#092b3e88;border:1px solid #8fc8d433;border-radius:12px}.prop-settings label{display:grid;gap:7px;margin:10px 0}.prop-settings input[type=range]{width:100%;accent-color:#7adef4}.prop-settings textarea{min-height:85px}

/* Six Build sections remain readable at every panel width. */
html body.building-mode #builderPanel .site-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
html body.building-mode #builderPanel .site-tabs button{font-size:14px;padding:10px 6px;min-height:40px}
html body.building-mode #builderPanel #zonesTab #zoneTools{margin:0;border-top:0;padding-top:0}
.zone-drawing-actions{display:flex;gap:8px;margin:14px 0}.zone-drawing-actions button{flex:1}
body #builderInspector .prop-scale-lock{display:flex;align-items:center;gap:10px;padding:12px;margin:10px 0;background:#72d6f212;border:1px solid #72d6f233;border-radius:10px;font-size:14px}
body #builderInspector .prop-scale-lock input{width:20px;height:20px;flex-shrink:0}body #builderInspector .prop-scale-lock small{display:block;font-size:12px;margin-top:3px}

html body.building-mode #builderPanel #floatingWorld{padding:16px;border-radius:16px;background:linear-gradient(145deg,#28566880,#102f4180);border:1px solid #90d9e64d;margin:0 0 20px}
#floatingWorld .world-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}#floatingWorld .world-heading small{font-size:10px;letter-spacing:.12em;color:#9bdfcb}#floatingWorld h3{margin:4px 0!important;font-size:20px!important}#floatingWorld>p{font-size:13px;line-height:1.5;margin:12px 0}
#floatingWorld .world-width-badge{font-size:11px;white-space:nowrap;padding:7px 9px;border:1px solid #a9d9bd55;background:#91b5731c;border-radius:8px;color:#ccecba}
#floatingWorld .world-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:14px 0}#floatingWorld .world-presets button{padding:10px 2px;font-size:12px;background:#ffffff0c}#floatingWorld .world-presets button:nth-child(2){border-color:#aad58477;background:#7fac6b26}
#floatingWorld .world-control-group{padding:13px 0;border-top:1px solid #b3dce42b}#floatingWorld .world-control-group summary{font-size:14px;font-weight:650;cursor:pointer}#floatingWorld .world-control-group p{font-size:12px;line-height:1.5}
#floatingWorld .world-control{display:block;margin:16px 0 8px;font-size:13px}#floatingWorld .world-control>span{display:flex;justify-content:space-between;gap:8px}#floatingWorld output{font-variant-numeric:tabular-nums;color:#91e8f4}#floatingWorld input[type=range]{width:100%;height:22px;margin:6px 0 0}
#floatingWorld .world-rim-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:4px}#floatingWorld .world-rim-steps button{min-width:0;font-size:12px;padding:5px}#floatingWorld .world-rim-steps button[aria-pressed=true]{border-color:#89deea;color:#a6eaf4;background:#71c6d52b}
#floatingWorld .world-depth{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:8px;align-items:center;margin:14px 0;font-size:13px}#floatingWorld .world-depth input[type=color]{padding:4px;min-height:38px}
#floatingWorld .world-sky-swatches{display:flex;gap:8px;margin-top:16px}#floatingWorld .world-sky-swatches button{width:34px;min-height:34px;border-radius:50%;border:3px solid #ffffff33}#floatingWorld .world-sky-swatches [aria-pressed=true]{outline:2px solid #93e4f5;outline-offset:3px}
#floatingWorld .world-actions{display:flex;gap:8px;margin-top:12px}#floatingWorld .world-actions button{flex:1;font-size:12px;padding:9px 4px}#floatingWorld .terrain-toggle{font-size:13px}
@media(max-width:650px){#floatingWorld .world-width-badge{font-size:10px;padding:5px}#floatingWorld h3{font-size:18px!important}}

.building-start{padding:12px;margin:8px 0;border:1px solid #83acbf55;border-radius:10px;background:#123548;color:#eef7fb}.building-start summary{font-weight:700;cursor:pointer;margin-bottom:8px}.building-start select{width:100%;padding:8px;border:1px solid #83acbf55;border-radius:7px;background:#0c2b3e;color:#eef7fb;font:inherit}.building-start small{display:block;color:#b4cfdd;line-height:1.5}.building-start .buildHistory{margin:8px 0}

html body.building-mode.build-asset-details #detail:not([hidden]){display:block!important;z-index:8}
html body.building-mode.build-asset-details #builderInspector{display:none!important}

#groupEdit{width:100%;margin-bottom:12px}#groupEditMode p{font-size:12px;margin:8px 0}#groupEditDone{width:100%;margin-top:10px}

.building-start>label{display:grid;gap:7px;margin:8px 0}.building-start .buildHistory{display:flex;flex-wrap:wrap;gap:8px}.building-start .buildHistory button{flex:1;min-height:44px}

html body.building-mode.build-asset-details #detail.model-settings{left:auto!important;right:88px!important;top:130px!important;bottom:auto!important;transform:none!important;width:min(350px,calc(100vw - 112px))!important;max-height:calc(100dvh - 155px)!important;overflow:auto;padding:20px!important;border-radius:20px!important}#detail.model-settings .asset-type-picker{border-top:0;margin-top:8px;padding-top:0}#detail.model-settings #machineName{padding-right:25px}#detail.model-settings>small{color:#91dacd!important}
@media(max-width:750px){html body.building-mode.build-asset-details #detail.model-settings{right:68px!important;top:110px!important;width:min(330px,calc(100vw - 86px))!important;max-height:calc(100dvh - 135px)!important}}

/* Read-only fields must not fall back to the older white site form. */
html body #builderPanel #siteTab input[readonly]{background:#0c2b3e;color:#b4cfdd}
