.animation-controls{z-index:10;flex-direction:column;gap:6px;display:flex;position:absolute;bottom:60px;right:16px}.anim-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#1e1e28d9;border:1px solid #ffffff26;border-radius:8px;padding:7px 14px;font-size:.78rem;font-weight:500;transition:background .2s,border-color .2s}.anim-btn:hover{background:#323246f2;border-color:#ffffff4d}.anim-btn.active{background:#ff8c32d9;border-color:#ff8c32e6}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mobile-asset-carousel{width:100%;padding:var(--spacing-md) 0;overflow:visible}.mobile-asset-carousel .swiper{width:100%;padding:40px 0;overflow:visible}.mobile-asset-carousel .swiper-wrapper{overflow:visible}.mobile-asset-carousel .swiper-slide{opacity:.5;justify-content:center;align-items:center;width:64px;height:64px;transition:transform .3s,opacity .3s;display:flex;overflow:visible}.mobile-asset-carousel .swiper-slide .carousel-item{transform:scale(.8)}.mobile-asset-carousel .swiper-slide-active{opacity:1}.carousel-item{border-radius:var(--radius-md);background:var(--background-tertiary);border:2px solid #0000;justify-content:center;align-items:center;width:64px;height:64px;transition:all .3s;display:flex;overflow:hidden}.carousel-item img{object-fit:cover;width:100%;height:100%}.carousel-item .none-icon{color:var(--text-secondary);font-size:1.5rem}.carousel-item.selected{border-color:var(--sonix-orange)}.mobile-asset-carousel .swiper-slide-active .carousel-item{z-index:10;cursor:pointer;transform:scale(1.8);box-shadow:0 8px 24px #0006}.mobile-asset-carousel .swiper-slide-active .carousel-item:not(.selected){border-color:#f38a3880;animation:1.5s ease-in-out infinite pulse-border}@keyframes pulse-border{0%,to{border-color:#f38a384d}50%{border-color:#f38a38cc}}.mobile-asset-carousel .swiper-slide-active .carousel-item.selected{border-color:var(--sonix-orange);animation:none}.mobile-asset-carousel .swiper-slide-prev .carousel-item,.mobile-asset-carousel .swiper-slide-next .carousel-item{opacity:.7;transform:scale(1)}.asset-panel{background:var(--background-secondary);border-radius:var(--radius-lg);flex-direction:column;width:420px;max-height:100%;display:flex}.asset-panel-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.asset-panel-header h3{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:500}.close-button{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:all .15s;display:flex}.close-button:hover{background:var(--background-tertiary);color:var(--text-primary)}.asset-panel-content{padding:var(--spacing-md);flex:1;padding-top:50px;padding-left:50px;padding-right:50px;overflow-y:auto}.asset-grid{gap:var(--spacing-sm);padding:var(--spacing-sm);grid-template-columns:repeat(3,1fr);margin:0;display:grid}.asset-option{aspect-ratio:1;border-radius:var(--radius-md);background:var(--background-tertiary);cursor:pointer;border:2px solid #0000;justify-content:center;align-items:center;width:68px;height:68px;transition:all .2s;display:flex;position:relative;overflow:hidden}.asset-option:hover{border-color:var(--sonix-orange);z-index:100;transform:scale(2.5);box-shadow:0 8px 24px #0006}.asset-option.selected{border-color:var(--sonix-orange)}.asset-option img{object-fit:cover;width:100%;height:100%}.asset-option .none-icon{color:var(--text-secondary);font-size:1.5rem}.sub-section{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.sub-title{color:var(--sonix-orange);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500;display:block}.color-grid{gap:var(--spacing-xs);grid-template-columns:repeat(5,1fr);display:grid}.color-grid.bg-colors{grid-template-columns:repeat(6,1fr)}.color-swatch{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;border:2px solid #0000;transition:all .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:var(--sonix-orange);box-shadow:0 0 0 2px var(--background-secondary)}.expression-sliders{padding:4px 8px 8px}.expression-sliders .slider-item{margin-bottom:4px}.expression-sliders .slider-item label{font-size:11px}.reset-button-row{margin-bottom:var(--spacing-xs);justify-content:center;display:flex}.reset-sliders-button{border:1px solid var(--sonix-orange);border-radius:var(--radius-sm);color:var(--sonix-orange);cursor:pointer;background:0 0;padding:4px 20px;font-size:.75rem;transition:all .15s}.reset-sliders-button:hover{background:var(--sonix-orange);color:#fff}.sliders-panel{gap:var(--spacing-md);flex-direction:column;display:flex}.slider-item label{color:var(--sonix-orange);margin-bottom:var(--spacing-xs);font-size:.8rem;display:block}.slider-row,.slider-container{align-items:center;gap:var(--spacing-sm);display:flex}.slider-row input[type=range],.slider-container input[type=range]{appearance:none;background:var(--background-tertiary);border-radius:2px;outline:none;flex:1;height:4px}.slider-row input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--sonix-orange);cursor:pointer;border-radius:50%;width:14px;height:14px}.slider-container input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--sonix-orange);cursor:pointer;border-radius:50%;width:14px;height:14px}.slider-value{color:var(--text-secondary);text-align:right;min-width:40px;font-size:.75rem}.hue-slider{background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)!important}.lighting-grid{gap:var(--spacing-xs);flex-direction:column;display:flex}.lighting-option{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-tertiary);color:var(--text-primary);cursor:pointer;text-align:left;font-size:.875rem;transition:all .15s}.lighting-option:hover{border-color:var(--text-secondary)}.lighting-option.selected{border-color:var(--sonix-orange);background:#f38a381a}.env-grid{gap:var(--spacing-xs);grid-template-columns:repeat(2,1fr);display:grid}.env-option{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--background-tertiary);color:var(--text-primary);cursor:pointer;text-align:center;font-size:.75rem;transition:all .15s}.env-option:hover{border-color:var(--text-secondary)}.env-option.selected{border-color:var(--sonix-orange);background:#f38a381a}.panel-with-colors{gap:var(--spacing-md);display:flex}.panel-with-colors .asset-grid{flex:1}.color-sidebar{gap:var(--spacing-sm);padding-left:var(--spacing-md);border-left:1px solid var(--border-color);flex-direction:column;display:flex}.color-sidebar .sub-title{white-space:nowrap;font-size:.7rem}.color-grid-vertical{grid-template-columns:repeat(2,1fr);gap:4px;display:grid}.color-grid-vertical .color-swatch{width:24px;height:24px}.hdri-grid{gap:var(--spacing-sm);grid-template-columns:repeat(3,1fr);display:grid}.hdri-option{border-radius:var(--radius-md);background:var(--background-tertiary);cursor:pointer;border:2px solid #0000;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:all .2s;display:flex}.hdri-option:hover{border-color:var(--sonix-orange);z-index:100;transform:scale(2);box-shadow:0 8px 24px #0006}.hdri-option.selected{border-color:var(--sonix-orange);background:#f38a381a}.hdri-option img{aspect-ratio:1;object-fit:cover;object-position:center;border-radius:var(--radius-sm);width:100%}.hdri-option .hdri-name{color:var(--text-secondary);text-align:center;font-size:.7rem}.hdri-option.selected .hdri-name{color:var(--sonix-orange)}.hdri-option .none-icon{color:var(--text-secondary);aspect-ratio:1;justify-content:center;align-items:center;width:100%;font-size:2rem;display:flex}.hdri-option.selected .none-icon{color:var(--sonix-orange)}.transparent-checkbox{cursor:pointer;align-items:center;gap:10px;padding:8px 0;display:flex}.transparent-checkbox input[type=checkbox]{appearance:none;border:2px solid var(--sonix-orange,#ff6b35);cursor:pointer;background:0 0;border-radius:3px;width:18px;height:18px;transition:background-color .15s;position:relative}.transparent-checkbox input[type=checkbox]:checked{background-color:var(--sonix-orange,#ff6b35)}.transparent-checkbox input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.transparent-checkbox .checkbox-label{color:var(--text-secondary,#aaa);-webkit-user-select:none;user-select:none;font-size:14px}.transparent-checkbox:hover .checkbox-label{color:var(--text-primary,#fff)}.sonix-collection-panel{gap:var(--spacing-sm);flex-direction:column;display:flex}.collapsible-row{border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;overflow:hidden}.row-header{width:100%;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;color:var(--sonix-orange);text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;justify-content:space-between;align-items:center;font-size:.75rem;font-weight:500;transition:all .15s;display:flex}.row-header:hover{background:var(--background-tertiary)}.collapsible-row.active .row-header{background:var(--sonix-orange);color:#fff}.collapsible-row.active .row-header:hover{background:var(--sonix-orange-hover)}.row-indicator{font-size:.6rem;transition:transform .15s}@media (width<=768px){.asset-panel{border-radius:0;flex:1;width:100%;min-height:0;max-height:none}.asset-panel-header{padding:var(--spacing-xs) var(--spacing-sm)}.asset-panel-header h3{font-size:.75rem}.asset-panel-content{padding:var(--spacing-sm);padding-top:var(--spacing-sm);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm);-webkit-overflow-scrolling:touch;overflow:hidden auto}.asset-panel{flex-direction:column;display:flex;overflow:hidden}.asset-grid{gap:var(--spacing-sm);padding:var(--spacing-sm);margin:calc(-1 * var(--spacing-sm));-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-flow:row;display:flex;overflow:auto hidden}.asset-grid::-webkit-scrollbar{display:none}.asset-option{flex-shrink:0;width:64px;min-width:64px;height:64px}.asset-option:hover{box-shadow:none;transform:none}.asset-option:active{transform:scale(.95)}.color-grid{gap:var(--spacing-xs);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;display:flex;overflow-x:auto}.color-grid::-webkit-scrollbar{display:none}.color-swatch{flex-shrink:0;width:36px;min-width:36px;height:36px}.panel-with-colors{gap:var(--spacing-sm);flex-direction:column}.color-sidebar{padding-left:0;padding-top:var(--spacing-sm);border-left:none;border-top:1px solid var(--border-color);flex-direction:row}.color-grid-vertical{gap:var(--spacing-xs);flex-direction:row;display:flex}.hdri-grid{gap:var(--spacing-sm);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;display:flex;overflow-x:auto}.hdri-grid::-webkit-scrollbar{display:none}.hdri-option{flex-shrink:0;width:64px;min-width:64px;padding:4px}.hdri-option img{aspect-ratio:1;width:100%}.hdri-option .hdri-name{display:none}.hdri-option:hover{box-shadow:none;transform:none}.slider-row,.slider-container{gap:var(--spacing-xs)}.slider-value{min-width:32px;font-size:.7rem}.lighting-grid{gap:var(--spacing-xs);-webkit-overflow-scrolling:touch;flex-flow:row;display:flex;overflow-x:auto}.lighting-grid::-webkit-scrollbar{display:none}.lighting-option{min-width:80px;padding:var(--spacing-xs) var(--spacing-sm);flex-shrink:0;font-size:.75rem}.sonix-collection-panel{gap:0}.collapsible-row{border:none;border-bottom:1px solid var(--border-color);border-radius:0}.collapsible-row:last-child{border-bottom:none}.row-header{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--background-tertiary);cursor:pointer;color:var(--sonix-orange);border:none;justify-content:space-between;align-items:center;transition:all .15s;display:flex}.row-header:hover{background:var(--background-secondary)}.collapsible-row.active .row-header{background:var(--sonix-orange);color:#fff}.row-title{text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:500}.row-indicator{font-size:.7rem}.collapsible-row .mobile-asset-carousel{padding:var(--spacing-sm) 0;background:var(--background-secondary);overflow:visible}.collapsible-row.active{overflow:visible}.background-panel-mobile{flex-direction:column;gap:0;display:flex}.background-panel-mobile .transparent-section{padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--border-color)}.background-panel-mobile .transparent-checkbox{padding:4px 0}.background-panel-mobile .transparent-checkbox .checkbox-label{font-size:.75rem}.color-carousel-item{border-radius:var(--radius-sm);border:2px solid #0000;width:100%;height:100%}.color-carousel-item.selected{border-color:var(--sonix-orange)}.mobile-brightness-slider{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--background-tertiary);display:flex}.mobile-brightness-slider .slider-label{color:var(--text-secondary);white-space:nowrap;font-size:.7rem}.mobile-brightness-slider input[type=range]{flex:1}.mobile-brightness-slider .slider-value{min-width:28px;font-size:.7rem}}.offerings-panel{flex-direction:column;gap:16px;display:flex}.offerings-panel .asset-item{background:var(--bg-secondary);border-radius:8px;width:60px;height:60px;position:relative;overflow:hidden}.offerings-panel .asset-item img{object-fit:cover;width:100%;height:100%}.offerings-panel .asset-item.locked{opacity:.7}.offerings-panel .lock-overlay{font-size:14px;position:absolute;bottom:4px;right:4px}.offerings-panel .asset-option{position:relative}.offerings-panel .asset-option:not(:has(.none-icon)):after{content:"🔒";filter:drop-shadow(0 1px 2px #00000080);font-size:12px;position:absolute;bottom:4px;right:4px}.category-bar{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--background-secondary);flex-direction:column;max-height:calc(100vh - 40px);display:flex;overflow-y:auto}.category-bar::-webkit-scrollbar{width:4px}.category-bar::-webkit-scrollbar-track{background:0 0}.category-bar::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.category-bar::-webkit-scrollbar-thumb:hover{background:#ffffff59}.category-button{border-radius:var(--radius-md);width:78px;height:78px;min-height:78px;color:var(--sonix-orange);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.category-button svg{width:73px;height:73px}.category-button:hover{background:var(--background-tertiary)}.category-button.active{background:var(--sonix-orange);color:#fff}.category-button.active:hover{background:var(--sonix-orange-hover)}.category-separator{background:#ffffff59;flex-shrink:0;width:100%;height:1px;margin:6px 0}@media (width<=768px){.category-bar{padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-xs);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:row;max-height:none;overflow:auto hidden}.category-bar::-webkit-scrollbar{display:none}.category-button{flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.category-button svg{width:28px;height:28px}.category-separator{width:1px;height:32px;margin:0 4px}}.face-analysis-trigger{background:linear-gradient(135deg, var(--sonix-orange), #e8850a);border-radius:var(--radius-md);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.face-analysis-trigger:hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 4px 12px #e8850a4d}.face-analysis-trigger:active{transform:translateY(0)}.face-modal-overlay{background:var(--background-secondary);z-index:200;flex-direction:column;width:100%;height:100vh;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.face-modal{background:var(--background-primary,#1a1a2e);width:100%;max-width:none;height:100%;max-height:none;box-shadow:none;border-right:1px solid var(--border-color);border-radius:0;animation:.2s slideInLeft;overflow-y:auto}@keyframes slideInLeft{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.face-modal-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.face-modal-header h3{color:var(--text-primary,#fff);align-items:center;gap:8px;margin:0;font-size:1.05rem;font-weight:600;display:flex}.face-modal-close{color:var(--text-secondary,#999);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;transition:all .15s}.face-modal-close:hover{color:var(--text-primary,#fff);background:#ffffff1a}.face-modal-body{padding:20px}.face-description{color:var(--text-secondary,#aaa);text-align:center;margin:0 0 20px;font-size:.85rem;line-height:1.5}.face-options{gap:12px;display:flex}.face-option-btn{background:var(--background-secondary,#252540);color:var(--text-primary,#fff);cursor:pointer;border:2px solid #ffffff0f;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:10px;padding:24px 16px;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.face-option-btn:hover{border-color:var(--sonix-orange,#f59e0b);background:#f59e0b14;transform:translateY(-2px)}.face-webcam{flex-direction:column;align-items:center;gap:16px;display:flex}.webcam-container{aspect-ratio:4/3;background:#000;border-radius:12px;width:100%;position:relative;overflow:hidden}.webcam-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.webcam-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.face-guide{aspect-ratio:3/4;border:2px dashed #ffffff4d;border-radius:50%;width:55%}.face-capture-btn{background:linear-gradient(135deg, var(--sonix-orange), #e8850a);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:12px 32px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.face-capture-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.face-analyzing{flex-direction:column;align-items:center;gap:16px;display:flex}.face-preview-img{object-fit:cover;border-radius:12px;width:100%;max-height:280px}.analyzing-indicator{color:var(--sonix-orange,#f59e0b);align-items:center;gap:10px;font-size:.9rem;font-weight:500;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.face-results{flex-direction:column;gap:16px;display:flex}.face-error{color:#ef4444;text-align:center;background:#ef44441a;border:1px solid #ef44444d;border-radius:8px;padding:12px;font-size:.85rem}.face-error p{margin:0}.face-detected h4{color:var(--text-primary,#fff);margin:0 0 12px;font-size:.9rem;font-weight:600}.detected-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.detected-item{background:var(--background-secondary,#252540);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.detected-label{color:var(--text-secondary,#aaa);min-width:36px;font-size:.8rem}.detected-color{border:2px solid #ffffff26;border-radius:50%;flex-shrink:0;width:24px;height:24px}.detected-text{color:var(--text-primary,#fff);text-transform:capitalize;font-size:.8rem}.face-result-actions{gap:10px;margin-top:4px;display:flex}.face-apply-btn{background:linear-gradient(135deg, var(--sonix-orange), #e8850a);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.face-apply-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.face-retry-btn{background:var(--background-secondary,#252540);color:var(--text-secondary,#aaa);cursor:pointer;border:1px solid #ffffff1a;border-radius:10px;padding:12px 20px;font-size:.85rem;transition:all .15s}.face-retry-btn:hover{color:var(--text-primary,#fff);border-color:#fff3}.face-cancel-btn{width:100%;color:var(--text-secondary,#aaa);cursor:pointer;background:0 0;border:1px solid #ffffff1a;border-radius:10px;margin-top:12px;padding:10px;font-size:.85rem;transition:all .15s}.face-cancel-btn:hover{color:#ff6060;border-color:#ff505066}.face-hair-select{flex-direction:column;align-items:center;gap:16px;padding:8px 0;display:flex}.hair-select-title{color:var(--text-primary,#fff);margin:0;font-size:1rem;font-weight:600}.hair-select-subtitle{color:var(--text-secondary,#aaa);margin:-8px 0 0;font-size:.8rem}.hair-select-grid{justify-content:center;gap:12px;display:flex}.hair-select-option{cursor:pointer;background:#ffffff0d;border:2px solid #ffffff1a;border-radius:12px;width:90px;height:90px;padding:0;transition:all .15s;position:relative;overflow:visible}.hair-select-option img{object-fit:cover;object-position:center top;border-radius:10px;width:100%;height:100%}.hair-select-option:hover{border-color:var(--sonix-orange);z-index:100;transform:scale(2.5);box-shadow:0 8px 24px #0009}.hair-select-option.selected{border-color:#0ff;box-shadow:0 0 12px #0ff6}.hair-badge{color:#000;white-space:nowrap;background:#0ff;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.hair-no-icon{color:var(--text-secondary,#aaa);justify-content:center;align-items:center;width:100%;height:100%;font-size:1.5rem;display:flex}@media (width<=768px){.face-modal{border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin:0}.face-options{flex-direction:column}.face-option-btn{flex-direction:row;padding:16px 20px}}.gender-selection{flex-direction:column;display:flex}.gender-cards{gap:var(--spacing-sm);display:flex}.gender-card{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--background-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;flex:1;transition:all .2s;display:flex;position:relative;overflow:hidden}.gender-card:hover{border-color:var(--sonix-orange);background:var(--sonix-light-blue)}.gender-card.selected{border-color:var(--sonix-orange);background:linear-gradient(135deg, var(--sonix-dark-blue) 0%, var(--sonix-light-blue) 100%)}.gender-card .card-icon{width:36px;height:36px;color:var(--text-secondary);transition:color .2s}.gender-card:hover .card-icon,.gender-card.selected .card-icon{color:var(--sonix-orange)}.gender-card .card-label{color:var(--text-primary);font-size:.8rem;font-weight:500}.selected-indicator{background:var(--sonix-orange);border-radius:50%;width:14px;height:14px;position:absolute;top:4px;right:4px}.selected-indicator:after{content:"✓";color:#fff;font-size:9px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gender-popup-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gender-popup{background:var(--background-secondary);border-radius:var(--radius-lg);width:90%;max-width:360px;padding:24px;animation:.2s ease-out popup-enter;box-shadow:0 20px 60px #00000080}@keyframes popup-enter{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.popup-title{text-align:center;color:var(--text-primary);text-transform:capitalize;margin:0 0 12px;font-size:1.1rem;font-weight:600}.gender-popup .popup-text{text-align:center;color:var(--text-secondary);margin-bottom:20px;font-size:.9rem}.gender-popup .popup-buttons{flex-direction:column;gap:10px;margin-bottom:12px;display:flex}.gender-popup .popup-button{border-radius:var(--radius-md);cursor:pointer;border:none;width:100%;padding:12px 16px;font-size:.9rem;font-weight:600;transition:all .2s}.gender-popup .popup-button.transfer{background:var(--sonix-orange);color:#fff}.gender-popup .popup-button.transfer:hover{background:var(--sonix-orange-hover)}.gender-popup .popup-button.fresh{background:var(--background-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.gender-popup .popup-button.fresh:hover{background:var(--sonix-light-blue);border-color:var(--sonix-orange)}.popup-cancel{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px;font-size:.85rem;transition:color .2s}.popup-cancel:hover{color:var(--text-primary)}.import-config-button{justify-content:center;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:var(--background-tertiary);border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:.8rem;transition:all .2s;display:flex}.import-config-button:hover{border-color:var(--sonix-orange);color:var(--sonix-orange);background:var(--sonix-light-blue)}.import-config-button svg{width:16px;height:16px}@media (width<=768px){.gender-selection{flex:1}.gender-cards{gap:var(--spacing-xs)}.gender-card{padding:var(--spacing-xs);gap:2px}.gender-card .card-icon{width:24px;height:24px}.gender-card .card-label{font-size:.65rem}.selected-indicator{width:10px;height:10px;top:2px;right:2px}.selected-indicator:after{font-size:7px}}.mouse-controls{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#0009;border-radius:12px;align-items:center;gap:18px;padding:9px 18px;display:flex;position:fixed;bottom:20px;right:220px}.control-item{flex-direction:column;align-items:center;gap:3px;display:flex}.control-icon{justify-content:center;align-items:center;width:36px;height:45px;display:flex;position:relative}.control-icon svg{color:#888;width:30px;height:39px}.control-icon.ctrl-combo{flex-direction:row;align-items:center;gap:5px;width:auto;display:flex}.control-icon.ctrl-combo svg{width:24px;height:33px}.ctrl-key{color:#888;background:#ffffff1a;border:1px solid #555;border-radius:4px;padding:3px 5px;font-size:12px;font-weight:600}.plus{color:#666;font-size:14px}.click-indicator{background:var(--sonix-orange);opacity:.9;border-radius:5px 5px 0 0;width:9px;height:15px;position:absolute}.click-indicator.left{top:5px;left:50%;transform:translate(-70%)}.ctrl-combo .click-indicator.left{width:8px;height:12px;position:relative;top:-12px;left:-18px}.control-label{color:#aaa;white-space:nowrap;font-size:14px}@media (width<=768px){.mouse-controls{display:none}}.save-button{border:2px solid var(--sonix-orange);border-radius:var(--radius-md);color:var(--sonix-orange);cursor:pointer;z-index:100;background:0 0;align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex;position:absolute;bottom:20px;left:20px}.save-button:hover:not(:disabled){background:#f38a381a;transform:translateY(-2px);box-shadow:0 4px 12px #f38a384d}.save-button:disabled{opacity:.5;cursor:not-allowed}.save-button.clicked{background:var(--sonix-orange);color:#fff}.save-button.has-locked{border-color:var(--text-secondary);color:var(--text-secondary);opacity:.7}.save-button.has-locked:hover:not(:disabled){background:#8080801a;box-shadow:0 4px 12px #80808033}.save-button.saving{background:var(--sonix-dark-blue);border-color:var(--sonix-dark-blue);color:#fff}.save-button svg{width:20px;height:20px}.save-button .spinner{animation:1s linear infinite spin}.screenshot-popup-overlay{z-index:1000;background:#000c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.screenshot-popup{background:var(--background-secondary);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:16px;width:90%;max-width:500px;padding:24px;display:flex}.popup-image-container{aspect-ratio:4/3;border-radius:var(--radius-md);background:var(--background-tertiary);width:100%;overflow:hidden}.popup-image-container img{object-fit:cover;width:100%;height:100%}.popup-text{color:var(--text-secondary);text-align:center;margin:0;font-size:.9rem}.popup-buttons{gap:12px;width:100%;display:flex}.popup-button{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;padding:12px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.popup-button.cancel{background:var(--background-tertiary);color:var(--text-primary)}.popup-button.cancel:hover{background:var(--border-color)}.popup-button.confirm{background:var(--sonix-orange);color:#fff}.popup-button.confirm:hover{background:var(--sonix-orange-hover)}.locked-warning-popup{max-width:400px}.popup-icon{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:8px;display:flex}.popup-icon.warning{color:var(--sonix-orange);background:#f38a3833}.popup-icon svg{width:32px;height:32px}.popup-text-sub{color:var(--text-primary);margin:0;font-size:1rem;font-weight:500}.unlock-popup{max-width:450px}.popup-buttons.vertical{flex-direction:column;gap:10px}.popup-button.option{background:var(--background-tertiary);color:var(--text-primary);text-align:left;justify-content:flex-start;align-items:center;gap:12px;padding:16px 20px;display:flex}.popup-button.option:hover{color:var(--sonix-orange);background:#f38a3826}.popup-button.option svg{flex-shrink:0;width:20px;height:20px}@media (width<=768px){.save-button{padding:8px 12px;font-size:.8rem;inset:10px 10px auto auto}.save-button svg{width:16px;height:16px}}.skin-color-picker{background:var(--background-secondary);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.skin-color-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:12px}.skin-color-swatches{flex-wrap:wrap;gap:6px;display:flex}.skin-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:28px;height:28px;transition:all .15s;box-shadow:0 1px 3px #0003}.skin-swatch:hover{transform:scale(1.1);box-shadow:0 2px 6px #0000004d}.skin-swatch.selected{border-color:var(--sonix-orange);box-shadow:0 0 0 2px var(--sonix-orange)}@media (width<=768px){.skin-color-picker{padding:var(--spacing-xs);background:0 0;gap:4px}.skin-color-label{font-size:.6rem}.skin-color-swatches{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:4px;display:flex;overflow-x:auto}.skin-color-swatches::-webkit-scrollbar{display:none}.skin-swatch{flex-shrink:0;width:22px;min-width:22px;height:22px}}.app-container{background:var(--background-primary);width:100%;height:100vh;display:flex}.ui-panel{background:var(--background-secondary);border-right:1px solid var(--border-color);flex-direction:column;height:100%;display:flex}.header-section{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.header{padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-direction:column;align-items:flex-start;gap:4px;display:flex}.header .logo{width:40px;height:40px}.logotype{width:auto;height:1.5rem}.header h1{color:var(--text-primary);margin:0;font-size:1.1rem;font-weight:500}.title-row{align-items:baseline;gap:8px;display:flex}.version{color:var(--text-secondary);font-size:.7rem;font-weight:400}.customization-area{flex:1;display:flex;overflow:hidden}.viewport-panel{background-image:url(/backgrounds/Shops.png);background-position:50%;background-repeat:no-repeat;background-size:cover;flex:1;min-width:0;position:relative;overflow:hidden}.viewport-panel.has-avatar{background:linear-gradient(135deg, var(--sonix-dark-blue) 0%, var(--background-primary) 100%)}.viewport-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.viewport-overlay p{color:#fff;-webkit-backdrop-filter:blur(10px);background:#00000080;border-radius:6px;margin-top:900px;padding:10px;font-size:2.5rem}.mobile-controls{display:none}@media (width<=768px){.app-container{flex-direction:column-reverse;height:100dvh}.ui-panel{border-right:none;border-top:1px solid var(--border-color);flex-direction:column;width:100%;height:auto;max-height:45vh;display:flex}.header-section{z-index:100;padding:var(--spacing-sm);background:0 0;border-bottom:none;position:fixed;top:0;left:0}.header{border-bottom:none;flex-direction:column;align-items:flex-start;gap:1px;padding-bottom:0}.header .logotype{height:1rem}.header h1{letter-spacing:1px;font-size:.85rem;display:block}.title-row{flex-direction:column;align-items:flex-start;gap:0;display:flex}.title-row .version{letter-spacing:.5px;color:#fff;font-size:.6rem}.header-section .gender-selection,.header-section .skin-color-picker{display:none}.customization-area{flex-direction:column;flex:1;min-height:0;overflow:hidden}.viewport-panel{flex:1;min-height:55vh;transition:min-height .3s}.app-container.selector-expanded .viewport-panel{min-height:35vh}.ui-panel{transition:max-height .3s}.app-container.selector-expanded .ui-panel{max-height:65vh}.viewport-overlay p{margin-top:0;font-size:1.2rem}.mobile-controls{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--background-tertiary);border-bottom:1px solid var(--border-color);flex-direction:row;display:flex}.mobile-controls .gender-selection{flex:1;display:flex}.mobile-controls .gender-cards{flex:1}.mobile-controls .gender-card{padding:var(--spacing-xs)}.mobile-controls .gender-card .card-icon{width:24px;height:24px}.mobile-controls .gender-card .card-label{font-size:.65rem}.mobile-controls .skin-color-picker{flex-shrink:0;display:flex}}*{box-sizing:border-box;margin:0;padding:0}:root{--sonix-orange:#f38a38;--sonix-orange-hover:#ff9a48;--sonix-dark-blue:#202942;--sonix-darker-blue:#151b2d;--sonix-light-blue:#2a3652;--background-primary:#0d1117;--background-secondary:#161b22;--background-tertiary:#21262d;--text-primary:#f0f6fc;--text-secondary:#8b949e;--border-color:#30363d;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px}html,body,#root{overscroll-behavior:none;width:100%;height:100%;overflow:hidden}.asset-panel-content,.asset-grid,.color-grid,.hdri-grid,.lighting-grid,.facial-sliders,.category-bar,.category-grid,.beard-grid,.eye-grid,.eyebrow-grid,.glasses-grid,.hair-grid,.headwear-grid,.skin-color-swatches,.face-modal{overscroll-behavior:contain}body{background-color:var(--background-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}
