*{box-sizing:border-box;margin:0;padding:0}body{background:#0f1117;color:#e8eaed;font-family:system-ui,-apple-system,sans-serif;overflow:hidden}.scene-editor{display:flex;flex-direction:column;height:100vh;position:relative}.scene-editor,.scene-editor *{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) rgba(255,255,255,.04)}.scene-editor *::-webkit-scrollbar{width:5px;height:5px}.scene-editor *::-webkit-scrollbar-track{background:#ffffff08;border-radius:999px}.scene-editor *::-webkit-scrollbar-thumb{background:#ffffff24;border-radius:999px}.scene-editor *::-webkit-scrollbar-thumb:hover{background:#6ea8fe80}.hidden{display:none!important}.editor-auth-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#080a0eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.editor-auth-card{width:min(360px,100%);padding:1.5rem;border-radius:12px;border:1px solid rgba(110,168,254,.3);background:#151922;display:flex;flex-direction:column;gap:.65rem}.editor-auth-card h1{font-size:1.2rem}.auth-subtitle{font-size:.85rem;color:#9aa0a6;margin-bottom:.25rem}.editor-auth-card label{display:block;margin-top:.45rem;font-size:.85rem;color:#bdc1c6}.editor-auth-card input[type=text],.editor-auth-card input[type=password]{width:100%;margin-top:.25rem;padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:#fff;font-family:inherit}.auth-error{color:#f87171;font-size:.82rem;min-height:1.2em}.editor-back{color:#6ea8fe;text-decoration:none;font-size:.85rem;margin-top:.5rem}.editor-back:hover{text-decoration:underline}.editor-topbar{flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem;border-bottom:1px solid rgba(255,255,255,.08);background:#151922f7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30;min-height:48px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.topbar-center{display:flex;align-items:center;gap:.35rem;flex:1;min-width:0;flex-wrap:wrap}.topbar-title{font-size:.9rem;font-weight:600;color:#e8eaed}.topbar-separator{width:1px;height:24px;background:#ffffff1a;margin:0 .15rem}.topbar-btn{padding:.4rem .65rem;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0d;color:#e8eaed;font-size:.8rem;cursor:pointer;white-space:nowrap;font-family:inherit}.topbar-btn:hover{background:#6ea8fe2e;border-color:#6ea8fe66}.topbar-btn-primary{border-color:#6ea8fe73;background:#6ea8fe33}.topbar-btn-accent{border-color:#4ade8066;background:#4ade8024}.topbar-btn-accent:hover{background:#4ade803d;border-color:#4ade80}.topbar-btn-preview{border-color:#a78bfa73;background:#a78bfa1f;min-width:2rem;padding:.35rem .45rem;line-height:1}.topbar-btn-preview .topbar-btn-icon{display:block;font-size:.95rem;line-height:1}.topbar-btn-preview:hover{background:#a78bfa38;border-color:#a78bfa}.topbar-btn-preview.is-paused{border-color:#4ade8073;background:#4ade801f}.topbar-btn-preview.is-paused:hover{background:#4ade8038;border-color:#4ade80}.topbar-btn-test{border-color:#fbbf2473;background:#fbbf2424}.topbar-btn-test:hover{background:#fbbf2442;border-color:#fbbf24}.editor-topbar.test-mode-active .topbar-center{opacity:.35;pointer-events:none}.editor-test-host{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15}.editor-test-host canvas{display:block;width:100%!important;height:100%!important}.editor-test-hud{position:absolute;top:12px;left:50%;transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:.75rem;padding:.45rem .75rem;border-radius:8px;border:1px solid rgba(251,191,36,.4);background:#151922eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;max-width:calc(100% - 24px);flex-wrap:wrap;justify-content:center}.editor-test-label{font-size:.8rem;font-weight:600;color:#fbbf24}.editor-test-hint{font-size:.72rem;color:#9aa0a6}.editor-test-exit{padding:.35rem .6rem;border:1px solid rgba(248,113,113,.4);border-radius:6px;background:#f871711f;color:#fecaca;font-size:.75rem;cursor:pointer;font-family:inherit}.editor-test-exit:hover{background:#f8717138;border-color:#f87171}#perf-hud{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.45rem .9rem;background:#000000b8;border-bottom:1px solid rgba(255,255,255,.08);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.2;pointer-events:none;color:#c9d1d9}#perf-hud.editor-debug-overlay{display:block;max-height:42vh;overflow-y:auto;column-count:2;column-gap:1.5rem}#perf-hud .editor-debug-section{break-inside:avoid;margin-top:.35rem;margin-bottom:.15rem;font-weight:600;color:#8be9fd}#perf-hud .editor-debug-section b{color:#8be9fd}#perf-hud .editor-debug-row{break-inside:avoid;display:flex;gap:.5rem;padding:.05rem 0}#perf-hud .editor-debug-row span{color:#6e7681;min-width:9rem}#perf-hud span b{color:#8be9fd;font-weight:600;margin-right:.25rem}.topbar-btn-danger:hover{background:#f871712e;border-color:#f8717173}.topbar-btn-ghost{background:transparent}.caret{font-size:.65rem;opacity:.7}.topbar-dropdown{position:relative}.topbar-dropdown.open .dropdown-menu{display:block}.dropdown-menu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:180px;padding:.35rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#151922fa;box-shadow:0 8px 28px #00000073;z-index:50}.dropdown-menu button{display:block;width:100%;text-align:left;padding:.45rem .55rem;border:none;border-radius:6px;background:transparent;color:#e8eaed;font-size:.82rem;cursor:pointer;font-family:inherit}.dropdown-menu button:hover{background:#6ea8fe2e}.dropdown-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#9aa0a6;padding:.35rem .55rem .15rem}.dropdown-divider{height:1px;margin:.3rem 0;background:#ffffff14}.dropdown-menu-maps{min-width:240px;max-width:320px;padding:.25rem}.dropdown-maps-list{display:flex;flex-direction:column;gap:.15rem;max-height:280px;overflow-y:auto}.dropdown-maps-list button{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-maps-list button.active{background:#6ea8fe38;color:#fff}.dropdown-hint{margin:0;padding:.5rem .55rem;font-size:.78rem;color:#9aa0a6;line-height:1.35}.dropdown-hint.error{color:#f28b82}.topbar-tool-group{display:flex;gap:.3rem;flex-wrap:wrap}.topbar-user{display:flex;align-items:center;gap:.45rem;font-size:.8rem;color:#bdc1c6}#scene-viewport{position:relative;flex:1;min-height:0;outline:none;overflow:hidden;background:#141820}#scene-viewport.scene-viewport-interactive{cursor:crosshair}#scene-viewport.is-placing-object canvas{cursor:crosshair}#scene-viewport canvas.is-pointer-locked,#scene-viewport.is-pointer-locked canvas{cursor:none}#scene-viewport canvas{display:block;width:100%;height:100%}.marquee-selection{position:absolute;z-index:4;border:1px solid #6ea8fe;background:#6ea8fe24;box-shadow:inset 0 0 0 1px #ffffff14;pointer-events:none}#scene-viewport.is-marquee-selecting canvas{cursor:crosshair}.editor-floating-panel{position:absolute;top:16px;right:16px;width:280px;height:min(560px,calc(100% - 32px));min-width:220px;min-height:240px;max-width:min(560px,calc(100% - 32px));max-height:calc(100% - 32px);z-index:20;display:flex;flex-direction:column;overflow:hidden;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#151922f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px #00000073;pointer-events:auto}.editor-floating-panel.collapsed{display:none}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid rgba(255,255,255,.08);background:#ffffff0a;-webkit-user-select:none;user-select:none}.panel-drag-handle{cursor:grab}.panel-drag-handle:active{cursor:grabbing}.panel-header h2{font-size:.85rem;font-weight:600}.panel-close{flex-shrink:0;width:28px;height:28px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#00000040;color:#bdc1c6;font-size:1.1rem;line-height:1;cursor:pointer}.panel-close:hover{color:#fff;border-color:#f8717173;background:#f8717126}.panel-body{overflow-y:auto;flex:1;min-height:0;padding:.35rem;display:flex;flex-direction:column}.panel-collapse-hierarchy{flex:1;min-height:140px;display:flex;flex-direction:column}.panel-collapse-hierarchy[open]{min-height:180px}.panel-collapse-hierarchy>.collapse-content.hierarchy-panel{flex:1;min-height:0;display:flex;flex-direction:column}.hierarchy-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}.hierarchy-toolbar .btn-spawn{flex:1 1 auto;min-width:0;padding:.35rem .45rem;font-size:.74rem}.object-hierarchy-tree{flex:1;min-height:120px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#0000002e}.hierarchy-node{display:flex;align-items:center;gap:.25rem;min-height:1.75rem;padding:.15rem .35rem .15rem 0;font-size:.76rem;border-bottom:1px solid rgba(255,255,255,.04);cursor:grab;-webkit-user-select:none;user-select:none;position:relative}.hierarchy-node:active{cursor:grabbing}.hierarchy-node.is-dragging{opacity:.45}.hierarchy-node.is-drop-target.drop-before:before,.hierarchy-node.is-drop-target.drop-after:after{content:"";position:absolute;left:.35rem;right:.35rem;height:2px;background:#6ea8fe;border-radius:1px;pointer-events:none}.hierarchy-node.is-drop-target.drop-before:before{top:0}.hierarchy-node.is-drop-target.drop-after:after{bottom:0}.hierarchy-node.is-drop-target.drop-inside{background:#6ea8fe3d;outline:1px dashed rgba(110,168,254,.75);outline-offset:-1px}.hierarchy-node:hover,.hierarchy-node.is-selected{background:#6ea8fe29}.hierarchy-node.is-hidden-object{opacity:.55}.hierarchy-node.is-group>.hierarchy-label{color:#cfe0ff;font-weight:600}.hierarchy-toggle,.hierarchy-visibility{flex-shrink:0;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:4px;background:transparent;color:#9aa0a6;font-size:.68rem;line-height:1;cursor:pointer}.hierarchy-toggle:hover,.hierarchy-visibility:hover{background:#ffffff14;color:#fff}.hierarchy-toggle.is-spacer{visibility:hidden;pointer-events:none}.hierarchy-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchy-label-input{flex:1;min-width:0;height:1.35rem;padding:0 .3rem;border:1px solid rgba(110,168,254,.7);border-radius:4px;background:#0006;color:#e8eaed;font:inherit;font-size:.76rem;outline:none;box-shadow:0 0 0 2px #6ea8fe2e}.hierarchy-label-input:focus{border-color:#6ea8fe;box-shadow:0 0 0 2px #6ea8fe59}.hierarchy-meta{flex-shrink:0;font-size:.68rem;color:#7a8088}.panel-resize-handle{position:absolute;left:0;bottom:0;width:16px;height:16px;cursor:nesw-resize;border-bottom-left-radius:10px;background:linear-gradient(45deg,transparent 0 45%,rgba(110,168,254,.55) 45% 55%,transparent 55% 100%);touch-action:none}.panel-resize-handle:hover{background:linear-gradient(45deg,transparent 0 40%,rgba(110,168,254,.85) 40% 60%,transparent 60% 100%)}.panel-collapse{border:1px solid rgba(255,255,255,.06);border-radius:8px;margin-bottom:.35rem;background:#00000026}.panel-collapse summary{padding:.5rem .6rem;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#9aa0a6;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}.panel-collapse summary::-webkit-details-marker{display:none}.panel-collapse summary:after{content:"▾";float:right;font-size:.7rem;opacity:.6}.panel-collapse:not([open]) summary:after{content:"▸"}.collapse-content{padding:0 .6rem .65rem}.collapse-content label{display:block;margin-top:.5rem;font-size:.82rem;color:#bdc1c6}.sky-color-source-row{display:flex;align-items:center;gap:.65rem;margin-top:.2rem}.sky-color-source-row input[type=color]{width:3rem;min-width:3rem;height:2rem;padding:.15rem;margin-top:0;flex:0 0 auto}.sky-shader-toggle{display:flex;align-items:center;gap:.35rem;margin:0;font-size:.78rem;white-space:nowrap}.sky-shader-glsl{margin-top:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem;line-height:1.35;resize:vertical}.sky-shader-hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.74rem}.editor-floating-panel input[type=text],.editor-floating-panel input[type=color],.editor-floating-panel input[type=number],.editor-floating-panel select,.editor-floating-panel textarea{width:100%;margin-top:.2rem;padding:.45rem;border-radius:7px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:#fff;font-family:inherit;font-size:.82rem}.object-inspector{padding:0;border-radius:10px;border:1px solid rgba(110,168,254,.35);background:#151922f0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px #00000073;color:#e8eaed;font-size:.85rem}.floating-inspector{position:absolute;top:16px;left:16px;width:300px;max-height:calc(100% - 32px);z-index:20;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto}.object-inspector input[type=text],.object-inspector input[type=color],.object-inspector input[type=number],.object-inspector select,.object-inspector textarea{width:100%;margin-top:.25rem;padding:.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:#fff;font-family:inherit}.object-inspector textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;line-height:1.4;resize:vertical;min-height:120px}.object-inspector input[type=color]{padding:.2rem;height:36px}.object-inspector label{display:block;margin-top:.55rem;font-size:.85rem;color:#bdc1c6}.inspector-body{padding:.65rem .75rem .75rem;overflow-y:auto;flex:1;min-height:0}.inspector-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .65rem;border-bottom:1px solid rgba(255,255,255,.08);background:#6ea8fe1a;-webkit-user-select:none;user-select:none}.inspector-drag-handle{cursor:grab}.inspector-drag-handle:active{cursor:grabbing}.inspector-title{display:flex;align-items:baseline;gap:.5rem;min-width:0}.inspector-close{flex-shrink:0;width:28px;height:28px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#00000040;color:#bdc1c6;font-size:1.1rem;line-height:1;cursor:pointer}.inspector-close:hover{color:#fff;border-color:#f8717173;background:#f8717126}.inspector-header h2{margin-bottom:0;font-size:.85rem}.obj-shape-label{font-size:.72rem;color:#8ec0ff;text-transform:uppercase;letter-spacing:.05em}.inspector-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-bottom:.65rem}.inspector-tab{min-width:0;padding:.45rem .4rem;border:1px solid rgba(255,255,255,.1);border-radius:6px;background:#0003;color:#bdc1c6;font-size:.68rem;line-height:1.25;text-align:center;white-space:normal;word-break:break-word;cursor:pointer}.inspector-tab:hover{border-color:#6ea8fe59;color:#e8eaed}.inspector-tab.active{border-color:#6ea8fe8c;background:#6ea8fe2e;color:#fff}.inspector-panel{display:none}.inspector-panel.active{display:block}.vec3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem .3rem}.vec3-grid>div{min-width:0}.vec3-grid label{display:block;font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#8b9199;margin-top:0;margin-bottom:.12rem}.object-inspector .vec3-grid input[type=number]{margin-top:0;padding:.2rem .35rem;height:26px;min-height:26px;font-size:.76rem;line-height:1.2;border-radius:5px}.vec3-grid input{margin-top:0}.vec3-section-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.65rem;margin-bottom:.35rem}.vec3-section-header .section-label{margin:0}.scale-uniform-lock{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;padding:0;border-radius:6px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:#9aa0a6;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.scale-uniform-lock:hover{background:#ffffff1a;color:#e8eaed}.scale-uniform-lock.is-locked{color:#6ea8fe;border-color:#6ea8fe73;background:#6ea8fe1f}.scale-slider-row{display:flex;align-items:center;gap:.55rem;margin-bottom:.45rem}.scale-slider-row input[type=range]{flex:1;min-width:0;height:.35rem;margin:0;accent-color:#6ea8fe;cursor:pointer}.scale-slider-row input[type=range]:disabled{opacity:.35;cursor:not-allowed}.slider-input-row{display:flex;align-items:center;gap:.45rem;margin-top:.2rem;margin-bottom:.35rem}.slider-input-row input[type=number]{width:4.25rem;min-width:4.25rem;margin-top:0;padding:.3rem .35rem;font-size:.78rem;font-variant-numeric:tabular-nums}.slider-input-row input[type=range]{flex:1;min-width:0;height:.35rem;margin:0;accent-color:#6ea8fe;cursor:pointer}.slider-input-row input[type=range]:disabled,.slider-input-row input[type=number]:disabled{opacity:.35;cursor:not-allowed}.scale-slider-value{flex-shrink:0;min-width:2.5rem;font-size:.78rem;font-variant-numeric:tabular-nums;color:#9aa0a6;text-align:right}.size-fields.hidden,.model-fields.hidden,.interaction-target.hidden{display:none}.field-hint{font-size:.75rem;color:#6b7280;margin-top:.35rem;line-height:1.35}.field-hint code{color:#8ec0ff}.btn-apply,.btn-spawn{width:100%;margin-top:.5rem;padding:.5rem .65rem;border-radius:8px;color:#e8eaed;cursor:pointer;font-size:.82rem;font-family:inherit}.btn-apply{border:1px solid rgba(110,168,254,.45);background:#6ea8fe33}.btn-apply:hover{background:#6ea8fe52}.btn-spawn{border:1px solid rgba(74,222,128,.35);background:#4ade801f}.btn-spawn:hover{background:#4ade8038;border-color:#4ade80}.btn-spawn-secondary{border-color:#ffffff26;background:#ffffff0f}.btn-spawn-secondary:hover{background:#6ea8fe2e;border-color:#6ea8fe66}.spawn-actions{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.spawn-actions .btn-spawn{width:100%}.spawn-actions-row{display:flex;gap:.35rem;margin-top:.45rem}.spawn-actions-row .btn-spawn{flex:1}.finish-object-row{display:flex;gap:.35rem;align-items:stretch}.finish-object-row input{flex:1;min-width:0}.finish-object-row .btn-spawn{flex:0 0 auto;padding-left:.65rem;padding-right:.65rem}#btn-map-finish-clear{min-width:2rem;padding-left:0;padding-right:0}.spawn-points-list{list-style:none;max-height:140px;overflow-y:auto;border:1px solid rgba(255,255,255,.08);border-radius:7px;margin-top:.35rem}.spawn-points-list li{padding:.4rem .55rem;font-size:.78rem;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05)}.spawn-points-list li:hover,.spawn-points-list li.selected{background:#4ade802e}.material-list{list-style:none;max-height:120px;overflow-y:auto;border:1px solid rgba(255,255,255,.08);border-radius:7px;margin-top:.35rem}.material-list li{padding:.4rem .55rem;font-size:.78rem;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;gap:.45rem}.material-list li .mat-swatch{width:14px;height:14px;border-radius:3px;border:1px solid rgba(255,255,255,.2);flex-shrink:0}.material-list li:hover,.material-list li.selected{background:#6ea8fe2e}.material-editor{margin-top:.5rem;padding-top:.35rem;border-top:1px solid rgba(255,255,255,.08)}.material-editor label{margin-top:.45rem}.collapse-content .field-hint{margin-top:0;margin-bottom:.25rem}#map-pixelation-fields.is-disabled,#map-ao-fields.is-disabled,#model-animation-fields.is-disabled,#mat-texture-repeat-fields.is-disabled{opacity:.45;pointer-events:none}.section-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#9aa0a6;margin-top:.45rem;margin-bottom:.15rem}.inspector-panel>.section-label:first-child{margin-top:0}.inspector-panel>.section-label+.vec3-grid{margin-bottom:.15rem}.spawn-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem}.spawn-grid label{font-size:.72rem;color:#9aa0a6}.spawn-grid input{margin-top:.1rem}.shape-grid,.tool-row,.preset-row{display:flex;flex-wrap:wrap;gap:.35rem}.shape-grid button,.tool-row button,.preset-row button{flex:1;min-width:calc(50% - .2rem);padding:.45rem .55rem;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:#ffffff0d;color:#e8eaed;cursor:pointer;font-size:.8rem;font-family:inherit}.shape-grid button:hover,.tool-row button:hover,.preset-row button:hover{background:#6ea8fe33;border-color:#6ea8fe}.btn-secondary{border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#e8eaed;padding:.45rem .65rem;border-radius:7px;cursor:pointer;font-family:inherit}#object-list{list-style:none;max-height:160px;overflow-y:auto;border:1px solid rgba(255,255,255,.08);border-radius:7px}#object-list li,padding: .4rem .55rem; font-size: .78rem; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,.05); } #object-list li:hover,#object-list li.selected{background:#6ea8fe2e}.editor-status{flex-shrink:0;padding:.4rem .75rem;font-size:.78rem;color:#9aa0a6;border-top:1px solid rgba(255,255,255,.08);background:#12151cf2;z-index:10}.check-row{display:flex;align-items:center;gap:.5rem;margin-top:.35rem}.environment-panel{margin-top:1rem;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.35rem}.map-timer-hud{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:30;display:none;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem 1rem .5rem;border-radius:10px;background:#080a10d1;border:1px solid rgba(255,255,255,.12);box-shadow:0 8px 24px #00000059;pointer-events:none;font-variant-numeric:tabular-nums}.map-timer-hud.is-visible{display:flex}.map-timer-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:#9aa0a6}.map-timer-value{font-size:1.45rem;font-weight:700;color:#f1f3f4;line-height:1}.map-timer-hud.is-warning .map-timer-value{color:#ffb74d}.map-timer-hud.is-critical .map-timer-value{color:#ff8a80;animation:map-timer-pulse .8s ease-in-out infinite}.map-timer-hud.is-expired{border-color:#ff8a8073;background:#300c0ce0}.map-timer-hud.is-expired .map-timer-label,.map-timer-hud.is-expired .map-timer-value{color:#ff8a80}@keyframes map-timer-pulse{0%,to{opacity:1}50%{opacity:.55}}.model-fields input[readonly]{opacity:.85;cursor:default}@media(max-width:900px){.editor-topbar{flex-wrap:wrap;padding-bottom:.5rem}.topbar-center{order:3;width:100%}}.poly-pizza-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1rem}.poly-pizza-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#080a0ed1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.poly-pizza-panel{position:relative;z-index:1;width:min(920px,100%);max-height:min(88vh,820px);display:flex;flex-direction:column;border-radius:14px;border:1px solid rgba(110,168,254,.28);background:#151922;box-shadow:0 24px 64px #00000073;overflow:hidden}.poly-pizza-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem .75rem;border-bottom:1px solid rgba(255,255,255,.08)}.poly-pizza-header h2{font-size:1.1rem;font-weight:600}.poly-pizza-subtitle{margin-top:.25rem;font-size:.82rem;color:#9aa0a6}.poly-pizza-close{flex-shrink:0;width:2rem;height:2rem;border:none;border-radius:8px;background:#ffffff0f;color:#e8eaed;font-size:1.25rem;line-height:1;cursor:pointer}.poly-pizza-close:hover{background:#ffffff1f}.poly-pizza-toolbar{display:flex;gap:.5rem;padding:.75rem 1.1rem 0}.poly-pizza-toolbar input[type=search]{flex:1;min-width:0;padding:.55rem .75rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:#fff;font-family:inherit;font-size:.9rem}.poly-pizza-search-btn,.poly-pizza-more-btn{padding:.55rem .9rem;border-radius:8px;border:1px solid rgba(110,168,254,.35);background:#6ea8fe26;color:#cfe0ff;font-family:inherit;font-size:.85rem;cursor:pointer;white-space:nowrap}.poly-pizza-search-btn:hover,.poly-pizza-more-btn:hover{background:#6ea8fe47}.poly-pizza-search-btn:disabled,.poly-pizza-more-btn:disabled{opacity:.5;cursor:not-allowed}.poly-pizza-status{padding:.55rem 1.1rem 0;font-size:.82rem;color:#9aa0a6;min-height:1.4em}.poly-pizza-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:1rem;padding:1rem 1.25rem;align-content:start;align-items:start}.poly-pizza-card{display:flex;flex-direction:column;width:100%;min-width:0;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#00000038;overflow:hidden;transition:border-color .15s,transform .15s,box-shadow .15s}.poly-pizza-card:hover{border-color:#6ea8fe73;transform:translateY(-2px);box-shadow:0 10px 28px #00000047}.poly-pizza-card-preview{position:relative;width:100%;height:220px;min-height:220px;flex:0 0 220px;background-color:#1c2433;overflow:hidden}.poly-pizza-card-body{display:flex;flex-direction:column;gap:.2rem;padding:.65rem .75rem .75rem;border-top:1px solid rgba(255,255,255,.06)}.poly-pizza-card-title{font-size:.9rem;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poly-pizza-card-meta{font-size:.75rem;color:#9aa0a6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poly-pizza-import-btn{position:absolute;left:50%;bottom:.75rem;z-index:1;transform:translate(-50%);padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(42,157,143,.55);background:#151922d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#b8f0e6;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.poly-pizza-import-btn:hover:not(:disabled){background:#2a9d8f6b;transform:translate(-50%) translateY(-1px)}.poly-pizza-import-btn:disabled{cursor:wait}.poly-pizza-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1.1rem .85rem;border-top:1px solid rgba(255,255,255,.08)}.poly-pizza-link{font-size:.82rem;color:#6ea8fe;text-decoration:none}.poly-pizza-link:hover{text-decoration:underline}@media(max-width:820px){.poly-pizza-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poly-pizza-card-preview{height:190px;min-height:190px;flex-basis:190px}}@media(max-width:640px){.poly-pizza-toolbar{flex-direction:column}.poly-pizza-grid{grid-template-columns:1fr;gap:.85rem}}.component-list{display:flex;flex-direction:column;gap:.65rem;margin-bottom:.75rem}.component-card{border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:.5rem .65rem;background:#0003}.component-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.component-card-header strong{flex:1}.component-remove{border:none;background:transparent;color:#f87171;cursor:pointer;font-size:1.1rem;line-height:1}.component-card-body label,.component-card-body input,.component-card-body select,.component-card-body textarea{display:block;width:100%;margin-top:.35rem}.component-add-row{display:flex;gap:.5rem;margin-bottom:.75rem}.component-add-row select{flex:1}.component-ref-row{display:flex;gap:.35rem;margin-bottom:.35rem}.component-ref-name{flex:0 0 35%}.component-ref-target{flex:1}#tab-components.is-disabled{opacity:.55;pointer-events:none}.assistant-panel{position:absolute;top:16px;right:16px;width:380px;max-height:calc(100% - 32px);z-index:22;display:flex;flex-direction:column;overflow:hidden;pointer-events:auto;border-radius:10px;border:1px solid rgba(139,92,246,.45);background:#151922f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 12px 40px #00000073;color:#e8eaed}.assistant-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.65rem .75rem;border-bottom:1px solid rgba(255,255,255,.08)}.assistant-header h2{margin:0;font-size:1rem}.assistant-subtitle{margin:.15rem 0 0;font-size:.75rem;color:#9aa0a6}.assistant-context-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;min-height:2rem;border-bottom:1px solid rgba(255,255,255,.06)}.assistant-context-chips.empty{align-items:center}.assistant-chips-hint{font-size:.75rem;color:#9aa0a6}.assistant-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;border-radius:999px;background:#3dd88c1f;border:1px solid rgba(61,216,140,.5);font-size:.75rem}.assistant-chip-remove{border:none;background:transparent;color:#f87171;cursor:pointer;line-height:1;padding:0}.assistant-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.06)}.assistant-toolbar .btn-secondary.active{background:#8b5cf659;border-color:#8b5cf699}.assistant-messages{flex:1;min-height:180px;max-height:42vh;overflow-y:auto;padding:.65rem .75rem;display:flex;flex-direction:column;gap:.5rem}.assistant-message{padding:.5rem .6rem;border-radius:8px;font-size:.82rem;line-height:1.45}.assistant-message-user{background:#6ea8fe26;align-self:flex-end;max-width:95%}.assistant-message-assistant{background:#ffffff0f;align-self:flex-start;max-width:95%}.assistant-message-error{background:#f8717126;color:#fecaca}.assistant-message-meta{margin-top:.35rem;font-size:.72rem;color:#9aa0a6}.assistant-message-thinking{opacity:.92}.assistant-thinking{display:flex;align-items:center;gap:.55rem}.assistant-thinking-label{color:#b8bcc2;font-size:.8rem}.assistant-thinking-dots{display:flex;align-items:center;gap:.28rem}.assistant-thinking-dots span{width:.42rem;height:.42rem;border-radius:50%;background:#8ab4f8;animation:assistant-thinking-bounce 1.2s ease-in-out infinite}.assistant-thinking-dots span:nth-child(2){animation-delay:.15s}.assistant-thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes assistant-thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1}}.assistant-panel.is-loading .assistant-subtitle:after{content:" · pensando…";color:#8ab4f8}.assistant-form .btn-apply.is-loading{opacity:.85;cursor:wait}.assistant-form{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem;border-top:1px solid rgba(255,255,255,.08)}.assistant-form textarea{width:100%;min-height:4.5rem;resize:vertical;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:inherit;padding:.5rem;font-family:inherit;font-size:.85rem}.assistant-history-section{border-top:1px solid rgba(255,255,255,.08);padding:.5rem .75rem;display:flex;flex-direction:column;gap:.35rem;max-height:9rem}.assistant-history-section.is-collapsed .assistant-history-list,.assistant-history-section.is-collapsed .assistant-undo-hint{display:none}.assistant-history-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.assistant-history-toggle{background:none;border:none;color:inherit;font-size:.78rem;font-weight:600;padding:0;cursor:pointer;text-align:left}.assistant-history-toggle:before{content:"▾ ";font-size:.7rem}.assistant-history-section.is-collapsed .assistant-history-toggle:before{content:"▸ "}.assistant-undo-last{font-size:.72rem;padding:.2rem .45rem}.assistant-undo-hint{font-size:.68rem;color:#9aa0a6;margin:0;line-height:1.3}.assistant-history-list{display:flex;flex-direction:column;gap:.35rem;overflow-y:auto;min-height:0}.assistant-history-empty{font-size:.72rem;color:#9aa0a6;margin:0}.assistant-history-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.35rem .45rem;border-radius:6px;background:#ffffff0a}.assistant-history-item-main{display:flex;flex-direction:column;gap:.1rem;min-width:0}.assistant-history-item-title{font-size:.74rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-history-item-meta{font-size:.68rem;color:#9aa0a6}.assistant-history-undo{font-size:.68rem;padding:.15rem .4rem;flex-shrink:0}.assistant-message-undo{background:none;border:none;color:#8ab4f8;font-size:inherit;padding:0;cursor:pointer;text-decoration:underline}
