:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#1e1f22;--bg-raised:#2b2d31;--bg-elevated:#35373d;--bg-well:#141517;--glass:#1e1f22e0;--fill-quiet:#ffffff12;--border-subtle:#ffffff14;--border-strong:#ffffff29;--text-primary:#f2f3f5;--text-secondary:#b5bac1;--text-muted:#9ba1ab;--accent:#5c60ee;--accent-glow:#5c60ee59;--on-accent:#fff;--danger:#e5484d;--danger-text:#ff9592;--danger-surface:#3b1219f0;--danger-border:#e5484d66;--shadow-card:0 2px 12px #0000004d;--shadow-overlay:0 6px 24px #0000004d;--shadow-modal:0 12px 40px #0000008c;--radius-control:.6rem;--radius-panel:.9rem;--export-trigger-width:6rem;color:var(--text-primary);background:var(--bg-app);font-synthesis:none;text-rendering:optimizelegibility;font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{min-width:320px;min-height:100dvh}.tap,.export-button,.export-sheet__button,.export-sheet__aspect{-webkit-tap-highlight-color:transparent;transition:transform .12s,filter .15s,background-color .15s,border-color .15s,box-shadow .15s,opacity .15s}@media (hover:hover){.tap:hover:not(:disabled),.export-button:hover,.export-sheet__button:hover:not(:disabled),.export-sheet__aspect:hover{filter:brightness(1.15)}}.tap:active:not(:disabled),.export-button:active,.export-sheet__button:active:not(:disabled),.export-sheet__aspect:active{filter:brightness(.92);transform:scale(.96)}.tap:focus-visible,.export-button:focus-visible,.export-sheet__button:focus-visible,.export-sheet__aspect:focus-visible,.gallery__rename-input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:hover){.gallery-card:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}}.gallery-card:active:not(:disabled){transform:translateY(0)scale(.985)}@keyframes overlay-fade-in{0%{opacity:0}}@keyframes sheet-pop-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}@keyframes card-rise-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.tap,.export-button,.export-sheet__button,.export-sheet__aspect{transition:none}.tap:active:not(:disabled),.export-button:active,.export-sheet__button:active:not(:disabled),.export-sheet__aspect:active,.gallery-card:hover:not(:disabled){transform:none}.export-scrim,.export-sheet,.gallery__scrim,.gallery__confirm,.gallery__item{animation:none}}.scene-shell{width:100%;height:100%;position:relative}.scene-canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:100%;height:100%;display:block}.camera-mask{pointer-events:none;outline:1px solid #ffffff4d;position:absolute;box-shadow:0 0 0 200vmax #0a0a0c94}.perf-overlay{z-index:2;top:calc(max(.75rem, env(safe-area-inset-top)) + 4.5rem);right:max(.75rem, env(safe-area-inset-right));background:var(--glass);color:var(--text-primary);letter-spacing:.02em;pointer-events:none;border-radius:.5rem;padding:.35rem .6rem;font:600 .85rem/1.2 ui-monospace,SF Mono,monospace;position:absolute}.ik-playground{position:relative}.ik-playground__control,.ik-playground__hint{z-index:1;left:max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#17202a;background:#ffffffe0;border:1px solid #17202a2e;border-radius:.8rem;padding:.7rem .85rem;position:absolute;box-shadow:0 .4rem 1.4rem #17202a26}.ik-playground__control{top:max(1rem, env(safe-area-inset-top));gap:.35rem;font-weight:700;display:grid}.ik-playground__effector{gap:.35rem;display:grid}.ik-playground__control select{min-width:9rem;font:inherit;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;padding:.35rem}.ik-playground__toggle{cursor:pointer;align-items:center;gap:.45rem;min-height:2.75rem;font-size:.9rem;display:flex}.ik-playground__hint{bottom:max(1rem, env(safe-area-inset-bottom));margin:0;font-size:.9rem}.timeline-sampler{position:relative}.timeline-sampler__control{z-index:1;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#17202a;background:#ffffffe0;border:1px solid #17202a2e;border-radius:.8rem;align-items:center;gap:.6rem;padding:.7rem .85rem;font-weight:700;display:flex;position:absolute;box-shadow:0 .4rem 1.4rem #17202a26}.timeline-sampler__control input[type=range]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex:1;min-height:2.75rem}.timeline-sampler__time{text-align:right;font-variant-numeric:tabular-nums;min-width:3.5rem}.skeleton-shell{background:#f4f0e8;place-items:center;width:100%;height:100%;display:grid}.skeleton-view{width:min(90vw,30rem);height:min(90vh,48rem)}.skeleton-view line{stroke:#24334a;stroke-width:8px;stroke-linecap:round}.export-frames__panel{z-index:1;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#17202a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:#ffffffe6;border:1px solid #17202a2e;border-radius:.8rem;gap:.5rem;width:min(18rem,42vw);padding:.7rem .85rem;font-weight:700;display:grid;position:absolute;box-shadow:0 .4rem 1.4rem #17202a26}.export-frames__preview{background:repeating-conic-gradient(#e7edf4 0% 25%,#f7fafc 0% 50%) 50%/16px 16px;border-radius:.5rem;justify-content:center;display:flex;overflow:hidden}.export-frames__canvas{width:auto;height:40vh;max-height:22rem;display:block}.export-frames__field{gap:.3rem;font-size:.85rem;display:grid}.export-frames__field select,.export-frames__field input[type=range]{min-height:2.5rem;font:inherit}.export-frames__panel button{min-height:2.75rem;font:inherit;cursor:pointer;font-weight:700}.export-frames__status{min-height:1.2em;font-size:.8rem;font-weight:500}.export-button{z-index:1;top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));min-width:var(--export-trigger-width);border:1px solid var(--border-subtle);background:var(--glass);min-height:3.625rem;color:var(--text-primary);box-shadow:var(--shadow-overlay);-webkit-backdrop-filter:blur(.75rem);font:inherit;cursor:pointer;border-radius:.8rem;padding:.5rem 1.1rem;font-weight:700;position:absolute}.camera-corner-cluster{z-index:1;top:max(1rem, env(safe-area-inset-top));right:calc(max(1rem, env(safe-area-inset-right)) + var(--export-trigger-width) + .625rem);align-items:center;gap:.625rem;display:flex;position:absolute}.side-cluster{z-index:1;top:50%;right:max(1rem, env(safe-area-inset-right));flex-direction:column;gap:.625rem;display:flex;position:absolute;transform:translateY(-50%)}.side-tool{justify-content:flex-start;align-items:center;gap:.5rem;padding:0 .75rem;display:flex}.side-tool__label{white-space:nowrap}@media (width<=693px){.side-tool{justify-content:center;width:3rem;padding:0}.side-tool__label{display:none}}@media (width<=447px){.side-cluster{top:auto;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 10rem);transform:none}}@media (orientation:portrait){.side-cluster--world{top:auto;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 10rem);transform:none}.side-cluster--world .side-tool{justify-content:center;width:3rem;padding:0}.side-cluster--world .side-tool__label{display:none}}.top-center-cluster{top:max(1rem, env(safe-area-inset-top))}.scene-shell:has(.persistence-banner) .camera-corner-cluster{top:calc(max(1rem, env(safe-area-inset-top)) + 5.5rem);right:max(1rem, env(safe-area-inset-right))}@media (width<=1180px){.camera-corner-cluster{top:calc(max(1rem, env(safe-area-inset-top)) + 4.25rem);right:max(1rem, env(safe-area-inset-right))}.scene-shell:has(.persistence-banner) .camera-corner-cluster{flex-direction:column;align-items:flex-end}}@media (width<=819px){.scene-shell:has(.persistence-banner) .top-center-cluster{top:calc(max(1rem, env(safe-area-inset-top)) + 4.25rem)}.scene-shell:has(.persistence-banner) .camera-corner-cluster{top:auto;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 10rem)}}@media (width<=447px){.top-center-cluster{top:calc(max(1rem, env(safe-area-inset-top)) + 4.25rem)}.camera-corner-cluster{top:auto;bottom:calc(max(1rem, env(safe-area-inset-bottom)) + 10rem);flex-direction:column;align-items:flex-end}}.export-scrim{z-index:3;touch-action:none;background:#0000008c;justify-content:center;align-items:center;padding:1rem;animation:.16s ease-out overlay-fade-in;display:flex;position:absolute;inset:0}.export-sheet{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--bg-raised);width:min(24rem,100%);box-shadow:var(--shadow-modal);gap:.75rem;padding:1.15rem;animation:.2s cubic-bezier(.2,.9,.3,1.1) sheet-pop-in;display:grid}.export-sheet__title{color:var(--text-primary);margin:0;font-size:1.05rem;font-weight:800}.export-sheet__ready{gap:.25rem;display:grid}.export-sheet__aspects{gap:.5rem;display:flex}.export-sheet__aspect{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--bg-elevated);min-height:3.25rem;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;flex:1;gap:.15rem;padding:.5rem .25rem;font:600 .85rem/1.2 system-ui,sans-serif;display:grid}.export-sheet__aspect--selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 2px 12px var(--accent-glow)}.export-sheet__actions{justify-content:flex-end;gap:.5rem;display:flex}.export-sheet__button{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--bg-elevated);min-height:2.75rem;color:var(--text-primary);cursor:pointer;touch-action:manipulation;padding:.5rem 1.1rem;font:700 .9rem/1 system-ui,sans-serif}.export-sheet__button--primary{border-color:var(--accent);background:var(--accent);color:var(--on-accent);box-shadow:0 2px 12px var(--accent-glow)}.export-sheet__button:disabled{cursor:default;opacity:.4}.export-sheet__progress{gap:.5rem;display:grid}.export-sheet__progress-track{background:var(--bg-well);border-radius:.3rem;height:.6rem;overflow:hidden}.export-sheet__progress-fill{border-radius:inherit;background:var(--accent);height:100%;box-shadow:0 0 8px var(--accent-glow);transition:width .12s linear}.export-sheet__progress-label,.export-sheet__message{color:var(--text-primary);margin:0;font-size:.95rem;font-weight:700}.export-sheet__note{color:var(--text-muted);margin:0;font-size:.85rem}.gallery{width:100%;height:100%;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));background:var(--bg-app);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-content:start;gap:1.1rem;display:grid;overflow-y:auto}.gallery::-webkit-scrollbar{width:10px}.gallery::-webkit-scrollbar-thumb{border:2px solid var(--bg-app);background:#ffffff1f;border-radius:5px}.gallery::-webkit-scrollbar-track{background:0 0}.gallery__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.gallery__heading{gap:.15rem;display:grid}.gallery__brand{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font:700 .8rem/1 system-ui,sans-serif}.gallery__title{color:var(--text-primary);margin:0;font:800 1.45rem/1.2 system-ui,sans-serif}.gallery__empty{border:1px dashed var(--border-strong);border-radius:var(--radius-panel);background:#ffffff08;justify-items:start;gap:.9rem;padding:1.75rem;display:grid}.gallery__invitation{color:var(--text-secondary);margin:0;font:600 1rem/1.4 system-ui,sans-serif}.gallery__item{align-content:start;gap:.4rem;animation:.22s ease-out backwards card-rise-in;display:grid}.gallery__card-actions{flex-wrap:wrap;gap:.4rem;display:flex}.gallery__scrim{z-index:5;touch-action:none;background:#0009;justify-content:center;align-items:center;padding:1rem;animation:.16s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}.gallery__confirm{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--bg-raised);width:min(24rem,100%);box-shadow:var(--shadow-modal);gap:.7rem;padding:1.15rem;animation:.2s cubic-bezier(.2,.9,.3,1.1) sheet-pop-in;display:grid}.gallery__confirm-question{color:var(--text-primary);overflow-wrap:anywhere;margin:0;font:800 1.1rem/1.3 system-ui,sans-serif}.gallery__confirm-warning{color:var(--danger-text);margin:0;font:700 .95rem/1.4 system-ui,sans-serif}.gallery__confirm-actions{flex-wrap:wrap;gap:.5rem;display:flex}.dev-projects{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#24334a;background:#f2f5f9;align-content:start;gap:.9rem;min-height:100dvh;padding:1rem;font:500 .9rem/1.4 system-ui,sans-serif;display:grid;overflow:auto}.dev-projects h1{margin:0;font-size:1.1rem}.dev-projects__actions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.dev-projects__actions button{min-height:2.75rem;font:inherit;cursor:pointer;padding:0 .8rem;font-weight:700}.dev-projects__field{gap:.2rem;font-size:.8rem;display:grid}.dev-projects__field input{min-height:2.75rem;font:inherit;padding:0 .5rem}.dev-projects__list{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.dev-projects__list button{width:100%;min-height:2.75rem;font:inherit;text-align:left;cursor:pointer;justify-content:space-between;gap:1rem;padding:0 .6rem;display:flex}.dev-projects__list button[data-selected=true]{outline:2px solid #3194ff}.dev-projects__name{font-weight:700}.dev-projects__error{color:#b02a37;overflow-wrap:anywhere;min-height:1.2em;font-weight:700}.dev-projects__document{background:#e8edf3;border-radius:.5rem;max-height:40dvh;margin:0;padding:.6rem;font-size:.75rem;overflow:auto}
