/* 横断面工作台：素材、画布与属性各自占位。 */
#section-inspector { flex:0 0 328px; width:328px; min-width:0; background:#fff; border-left:1px solid #dce2d9; display:flex; flex-direction:column; z-index:22; }
#section-inspector[hidden] { display:none; }
.section-inspector-head { flex:none; display:flex; align-items:center; justify-content:space-between; padding:16px 18px 13px; border-bottom:1px solid #e5e9e1; background:#f7f8f3; }
.section-inspector-head small { display:block; font-size:10px; letter-spacing:2px; color:#8c998b; margin-bottom:4px; }
.section-inspector-head strong { font-size:15px; color:#314b3f; }
.section-inspector-head button { width:30px; height:30px; border:1px solid #dce2d9; background:#fff; border-radius:6px; cursor:pointer; font-size:20px; }
#section-inspector-body { flex:1; min-height:0; overflow:auto; padding:0 0 20px; scrollbar-width:thin; }
#section-inspector .prop-box { position:static; display:block; width:100%; z-index:auto; }
#section-inspector .prop-main, #section-inspector .prop-side { margin:0; min-width:0; width:100%; border:0; border-radius:0; box-shadow:none; padding:14px 16px; }
#section-inspector .prop-main { border-bottom:1px solid #e5e9e1; }
#section-inspector .prop-head { margin:-2px 0 14px; padding:0 0 12px; border-radius:0; background:none; gap:5px; flex-wrap:wrap; cursor:default !important; }
#section-inspector .prop-name { flex:1; font-size:13px; min-width:70px; }
#section-inspector .prop-row { margin-bottom:10px; flex-wrap:wrap; }
#section-inspector .prop-row label { min-width:62px; }
#section-inspector input[type=text], #section-inspector select { height:29px; }
#section-inspector .prop-row input[type=text] { flex:1; min-width:48px; }
#section-inspector .prop-row select { flex:1; min-width:80px; border:1px solid var(--line); border-radius:5px; }
#section-inspector .prop-tabs { margin:-3px -5px 0; padding:0 0 7px; flex-wrap:wrap; border-bottom:1px solid #e5e9e1; gap:4px; }
#section-inspector .prop-tabs button { border:1px solid #e0e5dc; border-radius:6px; width:34px; height:32px; padding:3px; }
#section-inspector .prop-tabs button.selected { border-color:var(--accent); background:var(--accent-soft); }
#section-inspector .prop-tab-body { padding:14px 0 0; }
#section-inspector .styles-strip { max-width:100%; padding-bottom:8px; }
#section-inspector .style-thumb { width:58px; height:52px; background:#f3f4ef; }
#section-inspector .style-thumb canvas { max-width:52px; max-height:46px; }
#section-inspector .mini-row { margin-top:11px; }
#section-inspector input[type=range] { min-width:0; }
#section-inspector #underground-panel { position:static; width:100%; max-height:none; overflow:visible; margin:0; padding:15px 16px; border:0; border-radius:0; background:white; box-shadow:none; }
#section-inspector #underground-panel[hidden] { display:none; }
#section-inspector .ug-title button { display:none; }
#section-inspector.underground-active .prop-box { display:none; }
#section-library-search { width:100%; margin-top:11px; padding:8px 10px; background:#fafbf7; border:1px solid #dce3d8; border-radius:6px; font:12px inherit; outline:none; }
#section-library-search:focus { border-color:var(--accent); }
.section-landscape-actions { display:flex; gap:6px; margin-top:8px; }
.section-landscape-actions button { flex:1; padding:7px 3px; border:1px solid #dce3d8; border-radius:5px; background:white; color:var(--accent-ink); font:11px inherit; cursor:pointer; }
body[data-workspace=section] #element-dock, body[data-workspace=""] #element-dock { width:196px; background:#f9faf6; }
body[data-workspace=section] .dock-head { background:#f7f8f2; padding:14px 12px 12px; }
body[data-workspace=section] .dock-grid { gap:5px; }
body[data-workspace=section] .el-btn { border-radius:5px; background:#fff; border-color:#e0e5dc; padding:8px 3px; box-shadow:none; }
body[data-workspace=section] .el-btn[hidden], .dock-grid[hidden] { display:none; }
body[data-workspace=section] .dock-label { display:flex; justify-content:space-between; letter-spacing:0; font-size:11px; font-weight:600; padding:7px 2px; color:#63725f; cursor:pointer; }
body[data-workspace=section] .dock-label::after { content:'−'; color:#99a392; }
body[data-workspace=section] [data-collapsed=true] .dock-label::after { content:'+'; }
body[data-workspace=section] #viewport { background:#f8faf5; }
@media(max-width:1100px) { #section-inspector { flex-basis:304px; width:304px; } body[data-workspace=section] #element-dock { width:174px; } }
@media(max-width:900px) {
  #app-bar, #param-bar { overflow-x:auto; scrollbar-width:none; }
  #app-bar>* { flex-shrink:0; }
  body[data-workspace=section] #element-dock { width:144px; }
  #section-inspector { position:absolute; bottom:0; right:0; left:144px; width:auto; height:42%; border-top:1px solid #dce2d9; border-left:0; }
  #mid:has(>#section-inspector:not([hidden])) #viewport { height:58%; align-self:flex-start; }
  .section-inspector-head { padding:8px 14px; }.section-inspector-head small { display:none; }
  #section-inspector .prop-box { display:grid; grid-template-columns:minmax(220px,1fr) minmax(260px,1.2fr); }
  #section-inspector .prop-main { border-bottom:0; border-right:1px solid #e5e9e1; }
}
@media(max-width:640px) { #section-inspector .prop-box { display:block; } }

/* 所有参数窗口与已有属性栏共用右侧固定空间，画布仍可操作。 */
#section-inspector.dialog-active { flex-basis:520px;width:520px;max-width:48vw; }
#section-inspector.dialog-active>.section-inspector-head,
#section-inspector.dialog-active>#section-inspector-body { display:none; }
#section-inspector #dialog-host { position:static;inset:auto;display:flex;flex:1;min-height:0;pointer-events:none;z-index:auto; }
#section-inspector #dialog-host:empty { display:none; }
#section-inspector #dialog-host>.dialog { position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;margin:0!important;width:100%!important;min-width:0!important;max-width:100%!important;max-height:none!important;height:100%;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;pointer-events:auto; }
#section-inspector .dialog-title { cursor:default;flex:none;min-height:48px; }
#section-inspector .dialog-body { flex:1;min-height:0;max-height:none!important;overflow:auto!important; }
#section-inspector .dialog-actions { flex:none;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px;background:white; }
#section-inspector .dialog-row { min-width:0; }
#section-inspector .dialog-row input,#section-inspector .dialog-row select { min-width:0; }
#section-inspector .railway-dialog .dialog-row>label { flex-basis:142px; }
#section-inspector .help-panel { max-width:none;max-height:none; }
#section-inspector #dialog-host>.dock-native { display:block;overflow:auto;padding:18px; }
#section-inspector #release-notes { padding:0!important; }
#section-inspector #release-notes .release-notes-body { max-height:none; }
@media(max-width:900px){
  #section-inspector.dialog-active { position:absolute;top:0;right:0;left:auto;bottom:0;width:min(440px,92vw);max-width:92vw;height:100%;border-left:1px solid var(--line); }
  #mid:has(>#section-inspector.dialog-active) #viewport { height:100%;align-self:stretch; }
  #section-inspector .rail-template-grid { grid-template-columns:1fr; }
}
.mobile-workspace #section-inspector.dialog-active { position:absolute!important;left:auto!important;right:0!important;top:0!important;bottom:0!important;width:min(440px,94vw)!important;max-width:94vw!important;height:100%!important;max-height:none!important;min-height:0;border-radius:0; }
.mobile-workspace #section-inspector.dialog-active #dialog-host>.dialog { width:100%!important;max-width:100%!important;max-height:none!important;left:auto!important;right:auto!important;top:auto!important; }

#viewport.dimension-inserting { cursor:crosshair!important; }
#viewport.dimension-inserting #svg-overlay * { pointer-events:none!important;cursor:crosshair!important; }
#section-context-menu { position:fixed;z-index:260;min-width:210px;max-width:calc(100vw - 16px);max-height:calc(100vh - 16px);overflow:auto;padding:5px;background:#fff;border:1px solid #cbd9d1;border-radius:8px;box-shadow:0 8px 28px #223c3929;color:#2e4940;font:13px 'Microsoft YaHei',sans-serif; }
#section-context-menu .context-menu-title { padding:7px 10px;color:#74877d;font-size:12px;border-bottom:1px solid #eef2ee;margin-bottom:3px; }
#section-context-menu button { display:block;width:100%;min-height:31px;padding:6px 12px;border:0;border-radius:4px;background:transparent;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:pointer; }
#section-context-menu button:hover,#section-context-menu button:focus-visible { background:#edf5ef;outline:1px solid #90b6a3; }
#section-context-menu button:disabled { color:#a8b3ac;cursor:default;outline:0;background:none; }
#section-context-menu [data-context-action=delete] { color:#a34038; }
#section-context-menu .context-menu-separator { height:1px;background:#e7eee9;margin:5px 4px; }

.context-insert-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 20px}.context-insert-grid button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:64px;padding:8px;border:1px solid #d7e2de;border-radius:6px;background:#fff;color:#315f54;cursor:pointer}.context-insert-grid button:hover{background:#edf5f1;border-color:#8cb2a1}.context-insert-grid svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:3}
