:root{--bg:#1a1a1a;--bg-2:#1a1a1a;--glass:#0d0f33b8;--glass-strong:#090c26e0;--surface:#ffffff08;--surface-2:#ffffff0f;--tint:#6e7bff1f;--tint-strong:#6e7bff33;--border:#ffffff14;--border-strong:#808fff66;--scrollbar-thumb:#9aa3cc59;--white:#f6f8ff;--ink:#eef1ff;--ink-soft:#c7cdec;--muted:#9aa3cc;--subtle:#6f78a8;--primary:#4554e5;--violet:#7d5bff;--accent-blue:#8b9aff;--accent-soft:#aab6ff;--glow:#5b6cff59;--primary-gradient:linear-gradient(100deg, var(--primary) 0%, var(--violet) 100%);--danger:#ff8fa3;--danger-tint:#ff8fa31f;--font-body:Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:Poppins, Inter, sans-serif}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent;margin:0;padding:0}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--subtle)}::-webkit-scrollbar-button{width:0;height:0;display:none}}html,body{background:var(--bg);width:100%;height:100%;overflow:hidden}#app{width:100%;height:100%;display:block}:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}#menu{z-index:1;background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);font-family:var(--font-body);border-radius:999px;gap:4px;padding:4px;transition:opacity .2s;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}#menu a{color:var(--muted);border:1px solid #0000;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,background .15s,border-color .15s}#menu a:hover{color:var(--white)}#menu a.active{color:var(--white);background:var(--tint);border-color:var(--border-strong)}#hint{text-align:center;max-width:calc(100% - 32px);color:var(--muted);font:13px/1.4 var(--font-body);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);pointer-events:none;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px 20px;transition:opacity .2s;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)}#hint strong{color:var(--white);font:600 14px var(--font-display)}kbd{min-width:20px;font:500 11px var(--font-body);text-align:center;color:var(--ink);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;margin:0 1px;padding:1px 5px;display:inline-block}#crosshair{width:6px;height:6px;box-shadow:0 0 6px var(--glow);pointer-events:none;opacity:0;background:#f6f8ffd9;border-radius:50%;margin:-3px 0 0 -3px;position:fixed;top:50%;left:50%}body.locked #hint{opacity:0}body.locked #crosshair{opacity:1}.icon-button{z-index:2;width:40px;height:40px;color:var(--muted);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:color .15s,background .15s,border-color .15s,opacity .2s;display:grid;position:fixed;top:16px}.icon-button:hover{color:var(--white);background:var(--surface-2)}.icon-button[aria-expanded=true]{color:var(--white);background:var(--tint);border-color:var(--border-strong)}.icon-button[hidden]{display:none}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}#fullscreen{right:16px}#levels-toggle{left:16px}#props-toggle{left:64px}#lights-toggle{left:112px}#postfx-toggle{left:160px}#props-toggle svg{stroke-width:1.8px}@media (width<=720px){#menu{top:64px}.side-panel{top:112px}}#fullscreen .icon-exit,body.fullscreen #fullscreen .icon-enter{display:none}body.fullscreen #fullscreen .icon-exit{display:block}body.locked #menu,body.locked .icon-button{opacity:.35}.side-panel{z-index:2;width:350px;max-width:calc(100% - 32px);color:var(--ink-soft);font:13px/1.4 var(--font-body);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:16px;flex-direction:column;display:flex;position:fixed;top:68px;bottom:16px;left:16px;overflow:hidden;box-shadow:0 16px 40px -16px #05071acc}.side-panel[hidden]{display:none}.mb-header{justify-content:space-between;align-items:center;padding:14px 12px 10px 16px;display:flex}.mb-header h2{font:600 16px var(--font-display);color:var(--white)}.mb-close{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0;font-size:18px;line-height:1}.mb-close:hover{color:var(--white);background:var(--surface-2)}.mb-search{color:var(--ink);font:inherit;background:var(--surface);border:1px solid var(--border);border-radius:999px;outline:none;margin:0 12px 8px;padding:9px 14px;transition:border-color .15s,background .15s}.mb-search::placeholder{color:var(--subtle)}.mb-search:focus{border-color:var(--primary);background:var(--surface-2)}.mb-files{flex:auto;min-height:80px;padding:0 8px 8px;overflow-y:auto}.mb-folder{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);overflow-wrap:anywhere;margin:12px 8px 4px}.mb-file{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.mb-file:hover:not(:disabled){background:var(--surface-2)}.mb-file:focus-visible{outline-offset:-2px}.mb-file:disabled{cursor:progress;opacity:.7}.mb-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mb-meta{color:var(--subtle);flex:none;font-size:11px}.mb-meta.mb-error{color:var(--danger)}.mb-empty{color:var(--subtle);margin:8px}.mb-add-lights{flex:none;gap:6px;margin:0 4px 10px;display:flex}.mb-add-lights button{color:var(--ink);font:500 12px var(--font-body);background:var(--surface);cursor:pointer;border:1px solid #ffffff29;border-radius:999px;flex:1;padding:7px 8px;transition:background .15s,border-color .15s}.mb-add-lights button:hover{background:var(--tint);border-color:var(--border-strong)}.mb-scene{border-top:1px solid var(--border);flex-direction:column;flex:0 auto;max-height:60%;padding:12px 8px 8px;display:flex;overflow-y:auto}.mb-scroll{flex:auto;min-height:0;overflow-y:auto}.mb-scroll .mb-scene{max-height:none;overflow:visible}.mb-sky{padding:0 12px 12px}.mb-sky summary{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);cursor:pointer;align-items:center;gap:6px;margin:0 0 10px;padding:2px 4px;list-style:none;display:flex}.mb-sky summary::-webkit-details-marker{display:none}.mb-sky summary:before{content:"▸";font-size:10px;transition:transform .15s}.mb-sky[open] summary:before{transform:rotate(90deg)}.mb-sky-fields,.mb-hdri-only{flex-direction:column;gap:10px;display:flex}.mb-sky-fields{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.mb-hdri-only[hidden]{display:none}.mb-select{width:100%;color:var(--ink);font:inherit;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;outline:none;padding:7px 10px;font-size:12px}.mb-select:focus{border-color:var(--primary)}.mb-select:disabled{opacity:.6}.mb-secondary{color:var(--ink);font:500 12px var(--font-body);background:var(--surface);cursor:pointer;border:1px solid #ffffff29;border-radius:999px;padding:6px 12px;transition:background .15s,border-color .15s}.mb-secondary:hover{background:var(--tint);border-color:var(--border-strong)}.mb-check{color:var(--ink-soft);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.mb-check input{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;margin:0}.mb-field-value.mb-error{color:var(--danger)}.mb-group{padding:0 12px 14px}.mb-group h3{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);margin:0 4px 8px}.mb-box,.mb-box-fields{flex-direction:column;gap:10px;display:flex}.mb-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.mb-disabled{opacity:.4;pointer-events:none}.mb-note{color:var(--subtle);margin:0;font-size:11px;line-height:1.45}.mb-light-dot.directional{border-radius:1px}.mb-scene h3{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);margin:0 8px 8px}.mb-inspector{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin:0 4px 10px;padding:12px;display:flex}.mb-inspector[hidden]{display:none}.mb-inspector-title{font:600 13px var(--font-display);color:var(--white)}.mb-field{cursor:default;flex-direction:column;gap:6px;display:flex}.mb-field-head{justify-content:space-between;gap:8px;font-size:12px;display:flex}.mb-field-label{color:var(--muted)}.mb-field-value{color:var(--ink);font-variant-numeric:tabular-nums}.mb-range{--track:var(--surface-2);appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0}.mb-range::-webkit-slider-runnable-track{background:var(--track);border-radius:999px;height:4px}.mb-range::-moz-range-track{background:var(--track);border-radius:999px;height:4px}.mb-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--white);border:2px solid var(--primary);width:14px;height:14px;box-shadow:0 0 0 3px var(--glow);border-radius:50%;margin-top:-5px}.mb-range::-moz-range-thumb{background:var(--white);border:2px solid var(--primary);border-radius:50%;width:10px;height:10px}.mb-range.mb-kelvin{height:18px}.mb-range.mb-kelvin::-webkit-slider-runnable-track{height:8px}.mb-range.mb-kelvin::-moz-range-track{height:8px}.mb-range.mb-kelvin::-webkit-slider-thumb{margin-top:-3px}.mb-color{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;width:100%;height:28px;padding:0}.mb-color::-webkit-color-swatch-wrapper{padding:3px}.mb-color::-webkit-color-swatch{border:0;border-radius:5px}.mb-color::-moz-color-swatch{border:0;border-radius:5px}.mb-light-dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block;box-shadow:0 0 0 1px #ffffff40}.mb-light-dot.spot{border-radius:2px;transform:rotate(45deg)}.mb-light-dot.rect{border-radius:1px;width:12px;height:6px}.mb-modes button:disabled{opacity:.35;cursor:not-allowed}.mb-tools{gap:6px;margin:0 4px 8px;display:flex}.mb-tools[hidden]{display:none}.mb-modes{background:var(--surface);border:1px solid var(--border);border-radius:999px;flex:1;gap:2px;padding:3px;display:flex}.mb-modes button,.mb-delete{font:500 12px var(--font-body);cursor:pointer;border:0;border-radius:999px;padding:6px 4px;transition:color .15s,background .15s}.mb-modes button{color:var(--muted);background:0 0;flex:1}.mb-modes button:hover{color:var(--white)}.mb-modes button.active{color:#fff;background:var(--primary-gradient);box-shadow:inset 0 1px 0 #ffffff38, 0 6px 16px -8px var(--glow)}.mb-delete{color:var(--danger);background:var(--danger-tint);border:1px solid #ff8fa340;flex:none;padding:6px 14px}.mb-delete:hover{background:#ff8fa333}.mb-transform{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:10px;margin:0 4px 12px;padding:12px;display:flex}.mb-transform[hidden],.mb-transform-rows[hidden]{display:none}.mb-transform-rows{flex-direction:column;gap:10px;display:flex}.mb-xyz{flex-direction:column;gap:6px;display:flex}.mb-xyz-head{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.mb-xyz-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mb-axis{border:1px solid var(--border);background:#0000002e;border-radius:8px;align-items:center;min-width:0;display:flex;overflow:hidden}.mb-axis:focus-within{border-color:var(--primary)}.mb-axis-name{width:20px;font:700 10px var(--font-body);color:#fff;flex:none;align-self:stretch;place-items:center;display:grid}.mb-axis-x .mb-axis-name{background:#e5484dd9}.mb-axis-y .mb-axis-name{background:#46a758d9}.mb-axis-z .mb-axis-name{background:#3e63dde6}.mb-axis-input{min-width:0;font:500 12px var(--font-body);font-variant-numeric:tabular-nums;color:var(--ink);-moz-appearance:textfield;background:0 0;border:0;outline:none;flex:1;padding:6px}.mb-axis-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.mb-axis-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mb-chip{font:500 11px var(--font-body);color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.mb-chip:hover{color:var(--white);border-color:var(--border-strong)}.mb-chip[aria-pressed=true]{color:#fff;background:var(--primary-gradient);border-color:#0000}.mb-lock{padding:3px 7px}.mb-lock svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.mb-items{flex:none}.mb-item{border:1px solid #0000;border-radius:10px;align-items:center;transition:background .15s;display:flex}.mb-item.selected{background:var(--tint);border-color:var(--border-strong)}.mb-item:not(.selected):hover{background:var(--surface-2)}.mb-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;padding:7px 10px;overflow:hidden}.mb-item-remove{width:28px;height:28px;color:var(--subtle);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;padding:0;font-size:16px}.mb-item-remove:hover{color:var(--danger);background:var(--danger-tint)}.mb-tips{color:var(--subtle);border-top:1px solid var(--border);padding:10px 16px 12px;font-size:11px}.mb-tips kbd{min-width:16px;padding:0 4px;font-size:10px}body.editing #hint{display:none}#stats-toggle{right:64px}#stats-toggle[aria-pressed=true]{color:var(--white);background:var(--tint);border-color:var(--border-strong)}.debug-overlay{z-index:3;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:fixed;top:68px;right:16px}.debug-overlay .debug-stats{pointer-events:auto;border-radius:8px;overflow:hidden}.debug-info{font:11px/1.35 var(--font-body);font-variant-numeric:tabular-nums;color:var(--muted);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:8px;grid-template-columns:auto auto;gap:2px 14px;padding:8px 10px;display:grid}.debug-info div{display:contents}.debug-info b{color:var(--ink);text-align:right;font-weight:600}.context-menu{z-index:20;min-width:170px;font:13px var(--font-body);background:var(--glass-strong);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--border);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:fixed;box-shadow:0 12px 32px -12px #05071ad9}.context-menu button{color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;display:flex}.context-menu button:hover,.context-menu button:focus-visible{background:var(--tint);outline:none}.context-menu button.danger{color:var(--danger)}.context-menu button.danger:hover,.context-menu button.danger:focus-visible{background:var(--danger-tint)}.context-menu kbd{min-width:0;color:var(--subtle);background:0 0;border:0;font-size:10px}.mb-sun-button{width:calc(100% - 8px);color:var(--ink);font:500 12px var(--font-body);cursor:pointer;background:linear-gradient(100deg,#ffc47824,#6e7bff1a);border:1px solid #ffc88c4d;border-radius:999px;justify-content:space-between;align-items:baseline;gap:8px;margin:0 4px 10px;padding:8px 14px;transition:background .15s,border-color .15s,opacity .15s;display:flex}.mb-sun-button small{color:var(--muted);font-size:10px}.mb-sun-button:hover:not(:disabled){border-color:#ffc88c99}.mb-sun-button:disabled{opacity:.4;cursor:not-allowed}.mb-inspector-heading{font:600 11px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-blue);margin:6px 0 -4px}.mb-light-dot.sun{width:10px;height:10px;margin-right:6px;box-shadow:0 0 6px #ffc878cc}#toast{z-index:30;max-width:calc(100% - 32px);font:500 13px var(--font-body);color:var(--ink);background:var(--glass-strong);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);pointer-events:none;opacity:0;border-radius:999px;align-items:center;gap:8px;padding:8px 16px 8px 10px;transition:opacity .2s,transform .2s;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%,-8px);box-shadow:0 10px 28px -12px #05071ae6}#toast.visible{opacity:1;transform:translate(-50%)}.toast-icon{color:#0d0f33;background:#8be0b4;border-radius:50%;place-items:center;width:20px;height:20px;font-size:12px;font-weight:700;display:grid}#toast[data-kind=error] .toast-icon,#toast[data-kind=warning] .toast-icon{background:var(--danger)}#toast[data-kind=error],#toast[data-kind=warning]{border-color:#ff8fa359}@media (width<=720px){#toast{top:112px}}#preloader{z-index:100;background:radial-gradient(90% 65% at 50% -10%, #5b6cff38, transparent 60%), var(--bg);transition:opacity .6s;position:fixed;inset:0;overflow:hidden}#preloader.done{opacity:0;pointer-events:none}.preloader-video{object-fit:cover;object-position:center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}#preloader:after{content:"";pointer-events:none;background:linear-gradient(#0000,#03040ebf);height:40%;position:absolute;inset:auto 0 0}.preloader-hud{--line-gap:clamp(14px, 2.2vh, 26px);z-index:1;align-items:end;column-gap:24px;row-gap:var(--line-gap);opacity:1;grid-template-columns:minmax(0,1fr) auto;transition:opacity .3s;display:grid;position:absolute;bottom:clamp(20px,4.5vh,48px);left:clamp(20px,2.8vw,56px);right:clamp(20px,2.8vw,56px)}.preloader-info{flex-direction:column;gap:8px;min-width:0;display:flex}.preloader-label{font:600 11px var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#8f84ff}.preloader-info{grid-area:1/1}.preloader-title,.preloader-percent{font:300 clamp(20px, 1.75vw, 34px)/1.1 var(--font-body);letter-spacing:-.005em;color:#ececf8eb}.preloader-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preloader-percent{font-variant-numeric:tabular-nums;grid-area:1/2;justify-self:end;font-size:clamp(24px,2.1vw,40px)}.preloader-bar{background:#8c82ff47;grid-column:1/-1;height:1px;position:relative}.preloader-fill{background:linear-gradient(90deg,#6e64ff80,#9d95ff);width:0;transition:width .4s;position:absolute;inset:0 auto 0 0;box-shadow:0 0 6px #8c82ffe6,0 0 14px #786eff99}.preloader-fill:after{content:"";background:#d9d6ff;border-radius:999px;width:16px;height:7px;animation:1.6s ease-in-out infinite bar-pulse;position:absolute;top:50%;right:-8px;translate:0 -50%;box-shadow:0 0 6px 1px #a49cff,0 0 16px 4px #8273ffb3,0 0 30px 8px #7864ff59}.ready .preloader-fill:after{animation:none}@keyframes bar-pulse{50%{box-shadow:0 0 4px 1px #a49cff,0 0 10px 2px #8273ff80,0 0 20px 4px #7864ff33}}.preloader-start{left:50%;bottom:calc(var(--line-gap) + 1px);isolation:isolate;font:500 20.8px/1 var(--font-display);letter-spacing:.005em;color:#0b0b1d;white-space:nowrap;cursor:pointer;background:radial-gradient(60% 55% at 50% 118%,#ffffffd9,#0000 70%) 0 0/100% 100%,linear-gradient(100deg,#4f55ff 0%,#6f74ff 22%,#a69cf6 50%,#dcaee4 74%,#f4c6d3 100%) 0 0/220% 100%;border:0;border-radius:999px;padding:18.2px 39px;transition:scale .2s,box-shadow .25s,filter .25s;animation:7s ease-in-out infinite alternate start-gradient,.5s ease-out start-appear;position:absolute;overflow:hidden;translate:-50%;box-shadow:inset 0 0 0 1.5px #ffe4f0bf,inset 0 0 14px #ffffff59,0 10px 30px -12px #6e6eff8c}.preloader-start:before{content:"";z-index:-1;filter:blur(10px);background:radial-gradient(28% 40% at 22% 45%,#4650ffd9,#0000 70%),radial-gradient(26% 38% at 58% 60%,#c496f5bf,#0000 70%),radial-gradient(24% 36% at 82% 40%,#ffc4d6cc,#0000 70%);animation:9s ease-in-out infinite alternate start-blobs;position:absolute;inset:-40%}.preloader-start:hover,.preloader-start:focus-visible{filter:brightness(1.05);scale:1.03;box-shadow:inset 0 0 0 1.5px #ffecf5e6,inset 0 0 16px #ffffff73,0 0 22px #8278ff8c,0 0 46px #f0aad759}.preloader-start:active{scale:.99}.preloader-start:focus-visible{outline-offset:4px;outline:2px solid #ffffffd9}.preloader-start[hidden]{display:none}@keyframes start-gradient{0%{background-position:0 0,0%}to{background-position:0 0,100%}}@keyframes start-blobs{0%{transform:translate(-6%,2%)rotate(0)}50%{transform:translate(5%,-3%)rotate(8deg)}to{transform:translate(-2%,4%)rotate(-6deg)}}@keyframes start-appear{0%{opacity:0;translate:-50% 10px}}@media (prefers-reduced-motion:reduce){.preloader-start,.preloader-start:before,.preloader-fill:after{animation:none}}@media (width<=640px){.preloader-start{bottom:calc(100% + 20px)}}.locomotion-status{z-index:1;border:1px solid var(--border);background:var(--glass);color:var(--ink-soft);font:12px var(--font-body);pointer-events:none;border-radius:10px;padding:9px 14px;position:fixed;bottom:18px;left:18px}.character-active #crosshair{display:none}.character-active #hint>span{font-size:12px}.character-load-error{z-index:1;max-width:min(440px,90vw);color:var(--ink);background:var(--glass-strong);font:13px var(--font-body);padding:12px;position:fixed;bottom:18px;left:18px}.editor-panel button{color:#eef4ff;cursor:pointer;font:12px var(--font-body);background:#243044;border:1px solid #485468;border-radius:7px;padding:8px 11px}.editor-panel{z-index:4;box-sizing:border-box;color:#eef4ff;width:min(350px,100vw - 36px);font:12px/1.45 var(--font-body);background:#111b2cf5;border:1px solid #465269;border-radius:14px;padding:18px;position:fixed;top:76px;bottom:66px;right:18px;overflow:auto;box-shadow:0 14px 50px #0006}.editor-panel[hidden]{display:none}.editor-panel header{justify-content:space-between;align-items:center;display:flex}.editor-panel small{color:#8ba6c8;letter-spacing:1.5px;font-size:9px}.editor-panel h2{margin:3px 0;font-size:19px;font-weight:600}.editor-panel [data-close]{padding:0 9px;font-size:20px}.tuning-intro,.tuning-help{color:#a8b9d0;font-size:11px}.gait-tabs{gap:5px;margin:16px 0 12px;display:flex}.gait-tabs button{text-transform:capitalize;flex:1}.gait-tabs button[aria-pressed=true]{background:#286699;border-color:#5ab4eb}.editor-panel label{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;display:flex}.editor-panel label span{color:#d6e1f0;max-width:215px}.editor-panel input{box-sizing:border-box;color:#f7fbff;background:#091323;border:1px solid #435069;border-radius:5px;width:66px;padding:6px}.editor-panel input[aria-invalid=true]{border-color:#ff938e}.editor-panel select{color:#f7fbff;background:#091323;border:1px solid #435069;border-radius:5px;max-width:170px;padding:6px}.editor-panel details{border-top:1px solid #354155;margin-top:16px;padding-top:12px}.editor-panel summary{cursor:pointer;color:#9ed8ff}.tuning-meter{white-space:pre-line;color:#a7d9eb;background:#080f1d;border-radius:8px;margin-top:16px;padding:10px;font:11px/1.7 monospace}.tuning-actions{flex-wrap:wrap;gap:6px;display:flex}.tuning-actions [data-project]{background:#256b54}.tuning-actions button:disabled{opacity:.5;cursor:wait}.tuning-message{color:#b6e5cf;min-height:30px;font-size:11px}.character-active #hint{text-align:center;max-width:min(820px,100vw - 50px)}.character-active #hint>span{line-height:1.7;display:block}.character-active #hint{gap:1px;padding:7px 12px;bottom:16px}.editor-panel{flex-direction:column;width:min(370px,100vw - 36px);padding:0;display:flex;left:18px;right:auto;overflow:hidden}.editor-panel header{flex-shrink:0;padding:16px 18px 8px}.editor-tabs{border-bottom:1px solid #354155;grid-template-columns:repeat(3,1fr);gap:5px;padding:8px 18px 12px;display:grid}.editor-tabs button{padding:7px 4px;font-size:11px}.editor-tabs button:last-child{grid-column:span 2}.editor-tabs button[aria-selected=true]{background:#286699;border-color:#5ab4eb}.editor-content{flex:1;min-height:0;padding:4px 18px 12px;overflow:auto}.editor-panel fieldset{border:0;border-top:1px solid #354155;min-width:0;margin:12px 0 6px;padding:10px 0 2px}.editor-panel legend{color:#9ed8ff;padding:0 8px 0 0;font-weight:600}.editor-panel input[type=checkbox]{accent-color:#58afe7;cursor:pointer;flex-shrink:0;width:18px;height:18px}.editor-panel [data-section=display] label{min-height:44px}.editor-panel [data-section=display] label span{max-width:260px}.editor-panel footer{border-top:1px solid #354155;flex-shrink:0;padding:12px 18px 6px}.editor-panel footer .tuning-message{min-height:30px;margin:8px 0 0}#hint[hidden],.locomotion-status[hidden],.editor-panel [hidden],.editor-panel[hidden]{display:none}.car-interactions{pointer-events:none;z-index:2;position:fixed;inset:0}.car-handle{width:var(--handle-size,32px);height:var(--handle-size,32px);color:#fff;cursor:pointer;pointer-events:auto;background:#000000bf;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.car-ring{animation-delay:inherit;border:2px solid #fff;border-radius:50%;position:absolute;inset:4px;box-shadow:0 0 10px #ffffff90,inset 0 0 6px #ffffff35}.car-ring:after{content:"";animation:2.6s cubic-bezier(.35,0,.3,1) infinite car-ring-pulse;animation-delay:inherit;border:1.5px solid #fff;border-radius:50%;position:absolute;inset:-6px}.car-ring-core{background:#fff;border-radius:50%;width:4px;height:4px;transition:transform .2s;box-shadow:0 0 9px #ffffffb0}.car-handle:hover .car-ring,.car-handle:focus-visible .car-ring{box-shadow:0 0 16px #ffffffd0}.car-handle:hover .car-ring-core{transform:scale(1.4)}.car-handle:focus-visible{outline-offset:5px;outline:1px solid #fff}@keyframes car-ring-pulse{0%,to{opacity:.5;transform:scale(.86)}50%{opacity:1;transform:scale(1.22)}}.car-handle[hidden]{display:none}.car-menu{box-sizing:border-box;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;width:232px;font:12px var(--font-body,sans-serif);pointer-events:auto;background:#000000bf;border:1px solid #ffffff40;border-radius:12px;padding:15px;position:fixed;box-shadow:0 12px 35px #0008}.car-menu small{color:#fff9;letter-spacing:2px;margin-bottom:5px;font-size:9px;display:block}.car-menu strong{margin-bottom:12px;font-weight:500;display:block}.car-menu button{cursor:pointer;color:#fff;font:inherit;background:#ffffff0d;border:1px solid #ffffff40;border-radius:6px}.car-menu-enter,.car-menu-action{text-align:left;width:100%;margin-top:6px;padding:9px 12px;display:block}.car-menu button:focus-visible{outline-offset:2px;outline:1px solid #fff}.car-menu .car-menu-close{background:#000000bf;border-color:#ffffffa6;border-radius:50%;width:26px;height:26px;font:19px/20px sans-serif;position:absolute;top:-10px;right:-10px;box-shadow:0 3px 12px #0008}.car-seat-fade{z-index:20;pointer-events:none;background:#030609;position:fixed;inset:0}.car-exit-control{z-index:5;color:#e1eef8;font:12px var(--font-body,sans-serif);flex-direction:column;align-items:center;gap:7px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.car-exit-control button{color:#f1f9ff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;font:13px var(--font-body,sans-serif);background:#102030dd;border:1px solid #d2e7f278;border-radius:12px;align-items:center;gap:10px;padding:9px 22px 9px 15px;display:flex;box-shadow:0 8px 24px #0005}.car-exit-control button:hover{background:#234964ee;border-color:#def5ff}.car-exit-control svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;width:28px;height:28px}.car-seat-label{letter-spacing:1px;text-shadow:0 2px 6px #000;font-size:10px}.car-exit-control small{color:#c3d5e4;text-shadow:0 2px 5px #000;font-size:10px}.car-interior-message{text-align:center;color:#ffdaaa;max-width:340px}.car-menu[hidden],.car-seat-fade[hidden],.car-exit-control[hidden]{display:none}@media (prefers-reduced-motion:reduce){.car-ring:after{opacity:.4;animation:none}}.editor-tabs:has([data-category=car]) button:last-child{grid-column:auto}.car-editor-status{color:#9ed8ff;font-size:11px}:root{--panel-width:370px;--toolbar-height:44px;--ui-layer:6}[hidden]{display:none!important}.app-bar{z-index:7;pointer-events:none;font:13px var(--font-body);align-items:center;gap:16px;display:flex;position:fixed;inset:16px 16px auto}.app-actions{pointer-events:auto;gap:8px;margin-left:auto;display:flex}.app-actions .icon-button{flex:none;position:static}.app-actions .icon-button:disabled{opacity:.4;cursor:default}.editor-toolbar .editor-tab,#save-recovery button{border:1px solid var(--border-strong);background:var(--glass-strong);color:var(--ink);cursor:pointer;font:12px var(--font-body);border-radius:9px;padding:9px 12px}.editor-toolbar .editor-tab:hover{background:var(--tint-strong)}.editor-toolbar .editor-tab[aria-expanded=true]{background:var(--primary);border-color:var(--accent-blue);color:var(--white)}.editor-toolbar{z-index:7;pointer-events:none;max-width:calc(100vw - 128px);font:12px var(--font-body);align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:16px;overflow-x:auto}.editor-toolbar .editor-tab{flex-shrink:0;height:40px;position:static}.world-tools{z-index:7;font:12px var(--font-body);align-items:center;gap:8px;display:flex;position:fixed;top:16px;left:16px}.world-tools .icon-button{flex:none;position:static}.gameplay-tools{pointer-events:auto;gap:8px;display:flex}#save-status{color:var(--ink-soft);white-space:nowrap;pointer-events:none;padding:8px}.side-panel{top:68px}.mb-model-content{flex-direction:column;flex:1;min-height:0;display:flex}.mb-category-tabs{gap:6px;padding:0 12px 12px;display:flex}.mb-category-tabs button{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;cursor:pointer;border-radius:9px;flex:1;padding:8px 10px}.mb-category-tabs button:hover{background:var(--tint);color:var(--ink)}.mb-category-tabs [aria-selected=true]{background:var(--primary);border-color:var(--accent-blue);color:var(--white)}.editor-panel.settings-panel{width:var(--panel-width);max-width:calc(100vw - 32px);z-index:var(--ui-layer);background:var(--glass-strong);border:1px solid var(--border-strong);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:16px;inset:68px auto 16px 16px}.settings-panel header{padding:14px 16px 10px}.settings-panel h2{font:600 16px var(--font-display)}.settings-panel small,.settings-panel legend{color:var(--accent-soft)}.settings-panel button{background:var(--surface-2);color:var(--ink);border-color:var(--border-strong);border-radius:8px}.settings-panel button:hover{background:var(--tint-strong)}.settings-panel .editor-tabs{border-color:var(--border);padding:8px 16px 12px}.settings-panel .editor-tabs button[aria-selected=true],.settings-panel .gait-tabs button[aria-pressed=true]{background:var(--primary);border-color:var(--accent-blue)}.settings-panel .editor-content{padding:4px 16px 12px}.settings-panel input,.settings-panel select{background:var(--surface);color:var(--ink);border-color:var(--border-strong)}.settings-panel select option{color:var(--ink);background:#12162e}.settings-panel input[type=checkbox]{accent-color:var(--primary)}.settings-panel label span{color:var(--ink-soft)}.settings-panel .tuning-help{color:var(--muted)}.settings-panel fieldset,.settings-panel footer{border-color:var(--border)}.settings-panel .tuning-actions [data-project]{background:var(--primary-gradient)}.settings-panel .tuning-message{color:var(--ink-soft)}.settings-panel .tuning-meter{background:var(--surface);color:var(--ink-soft)}#save-recovery{z-index:15;background:var(--glass-strong);border:1px solid var(--danger);width:min(430px,100vw - 32px);color:var(--ink);font:12px/1.6 var(--font-body);border-radius:12px;padding:16px;position:fixed;bottom:16px;right:16px}#save-recovery p{margin-bottom:12px}#save-recovery button{margin:0 6px 4px 0}.car-menu{background:var(--glass-strong);color:var(--ink);border-color:var(--border-strong)}.car-menu button,.car-exit-control button{background:var(--glass-strong);color:var(--ink);border-color:var(--border-strong);font-family:var(--font-body);border-radius:8px}.car-menu button:hover,.car-exit-control button:hover{background:var(--primary)}.car-exit-control{z-index:5}#materials-panel{width:400px}.ue-panel{flex-direction:column;display:flex}.ue-toolbar{align-items:center;gap:6px;padding:0 12px 8px;display:flex}.ue-tool{min-width:28px;height:28px;color:var(--ink);font:500 12px var(--font-body);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.ue-tool:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.ue-tool:disabled{opacity:.4;cursor:default}.ue-tool svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:16px;height:16px}.ue-toggle[aria-pressed=true]{color:#fff;background:var(--primary);border-color:var(--accent-blue)}.ue-asset{min-width:0;height:28px;color:var(--white);font:600 12px var(--font-body);background:var(--bg-2);border:1px solid var(--border);border-radius:6px;outline:none;flex:1;padding:0 8px}.ue-asset:focus,.ue-select:focus{border-color:var(--primary)}.ue-newrow,.ue-searchrow{gap:6px;padding:0 12px 8px;display:flex}.ue-search{min-width:0;height:28px;color:var(--ink);font:12px var(--font-body);background:var(--bg-2);border:1px solid var(--border);border-radius:999px;outline:none;flex:1;padding:0 10px}.ue-search:focus{border-color:var(--primary)}.ue-surface{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;margin:0 12px 8px;padding:6px 8px;font-size:12px;display:flex}.ue-surface-name{min-width:0;max-width:100%;color:var(--white);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ue-hint{color:var(--subtle)}.ue-tabbar{border-bottom:1px solid var(--border);padding:0 12px;display:flex}.ue-tab{color:var(--white);font:600 12px var(--font-body);background:var(--surface-2);border:1px solid var(--border);border-bottom:0;border-radius:6px 6px 0 0;padding:6px 12px}.ue-searchrow{padding-top:8px}.ue-details{padding:0 8px 12px}.ue-empty{color:var(--subtle);margin:12px 8px;font-size:12px}.ue-category{margin-top:4px}.ue-category-header{width:100%;color:var(--white);font:600 12px var(--font-body);text-align:left;background:var(--surface-2);cursor:pointer;border:0;border-radius:4px;align-items:center;gap:6px;padding:6px;display:flex}.ue-level-1>.ue-category-header{background:var(--surface);padding-left:14px;font-weight:500}.ue-category-header:hover{background:var(--tint)}.ue-caret:before{content:"▾";width:10px;color:var(--muted);display:inline-block}.ue-category-header[aria-expanded=false] .ue-caret:before{content:"▸"}.ue-category-body{padding:0 0 2px}.ue-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,46%) minmax(0,1fr);min-height:30px;display:grid}.ue-row:hover{background:var(--surface)}.ue-name{min-width:0;padding:3px 6px 3px calc(18px + var(--depth,0) * 18px);border-right:1px solid var(--border);align-items:center;gap:6px;display:flex}.ue-label{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ue-overridden .ue-label{color:var(--white)}.ue-override,.ue-check{width:14px;height:14px;accent-color:var(--primary);cursor:pointer;flex:none;margin:0}.ue-expander,.ue-expander-space{flex:none;width:12px}.ue-expander{height:16px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:-14px;padding:0;font-size:10px}.ue-expander:before{content:"▸"}.ue-expander.open:before{content:"▾"}.ue-expander-space{margin-left:-14px}.ue-value{align-items:center;gap:6px;min-width:0;padding:3px 6px;display:flex}.ue-row:not(.ue-overridden) .ue-value{opacity:.75}.ue-reset{width:20px;height:20px;color:var(--accent-soft);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.ue-value>.ue-reset[hidden]{visibility:hidden;display:inline-flex!important}.ue-reset:hover{color:var(--white);background:var(--surface-2)}.ue-reset svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px}.ue-inactive{opacity:.45}.ue-number{background:var(--bg-2);border:1px solid var(--border);cursor:ew-resize;touch-action:none;border-radius:4px;flex:1;min-width:0;max-width:140px;height:22px;position:relative;overflow:hidden}.ue-number:hover{border-color:var(--border-strong)}.ue-number-fill{background:var(--tint-strong);pointer-events:none;width:0;position:absolute;inset:0 auto 0 0}.ue-number:not(.ue-ranged) .ue-number-fill{display:none}.ue-number-input{width:100%;height:100%;color:var(--ink);font:12px var(--font-body);font-variant-numeric:tabular-nums;pointer-events:none;background:0 0;border:0;outline:none;padding:0 6px;position:relative}.ue-number.ue-typing{cursor:text;border-color:var(--primary)}.ue-number.ue-typing .ue-number-input{pointer-events:auto}.ue-number.ue-scrubbing{border-color:var(--primary)}.ue-swatch{border:1px solid var(--border-strong);cursor:pointer;border-radius:4px;flex:1;max-width:140px;height:20px;padding:0}.ue-select{min-width:0;max-width:100%;height:24px;color:var(--ink);font:12px var(--font-body);background:var(--bg-2);border:1px solid var(--border);border-radius:4px;outline:none;padding:0 6px}.ue-select:disabled{opacity:.6}.ue-select option{color:var(--ink);background:#12162e}.ue-texture{align-items:center;gap:6px;min-width:0;padding:2px 0;display:flex}.ue-thumb{background:var(--bg-2) center / cover no-repeat;border:1px solid var(--border-strong);border-bottom:2px solid var(--danger);border-radius:2px;flex:none;width:48px;height:48px;overflow:hidden}.ue-thumb canvas{width:100%;height:100%;display:block}.ue-texture-side{flex-direction:column;gap:4px;min-width:0;display:flex}.ue-inline-check{color:var(--subtle);align-items:center;gap:6px;font-size:11px;display:flex}.ue-chips{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.ue-chip{max-width:100%;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;padding:2px 4px 2px 8px;font-size:11px;display:inline-flex;overflow:hidden}.ue-chip-remove{color:var(--subtle);font:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0 4px}.ue-chip-remove:hover{color:var(--danger)}.ue-button{max-width:100%;height:24px;color:var(--ink);font:500 12px var(--font-body);text-overflow:ellipsis;white-space:nowrap;background:var(--surface-2);border:1px solid var(--border-strong);cursor:pointer;border-radius:4px;flex:none;padding:0 10px;overflow:hidden}.ue-button:hover{background:var(--tint-strong)}.ue-danger{color:var(--danger);background:var(--danger-tint)}.ue-buttons{justify-content:flex-end;gap:6px;padding:8px 4px 4px;display:flex}.ue-statusbar{color:var(--subtle);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:11px;display:flex}.mm-status{overflow-wrap:anywhere;min-width:0}.mm-actions{flex:none;gap:6px;display:flex}.mm-color{opacity:0;pointer-events:none;border:0;width:0;height:0;padding:0;position:absolute}@media (width<=720px){#save-status{padding:0;font-size:0}}.placement-status{z-index:8;pointer-events:none;color:var(--ink);font:11px var(--font-body);filter:drop-shadow(0 1px 5px #000c);justify-items:center;gap:6px;display:grid;position:fixed;transform:translate(-50%,-50%)}.placement-status[hidden]{display:none}.placement-status-ring{border:2px solid #ffffff40;border-top-color:var(--accent-soft);border-right-color:var(--accent-soft);will-change:transform;border-radius:50%;width:28px;height:28px;animation:.85s linear infinite placement-spin}.placement-status-label{white-space:nowrap}.placement-status-error{color:var(--danger)}.placement-status-error .placement-status-ring{border-color:var(--danger);animation:none}@keyframes placement-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.placement-status-ring{animation:none}}
