:root{--fg: #1d1d1f;--fg-dim: rgba(29, 29, 31, .55);--fg-faint: rgba(29, 29, 31, .42);--hud-bg: rgba(255, 255, 255, .62);--hud-border: rgba(0, 0, 0, .08);--hud-shadow: 0 10px 30px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--btn-hover: rgba(0, 0, 0, .06);--seg-on: #1d1d1f;--seg-on-fg: #fff;--track: rgba(0, 0, 0, .12);--thumb: #1d1d1f;--bg: #f2f2f4;--veil: rgba(255, 255, 255, .55)}body.dark{--fg: #f5f5f7;--fg-dim: rgba(245, 245, 247, .55);--fg-faint: rgba(245, 245, 247, .42);--hud-bg: rgba(28, 28, 30, .62);--hud-border: rgba(255, 255, 255, .1);--hud-shadow: 0 10px 30px rgba(0, 0, 0, .5);--btn-hover: rgba(255, 255, 255, .1);--seg-on: #f5f5f7;--seg-on-fg: #1d1d1f;--track: rgba(255, 255, 255, .18);--thumb: #f5f5f7;--bg: #050506;--veil: rgba(0, 0, 0, .55)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Segoe UI,Roboto,Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}body{background:radial-gradient(120% 90% at 50% 40%,#fbfbfc,#ededf0 55%,#dcdce0)}body.dark{background:radial-gradient(120% 90% at 50% 40%,#151517,#070708 60%,#000)}#gl{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:pointer}.hud{position:fixed;left:50%;bottom:max(22px,env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:90%;padding:8px 10px;border-radius:999px;background:var(--hud-bg);border:1px solid var(--hud-border);box-shadow:var(--hud-shadow);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);-webkit-user-select:none;user-select:none;transition:background-color .3s ease,border-color .3s ease}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--fg);border-radius:999px;cursor:pointer;display:grid;place-items:center;transition:background-color .15s ease,opacity .15s ease}.btn:hover{background:var(--btn-hover)}.btn:disabled{opacity:.4;cursor:default}.btn.icon{width:34px;height:34px}.btn.icon svg{display:block}#play .ic-play{display:none}#play.paused .ic-play{display:block}#play.paused .ic-pause{display:none}#scrub{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:min(42vw,260px);height:34px;background:transparent;margin:0;cursor:pointer}#scrub::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--track)}#scrub::-moz-range-track{height:4px;border-radius:2px;background:var(--track)}#scrub::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--thumb);margin-top:-6px;box-shadow:0 1px 4px #00000040}#scrub::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:var(--thumb);box-shadow:0 1px 4px #00000040}.seg{display:flex;gap:2px;padding:2px;border-radius:999px;background:var(--btn-hover)}.seg button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--fg);font:600 12px/1 inherit;font-family:inherit;padding:7px 10px;border-radius:999px;cursor:pointer;letter-spacing:.01em}.seg button.on{background:var(--seg-on);color:var(--seg-on-fg)}.hint{position:fixed;left:50%;bottom:max(6px,calc(env(safe-area-inset-bottom) - 12px));transform:translate(-50%);margin:0;font-size:11px;color:var(--fg-dim);white-space:nowrap;pointer-events:none}.corner{position:fixed;left:max(22px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-start;gap:6px}.credits{margin:0;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--fg-faint)}.credits a{color:var(--fg-dim);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.credits a:hover{color:var(--fg);border-bottom-color:var(--fg-dim)}.credits .sep{margin:0 2px}.reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--hud-border);background:var(--hud-bg);color:var(--fg-dim);font:500 12px/1 inherit;font-family:inherit;padding:8px 12px;border-radius:999px;cursor:pointer;backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);transition:color .15s ease,background-color .15s ease}.reset:hover{color:var(--fg);background:var(--btn-hover)}.reset[hidden],.credits[hidden]{display:none}.github{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:500;letter-spacing:.01em;color:var(--fg-dim);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.github:hover{color:var(--fg);border-bottom-color:var(--fg-dim)}.github svg{display:block}.lil-gui{--background-color: var(--hud-bg);--text-color: var(--fg);--title-background-color: transparent;--title-text-color: var(--fg);--widget-color: var(--btn-hover);--hover-color: var(--track);--focus-color: var(--track);--number-color: var(--fg);--string-color: var(--fg);--font-family: inherit;--font-size: 12px;--input-font-size: 12px;--padding: 8px;--spacing: 6px;--widget-height: 24px;--name-width: 46%;--slider-knob-width: 3px;--slider-input-width: 30%;--slider-input-min-width: 48px;--folder-indent: 10px;--widget-padding: 0 0 0 4px;--widget-border-radius: 6px;--checkbox-size: 14px;--scrollbar-width: 5px;border-radius:14px;border:1px solid var(--hud-border);box-shadow:var(--hud-shadow);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.lil-gui.autoPlace{top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));max-height:calc(100vh - 96px)}.lil-gui .title{font-weight:600;letter-spacing:.01em}.lil-gui .controller.function .name{text-align:center;color:var(--fg)}.drop-veil{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:var(--veil);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .2s ease}.drop-veil span{font-size:15px;font-weight:600;color:var(--fg);padding:14px 22px;border-radius:999px;border:1px dashed var(--fg-dim)}body.dragging .drop-veil{opacity:1}#fallback{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;padding:24px;background:var(--bg)}#fallback[hidden]{display:none}#fallback h1{font-size:22px;margin:0 0 8px}#fallback p{margin:4px 0;color:var(--fg-dim)}#fallback .detail{font-size:12px;font-family:ui-monospace,Menlo,monospace}@media(max-width:640px){.hint{display:none}.hud{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));transform:none;max-width:none;display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"play scrub scrub scrub" "speed speed upload theme";gap:8px 10px;padding:10px 12px;border-radius:26px}#play{grid-area:play}#scrub{grid-area:scrub;width:100%;min-width:0;height:40px}#speed{grid-area:speed;justify-self:start}#upload{grid-area:upload}#theme{grid-area:theme}.btn.icon{width:40px;height:40px}.btn.icon svg{width:18px;height:18px}.seg button{font-size:13px;padding:10px 13px}#scrub::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8px}#scrub::-moz-range-thumb{width:20px;height:20px}.corner{left:max(16px,env(safe-area-inset-left));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 134px)}.github{right:max(16px,env(safe-area-inset-right));bottom:calc(max(12px,env(safe-area-inset-bottom)) + 134px)}.lil-gui.autoPlace{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));width:min(290px,calc(100vw - 24px))!important;max-height:60vh}}@media(max-width:640px)and (max-height:500px){.hud{grid-template-columns:auto 1fr auto auto auto;grid-template-areas:"play scrub speed upload theme";padding:8px 10px}.corner,.github{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 72px)}}@media(hover:none){.btn:hover{background:transparent}.btn:active{background:var(--btn-hover)}}
