html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#eef1f2;color:#263942;font-family:"Microsoft YaHei","Noto Sans CJK SC",sans-serif}.blank-builder-shell{width:100%;height:100%;display:grid;grid-template-rows:70px 1fr;background:#eef1f2}.blank-builder-header{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #c7d3d8;background:#fff;box-shadow:0 5px 20px #30465018}.blank-builder-brand{display:flex;align-items:center;gap:12px}.blank-builder-logo{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#527d8d;color:#fff;font-size:23px}.blank-builder-brand h1{font-size:20px;margin:0 0 3px}.blank-builder-brand p{font-size:12px;color:#73838a;margin:0}.blank-builder-status{font-size:13px;color:#587786}.blank-map-stage{position:relative;min-height:0;background:#eef1f2}.blank-map-stage #map{position:absolute;inset:0;background:#eef1f2}.blank-workspace-guide{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;color:#647981;pointer-events:none;padding:13px 20px;border:1px solid #b7c7cd;border-radius:8px;background:#fffffff0;box-shadow:0 8px 24px #344d561f}.blank-workspace-guide strong{font-size:16px;color:#304b57}.blank-workspace-guide span{font-size:13px}.blank-workspace-guide small{color:#849399}body.base-imported .blank-workspace-guide,body.region-crop-open .blank-workspace-guide{display:none}
/* No global black overlays. Crop and night modes never use CSS multiply masks. */
.blank-map-stage::before,.blank-map-stage::after,body.map-clear-mode .blank-map-stage::before,body.map-clear-mode .blank-map-stage::after,body.map-night-mode .blank-map-stage::before,body.map-night-mode .blank-map-stage::after,body.map-selection-mode .blank-map-stage::before,body.map-selection-mode .blank-map-stage::after,body.map-scene-mode .blank-map-stage::before,body.map-scene-mode .blank-map-stage::after{display:none!important;content:none!important;background:transparent!important;opacity:0!important;mix-blend-mode:normal!important}
.basemap-status{position:fixed;left:18px;top:145px;z-index:88;display:flex;align-items:center;gap:10px;max-width:500px;padding:9px 11px;border:1px solid #b6c8cf;border-radius:8px;background:#fffffff2;color:#304750;box-shadow:0 8px 25px #243a4326}.basemap-status[hidden]{display:none}.basemap-status-dot{width:9px;height:9px;border-radius:50%;background:#5e96aa}.basemap-status div{min-width:0}.basemap-status strong,.basemap-status small{display:block}.basemap-status strong{font-size:13px}.basemap-status small{margin-top:2px;color:#72848b;font-size:11px}.basemap-status button{margin-left:auto;white-space:nowrap;border:1px solid #a9bdc5;border-radius:5px;background:#f7fafb;color:#456675;padding:6px 8px;cursor:pointer}.basemap-status[data-state=ready]{border-color:#9fc9b2}.basemap-status[data-state=warning]{border-color:#d4bd85}.basemap-status[data-state=error]{border-color:#d6a0aa}
body.standalone-map-builder .simple-editor-bar{top:82px;max-width:calc(100vw - 44px)}body.standalone-map-builder .editor-modal{top:70px}body.standalone-map-builder .object-inspector{top:135px;right:12px;bottom:12px;max-height:calc(100vh - 150px)}body.standalone-map-builder.editing-active .asset-drawer{display:block!important;left:12px;top:135px;bottom:12px;width:340px;height:auto;right:auto}body.standalone-map-builder.editing-active .asset-workbench{display:block;height:calc(100% - 48px);overflow:auto}body.standalone-map-builder .editor-toast{top:135px}.camera-viewer-modal{align-items:flex-end!important;justify-content:flex-end!important;padding:0 18px 18px 0!important;background:transparent!important;pointer-events:none}.camera-viewer-modal .camera-viewer-dialog{width:min(520px,calc(100vw - 30px));margin:0;pointer-events:auto;box-shadow:0 18px 60px #1d30383d}.camera-viewer-modal.camera-viewer-expanded{inset:70px 0 0!important;padding:20px!important;background:#22363e70!important;align-items:center!important;justify-content:center!important}.camera-viewer-modal.camera-viewer-expanded .camera-viewer-dialog{width:min(1100px,94vw);height:min(760px,90vh)}.camera-window-tools{display:flex;gap:6px}.version-history-list{display:grid;gap:8px}.version-item{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #d3dfe3;border-radius:7px}.version-item small{display:block;color:#7d8d93;margin-top:3px}.region-crop-panel{background:#fffffff5!important;color:#334b55!important;border-color:#aebfc6!important;box-shadow:0 10px 35px #24383f2b!important}.region-crop-panel button{border-color:#aabcc3!important;background:#f6f9fa!important;color:#405f6c!important}.region-crop-panel button.active,.region-crop-panel button.primary{background:#607f8c!important;color:#fff!important;border-color:#607f8c!important}
@media(max-width:900px){.blank-builder-brand p,.blank-builder-status{display:none}.blank-builder-header{padding:0 10px}.blank-builder-brand h1{font-size:16px}.blank-workspace-guide{width:72%;bottom:15px}.basemap-status{left:10px;right:10px;top:128px;max-width:none}body.standalone-map-builder.editing-active .asset-drawer{width:300px}}


/* V22.2.8 - complete visible crop controller */
.region-crop-panel{
  position:fixed!important;
  top:145px!important;
  right:16px!important;
  width:min(360px,calc(100vw - 32px))!important;
  z-index:160!important;
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid #aebfc6;
  border-radius:10px;
  background:#fffffff7!important;
  color:#334b55!important;
  box-shadow:0 14px 42px #24383f33!important;
  box-sizing:border-box;
}
.region-crop-panel[hidden]{
  display:none!important;
}
.region-crop-panel header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:10px;
  border-bottom:1px solid #d6e0e4;
}
.region-crop-panel header div{
  display:grid;
  gap:4px;
}
.region-crop-panel header strong{
  font-size:17px;
  color:#294650;
}
.region-crop-panel header small{
  color:#71858d;
  line-height:1.55;
}
#regionCropClose{
  flex:0 0 32px;
  width:32px;
  height:32px;
  padding:0!important;
  font-size:18px;
}
.crop-mode-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.crop-mode-row button{
  min-height:42px;
  padding:7px 8px!important;
  line-height:1.25;
}
#regionCropHint{
  margin:0;
  padding:10px 11px;
  border-left:3px solid #78939e;
  background:#edf3f5;
  color:#526b75;
  line-height:1.55;
}
.crop-status{
  padding:10px 11px;
  border:1px dashed #b5c4ca;
  border-radius:7px;
  background:#f8fafb;
  color:#6c7e85;
  line-height:1.5;
}
.crop-status[data-ready="true"]{
  border-color:#78939e;
  color:#365967;
  background:#eef5f7;
}
.crop-actions{
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:9px;
}
.crop-actions button{
  min-height:40px;
}
body.region-crop-open .blank-workspace-guide{
  display:none!important;
}
@media(max-width:720px){
  .region-crop-panel{
    top:132px!important;
    right:10px!important;
    left:10px!important;
    width:auto!important;
  }
  .crop-mode-row{
    grid-template-columns:1fr;
  }
}


/* V22.2.8 crop handles and panel */
.crop-adjust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.crop-adjust-row button{min-height:36px}.maplibregl-canvas-container.maplibregl-interactive{cursor:inherit}

/* V22.2.8 crop interaction modes and no night overlay */
body.map-night-mode .blank-map-stage::before,body.map-night-mode .blank-map-stage::after,body.map-scene-mode .blank-map-stage::before,body.map-scene-mode .blank-map-stage::after,body.original-yihu-scene .blank-map-stage::before,body.original-yihu-scene .blank-map-stage::after{display:none!important;content:none!important;opacity:0!important;background:transparent!important;mix-blend-mode:normal!important;pointer-events:none!important}
.crop-navigation-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.crop-secondary-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.crop-navigation-row button,.crop-secondary-row button{min-height:38px;padding:6px!important;font-size:12px;line-height:1.25}.crop-navigation-row button.active,.crop-secondary-row button.active{background:#607f8c!important;color:#fff!important}
body.region-crop-open.crop-mode-navigate .maplibregl-canvas{cursor:grab!important}body.region-crop-open.crop-mode-navigate .maplibregl-canvas:active{cursor:grabbing!important}body.region-crop-open.crop-mode-draw-rectangle .maplibregl-canvas,body.region-crop-open.crop-mode-draw-polygon .maplibregl-canvas{cursor:crosshair!important}body.region-crop-open.crop-mode-edit-region .maplibregl-canvas{cursor:default!important}body.crop-space-pan .maplibregl-canvas{cursor:grab!important}
@media(max-width:720px){.crop-navigation-row{grid-template-columns:1fr}.crop-secondary-row{grid-template-columns:1fr 1fr}}

/* V22.2.8 unified dark-blue visualization theme */
:root{
  --yihu-page-bg:#111a2e;
  --yihu-scene-outside-bg:#111a2e;
  --yihu-header-bg:#081d30;
  --yihu-toolbar-bg:#0b2236;
  --yihu-panel-bg:#0d263d;
  --yihu-panel-secondary-bg:#14243e;
  --yihu-card-bg:#102a42;
  --yihu-border:#294a70;
  --yihu-border-soft:#203b59;
  --yihu-accent:#35d8ff;
  --yihu-accent-soft:#2a9fc7;
  --yihu-accent-dark:#176789;
  --yihu-text-primary:#e6f2ff;
  --yihu-text-secondary:#91a7c5;
  --yihu-text-muted:#667f9f;
  --yihu-success:#20c997;
  --yihu-warning:#f0b451;
  --yihu-danger:#e55d75;
  --yihu-shadow:0 10px 30px rgba(0,8,24,.34);
}
html,body,.blank-builder-shell,.blank-map-stage,.blank-map-stage #map,
.maplibregl-map,.maplibregl-canvas-container{
  background-color:var(--yihu-page-bg)!important;
  color:var(--yihu-text-primary);
}
.maplibregl-canvas{
  background-color:var(--yihu-page-bg);
}
.blank-builder-header{
  background:linear-gradient(180deg,#0b2035 0%,#081a2c 100%)!important;
  color:var(--yihu-text-primary)!important;
  border-bottom-color:var(--yihu-border)!important;
  box-shadow:0 4px 18px rgba(0,8,24,.30)!important;
}
.blank-builder-brand p,.blank-builder-status{color:var(--yihu-text-secondary)!important}
.blank-builder-logo{background:var(--yihu-accent-dark)!important;color:var(--yihu-text-primary)!important}
.simple-editor-bar{
  background:rgba(11,34,54,.97)!important;
  border-color:var(--yihu-border)!important;
  box-shadow:0 8px 24px rgba(0,8,24,.28)!important;
}
.simple-editor-bar button,.editor-dialog button,.asset-drawer button,.object-inspector button,.batch-panel button,
.region-crop-panel button,.basemap-status button,.platform-auth-form button,.platform-user-badge button,.admin-list button{
  background:var(--yihu-card-bg)!important;
  color:#dbeaff!important;
  border-color:#315777!important;
}
.simple-editor-bar button:hover,.editor-dialog button:hover,.asset-drawer button:hover,.object-inspector button:hover,
.region-crop-panel button:hover{
  background:#173a57!important;
  border-color:var(--yihu-accent)!important;
  color:#fff!important;
}
.simple-editor-bar button.is-active,.simple-editor-bar button.active,.region-crop-panel button.active,
.region-crop-panel button.primary,.primary{
  background:var(--yihu-accent-dark)!important;
  border-color:var(--yihu-accent)!important;
  color:#fff!important;
  box-shadow:0 0 12px rgba(53,216,255,.20);
}
.asset-drawer,.object-inspector,.editor-dialog,.platform-auth-card{
  background:linear-gradient(180deg,var(--yihu-panel-bg) 0%,#0a2034 100%)!important;
  color:var(--yihu-text-primary)!important;
  border-color:var(--yihu-border)!important;
  box-shadow:var(--yihu-shadow)!important;
}
.asset-card,.scheme-row,.base-type-grid article,.placement-settings,.special-fields,.admin-list article{
  background:var(--yihu-card-bg)!important;
  border-color:var(--yihu-border-soft)!important;
  color:var(--yihu-text-primary)!important;
}
.asset-card:hover{background:#153750!important;border-color:var(--yihu-accent)!important;box-shadow:0 0 14px rgba(53,216,255,.15)}
.asset-card.active,.asset-card.is-selected,.asset-card.is-dragging{background:#17445f!important;border-color:var(--yihu-accent)!important}
.asset-image,.asset-card-preview{background:linear-gradient(180deg,#193e5d,#10283d)!important}
.editor-dialog input,.editor-dialog select,.editor-dialog textarea,
.object-inspector input,.object-inspector select,.object-inspector textarea,
.platform-auth-form input,.platform-auth-form select,.platform-auth-form textarea{
  background:#091e31!important;
  color:var(--yihu-text-primary)!important;
  border-color:var(--yihu-border)!important;
}
.editor-dialog input:focus,.editor-dialog select:focus,.editor-dialog textarea:focus,
.object-inspector input:focus,.object-inspector select:focus,.object-inspector textarea:focus{
  border-color:var(--yihu-accent)!important;
  box-shadow:0 0 0 2px rgba(53,216,255,.12)!important;
}
input::placeholder,textarea::placeholder{color:var(--yihu-text-muted)!important}
.region-crop-panel{
  background:linear-gradient(180deg,var(--yihu-panel-secondary-bg) 0%,var(--yihu-panel-bg) 100%)!important;
  color:var(--yihu-text-primary)!important;
  border-color:#365675!important;
  box-shadow:0 12px 32px rgba(0,8,24,.36)!important;
}
.region-crop-panel header{border-bottom-color:var(--yihu-border)!important}
.region-crop-panel header strong{color:#fff!important}
.region-crop-panel header small,#regionCropHint,.crop-status{color:var(--yihu-text-secondary)!important}
#regionCropHint{background:#102a42!important;border-left-color:var(--yihu-accent)!important}
.crop-status{background:#091e31!important;border-color:#365675!important}
.crop-status[data-ready="true"]{background:#102d41!important;border-color:var(--yihu-accent)!important;color:#c9f6ff!important}
.blank-workspace-guide,.basemap-status,.platform-user-badge,.platform-login-open{
  background:rgba(13,38,61,.97)!important;
  color:var(--yihu-text-primary)!important;
  border-color:var(--yihu-border)!important;
  box-shadow:var(--yihu-shadow)!important;
}
.blank-workspace-guide strong{color:var(--yihu-text-primary)!important}
.blank-workspace-guide span,.blank-workspace-guide small,.basemap-status small,.platform-user-badge small{color:var(--yihu-text-secondary)!important}
body.map-scene-mode .blank-map-stage{background:var(--yihu-page-bg)!important}

/* V22.2.8: ����ģʽ - ���ض����༭����� */
body.map-immersive .blank-builder-header{display:none!important}body.map-immersive .blank-map-stage{position:fixed!important;inset:0!important;z-index:1!important}
