:root{--color-bg:#12151a;--color-panel:#1a1e24;--color-panel-border:#262b33;--color-panel-raised:#21262e;--color-text:#e8eaed;--color-text-dim:#9aa1ab;--color-text-faint:#5a6270;--color-accent:#f5a623;--color-accent-contrast:#12151a;--color-disabled:#3a3f47;--color-disabled-text:#5a6270;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:3px;--radius-md:6px;--header-height:60px;--filter-bar-height:76px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font:inherit}.icon-nav{align-items:center;gap:4px;display:flex}.icon-nav__button{color:#131e2a;cursor:pointer;background:#fff;border:none;border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:background-color .15s,color .15s;display:flex;box-shadow:0 1px 3px #0000002e,0 1px 2px #0000001a}.icon-nav__button svg{--icon-box:26;--icon-stroke:1.2;width:calc(var(--icon-box) * 1px);height:calc(var(--icon-box) * 1px);overflow:visible}.icon-nav__button:last-child svg{--icon-box:28}.icon-nav__button svg *{stroke-width:calc(var(--icon-stroke) * var(--icon-extent) / var(--icon-box) * 1px)}.icon-nav__button:hover{background:#dcdcdc}.icon-nav__button[data-selected=true]{color:#fff;background:#14477b}.icon-nav__button[data-selected=true]:hover{background:#123f6c}.icon-nav__button:focus-visible{outline-offset:2px;outline:2px solid #14477b}@media (width<=640px){.icon-nav{gap:6px}.icon-nav__button{width:46px;height:46px}}.category-filter-bar{background:#0b1e3c;border-radius:999px;align-items:center;gap:8px;width:100%;padding:8px;display:flex;box-shadow:0 10px 28px #0006,0 2px 8px #0000004d}.category-filter-bar__heading{display:none}.category-filter-bar__chip{min-width:0;font-family:var(--font-sans);color:var(--cat-text);background:var(--cat-color);cursor:pointer;border:none;border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;padding:12px 8px;font-size:14px;font-weight:500;transition:filter .15s,background-color .15s,color .15s;display:flex;position:relative}.category-filter-bar__swatch{background:#ffffff80;border-radius:50%;width:20px;height:20px;position:absolute;left:10px}.category-filter-bar__label{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 44px);overflow:hidden}.category-filter-bar__chip:hover:not(:disabled){filter:brightness(1.08)}.category-filter-bar__chip[data-active=false]{color:#ffffffbf;background:0 0;box-shadow:inset 0 0 0 1px #ffffff40}.category-filter-bar__chip[data-active=false] .category-filter-bar__swatch{background:var(--cat-color)}.category-filter-bar__chip[data-active=false]:hover:not(:disabled){color:#fff;filter:none;background:#ffffff14}.category-filter-bar__chip:disabled{cursor:not-allowed;color:#ffffff4d;background:0 0;box-shadow:inset 0 0 0 1px #ffffff1a}.category-filter-bar__chip:disabled .category-filter-bar__swatch{background:#ffffff26}.category-filter-bar__chip:focus-visible{outline-offset:2px;outline:2px solid #fff}.category-filter-bar__reset{min-width:0;font-family:var(--font-sans);color:#0b1e3c;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:none;border-radius:999px;flex:1 1 0;padding:12px 8px;font-size:14px;font-weight:500;transition:background-color .15s;overflow:hidden}.category-filter-bar__reset:hover{background:#e4e4e4}.category-filter-bar__reset:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=900px) and (height>=480px){.category-filter-bar{width:100%;height:100%;box-shadow:none;border-radius:0;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;align-content:end;gap:16px;padding:12px;display:grid}.category-filter-bar__heading{letter-spacing:.01em;color:#fff;grid-column:1/-1;justify-content:center;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;display:flex}.category-filter-bar__heading svg{flex:none;width:22px;height:22px}.category-filter-bar__chip{flex:none;justify-content:flex-start;min-height:44px;padding:6px 10px 6px 32px;font-size:13px}.category-filter-bar__swatch{width:15px;height:15px;left:11px}.category-filter-bar__label{max-width:100%}.category-filter-bar__reset{flex:none;grid-column:1/-1;min-height:44px;padding:6px 10px;font-size:13px}}@media (width<=640px) and (height>=480px){.category-filter-bar{grid-template-columns:1fr 1fr}}.scene-view{--max-scale-x:1.2;--max-scale-y:1.2;--anchor-x:.5;--anchor-y:.5;width:100%;height:100%;position:relative;overflow:hidden;container-type:size}.scene-view__frame{left:calc(var(--anchor-x) * 100%);top:calc(var(--anchor-y) * 100%);transform:translate(calc(var(--anchor-x) * -100%), calc(var(--anchor-y) * -100%));aspect-ratio:var(--ar);width:min(max(100cqw, calc(100cqh * var(--ar))), calc(100cqw * var(--max-scale-x)), calc(100cqh * var(--max-scale-y) * var(--ar)));position:absolute}@media (width<=900px) and (height>=480px){.scene-view{height:calc(100vw * var(--band-crop-x) / var(--ar));flex:0 auto}}.scene-view__image{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.scene-view__video{object-fit:cover;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.scene-view__video--overlay{z-index:1;background:#fff;position:absolute;inset:0}.scene-view__video--outro{z-index:2}.scene-view__video[data-hidden=true]{opacity:0}.scene-view__hotspot{transition:opacity .25s}.scene-view:not([data-settled=true]) .scene-view__hotspot{opacity:0;pointer-events:none}.scene-view__hotspot{cursor:pointer;z-index:2;background:0 0;border:none;padding:6px;display:block;position:absolute;transform:translate(-50%,-50%)}.scene-view__hotspot-marker{width:16px;height:16px;display:block;position:relative}.scene-view__hotspot-dot{z-index:1;background:var(--cat-color,var(--color-accent));width:16px;height:16px;box-shadow:0 0 0 2px var(--cat-color,var(--color-accent));border:2px solid #12151ad9;border-radius:50%;transition:transform .15s;display:block;position:relative}.scene-view__hotspot-marker:before,.scene-view__hotspot-marker:after{content:"";border:2px solid var(--cat-color,var(--color-accent));border-radius:50%;animation:2s ease-out infinite hotspot-pulse;position:absolute;inset:0}.scene-view__hotspot-marker:after{animation-delay:1s}.scene-view__hotspot:hover .scene-view__hotspot-dot,.scene-view__hotspot[data-selected=true] .scene-view__hotspot-dot{transform:scale(1.25)}.scene-view__hotspot[data-selected=true] .scene-view__hotspot-marker:before,.scene-view__hotspot[data-selected=true] .scene-view__hotspot-marker:after{border-width:3px}.scene-view__hotspot-label{font-family:var(--font-sans);color:var(--color-text);border:1px solid var(--cat-color,var(--color-accent));border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;background:#12151ad9;padding:3px 8px;font-size:12px;font-weight:600;transition:opacity .15s,transform .15s;position:absolute;top:50%;left:100%;transform:translate(-4px,-50%)}.scene-view__hotspot:hover .scene-view__hotspot-label,.scene-view__hotspot[data-selected=true] .scene-view__hotspot-label{opacity:1;transform:translateY(-50%)}@keyframes hotspot-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}.info-panel{background:var(--color-panel);border-left:1px solid var(--color-panel-border);z-index:10;width:min(360px,90vw);padding:24px 22px;animation:.18s ease-out info-panel-slide-in;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 32px #00000059}@keyframes info-panel-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.info-panel__close{width:28px;height:28px;color:var(--color-text-dim);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:20px;line-height:1;display:flex;position:absolute;top:16px;right:16px}.info-panel__close:hover{color:var(--color-text);background:var(--color-panel-raised)}.info-panel__tag{font-family:var(--font-sans);letter-spacing:.04em;text-transform:uppercase;color:var(--cat-color);background:color-mix(in srgb, var(--cat-color) 16%, transparent);border:1px solid var(--cat-color);border-radius:var(--radius-sm);margin-bottom:12px;margin-right:32px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.info-panel__title{font-family:var(--font-sans);color:var(--color-text);margin:0 0 12px;font-size:20px;font-weight:700}.info-panel__description{font-family:var(--font-sans);color:var(--color-text-dim);margin:0;font-size:14px;line-height:1.55}.info-panel__section{border-top:1px solid var(--color-panel-border);margin-top:22px;padding-top:16px}.info-panel__section-title{font-family:var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);margin:0 0 10px;font-size:11px;font-weight:700}.info-panel__related-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.info-panel__related-item{width:100%;font-family:var(--font-sans);color:var(--color-text);background:var(--color-panel-raised);border:1px solid var(--color-panel-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:8px;transition:border-color .15s;display:flex}.info-panel__related-item:hover{border-color:var(--color-accent)}.info-panel__related-thumb{background:var(--color-panel);border-radius:4px;flex:none;width:92px;position:relative;overflow:hidden}.info-panel__related-thumb-img{object-fit:cover;width:100%;height:100%;display:block}.info-panel__related-thumb-dot{background:var(--dot-color,var(--color-accent));width:9px;height:9px;box-shadow:0 0 0 1.5px var(--dot-color,var(--color-accent));border:1.5px solid #12151ae6;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.info-panel__related-text{flex-direction:column;gap:4px;min-width:0;display:flex}.info-panel__related-label{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.info-panel__related-sublabel{letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-faint);font-size:11px;font-weight:600}@media (width<=900px) and (orientation:portrait){.info-panel{border-left:none;border-top:1px solid var(--color-panel-border);width:auto;max-height:60%;padding:20px 18px calc(20px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:.18s ease-out info-panel-slide-up;inset:auto 0 0;box-shadow:0 -12px 32px #00000059}}@keyframes info-panel-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.loading-screen{z-index:100;background:linear-gradient(120deg,#e2e2e2 0%,#f5f5f5 25%,#fff 50%,#f5f5f5 75%,#e2e2e2 100%) 0 0/300% 300%;flex-direction:column;justify-content:center;align-items:center;transition:opacity .5s;animation:3.5s ease-in-out infinite loading-screen-shimmer;display:flex;position:fixed;inset:0}.loading-screen[data-visible=false]{opacity:0;pointer-events:none}.loading-screen__logo{width:min(320px,50vw);height:auto;animation:2.2s ease-in-out infinite loading-screen-pulse}.loading-screen__progress{background:#0000002e;border-radius:999px;width:min(320px,50vw);height:3px;margin-top:28px;overflow:hidden}.loading-screen__progress-fill{border-radius:inherit;background:var(--color-accent,#f5a623);height:100%;transition:width .3s}.loading-screen__progress-fill[data-indeterminate=true]{width:40%;animation:1.4s ease-in-out infinite loading-screen-indeterminate}@keyframes loading-screen-indeterminate{0%{transform:translate(-110%)}to{transform:translate(260%)}}@keyframes loading-screen-shimmer{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes loading-screen-pulse{0%,to{opacity:1}50%{opacity:.75}}@media (prefers-reduced-motion:reduce){.loading-screen{background-position:50%;animation:none}.loading-screen__logo{animation:none}.loading-screen__progress-fill{transition:none}.loading-screen__progress-fill[data-indeterminate=true]{opacity:.35;width:100%;animation:none}}.media-preloader{opacity:0;pointer-events:none;z-index:-1;width:1px;height:1px;position:fixed;top:0;left:0;overflow:hidden}.media-preloader video{width:1px;height:1px}.app{background:#fff;flex-direction:column;height:100dvh;display:flex}.app__header{height:var(--header-height);background:#f2f2f2;border-bottom:1px solid #dcdcdc;flex:none;justify-content:space-between;align-items:center;gap:24px;padding:0 20px;display:flex}.app__logo{flex:none;width:auto;height:28px}.app__main{background:#fff;flex:1;min-height:0;position:relative}.app__footer{z-index:5;width:100%;max-width:calc(100% - 48px);position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=640px){:root{--header-height:104px}.app__header{flex-direction:column;justify-content:center;gap:10px;padding:8px 12px}.app__logo{height:32px;padding:4px 0}.app__footer{max-width:calc(100% - 24px);bottom:16px}}@media (width<=900px) and (height>=480px){.app__main{flex-direction:column;display:flex}.app__footer{flex:1 0 auto;max-width:none;min-height:0;display:flex;position:static;bottom:auto;left:auto;transform:none}}.editor{background:var(--color-bg,#12151a);height:100vh;color:var(--color-text,#e8eaed);font-family:var(--font-sans,system-ui, sans-serif);grid-template-rows:auto 1fr;grid-template-columns:1fr 280px;display:grid}.editor__toolbar{background:var(--color-panel,#1a1e24);border-bottom:1px solid #ffffff14;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:16px;padding:10px 16px;display:flex}.editor__scenes,.editor__categories,.editor__actions{flex-wrap:wrap;gap:6px;display:flex}.editor__scene-btn,.editor__cat-btn,.editor__actions button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:6px 10px;font-size:12px}.editor__scene-btn[data-active=true]{color:#12151a;background:#f5a623;border-color:#f5a623;font-weight:600}.editor__cat-btn{border-color:var(--cat-color,currentColor);opacity:.45}.editor__cat-btn[data-active=true]{opacity:1;background:var(--cat-color);color:#12151a;font-weight:600}.editor__actions button{color:#12151a;background:#f5a623;border-color:#f5a623;font-weight:600}.editor__export{background:#0e1013;border-bottom:1px solid #ffffff14;grid-column:1/-1;padding:10px 16px}.editor__export p{opacity:.8;margin:0 0 6px;font-size:12px}.editor__export textarea{width:100%;height:90px;color:inherit;resize:vertical;background:#ffffff0a;border:1px solid #ffffff26;border-radius:6px;padding:8px;font-family:ui-monospace,monospace;font-size:11px}.editor__export button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:6px;margin-top:6px;padding:5px 10px;font-size:12px}.editor__stage{justify-content:center;align-items:center;padding:16px;display:flex;overflow:hidden;container-type:size}.editor__frame{aspect-ratio:var(--ar);width:min(100cqw, calc(100cqh * var(--ar)));background:#000;position:relative}.editor__video{object-fit:contain;width:100%;height:100%;display:block}.editor__dot{cursor:grab;z-index:1;background:0 0;border:none;padding:4px;display:block;position:absolute;transform:translate(-50%,-50%)}.editor__dot:active{cursor:grabbing}.editor__dot[data-selected=true]{z-index:2}.editor__dot-mark{background:var(--cat-color,#f5a623);width:14px;height:14px;box-shadow:0 0 0 2px var(--cat-color,#f5a623);border:2px solid #12151a;border-radius:50%;display:block}.editor__dot[data-selected=true] .editor__dot-mark{box-shadow:0 0 0 2px var(--cat-color,#f5a623), 0 0 0 5px #ffffff80}.editor__dot-label{white-space:nowrap;border:1px solid var(--cat-color,#f5a623);pointer-events:none;background:#12151ad9;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:600;position:absolute;top:50%;left:100%;transform:translateY(-50%)}.editor__sidebar{background:var(--color-panel,#1a1e24);border-left:1px solid #ffffff14;padding:16px;overflow-y:auto}.editor__sidebar h2{margin:0 0 4px;font-size:16px}.editor__hint{opacity:.7;margin:0 0 12px;font-size:12px}.editor__row{cursor:pointer;border-radius:6px;grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;padding:6px 4px;font-size:12px;display:grid}.editor__row[data-selected=true]{background:#f5a62326}.editor__row-swatch{border-radius:50%;flex:none;width:10px;height:10px}.editor__row-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.editor__row label{opacity:.7;align-items:center;gap:3px;font-size:10px;display:flex}.editor__row input{width:48px;font:inherit;color:inherit;background:#ffffff0f;border:1px solid #ffffff26;border-radius:4px;padding:2px 4px;font-size:11px}
