*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#16181d;font:12px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#c8ccd4}#gl{position:fixed;inset:0;width:100%;height:100%;display:block}#shell{position:fixed;inset:0 0 20px;display:grid;--dock-left-w: 0px;--dock-right-w: 0px;--dock-bottom-h: 0px;--split-left-w: 0px;--split-right-w: 0px;--split-bottom-h: 0px;grid-template-columns:var(--dock-left-w) var(--split-left-w) minmax(0,1fr) var(--split-right-w) var(--dock-right-w);grid-template-rows:var(--toolbar-h) minmax(0,1fr) var(--split-bottom-h) var(--dock-bottom-h);grid-template-areas:"toolbar toolbar toolbar toolbar toolbar" "left splitl centre splitr right" "splitb splitb splitb splitr right" "bottom bottom bottom splitr right";pointer-events:none}#shell>*{pointer-events:auto}body.play #shell,body.chrome-hidden #shell,body.at-home #shell{bottom:0;grid-template-columns:0 0 minmax(0,1fr) 0 0;grid-template-rows:var(--toolbar-h) minmax(0,1fr) 0 0}body.play :is(.dock-region,.splitter),body.chrome-hidden :is(.dock-region,.splitter),body.at-home :is(.dock-region,.splitter){display:none}#grid{grid-area:centre;position:relative;min-width:0;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.dock-region{position:relative;min-width:0;min-height:0;display:flex;background:#16181d;overflow:hidden}#dock-left{grid-area:left;flex-direction:column;border-right:1px solid #2c313a}#dock-right{grid-area:right;flex-direction:column;border-left:1px solid #2c313a}#dock-bottom{grid-area:bottom;flex-direction:row;border-top:1px solid #2c313a}.dock-region[hidden]{display:none}.splitter{background:#1c2029;touch-action:none;user-select:none}#split-left{grid-area:splitl;cursor:col-resize}#split-right{grid-area:splitr;cursor:col-resize}#split-bottom{grid-area:splitb;cursor:row-resize}.splitter[hidden]{display:none}.splitter:hover,.splitter.dragging{background:#3c4453}body.splitting,body.splitting *{cursor:inherit!important}body.splitting.split-col{cursor:col-resize}body.splitting.split-row{cursor:row-resize}.dock{display:flex;flex-direction:column;min-width:0;min-height:0;flex:1 1 0}#dock-bottom .dock{flex:1 1 0}.dock.collapsed{flex:0 0 auto}.dock-split{flex:0 0 4px;background:#1c2029;cursor:row-resize;touch-action:none}.dock-split:hover,.dock-split.dragging{background:#3c4453}.dock-split[hidden],.dock[hidden]{display:none}.dock-strip{flex:0 0 auto;display:flex;align-items:stretch;height:24px;background:#1c2029;border-bottom:1px solid #2c313a;user-select:none}.dock-tab,.dock-chevron{font:inherit;color:#8b93a1;background:none;border:0;border-right:1px solid #2c313a;padding:0 10px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.dock-tab:hover,.dock-chevron:hover{color:#dfe4ec}.dock-tab.active{color:#dfe4ec;background:#12141af0;box-shadow:inset 0 -2px #ffd940}.dock-tab[hidden]{display:none}.dock-strip .dock-fill{flex:1 1 auto}.dock-chevron{border-right:0;border-left:1px solid #2c313a;padding:0 8px}.dock-body{flex:1 1 0;min-height:0;min-width:0;position:relative;overflow:hidden;background:#12141af0}.dock.collapsed .dock-body{display:none}:is(#dock-left,#dock-right).rail .dock-strip{flex-direction:column;height:auto;flex:1 1 0;border-bottom:0}:is(#dock-left,#dock-right).rail :is(.dock-tab,.dock-chevron){writing-mode:vertical-rl;padding:10px 0;border-right:0;border-left:0;border-bottom:1px solid #2c313a}#dock-right.rail .dock-tab.active{box-shadow:inset -2px 0 #ffd940}#dock-left.rail .dock-tab.active{box-shadow:inset 2px 0 #ffd940}:is(#dock-left,#dock-right).rail .dock-chevron{border-bottom:0;border-top:1px solid #2c313a}:is(#dock-left,#dock-right).rail .dock-split{display:none}#shell .window.docked{position:static;inset:auto;width:100%;height:100%;border:0;border-radius:0;box-shadow:none;background:none;display:flex;flex-direction:column}#shell .window.docked:not(.dock-active),#shell .window.docked[hidden]{display:none}#shell .window.docked>.window-title{display:none}#shell .window.docked>.window-body{flex:1 1 0;min-height:0;overflow:auto;max-height:none}.viewport{position:relative;overflow:hidden;touch-action:none;cursor:crosshair;box-shadow:inset 0 0 0 1px #2c313a}#grid.has-maximized .viewport{display:none}#grid.has-maximized .viewport.maximized{display:block;grid-column:1 / 3;grid-row:1 / 3}.view-head{position:absolute;top:6px;left:8px;z-index:2;pointer-events:none;display:flex;gap:4px;align-items:center}.view-head .view-mode{pointer-events:auto;padding:1px 4px;border:1px solid transparent;border-radius:2px;background:#0c0e12a8;color:#8b93a1;font:inherit;letter-spacing:.04em;cursor:pointer}.viewport:hover .view-mode{color:#dfe4ec}.view-head .view-mode:focus{outline:none;border-color:#3c4453}.view-head .view-mode option{background:#16181d;color:#dfe4ec}.label{position:relative;padding:2px 6px;border-radius:2px;background:#0c0e12a8;color:#8b93a1;letter-spacing:.09em;pointer-events:none;user-select:none}.viewport:hover .label{color:#dfe4ec}.viewport.pivot-locked .label{color:#f0c065;background:#2e240ed1}#unsupported{position:fixed;inset:0;display:grid;place-content:center;gap:8px;padding:24px;text-align:center;background:#16181d;z-index:10}#unsupported h1{font-size:16px;font-weight:600;color:#dfe4ec;letter-spacing:.06em}#unsupported p{max-width:44ch;line-height:1.6;color:#8b93a1}.window{position:fixed;top:calc(12px + var(--toolbar-h));right:12px;z-index:5;width:216px;border:1px solid #2c313a;border-radius:3px;background:#12141af0;box-shadow:0 6px 20px #00000073;overflow:hidden}.window.dragging{box-shadow:0 10px 28px #0009;border-color:#3c4453}.window-title{display:flex;align-items:center;gap:6px;padding:6px 8px;background:#1c2029;border-bottom:1px solid #2c313a;color:#aab2c0;letter-spacing:.09em;text-transform:uppercase;cursor:move;user-select:none;touch-action:none}.window-close{margin-left:auto;flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:2px;background:transparent;color:#8b93a3;font:inherit;line-height:1;cursor:pointer}.window-close:hover{background:#2c313a;color:#e6ebf5}.window-grip{position:absolute;right:0;bottom:0;width:14px;height:14px;cursor:nwse-resize;touch-action:none;background:linear-gradient(135deg,transparent 0 50%,#3c4453 50% 62%,transparent 62% 74%,#3c4453 74% 86%,transparent 86%)}#shell .window.docked>.window-grip{display:none}.window.minimized{display:none}.window-min{margin-left:auto;flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:2px;background:transparent;color:#8b93a3;font:inherit;line-height:1;cursor:pointer}.window-min:hover{background:#2c313a;color:#e6ebf5}.window-min+.window-close{margin-left:0}#shell .window.docked>.window-title .window-min{display:none}#window-bar{position:absolute;left:0;right:0;bottom:var(--bars-bottom, 0px);z-index:6;display:flex;flex-wrap:wrap;gap:4px;padding:4px 6px;pointer-events:none}#window-bar[hidden]{display:none}.window-bar-tab{pointer-events:auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:3px 10px;border:1px solid #2c313a;border-radius:3px;background:#12141af0;color:#aab2c0;font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.window-bar-tab:hover{background:#2c313a;color:#e6ebf5}body.play #window-bar,body.chrome-hidden #window-bar,body.at-home #window-bar{display:none}#drive-bar{position:absolute;left:0;right:0;bottom:0;z-index:7;display:flex;align-items:center;gap:8px;height:26px;padding:0 8px;border-top:1px solid #2c313a;background:#12141af5;color:#aab2c0;font-size:11px;letter-spacing:.04em}#drive-bar[hidden]{display:none}#drive-bar.refused{color:#f0a0a0}.drive-bar-line{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drive-bar-spin{flex:0 0 auto;width:11px;height:11px;border:2px solid #2c313a;border-top-color:#7aa2f7;border-radius:50%;animation:drive-bar-turn .7s linear infinite}.drive-bar-spin[hidden]{display:none}@keyframes drive-bar-turn{to{transform:rotate(360deg)}}#drive-bar-connect{flex:0 0 auto;padding:3px 12px;border:1px solid #3b5aa0;border-radius:3px;background:#24314f;color:#e6ebf5;font:inherit;font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}#drive-bar-connect:hover{background:#31437a}#drive-bar-connect[hidden],body.play #drive-bar,body.chrome-hidden #drive-bar,body.at-home #drive-bar{display:none}.dock-close{flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:2px;background:transparent;color:#8b93a3;font:inherit;line-height:1;cursor:pointer}.dock-close:hover{background:#2c313a;color:#e6ebf5}.window-close:focus-visible{outline:1px solid #4c8bf5;outline-offset:1px}.window-body{padding:8px;display:flex;flex-direction:column;gap:5px}.window-body .row{display:flex;align-items:center;justify-content:space-between;gap:8px}.window-body .key{color:#6f7787}.window-body .val{display:flex;align-items:center;gap:6px;color:#dfe4ec;font-variant-numeric:tabular-nums}.window-body .clip-row{cursor:pointer}.window-body .clip-row:hover .key{color:#dfe4ec}.window-body .clip-row.playing .key{color:#ffd940}.window-body .empty{color:#6f7787;padding-bottom:3px}.window-body .nums{display:flex;gap:3px}.window-body .num{width:46px;padding:2px 4px;border:1px solid #2c313a;border-radius:2px;background:#12141a;color:#dfe4ec;font:inherit;font-variant-numeric:tabular-nums;text-align:right}.window-body .num:focus{outline:none;border-color:#ffd940}.window-body .txt{width:148px;padding:2px 4px;border:1px solid #2c313a;border-radius:2px;background:#12141a;color:#dfe4ec;font:inherit}.window-body .txt:focus{outline:none;border-color:#ffd940}.window-body .num::-webkit-inner-spin-button{appearance:none}.window-body select.num{width:96px;text-align:left}.window-body .preset-new{padding:2px 6px;border:1px solid #2c313a;border-radius:2px;background:#12141a;color:#dfe4ec;font:inherit;cursor:pointer}.window-body .preset-new:hover{border-color:#ffd940}.window-body .num[type=range]{width:96px;padding:0;border:none;background:none;accent-color:#ffd940}.window-body .slider-val{min-width:30px;text-align:right;color:#8b93a1;font-variant-numeric:tabular-nums}.window-body .swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.18)}body.play #grid,body.play #details,body.play #cheatsheet,body.play #script,body.play #place-preview{display:none}#script{top:calc(12px + var(--toolbar-h));right:auto;left:288px;width:480px}#script-files{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:4px}.script-file{padding:2px 6px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;cursor:pointer;user-select:none}.script-file.active{background:#1c2029;color:#dfe4ec;border-color:#ffd940}.script-file .script-del{margin-left:5px;color:#6b7280}.script-file .script-del:hover{color:#ff8a8a}.script-file-sep{align-self:center;margin-left:6px;color:#6b7280;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.script-file.data{border-style:dashed}.script-file.data.active{border-color:#7fd4ff}#script-files #script-add{flex:0 0 auto;padding:2px 7px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.script-rename{width:90px;padding:2px 4px;border:1px solid #ffd940;border-radius:2px;background:#0c0e12;color:#dfe4ec;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#script-ace{position:relative;width:100%;height:300px;min-height:120px;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;resize:vertical;overflow:hidden;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#script-ace.ace_focus,#details-body .details-ace.ace_focus{border-color:#5c7fb8;box-shadow:inset 0 0 0 1px #5c7fb859}#script-ace .ace_gutter{background:#10131a;color:#4f5866}#script-ace .ace_gutter-active-line{background:#1a1e27}#script-ace .ace_marker-layer .ace_active-line{background:#141821}#script-ace .ace_print-margin{display:none}#script-text.mirror{position:absolute;right:10px;top:8px;width:8px;height:8px;padding:0;border:0;opacity:0;resize:none;overflow:hidden}#script-error{margin:4px 0 2px;padding:3px 6px;border-left:2px solid #e05555;color:#ff8a8a;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;cursor:pointer}#script-body button{flex:1;padding:4px 6px;border:1px solid #2c313a;border-radius:2px;background:#1c2029;color:#aab2c0;font:inherit;cursor:pointer}#script-body button:hover{border-color:#3c4453;color:#dfe4ec}#hud{position:fixed;inset:0;z-index:3;pointer-events:none;display:none}body.play #hud{display:block}body.play #status:after{content:"PLAYING — WASD move, Space jump, Shift run, Esc stop";color:#ffd940}body.play #gl,body.play #hud{height:calc(100% - 26px)}body.play #tool,body.play #grid-step,body.play #orbit,body.play #selection{display:none}#outliner{top:calc(232px + var(--toolbar-h));width:176px}#cheatsheet{top:calc(12px + var(--toolbar-h));right:auto;left:12px;width:264px}#cheatsheet-body{max-height:calc(100vh - 80px)}#cheatsheet-body h3{margin:6px 0 2px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6f7787}.cmd-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:1px 2px;color:#dfe4ec}.cmd-row .combo{color:#ffd940;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cmd-row.static .combo{color:#8b93a1}.cmd-row.disabled,.cmd-row.disabled .combo{color:#565e6d}.cmd-row .combo.bind{cursor:pointer}.cmd-row .combo.bind:hover{text-decoration:underline}.cmd-row .capture{width:82px;padding:1px 4px;border:1px solid #ffd940;border-radius:2px;background:#12141a;color:#dfe4ec;font:inherit}.cmd-row .capture:focus{outline:none}.cmd-row .reset{cursor:pointer;font-style:normal;color:#8b93a1;margin-left:auto}.cmd-row .reset:hover{color:#dfe4ec}.cmd-row .conflict{flex-basis:100%;font-style:normal;font-size:10px;color:#e08f3c}.cmd-row{flex-wrap:wrap}#cheatsheet-body .sheet-note{margin-top:8px;color:#6f7787;line-height:1.5}#cheatsheet-body .reset-all{margin-top:4px;padding:3px 6px;border:1px solid #2c313a;border-radius:2px;background:#1c2029;color:#aab2c0;font:inherit;cursor:pointer}#cheatsheet-body .reset-all:hover{border-color:#3c4453;color:#dfe4ec}#palette{position:fixed;inset:0;z-index:10;background:#08090c66;display:flex;justify-content:center;align-items:flex-start;padding-top:12vh}#palette[hidden]{display:none}#palette-box{width:340px;border:1px solid #3c4453;border-radius:4px;background:#12141af7;box-shadow:0 12px 36px #0000008c;overflow:hidden}#palette-input{width:100%;padding:8px 10px;border:none;border-bottom:1px solid #2c313a;background:#12141a;color:#dfe4ec;font:inherit}#palette-input:focus{outline:none}#palette-list{max-height:320px;overflow-y:auto;padding:4px}.pal-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:4px 6px;border-radius:2px;color:#dfe4ec;cursor:pointer}.pal-row .combo{color:#ffd940;white-space:nowrap}.pal-row.active{background:#262c38}.pal-row.disabled,.pal-row.disabled .combo{color:#565e6d}.window-body.list{gap:1px;padding:4px;max-height:240px;overflow-y:auto}.row-spacer{flex:0 0 auto;pointer-events:none}.entity-row{display:flex;flex:0 0 auto;align-items:center;gap:6px;padding:3px 5px;border-radius:2px;cursor:pointer;color:#aab2c0}.entity-row:hover{background:#232833}.entity-row.active{background:#2f3646;color:#ffd940}.entity-row .swatch.start{background:#59f299}.entity-row.sub{padding-left:22px}.entity-row .swatch.ghost{background:transparent;border:1px dashed rgb(140,158,242)}.entity-row .op-badge{margin-left:auto;padding:0 5px;border-radius:2px;font-style:normal;color:#8c9ef2}.entity-row .op-badge:hover{background:#3a4256;color:#ffd940}.entity-row.drop-into{outline:1px solid #ffd940;outline-offset:-1px}.entity-row.drop-above{box-shadow:inset 0 2px #ffd940}.entity-row.drop-below{box-shadow:inset 0 -2px #ffd940}#outliner-body.drop-root{outline:1px dashed #8c9ef2;outline-offset:-2px}body.play #outliner{display:none}#status{position:fixed;left:8px;bottom:6px;display:flex;gap:10px;padding:2px 6px;border-radius:2px;background:#0c0e12a8;color:#8b93a1;pointer-events:none;user-select:none}#warning:not(:empty){color:#ffb454}#fps{color:#8b93a1;font-variant-numeric:tabular-nums}#perf{position:fixed;left:8px;bottom:28px;z-index:6;padding:4px 7px;border-radius:2px;background:#0c0e12d1;color:#dfe4ec;line-height:1.5;white-space:pre;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}#perf[hidden]{display:none}#nethud{position:fixed;right:8px;top:calc(8px + var(--toolbar-h));z-index:6;padding:5px 8px;border-radius:2px;border:1px solid rgba(120,200,255,.35);background:#080c12db;color:#cfe6ff;text-shadow:0 1px 2px rgba(0,0,0,.9);line-height:1.5;white-space:pre;font-variant-numeric:tabular-nums;pointer-events:none;user-select:none}#nethud[hidden]{display:none}#sculpt{position:fixed;left:50%;transform:translate(-50%);top:calc(10px + var(--toolbar-h));z-index:7;display:flex;flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 320px);align-items:center;gap:10px;padding:6px 12px;border-radius:3px;background:#0c0e12db;color:#8b93a1;font-variant-numeric:tabular-nums;user-select:none}#sculpt[hidden]{display:none}#sculpt input[type=range]{width:92px;accent-color:#ffd940}#sculpt-detail-value,#sculpt-size-value,#sculpt-strength-value,#sculpt-count{color:#dfe4ec;min-width:44px}#sculpt-tile{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;color:#dfe4ec}#sculpt-tile-glyph{width:30px;height:30px;border:1px solid #3c4453;border-radius:50%;background:#1c2029;display:grid;place-items:center}#sculpt-tile-glyph svg{width:20px;height:20px;stroke:#ffd940;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#sculpt-tile-name{font-size:11px;letter-spacing:.12em;text-transform:uppercase}#sculpt-sliders{display:flex;flex-direction:column;gap:2px}.sculpt-srow{display:flex;align-items:center;gap:8px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#sculpt-tools{position:fixed;left:10px;top:10px;z-index:7;display:flex;flex-direction:column;gap:8px;padding:6px;border-radius:3px;background:#0c0e12db;user-select:none}#sculpt-tools[hidden]{display:none}.palette-block{display:grid;grid-template-columns:repeat(3,38px);gap:4px}.palette-block:empty,.palette-block[hidden],#sculpt-mask-toggles[hidden]{display:none}.palette-block.pair{grid-template-columns:repeat(2,38px)}#sculpt-mask-toggles{display:flex;flex-direction:column;gap:3px;color:#9aa3b2;font-size:11px}.mask-toggle{display:flex;align-items:center;gap:6px;padding:2px 3px;border:0;border-radius:3px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.mask-toggle .dot{width:7px;height:7px;border:1px solid #3c4453;border-radius:50%;background:#12151b}.mask-toggle:hover:not(:disabled){color:#dfe4ec}.mask-toggle.on{color:#ffd940}.mask-toggle.on .dot{border-color:#ffd940;background:#ffd940}.sculpt-stub{opacity:.34;cursor:default}.sculpt-stub:hover{border-color:#2c313a;color:#9aa3b2}#sculpt-mode{display:flex;gap:4px;margin-left:4px;padding-left:12px;border-left:1px solid #2c313a}.mode-btn{padding:6px 10px;border:1px solid #2c313a;border-radius:3px;background:#12151b;color:#9aa3b2;font:inherit;font-size:11px;letter-spacing:.12em;cursor:pointer}.mode-btn:hover{border-color:#3c4453;color:#dfe4ec}.mode-btn.on{background:#1c2029;border-color:#ffd940;color:#ffd940}.sculpt-brush,.sculpt-action,.tool-toggle,#sculpt-new{position:relative;width:38px;height:38px;display:grid;place-items:center;border:1px solid #2c313a;border-radius:3px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}.sculpt-brush svg,.sculpt-action svg,.tool-toggle svg,#sculpt-new svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sculpt-brush:hover,.sculpt-action:hover,.tool-toggle:hover,#sculpt-new:hover{border-color:#3c4453;color:#dfe4ec}.sculpt-brush.on,.sculpt-action.on,.tool-toggle:has(input:checked){background:#1c2029;border-color:#ffd940;color:#ffd940}.tool-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.tool-toggle .glyph,#sculpt-new .glyph{display:grid;place-items:center;pointer-events:none}#sculpt-stats{position:fixed;left:10px;bottom:34px;z-index:7;color:#dfe4ec;font-variant-numeric:tabular-nums;user-select:none}#sculpt-stats[hidden]{display:none}#sculpt-help{position:fixed;right:12px;bottom:40px;z-index:7;color:#9aa3b2;font-size:12px;line-height:1.7;text-align:left;user-select:none;pointer-events:none}#sculpt-help[hidden]{display:none}#sculpt-help .qh-title{color:#dfe4ec;margin-bottom:4px}body.chrome-hidden :is(#sculpt,#sculpt-tools,#sculpt-stats,#sculpt-help,#status,#backend,#nethud,.window){display:none!important}body.sculpting .viewport .label{top:auto;bottom:26px;left:50%;transform:translate(-50%)}#paint-swatches{display:flex;gap:2px}#paint-swatches[hidden]{display:none}.swatch{width:13px;height:13px;padding:0;border:1px solid #2c313a;border-radius:2px;cursor:pointer}.swatch:hover{border-color:#ffd940}#paint-drop,#paint-swap{padding:2px 6px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}#paint-drop.on{border-color:#ffd940;color:#ffd940}#wear-row[hidden],#grime-row[hidden],#detail-row[hidden]{display:none}#skinstack{inset:auto 12px 12px auto;width:328px}body.play #skinstack{display:none}#skinstack-body .row button{flex:1}#skin-layers{display:flex;flex-direction:column;gap:1px}.skin-row{display:flex;align-items:center;gap:4px;padding:1px 3px;border:1px solid transparent;border-radius:2px;color:#aab2c0;cursor:pointer}.skin-row.active{border-color:#ffd940;color:#ffd940}.skin-row.off .skin-name{color:#565e6d;text-decoration:line-through}.skin-row input[type=checkbox]{accent-color:#ffd940}.skin-row>*{flex:0 0 auto}.skin-name{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.skin-mask{color:#7fd1ff;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;min-width:26px;text-align:right}.skin-blend{width:62px;background:#12151b;border:1px solid #2c313a;color:#dfe4ec;font:10px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.skin-opacity{width:44px;padding:0;border:none;background:none;accent-color:#ffd940}.skin-btn,#skinstack-body button{padding:1px 5px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}.skin-btn:hover,#skinstack-body button:hover{border-color:#ffd940;color:#ffd940}#skin-report{color:#6f7787;line-height:1.5}#paint-row{display:flex;align-items:center;gap:8px}#wear-row .row label,#grime-row .row label{min-width:46px}#wear-row input[type=range],#grime-row input[type=range]{flex:1}#paint-row[hidden]{display:none}#wear-seed,#grime-seed{width:56px;background:#12151b;border:1px solid #2c313a;color:#dfe4ec;font:inherit}#wear-report,#grime-report{color:#dfe4ec;min-width:60px}#wear-curve,#grime-occ{color:#dfe4ec;min-width:96px}#decal-report{color:#8b93a1;padding:2px 0}#decal-row .row label{min-width:46px}#decal-row input[type=range]{flex:1}#wear-curve.under,#grime-occ.under,#decal-report.under{color:#ffb454}#sculpt-flow{display:flex;flex-direction:column;align-items:flex-start;gap:3px}#airbrush-label,#lazy-label,#sculpt-symmetry-label,#sculpt-wire-label{display:flex;align-items:center;gap:4px;white-space:nowrap;cursor:pointer}#sculpt label{white-space:nowrap}#sculpt-symmetry,#sculpt-wire,#airbrush-on,#lazy-on{accent-color:#ffd940}#grid-step,#hint,#tool{color:#6f7787}#tool{color:#8b93a1}body.placing #tool{color:#ffd940}body.placing .viewport{cursor:cell}#sculpt-ring{position:fixed;display:none;z-index:4;border:1px solid rgba(255,255,255,.85);border-radius:50%;box-shadow:0 0 0 1px #0000008c,inset 0 0 0 1px #00000073;pointer-events:none}#sculpt-ring.tuning{align-items:center;justify-content:center;border-color:#ffd940;color:#ffd940;font-size:11px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.85)}#place-preview{position:fixed;display:none;z-index:4;border:1px solid #ffd940;background:#ffd9401f;pointer-events:none}#backend{position:fixed;right:8px;bottom:6px;padding:2px 6px;border-radius:2px;background:#0c0e12a8;color:#6f7787;pointer-events:none;user-select:none}#tuning{top:calc(12px + var(--toolbar-h));right:300px;left:auto;width:268px}#tuning-body{max-height:calc(100vh - 120px);overflow-y:auto}#tuning-body h3{margin:6px 0 2px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6f7787}.tune-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:1px 2px;color:#dfe4ec}.tune-row.changed span{color:#ffd940}.tune-row input{width:78px}.tune-filter{width:100%;margin:4px 0}.tune-presets select{flex:1;min-width:0}#tune-state{margin-left:auto;color:#8b93a1}#uvview{top:var(--sculpt-bar-clear, 12px);right:12px;width:338px}body.play #uvview{display:none}#uv-canvas{width:320px;height:320px;border:1px solid #2c313a;border-radius:2px;background:#0d1016;cursor:crosshair;touch-action:none}#uv-report,#uv-island,#uv-distort,#uv-pack{color:#9aa3b2;font-variant-numeric:tabular-nums;line-height:1.5}#uv-distort,#uv-pack{white-space:pre-line;color:#b7c0d0}#uv-tools{display:flex;gap:4px;margin:4px 0 2px}#uv-tools button{padding:1px 5px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}#uv-tools button:hover{color:#d6dde8;border-color:#3a4150}#shadergraph{top:calc(12px + var(--toolbar-h));right:300px;width:430px}body.play #shadergraph{display:none}#shadergraph-body button{padding:1px 5px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}#shadergraph-body button:hover:not(:disabled){border-color:#ffd940;color:#ffd940}#shadergraph-body button:disabled{opacity:.4;cursor:default}#graph-add{flex-wrap:wrap}#graph-sheet{position:relative;height:340px;overflow:auto;border:1px solid #2c313a;border-radius:2px;background:#0d1015}#graph-wires{position:absolute;top:0;left:0;pointer-events:none;overflow:visible}#graph-nodes{position:relative;min-width:100%;min-height:100%}.graph-wire{fill:none;stroke:#4d7fa8;stroke-width:1.5}.graph-node{position:absolute;width:132px;border:1px solid #2c313a;border-radius:3px;background:#171b22;color:#aab2c0;cursor:move;user-select:none}.graph-node.picked{border-color:#ffd940}.graph-node[data-kind=output]{background:#1d2129}.graph-title{padding:2px 5px;border-bottom:1px solid #2c313a;color:#d5dbe6}.graph-port{position:absolute;height:16px;padding:0 6px!important;border:none!important;background:none!important;color:#7b8494!important;font-size:11px;line-height:16px;cursor:crosshair}.graph-port.graph-in{left:0}.graph-port.graph-out{right:0}.graph-port:before{content:"";position:absolute;top:6px;width:5px;height:5px;border-radius:3px;background:#4d7fa8}.graph-port.graph-in:before{left:-3px}.graph-port.graph-out:before{right:-3px}.graph-port.armed:before{background:#ffd940}.graph-port.armed{color:#ffd940!important}.graph-control{position:absolute;left:5px;display:flex;gap:3px}.graph-control input[type=color]{width:26px;height:18px;padding:0}.graph-number{width:52px}.graph-control select{font:inherit}#graph-report{color:#6f7787;line-height:1.5}#rig{top:calc(12px + var(--toolbar-h));right:auto;left:12px;width:240px}body.play #rig{display:none}#rig-list{max-height:220px;overflow-y:auto;margin-bottom:4px}.bone-row{padding:1px 4px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bone-row:hover{background:#1b1f27}.bone-row.on{background:#2b2410;color:#ffd940}#rig-body button{padding:1px 5px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}#rig-report{margin-top:4px;color:#8b93a1}#timeline{top:calc(12px + var(--toolbar-h));right:auto;left:264px;width:300px}body.play #timeline{display:none}#timeline-body button{padding:1px 5px;border:1px solid #2c313a;border-radius:2px;background:#12151b;color:#9aa3b2;font:inherit;cursor:pointer}#timeline-body button.on{border-color:#ffd940;color:#ffd940}#timeline-body button:disabled{opacity:.4;cursor:default}#timeline-track{position:relative;min-height:34px;padding:3px 0;border:1px solid #2c313a;border-radius:2px;background:#0d1015;cursor:col-resize;touch-action:none}.key-row{position:relative;height:14px;line-height:14px}.key-name{color:#6f7787;padding-left:3px;pointer-events:none}.key-mark{position:absolute;top:3px;width:7px;height:7px;margin-left:-4px;border-radius:2px;background:#ffd940;transform:rotate(45deg)}#timeline-head{position:absolute;top:0;bottom:0;width:1px;margin-left:-1px;background:#7fd4ff;pointer-events:none}#timeline-report{color:#8b93a1;line-height:1.5}#rules{top:calc(12px + var(--toolbar-h));right:584px;left:auto;width:300px}#game-settings{top:calc(12px + var(--toolbar-h));right:584px;left:auto;width:320px}.setting-row{margin-bottom:10px}.setting-name{display:block;margin-bottom:4px;color:#dfe4ec}.setting-row select{width:100%}.setting-note{margin-top:3px;color:#8b93a1;font-size:11px}.setting-fixed{color:#c8ccd4}#rules-body{max-height:calc(100vh - 120px);overflow-y:auto}#rules-body h3{margin:6px 0 2px;font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#6f7787}#rules-version{color:#dfe4ec;font-variant-numeric:tabular-nums}#rules-lead{color:#7fc8ff}#rules-status,#games-status{color:#8fce8f}#rules-status.refused,#drive-status.refused,#games-status.refused{color:#ff6b5e}#games-here{color:#aab2c0}.rule-row .games-join{width:78px}.rules-note{color:#6f7787}.rule-row{display:flex;align-items:center;gap:6px;padding:1px 2px;color:#dfe4ec}.rule-row .rule-name{flex:1;min-width:0}.rule-row .rule-now{width:62px;text-align:right;color:#aab2c0;font-variant-numeric:tabular-nums}.rule-row.changed .rule-name{color:#ffd940}.rule-row.locked .rule-fixed{width:78px;text-align:right;color:#6f7787}.rule-row input{width:78px}#home{position:fixed;inset:0;z-index:90;overflow:auto;padding:48px 32px 64px;background:radial-gradient(120% 100% at 50% 0%,#1d2029,#16181d 60%)}body.at-home #grid,body.at-home #status,body.at-home #backend{display:none}#home-head{display:flex;align-items:baseline;gap:14px;max-width:880px;margin:0 auto 28px}#home-mark{font-size:28px;letter-spacing:.22em;color:#dfe4ec}#home-line{color:#8b93a1}#home-doors{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:880px;margin:0 auto 32px}.home-door{display:flex;flex-direction:column;gap:10px;padding:28px 24px;border:1px solid #2c313a;border-radius:6px;background:#1b1e25;color:#c8ccd4;font:inherit;text-align:left;cursor:pointer}.home-door:hover{border-color:#4d90fe;background:#21252e}.home-door-name{font-size:22px;letter-spacing:.2em;color:#dfe4ec}.home-door-note{color:#8b93a1}#home-sections{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.home-section{border:1px solid #2c313a;border-radius:6px;padding:14px 16px;background:#1a1d23}.home-section[data-open="1"]{border-color:#3a4150}.home-section-title{display:flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.12em;color:#dfe4ec;text-transform:uppercase}.home-count{padding:1px 6px;border-radius:8px;background:#262b34;color:#8b93a1}.home-section-note{margin:6px 0 0;color:#8b93a1}.home-rows{margin-top:12px;display:flex;flex-direction:column;gap:8px}.home-find{padding:10px 12px;border:1px solid #2c313a;border-radius:4px;background:#171a21;color:#dfe4ec;font:inherit}.home-find:focus{outline:none;border-color:#4d90fe}.home-find::placeholder{color:#6b7280}.home-row{display:flex;align-items:baseline;gap:12px;padding:10px 12px;border:1px solid #2c313a;border-radius:4px;background:#1e222a;color:#c8ccd4;font:inherit;text-align:left;cursor:pointer}.home-row:hover{border-color:#4d90fe}.home-row-name{color:#dfe4ec}.home-row-note{color:#8b93a1}.home-empty{margin-top:12px;color:#8b93a1}#home-note{max-width:880px;margin:18px auto 0;color:#8b93a1}#home-new{max-width:880px;margin:18px auto 0;padding:16px;border:1px solid #3a4150;border-radius:6px;background:#1a1d23}.home-new-title{font-size:13px;letter-spacing:.12em;color:#dfe4ec;text-transform:uppercase}.home-starters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.home-starter{display:flex;flex-direction:column;gap:6px;min-height:92px;padding:14px 12px;border:1px solid #2c313a;border-radius:4px;background:#1e222a;color:#c8ccd4;font:inherit;text-align:left;cursor:pointer}.home-starter:hover:not(:disabled){border-color:#4d90fe}.home-starter[aria-pressed=true]{border-color:#4d90fe;background:#21283a}.home-starter:disabled{opacity:.45;cursor:default}.home-starter-name{color:#dfe4ec}.home-starter-note{color:#8b93a1;font-size:12px}.home-new-row{display:flex;gap:8px;margin-top:12px}.home-new-row .home-find{flex:1}.home-new-go,.home-new-back{padding:10px 16px;border:1px solid #2c313a;border-radius:4px;background:#1e222a;color:#dfe4ec;font:inherit;cursor:pointer}.home-new-go{border-color:#4d90fe;background:#24365a}.home-new-go:hover,.home-new-back:hover{border-color:#4d90fe}@media(max-width:640px){.home-starters{grid-template-columns:1fr 1fr}}#modules{top:calc(12px + var(--toolbar-h));right:12px;left:auto;width:340px}#modules-body{max-height:calc(100vh - 120px);overflow-y:auto}.mod-modes{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.mod-mode{padding:3px 8px;font:inherit;font-size:10px;color:#cfd6cf;background:#23282342;border:1px solid #3a413a;border-radius:3px;cursor:pointer}.mod-mode.on{color:#0f140f;background:#9ad07f;border-color:#9ad07f}.mod-mode.ghost{opacity:.55}.mod-find{display:flex;align-items:center;gap:4px;margin-bottom:6px}.mod-find input[type=search]{flex:1 1 auto;min-width:0}.mod-only{display:flex;align-items:center;gap:3px;font-size:10px;white-space:nowrap}.mod-list{display:flex;flex-direction:column;gap:2px}.mod-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:6px;padding:5px 6px;border:1px solid #2b312b;border-left:3px solid #2b312b;border-radius:3px;background:#1b1f1b55;cursor:pointer}.mod-row.on{background:#242d2166;border-left-color:#9ad07f}.mod-row.bad{border-left-color:#d08a7f}.mod-row input[type=checkbox]{margin-top:2px}.mod-row input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.mod-main{display:flex;flex-direction:column;gap:1px;min-width:0}.mod-name{display:flex;align-items:center;gap:5px;font-size:11px;color:#e2e8e2}.mod-ver{font-size:9px;color:#7d867d}.mod-flag{font-size:8px;text-transform:uppercase;letter-spacing:.4px;padding:1px 4px;border-radius:2px;background:#3a413a;color:#cfd6cf}.mod-flag.you{background:#9ad07f;color:#0f140f}.mod-flag.mode{background:#7fa6d0;color:#0f140f}.mod-flag.bad{background:#d08a7f;color:#1a0c09}.mod-note{font-size:10px;color:#98a298;line-height:1.3}.mod-why{font-size:9px;color:#6f786f}.mod-by{font-size:9px;color:#6f786f;white-space:nowrap}.mod-empty{font-size:10px;color:#7d867d;margin:8px 0}.mod-summary{margin:8px 0 0;font-size:10px;color:#98a298;border-top:1px solid #2b312b;padding-top:6px}.mod-summary.refused{color:#d08a7f}.mod-faults{margin:4px 0 0;padding-left:14px;font-size:9px;color:#d08a7f}.mod-flag.held{background:#b6a15c;color:#17130a}.mod-find{flex-wrap:wrap}.mod-find #mod-reset{margin-left:auto}.mod-row input[type=checkbox]:disabled{opacity:.75;accent-color:#b6a15c}.mod-flag.built{background:#6f7a8c;color:#0c1016}#details-body .script-row .val{flex:1;position:relative}#details-body .script-row .mirror{position:absolute;right:2px;top:2px;width:8px;height:8px;padding:0;border:0;opacity:0;resize:none;overflow:hidden}#details-body .details-ace{position:relative;width:100%;height:84px;min-height:56px;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;resize:vertical;overflow:hidden;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#details-body .details-ace .ace_gutter{background:#10131a;color:#4f5866}#details-body .details-ace .ace_gutter-active-line{background:#1a1e27}#details-body .details-ace .ace_marker-layer .ace_active-line{background:#141821}#details-body .details-ace .ace_print-margin{display:none}#details-body textarea.txt{width:100%;min-height:4.5em;resize:vertical;font:11px/1.4 ui-monospace,Consolas,monospace;background:#14161a;color:#d8dbe0;border:1px solid #2a2e35;border-radius:3px;padding:3px 4px;box-sizing:border-box}#content{top:calc(12px + var(--toolbar-h));right:auto;left:620px;width:440px}#content .window-body{gap:6px}.content-bar{display:flex;align-items:center;gap:6px}#content-back{padding:1px 7px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#content-crumbs{flex:1;display:flex;align-items:center;gap:4px;overflow:hidden;white-space:nowrap;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8a93a3}#content-crumbs .crumb{cursor:pointer;padding:1px 4px;border-radius:2px}#content-crumbs .crumb:hover{background:#1c2029;color:#dfe4ec}#content-crumbs .crumb.here{color:#dfe4ec}#content-crumbs .sep{color:#4f5866}.content-split{display:flex;gap:6px;height:250px}#content-tree{flex:0 0 120px;overflow:auto;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;padding:3px 0}.content-row{display:flex;align-items:center;gap:5px;padding:2px 6px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#aab2c0;cursor:pointer;user-select:none;white-space:nowrap}.content-row:hover{background:#151922}.content-row.active{background:#1c2029;color:#dfe4ec;box-shadow:inset 2px 0 #ffd940}.content-row .glyph{color:#6b7280;width:8px}.content-row.root .name{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:#8a93a3}#content-grid{flex:1;overflow:auto;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,72px);grid-auto-rows:max-content;gap:8px;align-content:start}.content-tile{width:72px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 2px 4px;border:1px solid transparent;border-radius:3px;cursor:default;user-select:none}.content-tile:hover{background:#151922;border-color:#2c313a}.content-tile.active{background:#1c2029;border-color:#ffd940}.content-tile.actor{cursor:grab}.content-tile.actor:active{cursor:grabbing}.content-tile .icon{position:relative;width:56px;height:44px;border-radius:3px;background:#12151b;display:flex;align-items:center;justify-content:center}.content-tile .icon svg{width:40px;height:32px}.content-tile .icon svg path{stroke-width:1.2;stroke-linejoin:round}.content-tile .icon svg.thumb{width:40px;height:32px;object-fit:contain}#content-search{flex:0 1 140px;min-width:70px;margin-left:auto}#content-crumbs.finding .crumb.here{color:#7fd4ff;cursor:default}.content-tile .tile-where{font-size:10px;line-height:1.2;color:#6b7280;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.content-tile.actor .icon{background:#1a1510}.content-tile.level .icon{background:#0f171d}.content-tile .tile-name{max-width:68px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:11px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#aab2c0;text-align:center}.content-tile.active .tile-name{color:#dfe4ec}.content-tile .tag{position:absolute;right:2px;bottom:2px;padding:0 4px;border-radius:6px;background:#24405a;color:#7fd4ff;font:8px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.content-empty{grid-column:1 / -1;color:#4f5866;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:8px 2px}.content-tile .tile-rename{width:68px;padding:0 3px;border:1px solid #ffd940;border-radius:2px;background:#0c0e12;color:#dfe4ec;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-align:center;box-sizing:border-box;outline:none}.ctxmenu{position:fixed;z-index:95;min-width:140px;padding:3px;border:1px solid #2c313a;border-radius:3px;background:#151922;color:#dfe4ec;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:0 6px 18px #0000008c;user-select:none}.ctxmenu.sub{position:absolute;display:none}.ctxmenu-item{position:relative;padding:3px 22px 3px 10px;border-radius:2px;cursor:default;white-space:nowrap}.ctxmenu-item:hover{background:#2a3140}.ctxmenu-item:hover>.ctxmenu.sub{display:block}.ctxmenu-item.disabled{color:#4f5866}.ctxmenu-item.disabled:hover{background:none}.ctxmenu-item.has-sub:after{content:"▸";position:absolute;right:6px;color:#8a93a3}.ctxmenu-sep{height:1px;margin:3px 6px;background:#2c313a}#content-status{min-height:1.4em;color:#8fce8f;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap}#content-status.refused{color:#ff6b5e}#content-body.file-over{outline:2px dashed #7fd4ff;outline-offset:-3px;background:#7fd4ff0d}#content-grid{position:relative}.content-band{position:absolute;pointer-events:none;border:1px solid #7fd4ff;background:#7fd4ff1f;z-index:3}#details-body button.link{padding:0;border:0;background:none;color:#7fd4ff;font:inherit;cursor:pointer;text-decoration:underline dotted}#details-body button.link:hover{color:#b3e6ff}#content-ghost,#place-ghost{position:fixed;z-index:50;pointer-events:none;padding:3px 8px;border:1px solid #ffb347;border-radius:3px;background:#1a1510f2;color:#ffd28a;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;box-shadow:0 4px 12px #00000080}#content-ghost:before{content:"◆ "}#content-ghost.can-drop,#place-ghost.can-drop{border-color:#8fce8f;color:#c6f0c6}body.actor-drag{cursor:grabbing;user-select:none}body.actor-drag #grid .viewport{cursor:copy}:root{--toolbar-h: 28px}body.toolbar-off,body.chrome-hidden{--toolbar-h: 0px}body.chrome-hidden #toolbar{display:none!important}#toolbar{position:fixed;top:0;left:0;right:0;height:var(--toolbar-h);z-index:20;display:flex;align-items:stretch;gap:2px;padding:0 6px;background:#1c1f26;border-bottom:1px solid #2c313a;user-select:none}#toolbar[hidden]{display:none}.tb-menu{position:relative;display:flex}.tb-top,.tb-play,.tb-item{font:inherit;color:#c8ccd4;background:none;border:0;cursor:pointer}.tb-top{padding:0 10px;letter-spacing:.04em}.tb-top:hover,.tb-top[aria-expanded=true],.tb-top:focus-visible{background:#2a2f39;color:#eef1f6;outline:none}.tb-list{position:absolute;top:100%;left:0;min-width:220px;padding:4px 0;display:flex;flex-direction:column;background:#12141afa;border:1px solid #2c313a;border-radius:0 0 3px 3px;box-shadow:0 8px 22px #00000080}.tb-list[hidden]{display:none}.tb-item{display:flex;justify-content:space-between;gap:18px;padding:4px 10px 4px 22px;text-align:left;white-space:nowrap;position:relative}.tb-item[aria-checked=true]:before{content:"✓";position:absolute;left:8px;color:#8c9ef2}.tb-item:hover,.tb-item:focus-visible{background:#2a2f39;color:#eef1f6;outline:none}.tb-item:disabled{color:#5c6370;cursor:default;background:none}.tb-key{color:#6f7785;letter-spacing:.04em}.tb-item:disabled .tb-key{color:#454b56}.tb-spacer{flex:1}.tb-play{align-self:center;padding:2px 14px;border:1px solid #3a6d3f;border-radius:3px;color:#a9e3af;letter-spacing:.06em}.tb-play:hover{background:#244a28}.tb-ask{align-self:center;margin-left:6px;padding:2px 12px;border:1px solid #3d5a86;border-radius:3px;color:#b5cdf2}.tb-ask:hover{background:#22324a}.tb-play.playing{border-color:#7a3a3a;color:#f0a9a9}.tb-play.playing:hover{background:#4a2424}#dock-drop{position:fixed;inset:0;z-index:40;pointer-events:none}#dock-drop[hidden]{display:none}.dock-drop-area{position:fixed;background:#ffd94029;border:1px solid #ffd940;border-radius:2px}.dock-drop-zone{position:fixed;background:#12141adb;border:1px solid #5c6577;border-radius:2px}.dock-drop-zone.on{background:#ffd94080;border-color:#ffd940}.dock-drop-zone[hidden]{display:none}body.dock-dragging{cursor:grabbing}body.dock-dragging .window.dragging{opacity:.82;z-index:41}.viewport .mode{position:absolute;left:8px;bottom:6px;padding:2px 6px;border-radius:2px;background:#0c0e12a8;color:#8b93a1;font-size:11px;letter-spacing:.06em;pointer-events:none;user-select:none}body.sculpting .viewport .mode{display:none}.viewport .flash{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);padding:4px 10px;border-radius:3px;background:#0c0e12c7;color:#e6e9ef;font-size:15px;letter-spacing:.08em;opacity:0;transition:opacity .35s ease;pointer-events:none;user-select:none}.viewport .flash.shown{opacity:1;transition:none}#snap.off{color:#6a707c}.load-labels{position:fixed;inset:0;pointer-events:none;z-index:40;overflow:hidden}.load-label{position:absolute;display:none;transform:translate(-50%,-100%);padding:2px 7px;border:1px solid rgba(255,199,64,.55);border-radius:3px;background:#14120cb8;color:#ffc740;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.04em;white-space:nowrap;animation:load-label-pulse .9s ease-in-out infinite}.load-label.failed{border-color:#ff5a4899;background:#1e0c0ac7;color:#ff5a48;animation:none}@keyframes load-label-pulse{0%,to{opacity:.55}50%{opacity:1}}#play-stop{position:fixed;top:8px;right:8px;z-index:60;display:flex;align-items:center;gap:6px;pointer-events:auto}#play-stop[hidden]{display:none}#play-stop-button{font:inherit;font-size:12px;letter-spacing:.04em;color:#f2d5d5;background:#4a2424eb;border:1px solid #7a3a3a;border-radius:3px;padding:3px 10px;cursor:pointer}#play-stop-button:hover{background:#5c2c2c}#play-stop-hint{font-size:11px;letter-spacing:.08em;color:#9aa1ad;background:#0c0e12b3;border-radius:2px;padding:2px 6px;user-select:none}body.penned #play-stop-button{opacity:.45}#outliner .entity-row{padding-left:calc(4px + var(--depth, 0) * 12px)}#outliner .twisty{display:inline-block;width:10px;flex:0 0 10px;text-align:center;font-style:normal;font-size:9px;color:#8b93a1;cursor:pointer;user-select:none}#outliner .twisty.leaf{cursor:default}#outliner .twisty:not(.leaf):hover{color:#e6e9ef}#actor{width:min(980px,calc(100vw - 16px))}#actor:not([hidden],.minimized){display:flex;flex-direction:column}#actor-body{flex:1 1 auto;display:flex;flex-direction:row;align-items:stretch;gap:6px;padding:6px;min-height:min(440px,calc(100vh - 160px))}#shell .window.docked#actor>.window-body{overflow:hidden}#actor-view{flex:1 1 0;min-width:160px;display:flex;flex-direction:column;gap:4px;min-height:0}.actor-tabs{display:flex;gap:2px;border-bottom:1px solid #2c313a}.actor-tab{padding:3px 10px;border:1px solid transparent;border-bottom:0;border-radius:2px 2px 0 0;background:none;color:#7d8594;font:inherit;cursor:pointer}.actor-tab:hover{color:#e6e9ef}.actor-tab.active{background:#1c2029;border-color:#2c313a;color:#e6e9ef}#actor-scripts{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:4px}#actor-scripts .actor-bar>button,#actor-scripts .actor-bar>select{flex:0 0 auto;width:auto}#actor-script-files{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:3px}.actor-script-file{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid #2c313a;border-radius:2px;background:#151920;color:#aab2c0;cursor:pointer;white-space:nowrap}.actor-script-file:hover{color:#e6e9ef}.actor-script-file.active{background:#262c38;border-color:#5c7fb8;color:#e6e9ef}.actor-script-file.missing{color:#e07a7a;text-decoration:line-through}.actor-script-unlink{color:#7d8594}.actor-script-unlink:hover{color:#e07a7a}#actor-script-edit{flex:1 1 0;min-height:0;position:relative;display:flex}#actor-script-note{color:#d9b36c;font-size:11px}#actor-script-note:empty{display:none}#actor-script-edit[hidden],#actor-script-ask[hidden],.script-ask-reply[hidden],.script-ask-row[hidden]{display:none}#scene-ask{position:absolute;top:8px;left:50%;transform:translate(-50%);width:min(760px,calc(100% - 16px));z-index:20;display:flex;flex-direction:column;gap:4px;padding:6px;background:#1b1f26ee;border:1px solid #333a46;border-radius:6px}#scene-ask[hidden]{display:none}#scene-ask .script-ask-reply,#scene-ask .script-ask-preview{flex:0 1 auto}#scene-ask .script-ask-preview{max-height:40vh}.script-ask-summary{margin:0;padding:4px 8px 4px 22px;font-size:13px;line-height:1.5;color:#e6e9ef}.script-ask-summary li:first-child{font-weight:600}.script-ask-details summary{cursor:pointer;font-size:11px;color:#9aa3b0;padding:2px 0}.script-ask-download{flex:0 0 auto;font-size:11px;color:#8fb4ec;white-space:nowrap}#actor-script-ask{flex:0 0 auto;min-height:0;display:flex;flex-direction:column;gap:4px}#actor-script-ask.previewing{flex:1 1 0}.script-ask-row,.script-ask-actions{display:flex;gap:4px;align-items:center}.script-ask-row select,.script-ask-row input,.script-ask-row button,.script-ask-actions button{padding:3px 6px;border:1px solid #2c313a;border-radius:2px;background:#1c2029;color:#aab2c0;font:inherit}.script-ask-row button,.script-ask-actions button{cursor:pointer}.script-ask-row button:hover,.script-ask-actions button:hover{background:#262c38;color:#e6e9ef}.script-ask-row button:disabled{opacity:.5;cursor:default}.script-ask-row input{flex:1 1 auto;min-width:0;background:#15181d;color:#e6e9ef;cursor:text}.script-ask-row input:focus{outline:none;border-color:#4a78c2}.script-ask-actions .script-ask-accept{background:#1f3a2a;border-color:#2f6b45;color:#cfeedd}.script-ask-status{font-size:11px;color:#9aa3b0;overflow-wrap:anywhere}.script-ask-status:empty{display:none}.script-ask-status.bad{color:#e0806c}.script-ask-reply{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:4px}.script-ask-preview{flex:1 1 0;min-height:0;overflow:auto;margin:0;padding:6px 8px;font:12px/1.45 ui-monospace,Consolas,monospace;color:#d6dbe4;background:#15181d;border:1px solid #2c313a}#actor-scripts[hidden]{display:none}#actor-script-ace{flex:1 1 0;min-height:120px;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#actor-script-ace.ace_focus{border-color:#5c7fb8;box-shadow:inset 0 0 0 1px #5c7fb859}#actor-script-ace .ace_gutter{background:#10131a;color:#4f5866}#actor-script-text.mirror{position:absolute;right:10px;top:8px;width:8px;height:8px;padding:0;border:0;opacity:0;resize:none;overflow:hidden}.actor-stage{flex:1 1 0;min-height:0;position:relative;overflow:hidden;touch-action:none;cursor:crosshair;box-shadow:inset 0 0 0 1px #2c313a;border-radius:2px}#actor-side{flex:0 0 200px;display:flex;flex-direction:column;gap:4px;min-height:0}.actor-bar{display:flex;gap:4px;align-items:center}.actor-bar select,.actor-bar button{flex:1 1 0;min-width:0;padding:3px 4px;border:1px solid #2c313a;border-radius:2px;background:#1c2029;color:#aab2c0;font:inherit;cursor:pointer}.actor-bar button:hover{background:#262c38;color:#e6e9ef}#actor-tree,#actor-details{flex:1 1 0;min-height:0;overflow-y:auto;padding:4px;border:1px solid #2c313a;border-radius:2px;background:#0c0e1280;display:flex;flex-direction:column}#actor-tree{gap:1px}#actor-details{flex:0 0 260px;gap:5px}#actor .entity-row{padding-left:calc(4px + var(--depth, 0) * 12px)}#actor .entity-row em{color:#5d6675;font-style:normal;font-size:10px}#outliner .entity-row em.row-class{color:#5d6675;font-style:normal;font-size:10px;margin-left:6px}#actor .twisty{display:inline-block;width:10px;flex:0 0 10px;text-align:center;font-style:normal;font-size:9px;color:#8b93a1;cursor:pointer;user-select:none}#actor .twisty.leaf{cursor:default}#actor .twisty:not(.leaf):hover{color:#e6e9ef}#actor-tree.drop-root{outline:1px dashed #8c9ef2;outline-offset:-2px}#actor .section-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;padding-bottom:2px;border-bottom:1px solid #2c313a;color:#8b93a1;letter-spacing:.08em;text-transform:uppercase}#actor .section-head em{font-style:normal;text-transform:none;letter-spacing:0;color:#6f7787}#actor .row.hint .val{color:#6f7787;font-size:10px;line-height:1.35;text-align:right}#actor .num.text{width:110px}#actor .var-card{display:flex;flex-direction:column;gap:4px;padding:5px;border:1px solid #2c313a;border-radius:2px;background:#181b22b3}#actor .var-head{gap:4px}#actor .var-head .var-name{flex:1 1 0;min-width:0;width:auto}#actor .var-head .var-type{flex:0 0 74px}#actor .var-drop{flex:0 0 auto;padding:0 6px;border:1px solid #2c313a;border-radius:2px;background:#1c2029;color:#8b93a1;font:inherit;cursor:pointer}#actor .var-drop:hover{background:#3a2429;color:#f0b8c0}#actor-status{padding:4px 8px;border-top:1px solid #2c313a;color:#6f7787;min-height:12px}#actor-status.bad{color:#f0a0a8}body.play #actor{display:none}#actor-status:empty{display:none}.actor-blit{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#output{top:auto;bottom:48px;left:12px;width:560px}#output-body{display:flex;flex-direction:column;gap:4px}.output-bar{display:flex;align-items:center;gap:8px;color:#8b93a1}#output-lines{height:240px;overflow-y:auto;font:12px/1.45 ui-monospace,Consolas,monospace;background:#00000040;padding:4px 6px;user-select:text}.output-line{display:flex;gap:8px;white-space:pre-wrap;word-break:break-word}.output-at{color:#6b7280;flex:none}.output-line.error .output-text{color:#f0a0a0}.output-line.warn .output-text{color:#e8c877}.output-line.note .output-text{color:#8fb4ff}.output-empty{color:#8b93a1;margin:4px 0}#place{top:calc(12px + var(--toolbar-h));left:12px;width:280px}.place-split{display:flex;gap:6px;min-height:240px;height:100%}.place-groups{flex:0 0 34px;display:flex;flex-direction:column;gap:2px}.place-group{width:34px;height:34px;padding:0;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:3px;background:transparent;color:#8a93a3;cursor:pointer}.place-group:hover{background:#151922;color:#dfe4ec}.place-group.on{background:#1c2029;color:#ffd940;box-shadow:inset 2px 0 #ffd940}.place-group svg,.place-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.place-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}#place-search{width:100%;box-sizing:border-box}.place-heading{font:10px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.08em;color:#8a93a3}.place-list{flex:1;overflow:auto;border:1px solid #2c313a;border-radius:2px;background:#0c0e12;padding:2px 0}.place-row{display:flex;align-items:center;gap:8px;padding:3px 6px;color:#dfe4ec;cursor:grab;user-select:none}.place-row:hover{background:#151922}.place-row:active{cursor:grabbing}.place-row.off{color:#5c6370;cursor:not-allowed}.place-icon{flex:0 0 28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:3px;background:#12151b;color:#9fb4d8}.place-row.off .place-icon{color:#4a505c}.place-name{flex:1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.place-star{padding:0 4px;border:0;background:transparent;color:#3a404c;font-size:13px;cursor:pointer;visibility:hidden}.place-row:hover .place-star,.place-star.on{visibility:visible}.place-star:hover{color:#dfe4ec}.place-star.on{color:#ffd940}.place-empty{padding:10px 8px;font-size:11px;color:#6b7280}#place-status{min-height:1.4em;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:#8a93a3}
