html,body,#app{margin:0;width:100%;height:100%;overflow:hidden;background:#050b1f;color:#dce8ff;font-family:Inter,Segoe UI,system-ui,sans-serif}#renderCanvas{width:100%;height:100%;display:block}#status{position:fixed;top:14px;left:14px;padding:8px 10px;border-radius:8px;background:#0a1428ad;border:1px solid rgba(120,180,255,.35);font-size:13px}#fpsStatus{position:fixed;top:14px;right:14px;padding:8px 10px;border-radius:8px;background:#0a1428ad;border:1px solid rgba(120,180,255,.35);font-size:13px}.game-console{position:fixed;top:0;left:0;right:0;height:min(42vh,380px);display:grid;grid-template-rows:auto 1fr auto;transform:translateY(calc(-100% - 12px));transition:transform .16s ease-out;background:linear-gradient(180deg,#060a12f5,#0b101ceb);border-bottom:1px solid rgba(125,199,255,.24);box-shadow:0 14px 40px #00000061;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30}.game-console.is-open{transform:translateY(0)}.game-console__header{padding:10px 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#bddfffe0;border-bottom:1px solid rgba(125,199,255,.14)}.game-console__output{overflow:auto;padding:12px 14px;white-space:pre-wrap;font:13px/1.5 Consolas,Courier New,monospace;color:#d8e9ff}.game-console__form{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:10px 14px 12px;border-top:1px solid rgba(125,199,255,.14)}.game-console__prompt{font:14px/1 Consolas,Courier New,monospace;color:#8bd0ff}.game-console__input{min-width:0;border:0;outline:none;background:transparent;color:#f2f7ff;font:14px/1.2 Consolas,Courier New,monospace}.tooling-toolbar{position:fixed;bottom:28px;left:50%;transform:translate(-50%);display:flex;gap:6px;padding:7px 10px;border-radius:12px;background:#080e1a85;border:1px solid rgba(120,180,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:50;opacity:0;pointer-events:none;transition:opacity .2s ease;-webkit-user-select:none;user-select:none}.tooling-toolbar.is-visible{opacity:1;pointer-events:auto}.tooling-toolbar__btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border-radius:8px;border:1px solid transparent;background:transparent;color:#a0c8ff8c;cursor:pointer;transition:background .13s ease,color .13s ease,border-color .13s ease}.tooling-toolbar__btn:hover{background:#64aaff1a;color:#c8e1ffe6}.tooling-toolbar__btn.is-active{background:#4696ff29;border-color:#64afff52;color:#9dcfff}.tooling-crosshair{position:fixed;top:50%;left:50%;width:16px;height:16px;transform:translate(-50%,-50%);pointer-events:none;opacity:0;z-index:40}.tooling-crosshair.is-visible{opacity:1}.tooling-crosshair:before,.tooling-crosshair:after{content:"";position:absolute;background:#ffffffbf;border-radius:1px}.tooling-crosshair:before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}.tooling-crosshair:after{left:50%;top:0;height:100%;width:1.5px;transform:translate(-50%)}.game-console__input::placeholder{color:#b8d1ed75}.param-gui{position:fixed;inset:0;display:flex;justify-content:flex-end;align-items:stretch;pointer-events:none;overflow:hidden;z-index:35}.param-gui.is-open{pointer-events:auto}.param-gui__card{width:min(440px,calc(100vw - 14px));display:grid;grid-template-rows:auto auto auto minmax(180px,1fr) auto;gap:8px;padding:14px;border-radius:0;border-left:1px solid rgba(136,196,255,.35);background:linear-gradient(165deg,#0c1626f7,#060c16f7);box-shadow:-24px 0 44px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(calc(100% + 10px));transition:transform .18s ease-out}.param-gui.is-open .param-gui__card{transform:translate(0)}.param-gui__header{display:grid;gap:2px}.param-gui__title{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#d8ecff}.param-gui__hint{margin:0;font-size:11px;color:#b9d6f6d1}.param-gui__tabs,.param-gui__subtabs{display:flex;flex-wrap:wrap;gap:6px}.param-gui__tab,.param-gui__subtab,.param-gui__action-button{border:1px solid rgba(140,198,255,.34);border-radius:8px;background:#0c182ad6;color:#d9ebff;padding:5px 9px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.param-gui__tab.is-active,.param-gui__subtab.is-active{background:linear-gradient(170deg,#59a5ff4d,#417ec938);border-color:#9ad3ffb8}.param-gui__values{overflow:auto;display:grid;align-content:start;gap:6px;padding-right:4px}.param-gui__row{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:start;padding:6px 8px;border-radius:10px;border:1px solid rgba(137,193,248,.18);background:#09121fad}.param-gui__label{grid-column:1 / -1;font-size:12px;letter-spacing:.04em;color:#cde6ffeb}.param-gui__control{display:flex;align-items:center;min-width:0;width:100%}.param-gui__file-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;width:100%;align-items:center}.param-gui__file-input{display:none}.param-gui__reset-button{border:1px solid rgba(139,194,255,.36);border-radius:8px;background:#091221db;color:#dcecfff5;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:5px 8px;cursor:pointer;white-space:nowrap;align-self:center}.param-gui__reset-button:disabled{opacity:.45;cursor:not-allowed}.param-gui__number-input,.param-gui__text-input{min-width:0;width:100%;border:1px solid rgba(129,189,255,.35);border-radius:8px;background:#050b14d6;color:#f0f6ff;padding:5px 7px;font:12px/1.2 Consolas,Courier New,monospace}.param-gui__number-input{cursor:ew-resize}.param-gui__number-input.is-dragging{border-color:#aaddffd9;box-shadow:0 0 0 1px #81cbff8c}.param-gui__checkbox{width:18px;height:18px}.param-gui__vector{display:flex;flex-wrap:wrap;gap:8px}.param-gui__vector-item{display:grid;grid-template-columns:auto minmax(58px,88px);align-items:center;gap:4px}.param-gui__vector-label{width:18px;font-size:11px;color:#bed8f2db;text-transform:uppercase}.param-gui__unsupported{font:12px/1.35 Consolas,Courier New,monospace;color:#bad3eecc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.param-gui__empty{margin:0;padding:10px;color:#bed8f2db}.param-gui__actions{display:flex;justify-content:stretch;width:100%}.param-gui__actions .param-gui__action-button{width:100%;max-width:100%;box-sizing:border-box}.asset-browser{position:fixed;inset:0;display:flex;justify-content:flex-start;align-items:stretch;pointer-events:none;overflow:hidden;z-index:36}.asset-browser.is-open{pointer-events:auto}.asset-browser__card{width:min(312px,calc(100vw - 14px));display:grid;grid-template-rows:auto minmax(180px,1fr);gap:8px;padding:14px;border-right:1px solid rgba(136,196,255,.35);background:linear-gradient(190deg,#0c1626f7,#060c16f7);box-shadow:24px 0 44px #00000073;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(calc(-100% - 12px));transition:transform .18s ease-out}.asset-browser.is-open .asset-browser__card{transform:translate(0)}.asset-browser.is-content-visible .asset-browser__card{width:min(520px,calc(100vw - 14px))}.asset-browser__header{display:grid;gap:2px}.asset-browser__title{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:#d8ecff}.asset-browser__hint{margin:0;font-size:11px;color:#b9d6f6d1}.asset-browser__toggle{margin-top:6px;display:inline-flex;align-items:center;gap:7px;width:fit-content;font-size:11px;color:#c8e3fce6;letter-spacing:.04em;text-transform:uppercase}.asset-browser__toggle-input{width:15px;height:15px;accent-color:#7ec6ff}.asset-browser__toggle-text{-webkit-user-select:none;user-select:none}.asset-browser__body{min-height:0;display:grid;grid-template-columns:1fr;gap:10px}.asset-browser.is-content-visible .asset-browser__body{grid-template-columns:minmax(150px,.9fr) minmax(230px,1.3fr)}.asset-browser__tree,.asset-browser__details{min-height:0;overflow:auto;border:1px solid rgba(137,193,248,.2);border-radius:10px;background:#09121fa8;padding:8px}.asset-browser__details{display:none}.asset-browser.is-content-visible .asset-browser__details{display:grid}.asset-browser__tree{display:grid;align-content:start;gap:4px}.asset-browser__tree-node{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;border:1px solid rgba(120,178,240,.15);border-radius:8px;background:#070e18bf;color:#d2e8fff2;text-align:left;padding:5px 7px;padding-left:calc(7px + var(--asset-tree-depth, 0) * 12px);font-size:11px;cursor:pointer}.asset-browser__tree-controls{min-width:0;display:inline-flex;align-items:center;gap:5px}.asset-browser__tree-expander{width:16px;height:16px;border:1px solid rgba(138,190,245,.28);border-radius:5px;background:#0f1d2fb3;color:#c2e1ffe6;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:10px;line-height:1;cursor:default;pointer-events:none}.asset-browser__tree-node.is-active{border-color:#9ad3ffb8;background:linear-gradient(170deg,#59a5ff42,#417ec92e)}.asset-browser__tree-node.is-model-folder{border-color:#ffab5a80;background:linear-gradient(170deg,#ff96372e,#9a581b24)}.asset-browser__tree-node.is-model-folder.is-active{border-color:#ffbb79d6;background:linear-gradient(170deg,#ffac5c59,#b3621f3d)}.asset-browser__tree-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-browser__tree-badge{border-radius:999px;border:1px solid rgba(152,205,255,.38);background:#0e1a2ce6;color:#c2e1fff2;padding:1px 6px;font-size:10px;line-height:1.3}.asset-browser__details{align-content:start;gap:10px}.asset-browser__group{display:grid;gap:6px;border:1px solid rgba(137,193,248,.2);border-radius:10px;background:#09121fa8;padding:8px}.asset-browser__group-title{margin:0;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:#cde6fff2}.asset-browser__group-summary{margin:0;font-size:11px;color:#b5d7f8d1}.asset-browser__rows{display:grid;gap:6px}.asset-browser__row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;border-radius:8px;border:1px solid rgba(137,193,248,.16);background:#080f1ac2;padding:6px 7px}.asset-browser__preview-wrap{width:62px;height:62px;border-radius:8px;border:1px solid rgba(137,193,248,.28);background:#050b14d6;overflow:hidden;align-self:center}.asset-browser__preview{width:100%;height:100%;object-fit:cover;display:block}.asset-browser__content{min-width:0;display:grid;gap:2px}.asset-browser__heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center}.asset-browser__name{font-size:12px;color:#e5f2ff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-browser__type{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9dd0ffe6;justify-self:end}.asset-browser__source,.asset-browser__detail,.asset-browser__meta{font-size:11px;color:#bddcfcdb;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-browser__source{font-family:Consolas,Courier New,monospace;color:#a9cff7db}.asset-browser__meta{color:#99c2ece0}.asset-browser__empty{margin:0;padding:10px;color:#bed8f2db}.asset-browser__empty--error{color:#ffb4b4f2}.asset-model-preview{display:none;grid-template-rows:minmax(128px,1fr);gap:8px;min-height:160px;max-height:280px;padding:8px;border:1px solid rgba(119,172,225,.35);border-radius:10px;background:linear-gradient(180deg,#08101bf5,#060c15f5);box-shadow:inset 0 0 0 1px #ffffff05}.asset-model-preview.is-open{display:grid}.asset-model-preview__header{grid-column:1;align-self:start;max-width:100%;display:grid;gap:3px;margin:2px 2px 0}.asset-model-preview__title{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#dff1fff5}.asset-model-preview__hint,.asset-model-preview__meta{margin:0;font-size:11px;color:#b2d5f6e6;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-model-preview__meta{color:#9cc5ece0;font-family:Consolas,Courier New,monospace}.asset-model-preview__load{justify-self:start;border:1px solid rgba(146,196,247,.45);border-radius:7px;background:linear-gradient(165deg,#336eb157,#214d8247);color:#dceffff5;padding:5px 9px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}.asset-model-preview__load:hover{border-color:#b1d9ff9e;background:linear-gradient(165deg,#3d80cc6b,#265a9857)}.asset-model-preview__canvas{grid-column:1;grid-row:1;width:100%;height:100%;border-radius:9px;border:1px solid rgba(134,187,241,.26);background:radial-gradient(circle at 50% 30%,#172d47d9,#080f19f5)}.asset-model-preview__models{grid-column:2;grid-row:1;min-height:0;overflow:auto;display:grid;align-content:start;gap:6px;padding-right:2px}.asset-model-preview__model{width:100%;border:1px solid rgba(127,179,232,.24);border-radius:8px;background:#0b1624db;color:#cee6fdf0;padding:6px 7px;text-align:left;font-size:11px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-model-preview__model.is-active{border-color:#ffb97ed6;background:linear-gradient(170deg,#ff9a4047,#aa5d2433);color:#ffe9d1fa}@media(max-width:720px){.param-gui__card,.asset-browser__card{width:calc(100vw - 8px);padding:12px}.asset-browser__body{grid-template-columns:1fr}.asset-browser__tree,.asset-browser__details{max-height:32vh}.param-gui__row{gap:7px}.param-gui__label,.param-gui__control{grid-column:1 / -1}.param-gui__reset-button{justify-self:end}.param-gui__vector-item{grid-template-columns:auto minmax(72px,1fr)}.asset-model-preview{grid-template-columns:1fr;grid-template-rows:minmax(110px,1fr) auto;max-height:340px}.asset-model-preview__header{grid-row:1;max-width:calc(100% - 12px)}.asset-model-preview__models{grid-column:1;grid-row:2;display:flex;overflow-x:auto;overflow-y:hidden;gap:6px;padding-bottom:2px}.asset-model-preview__model{min-width:140px}}.map-menu{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:45;opacity:0;transition:opacity .15s ease}.map-menu.is-open{pointer-events:auto;opacity:1}.map-menu__card{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(136,196,255,.28);background:linear-gradient(160deg,#0a1222f7,#060c18f7);box-shadow:0 14px 48px #0000008c,0 0 0 1px #508cdc14;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transform:scale(.94);transition:transform .15s ease;min-width:164px}.map-menu.is-open .map-menu__card{transform:scale(1)}.map-menu__actions{display:flex;gap:8px;justify-content:center}.map-menu__btn{display:flex;align-items:center;justify-content:center;width:46px;height:46px;padding:0;border:1px solid rgba(130,188,255,.22);border-radius:10px;background:#0a1628d1;color:#aad2ffb3;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.map-menu__btn:hover{background:#3c82e62e;color:#d2ebfff2;border-color:#82bcff80}.map-menu__btn.is-active{background:#3c82e63d;border-color:#8cc8ff99;color:#a8d8ff}.map-menu__sub{display:flex;flex-direction:column;gap:8px}.map-menu__sub:empty{display:none}.map-menu__save-form{display:flex;flex-direction:column;gap:8px}.map-menu__name-input{min-width:0;width:100%;border:1px solid rgba(129,189,255,.35);border-radius:8px;background:#050b14d6;color:#f0f6ff;padding:6px 9px;font:13px/1.2 Inter,Segoe UI,system-ui,sans-serif;box-sizing:border-box;outline:none}.map-menu__name-input:focus{border-color:#8cc8ffa6;box-shadow:0 0 0 1px #6eafff4d}.map-menu__save-btns{display:flex;gap:6px}.map-menu__sub-btn{flex:1;border:1px solid rgba(140,198,255,.34);border-radius:8px;background:#0c182ad6;color:#d9ebff;padding:6px 10px;font-size:12px;letter-spacing:.04em;cursor:pointer;transition:background .12s ease,border-color .12s ease}.map-menu__sub-btn:hover{background:#3c78d238;border-color:#8cc8ff8c}.map-menu__sub-btn--primary{background:#3278dc47;border-color:#82beff80;color:#c8e8ff}.map-menu__sub-btn--primary:hover{background:#3c8cf061}.map-menu__sub-btn:disabled{opacity:.4;cursor:not-allowed}.map-menu__status{margin:0;font-size:11px;color:#b9d6f6d1;min-height:1.4em}.map-menu__map-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto}.map-menu__map-entry{width:100%;text-align:left;border:1px solid rgba(120,178,240,.15);border-radius:8px;background:#070e18bf;color:#d2e8fff2;padding:6px 10px;font-size:12px;cursor:pointer;transition:background .11s ease,border-color .11s ease}.map-menu__map-entry:hover{background:linear-gradient(170deg,#59a5ff38,#417ec926);border-color:#9ad3ff8c}
