:root{--bg-canvas:#1E1E1E;--bg-panel:#2C2C2C;--bg-panel-glass:rgba(44,44,44,0.90);--bg-input:#1C1C1C;--bg-hover:#383838;--bg-active:#18A0FB;--border-subtle:#3A3A3A;--border-focus:#18A0FB;--text-primary:#FFFFFF;--text-secondary:#A1A1A1;--text-tertiary:#686868;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--font-stack:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Roboto,Helvetica,Arial,sans-serif;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--panel-left-width:clamp(248px,24vw,360px);--panel-card-width:min(260px,calc(100vw - 16px));--panel-card-width-compact:min(248px,calc(100vw - 16px));--panel-left-mobile-width:min(94vw,372px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}body,html{width:100%;min-height:100%}body{background-color:var(--bg-canvas);color:var(--text-primary);font-family:var(--font-stack);font-size:11px;height:100vh;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.viewport{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;background:radial-gradient(circle at center,#252525 0,#1a1a1a 100%);overflow:hidden}.viewport canvas{width:100%;height:100%;display:block}.under-construction-banner{position:fixed;left:var(--space-sm);bottom:var(--space-sm);z-index:24;pointer-events:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:var(--panel-card-width);max-width:calc(100vw - 16px);padding:6px 10px;border-radius:999px;border:1px solid rgba(251,191,36,.52);background:rgba(37,29,5,.82);color:#fde68a;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 20px rgba(0,0,0,.34)}.under-construction-banner span:first-child{font-size:13px;line-height:1}.ui-layer{position:relative;z-index:10;width:100%;height:100%;pointer-events:none;display:grid;grid-template-columns:var(--panel-left-width) 1fr 280px;grid-template-rows:1fr auto;padding:var(--space-sm);transition:grid-template-columns .2s ease}.ui-layer.ui-left-minimized{grid-template-columns:46px 1fr 280px}.ui-layer.ui-right-minimized{grid-template-columns:var(--panel-left-width) 1fr 54px}.ui-layer.ui-left-minimized.ui-right-minimized{grid-template-columns:46px 1fr 54px}.ui-toolbar{grid-column:2;grid-row:1;justify-self:center;align-self:start;margin-top:var(--space-sm);display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:rgba(8,12,20,.6);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 6px 22px rgba(0,0,0,.32);z-index:30}.ui-toolbar,.ui-toolbar-btn{pointer-events:auto;border:1px solid rgba(255,255,255,.12)}.ui-toolbar-btn{background:rgba(255,255,255,.04);color:var(--text-secondary);border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background-color .15s ease}.ui-toolbar-btn:hover{border-color:rgba(125,211,252,.4);color:#dbeafe}.ui-toolbar-btn.active{color:#dbeafe;border-color:rgba(125,211,252,.55);background:rgba(24,160,251,.2)}.ui-toolbar-btn.ui-toolbar-btn-all{border-color:rgba(125,211,252,.4);color:#dbeafe}.panel-left-shell{grid-column:1;grid-row:1/-1;pointer-events:none;display:flex;align-items:flex-start;justify-content:flex-start}.panel-left-stack{pointer-events:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:100%;max-width:min(var(--panel-left-width),calc(100vw - 16px));min-height:0;max-height:calc(100dvh - 16px);overflow-y:auto;overflow-x:hidden;padding-right:2px}.panel-left-card{width:100%;max-height:none;overflow:visible}.panel-left-card .panel-section{padding:10px}.panel-left-card-body{width:100%}.panel-left-card-body-builder{max-height:calc(100dvh - 156px);overflow-y:auto;overflow-x:hidden}.authoring-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-bottom:8px}.authoring-tab{border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.04);color:var(--text-secondary);font-size:10px;font-weight:600;padding:6px 8px;text-align:center;cursor:pointer;transition:border-color .15s ease,color .15s ease,background-color .15s ease}.authoring-tab:hover{color:#dbeafe;border-color:rgba(125,211,252,.45)}.authoring-tab.active{color:#dbeafe;border-color:rgba(125,211,252,.62);background:rgba(24,160,251,.2)}.drawer-left-embedded{padding-top:0;border-bottom:none}.drawer-left{pointer-events:auto;flex-shrink:0;display:flex;flex-direction:column;padding-top:var(--space-sm);border-bottom:1px solid var(--border-subtle)}.section-header{padding:0 var(--space-lg);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid transparent}.section-header,.tree-item{height:34px;display:flex;align-items:center;color:var(--text-secondary)}.tree-item{padding:0 12px 0 8px;cursor:pointer;border-left:2px solid transparent;transition:background-color .16s ease,color .16s ease}.tree-item:hover{background-color:rgba(255,255,255,.03);color:var(--text-primary)}.tree-item.active{background-color:rgba(24,160,251,.18);color:var(--text-primary);border-left-color:var(--bg-active);font-weight:600}.chevron{width:16px;height:16px;display:flex;align-items:center;justify-content:center;margin-right:6px;opacity:.7}.chevron svg{width:8px;height:8px;fill:currentColor;transform:rotate(0deg);transition:transform .2s}.chevron.expanded svg{transform:rotate(90deg)}.tree-icon{width:14px;display:inline-flex;justify-content:center;margin-right:8px;opacity:.85}.panel-right{grid-column:3;grid-row:1/-1;pointer-events:none;justify-content:space-between;padding-top:0;padding-bottom:var(--space-sm)}.panel-right,.panel-right-top{display:flex;flex-direction:column;align-items:flex-end;min-height:0}.panel-right-top{gap:6px;flex:1 1;overflow:hidden}.panel-card-host{width:100%;justify-content:flex-end;min-height:0}.panel-card-host,.panel-specs{display:flex;max-height:100%;overflow:hidden}.panel-specs{pointer-events:auto;flex-shrink:0;background-color:var(--bg-panel-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:0 4px 20px rgba(0,0,0,.4);flex-direction:column;border:1px solid rgba(255,255,255,.08);width:var(--panel-card-width);overflow-y:auto;transition:width .18s ease,transform .18s ease,opacity .18s ease}.panel-left-stack .panel-specs{max-height:none;overflow:visible}.panel-presets{max-height:min(42vh,360px)}.panel-presets,.panel-specs-key{width:var(--panel-card-width-compact)}.panel-specs-minimal{width:auto;border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible;max-height:none}.panel-minimal-toggle{width:34px;height:34px;border-radius:999px;border:1px solid rgba(125,211,252,.35);background:rgba(15,23,42,.64);color:#a8d9ff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(2,6,23,.45);transition:background-color .15s ease,color .15s ease,border-color .15s ease}.panel-minimal-toggle:hover{background:rgba(30,64,175,.48);border-color:rgba(125,211,252,.68);color:#dbeafe}.panel-minimal-toggle svg{width:16px;height:16px}.panel-minimal-toggle[aria-disabled=true]{cursor:not-allowed;opacity:.72}.panel-section{padding:var(--space-md);border-bottom:1px solid var(--border-subtle)}.panel-section:last-child{border-bottom:none}.inspector-badge{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--bg-active);font-weight:700}.inspector-selection{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.inspector-caption{color:var(--text-secondary);font-size:11px}.insight-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.insight-card{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.05);background:rgba(0,0,0,.2)}.insight-label{color:var(--text-secondary);font-size:11px}.insight-value,.inspector-value{color:var(--text-primary);font-size:11px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel-title{font-weight:700;font-size:11px;color:var(--text-primary);margin-bottom:var(--space-md);display:flex;justify-content:space-between;align-items:center}.panel-title-with-controls{margin-bottom:8px}.inspector-actions{display:inline-flex;align-items:center;gap:6px}.inspector-action-btn{width:22px;height:22px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.2);color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.inspector-action-btn:hover{background:rgba(24,160,251,.2);border-color:rgba(125,211,252,.55);color:var(--text-primary)}.inspector-action-btn svg{width:12px;height:12px;fill:currentColor}.inspector-key-grid{margin-top:10px;display:grid;grid-gap:6px;gap:6px}.inspector-key-card{padding:7px 8px;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.18)}.control-row,.inspector-key-card{display:flex;justify-content:space-between;align-items:center}.control-row{margin-bottom:var(--space-sm)}.control-row.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.input-group{display:flex;align-items:center;background-color:transparent;color:var(--text-secondary)}.input-group label{width:16px;font-size:10px;cursor:ew-resize}.input-field{background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);padding:4px 6px;font-size:11px;font-family:inherit;width:100%;transition:border .15s}.input-field:focus{outline:none;border-color:var(--border-focus);background-color:#000}.input-field:hover:not(:focus){border-color:#555}.dropdown{background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-md);padding:6px 8px;min-height:30px;display:flex;justify-content:space-between;align-items:center;color:var(--text-primary);cursor:pointer;width:100%;transition:background-color .15s ease,border-color .15s ease}.dropdown:hover{border-color:#555;background-color:#171717}.dropdown-wrapper:focus-within .dropdown{border-color:var(--border-focus)}.color-well{width:16px;height:16px;background:linear-gradient(135deg,#FF6B6B,#556270);border-radius:2px;margin-right:8px;border:1px solid rgba(255,255,255,.2)}.color-row{background:var(--bg-input);padding:4px;border-radius:var(--radius-md)}.color-row,.controls-bottom{display:flex;align-items:center}.controls-bottom{pointer-events:auto;flex-shrink:0;width:auto;max-width:calc(100vw - 24px);background-color:var(--bg-panel-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:6px;gap:4px;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 20px rgba(0,0,0,.4)}.controls-bottom-minimal{width:auto;border:none;box-shadow:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0}.controls-bottom-divider{width:1px;height:22px;margin:0 2px;background:rgba(255,255,255,.16)}.controls-bottom-collapse{width:26px;height:26px;margin-left:1px;flex-shrink:0}.controls-bottom-collapse svg{width:13px;height:13px}.controls-bottom button[data-tooltip],.controls-bottom-minimal button[data-tooltip]{position:relative}.controls-bottom button[data-tooltip]:focus-visible:after,.controls-bottom button[data-tooltip]:hover:after,.controls-bottom-minimal button[data-tooltip]:focus-visible:after,.controls-bottom-minimal button[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 9px);transform:translateX(-50%);padding:4px 8px;border-radius:var(--radius-md);background:rgba(10,16,28,.94);border:1px solid rgba(125,211,252,.4);color:#dbeafe;font-size:10px;line-height:1;white-space:nowrap;max-width:calc(100vw - 20px);pointer-events:none;z-index:40}.controls-bottom button[data-tooltip]:focus-visible:before,.controls-bottom button[data-tooltip]:hover:before,.controls-bottom-minimal button[data-tooltip]:focus-visible:before,.controls-bottom-minimal button[data-tooltip]:hover:before{content:"";position:absolute;left:50%;bottom:calc(100% + 5px);width:6px;height:6px;background:rgba(10,16,28,.94);border-left:1px solid rgba(125,211,252,.4);border-bottom:1px solid rgba(125,211,252,.4);transform:translateX(-50%) rotate(-45deg);pointer-events:none;z-index:39}.controls-bottom .controls-bottom-collapse[data-tooltip]:focus-visible:after,.controls-bottom .controls-bottom-collapse[data-tooltip]:hover:after,.controls-bottom-minimal button[data-tooltip]:focus-visible:after,.controls-bottom-minimal button[data-tooltip]:hover:after{left:auto;right:0;transform:none}.controls-bottom .controls-bottom-collapse[data-tooltip]:focus-visible:before,.controls-bottom .controls-bottom-collapse[data-tooltip]:hover:before,.controls-bottom-minimal button[data-tooltip]:focus-visible:before,.controls-bottom-minimal button[data-tooltip]:hover:before{left:auto;right:10px;transform:rotate(-45deg)}.icon-btn{width:32px;height:32px;border:none;background:transparent;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;position:relative;transition:all .2s}.icon-btn:hover{background-color:var(--bg-hover);color:var(--text-primary)}.icon-btn.active{background-color:var(--bg-active);color:#fff}.icon-btn svg{width:16px;height:16px;fill:currentColor}.text-label{color:var(--text-secondary)}.flex-row-sp{display:flex;justify-content:space-between;align-items:center;width:100%}.divider{height:1px;background-color:var(--border-subtle);margin:8px 0;width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-canvas)}::-webkit-scrollbar-thumb{background:#444;border-radius:4px;border:2px solid var(--bg-canvas)}.param-drawer{pointer-events:auto;flex-shrink:0;width:100%;margin-top:var(--space-xs);background-color:rgba(255,255,255,.01);border:none;border-top:1px solid var(--border-subtle);border-radius:0;box-shadow:none;overflow:hidden;transition:max-height .24s ease}.param-drawer-embedded{margin-top:0;border-top:none;background-color:transparent}.param-drawer.open{max-height:1200px}.param-drawer.closed{max-height:36px}.param-drawer-header{width:100%;height:36px;border:none;background:transparent;display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-md);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-align:left}.param-drawer-header:focus-visible{outline:1px solid var(--border-focus);outline-offset:-1px}.param-drawer.closed .param-drawer-header{border-bottom:none}.param-drawer-header:hover{background-color:rgba(255,255,255,.02)}.param-drawer-title{font-weight:700;font-size:11px;color:var(--text-primary)}.param-drawer-chevron{opacity:.78;transition:transform .2s ease}.param-drawer-content{padding:var(--space-sm) var(--space-sm) var(--space-md) var(--space-sm);overflow-y:auto;max-height:620px;opacity:1;transition:opacity .16s ease}.param-drawer.closed .param-drawer-content{opacity:0;max-height:0;padding-top:0;padding-bottom:0;overflow:hidden;pointer-events:none}.param-drawer-embedded .param-drawer-content{padding:0;max-height:none;overflow-y:visible}.param-section{margin-bottom:var(--space-sm);padding:10px 10px 8px;border:1px solid rgba(255,255,255,.04);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(255,255,255,.01))}.param-section:last-child{margin-bottom:0}.preset-grid{display:grid;grid-template-columns:1fr;grid-gap:6px;gap:6px;overflow-y:auto}.preset-chip{width:100%;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:rgba(0,0,0,.2);color:var(--text-primary);text-align:left;padding:8px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.preset-chip:hover{background:rgba(24,160,251,.15);border-color:rgba(125,211,252,.45)}.preset-chip.active{background:rgba(24,160,251,.2);border-color:rgba(125,211,252,.65)}.preset-chip-label{display:block;font-size:11px;font-weight:600;margin-bottom:2px}.preset-chip-meta{display:block;line-height:1.35}.param-section-title,.preset-chip-meta{font-size:10px;color:var(--text-secondary)}.param-section-title{font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.campus-builder,.campus-parameters{width:100%;min-width:0}.builder-flow-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.builder-summary-inline{display:inline-flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.builder-summary-inline span{border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(0,0,0,.18);color:var(--text-secondary);padding:3px 8px;font-size:10px}.builder-tree{display:grid;grid-gap:8px;gap:8px;margin-bottom:8px}.builder-btn{border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-md);background:rgba(0,0,0,.2);color:var(--text-primary);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 8px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.builder-btn:hover:not(:disabled){background:rgba(24,160,251,.15);border-color:rgba(125,211,252,.45)}.builder-btn:disabled{opacity:.45;cursor:not-allowed}.builder-btn-small{padding:5px 7px}.builder-node{border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:rgba(0,0,0,.18);padding:6px}.builder-node.active{border-color:rgba(125,211,252,.46);background:rgba(24,160,251,.08)}.builder-node-main{border:none;background:transparent;color:inherit;padding:0;width:100%;text-align:left;cursor:pointer;display:grid;grid-gap:2px;gap:2px}.builder-node-title{color:var(--text-secondary);font-size:9px;letter-spacing:.06em;text-transform:uppercase}.builder-node-meta{color:var(--text-primary);font-size:11px;font-weight:600;line-height:1.25}.builder-zone-block{border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);background:rgba(255,255,255,.02);padding:6px}.builder-node-zone{display:grid;grid-template-columns:1fr auto;grid-gap:6px;gap:6px;align-items:center;margin-bottom:6px}.builder-node-actions{display:inline-flex;gap:4px}.builder-zone-toolbar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:6px}.builder-zone-note{color:var(--text-secondary);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.builder-hall-list{display:grid;grid-gap:5px;gap:5px}.builder-hall-preview-list{display:grid;grid-gap:4px;gap:4px}.builder-hall-preview{border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);background:rgba(0,0,0,.16);padding:6px;color:var(--text-primary);display:grid;grid-gap:2px;gap:2px;text-align:left;cursor:pointer}.builder-hall-preview.active{border-color:rgba(125,211,252,.45);background:rgba(24,160,251,.1)}.builder-hall-preview-name{font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:8px}.builder-hall-preview-name>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-hall-preview-meta{color:var(--text-secondary);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.builder-hall-row{border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);background:rgba(0,0,0,.16);padding:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column-gap:8px;column-gap:8px;grid-row-gap:8px;row-gap:8px;align-items:start}.builder-hall-row.active{border-color:rgba(125,211,252,.4);background:rgba(24,160,251,.09)}.builder-hall-select{border:none;background:transparent;color:var(--text-primary);text-align:left;font-size:11px;font-weight:600;cursor:pointer;min-width:0;line-height:1.3;padding:2px 0;display:flex;align-items:center;justify-content:space-between;gap:8px}.builder-hall-select-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.builder-profile-badge{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:1px 6px;font-size:8px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.builder-profile-badge.inherited{color:#bfdbfe;border-color:rgba(96,165,250,.45);background:rgba(37,99,235,.16)}.builder-profile-badge.overridden{color:#fde68a;border-color:rgba(251,191,36,.52);background:rgba(120,53,15,.26)}.builder-rack-count{width:64px;text-align:center;padding:5px 6px}.builder-hall-stepper{grid-column:1/-1;display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);background:rgba(255,255,255,.03);padding:4px 6px}.builder-step-btn{width:24px;height:24px;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);background:rgba(255,255,255,.04);color:var(--text-primary);font-size:12px;line-height:1;cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.builder-step-btn:hover{border-color:rgba(125,211,252,.45);background:rgba(24,160,251,.15)}.builder-hall-unit{color:var(--text-secondary);font-size:9px;min-width:38px;text-align:left;text-transform:uppercase;letter-spacing:.05em}.builder-hall-remove{min-width:74px}.builder-context-head,.builder-details{margin-bottom:8px}.builder-context-title{color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.3;margin-bottom:4px}.builder-context-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px;margin-bottom:8px}.builder-context-metric{border:1px solid rgba(255,255,255,.09);border-radius:var(--radius-md);background:rgba(0,0,0,.18);padding:6px;display:grid;grid-gap:2px;gap:2px}.builder-context-metric>span{color:var(--text-secondary);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.builder-context-metric>strong{color:var(--text-primary);font-size:12px;font-weight:700;line-height:1.2}.builder-field{display:grid;grid-gap:5px;gap:5px;margin-bottom:8px}.builder-field>span{color:var(--text-secondary);font-size:10px}.builder-grid{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px}.builder-grid.builder-grid-two{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.builder-grid>*{min-width:0}.builder-textarea{background-color:var(--bg-input);border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text-primary);padding:6px;font-size:11px;font-family:inherit;resize:vertical;min-height:46px}.builder-textarea:focus{outline:none;border-color:var(--border-focus);background-color:#000}.builder-helper{color:var(--text-secondary);font-size:10px;line-height:1.35;margin-bottom:8px}.builder-impact-line{color:#cbd5e1;font-size:10px;line-height:1.4;margin:0 0 8px}.builder-hall-override-row{border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-md);background:rgba(0,0,0,.16);padding:7px 8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.builder-hall-override-row>span:first-child{color:var(--text-secondary);font-size:9px;letter-spacing:.05em;text-transform:uppercase}.builder-validation{border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);padding:9px 10px}.builder-validation.is-valid{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.34)}.builder-validation.has-errors{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.38)}.builder-validation-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.builder-validation-scope{color:var(--text-secondary);font-size:10px;line-height:1.35;margin:0 0 6px}.builder-validation-list{margin:0;padding-left:16px;color:var(--text-primary);display:grid;grid-gap:4px;gap:4px}.builder-validation-list li{font-size:10px;line-height:1.35}.campus-params-grid{grid-template-columns:1fr}.slider-container{margin-bottom:12px}.slider-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.slider-label{font-size:11px;color:var(--text-secondary)}.slider-value{font-size:11px;color:var(--text-primary);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.slider-input{width:100%;height:18px;background:transparent;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;margin:0;padding:0}.slider-input::-webkit-slider-runnable-track{width:100%;height:4px;background:linear-gradient(90deg,rgba(24,160,251,.45),rgba(58,58,58,1));border-radius:999px}.slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;background:var(--bg-active);cursor:pointer;margin-top:-5.5px;box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-transition:transform .15s,box-shadow .15s;transition:transform .15s,box-shadow .15s}.slider-input::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 6px rgba(24,160,251,.4)}.slider-input::-moz-range-track{width:100%;height:4px;background:linear-gradient(90deg,rgba(24,160,251,.45),rgba(58,58,58,1));border-radius:999px;border:none}.slider-input::-moz-range-thumb{width:15px;height:15px;border-radius:50%;background:var(--bg-active);cursor:pointer;border:none;box-shadow:0 1px 3px rgba(0,0,0,.3);-moz-transition:transform .15s,box-shadow .15s;transition:transform .15s,box-shadow .15s}.slider-input::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 2px 6px rgba(24,160,251,.4)}.dropdown-wrapper{position:relative;width:100%;min-width:0;margin-bottom:10px}.control-row .dropdown-wrapper{margin-bottom:0}.dropdown-label{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;background-color:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 4px 12px rgba(0,0,0,.5);z-index:1000;max-height:min(240px,calc(100dvh - 24px));overflow-y:auto;overscroll-behavior:contain;padding:2px}.dropdown-menu-up{top:auto;bottom:calc(100% + 4px)}.dropdown-item{padding:8px 10px;color:var(--text-secondary);cursor:pointer;font-size:11px;transition:background-color .15s;border-radius:4px}.dropdown-item:hover{background-color:var(--bg-hover);color:var(--text-primary)}.dropdown-item.active{background-color:rgba(24,160,251,.15);color:var(--text-primary)}@media (max-width:1220px){:root{--panel-card-width:min(248px,calc(100vw - 16px));--panel-card-width-compact:236px}.ui-layer{grid-template-columns:272px 1fr 256px}.ui-layer.ui-left-minimized{grid-template-columns:46px 1fr 256px}.ui-layer.ui-right-minimized{grid-template-columns:272px 1fr 54px}.ui-layer.ui-left-minimized.ui-right-minimized{grid-template-columns:46px 1fr 54px}.panel-left-stack{width:272px}.panel-specs{width:var(--panel-card-width)}.panel-presets,.panel-specs-key{width:var(--panel-card-width-compact)}}@media (max-width:900px){.under-construction-banner{top:52px;bottom:auto;left:var(--space-sm);width:var(--panel-left-mobile-width);max-width:var(--panel-left-mobile-width)}.ui-layer,.ui-layer.ui-left-minimized,.ui-layer.ui-left-minimized.ui-right-minimized,.ui-layer.ui-right-minimized{display:block;grid-template-columns:none;grid-template-rows:none;padding:var(--space-sm)}.ui-toolbar{position:fixed;top:var(--space-sm);left:50%;transform:translateX(-50%);width:min(96vw,560px);justify-content:center;flex-wrap:wrap;margin-top:0;z-index:60}.ui-toolbar-btn{font-size:9px;padding:5px 8px}.panel-left-shell{position:fixed;top:52px;left:var(--space-sm);width:var(--panel-left-mobile-width);max-height:calc(100dvh - 124px);z-index:45}.panel-left-stack{width:100%;max-height:calc(100dvh - 124px);overflow-y:auto}.panel-left-card{max-width:100%}.panel-left-card-body-builder{max-height:min(54vh,500px)}.panel-right{position:fixed;top:52px;right:var(--space-sm);bottom:58px;width:min(84vw,312px);padding-top:0;padding-bottom:0;align-items:stretch;z-index:44}.panel-right-top{align-items:stretch;width:100%}.panel-card-host{justify-content:stretch}.panel-presets,.panel-specs{width:100%;max-width:100%}.controls-bottom,.controls-bottom-minimal{position:fixed;left:50%;bottom:var(--space-sm);transform:translateX(-50%);z-index:55;max-width:calc(100vw - 16px)}.controls-bottom{overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}.controls-bottom::-webkit-scrollbar{height:4px}.controls-bottom .icon-btn{flex-shrink:0}.builder-context-metrics,.builder-grid.builder-grid-two{grid-template-columns:1fr}.builder-hall-row{grid-template-columns:minmax(0,1fr) auto}.builder-hall-unit{min-width:32px}}@media (max-width:520px){:root{--panel-left-mobile-width:min(92vw,352px)}.ui-toolbar{width:calc(100vw - 12px);padding:3px;gap:3px}.ui-toolbar-btn{font-size:8px;letter-spacing:.04em;padding:4px 6px}.panel-left-shell{width:var(--panel-left-mobile-width)}.panel-right{width:min(90vw,304px)}}