:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14161a;--panel:#1b1e24;--panel-2:#171b21;--line:#2a2f38;--fg:#e7e9ee;--dim:#949bab;--acc:#e0b062;--acc-ink:#231603;--good:#5fbf7f;--bad:#d9685f;--head:#ff5d5d;--screen:#06080b}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--fg);margin:0;font:12.5px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,input,select{font:inherit;color:inherit}code{background:#ffffff10;border-radius:4px;padding:0 5px;font-size:12px}a{color:inherit}button,.button{background:var(--panel);border:1px solid var(--line);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;height:26px;padding:3px 9px;line-height:1;text-decoration:none;display:inline-flex}.icon{flex:none;display:block}button.icon-only,.button.icon-only{justify-content:center;width:26px;padding:0}button:hover:not(:disabled),.button:hover{border-color:var(--acc);color:var(--acc)}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:600}button.primary:hover:not(:disabled){filter:brightness(1.08);color:var(--acc-ink)}button.primary.big{border-radius:9px;gap:8px;height:auto;padding:10px 24px;font-size:15px}button.ghost,.ghost.button{background:0 0}button.danger{color:var(--bad)}button.danger:hover:not(:disabled){border-color:var(--bad);color:var(--bad)}button.danger.armed{background:var(--bad);border-color:var(--bad);color:#2a0705;font-weight:600}button.danger.armed:hover:not(:disabled){color:#2a0705}button.wide{justify-content:center;width:100%;margin:4px 0 8px}.label{color:var(--dim);margin-left:4px;font-size:11px}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.segmented button{height:22px;color:var(--dim);background:0 0;border:0;border-radius:5px;padding:2px 8px}.segmented button:hover:not(:disabled){color:var(--fg)}.segmented button.on{color:var(--acc);background:#2f3742}.segmented.small button{height:20px;padding:1px 7px;font-size:11.5px}.drop{background:radial-gradient(ellipse at 50% 35%, #232a36, var(--bg) 70%);place-items:center;height:100%;transition:background .2s;display:grid}.drop.over{background:radial-gradient(ellipse at 50% 35%, #3a3322, var(--bg) 70%)}.drop-card{text-align:center;max-width:520px;padding:30px}.drop-logo{width:76px;height:76px}.drop-lang{position:absolute;top:14px;right:16px}.drop{position:relative}.drop-logo,.brand svg{fill:none;stroke:var(--acc);stroke-width:2.5px}.logo-ring{stroke-width:3.5px;stroke-linecap:round}.logo-dot{fill:var(--acc);stroke:none}.drop h1{letter-spacing:.02em;margin:10px 0 4px;font-size:28px}.lead{color:#cfd6e4;margin:0 0 22px;font-size:15px}.drop .dim{margin-top:10px}.promises{text-align:left;color:var(--dim);gap:7px;margin:28px 0 0;padding:0;list-style:none;display:grid}.promises li{border-left:2px solid var(--line);padding-left:10px}.promises b{color:var(--fg);font-weight:500}.error{color:#ffb4ab}.app{grid-template-rows:auto 1fr auto;height:100%;display:grid}.topbar{background:var(--panel);border-bottom:1px solid var(--line);align-items:center;gap:8px;min-width:0;padding:6px 12px;display:flex}.brand{letter-spacing:.03em;align-items:center;gap:7px;font-weight:600;display:inline-flex}.brand svg{stroke-width:4px;width:22px;height:22px}.file{text-overflow:ellipsis;white-space:nowrap;min-width:60px;font-weight:500;overflow:hidden}.meta{color:var(--dim);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.badge{border:1px solid var(--line);color:var(--dim);white-space:nowrap;border-radius:20px;padding:1px 8px;font-size:11px}.badge.good{border-color:color-mix(in srgb, var(--good) 60%, var(--line));color:var(--good)}.grow{flex:1}.donate{color:var(--bad)}.donate:hover{color:var(--bad)!important;border-color:var(--bad)!important}.lang{color:var(--dim);border:1px solid var(--line);background:var(--panel);border-radius:6px;align-items:center;gap:4px;height:26px;padding:0 4px 0 7px;display:inline-flex}.lang select{color:var(--fg);cursor:pointer;background:0 0;border:0;outline:none;padding:0 2px;font-size:12px}.lang select option{background:var(--panel)}.stage{grid-template-columns:1fr 280px;min-height:0;display:grid}.source{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.viewer{background:var(--screen);border:1px solid var(--line);border-radius:9px;min-height:0;margin:8px;position:relative;overflow:hidden}.viewer canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.viewer canvas.dragging{cursor:grabbing}.viewer.mode-fisheye canvas{cursor:default}.ov-tl{pointer-events:none;align-items:center;gap:8px;font-size:11px;display:flex;position:absolute;top:10px;left:12px}.ov-tl b{background:var(--acc);color:#111;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:1px 7px;font-size:10.5px}.ov-tl span{color:#dfe5ef;text-shadow:0 1px 3px #000}.ov-tr{font-variant-numeric:tabular-nums;color:#fff;pointer-events:none;background:#0008;border-radius:4px;padding:1px 7px;font-size:12px;position:absolute;top:10px;right:12px}.ov-lens{color:var(--acc);pointer-events:none;background:#000a;border-radius:4px;padding:0 7px;font-size:11px;font-weight:700;position:absolute;bottom:12px}.ov-lens.a{left:25%}.ov-lens.b{left:75%}.gizmo{opacity:.55;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:2px;transition:opacity .2s;display:flex;position:absolute;bottom:12px;right:12px}.gizmo:hover{opacity:1}.gizmo svg{filter:drop-shadow(0 2px 6px #000a);display:block}.g-ring{fill:#0009;stroke:#ffffff30;stroke-width:1px}.g-tick{stroke:#ffffff60;stroke-width:1.5px}.g-fov{fill:none;stroke:var(--acc);stroke-width:4px;stroke-linecap:round}.g-ground{fill:#3b3326}.g-sky{fill:#2c3a4f}.g-horizon{stroke:#fff;stroke-width:1.2px}.g-inner{fill:none;stroke:#ffffff40}.g-reticle{stroke:var(--acc);stroke-width:1.5px;fill:none}.g-values{color:#dfe5ef;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000;gap:6px;font-size:10px;display:flex}.inspector{background:var(--panel);border-left:1px solid var(--line);padding:0 12px 16px;overflow:auto}.section{padding-bottom:6px}.section h2{text-transform:uppercase;letter-spacing:.08em;color:var(--dim);align-items:center;gap:6px;margin:12px 0 6px;font-size:10.5px;font-weight:600;display:flex}.section h2 button{height:auto;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;background:0 0;border:0;width:100%;padding:0}.section h2 .chevron{margin-left:auto}.section .segmented{width:100%;margin-bottom:8px}.section .segmented button{flex:1;justify-content:center}.presets{grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px;display:grid}.presets button{flex-direction:column;justify-content:center;gap:3px;min-width:0;height:auto;padding:6px 2px 5px;font-size:10px;line-height:1.15}.presets button span{text-align:center;white-space:normal;overflow-wrap:anywhere;max-width:100%;color:var(--dim)}.presets button:hover span{color:var(--acc)}.slider{grid-template-columns:84px 1fr 52px;align-items:center;gap:6px;margin:1px 0;display:grid}.slider label{color:var(--dim);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.slider output{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px}input[type=range]{width:100%;accent-color:var(--acc);height:14px;margin:0}.dim{color:var(--dim);margin:4px 0 8px;font-size:12px}.small{font-size:11px}.status{border-left:2px solid var(--acc);color:#dfe5ef;margin:4px 0 10px;padding:3px 9px;font-size:12px}.project-tools{flex-wrap:wrap;gap:4px;display:flex}.timeline{background:var(--panel);border-top:1px solid var(--line);flex-direction:column;gap:6px;padding:6px 12px 10px;display:flex}.transport{align-items:center;gap:4px;min-width:0;display:flex}.transport .play{color:var(--acc);border-color:var(--acc);width:34px}.transport .key{color:var(--acc)}.transport .key.on{border-color:var(--acc);background:#2a2418}.transport .key.pulse{background:var(--acc);color:var(--acc-ink);animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--acc) 30%, transparent)}}.tc{font-variant-numeric:tabular-nums;margin-left:8px}.tc i{color:var(--dim);font-style:normal}.sep{background:var(--line);width:1px;height:20px;margin:0 6px}.hint{color:var(--dim);white-space:nowrap;text-overflow:ellipsis;opacity:.8;min-width:0;margin-left:auto;font-size:11px;font-style:normal;overflow:hidden}.track{border:1px solid var(--line);-webkit-user-select:none;user-select:none;cursor:pointer;touch-action:none;background:#0f1216;border-radius:8px;position:relative;overflow:hidden}.film{background:#0b0d10;height:46px;position:relative}.film img{object-fit:cover;opacity:.85;pointer-events:none;border-right:1px solid #0f1216;height:100%;position:absolute;top:0}.keys{border-top:1px solid #ffffff10;height:24px;position:relative}.keys-hint{color:var(--dim);pointer-events:none;place-items:center;font-size:11px;font-style:normal;display:grid;position:absolute;inset:0}.seg{color:#dfe5ef;cursor:pointer;background:#2a3140;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:4px;height:auto;padding:0 4px;font-size:10px;display:flex;position:absolute;top:4px;bottom:4px;overflow:hidden}.seg:hover:not(:disabled){color:#fff;border-color:#ffffff40}.seg.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc);color:#fff}.seg.linked{border-color:#e0b06266}.seg.ease-ease{background:#2b4232}.seg.ease-linear{background:#33363d}.seg.ease-hold{background:#3c3a26}.seg span{opacity:.75}.diamond{background:var(--acc);cursor:ew-resize;z-index:2;border:2px solid #0f1216;border-radius:2px;width:13px;min-width:0;margin:-6.5px 0 0 -6.5px;padding:0;position:absolute;top:50%;transform:rotate(45deg);height:13px!important}.diamond:hover:not(:disabled){background:#f3c77a;border-color:#0f1216}.diamond.on{outline-offset:1px;outline:2px solid #fff}.activity{border-top:1px solid #ffffff10;width:100%;height:14px;display:block}.head{background:var(--head);width:2px;box-shadow:0 0 6px var(--head);pointer-events:none;z-index:3;margin-left:-1px;position:absolute;top:0;bottom:0}.modal{z-index:20;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0b0d10cc;place-items:center;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:12px;width:min(640px,100vw - 32px);padding:20px 22px;box-shadow:0 20px 60px #000a}.dialog h3{align-items:center;gap:8px;margin:0 0 14px;font-size:15px;display:flex}.kinds{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.kind{text-align:left;white-space:normal;background:var(--panel-2);flex-direction:column;align-items:flex-start;gap:4px;height:auto;padding:10px 12px;line-height:1.35}.kind b{align-items:center;gap:6px;font-size:13px;display:flex}.kind span{color:var(--dim);font-size:11.5px;line-height:1.35}.kind.on{border-color:var(--acc);box-shadow:inset 0 0 0 1px var(--acc)}.kind.on b{color:var(--acc)}.form{grid-template-columns:70px 1fr;align-items:center;gap:8px 12px;margin-bottom:10px;display:grid}.form>label{color:var(--dim);font-size:12px}.form .segmented{flex-wrap:wrap;justify-self:start}.check{align-items:center;gap:6px;display:inline-flex;color:var(--fg)!important}.warn{color:#ffb4ab;font-weight:500}.progress{font-variant-numeric:tabular-nums;align-items:center;gap:10px;margin:10px 0;font-size:12px;display:flex}.progress .bar{background:var(--panel-2);border-radius:3px;flex:1;height:6px;overflow:hidden}.progress .bar div{background:var(--acc);transform-origin:0;width:100%;height:100%}.actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.help dl{gap:4px;margin:0;display:grid}.help dl div{grid-template-columns:150px 1fr;gap:10px;display:grid}.help dt{color:var(--acc);font-variant-numeric:tabular-nums}.help dd{color:#dfe5ef;margin:0}@media (width<=900px){.stage{grid-template-rows:1fr auto;grid-template-columns:1fr}.inspector{border-left:0;border-top:1px solid var(--line);max-height:38vh}.meta,.hint,.badge{display:none}.kinds{grid-template-columns:1fr}}.refine{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;margin-top:8px;padding:7px 8px}.refine-head{color:var(--fg);justify-content:space-between;align-items:center;gap:6px;margin-bottom:4px;font-size:11.5px;display:flex}.refine .progress{margin:4px 0}.refine .dim{margin:2px 0}.warn-text{color:#f0c58a}.toast{border:1px solid var(--bad);color:#ffd7d2;z-index:30;cursor:pointer;background:#3a1d1b;border-radius:8px;max-width:80vw;padding:8px 14px;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.drop-overlay{z-index:40;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#0b0d10cc;place-items:center;display:grid;position:fixed;inset:0}.drop-overlay>div{border:2px dashed var(--acc);color:var(--acc);background:#14161ae6;border-radius:14px;flex-direction:column;align-items:center;gap:8px;padding:34px 48px;display:flex}.drop-overlay b{color:var(--fg);font-size:15px;font-weight:600}.drop-overlay span{color:var(--dim);font-size:12px}.drop-links{justify-content:center;gap:18px;margin-top:26px;font-size:12px;display:flex}.drop-links a{color:var(--dim);align-items:center;gap:5px;text-decoration:none;display:inline-flex}.drop-links a:hover{color:var(--fg)}.drop-links .donate-link:hover{color:var(--bad)}.drop .sample{color:var(--acc);margin-top:2px;font-size:12px}
