:root{--bg:#1a1a1c;--surface:#16161ad1;--border:#ffffff1a;--text:#f2f0eb;--muted:#a9a6a0;--accent:#f5b301;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}[hidden]{display:none!important}#viewer{position:fixed;inset:0}#viewer canvas{touch-action:none;width:100%;height:100%;display:block}.status{z-index:50;border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border-radius:999px;max-width:min(90vw,560px);padding:.6rem 1rem;font-size:.875rem;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.status--error{border-color:#f5b30180}.loader{z-index:100;color:var(--text);background:radial-gradient(80% 60% at 50% 35%,#3c12168c,#0000 70%),linear-gradient(160deg,#121214 0%,#1a1a1c 45%,#2a1216 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.35rem;padding:1.5rem;transition:opacity .4s,visibility .4s;display:flex;position:fixed;inset:0}.loader[hidden]{display:none!important}.loader--fade{opacity:0;visibility:hidden;pointer-events:none}.loader--error .loader__progress-fill{background:#f5b301d9}.loader__brand{justify-content:center;align-items:center;display:flex}.loader__logo{object-fit:contain;filter:drop-shadow(0 0 28px #b4283259);width:min(9rem,42vw);height:auto;animation:2.4s ease-in-out infinite loader-breathe;display:block}@keyframes loader-breathe{0%,to{filter:drop-shadow(0 0 22px #b4283247);transform:scale(1)}50%{filter:drop-shadow(0 0 36px #c8323c73);transform:scale(1.04)}}.loader__meta{text-align:center;max-width:min(28rem,92vw)}.loader__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-size:.7rem;font-weight:600}.loader__title{letter-spacing:-.02em;margin:0;font-size:clamp(1.15rem,3.5vw,1.55rem);font-weight:600;line-height:1.25}.loader__subtitle{color:var(--muted);margin:.4rem 0 0;font-size:.95rem}.loader__slug{color:#a9a6a0b3;margin:.35rem 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.loader__progress{flex-direction:column;gap:.4rem;width:min(18rem,78vw);display:flex}.loader__progress-track{background:#ffffff14;border-radius:999px;height:3px;overflow:hidden}.loader__progress-fill{border-radius:inherit;background:linear-gradient(90deg,#8b1e2d,#c43a4a 55%,#e86a6a);width:0%;height:100%;transition:width .2s}.loader__progress-label{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;margin:0;font-size:.75rem}.loader__steps{flex-direction:column;gap:.45rem;width:min(18rem,78vw);margin:0;padding:0;list-style:none;display:flex}.loader__step{color:#a9a6a073;align-items:center;gap:.65rem;font-size:.8rem;transition:color .25s;display:flex}.loader__step.is-active{color:var(--text)}.loader__step.is-done{color:#a9a6a0bf}.loader__step-marker{background:0 0;border:1.5px solid #fff3;border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;transition:background .25s,border-color .25s,box-shadow .25s}.loader__step.is-active .loader__step-marker{background:#c43a4a;border-color:#c43a4a;animation:1.2s ease-in-out infinite loader-pulse;box-shadow:0 0 10px #c43a4a8c}.loader__step.is-done .loader__step-marker{background:#c43a4a99;border-color:#c43a4a99}@keyframes loader-pulse{0%,to{box-shadow:0 0 8px #c43a4a66}50%{box-shadow:0 0 14px #c43a4abf}}.stats{z-index:40;border:1px solid var(--border);border-radius:calc(var(--radius) - 4px);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;background:#0009;min-width:220px;max-width:min(320px,100vw - 1rem);max-height:calc(100dvh - 2rem);padding:.55rem .85rem .7rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;position:fixed;top:1rem;right:1rem;overflow-y:auto}.stats.is-dragging,.settings.is-dragging{-webkit-user-select:none;user-select:none;opacity:.95}.stats__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;margin:-.15rem -.25rem .45rem;padding:.25rem .25rem .4rem;display:flex}.stats__title{letter-spacing:.02em;margin:0;font-family:inherit;font-size:.8rem;font-weight:600}.stats__close{width:1.75rem;height:1.75rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.25rem;line-height:1}.stats__close:hover{color:var(--fg)}.panel-drag-handle{cursor:grab;touch-action:none}.panel-drag-handle:active{cursor:grabbing}.stats__list{grid-template-columns:auto 1fr;gap:.2rem .9rem;margin:0;display:grid}.stats__list dt{color:var(--muted)}.stats__list dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.stats__toggles{border-top:1px solid var(--border);gap:.3rem;margin-top:.6rem;padding-top:.6rem;display:grid}.stats__toggles label{cursor:pointer;align-items:center;gap:.45rem;display:flex}.stats__toggles input{accent-color:var(--accent)}.brand-watermark{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:8;visibility:hidden;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .35s,visibility .35s;display:flex;position:fixed}.brand-watermark.is-ready{visibility:visible;opacity:.72;pointer-events:auto}.brand-watermark.is-ready:hover,.brand-watermark.is-ready:focus-visible{opacity:.95;outline:none}.brand-watermark img{object-fit:contain;width:3rem;height:3rem;display:block}.toolbar{z-index:6;flex-direction:column;align-items:center;gap:.45rem;max-width:calc(100vw - 2rem);display:flex;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.toolbar__chrome{flex-direction:column;align-items:center;gap:.45rem;max-width:100%;display:flex}.toolbar__chrome[hidden]{display:none}.toolbar__toggles{align-items:center;gap:.45rem;display:flex}.toolbar__toggles[hidden]{display:none}.toolbar__bar{align-items:stretch;gap:.4rem;max-width:100%;display:flex}.toolbar__cluster{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;align-items:center;gap:.35rem;padding:.35rem;display:flex;box-shadow:0 10px 30px #00000059}.toolbar__group{align-items:center;gap:.15rem;display:flex}.toolbar__group+.toolbar__group{border-left:1px solid var(--border);padding-left:.35rem}.toolbar__button{min-width:2.25rem;min-height:2.25rem;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:.35rem;font-size:.82rem;display:inline-flex}.toolbar__button--icon{padding:.4rem}.toolbar__icon{flex-shrink:0;width:1.2rem;height:1.2rem;display:block}.toolbar__toggle{border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 8px 24px #00000059}.toolbar__button:hover:not(:disabled){background:#ffffff14}.toolbar__button.is-active,.toolbar__button[aria-pressed=true]{background:var(--accent);color:#1a1a1c;font-weight:600}.toolbar__button:disabled{opacity:.35;cursor:default}.toolbar__button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar__link{text-decoration:none}.toolbar__speed-meter{align-items:flex-end;gap:.2rem;min-height:2.2rem;padding:.15rem .35rem;display:flex}.toolbar__speed-meter.is-muted{opacity:.4}.toolbar__speed-step{width:.55rem;height:calc(.55rem + var(--speed-level,.5) * 1.15rem);cursor:pointer;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:3px;margin:0;padding:0;transition:background .12s,border-color .12s,transform .12s;display:block}.toolbar__speed-step.is-filled{background:#f5b30173;border-color:#f5b3018c}.toolbar__speed-step.is-active{background:var(--accent);border-color:var(--accent);transform:scaleY(1.08)}.toolbar__speed-step:disabled{cursor:default}.toolbar__speed-step:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar__hint{color:var(--muted);white-space:nowrap;pointer-events:none;background:#00000059;border-radius:999px;margin:0;padding:.3rem .8rem;font-size:.74rem}.mobile-controls{z-index:5;pointer-events:none;position:fixed;inset:0}.mobile-controls__pad{left:max(1rem, env(safe-area-inset-left));bottom:max(4.25rem, calc(env(safe-area-inset-bottom) + 3.75rem));border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;touch-action:none;background:#00000059;border-radius:50%;width:7.5rem;height:7.5rem;position:absolute}body.toolbar-expanded .mobile-controls__pad{bottom:max(8rem, calc(env(safe-area-inset-bottom) + 7.5rem))}.mobile-controls__stick{will-change:transform;background:#ffffff8c;border-radius:50%;width:2.75rem;height:2.75rem;margin:-1.375rem 0 0 -1.375rem;position:absolute;top:50%;left:50%;box-shadow:0 2px 8px #00000059}.mobile-controls__fly{right:max(1rem, env(safe-area-inset-right));bottom:max(4.25rem, calc(env(safe-area-inset-bottom) + 3.75rem));pointer-events:auto;flex-direction:column;gap:.5rem;display:flex;position:absolute}body.toolbar-expanded .mobile-controls__fly{bottom:max(8rem, calc(env(safe-area-inset-bottom) + 7.5rem))}.mobile-controls__fly-btn{border:1px solid var(--border);width:3rem;height:3rem;color:var(--text);font:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);touch-action:none;cursor:pointer;background:#0006;border-radius:50%;font-size:1.1rem}.mobile-controls__fly-btn:active{background:var(--accent);color:#1a1a1c}.panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(360px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1.25rem 1.25rem 1rem;animation:.18s ease-out panel-in;position:fixed;top:1rem;right:1rem;overflow-y:auto;box-shadow:0 20px 50px #00000073}@keyframes panel-in{0%{opacity:0;transform:translateY(-6px)}}.panel__close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.4rem;line-height:1;position:absolute;top:.5rem;right:.6rem}.panel__close:hover{color:var(--text);background:#ffffff14}.panel__image{border-radius:calc(var(--radius) - 6px);width:100%;margin-bottom:.9rem}.panel__title{letter-spacing:-.01em;margin:0 2rem .75rem 0;font-size:1.3rem;font-weight:600}.panel__details{grid-template-columns:auto 1fr;gap:.35rem 1rem;margin:0 0 .9rem;font-size:.9rem;display:grid}.panel__details dt{color:var(--muted)}.panel__details dd{margin:0}.panel__description{color:var(--muted);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.panel__actions{gap:.5rem;display:flex}.button{border:1px solid var(--accent);background:var(--accent);color:#1a1a1c;font:inherit;cursor:pointer;border-radius:999px;align-items:center;padding:.5rem .95rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.button--ghost{color:var(--accent);background:0 0}.settings{z-index:40;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:min(340px,100vw - 2rem);max-height:calc(100dvh - 6rem);accent-color:var(--accent);touch-action:none;padding:.9rem 1.1rem 1rem;font-size:.85rem;animation:.18s ease-out panel-in;position:fixed;top:1rem;left:1rem;overflow-y:auto;box-shadow:0 20px 50px #00000073}.settings[hidden]{display:none}.settings__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin:-.25rem -.35rem .4rem;padding:.35rem .35rem .5rem;display:flex}.settings__title{margin:0;font-size:1rem;font-weight:600}.settings__close{width:2rem;height:2rem;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:1.4rem;line-height:1}.settings__close:hover{color:var(--text);background:#ffffff14}.settings__section{border:0;border-top:1px solid var(--border);margin:.6rem 0 0;padding:.5rem 0 0}.settings__section legend{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;padding:0 .3rem 0 0;font-size:.72rem;font-weight:600}.settings__row{gap:.2rem;margin:.45rem 0;display:grid}.settings__label{justify-content:space-between;gap:.5rem;display:flex}.settings__value{color:var(--muted);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.78rem}.settings__row input[type=range]{width:100%;margin:0}.settings__toggle{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.45rem 0;display:flex}.settings__hint{color:var(--muted);flex-basis:100%;padding-left:1.6rem;font-size:.72rem}.settings__reset{margin-top:.8rem}.catalog-landing{background:radial-gradient(ellipse 80% 50% at 50% -10%, #f5b3011f, transparent 55%), var(--bg);position:fixed;inset:0;overflow:auto}.catalog{max-width:40rem;margin:0 auto;padding:3rem 1.25rem 4rem}.catalog__header{margin-bottom:2rem}.catalog__title{letter-spacing:-.02em;margin:0 0 .4rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:650}.catalog__lead{color:var(--muted);margin:0;font-size:1rem;line-height:1.45}.catalog__list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.catalog__item{margin:0}.catalog__link{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;flex-direction:column;gap:.15rem;padding:1rem 1.1rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.catalog__link:hover,.catalog__link:focus-visible{background:#16161af2;border-color:#f5b30173;outline:none}.catalog__name{font-size:1.05rem;font-weight:600}.catalog__meta{color:var(--muted);font-size:.85rem}.catalog__empty{color:var(--muted);margin:0}body:has(.panel:not([hidden])) .stats{right:calc(min(360px,100vw - 2rem) + 2rem)}@media (width<=640px){body:has(.panel:not([hidden])) .stats{right:.75rem}.settings{width:auto;max-height:60vh;top:.75rem;left:.75rem;right:.75rem}.panel{width:auto;max-height:55vh;inset:auto .75rem .75rem}.toolbar__hint{display:none}}@media (pointer:coarse),(width<=900px){.toolbar{bottom:max(.75rem, env(safe-area-inset-bottom))}.toolbar__bar{-webkit-overflow-scrolling:touch;gap:.3rem;max-width:calc(100vw - 1.5rem);overflow-x:auto}.toolbar__cluster{padding:.3rem}.toolbar__button{min-width:2.5rem;min-height:2.5rem}.toolbar__icon{width:1.3rem;height:1.3rem}.toolbar__hint{display:none}.toolbar__speed-step{width:.6rem}}
