:root{--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--accent-color:var(--accent);--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--surface-low:#e5e4e7;--surface-mid:#fff;--surface-high:#f5f5f5;--surface-border:#ddd;--text-primary:#111;--text-secondary:#6b6375;--text-muted:#888;--text-inverse:#fff;--hover-overlay:#0000000d;--active-overlay:#0000001a;--input-bg:#f4f3ec;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--surface-mid);--border:var(--surface-border);--code-bg:var(--input-bg);--social-bg:#f4f3ec80;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text-primary);background:var(--surface-mid);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--surface-low:#111;--surface-mid:#1e1e1e;--surface-high:#252525;--surface-border:#333;--text-primary:#eee;--text-secondary:#9ca3af;--text-muted:#666;--text-inverse:#000;--hover-overlay:#ffffff0d;--active-overlay:#ffffff1a;--input-bg:#000;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--text:var(--text-secondary);--text-h:var(--text-primary);--bg:var(--surface-mid);--border:var(--surface-border);--code-bg:var(--input-bg)}#social .button-icon{filter:invert()brightness(2)}}.unga-pane{background:var(--surface-mid);color:var(--text-primary);border:1px solid var(--surface-border);box-sizing:border-box;font-family:var(--mono)}.unga-header{background:var(--surface-high);color:var(--text-primary);border-bottom:1px solid var(--surface-border);-webkit-user-select:none;user-select:none;padding:8px 12px;font-weight:700}.unga-surface-high{background:var(--surface-high)}.unga-input{background:var(--input-bg);color:var(--text-primary);border:1px solid var(--surface-border);font-family:var(--mono);border-radius:4px;outline:none;padding:6px 10px;font-size:11px;transition:border-color .2s}.unga-input:focus{border-color:var(--accent)}.unga-button{background:var(--surface-high);color:var(--text-primary);border:1px solid var(--surface-border);cursor:pointer;font-family:var(--mono);border-radius:4px;padding:6px 12px;font-size:11px;transition:all .2s}.unga-button:hover{background:var(--hover-overlay)}.unga-button.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}body{margin:0}h1,h2{font-family:var(--heading);color:var(--text-primary);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-primary);border-radius:4px;display:inline-flex}code{background:var(--input-bg);padding:4px 8px;font-size:15px;line-height:135%}.counter{color:var(--accent);background:var(--accent-bg);border:2px solid #0000;border-radius:5px;margin-bottom:24px;padding:5px 10px;font-size:16px;transition:border-color .3s}.counter:hover{border-color:var(--accent-border)}.counter:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.hero{position:relative}.hero .base,.hero .framework,.hero .vite{margin:0 auto;inset-inline:0}.hero .base{z-index:0;width:170px;position:relative}.hero .framework,.hero .vite{position:absolute}.hero .framework{z-index:1;height:28px;top:34px;transform:perspective(2000px)rotate(300deg)rotateX(44deg)rotateY(39deg)scale(1.4)}.hero .vite{z-index:0;width:auto;height:26px;top:107px;transform:perspective(2000px)rotate(300deg)rotateX(40deg)rotateY(39deg)scale(.8)}#app{text-align:center;border-inline:1px solid var(--surface-border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}#center{flex-direction:column;flex-grow:1;place-content:center;place-items:center;gap:25px;display:flex}@media (width<=1024px){#center{gap:18px;padding:32px 20px 24px}}#next-steps{border-top:1px solid var(--surface-border);text-align:left;display:flex}#next-steps>div{flex:1 1 0;padding:32px}@media (width<=1024px){#next-steps>div{padding:24px 20px}}#next-steps .icon{width:22px;height:22px;margin-bottom:16px}@media (width<=1024px){#next-steps{text-align:center;flex-direction:column}}#docs{border-right:1px solid var(--surface-border)}@media (width<=1024px){#docs{border-right:none;border-bottom:1px solid var(--surface-border)}}#next-steps ul{gap:8px;margin:32px 0 0;padding:0;list-style:none;display:flex}#next-steps ul .logo{height:18px}#next-steps ul a{color:var(--text-primary);background:var(--social-bg);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:16px;text-decoration:none;transition:box-shadow .3s;display:flex}#next-steps ul a:hover{box-shadow:var(--shadow)}#next-steps ul a .button-icon{width:18px;height:18px}@media (width<=1024px){#next-steps ul{flex-wrap:wrap;justify-content:center;margin-top:20px}#next-steps ul li{flex:calc(50% - 8px)}#next-steps ul a{box-sizing:border-box;justify-content:center;width:100%}}#spacer{border-top:1px solid var(--surface-border);height:88px}@media (width<=1024px){#spacer{height:48px}}.ticks{width:100%;position:relative}.ticks:before,.ticks:after{content:"";border:5px solid #0000;position:absolute;top:-4.5px}.ticks:before{border-left-color:var(--surface-border);left:0}.ticks:after{border-right-color:var(--surface-border);right:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.property-overridden{text-shadow:0 0 5px #ffffff80;animation:2s infinite shine-pulse;color:#fff!important;background-color:#0078d480!important;border:1px solid #0078d4!important;box-shadow:0 0 10px #0078d4cc!important}@keyframes shine-pulse{0%{box-shadow:0 0 5px #0078d499}50%{box-shadow:0 0 15px #0078d4}to{box-shadow:0 0 5px #0078d499}}.viewport-toolbar{height:var(--header-height);background:var(--surface-high);border-bottom:1px solid var(--surface-border);box-sizing:border-box;z-index:11000;pointer-events:auto;justify-content:flex-start;align-items:center;gap:4px;padding:0 10px;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;top:0;left:0;right:0}#app-canvas,.viewport-container canvas,#viewport-anchor,.viewport-container .anchor{position:absolute;bottom:0;left:0;right:0;width:100%!important;height:100%!important;top:0!important}.avatar-preview-container{aspect-ratio:1;border:1px solid var(--surface-border);background:#000;border-radius:4px;flex-shrink:0;width:100%;margin:10px 0;position:relative;overflow:hidden}.avatar-preview-canvas{display:block;width:100%!important;height:100%!important;position:absolute!important;top:0!important;left:0!important}.viewport-container{flex:1;position:relative;overflow:hidden}.toolbar-context-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--active-overlay);border:1px solid var(--hover-overlay);-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;max-width:150px;padding:4px 8px;font-size:11px;font-weight:700;overflow:hidden}.toolbar-context-label.template-context{color:var(--accent);border-color:var(--accent-border);background:var(--accent-bg)}.viewport-toolbar.hidden{pointer-events:none;transform:translateY(-100%)}.toolbar-standard-item{box-sizing:border-box;border-radius:6px;align-items:center;display:flex;background:var(--active-overlay)!important;border:1px solid var(--hover-overlay)!important}.speed-control{gap:8px;margin-left:auto;padding:2px 8px}.speed-slider{-webkit-appearance:none;background:var(--surface-low);cursor:pointer;border-radius:2px;outline:none;width:80px;height:4px}.speed-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:12px;height:12px;box-shadow:0 0 5px var(--accent-bg);border-radius:50%}.speed-input{background:var(--input-bg);border:1px solid var(--surface-border);color:var(--text-primary);text-align:center;border-radius:3px;outline:none;width:40px;padding:2px 4px;font-size:10px}.speed-input:focus{border-color:var(--accent)}.toolbar-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;margin:0!important;padding:0!important}.toolbar-btn:hover{color:var(--text-primary);background:var(--hover-overlay)!important;border-color:var(--surface-border)!important}.toolbar-btn.active{color:var(--text-inverse);box-shadow:0 0 10px var(--accent-bg);background:var(--accent)!important;border-color:var(--accent)!important}.toolbar-btn svg{stroke:currentColor;width:20px;height:20px;transition:transform .2s}.toolbar-btn:hover svg{transform:scale(1.1)}.toolbar-separator{background:var(--surface-border);align-self:center;width:1px;height:24px;margin:6px 4px}#global-tooltip{background:var(--surface-high);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-primary);pointer-events:none;z-index:100000;border:1px solid var(--surface-border);white-space:nowrap;border-radius:6px;padding:8px 12px;font-size:11px;animation:.15s ease-out tooltip-fade;display:none;position:fixed;box-shadow:0 10px 25px #0006}@keyframes tooltip-fade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.tooltip-key{background:var(--accent-bg);color:var(--accent);font-family:var(--mono);border:1px solid var(--accent-border);border-radius:4px;margin-left:10px;padding:2px 5px;font-weight:600}.test-panel{z-index:9999;border:1px solid var(--accent);background:var(--surface-mid);pointer-events:auto;flex-direction:column;width:800px;max-width:90vw;height:600px;max-height:80vh;display:flex;position:absolute;top:50px;left:50%;transform:translate(-50%);box-shadow:0 15px 50px #000c}.test-panel.standalone{border:none;width:100%;max-width:none;height:100%;max-height:none;position:relative;top:0;left:0;transform:none}.test-panel.hidden{display:none!important}.hierarchy-section-header{letter-spacing:1px;color:var(--text-muted);background:var(--surface-low);padding:10px 10px 5px;font-size:9px;font-weight:800}.context-menu{background:var(--surface-mid);border:1px solid var(--surface-border);z-index:20000;min-width:160px;font-family:var(--mono);border-radius:4px;padding:5px 0;font-size:11px;display:none;position:fixed;box-shadow:0 10px 30px #0000004d}.context-menu-item{cursor:pointer;color:var(--text-primary);justify-content:space-between;align-items:center;padding:8px 12px;transition:background .1s;display:flex}.context-menu-item:hover{background:var(--accent);color:var(--text-inverse)}.context-menu-item.danger:hover{color:#fff;background:#f44}.context-menu-item.disabled{opacity:.3;pointer-events:none}.context-menu-item .arrow{margin-left:10px;font-size:8px}#dialog-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:30000;width:100vw;height:100vh;font-family:var(--mono);background:#00000080;justify-content:center;align-items:center;display:none;position:fixed;top:0;left:0}.dialog-box{background:var(--surface-mid);border:1px solid var(--surface-border);border-radius:8px;width:320px;overflow:hidden;box-shadow:0 20px 50px #0000004d}.dialog-header{background:var(--surface-high);color:var(--text-primary);border-bottom:1px solid var(--surface-border);padding:12px 20px;font-weight:700}.dialog-body{color:var(--text-secondary);padding:20px;font-size:13px}.dialog-footer{background:var(--surface-high);border-top:1px solid var(--surface-border);justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.btn{background:var(--surface-low);color:var(--text-primary);border:1px solid var(--surface-border);cursor:pointer;border-radius:4px;padding:6px 12px;font-family:inherit;font-size:11px;transition:all .2s}.btn:hover{background:var(--hover-overlay)}.btn.active{background:var(--accent);color:var(--text-inverse);border-color:var(--accent)}.btn.active:hover{opacity:.9}.switch{flex-shrink:0;width:28px;height:16px;display:inline-block;position:relative}.switch input{opacity:0;width:0;height:0}.slider{cursor:pointer;background-color:var(--surface-low);border:1px solid var(--surface-border);border-radius:16px;transition:all .2s;position:absolute;inset:0}.slider:before{content:"";background-color:var(--text-muted);border-radius:50%;width:10px;height:10px;transition:all .2s;position:absolute;bottom:2px;left:2px}.console-area,#unga-engine-log,#unga-component-log,.log-entry,.log-message,.log-time{-webkit-user-select:text!important;user-select:text!important;cursor:text!important}input:checked+.slider{background-color:var(--accent)}input:checked+.slider:before{background-color:var(--text-inverse);transform:translate(12px)}.switch.disabled{opacity:.5;pointer-events:none}#dock-container{background:var(--surface-low);flex:1;display:flex;overflow:hidden}.dock-node{min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.node-panel{background:var(--surface-mid);border:1px solid var(--surface-border);flex-direction:column}.node-split{gap:0}.pane-header-strip{background:var(--surface-high);border-bottom:1px solid var(--surface-border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:flex-end;gap:4px;height:32px;padding:0 8px;display:flex}.pane-tab{background:var(--surface-low);border:1px solid var(--surface-border);color:var(--text-muted);cursor:pointer;opacity:.7;white-space:nowrap;border-bottom:none;border-radius:6px 6px 0 0;align-items:center;gap:10px;height:24px;padding:6px 14px;font-size:11px;transition:all .15s cubic-bezier(.4,0,.2,1);display:flex}.pane-tab:hover{background:var(--hover-overlay);opacity:1;color:var(--text-primary)}.pane-tab.active{background:var(--surface-mid);color:var(--text-primary);opacity:1;border-bottom:1px solid var(--surface-mid);z-index:2;height:28px;margin-bottom:-1px;font-weight:600;box-shadow:0 -2px 10px #0000001a}.tab-close{opacity:.3;border-radius:4px;justify-content:center;align-items:center;width:16px;height:16px;font-size:16px;transition:all .2s;display:flex}.tab-close:hover{color:#f44;opacity:1;background:#f442}.pane-group-content{background:var(--surface-mid);display:flex;position:relative;overflow:hidden}.pane-group-content>*{flex:1;width:100%;min-width:0;height:100%;min-height:0}.pane-content{flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden}.pane-content-flex{flex-direction:column}.console-area{font-family:var(--mono);background:var(--surface-low);flex-direction:column;gap:4px;padding:10px;font-size:11px;display:flex;overflow-y:auto}.dock-resizer{background:var(--surface-border);z-index:10;flex-shrink:0;transition:background .2s}.dock-resizer:hover,.dock-resizer.dragging{background:var(--accent)}.resizer-v{cursor:ew-resize;width:4px;margin:0 -2px}.resizer-h{cursor:ns-resize;height:4px;margin:-2px 0}.dock-overlay-container{z-index:10000;pointer-events:none;border:2px solid var(--accent);background:var(--accent-bg);position:fixed}.dock-zone{pointer-events:none;position:absolute}.dock-shadow-rect{background:var(--accent);opacity:.2;border:1px solid var(--accent);box-sizing:border-box;pointer-events:none;display:none;position:absolute}body.dock-dragging *{cursor:grabbing!important}.vector-input-container{background:var(--input-bg)!important;border:1px solid var(--surface-border)!important}.vector-label{color:var(--text-muted)!important;border-right:1px solid var(--surface-border)!important}.vector-input{color:var(--text-primary)!important}#main-toolbar{background:var(--surface-high)!important;border-bottom:1px solid var(--surface-border)!important}#main-toolbar div[style*="color: #aaa"]{color:var(--text-muted)!important}#engine-version{color:var(--text-muted)!important;border:1px solid var(--surface-border)!important;background:var(--surface-low)!important}.resizer-v:hover,.resizer-v.dragging{background:var(--accent)}.drag-follower{pointer-events:none;z-index:9999;background:var(--surface-high);border:1px solid var(--accent);color:var(--text-primary);border-radius:4px;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:opacity .1s;display:flex;position:fixed;box-shadow:0 4px 12px #00000080}.toast{background:var(--surface-mid);color:var(--text-primary);font-family:var(--mono);z-index:40000;border:1px solid var(--surface-border);opacity:0;pointer-events:none;text-align:center;border-radius:8px;align-items:center;gap:12px;max-width:80vw;padding:12px 24px;font-size:12px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:40px;left:50%;transform:translate(-50%)translateY(20px);box-shadow:0 10px 30px #0006}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast-warning{border-bottom:2px solid #fa0}.toast-error{border-bottom:2px solid #f44}.test-summary{background:var(--active-overlay)!important;border-bottom:1px solid var(--surface-border)!important;color:var(--text-primary)!important}.test-suites-list{background:var(--hover-overlay)!important;border-right:1px solid var(--surface-border)!important}.test-log-area{background:var(--input-bg)!important;color:var(--text-primary)!important}.test-suite-item{background:var(--surface-mid)!important;border:1px solid var(--surface-border)!important;color:var(--text-secondary)!important}.test-suite-item:hover{background:var(--hover-overlay)!important}.script-editor-container{background:var(--surface-mid);color:var(--text-primary)}.script-editor-header{background:var(--surface-high)!important;border-bottom:1px solid var(--surface-border)!important}.script-export-window{background:var(--surface-mid)!important;border:1px solid var(--surface-border)!important}.script-export-header{background:var(--surface-high)!important;border-bottom:1px solid var(--surface-border)!important}.script-export-content{background:var(--input-bg)!important;color:var(--text-primary)!important}.script-toast{background:var(--surface-high)!important;color:var(--text-primary)!important;border:1px solid var(--surface-border)!important}.tree-item{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;border-radius:3px;align-items:center;min-height:22px;margin:1px 4px;padding:2px 8px;font-size:11px;transition:background .1s,color .1s;display:flex;position:relative}.tree-item:hover{background:var(--hover-overlay);color:var(--text-primary)}.tree-item.selected{font-weight:600;background:var(--accent)!important;color:var(--text-inverse)!important}.tree-item.viewing{border-left:2px solid var(--accent)}.tree-node-toggle{width:16px;height:16px;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:transform .2s,color .2s;display:flex}.tree-node-toggle:hover{color:var(--text-secondary)}.tree-node-toggle.expanded{transform:rotate(90deg)}.tree-node-toggle svg{width:10px;height:10px}.indent-guide-container{position:relative}.indent-guide{background:var(--surface-border);pointer-events:none;opacity:.7;width:1px;position:absolute;top:0;bottom:0;left:7px}.badge-item{opacity:.4;justify-content:center;align-items:center;transition:opacity .2s;display:flex}.tree-item:hover .badge-item{opacity:.8}.badge-item:hover{opacity:1!important}.tree-search-container{border-bottom:1px solid var(--surface-border);background:var(--surface-high);flex-shrink:0;gap:6px;padding:6px;display:flex}.tree-search-input{background:var(--input-bg);border:1px solid var(--surface-border);color:var(--text-primary);box-sizing:border-box;border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:11px;transition:border-color .2s}.tree-search-input:focus{border-color:var(--accent)}.breadcrumb-container{background:var(--surface-high);border-bottom:1px solid var(--surface-border);color:var(--text-muted);flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;font-size:10px;display:flex;overflow-x:auto}.breadcrumb-item{cursor:pointer;white-space:nowrap;border-radius:3px;padding:2px 4px}.breadcrumb-item:hover{background:var(--hover-overlay);color:var(--text-primary)}.breadcrumb-separator{opacity:.3}#save-indicator{background:var(--accent);opacity:0;pointer-events:none;z-index:100000;width:12px;height:12px;box-shadow:0 0 15px var(--accent);border-radius:50%;transition:opacity 1s,transform .3s cubic-bezier(.175,.885,.32,1.275);position:fixed;top:50px;right:20px;transform:scale(.5)}#save-indicator.visible{opacity:1;transform:scale(1)}#save-indicator.error{background:#f44;box-shadow:0 0 10px #f44}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
