:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171a;--panel:#1f2126;--border:#2c2f36;--text:#e6e6e6;--muted:#8a8f99;--accent:#4f8cff;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);margin:0}.app{grid-template-rows:minmax(0,1fr);grid-template-columns:260px minmax(0,1fr) 320px;height:100vh;display:grid;overflow:hidden}.panel{background:var(--panel);border-right:1px solid var(--border);padding:12px;overflow:auto}.inspector{border-right:none;border-left:1px solid var(--border)}.viewport{min-width:0;min-height:0;position:relative;overflow:hidden}h2{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 12px;font-size:12px}h3{margin:12px 0 4px;font-size:12px}.muted{color:var(--muted)}pre{background:var(--bg);border:1px solid var(--border);border-radius:4px;margin:0;padding:8px;font-size:11px;overflow:auto}.node-list{margin:0;padding:0;list-style:none}.node-list button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:space-between;margin-bottom:2px;padding:6px 8px;display:flex}.node-list button:hover{border-color:var(--border)}.node-list button.selected{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}.tree li{align-items:stretch;display:flex}.tree li>button:not(.twist){flex-wrap:wrap;flex:1;gap:2px 8px;min-width:0}.tree li>button:not(.twist)>.muted{white-space:nowrap;margin-left:auto}.tree .twist{width:16px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;margin:0 0 2px;padding:0;font-size:12px;line-height:1;display:flex}.tree button.twist:hover{color:var(--text);border-color:#0000}.hud{background:color-mix(in srgb, var(--panel) 85%, transparent);border:1px solid var(--border);pointer-events:none;border-radius:6px;max-width:420px;padding:10px 12px;font-size:12px;position:absolute;top:12px;left:12px}.hud table{border-collapse:collapse;font-variant-numeric:tabular-nums}.hud td{padding:1px 10px 1px 0}.hud td:last-child{text-align:right;min-width:70px}.hud-actions{pointer-events:auto;flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.hud p{margin:8px 0 0;font-size:11px}button{background:var(--bg);border:1px solid var(--border);color:var(--text);font:inherit;cursor:pointer;border-radius:4px;padding:4px 8px;font-size:12px}button:hover{border-color:var(--accent)}.field{grid-template-columns:90px 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.field>span{color:var(--muted);font-size:12px}.viewport canvas{background:#1b1d21}.gizmo-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.gizmo-overlay .marker{fill:#4cc9f0;stroke:#10202a;stroke-width:1.5px;pointer-events:auto;cursor:pointer}.gizmo-overlay .marker.selected{fill:#ffd166}.gizmo-overlay .stroke .ink{stroke:#8ecae6;stroke-linecap:round;pointer-events:none}.gizmo-overlay .stroke.selected .ink{stroke:#ffd166}.gizmo-overlay .stroke .hit{stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.gizmo-overlay .stroke.outline .ink{stroke:#ffd166;stroke-width:2px;opacity:.9}.gizmo-overlay .stroke.outline .hit{pointer-events:none}.gizmo-overlay .marker.handle{fill:#0000;stroke:#0000;pointer-events:all;cursor:grab}.gizmo-overlay .marker.handle:hover{fill:#ffd166;stroke:#10202a;stroke-width:1.5px}.gizmo-overlay .stroke.snapped .ink{stroke:#ffd166;opacity:.9}.gizmo-overlay .stroke.snapped .hit{pointer-events:none}.gizmo-overlay .marker.snapped{fill:none;stroke:#ffd166;stroke-width:2px;pointer-events:none}.gizmo-overlay .marker.grab{fill:#ffd166;stroke:#10202a;stroke-width:1px;pointer-events:none}.gizmo-overlay.yield .marker,.gizmo-overlay.yield .stroke .hit{pointer-events:none}.vec3{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.points{gap:2px;margin:0;padding:0;list-style:none;display:grid}.points li{cursor:pointer;border-radius:4px;grid-template-columns:1.5em repeat(auto-fit,minmax(0,1fr));align-items:center;gap:4px;padding:1px 2px;display:grid}.points li.selected{background:color-mix(in srgb, var(--accent,#ffd166) 25%, transparent)}input.num.locked{opacity:.45;cursor:not-allowed}input[type=number],select{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:4px;padding:4px 6px;font-size:12px}input[type=number]:focus,select:focus{border-color:var(--accent);outline:none}details{margin-top:12px}summary{cursor:pointer;font-size:12px}.center{grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid;overflow:hidden}.devpanel{border-top:1px solid var(--border);background:var(--panel);grid-template-rows:auto auto minmax(0,1fr);height:240px;min-height:0;display:grid}.devpanel-resize{cursor:ns-resize;touch-action:none;background:0 0;border-top:1px solid #0000;height:5px;margin-bottom:-1px}.devpanel-resize:hover,.devpanel-resize:focus-visible{background:color-mix(in srgb, var(--accent) 35%, transparent);border-top-color:var(--accent);outline:none}.devpanel.closed{grid-template-rows:auto;height:auto}.tabs{border-bottom:1px solid var(--border);gap:4px;padding:6px 8px;display:flex}.tabs .spacer{flex:1}.tabs button.active{border-color:var(--accent);color:var(--accent)}.log{min-height:0;padding:4px 8px;font-family:ui-monospace,Consolas,monospace;font-size:11px;overflow:auto}.log-line{white-space:pre;align-items:baseline;gap:10px;padding:1px 4px;display:flex}.log .log-line:nth-child(2n){background:color-mix(in srgb, var(--text) 4%, transparent)}.log-line .text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.log-line .ms{color:var(--muted);font-variant-numeric:tabular-nums}.log-line .count{color:var(--accent)}.log-line.warn .text{color:#e6a23c}.log-line.error .text{color:#ef5350}.log-line.muted .text{color:var(--muted)}.history .log-line{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:3px}.history .log-line:hover{border-color:var(--border)}.history .log-line.current{background:color-mix(in srgb, var(--accent) 20%, transparent);border-color:var(--accent)}.history .log-line.future .text{color:var(--muted)}.scene-tab{padding:8px;overflow:auto}.scene-tab .row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.scene-tab .row>.muted:first-child{width:50px;font-size:11px}.trace-tab{grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid}.trace-lede{border-bottom:1px solid var(--border);margin:0;padding:6px 10px;font-size:11px;line-height:1.5}.trace-lede b{color:var(--text);font-weight:600}.trace-lede code{color:var(--text);font-family:ui-monospace,Consolas,monospace}.trace-bar{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 8px;display:flex}.trace-bar .spacer{flex:1}.trace-bar button.active{border-color:var(--accent);color:var(--accent)}.trace-bar button:disabled{opacity:.45;cursor:default}.trace-body{min-height:0;padding:4px 8px 10px;font-family:ui-monospace,Consolas,monospace;font-size:11px;overflow:auto}.trace-empty{padding:12px;font-size:11px}.trace-note{padding:6px 2px 0;font-size:10px}.trace-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.trace-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);background:var(--panel);padding:2px 6px;font-weight:400;position:sticky;top:0}.trace-table th.num,.trace-table td.num{text-align:right;width:62px}.trace-table td{white-space:nowrap;padding:2px 6px}.trace-table tbody tr:nth-child(2n){background:color-mix(in srgb, var(--text) 4%, transparent)}.trace-table tbody tr.over-budget .num.strong{color:#e6a23c}.frames-table th.num,.frames-table td.num{width:90px}.frames-table td.label .name{color:var(--muted)}.trace-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 12%, transparent)}.trace-table td.strong{color:var(--text)}.trace-table .num{color:var(--muted)}.trace-table td.label{text-overflow:ellipsis;width:100%;position:relative;overflow:hidden}.trace-table td.label .bar{background:color-mix(in srgb, var(--accent) 28%, transparent);border-radius:2px;position:absolute;top:1px;bottom:1px;left:0}.trace-table td.label .name{position:relative}.spike{border-bottom:1px solid var(--border)}.spike-head,.span-row{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;white-space:pre;background:0 0;border:1px solid #0000;border-radius:3px;align-items:baseline;gap:8px;padding:2px 4px;display:flex}.spike-head:hover,.span-row:hover{border-color:var(--border);background:color-mix(in srgb, var(--accent) 10%, transparent)}.spike-head .name,.span-row .name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.spike-head .ms,.span-row .ms,.span-row .share,.span-row .self{font-variant-numeric:tabular-nums}.spike-head .ms{color:var(--muted)}.spike-head .strong{color:var(--accent)}.span-row .share{text-align:right;width:34px}.span-row .ms{text-align:right;width:52px}.span-row .self{text-align:right;width:74px}.caret{width:10px;color:var(--muted)}.spike-children{padding-bottom:4px}.shelf-float{border:1px solid var(--border);border-radius:8px;flex-direction:column;width:min(720px,100% - 32px);max-height:min(360px,100% - 32px);padding:0;display:flex;position:absolute;bottom:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #0006}.shelf-head{flex:none;justify-content:space-between;align-items:center;padding:10px 12px 0;display:flex}.shelf-head h2{margin:0}.shelf-body{gap:12px;min-height:0;padding:8px 12px 12px;display:flex;overflow:hidden}.shelf-filters{flex:none;width:220px;overflow:auto}.shelf-rows{flex:1;min-width:0;overflow:auto}.shelf-chevron{background:var(--panel);border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:4px 14px;line-height:1;position:absolute;bottom:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0006}.shelf-head .shelf-chevron{box-shadow:none;padding:2px 8px;position:static;transform:none}.shelf-chevron:hover{color:var(--text);border-color:var(--accent)}.search{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);font:inherit;border-radius:4px;margin-bottom:8px;padding:5px 8px}.chips{gap:4px;margin-bottom:8px;display:flex}.chips button.active,.categories button.active{border-color:var(--accent);color:var(--accent)}.categories{max-height:160px;margin:0 0 10px;padding:0;list-style:none;overflow:auto}.categories button{text-align:left;background:0 0;border:1px solid #0000;width:100%;padding:3px 6px}.categories button:hover{border-color:var(--border)}.assets li{cursor:grab}.assets li:active{cursor:grabbing}input.num{background:var(--bg);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:ew-resize;-webkit-user-select:none;user-select:none;border-radius:4px;padding:4px 6px;font-size:12px}input.num.editing{cursor:text;-webkit-user-select:text;user-select:text;border-color:var(--accent)}input.num:focus{outline:none}.swatch{border:1px solid var(--border);vertical-align:middle;border-radius:3px;width:14px;height:14px;display:inline-block}.warn{color:#e6a23c}.toggle,.color-control{align-items:center;gap:6px;display:flex}.color-control input[type=color]{border:1px solid var(--border);background:0 0;border-radius:4px;width:36px;height:24px;padding:0}.engine-tab{grid-template-columns:max-content minmax(0,1fr);gap:16px;min-height:0;padding:8px 12px;display:grid;overflow:auto}.engine-tab table{border-collapse:collapse;font-variant-numeric:tabular-nums;height:max-content;font-size:12px}.engine-tab td{white-space:nowrap;padding:2px 0}.engine-tab td:first-child{padding-right:14px}.engine-tab td:last-child{text-align:right}.engine-tab tbody tr:nth-child(2n){background:color-mix(in srgb, var(--text) 4%, transparent)}.frame-graph{grid-template-rows:1fr auto;gap:4px;min-height:0;display:grid}.frame-graph svg{background:var(--bg);border:1px solid var(--border);border-radius:4px;width:100%;height:100%;min-height:80px}.frame-graph polyline{fill:none;stroke:var(--accent);stroke-width:1px;vector-effect:non-scaling-stroke}.frame-graph .budget{stroke:#e6a23c;stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.field:has(>.slots){grid-template-columns:1fr;align-items:start}.slots{gap:2px;display:grid}.slot-row{border:1px dashed #0000;border-radius:4px;grid-template-columns:64px minmax(0,1fr);align-items:start;gap:6px;padding:2px 4px;font-size:12px;display:grid}.slot-row.drop-over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent)}.slot-name{text-overflow:ellipsis;white-space:nowrap;padding-top:5px;overflow:hidden}.slot-empty{padding-top:5px;font-style:italic}.material{min-width:0}.material-head{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;align-items:center;gap:8px;height:26px;padding:0 4px;display:flex}.material-head:hover{background:color-mix(in srgb, var(--text) 6%, transparent)}.material-head:not(.toggles){cursor:grab}.material-head:active{cursor:grabbing}.material-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.thumb{border:1px solid var(--border);background:repeating-conic-gradient(var(--border) 0 25%, var(--bg) 0 50%) 0 0 / 8px 8px;border-radius:3px;flex:none;width:18px;height:18px}.thumb.warn{background:#e6a23c}.chevron{border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);flex:none;width:6px;height:6px;margin-right:4px;transition:transform .12s;transform:rotate(-45deg)}.material.open .chevron{transform:rotate(45deg)}.material-body{padding:4px 0 4px 30px}.material-body .field{grid-template-columns:70px 1fr;margin-bottom:4px}.context-menu{z-index:100;background:var(--panel);border:1px solid var(--border);border-radius:6px;min-width:160px;margin:0;padding:4px;font-size:12px;list-style:none;position:fixed;box-shadow:0 8px 24px #00000073}.context-menu li{cursor:default;white-space:nowrap;border-radius:4px;padding:5px 10px}.context-menu li:hover{background:color-mix(in srgb, var(--accent) 25%, transparent)}.context-menu li.disabled{color:var(--muted)}.context-menu li.disabled:hover{background:0 0}.screen{place-items:center;height:100%;padding:24px;display:grid}.login,.projects{background:var(--panel);border:1px solid var(--border);border-radius:6px;gap:12px;width:min(100%,360px);padding:16px;display:grid}.projects{align-content:start;width:min(100%,520px);max-height:100%;overflow:auto}.projects-bar,.projects-new{align-items:center;gap:8px;display:flex}.projects-bar{justify-content:space-between}.projects-new input{flex:1;min-width:0}.projects-list button span:last-child{white-space:nowrap}.error{color:#ff7b7b;margin:0}.editor{grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid}.editor .app{height:auto;min-height:0}.editor-bar{background:var(--panel);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:6px 12px;display:flex}.save-status{font-variant-numeric:tabular-nums;margin-left:auto}
