:root{--sidebar-width: 280px;color:#e8edf2;font-synthesis:none;text-rendering:optimizelegibility;background:#14171b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.xr-button-overlay .babylonVRicon{display:none!important}html,body,#app{width:100%;height:100%;margin:0}button,input,select{font:inherit}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr);width:100%;height:100vh;height:100dvh;display:grid;overflow:hidden}.sidebar{position:relative;background:#191d22;border-right:1px solid #2c323a;flex-direction:column;min-height:0;padding:0 18px;display:flex;overflow-y:auto;scrollbar-width:none}.sidebar-resizer{position:absolute;top:0;right:0;z-index:20;width:6px;height:100%;cursor:col-resize;touch-action:none;-webkit-user-select:none;user-select:none}.sidebar-resizer:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .15s ease}.sidebar-resizer:hover:after,.sidebar-resizer:focus-visible:after,body.sidebar-resizing .sidebar-resizer:after{background:#5b8def}body.sidebar-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.sidebar-resizing iframe,body.sidebar-resizing canvas{pointer-events:none}.sidebar::-webkit-scrollbar{width:0;display:none}.brand{align-items:center;display:flex}.brand h1{letter-spacing:0;padding:12px 0;font-size:18px;font-weight:650}.panel{border-top:1px solid #2c323a;flex-direction:column;padding:12px 0;display:flex}.panel-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 0;transition:color .2s ease}.panel-header:hover{color:#fff}.panel-header h3,.panel-header .settings-group__title{margin:0;font-size:13px;font-weight:650;color:#d9e2ec}.panel-toggle-icon{font-size:10px;color:#8fa3b8;transition:transform .3s cubic-bezier(.4,0,.2,1);margin-right:4px}.panel.collapsed .panel-toggle-icon{transform:rotate(-90deg)}.panel-content{display:grid;grid-template-rows:1fr;transition:grid-template-rows .3s cubic-bezier(.4,0,.2,1),opacity .2s ease,margin-top .3s ease;opacity:1;margin-top:10px}.panel.collapsed .panel-content{grid-template-rows:0fr;opacity:0;margin-top:0!important;pointer-events:none}.panel-content-inner{overflow:hidden;min-height:0;display:flex;flex-direction:column;gap:14px}.panel-content-inner .settings-group{border-top:0;padding-top:0}.field{color:#b8c2cc;flex-direction:column;gap:8px;font-size:13px;display:flex}.file-input,.motion-input,.gravity-magnitude-input,.mode-select{color:#eef3f8;background:#242a31;border:1px solid #44505d;border-radius:6px;min-height:36px}.file-input,.motion-input{padding:8px}.gravity-magnitude-input{accent-color:#7aa2d8}.color-input{background:#242a31;border:1px solid #44505d;border-radius:6px;width:100%;height:38px;padding:2px}.status{color:#c7d1dc;min-height:40px;margin:auto 0 0;font-size:13px;line-height:1.5}.action-button{color:#f4f7fb;cursor:pointer;background:#2d3743;border:1px solid #596778;border-radius:6px;width:100%;min-height:36px}.action-button:disabled{color:#87919d;cursor:not-allowed;background:#242a31}.playback-button-row{gap:8px;display:flex}.playback-button-row .action-button{flex:1;min-width:0}.checkbox-field{color:#b8c2cc;align-items:center;gap:8px;font-size:13px;display:flex}.field--toggle{line-height:1.5}.settings-group{border-top:1px solid #252d35;flex-direction:column;gap:10px;padding-top:12px;display:flex}.settings-group:first-child{border-top:0;padding-top:0}.settings-group__title{color:#d9e2ec;letter-spacing:0;margin:0;font-size:13px;font-weight:650}.motion-list,.model-list{flex-direction:column;gap:8px;display:flex}.motion-empty{color:#c7d1dc;min-height:18px;margin:0;font-size:12px;line-height:1.5}.loaded-model-name{color:#8fc7ff;overflow-wrap:anywhere;min-height:18px;font-size:12px;line-height:1.5}.pending-load{color:#8fd8ff;overflow-wrap:anywhere;margin-top:4px;font-size:12px;font-weight:600;line-height:1.5;display:block}.pending-load[hidden]{display:none}.file-error{color:#ff6b6b;overflow-wrap:anywhere;margin-top:6px;font-size:12px;line-height:1.5;display:block}.file-error[hidden]{display:none}.motion-entry,.model-entry{color:#c7d1dc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;line-height:1.5;display:grid}.motion-entry span{overflow-wrap:anywhere}.motion-group>summary{color:#c7d1dc;cursor:pointer;font-size:12px;font-weight:650;line-height:1.5;padding:4px 0;-webkit-user-select:none;user-select:none}.motion-group__children{border-left:1px solid rgba(199,209,220,.25);margin-left:6px;padding-left:10px}.motion-remove-button{color:#aeb9c5;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.motion-remove-button:hover{color:#fff;background:#343d47}.motion-remove-button:disabled{color:#66717d;cursor:not-allowed}.motion-remove-button svg{fill:currentColor;width:16px;height:16px}.viewer{background:#20242a;min-width:0;min-height:0;align-self:stretch;position:relative}.viewer:fullscreen{background:#20242a;width:100%;height:100%}:fullscreen .sidebar,:-webkit-full-screen .sidebar{display:none}:fullscreen .app-shell,:-webkit-full-screen .app-shell{grid-template-columns:1fr;grid-template-rows:1fr;height:100%}:fullscreen .viewer,:-webkit-full-screen .viewer{order:unset;height:100%!important}.viewer canvas{width:100%;height:100%;display:block}.viewer-loading{z-index:9;pointer-events:none;background:#080a0c7a;place-items:center;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.viewer-loading[hidden]{display:none}.viewer-loading>div,.viewer-loading>span{grid-area:1/1}.viewer-loading__spinner{border:4px solid #ffffff47;border-top-color:#8fd8ff;border-radius:999px;width:56px;height:56px;animation:.85s linear infinite viewer-loading-spin}.viewer-loading__text{color:#f4f7fb;text-shadow:0 1px 2px #0000008c;font-size:14px;font-weight:600;transform:translateY(52px)}@keyframes viewer-loading-spin{to{transform:rotate(360deg)}}.viewer-overlay{z-index:10;flex-direction:column;gap:12px;display:flex;position:absolute;top:14px;right:14px}.viewer-overlay--fullscreen{flex-direction:row;inset:auto auto 14px 14px}.overlay-playback-toggle,.overlay-reset-button{display:grid!important}.overlay-button{color:#f4f7fb;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14171b9e;border:1px solid #c7d1dc52;border-radius:6px;place-items:center;width:44px;height:44px;display:grid}.overlay-button:hover{background:#2d3743d1}.overlay-button:disabled{color:#87919d;cursor:not-allowed;opacity:.55}.overlay-button--active{color:#8fd8ff;background:#1a3a5c99;border-color:#8fd8ff88;box-shadow:0 0 8px #8fd8ff55}.overlay-button svg{fill:currentColor;pointer-events:none;width:24px;height:24px}.sidebar-footer{border-top:1px solid #2c323a;flex-direction:column;gap:8px;margin-top:auto;padding-top:12px;font-size:12px;display:flex}.sidebar-footer__notice{color:#8fa3b8;margin:0;font-size:11px;line-height:1.5}.sidebar-footer__link{color:#8fa3b8;text-decoration:none}.sidebar-footer__link:hover{color:#c7d1dc;text-decoration:underline}@media (width<=760px){.app-shell{grid-template-rows:1fr auto;grid-template-columns:1fr}.sidebar{border-bottom:1px solid #2c323a;border-right:0}.sidebar-resizer{display:none}.viewer:not(:fullscreen){height:40vh}}@media (orientation: portrait){.app-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:100vh;height:100dvh}.sidebar{display:flex;border-right:0;border-bottom:1px solid #2c323a;flex:1;order:1}.sidebar-resizer{display:none}.viewer:not(:fullscreen){height:40vh;height:40dvh;order:2}}.viewer.xr-active .viewer-overlay,.viewer:xr-overlay .viewer-overlay{z-index:1000!important;flex-direction:row!important;position:fixed!important;top:auto!important;right:auto!important;bottom:30px!important;left:30px!important;display:flex!important}.viewer.xr-active .viewer-overlay .overlay-button,.viewer:xr-overlay .viewer-overlay .overlay-button{display:grid!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#14171be6!important}.viewer.xr-active .viewer-loading{display:none!important}.viewer.xr-active,.viewer:xr-overlay{background:transparent!important}.modal{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;background:#080a0cb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;pointer-events:none}.modal:not([hidden]){opacity:1;pointer-events:auto}.modal-content{background:#191d22;border:1px solid #44505d;border-radius:12px;width:90%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 12px 40px #0009;transform:scale(.95);transition:transform .25s cubic-bezier(.4,0,.2,1);overflow:hidden}.modal:not([hidden]) .modal-content{transform:scale(1)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #2c323a;background:#1f242b}.modal-header h3{margin:0;font-size:14px;font-weight:650;color:#eef3f8}.close-button{background:none;border:none;color:#8fa3b8;font-size:24px;cursor:pointer;transition:color .2s,transform .2s;padding:0;line-height:1}.close-button:hover{color:#fff;transform:scale(1.1)}.modal-body{padding:20px;overflow-y:auto;flex:1;background:#191d22}.modal-body .model-entry{background:#242a31;border:1px solid #3a4450;border-radius:6px;padding:8px 12px!important;margin-bottom:8px;transition:border-color .2s,background .2s}.modal-body .model-entry:hover{background:#2b333c;border-color:#526273}body.pseudo-fullscreen{overflow:hidden!important}body.pseudo-fullscreen .sidebar{display:none!important}body.pseudo-fullscreen .app-shell{grid-template-columns:1fr!important}body.pseudo-fullscreen .viewer{position:fixed!important;top:0!important;left:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;z-index:9999!important}.console-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.console-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.console-log-container{background:#0f1216;border:1px solid #2d3743;border-radius:6px;padding:8px;max-height:160px;overflow-y:auto;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:11px;white-space:pre-wrap;word-break:break-all;display:flex;flex-direction:column;gap:4px}.console-log-line{line-height:1.4;padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.02)}.console-log-line:last-child{border-bottom:none}.console-log-line.log-log{color:#c7d1dc}.console-log-line.log-info{color:#8fd8ff}.console-log-line.log-warn{color:#ffd88f}.console-log-line.log-error{color:#ff8f8f}.morph-list-container,.motion-list-container{scrollbar-width:none;-ms-overflow-style:none;resize:vertical}.morph-list-container::-webkit-scrollbar,.motion-list-container::-webkit-scrollbar{display:none}.resource-monitor-overlay{position:absolute;top:16px;left:16px;background:#0f172aa6;backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 14px;display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none;box-shadow:0 4px 30px #0006,inset 0 1px #ffffff1a;transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1);transform:translateY(0);opacity:1;font-family:Outfit,Inter,ui-sans-serif,system-ui,sans-serif;min-width:110px}.resource-monitor-overlay[hidden]{display:none!important}.resource-monitor-overlay:not([hidden]){animation:monitor-fade-in .3s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes monitor-fade-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.resource-monitor-item{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#e2e8f0}.resource-monitor-label{font-size:11px;font-weight:700;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase}.resource-monitor-value{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;color:#38bdf8;text-shadow:0 0 10px rgba(56,189,248,.3)}#monitor-mem{color:#34d399;text-shadow:0 0 10px rgba(52,211,153,.3)}#monitor-draw{color:#fbbf24;text-shadow:0 0 10px rgba(251,191,36,.3)}#monitor-update{color:#f97316;text-shadow:0 0 10px rgba(249,115,22,.3)}.resource-monitor-unit{font-size:10px;font-weight:500;color:#64748b;margin-left:2px}
