.editor-app{--editor-font:"Segoe UI", system-ui, -apple-system, sans-serif;--editor-mono:ui-monospace, "Cascadia Code", "SF Mono", monospace;--editor-bg:#0d0f14;--editor-surface:#161a22;--editor-surface-raised:#1e2430;--editor-border:#ffffff14;--editor-border-strong:#ffffff24;--editor-text:#e8eaef;--editor-text-muted:#8b93a7;--editor-text-faint:#5c6478;--editor-accent:#5b8def;--editor-accent-hover:#7aa3f5;--editor-accent-muted:#5b8def26;--editor-success:#3dd68c;--editor-warning:#f5a623;--editor-danger:#e85d5d;--editor-danger-muted:#e85d5d1f;--editor-selection:#5b8def;--editor-handle-bg:#fff;--editor-handle-border:#1a1f2a;--editor-radius-sm:6px;--editor-radius:10px;--editor-radius-lg:14px;--editor-shadow:0 8px 32px #00000073;--editor-shadow-sm:0 2px 8px #0000004d;--editor-toolbar-h:44px;--editor-panel-w:280px;font-family:var(--editor-font);color:var(--editor-text);-webkit-font-smoothing:antialiased}.editor-btn{font:inherit;border-radius:var(--editor-radius-sm);border:1px solid var(--editor-border-strong);background:var(--editor-surface-raised);color:var(--editor-text);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;font-weight:500;line-height:1.2;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.editor-btn:hover:not(:disabled){background:#252b38;border-color:#fff3}.editor-btn:focus-visible{outline:2px solid var(--editor-accent);outline-offset:2px}.editor-btn:disabled{opacity:.45;cursor:not-allowed}.editor-btn--primary{background:var(--editor-accent);color:#fff;border-color:#0000}.editor-btn--primary:hover:not(:disabled){background:var(--editor-accent-hover)}.editor-btn--ghost{color:var(--editor-text-muted);background:0 0;border-color:#0000}.editor-btn--ghost:hover:not(:disabled){color:var(--editor-text);background:#ffffff0f}.editor-btn--danger{background:var(--editor-danger-muted);color:#f5a0a0;border-color:#e85d5d59}.editor-btn--danger:hover:not(:disabled){background:#e85d5d38}.editor-btn--sm{padding:5px 10px;font-size:.75rem}.editor-btn--icon{padding:6px 10px}.editor-login-page{background:radial-gradient(ellipse 80% 60% at 50% 0%, #5b8def1f, transparent), var(--editor-bg);justify-content:center;align-items:center;min-height:100%;padding:24px;display:flex}.editor-login-card{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius-lg);width:100%;max-width:380px;box-shadow:var(--editor-shadow);padding:32px}.editor-login-card__brand{flex-direction:column;gap:4px;margin-bottom:28px;display:flex}.editor-login-card__brand h1{letter-spacing:-.02em;font-size:1.375rem;font-weight:600}.editor-login-card__brand p{color:var(--editor-text-muted);font-size:.875rem}.editor-login{flex-direction:column;gap:16px;display:flex}.editor-login label{color:var(--editor-text-muted);flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;display:flex}.editor-login input{font:inherit;color:var(--editor-text);background:var(--editor-bg);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);padding:10px 12px;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.editor-login input:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);outline:none}.editor-login .editor-btn--primary{margin-top:4px;padding:11px 16px;font-size:.9375rem}.editor-error{color:#f5a0a0;background:var(--editor-danger-muted);border-radius:var(--editor-radius-sm);border:1px solid #e85d5d4d;margin:0;padding:10px 12px;font-size:.8125rem}.editor-error:empty{display:none}.editor-shell{background:var(--editor-bg);flex-direction:column;gap:0;height:100%;display:flex;overflow:auto}.editor-header{background:var(--editor-surface);border-bottom:1px solid var(--editor-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.editor-header__brand{flex-direction:column;gap:2px;display:flex}.editor-header__title{letter-spacing:-.02em;font-size:1.125rem;font-weight:600}.editor-header__subtitle{color:var(--editor-text-muted);font-size:.75rem}.editor-header__user{align-items:center;gap:12px;display:flex}.editor-header__email{color:var(--editor-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.8125rem;overflow:hidden}.editor-main{flex:1;grid-template-columns:1fr minmax(280px,360px);align-content:start;gap:24px;width:100%;max-width:1200px;margin:0 auto;padding:24px;display:grid}@media (width<=768px){.editor-main{grid-template-columns:1fr}}.editor-card{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius);flex-direction:column;gap:16px;padding:20px;display:flex}.editor-card__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-card h2{text-transform:uppercase;letter-spacing:.06em;color:var(--editor-text-muted);margin:0;font-size:.75rem;font-weight:600}.editor-scenes-list{flex-direction:column;gap:4px;max-height:min(480px,50vh);list-style:none;display:flex;overflow-y:auto}.editor-scenes-list-item{cursor:pointer;border-radius:var(--editor-radius-sm);border:1px solid #0000;flex-direction:column;gap:2px;padding:12px 14px;transition:background .12s,border-color .12s;display:flex}.editor-scenes-list-item:hover{background:var(--editor-surface-raised);border-color:var(--editor-border)}.editor-scenes-list-item__name{align-items:center;gap:6px;font-size:.9375rem;font-weight:500;display:flex}.editor-scenes-list-item__slug{font-size:.75rem;font-family:var(--editor-mono);color:var(--editor-text-faint)}.editor-scenes-list-item__starting{color:var(--editor-accent,#e8c060);font-size:.875rem;line-height:1}.editor-publish-actions{flex-wrap:wrap;gap:8px;display:flex}.editor-settings-help,.editor-published-version,.editor-bake-status{color:var(--editor-text-muted);margin:0;font-size:.8125rem;line-height:1.5}.editor-bake-status:empty{display:none}.editor-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:20;background:#000000a6;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.editor-modal{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius-lg);min-width:min(400px,100%);max-width:440px;box-shadow:var(--editor-shadow);padding:24px}.editor-modal__title{margin-bottom:20px;font-size:1.125rem;font-weight:600}.editor-modal form{flex-direction:column;gap:16px;display:flex}.editor-modal label{color:var(--editor-text-muted);flex-direction:column;gap:6px;font-size:.8125rem;font-weight:500;display:flex}.editor-modal input{font:inherit;color:var(--editor-text);background:var(--editor-bg);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);padding:10px 12px}.editor-modal input:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);outline:none}.editor-modal__actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.editor-scene-view:not(.is-preview) .scene-object{cursor:move}.scene-editor-toolbar{height:var(--editor-toolbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--editor-border);z-index:10;background:#0d0f14eb;align-items:center;gap:12px;padding:0 14px;display:flex;position:absolute;top:0;left:0;right:0}.scene-editor-toolbar__name{border-radius:var(--editor-radius-sm);min-width:0;color:var(--editor-text);background:0 0;border:1px solid #0000;flex:1;padding:6px 10px;font-family:inherit;font-size:.9375rem;font-weight:600;transition:border-color .15s,background .15s}.scene-editor-toolbar__name:hover:not(:disabled){border-color:var(--editor-border-strong);background:#ffffff0a}.scene-editor-toolbar__name:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);background:#ffffff0f;outline:none}.scene-editor-toolbar__name:disabled{opacity:.7;cursor:default}.scene-editor-toolbar__actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.scene-editor-toolbar__saving{color:var(--editor-accent);font-size:.75rem;font-weight:500;animation:1.5s ease-in-out infinite editor-pulse}@keyframes editor-pulse{0%,to{opacity:1}50%{opacity:.55}}.scene-editor-toolbar__status{color:var(--editor-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:.6875rem;overflow:hidden}.scene-editor-toolbar__status:empty{display:none}.scene-editor-bottom-toolbar{height:var(--editor-toolbar-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--editor-border);z-index:10;background:#0d0f14eb;align-items:center;gap:8px;padding:0 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.editor-overlay{pointer-events:none;z-index:5;position:absolute;inset:0}.editor-selection{pointer-events:none;outline:2px dashed var(--editor-selection);outline-offset:-1px;box-sizing:border-box;border-radius:2px;position:absolute}.editor-handle{background:var(--editor-handle-bg);border:2px solid var(--editor-handle-border);width:10px;height:10px;box-shadow:var(--editor-shadow-sm);pointer-events:auto;cursor:pointer;border-radius:2px;margin:-5px;transition:transform .1s;position:absolute}.editor-handle:hover{transform:scale(1.15)}.editor-handle--nw{cursor:nwse-resize;top:0;left:0}.editor-handle--n{cursor:ns-resize;top:0;left:50%}.editor-handle--ne{cursor:nesw-resize;top:0;right:0}.editor-handle--e{cursor:ew-resize;top:50%;right:0}.editor-handle--se{cursor:nwse-resize;bottom:0;right:0}.editor-handle--s{cursor:ns-resize;bottom:0;left:50%}.editor-handle--sw{cursor:nesw-resize;bottom:0;left:0}.editor-handle--w{cursor:ew-resize;top:50%;left:0}.editor-properties-panel{top:calc(var(--editor-toolbar-h) + 8px);right:8px;bottom:calc(var(--editor-toolbar-h) + 8px);width:var(--editor-panel-w);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--editor-border);border-radius:var(--editor-radius);box-shadow:var(--editor-shadow);z-index:11;background:#161a22f5;padding:16px;animation:.2s editor-panel-in;position:absolute;overflow-y:auto}@keyframes editor-panel-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.editor-properties-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--editor-text-muted);margin-bottom:16px;font-size:.6875rem;font-weight:600}.editor-properties-form{flex-direction:column;gap:14px;display:flex}.editor-properties-form label{color:var(--editor-text-muted);flex-direction:column;gap:6px;font-size:.75rem;font-weight:500;display:flex}.editor-properties-form input{font:inherit;background:var(--editor-bg);border:1px solid var(--editor-border-strong);color:var(--editor-text);border-radius:var(--editor-radius-sm);padding:8px 10px;font-size:.875rem;transition:border-color .15s}.editor-properties-form input:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);outline:none}.editor-properties-image-row{align-items:center;gap:10px;display:flex}.editor-properties-thumb{object-fit:contain;background:var(--editor-bg);border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);width:56px;height:56px;image-rendering:pixelated;flex-shrink:0}.editor-properties-z-row{align-items:stretch;gap:6px;display:flex}.editor-properties-z-row input{text-align:center;flex:1}.editor-properties-z-row .editor-btn{flex-shrink:0;min-width:36px;padding:8px}.editor-properties-delete{width:100%;margin-top:8px}.editor-properties-divider{border:none;border-top:1px solid var(--editor-border);margin:4px 0}.editor-properties-subheading{text-transform:uppercase;letter-spacing:.08em;color:var(--editor-text-muted);font-size:.6875rem;font-weight:600}.editor-interactions-list{flex-direction:column;gap:6px;display:flex}.editor-interaction-row{background:var(--editor-bg);border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);align-items:center;gap:8px;padding:8px;display:flex}.editor-interaction-row.is-dragging{opacity:.5}.editor-interaction-row.is-drop-target{border-color:var(--editor-accent)}.editor-interaction-drag{font:inherit;color:var(--editor-text-muted);cursor:grab;background:0 0;border:none;flex-shrink:0;padding:2px 6px}.editor-interaction-icon{text-align:center;flex-shrink:0;width:1.25rem}.editor-interaction-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.editor-interaction-actions{flex-shrink:0;gap:4px;display:flex}.editor-interactions-add{width:100%}.editor-modal select,.editor-modal textarea{font:inherit;color:var(--editor-text);background:var(--editor-bg);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);padding:10px 12px}.editor-modal select:focus,.editor-modal textarea:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);outline:none}.editor-interaction-type-fields{flex-direction:column;gap:16px;display:flex}.editor-interaction-editor__error{color:var(--editor-danger,#e85d5d);font-size:.8125rem}.editor-toast-container{bottom:calc(var(--editor-toolbar-h) + 16px);z-index:30;pointer-events:none;flex-direction:column;gap:8px;max-width:min(480px,90%);display:flex;position:absolute;left:50%;transform:translate(-50%)}.editor-toast{border-radius:var(--editor-radius);pointer-events:auto;box-shadow:var(--editor-shadow);padding:12px 18px;font-size:.875rem;font-weight:500;animation:.25s editor-toast-in}@keyframes editor-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.editor-toast--error{color:#f5b0b0;background:#2a1518;border:1px solid #e85d5d66}.editor-image-picker-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:25;background:#000000b8;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.editor-image-picker{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius-lg);width:760px;max-width:100%;height:480px;max-height:85vh;box-shadow:var(--editor-shadow);flex-direction:column;display:flex;position:relative;overflow:hidden}.editor-image-picker__top-header{border-bottom:1px solid var(--editor-border);flex-shrink:0;align-items:center;gap:10px;padding:14px 16px;display:flex}.editor-image-picker__top-header h2{flex:1;margin:0;font-size:1.0625rem;font-weight:600}.editor-image-picker__body{flex:1;min-height:0;display:flex}.editor-image-picker__sidebar{border-right:1px solid var(--editor-border);flex-direction:column;flex-shrink:0;gap:2px;width:180px;padding:10px 8px;display:flex;overflow-y:auto}.editor-image-picker__folder{border-radius:var(--editor-radius-sm);width:100%;color:var(--editor-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:.8125rem;display:flex}.editor-image-picker__folder:hover{background:var(--editor-bg)}.editor-image-picker__folder--active{background:var(--editor-bg);color:var(--editor-accent)}.editor-image-picker__folder-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.editor-image-picker__folder-count{background:var(--editor-bg);min-width:1.25rem;color:var(--editor-text-muted);text-align:center;border-radius:999px;flex-shrink:0;padding:0 6px;font-size:.6875rem;line-height:1.4}.editor-image-picker__folder--active .editor-image-picker__folder-count{color:var(--editor-accent);background:#ffffff14}.editor-image-picker__main{flex-direction:column;flex:1;gap:8px;min-width:0;padding:12px 14px;display:flex}.editor-image-picker__grid-header{flex-shrink:0;align-items:center;gap:10px;display:flex}.editor-image-picker__search{flex:1;min-width:0}.editor-image-picker__status{color:var(--editor-text-muted);flex-shrink:0;min-height:1.25em;margin:0;font-size:.8125rem}.editor-image-picker__grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));align-content:start;gap:12px 10px;min-height:0;padding:2px;display:grid;overflow-y:auto}.editor-image-picker__empty{color:var(--editor-text-muted);text-align:center;grid-column:1/-1;margin:24px 0;font-size:.875rem}.editor-image-picker__item{flex-direction:column;gap:4px;min-width:0;display:flex}.editor-image-picker__item--selected .editor-image-picker__thumb{border-color:var(--editor-accent);box-shadow:0 0 0 1px var(--editor-accent)}.editor-image-picker__thumb{border-radius:var(--editor-radius-sm);background:var(--editor-bg);cursor:pointer;border:2px solid #0000;width:100%;height:100px;padding:0;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.editor-image-picker__thumb:hover{border-color:var(--editor-accent)}.editor-image-picker__thumb:focus-visible{outline:2px solid var(--editor-accent);outline-offset:2px}.editor-image-picker__thumb img{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;display:block}.editor-image-picker__use-btn,.editor-image-picker__menu-btn{border-radius:var(--editor-radius-sm);color:#fff;cursor:pointer;opacity:0;background:#000000b8;border:none;padding:4px 8px;font-size:.6875rem;line-height:1;transition:opacity .12s;position:absolute}.editor-image-picker__thumb:hover .editor-image-picker__use-btn,.editor-image-picker__thumb:hover .editor-image-picker__menu-btn,.editor-image-picker__thumb:focus-within .editor-image-picker__use-btn,.editor-image-picker__thumb:focus-within .editor-image-picker__menu-btn{opacity:1}.editor-image-picker__use-btn{top:6px;right:6px}.editor-image-picker__menu-btn{padding:4px 6px;top:6px;left:6px}.editor-image-picker__thumb-name{color:var(--editor-text-muted);text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:.6875rem;overflow:hidden}.editor-image-picker__rename-input{width:100%;padding:2px 4px;font-size:.6875rem}.editor-image-picker__context-menu{z-index:30;border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);background:var(--editor-surface);min-width:120px;box-shadow:var(--editor-shadow);flex-direction:column;padding:4px;display:flex;position:absolute}.editor-image-picker__context-menu button{border-radius:var(--editor-radius-sm);color:var(--editor-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 10px;font-size:.8125rem}.editor-image-picker__context-menu button:hover{background:var(--editor-bg)}.editor-image-picker__context-menu-danger{color:#f5b0b0}.editor-image-picker__move-menu{border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);background:var(--editor-surface);min-width:140px;max-height:200px;box-shadow:var(--editor-shadow);flex-direction:column;padding:4px;display:flex;position:absolute;top:0;overflow-y:auto}.editor-image-picker__move-menu button{border-radius:var(--editor-radius-sm);color:var(--editor-text);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:6px 10px;font-size:.8125rem;overflow:hidden}.editor-image-picker__move-menu button:hover{background:var(--editor-bg)}.editor-preview-exit{z-index:15;font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);color:var(--editor-text);cursor:pointer;box-shadow:var(--editor-shadow-sm);background:#0d0f14e6;padding:10px 18px;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s;display:none;position:absolute;top:16px;left:16px}.editor-preview-exit:hover{background:var(--editor-surface-raised);border-color:var(--editor-accent)}.editor-preview-exit:focus-visible{outline:2px solid var(--editor-accent);outline-offset:2px}.editor-scene-view.is-preview .editor-preview-exit{display:block}.editor-scene-view.is-preview .scene-object{cursor:default}.editor-scene-view:not(.is-preview) .editor-scene-host .scene-zones-svg{pointer-events:none}.editor-zones-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.editor-zone-polygon{fill:none;stroke:#64b4ff8c;stroke-width:1px;stroke-dasharray:4 3;pointer-events:all;cursor:pointer}.editor-zone-polygon.is-selected{fill:#64b4ff2e;stroke:#64b4ff;stroke-width:2px;stroke-dasharray:none}.editor-zone-polygon.is-selected.has-show-outline{fill:#64b4ff47}.editor-zone-handles{pointer-events:none;position:absolute;inset:0}.editor-zone-vertex,.editor-zone-midpoint{pointer-events:all;box-sizing:border-box;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.editor-zone-vertex{cursor:grab;background:#64b4ff;border:2px solid #0d0f14;width:8px;height:8px}.editor-zone-vertex:active{cursor:grabbing}.editor-zone-midpoint{cursor:copy;background:#64b4ff73;border:1px solid #64b4ffcc;width:5px;height:5px}.editor-zone-vertex-menu{z-index:30;background:var(--editor-surface-raised);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);min-width:140px;box-shadow:var(--editor-shadow);padding:4px;position:fixed}.editor-zone-vertex-menu button{text-align:left;width:100%;color:var(--editor-text);font:inherit;cursor:pointer;background:0 0;border:none;padding:8px 10px;display:block}.editor-zone-vertex-menu button:disabled{opacity:.45;cursor:not-allowed}.editor-zone-vertex-menu button:not(:disabled):hover{background:#64b4ff1f}.editor-zone-draw-toolbar{bottom:calc(var(--editor-toolbar-h) + 8px);border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);z-index:12;background:#0d0f14eb;gap:8px;padding:6px 8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.editor-zone-draw-toolbar .editor-btn[aria-pressed=true]{background:var(--editor-accent-muted);border-color:var(--editor-accent);color:#d4e4ff}.editor-zone-draw-toolbar .editor-btn[aria-pressed=true]:hover:not(:disabled){border-color:var(--editor-accent-hover);background:#5b8def47}.editor-zone-draw-layer{z-index:6;pointer-events:auto;cursor:crosshair;position:absolute;inset:0}.editor-zone-draw-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.editor-zone-draw-preview{fill:#64b4ff1f;stroke:#64b4ff;stroke-width:2px;pointer-events:none}.editor-zone-draw-rubber{stroke:#64b4ff;stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.editor-scene-canvas.is-drawing-zone .editor-overlay{pointer-events:none}.editor-object-list-section{border-bottom:1px solid var(--editor-border);margin-bottom:12px;padding-bottom:12px}.editor-object-list{flex-direction:column;gap:4px;max-height:160px;list-style:none;display:flex;overflow-y:auto}.editor-object-list-item{border-radius:var(--editor-radius-sm);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;display:flex}.editor-object-list-item:hover{background:#ffffff0f}.editor-object-list-item.is-selected{background:#64b4ff24}.editor-object-list-item__name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8125rem;overflow:hidden}.editor-object-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:.625rem;font-weight:700}.editor-object-badge--zone{color:#9ec8ff;background:#64b4ff2e;border:1px solid #64b4ff59}.editor-properties-show-outline{flex-direction:column;gap:6px;display:flex}.editor-properties-checkbox-row{align-items:center;gap:8px;display:flex}.editor-shell-nav{background:var(--editor-surface);border-radius:var(--editor-radius);border:1px solid var(--editor-border);gap:4px;margin-bottom:16px;padding:4px;display:flex}.editor-shell-nav__tab{font:inherit;border-radius:var(--editor-radius-sm);color:var(--editor-text-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:10px 16px;font-size:.875rem;font-weight:500}.editor-shell-nav__tab:hover{color:var(--editor-text);background:#ffffff0a}.editor-shell-nav__tab--active{background:var(--editor-accent-muted);color:var(--editor-accent-hover)}.editor-shell-content{flex-direction:column;gap:16px;display:flex}.editor-muted{color:var(--editor-text-muted);font-size:.875rem}.editor-btn--active{background:var(--editor-accent-muted);border-color:var(--editor-accent);color:var(--editor-accent-hover)}.editor-ui-screen-list{flex-direction:column;gap:6px;list-style:none;display:flex}.editor-ui-screen-list__item{border-radius:var(--editor-radius-sm);border:1px solid var(--editor-border);background:var(--editor-surface-raised);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .12s;display:flex}.editor-ui-screen-list__item:hover{border-color:var(--editor-border-strong);background:#252b38}.editor-ui-screen-list__item--items{border-style:dashed;margin-top:8px}.editor-ui-screen-list__name{font-weight:500}.editor-ui-screen-list__status{color:var(--editor-text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.editor-ui-screen-list__status--ok{color:var(--editor-success)}.editor-ui-screen-editor{flex-direction:column;gap:12px;height:100%;min-height:0;padding:16px 20px;display:flex;overflow:hidden auto}.editor-ui-screen-editor__header{flex-shrink:0;align-items:center;gap:16px;display:flex}.editor-ui-screen-editor__title{font-size:1.25rem;font-weight:600}.editor-ui-screen-editor__fields{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.editor-ui-screen-editor__field-row{flex-wrap:wrap;align-items:center;gap:10px 16px;font-size:.875rem;display:flex}.editor-ui-screen-editor__field-row label{color:var(--editor-text-muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.editor-ui-screen-editor__field-row input{width:88px;font:inherit;background:var(--editor-surface);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);color:var(--editor-text);padding:6px 8px}.editor-ui-screen-editor__bg-name{color:var(--editor-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.editor-ui-screen-editor__dup-banner{background:var(--editor-warning);border-radius:var(--editor-radius-sm);color:var(--editor-warning);background:#f5a62326;border:1px solid #f5a62366;flex-shrink:0;padding:8px 12px;font-size:.8125rem}.editor-ui-screen-editor__stage-preview{flex-shrink:0}.editor-ui-canvas-preview__title{color:var(--editor-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.8125rem;font-weight:600}.editor-ui-canvas-preview__container{aspect-ratio:16/9;border:1px solid var(--editor-border);border-radius:var(--editor-radius);background:#0a0c10;width:100%;position:relative;overflow:hidden}.editor-ui-canvas-preview__screen{box-sizing:border-box;position:absolute;overflow:hidden}.editor-ui-canvas-preview__screen--context{opacity:.4;pointer-events:none;border:1px solid var(--editor-border-strong);justify-content:center;align-items:center;display:flex}.editor-ui-canvas-preview__screen--active{border:2px solid var(--editor-accent);cursor:grab;touch-action:none}.editor-ui-canvas-preview__screen--placeholder{border-style:dashed;justify-content:center;align-items:center;display:flex}.editor-ui-canvas-preview__screen-bg{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;display:block}.editor-ui-canvas-preview__screen-label{color:var(--editor-text-muted);text-align:center;pointer-events:none;-webkit-user-select:none;user-select:none;padding:4px;font-size:.75rem;font-weight:600}.editor-ui-screen-editor__body{flex:none;align-items:flex-start;gap:16px;display:flex}.editor-ui-screen-editor__canvas-wrap{flex-direction:column;flex:auto;gap:8px;min-width:0;min-height:360px;display:flex}.editor-ui-screen-editor__toolbar{gap:8px;display:flex}.editor-ui-screen-editor__canvas{border:1px solid var(--editor-border);border-radius:var(--editor-radius);background:#0a0c10;flex:auto;justify-content:center;align-items:center;min-height:320px;display:flex;position:relative;overflow:hidden}.editor-ui-screen-editor__preview-stage{flex-shrink:0;position:relative}.editor-ui-screen-editor__preview-bg{object-fit:fill;width:100%;height:100%;image-rendering:pixelated;-webkit-user-select:none;user-select:none;pointer-events:none;display:block}.editor-ui-screen-editor__zones-layer{pointer-events:none;position:absolute;inset:0}.editor-ui-screen-editor__side{width:var(--editor-panel-w);flex-shrink:0;align-self:stretch;max-height:none;overflow-y:visible}.editor-ui-zone-overlay{box-sizing:border-box;pointer-events:all;cursor:move;border:2px solid;justify-content:center;align-items:center;display:flex;position:absolute}.editor-ui-zone-overlay--button{background:#5b8def40;border-color:#5b8defe6}.editor-ui-zone-overlay--item-slot{background:#f5a62340;border-color:#f5a623e6}.editor-ui-zone-overlay--selected{z-index:2;background:#ffffff59;border-color:#fff}.editor-ui-zone-overlay__slot-label{color:#fff;text-shadow:0 1px 2px #000c;pointer-events:none;font-size:.75rem;font-weight:700}.editor-ui-zone-draw-layer{z-index:5;position:absolute;inset:0}.editor-ui-zone-draw-preview{border:2px dashed var(--editor-accent);pointer-events:none;background:#5b8def26;position:absolute}.editor-ui-zone-properties{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius);padding:14px}.editor-ui-zone-properties h3{margin-bottom:12px;font-size:.9375rem}.editor-ui-zone-properties__form{flex-direction:column;gap:10px;display:flex}.editor-ui-zone-properties__form label{color:var(--editor-text-muted);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.editor-ui-zone-properties__form input,.editor-ui-zone-properties__form select{font:inherit;background:var(--editor-surface-raised);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);color:var(--editor-text);padding:6px 8px}.editor-ui-zone-properties__warning{color:var(--editor-warning);margin-bottom:8px;font-size:.75rem}.editor-ui-zone-dialog__button-fields,.editor-ui-zone-dialog__slot-fields{flex-direction:column;gap:8px;display:flex}.editor-item-catalogue{flex-direction:column;gap:12px;height:100%;padding:16px 20px;display:flex}.editor-item-catalogue__header{align-items:center;gap:16px;display:flex}.editor-item-catalogue__header h1{flex:1;font-size:1.25rem}.editor-item-catalogue__list{flex-direction:column;flex:1;gap:8px;list-style:none;display:flex;overflow-y:auto}.editor-item-catalogue__row{background:var(--editor-surface);border:1px solid var(--editor-border);border-radius:var(--editor-radius-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.editor-item-catalogue__thumb{object-fit:contain;width:48px;height:48px;image-rendering:pixelated;background:#0a0c10;border-radius:4px;flex-shrink:0}.editor-item-catalogue__thumb--empty{color:var(--editor-text-faint);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.editor-item-catalogue__meta{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.editor-item-catalogue__name{font-weight:500}.editor-item-catalogue__type{color:var(--editor-text-muted);text-transform:capitalize;font-size:.75rem}.editor-item-catalogue__actions{gap:8px;display:flex}.editor-item-catalogue__empty{text-align:center;color:var(--editor-text-muted);padding:24px}.editor-item-editor-modal{width:calc(100% - 32px);max-width:480px}.editor-item-editor__stats-heading{margin-top:8px;font-size:.875rem}.editor-item-editor__stats-list{flex-direction:column;gap:6px;display:flex}.editor-item-editor__stat-row{align-items:center;gap:8px;display:flex}.editor-item-editor__stat-row input[type=text]{flex:1;min-width:0}.editor-item-editor__stat-row input[type=number]{width:88px}.editor-scene-view,.editor-ui-screen-editor{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.admin-editor-shell{flex:1;grid-template-rows:48px 1fr;min-height:0;display:grid;overflow:hidden}.admin-editor-shell__top-toolbar{border-bottom:1px solid var(--editor-border);z-index:10;background:#0d0f14f5;align-items:center;min-height:48px;padding:0 12px;display:flex}.admin-editor-shell__body{grid-template-columns:200px 1fr 280px;min-height:0;display:grid;overflow:hidden}.admin-editor-shell__left-sidebar,.admin-editor-shell__right-sidebar{background:var(--editor-surface);border-color:var(--editor-border);border-style:solid;min-height:0;overflow-y:auto}.admin-editor-shell__left-sidebar{border-right-width:1px;padding:14px}.admin-editor-shell__right-sidebar{border-left-width:1px;padding:14px}.admin-editor-shell__canvas-area{background:#0a0c10;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;position:relative;overflow:hidden}.editor-canvas-stage-wrap{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.editor-canvas-stage{transform-origin:50%;flex-shrink:0;width:1280px;height:720px;position:relative}.editor-canvas-stage-mount{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.editor-scene-canvas-area,.editor-ui-screen-canvas-area{width:100%;height:100%}.editor-scene-canvas,.editor-scene-host{position:absolute;inset:0}.editor-scene-toolbar,.editor-ui-screen-toolbar{align-items:center;gap:12px;width:100%;display:flex}.editor-scene-toolbar__left,.editor-ui-screen-toolbar__left{flex-shrink:0;align-items:center;gap:10px;display:flex}.editor-scene-toolbar__center,.editor-ui-screen-toolbar__center{flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.editor-scene-toolbar__right,.editor-ui-screen-toolbar__right{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.editor-scene-toolbar__name{border-radius:var(--editor-radius-sm);min-width:120px;color:var(--editor-text);background:0 0;border:1px solid #0000;padding:6px 10px;font-family:inherit;font-size:.9375rem;font-weight:600}.editor-scene-toolbar__name:hover:not(:disabled){border-color:var(--editor-border-strong);background:#ffffff0a}.editor-scene-toolbar__name:focus{border-color:var(--editor-accent);box-shadow:0 0 0 3px var(--editor-accent-muted);outline:none}.editor-ui-screen-toolbar__title{font-size:.9375rem;font-weight:600}.editor-scene-toolbar__saving,.editor-ui-screen-toolbar__saving{color:var(--editor-accent);font-size:.75rem}.editor-scene-toolbar__status,.editor-ui-screen-toolbar__status{color:var(--editor-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.6875rem;overflow:hidden}.editor-tool-btn--active{background:var(--editor-accent-muted);border-color:var(--editor-accent);color:var(--editor-accent-hover)}.editor-tool-options{flex-direction:column;gap:12px;display:flex}.editor-tool-options__heading{text-transform:uppercase;letter-spacing:.05em;color:var(--editor-text-muted);margin:0;font-size:.75rem;font-weight:600}.editor-tool-options__bg-row{align-items:center;gap:10px;display:flex}.editor-tool-options__bg-thumb{border-radius:var(--editor-radius-sm);border:1px solid var(--editor-border);background:var(--editor-bg);width:56px;height:36px;color:var(--editor-text-muted);justify-content:center;align-items:center;font-size:.6875rem;display:flex;overflow:hidden}.editor-tool-options__bg-thumb img{object-fit:cover;width:100%;height:100%}.editor-tool-options__bg-actions{flex-wrap:wrap;gap:6px;display:flex}.editor-tool-options__divider{border:none;border-top:1px solid var(--editor-border);margin:4px 0}.editor-tool-options__mode-row{gap:6px;display:flex}.editor-tool-options__mode-row .editor-btn[aria-pressed=true]{background:var(--editor-accent);color:var(--editor-bg);border-color:var(--editor-accent)}.editor-tool-options__hint,.editor-tool-options__empty{color:var(--editor-text-muted);margin:0;font-size:.8125rem;line-height:1.45}.editor-tool-options__radio-row{flex-direction:column;gap:6px;font-size:.8125rem;display:flex}.editor-tool-options label{color:var(--editor-text-muted);flex-direction:column;gap:4px;font-size:.8125rem;display:flex}.editor-tool-options input,.editor-tool-options select{font:inherit;color:var(--editor-text);background:var(--editor-bg);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);padding:6px 8px;font-size:.875rem}.editor-scene-properties-panel,.editor-ui-screen-properties-panel{flex-direction:column;gap:12px;display:flex}.editor-scene-properties-panel__header,.editor-ui-screen-properties-panel__header{margin:0;font-size:.9375rem;font-weight:600}.editor-scene-properties-panel__hint,.editor-ui-screen-properties-panel__hint{color:var(--editor-text-muted);margin:0;font-size:.8125rem;line-height:1.45}.editor-scene-properties-panel__form,.editor-ui-screen-properties-panel__form{flex-direction:column;gap:10px;display:flex}.editor-scene-properties-panel__form label,.editor-ui-screen-properties-panel__form label{color:var(--editor-text-muted);flex-direction:column;gap:4px;font-size:.8125rem;display:flex}.editor-scene-properties-panel__form input,.editor-ui-screen-properties-panel__form input,.editor-ui-screen-properties-panel__form select{font:inherit;color:var(--editor-text);background:var(--editor-bg);border:1px solid var(--editor-border-strong);border-radius:var(--editor-radius-sm);padding:6px 8px;font-size:.875rem}.editor-scene-properties-panel__subheading,.editor-ui-screen-properties-panel__subheading{text-transform:uppercase;letter-spacing:.05em;color:var(--editor-text-muted);margin:4px 0 0;font-size:.75rem;font-weight:600}.editor-scene-properties-panel__row,.editor-ui-screen-properties-panel__row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.editor-scene-properties-panel__z-row{align-items:center;gap:6px;display:flex}.editor-scene-properties-panel__z-row input{flex:1;min-width:0}.editor-scene-properties-panel__image-row,.editor-ui-screen-properties-panel__bg-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editor-scene-properties-panel__image-name{color:var(--editor-text-muted);word-break:break-all;font-size:.75rem}.editor-ui-screen-properties-panel__bg-preview{border-radius:var(--editor-radius-sm);border:1px solid var(--editor-border);background:var(--editor-bg);width:48px;height:36px;color:var(--editor-text-muted);justify-content:center;align-items:center;font-size:.625rem;display:flex;overflow:hidden}.editor-ui-screen-properties-panel__bg-preview img{object-fit:cover;width:100%;height:100%}.editor-ui-screen-properties-panel__warning{color:var(--editor-warning);margin:0;font-size:.75rem}.ui-editor-canvas{justify-content:center;align-items:center;width:100%;min-width:0;height:100%;min-height:0;display:flex}.ui-editor-canvas__viewport{touch-action:none;cursor:default;flex-shrink:0;position:relative;overflow:hidden}.ui-editor-canvas__stage{transform-origin:0 0;background:#1a1d24;flex-shrink:0;position:relative;overflow:hidden}.ui-editor-canvas__screens,.ui-editor-canvas__zones,.ui-editor-canvas__interaction{position:absolute;inset:0}.ui-editor-canvas__screens,.ui-editor-canvas__zones{pointer-events:none}.ui-editor-canvas__interaction{z-index:5;cursor:default;pointer-events:auto}.ui-editor-canvas__screen{box-sizing:border-box;border:1px solid #fff3;position:absolute}.ui-editor-canvas__screen--context{opacity:.4;pointer-events:none}.ui-editor-canvas__screen--active{pointer-events:none;border-color:#5b8def99}.ui-editor-canvas__screen--placeholder{background:#ffffff0f;justify-content:center;align-items:center;display:flex}.ui-editor-canvas__screen-bg{object-fit:fill;pointer-events:none;width:100%;height:100%;display:block}.ui-editor-canvas__screen-label{color:var(--editor-text-muted);padding:4px;font-size:.6875rem}.ui-editor-canvas__zone{box-sizing:border-box;pointer-events:none;border:2px solid #0000;position:absolute}.ui-editor-canvas__zone--button{background:#5b8def40;border-color:#5b8defb3}.ui-editor-canvas__zone--item-slot{background:#f5a62340;border-color:#f5a623bf}.ui-editor-canvas__zone--selected{border-color:#fff;box-shadow:0 0 0 1px #ffffff80}.ui-editor-canvas__zone-slot-label{color:#fff;text-shadow:0 1px 2px #000c;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex;position:absolute;inset:0}.ui-editor-canvas__draw-ghost{box-sizing:border-box;border:2px dashed var(--editor-accent);pointer-events:none;z-index:4;background:#5b8def26;position:absolute}.editor-scene-view.is-preview .admin-editor-shell__top-toolbar,.editor-scene-view.is-preview .admin-editor-shell__left-sidebar,.editor-scene-view.is-preview .admin-editor-shell__right-sidebar{display:none}.editor-scene-view.is-preview .admin-editor-shell{grid-template-rows:1fr}.editor-scene-view.is-preview .admin-editor-shell__body{grid-template-columns:1fr}.editor-scene-view.is-preview .editor-overlay,.editor-scene-view.is-preview .editor-zone-draw-toolbar,.editor-scene-view.is-preview .editor-zone-draw-layer{display:none}
