*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}#app{flex-direction:row;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.app-footer{z-index:30;padding:5px 12px max(6px, env(safe-area-inset-bottom,0px));color:#c8d0e0e0;-webkit-backdrop-filter:blur(6px);pointer-events:none;-webkit-user-select:none;user-select:none;background:#0c0e148c;border-top:1px solid #ffffff0f;justify-content:center;align-items:center;gap:10px;font-size:11px;line-height:1.2;display:flex;position:fixed;bottom:0;left:0;right:0}.app-footer__credit{letter-spacing:.02em}.app-footer__link{color:#8ec5ff;pointer-events:auto;border-radius:4px;justify-content:center;align-items:center;margin:-2px;padding:2px;transition:color .15s,background-color .15s;display:inline-flex}.app-footer__link:hover{color:#c4ddff;background-color:#8ec5ff1f}.app-footer__link:focus-visible{outline-offset:2px;outline:2px solid #4a6fa5}.app-footer__link-icon{display:block}#viewport{flex:auto;min-width:0;min-height:0;position:relative;overflow:hidden}#c{width:100%;height:100%;display:block}.viewport-loading{z-index:1;pointer-events:none;opacity:0;visibility:hidden;background:#f8fafc6b;flex-direction:column;justify-content:center;align-items:center;gap:14px;transition:opacity .12s,visibility .12s;display:flex;position:absolute;inset:0}.viewport-loading.viewport-loading--visible{opacity:1;visibility:visible}.viewport-loading.viewport-loading--visible.viewport-loading--instant{transition:none}.viewport-loading__spinner{border:3px solid #1a2a3a33;border-top-color:#4a6fa5;border-radius:50%;width:40px;height:40px;animation:.75s linear infinite viewport-loading-spin}@keyframes viewport-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.viewport-loading__spinner{animation-duration:1.4s}}.viewport-loading__status{opacity:0;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:min(360px,80%);transition:opacity .18s,transform .18s;display:flex;transform:translateY(-2px)}.viewport-loading.viewport-loading--with-status .viewport-loading__status{opacity:1;transform:translateY(0)}.viewport-loading__label{color:#1a2a3a;letter-spacing:.02em;text-align:center;text-shadow:0 1px #fff9;font-size:12px;line-height:1.3}.viewport-loading__bar{background:#1a2a3a2e;border-radius:2px;width:220px;height:4px;overflow:hidden}.viewport-loading__bar--indeterminate{background:#1a2a3a1f}.viewport-loading__bar-fill{border-radius:inherit;background:#4a6fa5;width:0;height:100%;transition:width .18s}.viewport-loading__bar--indeterminate .viewport-loading__bar-fill{width:35%;transition:none;animation:1.2s ease-in-out infinite viewport-loading-bar-indet}@keyframes viewport-loading-bar-indet{0%{transform:translate(-100%)}to{transform:translate(285%)}}#controls-dock{color:#c8d0e0;background:#0c0e14f5;border-left:1px solid #ffffff1f;flex-direction:column;flex:0 0 min(400px,38vw);min-width:280px;max-width:min(480px,46vw);min-height:0;display:flex}#app.app--dock-collapsed #controls-dock{flex:none}#app.app--dock-collapsed #viewport{flex:auto;min-width:0}#dock-toggle{color:#eef2f8;text-transform:uppercase;letter-spacing:1.2px;text-align:left;cursor:pointer;background:#1a1f2c;border:none;border-bottom:1px solid #ffffff1a;flex:none;justify-content:space-between;align-items:center;width:100%;margin:0;padding:6px 14px;font-family:inherit;font-size:10px;font-weight:700;line-height:1.2;display:flex}#dock-toggle:active{background:#232a3a}#dock-toggle:after{content:"▾";font-size:11px;transition:transform .2s}#app.app--dock-collapsed #dock-toggle:after{transform:rotate(-90deg)}#dock-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;gap:12px;min-height:0;padding:12px;display:flex;overflow:hidden auto}#app.app--dock-collapsed #dock-scroll{display:none}#dock-scroll #gui-mount{width:100%;max-width:100%!important;position:static!important;inset:auto!important}#dock-scroll .lil-gui{--width:100%;max-width:100%;width:100%!important}#gui-mount .lil-root>.lil-title{display:none}#dock-scroll .lil-gui .lil-controller.lil-function .lil-widget{flex:0 auto;width:auto;max-width:100%}#dock-scroll .lil-gui .lil-controller.lil-function button{width:auto;max-width:100%;height:var(--widget-height,20px);min-height:var(--widget-height,20px);white-space:nowrap;padding:0 10px}#dock-scroll .lil-gui .lil-controller.lil-geometry-main-reset{justify-content:center}#dock-scroll .lil-gui .lil-controller.lil-geometry-main-reset .lil-name{display:none}#dock-scroll .lil-gui .lil-controller.lil-geometry-main-reset .lil-widget{flex:auto;justify-content:center;max-width:100%;display:flex}#view-toolbar{--view-toolbar-control-h:28px;z-index:3;color:#c8d0e0;background:linear-gradient(#0c0e148c,#0c0e1400);border:none;justify-content:space-between;align-items:center;gap:6px;margin:0;padding:5px 10px;font-size:10px;display:flex;position:absolute;top:0;left:0;right:0}.view-toolbar-buttons{gap:3px;display:flex}#view-toolbar button{color:#e4e8f0;cursor:pointer;min-width:42px;height:var(--view-toolbar-control-h);min-height:var(--view-toolbar-control-h);box-sizing:border-box;background:#2a3140;border:1px solid #ffffff1a;border-radius:3px;padding:0 8px;font-family:inherit;font-size:11px;line-height:1.2;transition:background .15s,border-color .15s}#view-toolbar button:hover{background:#3d4a5c;border-color:#4a6fa5}#view-toolbar button:active{background:#22283a}#view-toolbar #toggle-animate.view-toolbar-icon-btn{min-width:var(--view-toolbar-control-h);width:var(--view-toolbar-control-h);height:var(--view-toolbar-control-h);min-height:var(--view-toolbar-control-h);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}#view-toolbar #toggle-animate.view-toolbar-icon-btn svg{display:block}#view-toolbar .view-toolbar-rpm{height:var(--view-toolbar-control-h);color:#e4e8f0;background:#2a3140;border:1px solid #ffffff1a;border-radius:3px;flex:0 auto;align-items:center;gap:6px;min-width:0;margin-left:auto;padding:0 8px;font-family:inherit;font-size:11px;line-height:1.2;display:inline-flex}#view-toolbar .view-toolbar-rpm-label{color:#e4e8f0;font-family:inherit;font-size:11px}#view-toolbar .view-toolbar-rpm-value{font-variant-numeric:tabular-nums;text-align:right;color:#e4e8f0;width:3ch;min-width:3ch;font-family:inherit;font-size:11px}#view-toolbar .view-toolbar-rpm input[type=range]{appearance:none;accent-color:#4a6fa5;cursor:pointer;background:0 0;width:110px;max-width:22vw;height:16px;margin:0;padding:0}#view-toolbar .view-toolbar-rpm input[type=range]:focus{outline:none}#view-toolbar .view-toolbar-rpm input[type=range]::-webkit-slider-runnable-track{background:#1a1f2b;border-radius:2px;height:3px}#view-toolbar .view-toolbar-rpm input[type=range]::-moz-range-track{background:#1a1f2b;border-radius:2px;height:3px}#view-toolbar .view-toolbar-rpm input[type=range]::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#8ec5ff;border:0;border-radius:50%;width:12px;height:12px;margin-top:-4.5px;box-shadow:0 0 0 1px #0006}#view-toolbar .view-toolbar-rpm input[type=range]::-moz-range-thumb{cursor:pointer;background:#8ec5ff;border:0;border-radius:50%;width:12px;height:12px}#view-toolbar .view-toolbar-rpm-dir{color:#e4e8f0;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1f2533;border:1px solid #ffffff24;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;margin-left:2px;padding:0;font-family:inherit;font-size:14px;line-height:1;display:inline-flex}#view-toolbar .view-toolbar-rpm-dir:hover{color:#8ec5ff;background:#2a3140}#view-toolbar .view-toolbar-rpm-dir[aria-pressed=true]{color:#8ec5ff;border-color:#8ec5ff80}#view-toolbar .view-toolbar-rpm-dir:focus-visible{outline-offset:1px;outline:2px solid #4a6fa5}#viewport>#gui-mount{z-index:10;position:absolute;top:0;right:0}#gear-type-quick{appearance:none;color:#e4e8f0;cursor:pointer;height:var(--view-toolbar-control-h);min-height:var(--view-toolbar-control-h);box-sizing:border-box;background-color:#2a3140;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' width='12' height='8'%3E%3Cpath fill='none' stroke='%23c8d0e0' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.5L6 6l4.5-4.5'/%3E%3C/svg%3E");background-position:right 7px center;background-repeat:no-repeat;background-size:10px 7px;border:1px solid #ffffff26;border-radius:3px;flex-shrink:0;align-items:center;max-width:min(220px,45vw);padding:0 24px 0 8px;font-family:inherit;font-size:11px;line-height:1.2;display:inline-flex}#gear-type-quick:focus{border-color:#4a6fa5;outline:none}.view-toolbar-export-wrap{flex-shrink:0;display:inline-flex;position:relative}#view-toolbar #export-menu-btn.view-toolbar-icon-btn{min-width:var(--view-toolbar-control-h);width:var(--view-toolbar-control-h);height:var(--view-toolbar-control-h);min-height:var(--view-toolbar-control-h);justify-content:center;align-items:center;padding:0;display:inline-flex}#view-toolbar #export-menu-btn.view-toolbar-icon-btn svg{display:block}.view-toolbar-menu{z-index:30;color:#e4e8f0;background:#141820f7;border:1px solid #ffffff1f;border-radius:4px;flex-direction:column;gap:0;min-width:150px;padding:4px;font-size:11px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000073}.view-toolbar-menu[hidden]{display:none}.view-toolbar-menu-heading{text-transform:uppercase;letter-spacing:.08em;color:#8a93a5;pointer-events:none;padding:4px 8px 2px;font-size:9px}.view-toolbar-menu button[role=menuitem]{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;min-height:24px;padding:5px 10px;line-height:1.2}.view-toolbar-menu button[role=menuitem]:hover,.view-toolbar-menu button[role=menuitem]:focus{background:#3d4a5c;outline:none}.view-toolbar-menu-sep{background:#ffffff1a;height:1px;margin:4px 2px}.lil-gui{--font-family:system-ui, "Segoe UI", Roboto, sans-serif;--background-color:#12151eeb;--widget-color:#2a3140;--focus-color:#4a6fa5;--hover-color:#3d4a5c;--font-color:#e4e8f0;--text-color:#e4e8f0;--title-text-color:#e4e8f0;--title-background-color:#141820;--number-color:#8ec5ff;--string-color:#b8e0c8;--font-size:11px;--input-font-size:11px;--widget-height:14px;--padding:2px;--spacing:2px}@media (pointer:coarse){.lil-gui,.lil-gui.lil-allow-touch-styles,.lil-gui.lil-allow-touch-styles .lil-gui{--widget-height:16px;--font-size:11px;--input-font-size:11px;--padding:2px;--spacing:3px}}#gui-mount .lil-gui .lil-controller.lil-number input[type=number]{color:var(--text-color);-webkit-text-fill-color:var(--text-color);font-family:var(--font-family);font-size:var(--font-size);font-weight:400}#gui-mount .lil-gui .lil-controller.lil-string.lil-disabled{opacity:1}#gui-mount .lil-gui .lil-controller.lil-string.lil-disabled>.lil-name{color:var(--text-color);font-family:var(--font-family);font-size:var(--font-size);opacity:1;font-weight:400}#gui-mount .lil-gui .lil-controller.lil-string.lil-disabled input{color:var(--text-color);-webkit-text-fill-color:var(--text-color);font-family:var(--font-family);font-size:var(--font-size);opacity:1;font-weight:400}#planetary-config-notice.planetary-config-notice{color:#f0e8e4;background:#2816128c;border:1px solid #d2785a73;border-radius:6px;margin:6px 4px 8px;padding:8px 36px 8px 8px;font-size:11px;line-height:1.45;position:relative}.planetary-config-notice__title{letter-spacing:.02em;color:#ffc8a8;margin:0 0 4px;font-size:11px;font-weight:600}.planetary-config-notice__msg{color:#e8e0dc;margin:0}.planetary-config-notice__hints{color:#c8c0bc;margin:6px 0 0;padding-left:1.1em}.planetary-config-notice__hints li{margin:.25em 0}.planetary-config-notice__revert{color:#e4e8f0;cursor:pointer;background:#181c26d9;border:1px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex;position:absolute;top:6px;right:4px}.planetary-config-notice__revert:hover{background:#2d3444f2;border-color:#8ec5ff59}@media (width<=900px),(orientation:portrait) and (width<=1100px){#app{flex-direction:column}#viewport{border-bottom:1px solid #0003;flex:0 0 50vh;width:100%;height:50vh}#app.app--dock-collapsed #viewport{flex:auto;height:auto}#controls-dock{border-top:1px solid #ffffff1f;border-left:none;flex:auto;width:100%;min-width:0;max-width:none}#gear-type-quick{max-width:45vw}}
