:root{--bg:#1f1f1f;--panel:#2a2a2a;--panel-raised:#323232;--panel-header:#252525;--border:#3d3d3d;--text:#d6d6d6;--text-muted:#8f8f8f;--text-strong:#f2f2f2;--accent:#3b8eea;--accent-soft:#3b8eea38;--selection:#0b5cad;--danger:#e5534b;--danger-soft:#e5534b2e;--ok:#4fb36b;--input-bg:#1b1b1b;--radius:4px;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;font-size:13px;line-height:1.4}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,select,textarea{font:inherit;color:inherit}code{font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:12px}.app{flex-direction:column;height:100%;display:flex;overflow:hidden}.topbar{background:var(--panel-header);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:16px;height:44px;padding:0 14px;display:flex}.topbar-title{align-items:center;gap:10px;display:flex}.topbar-title h1{color:var(--text-strong);margin:0;font-size:14px;font-weight:600}.topbar-logo{color:var(--accent);font-size:16px}.topbar-tag{background:var(--accent-soft);color:#9cc8f7;border-radius:999px;padding:2px 8px;font-size:11px}.topbar-meta{color:var(--text-muted);font-size:12px}.topbar-actions{gap:8px;margin-left:auto;display:flex}.button{border:1px solid var(--border);background:var(--panel-raised);border-radius:var(--radius);cursor:pointer;padding:4px 12px}.button:hover{background:#3b3b3b}.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}.button-primary:hover{background:#4b9bf0}.button-danger{background:var(--danger);border-color:var(--danger);color:#fff}.button-danger:hover{background:#ef6a63}.icon-button{border-radius:var(--radius);min-width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;font-size:15px;line-height:1;display:inline-flex}.icon-button:hover{color:var(--text-strong);background:#3d3d3d}.workspace-layout{flex:1;min-height:0;display:flex}.pane{flex-shrink:0;min-width:220px;display:flex}.pane-fill{flex:1;min-width:320px}.resizer{cursor:col-resize;background:var(--border);touch-action:none;flex-shrink:0;width:5px}.resizer:hover{background:var(--accent)}.panel{background:var(--panel);flex-direction:column;flex:1;min-width:0;display:flex}.panel-header{background:var(--panel-header);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:30px;padding:0 8px 0 12px;display:flex}.panel-header h2{letter-spacing:.02em;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:12px;font-weight:600;overflow:hidden}.panel-header-actions{flex-shrink:0;gap:6px;display:flex}.panel-header-button{height:23px;padding:2px 9px;font-size:11px}.panel-header-button.is-active{color:#fff;background:var(--accent);border-color:var(--accent)}.panel-toolbar{border-bottom:1px solid var(--border);flex-shrink:0;padding:6px 8px}.text-input,.value-input{background:var(--input-bg);border:1px solid var(--border);border-radius:var(--radius);outline:none;width:100%;min-width:0;padding:3px 7px}.text-input:focus,.value-input:focus{border-color:var(--accent)}.empty-hint,.empty-state{color:var(--text-muted);margin:0;padding:10px 12px}.empty-state{text-align:center;padding:32px 20px}.muted{color:var(--text-muted)}.class-glyph{image-rendering:pixelated;background-repeat:no-repeat;flex-shrink:0;display:inline-block}.tree{outline:none;flex:1;padding:4px 0;overflow:auto}.tree:focus-visible .tree-row.is-selected{outline-offset:-1px;outline:1px solid #6fb0f5}.tree-row{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;height:24px;padding-right:6px;display:flex}.tree-row:hover{background:#353535}.tree-row.is-selected{background:var(--selection);color:#fff}.tree-row.is-dragging{opacity:.5}.tree-row.drop-valid{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.tree-row.drop-invalid{background:var(--danger-soft);box-shadow:inset 0 0 0 1px var(--danger);cursor:no-drop}.tree-chevron{width:14px;height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:11px}.tree-chevron.is-empty{cursor:default}.tree-row-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.tree-row-badge{color:var(--text-muted);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:10px}.tree-row.is-selected .tree-row-badge{color:#d5e7fb;border-color:#ffffff59}.tree-row-insert{visibility:hidden;width:18px;height:18px;color:inherit;cursor:pointer;background:#ffffff14;border:none;border-radius:3px;line-height:1}.tree-row:hover .tree-row-insert{visibility:visible}.tree-row-insert:hover{background:var(--accent);color:#fff}.tree-rename-input{background:var(--input-bg);border:1px solid var(--accent);border-radius:3px;outline:none;flex:1;min-width:0;height:20px;padding:0 4px}.context-menu{z-index:40;background:var(--panel-raised);border:1px solid var(--border);border-radius:6px;min-width:170px;padding:4px;position:fixed;box-shadow:0 8px 24px #00000073}.context-menu-item{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;width:100%;padding:5px 10px;display:block}.context-menu-item:hover:not(:disabled){background:var(--selection);color:#fff}.context-menu-item:disabled{color:#666;cursor:default}.modal-backdrop{z-index:50;background:#00000080;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);border-radius:8px;flex-direction:column;width:min(520px,92vw);max-height:72vh;display:flex;box-shadow:0 18px 48px #0000008c}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px 10px 16px;display:flex}.modal-header h2{color:var(--text-strong);margin:0;font-size:14px}.modal-body{padding:12px 16px 16px;overflow:auto}.property-export-frame{background:#1c1c1c;border:1px solid #111;max-height:calc(72vh - 180px);overflow:auto}.property-export-preview{width:min(400px,100%);height:auto;display:block}.explorer-export-frame{background:#17191f}.explorer-export-preview{width:auto;max-width:100%}.property-export-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.dialog-subtitle{color:var(--text-muted);margin:0 0 10px}.dialog-search{margin-bottom:8px}.dialog-error{color:var(--danger);margin:0;font-size:12px}.bulk-property-input{min-height:180px;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace}.dialog-footnote{color:var(--text-muted);margin:10px 0 0;font-size:12px}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.class-list{max-height:46vh;margin:0;padding:0;list-style:none;overflow:auto}.class-option{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;grid-template-columns:20px 110px 1fr;align-items:center;gap:8px;width:100%;padding:6px 8px;display:grid}.class-option.is-active{background:var(--selection);color:#fff}.class-option-name{font-weight:600}.class-option-description{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.class-option.is-active .class-option-description{color:#d5e7fb}.delete-preview{max-height:160px;margin:6px 0;padding-left:20px;overflow:auto}.instance-summary{border-bottom:1px solid var(--border);background:#2d2d2d;gap:12px;padding:12px;display:flex}.instance-summary-text{min-width:0}.instance-summary-name{color:var(--text-strong);font-size:15px;font-weight:600}.instance-summary-path{color:#9cc8f7;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.class-chain{flex-wrap:wrap;gap:4px;margin-top:4px;font-size:12px;display:flex}.chain-concrete{color:var(--text-strong)}.chain-abstract{color:var(--text-muted);font-style:italic}.chain-sep{color:#666;margin-right:4px;font-style:normal}.class-description{color:var(--text-muted);margin:4px 0 0;font-size:12px}.properties-scroll{flex:1;padding-bottom:24px;overflow:auto}.customize-banner{background:#3b8eea1f;border-bottom:1px solid #3b8eea59;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.customize-banner strong,.customize-banner span{display:block}.customize-banner span{color:var(--text-muted);font-size:11px}.customize-actions{flex-shrink:0;gap:6px;display:flex}.schema-action{flex-shrink:0}.schema-form{grid-template-columns:1fr 1fr;gap:12px;display:grid}.schema-form>label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.schema-form-wide{grid-column:1/-1}.schema-checkbox{grid-column:1/-1;align-items:center;flex-direction:row!important}.schema-default{color:var(--text-muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.schema-default>.reference-field,.schema-default>.number-field,.schema-default>.vector-field,.schema-default>.cframe-field,.schema-default>.color-field,.schema-default>.value-input{color:var(--text)}.category-header{border-bottom:1px solid var(--border);z-index:1;background:#303030;justify-content:space-between;align-items:center;height:26px;padding-right:8px;display:flex;position:sticky;top:0}.category-toggle{text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:6px;height:100%;padding:0 8px;font-weight:600;display:flex}.category-chevron{width:10px;color:var(--text-muted);font-size:11px}.category-count{color:var(--text-muted);font-size:11px;font-weight:400}.category-add{flex-shrink:0}.property-row{border-bottom:1px solid #333;grid-template-columns:minmax(120px,34%) 1fr;align-items:start;min-height:28px;display:grid}.property-row:hover{background:#2f2f2f}.property-name{padding:5px 8px 5px calc(6px + var(--property-depth,0) * 16px);color:var(--text);text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #333;align-items:center;gap:4px;min-height:28px;display:flex;overflow:hidden}.property-chevron,.property-chevron-spacer{width:12px;min-width:12px}.property-chevron{height:18px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0}.property-chevron-spacer{display:inline-block}.property-value{align-items:center;gap:6px;min-width:0;min-height:28px;padding:3px 8px;display:flex}.property-row.is-readonly .property-name,.readonly-value{color:var(--text-muted)}.property-row.is-dragging{opacity:.45}.property-row.drop-before{box-shadow:inset 0 2px 0 var(--accent)}.property-row.drop-after{box-shadow:inset 0 -2px 0 var(--accent)}.property-row.drop-inside,.category-header.drop-inside{box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-soft)}.property-drag-handle{width:14px;min-width:14px;height:18px;color:var(--text-muted);cursor:grab;background:0 0;border:0;padding:0;font-size:11px;line-height:18px}.property-drag-handle:active{cursor:grabbing}.property-row.is-disabled .property-name,.property-row.is-disabled .variant-editor-fieldset{opacity:.55}.variant-editor-fieldset{border:0;min-width:0;margin:0;padding:0;display:contents}.readonly-value{text-overflow:ellipsis;white-space:nowrap;padding:2px 0;overflow:hidden}.value-textarea{resize:vertical;font-family:JetBrains Mono,SF Mono,Menlo,Consolas,monospace;font-size:12px}.value-select{padding:2px 4px}.value-checkbox{width:15px;height:15px;accent-color:var(--accent)}.number-field{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.value-slider{min-width:60px;accent-color:var(--accent);flex:1}.number-field .value-number{max-width:90px}.vector-field{flex:1;grid-template-columns:repeat(3,1fr);gap:4px;min-width:0;display:grid}.vector-component{align-items:center;gap:3px;min-width:0;display:flex}.vector-axis{color:var(--text-muted);font-size:10px;font-weight:700}.cframe-field{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.cframe-row{align-items:center;gap:6px;display:flex}.cframe-label{width:68px;color:var(--text-muted);flex-shrink:0;font-size:11px}.color-field{align-items:center;gap:8px;display:flex}.value-color{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:3px;width:28px;height:20px;padding:0}.color-text{color:var(--text-muted);font-size:12px}.reference-field{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.reset-button{color:#e0b552;flex-shrink:0}.attributes .category-header{background:#2e3440}.attributes-hint{color:var(--text-muted);border-bottom:1px solid #333;margin:0;padding:6px 12px;font-size:12px}.attribute-row .property-name{padding:3px 6px 3px 18px}.attribute-name-input{font-weight:500}.attribute-type{flex-shrink:0;width:92px}.remove-button{flex-shrink:0}.remove-button:hover{color:var(--danger)}.attribute-form{flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;display:flex}.attribute-form .value-input:first-child{flex:1;min-width:140px}.field-error{color:#f08d87;flex-basis:100%;margin:2px 0 0;font-size:12px}.walkthrough{border-left:1px solid var(--border);background:#262626;flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow:auto}.walkthrough-steps{margin:0;padding:12px 16px 0 32px}.walkthrough-steps li{margin-bottom:12px}.walkthrough-steps strong{color:var(--text-strong)}.walkthrough-steps p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.walkthrough-footnote{color:#c9b27a;border-radius:var(--radius);background:#e0b55214;border:1px solid #e0b55240;margin:4px 16px 16px;padding:8px 10px;font-size:12px}.toasts{z-index:60;flex-direction:column;gap:8px;width:min(420px,90vw);display:flex;position:fixed;bottom:16px;right:16px}.toast{background:var(--panel-raised);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;align-items:flex-start;gap:10px;padding:10px 10px 10px 12px;animation:.16s ease-out toast-in;display:flex;box-shadow:0 8px 24px #0006}.toast-error{border-left-color:var(--danger)}.toast-label{text-transform:uppercase;letter-spacing:.04em;color:#9cc8f7;padding-top:1px;font-size:11px;font-weight:700}.toast-error .toast-label{color:#f08d87}.toast-message{flex:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (width<=1100px){.walkthrough{display:none}}
