body { background: #100d19; overflow-x: hidden; }
.editor-header { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 25px; border-bottom: 1px solid var(--line); background: #181222ef; backdrop-filter: blur(18px); }
.editor-header>a { font-size: 12px; color: var(--pink); }
.editor-header h1 { font-size: 20px; letter-spacing: -.02em; margin: 0; }
.editor-header h1 span { font-size: 9px; color: var(--muted); letter-spacing: .1em; margin-left: 12px; }
.editor-header>div { display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--muted); }
.editor-main { padding: 20px; max-width: 1900px; margin: auto; }
.editor-panel { background: #1b1526; border: 1px solid var(--line); border-radius: 9px; padding: 20px; min-width: 0; }
.editor-panel h2 { font-size: 17px; letter-spacing: -.015em; margin: 0 0 15px; }
.editor-panel h3 { font-size: 14px; }
.editor-panel p { font-size: 12px; }
.editor-panel button { font-size: 11px; padding: 9px 12px; }
.editor-panel input,.editor-panel select,.editor-panel textarea { font-size: 12px; padding: 9px; }
.editor-panel form label,.editor-panel>label { font-size: 11px; margin-bottom: 13px; }
.editor-panel textarea { font-family: Consolas,monospace; }
.editor-help { color: var(--muted); font-size: 11px !important; line-height: 1.8; }
#editor-status { min-height: 22px; margin: 10px 0; font-size: 12px; white-space: pre-wrap; }
#editor-auth { max-width: 600px; margin: 35px auto; }
.workspace-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: 15px; margin-bottom: 18px; }
.workspace-toolbar>label { display: flex; align-items: center; gap: 13px; margin: 0; font-size: 12px; }
.workspace-toolbar select { min-width: 230px; }
#workspace-meta { color: var(--muted); font-size: 11px; margin-left: auto; }
.editor-layout { display: grid; grid-template-columns: 245px minmax(350px,1fr) 330px; gap: 18px; align-items: start; }
.building-panel,.operations-panel { position: sticky; top: 90px; max-height: calc(100svh - 115px); overflow: auto; scrollbar-width: thin; }
#building-search { display: flex; gap: 7px; margin: 0 0 10px; }
#building-status { font-size: 10px; color: var(--muted); }
.selection-tools { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin: 8px 0 15px; }
.selection-tools button { font-size: 10px; padding: 5px 0; margin-right: 9px; }
.selection-tools span { font-size: 10px; color: var(--muted); }
.building-row { display: flex; align-items: start; gap: 8px; padding: 9px 0; border-bottom: 1px solid var(--line); }
.building-row input { width: 14px; flex-shrink: 0; margin-top: 13px; }
.building-row button { display: block; text-align: left; border: 1px solid transparent; flex: 1; padding: 8px; min-width: 0; overflow-wrap: anywhere; font-weight: 400; }
.building-row button span { display: block; font-size: 9px; color: var(--muted); }
.building-row button[aria-pressed=true] { border-color: #b8d9ff66; color: #c2dfff; background: #a2caff09; }
.building-pagination { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; font-size: 10px; color: var(--muted); }
.building-pagination button { padding: 6px 12px; }
.editor-center { display: grid; gap: 18px; min-width: 0; }
.viewer-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; margin-bottom: 13px; }
.viewer-heading h2 { margin: 0; }
.viewer-heading>label { display: flex; align-items: center; gap: 8px; font-size: 11px; }
.viewer-heading select { width: 130px; }
.viewer-stage { position: relative; height: min(52svh,560px); min-height: 320px; background: #13101e; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
#editor-canvas { display: block; width: 100%; height: 100%; touch-action: none; }
#scene-status { position: absolute; bottom: 12px; left: 15px; right: 15px; margin: 0; pointer-events: none; font-size: 10px; color: #d6d2e1; text-shadow: 0 1px 6px #000; }
.viewer-controls { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 12px 0; }
.viewer-controls label,.checkbox-label { display: inline-flex; align-items: center; flex-direction: row; gap: 6px; font-size: 11px; }
.viewer-controls input,.checkbox-label input { width: auto; }
.operations-panel details { border-top: 1px solid var(--line); padding: 14px 0; }
.operations-panel summary,.history-panel summary { font-size: 12px; cursor: pointer; color: #e0d4e9; }
.operations-panel details form { margin-top: 18px; }
.operations-panel form+form { border-top: 1px solid var(--line); padding-top: 18px; }
.operations-panel form button { width: 100%; }
.operations-panel details>label { display: block; margin-top: 15px; font-size: 11px; }
.batch-panel,.publish-panel,.history-panel { margin-top: 18px; }
#operations-list { margin-bottom: 0; padding-left: 24px; }
#operations-list li { border-top: 1px solid var(--line); padding: 12px 0; font-size: 11px; overflow-wrap: anywhere; }
#operations-list li button { float: right; padding: 4px 8px; margin-left: 15px; }
#operations-list pre { white-space: pre-wrap; font-size: 10px; color: var(--muted); }
.publish-panel { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.publish-panel>.actions { margin-left: auto; }
#workspace-validation,#validation-issues { width: 100%; margin: 0; font-size: 12px; white-space: pre-wrap; }
#workspace-diff details { padding: 10px 0; border-top: 1px solid var(--line); font-size: 11px; }
#workspace-diff pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 10px; color: var(--muted); }
#workspace-conflicts p { color: #ffb3a5; white-space: pre-wrap; }
.history-panel label { display: block; margin-top: 18px; max-width: 340px; }
#workspace-create-status { white-space: pre-wrap; font-size: 12px; }
@media(max-width: 1250px) { .editor-layout { grid-template-columns: 210px minmax(300px,1fr); } .operations-panel { position: static; grid-column: 1 / -1; max-height: none; display: grid; grid-template-columns: 1fr 1fr; column-gap: 30px; } .operations-panel>h2,.operations-panel>p { grid-column: 1 / -1; } }
@media(max-width: 750px) { .editor-header { padding: 13px 15px; gap: 10px; flex-wrap: wrap; } .editor-header h1 { font-size: 17px; } .editor-header h1 span { display: none; } .editor-header>div { margin-left: auto; } .editor-main { padding: 12px; } .workspace-toolbar>label { width: 100%; display: block; } .workspace-toolbar select { width: 100%; min-width: 0; } #workspace-meta { margin-left: 0; width: 100%; } .editor-layout { display: flex; flex-direction: column; } .editor-layout>* { width: 100%; } .building-panel { position: static; max-height: 480px; } .operations-panel { display: block; } .editor-panel { padding: 16px; } .viewer-stage { height: 370px; } .publish-panel>.actions { margin-left: 0; } .editor-header>a { font-size: 11px; } }

#workspace-version-form { display:flex; gap:10px; align-items:end; flex-wrap:wrap; } #workspace-version-form label { margin:0; } #workspace-version-form input { max-width:150px; }

.workspace-toolbar>label { white-space: nowrap; } #building-search input { min-width: 0; flex: 1; width: 0; } #building-search button { flex-shrink: 0; }

@media(max-width:750px) { .workspace-toolbar>label { display:flex; flex-direction:column; align-items:stretch; gap:7px; white-space:normal; } }
