:root{color-scheme:light dark}[hidden]{display:none!important}body{font-family:Helvetica,Arial,sans-serif;font-size:14px;margin:0;overflow:hidden}hr{border:0;border-top:1px solid #ccc}.Button{position:relative}.Input{vertical-align:middle}.Input[type=color]::-webkit-color-swatch-wrapper{padding:0}.Input[type=color]::-webkit-color-swatch{border:none}.TextArea{tab-size:4;white-space:pre;word-wrap:normal}.TextArea.success{border-color:#8b8!important}.TextArea.fail{border-color:red!important;background-color:#ff00000d}.TextArea,.Input{outline:none}.Panel{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.TabbedPanel{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;position:relative;display:block;width:100%;min-width:335px}.TabbedPanel .Tabs{position:relative;z-index:1;display:block;width:100%;white-space:pre;overflow:hidden;overflow-x:auto}.TabbedPanel .Tabs::-webkit-scrollbar{height:5px;background:#eee}.TabbedPanel .Tabs::-webkit-scrollbar-thumb{background:#08f3}.TabbedPanel .Tabs:hover::-webkit-scrollbar-thumb{background:#08f;cursor:ew-resize}.TabbedPanel .Tabs .Tab{padding:10px 9px;text-transform:uppercase}.TabbedPanel .Panels{position:absolute;top:36px;display:block;width:100%}.Listbox{color:#444;background-color:#fff;padding:0;width:100%;min-height:180px;font-size:12px;cursor:default;overflow:auto}.Listbox .ListboxItem{padding:4px;color:#666;white-space:nowrap}.Listbox .ListboxItem:hover{background-color:#00000005}.Listbox .ListboxItem.active{background-color:#0000000a}.CodeMirror{position:absolute!important;top:37px;width:100%!important;height:calc(100% - 37px)!important}.CodeMirror .errorLine{background:#ff000040}.CodeMirror .esprima-error{color:red;text-align:right;padding:0 20px}#outliner .opener{display:inline-block;width:14px;height:14px;margin:0 4px;vertical-align:top;text-align:center}#outliner .opener.open:after{content:"−"}#outliner .opener.closed:after{content:"+"}#outliner .option{border:1px solid transparent}#outliner .option.drag{border:1px dashed #999}#outliner .option.dragTop{border-top:1px dashed #999}#outliner .option.dragBottom{border-bottom:1px dashed #999}#outliner .type{display:inline-block;width:14px;height:14px;color:#ddd;text-align:center}#outliner .type:after{content:"●"}#outliner .Scene{color:#88d}#outliner .Camera{color:#d88}#outliner .Light{color:#dd8}#outliner .Object3D{color:#aae}#outliner .Mesh{color:#88e}#outliner .Line,#outliner .LineSegments{color:#8e8}#outliner .Points{color:#e88}#outliner .Geometry{color:#aea}#outliner .Material{color:#eae}#outliner .Script:after{content:"◎"}.Button{color:#555;background-color:#ddd;border:0px;margin:0;padding:5px 8px;font-size:12px;text-transform:uppercase;cursor:pointer;outline:none}.Button:hover,.Button.selected{background-color:#fff}.Input,.TextArea{border:1px solid transparent;color:#444}.Input.Number{color:#08f!important;font-size:12px;border:0px;padding:2px}.Select{color:#666;background-color:#ddd;border:3px solid #ddd;border-radius:4px;text-transform:uppercase;cursor:pointer;outline:none}.Select:hover{background-color:#fff}#resizer{position:absolute;z-index:2;top:36px;right:350px;width:5px;bottom:0;transform:translate(2.5px);cursor:col-resize}#resizer:hover{background-color:#08f8;transition-property:background-color;transition-delay:.1s;transition-duration:.2s}#resizer:active{background-color:#08f}#viewport{position:absolute;inset:36px 350px 36px 0}#viewport .Text{text-shadow:1px 1px 0 rgba(0,0,0,.25);pointer-events:none}#animation{position:absolute;left:0;right:350px;bottom:0;height:36px;background:#eee;border-top:1px solid #ccc;display:none;flex-direction:row}#animation .Panel{color:#888}#animation input[type=range]{accent-color:#08f}#animation-resizer{position:absolute;left:0;right:350px;bottom:36px;height:5px;transform:translateY(2.5px);cursor:row-resize;z-index:2}#animation-resizer:hover{background-color:#08f8;transition-property:background-color;transition-delay:.1s;transition-duration:.2s}#animation-resizer:active{background-color:#08f}#script{position:absolute;inset:36px 350px 0 0;opacity:.9}#player{position:absolute;inset:36px 350px 0 0}#menubar{position:absolute;width:100%;height:36px;background:#eee;padding:0;margin:0;right:0;top:0}#menubar .menu{float:left;cursor:pointer;padding-right:8px}#menubar .menu.right{float:right;cursor:auto;padding-right:0;text-align:right}#menubar .menu .title{display:inline-block;color:#888;margin:0;padding:10px;line-height:16px}#menubar .menu .key{position:absolute;color:#ccc;border:1px solid #ccc;border-radius:4px;font-size:9px;line-height:normal;padding:2px 4px;right:10px;pointer-events:none}#menubar .menu .options{position:fixed;z-index:1;display:none;padding:5px 0;background:#eee;min-width:150px;max-height:calc(100vh - 80px);overflow:auto}#menubar .menu:hover .options{display:block;box-shadow:0 10px 10px -5px #0003}#menubar .menu .options hr{border-color:#ddd}#menubar .menu .options .option{color:#666;background-color:transparent;padding:5px 10px;line-height:25px;margin:0!important}#menubar .menu .options .option:hover{color:#fff;background-color:#08f}#menubar .menu .options .option:not(.submenu-title):active{color:#666;background:transparent}#menubar .menu .options .option.toggle:before{content:" ";display:inline-block;width:16px}#menubar .menu .options .option.toggle-on:before{content:"✔";font-size:12px}#menubar .submenu-title:after{content:"⏵";float:right}#menubar .menu .options .inactive{color:#bbb;background-color:transparent;padding:5px 10px;line-height:25px;margin:0!important;cursor:not-allowed}#sidebar{position:absolute;right:0;top:36px;bottom:0;width:350px;background:#eee;overflow:auto;overflow-x:hidden}#sidebar .Panel{color:#888;padding:10px;border-top:1px solid #ccc}#sidebar .Panel.collapsed{margin-bottom:0}#sidebar .Row{display:flex;align-items:center;min-height:24px;margin-bottom:10px}#sidebar .Row .Label{width:120px}#tabs{background-color:#ddd;border-top:1px solid #ccc}#tabs span{color:#aaa;border-right:1px solid #ccc;padding:10px}#tabs span.selected{color:#888;background-color:#eee}#toolbar{position:absolute;left:calc(50% - 175px);transform:translate(-50%);bottom:56px;height:32px;background:#eee;text-align:center;display:flex;align-items:center;gap:2px;border-radius:6px;border:3px solid #eee;overflow:hidden}#toolbar .Button,#toolbar .Input{height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center}#toolbar .Button img{width:16px;opacity:.5}.Outliner{color:#444;background-color:#fff;padding:0;width:100%;height:180px;font-size:12px;cursor:default;overflow:auto;resize:vertical;outline:none!important}.Outliner .option{padding:4px;color:#666;white-space:nowrap}.Outliner .option:hover{background-color:#00000005}.Outliner .option.active{background-color:#0000000a}.TabbedPanel .Tabs{background-color:#ddd;border-top:1px solid #ccc}.TabbedPanel .Tab{color:#aaa;border-right:1px solid #ccc}.TabbedPanel .Tab.selected{color:#888;background-color:#eee}.Listbox{color:#444;background-color:#fff}.Panel{color:#888}@media all and (max-width:600px){#resizer,#animation-resizer{display:none}#menubar .menu .options{max-height:calc(100% - 80px)}#menubar .menu.right{display:none}#viewport,#script,#player{left:0;right:0;top:36px;height:calc(100% - 356px)}#sidebar{left:0;width:100%;top:calc(100% - 320px);bottom:0}#toolbar{left:50%;transform:translate(-50%);bottom:330px}#animation{display:none!important}}@media(prefers-color-scheme:dark){.Button{color:#aaa;background-color:#222}.Button:hover{color:#ccc;background-color:#444}.Button.selected{color:#fff;background-color:#08f}.Input,.TextArea{background-color:#222;border:1px solid transparent;color:#888}.Select{color:#aaa;background-color:#222;border-color:#222}.Select:hover{color:#ccc;background-color:#444}#menubar{background:#111}#menubar .menu .key{color:#444;border-color:#444}#menubar .menu .options{background:#111}#menubar .menu .options hr{border-color:#222}#menubar .menu .options .option{color:#888}#menubar .menu .options .inactive{color:#444}#sidebar{background-color:#111}#sidebar .Panel{border-top:1px solid #222}#sidebar .Panel.Material canvas{border:solid 1px #5A5A5A}#animation{background-color:#111;border-top:1px solid #222}#animation .Panel{border-bottom:1px solid #222}#animation .timeline-container{background:#ffffff0d}#tabs{background-color:#1b1b1b;border-top:1px solid #222}#tabs span{color:#555;border-right:1px solid #222}#tabs span.selected{background-color:#111}#toolbar{background-color:#111;border-color:#111}#toolbar img{filter:invert(1)}.Outliner{background:#222}.Outliner .option{color:#999}.Outliner .option:hover{background-color:#153c5e80}.Outliner .option.active{background-color:#153c5e}.TabbedPanel .Tabs{background-color:#1b1b1b;border-top:1px solid #222}.TabbedPanel .Tabs::-webkit-scrollbar{background:#111}.TabbedPanel .Tab{color:#555;border-right:1px solid #222}.TabbedPanel .Tab.selected{color:#888;background-color:#111}.Listbox{color:#888;background:#222}.Listbox .ListboxItem:hover{background-color:#153c5e80}.Listbox .ListboxItem.active{background-color:#153c5e}}.Dialog{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center}.Dialog-background{position:absolute;inset:0;background:#00000080}.Dialog-content{position:relative;background:#eee;min-width:300px;max-width:90%;max-height:90%;overflow:auto}.Dialog-title{padding:10px 15px;color:#666;text-transform:uppercase}.Dialog-body{padding:15px}.Dialog-body .Row{display:flex;align-items:center;min-height:24px;margin-bottom:10px}.Dialog-body .Row .Label{width:120px;color:#888}.Dialog-buttons{display:flex;justify-content:flex-end;margin-top:15px}@media(prefers-color-scheme:dark){.Dialog-content{background:#111}.Dialog-title{color:#888}}[draggable=true]{transform:translate(0);z-index:0}body.scene-studio{overflow:hidden;font-family:var(--font-body)}#studio-app{position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;background:var(--bg-0);color:var(--ink);font-size:14px}#studio-app #menubar{background:#0a0a0ceb;border-bottom:1px solid var(--stroke);color:var(--ink)}#studio-app #menubar .menu .title{color:var(--ink)}#studio-app #menubar .menu:hover,#studio-app #menubar .menu.open{background:var(--surface-2)}#studio-app #menubar .menu .options{background:#14151c;border:1px solid var(--stroke-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);padding:4px 0}#studio-app #menubar .menu .options hr{border-color:var(--stroke)}#studio-app #menubar .menu .options .option{color:var(--ink);transition:background-color .12s ease}#studio-app #menubar .menu .options .option:hover,#studio-app #menubar .menu .options .option:focus-visible{background:var(--surface-3);color:#fff}#studio-app #menubar .menu .key{color:var(--ink-dim);border-color:var(--stroke-strong)}#studio-app #sidebar{background:#0e0f15;border-left:1px solid var(--stroke);color:var(--ink)}#studio-app #sidebar .Panel{color:var(--ink);border-top:1px solid var(--stroke)}#studio-app #sidebar .Panel .Panel{border-top:none}#studio-app #tabs{background:#0a0a0ceb;border-bottom:1px solid var(--stroke)}#studio-app .TabbedPanel .Tabs{background:transparent;border-bottom:1px solid var(--stroke)}#studio-app .TabbedPanel .Tab{color:var(--ink-dim);background:transparent;border:none;border-bottom:2px solid transparent;transition:color .12s ease,border-color .12s ease}#studio-app .TabbedPanel .Tab:hover{color:var(--ink)}#studio-app .TabbedPanel .Tab.selected{color:#fff;border-bottom-color:var(--accent);background:transparent}#studio-app .Outliner{background:var(--surface-1);border:1px solid var(--stroke);border-radius:var(--radius-sm);color:var(--ink)}#studio-app #outliner .option{border-radius:3px;transition:background-color .1s ease}#studio-app #outliner .option:hover{background:var(--surface-2)}#studio-app #outliner .option.active{background:#ffffff29;color:#fff}#studio-app #outliner .type{color:var(--ink-dim)}#studio-app .Button{color:var(--ink);background-color:var(--surface-2);border:1px solid var(--stroke);border-radius:var(--radius-sm);transition:background-color .12s ease,border-color .12s ease;cursor:pointer}#studio-app .Button:hover{color:#fff;background-color:var(--surface-3);border-color:var(--stroke-strong)}#studio-app .Button:active{background-color:#ffffff24}#studio-app .Button.selected{color:#fff;background-color:#ffffff38;border-color:var(--stroke-strong)}#studio-app .Input,#studio-app .TextArea{background-color:var(--bg-1);border:1px solid var(--stroke);border-radius:var(--radius-sm);color:var(--ink);transition:border-color .12s ease}#studio-app .Input:focus,#studio-app .TextArea:focus{border-color:var(--stroke-strong);color:#fff}#studio-app .Select{color:var(--ink);background-color:var(--bg-1);border:1px solid var(--stroke);border-radius:var(--radius-sm);transition:background-color .12s ease,border-color .12s ease}#studio-app .Select:hover{color:#fff;background-color:var(--surface-3)}#studio-app .Button:focus-visible,#studio-app .Input:focus-visible,#studio-app .TextArea:focus-visible,#studio-app .Select:focus-visible,#studio-app .TabbedPanel .Tab:focus-visible{outline:2px solid rgba(255,255,255,.5);outline-offset:1px}#studio-app #toolbar{background:#101118e0;border:1px solid var(--stroke-strong);border-radius:var(--radius-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-2)}#studio-app #toolbar .Button{background:transparent;border:none}#studio-app #toolbar .Button:hover{background:var(--surface-3)}#studio-app #toolbar .Button.selected{background:#ffffff38}#studio-app #toolbar img{filter:invert(1)}#studio-app .Listbox{background:var(--surface-1);border:1px solid var(--stroke);border-radius:var(--radius-sm);color:var(--ink)}#studio-app .Listbox .ListboxItem:hover{background:var(--surface-2)}#studio-app .Listbox .ListboxItem.active{background:#ffffff29}#studio-app .Dialog-content{background:#14151c;border:1px solid var(--stroke-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-2);color:var(--ink)}#studio-app .Dialog-title{color:#fff}#studio-app .Dialog-background{background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#studio-app #animation{background:#0a0a0ceb;border-top:1px solid var(--stroke)}#studio-app #animation .Panel{color:var(--ink-dim)}#studio-app #animation input[type=range]{accent-color:var(--accent)}#studio-app #resizer:hover,#studio-app #animation-resizer:hover{background:#ffffff2e}
