:root{--dark-matter: rgba(30, 30, 30, 1);--border-color: rgba(30, 30, 30, .1);--desktop-header-height: 79px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}h1,h2,h3,h4,h5,h6,p{margin:0;font-weight:400;font-size:14px}ul{margin:0;padding:0;list-style:none}a{color:currentColor;text-decoration:none}button{cursor:pointer}img{display:block}input,textarea,button,label{display:block;padding:0;margin:0;font-weight:inherit;letter-spacing:.04em;font-size:12px;line-height:1.5}*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Aboreto;src:url(/portfolio/jewerly-configurator/assets/Aboreto-Regular.subset-BH9LvNmy.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:SF Pro;src:url(/portfolio/jewerly-configurator/assets/SFProText-Regular.subset-ksu38KfV.woff2) format("woff2");font-weight:400;font-display:swap;font-style:normal}@font-face{font-family:SF Pro;src:url(/portfolio/jewerly-configurator/assets/SFProText-Medium.subset-Bg4A_ji8.woff2) format("woff2");font-weight:500;font-display:swap;font-style:normal}@font-face{font-family:SF Pro;src:url(/portfolio/jewerly-configurator/assets/SFProText-Semibold.subset-Bx34SEPv.woff2) format("woff2");font-weight:600;font-display:swap;font-style:normal}body{font-family:SF Pro,sans-serif;height:100vh;color:var(--dark-matter)}#root{height:100%}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;border:0;padding:0;white-space:nowrap;clip-path:inset(100%);clip:rect(0 0 0 0);overflow:hidden}header{width:100%;padding:18px 0 14px;position:relative;display:flex;justify-content:space-between}.headerContainer{display:flex;align-items:center;max-width:1440px;padding:0 32px}.headerViewerTop{max-width:1440px;padding:0 32px}header:before{content:"";position:absolute;background:#1e1e1e1a;left:0;bottom:0;height:1px;width:100%}.backLink{cursor:pointer}.headerContainer .headerText:first-child{margin-left:0}.headerText{width:100%;margin-left:24px;font-weight:500;font-size:24px;line-height:28.8px}.mainContainer{display:flex;gap:14px;justify-content:center;padding:0 32px}.section{padding-top:24px}.viewerSection{display:flex;flex-direction:column;width:100%;align-items:center;flex:1 1 0;min-width:0;max-width:100%}.viewerSection__top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:640px;flex-wrap:wrap}.wrapperPrice{padding:10px 22px;display:flex;gap:8px;border:1px solid var(--border-color);border-radius:8px}.configViewPrice{display:flex;gap:16px;margin-top:24px;margin-bottom:20px}.textPrice{font-weight:400;font-size:20px;line-height:24px}.priceValue{font-weight:600}.webgl{margin:0 7px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;min-height:350px}.webgl canvas{height:450px}.productInfo{width:468px;flex:0 1 468px;max-width:100%;min-width:0;box-sizing:border-box}.productName{font-family:Aboreto,serif;font-weight:400;font-size:48px;line-height:57.6px;margin-bottom:12px}.description{font-size:16px;line-height:1.45}.productEnvironment{text-transform:uppercase}.productInfo{margin-bottom:24px}.productMaterial{text-transform:uppercase}.colorMaterial{font-weight:600}.selectMaterialTitle{margin-top:16px}.partColourHint{margin:4px 0 0;font-size:13px;line-height:1.4;color:#666;text-transform:none;overflow-wrap:anywhere}.materialSelectionBlock{display:flex;gap:24px;overflow-x:auto;overflow-y:visible;padding:8px 20px;margin-left:-16px;margin-right:-16px;-webkit-overflow-scrolling:touch}.selectMaterial{width:100%;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:10px 40px 10px 16px;font-size:14px;font-weight:500;cursor:pointer;outline:none;transition:all .2s ease;box-shadow:0 2px 8px #00000026;appearance:none;background-repeat:no-repeat;background-position:right 12px center}.selectMaterial:hover{background:#fff;transform:scale(1.02)}.selectMaterial:active{transform:scale(.99)}.materialSelectionBlock::-webkit-scrollbar{height:4px}.materialSelectionBlock::-webkit-scrollbar-track{background:transparent}.materialSelectionBlock::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.matSelected:before{position:absolute;content:"";width:96px;height:96px;top:-2px;left:-2px;border:2px solid rgba(206,201,186,1);border-radius:50%}.materialCircle{border-radius:50%;width:80px;height:80px;cursor:pointer}.selectContainer{margin-top:24px}.selectContainer h2{text-transform:uppercase;margin-bottom:10px}.selectionBlock{display:flex;background:#f5f3ed;padding:4px;gap:4px;border-radius:12px}.paveMaterialControlsWrap{margin-top:16px}.paveControlsToggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;font-size:.95rem;font-weight:500;color:#000000d9;background:#f5f3ed;border:1px solid rgba(0,0,0,.1);border-radius:8px;cursor:pointer;transition:background .2s,border-color .2s}.paveControlsToggle:hover{background:#ebe8e0;border-color:#00000026}.paveControlsChevron{display:inline-block;font-size:.7rem;transition:transform .2s}.paveControlsChevron.isOpen{transform:rotate(180deg)}.paveMaterialControls{margin-top:12px}.paveMaterialControls h3{font-size:.95rem;margin-bottom:10px;text-transform:uppercase;letter-spacing:.02em}.paveMaterialControls .selectionBlock{flex-direction:column;align-items:stretch}.paveControlRow{display:flex;flex-direction:column;gap:4px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06)}.paveControlRow:last-of-type{border-bottom:none}.paveControlRow span{font-size:.85rem;color:#000000bf}.paveControlRow input[type=range]{width:100%;accent-color:#c9a227}.paveControlRow input[type=color]{width:100%;height:32px;padding:2px;border:1px solid rgba(0,0,0,.1);border-radius:6px;cursor:pointer}.stoneLabelWrapper,.labelWrapper{height:44px;flex-basis:calc((100% - 4px) / 3);display:flex;justify-content:center;align-items:center;cursor:pointer}.stoneSelected,.selected{background-color:#fff;border-radius:8px;position:relative;filter:drop-shadow(0px 1px 1px rgba(0,0,0,.05))}.stoneSelected:before,.selected:before{position:absolute;content:"";height:44px;width:100%;border:1px solid rgba(30,30,30,.1);border-radius:8px}.stoneSelected .stoneName,.selected :is(.withDiamondText,.ringPosText){opacity:1}.stoneName,.withDiamondText,.ringPosText{font-size:16px;font-weight:500;opacity:.7;text-align:center}.labelWrapper{flex-basis:calc((100% - 4px)/2)}.mainStoneCheckboxBlock{display:flex;flex-direction:column;margin:16px 0;background:#f5f3ed;border-radius:12px;padding:4px;gap:4px}.mainStoneCheckboxBlockScrollable{max-height:156px;overflow-y:auto;overflow-x:hidden;clip-path:inset(0 round 12px)}.mainStoneCheckboxBlockScrollable::-webkit-scrollbar{width:6px}.mainStoneCheckboxBlockScrollable::-webkit-scrollbar-track{background:transparent}.mainStoneCheckboxBlockScrollable::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.mainStoneCheckboxBlockScrollable::-webkit-scrollbar-thumb:hover{background:#0000004d}.mainStoneEmptyMessage{margin:16px 0;color:#7d7c78;font-size:14px}.mainStoneCheckboxLabel{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f5f3ed;border-radius:8px;cursor:pointer;transition:all .2s ease;height:44px;width:100%;box-sizing:border-box;position:relative;border:1px solid transparent}.mainStoneCheckboxLabel:hover{background:#fff}.mainStoneSelected{background-color:#fff;border:1px solid rgba(30,30,30,.1);filter:drop-shadow(0px 1px 1px rgba(0,0,0,.05))}.mainStoneCheckboxText{font-size:16px;font-weight:500;color:#7d7c78;-webkit-user-select:none;user-select:none;flex:1}.mainStoneSelected .mainStoneCheckboxText{color:#4c4c4c}.mainStoneCheckboxLabel:before{content:"";width:20px;height:20px;min-width:20px;min-height:20px;border:2px solid rgba(30,30,30,.3);border-radius:4px;background:#fff;transition:all .2s ease;display:block;flex-shrink:0}.mainStoneCheckboxLabel:active{border:1px solid rgba(30,30,30,.1)}.mainStoneSelected:before{background:#272727;border-color:#272727}.mainStoneCheckboxIcon{position:absolute;left:18px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;pointer-events:none;z-index:1}.partRoles .mainStoneCheckboxBlock{margin-top:8px}.partRoleLocked{cursor:default;opacity:.7}.partRoleBadge{font-size:12px;line-height:1;padding:4px 8px;border-radius:999px;background:#1e1e1e0f;color:#7d7c78;white-space:nowrap;-webkit-user-select:none;user-select:none}.partRoleBadgeReassigned{background:#d6aa482e;color:#6b4f12}.section.productInfo{padding-bottom:32px}.productInfo-buttons{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.sceneLightingControls{margin-top:24px}.sceneLightingControls h2{margin-bottom:4px;text-transform:uppercase}.sceneLightingControls-grid{padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:12px}.sceneLightingControlRow{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center}.sceneLightingControlLabel{font-size:14px;font-weight:500;color:#202020}.sceneLightingControlRow input[type=range]{grid-column:1 / 2;width:100%;height:3px;-webkit-appearance:none;appearance:none;background:#202020;border-radius:4px;cursor:pointer}.sceneLightingControlRow input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;border-radius:50%;border:3px solid rgba(32,32,32,1);background:#fff;cursor:pointer}.sceneLightingControlRow input[type=range]::-moz-range-thumb{width:15px;height:15px;border-radius:50%;border:3px solid rgba(32,32,32,.1);background:#fff;cursor:pointer}.sceneLightingControlValue{grid-column:2 / 3;grid-row:1 / 3;min-width:48px;text-align:right;font-size:14px;font-weight:500;color:#202020cc}.shareLinkButton{height:52px;padding:0 24px;background:transparent;border:1px solid rgba(39,39,39,.5);border-radius:8px;font-size:16px;font-weight:500;color:#272727;cursor:pointer}.shareLinkButton:hover:not(:disabled){background:#2727270f;border-color:#272727cc}.shareLinkButton:disabled{opacity:.6;cursor:not-allowed}.downloadImageButton{width:52px;height:52px;padding:10px;background:transparent;border:1px solid rgba(39,39,39,.5);border-radius:8px;color:#272727;display:flex;align-items:center;justify-content:center;cursor:pointer}.downloadImageButton:hover:not(:disabled){background:#2727270f;border-color:#272727cc}.downloadImageButton:disabled{opacity:.6;cursor:not-allowed}.addButton{width:252px;height:52px;background:#272727;background:linear-gradient(180deg,#272727,#000,#272727);box-shadow:0 1px 1px #1f1f1f17,0 1px 1px #1f1f1f0d,0 2px 1px #1f1f1f03,0 3px 1px #1f1f1f00,inset 0 0 0 2px #ffffff26;border-radius:8px;z-index:0;position:relative;display:flex;justify-content:center;align-items:center;gap:12px;font-size:16px;font-weight:500;color:#fff}.addButton:before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,#151515,#202020);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1}@media(max-width:1023px){.viewerSection{max-width:640px}header{padding:14px 0 12px}.headerContainer{min-width:0;padding:0 16px}.headerText{margin-left:16px;font-size:20px;line-height:24px}.headerViewerTop{flex-shrink:0;margin-top:10px;padding:0 16px 0 0}.viewerSection__top{justify-content:flex-start}.section{padding-top:20px}.mainContainer{flex-direction:column;max-width:600px;margin:auto}.productInfo{width:100%;min-width:0;max-width:100%;padding-left:24px;padding-right:24px;box-sizing:border-box}.viewerSection{padding-bottom:16px}}@media(min-width:1024px){.mainContainer{width:100%;min-height:calc(100vh - 80px);flex-wrap:wrap;align-items:flex-start;box-sizing:border-box;gap:24px}#root{height:auto;min-height:100%}header{box-sizing:border-box;min-height:var(--desktop-header-height);position:sticky;top:0;z-index:20;background:#fff}.viewerSection{position:sticky;top:var(--desktop-header-height);z-index:21}.viewerFrame:not(.viewerFrame--fullscreen):not(.viewerFrame--embedded){height:calc(100dvh - var(--desktop-header-height) - 24px - 32px)}.section.productInfo{margin-bottom:0}}@media(min-width:1350px){.mainContainer{gap:48px;padding:0 48px}.headerContainer,.headerViewerTop{padding:0 48px}}.generationPanel{margin-top:24px;padding:16px;border:1px solid var(--border-color);border-radius:12px;background:#ffffffeb;box-shadow:0 8px 24px #00000014}.generationHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.generationTitle{margin:0 0 4px;font-size:20px;font-weight:600}.generationSubtitle{margin:0;font-size:13px;color:#666}.generationGrid{display:flex;flex-direction:column;gap:24px}.generationCard{border:1px solid var(--border-color);border-radius:10px;padding:12px;background:#fff;display:flex;flex-direction:column;gap:8px}.generationCardHeader{display:flex;justify-content:space-between;align-items:center;gap:12px}.generationStatus{font-size:12px;color:#555}.generationLabel{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.generationTextarea{width:100%;padding:8px 10px;border:1px solid var(--border-color);border-radius:8px;resize:vertical;font-size:14px}.generationActionsRow{display:flex;align-items:center;justify-content:space-between;gap:8px}.generationAction{background:#111;color:#fff;border:none;padding:10px 14px;border-radius:8px;cursor:pointer;font-size:13px}.generationAction.secondary{background:#3b3b3b}.generationAction.ghost{background:transparent;color:#111;border:1px solid var(--border-color)}.generationAction:disabled{opacity:.6;cursor:not-allowed}.generationUploadRow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.generationUploadInput{display:none}.generationPreview{margin-top:4px}.generationPreview img{width:100%;max-height:220px;object-fit:cover;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.generationMeta{font-size:12px;color:#555}.generationLimit{font-size:12px;color:#a33843;margin:0}.generationError{font-size:12px;color:#b00020;margin:0}.generationTimestamps{display:flex;flex-direction:column;gap:4px;font-size:11px;color:#666}.generationAssets{display:flex;gap:10px;margin-top:6px}.generationAsset{display:flex;flex-direction:column;gap:6px}.generationAsset img,.generationAsset video{width:100%;border-radius:8px;border:1px solid rgba(0,0,0,.08)}.generationLink{font-size:12px;color:#1b4dd9;text-decoration:none}@media(max-width:900px){.generationGrid{grid-template-columns:1fr}}.modelPicker{margin-top:16px}.modelCard{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border:1px solid var(--border-color);border-radius:12px;background:#fff}.modelCard-media{position:relative;display:block;flex-shrink:0}.modelCard-thumb{display:block;width:64px;height:64px;flex-shrink:0;object-fit:cover;border-radius:8px;background:#f0f0f0}.modelCard-text{flex:1 1 auto;min-width:0}.modelCard-name{font-size:16px;font-weight:500;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modelCard-caption{margin-top:2px;font-size:12px;opacity:.6}.modelCard-change{flex-shrink:0;padding:8px 16px;border:1px solid var(--dark-matter);border-radius:8px;background:#fff;color:var(--dark-matter);font-size:14px;font-weight:500}.modelCard-change:hover{background:var(--dark-matter);color:#fff}.modelCard-change:focus-visible{outline:2px solid var(--dark-matter);outline-offset:2px}.modelGallery-backdrop{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:16px;background:#0006}.modelGallery{width:min(720px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box;padding:20px;border-radius:12px;background:#fff;box-shadow:0 8px 32px #0003}.modelGallery:focus{outline:none}.modelGallery-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modelGallery-title{font-size:18px;font-weight:500;text-transform:uppercase}.modelGallery-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;font-size:24px;line-height:1;color:var(--dark-matter)}.modelGallery-close:hover{background:#0000000f}.modelGallery-close:focus-visible{outline:2px solid var(--dark-matter);outline-offset:2px}.modelGallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.modelGallery-tile{aspect-ratio:1}@media(max-width:1023px){.modelGallery-backdrop{align-items:flex-end;padding:0}.modelGallery{width:100%;max-height:85vh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation:modelGallerySheetIn .22s ease-out}.modelGallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes modelGallerySheetIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.modelGallery{animation:none}}.viewerFrame{height:calc(100dvh - 125px)}.viewerFrame--embedded{height:100dvh}.viewerFrame--fullscreen{height:100vh}.viewerFullscreenButton{width:40px;height:40px}.viewerResetButton{top:60px;padding:8px 16px;font-size:14px}@media(max-width:1023px){.viewerSection{position:sticky;top:0;z-index:5;background:#fff;padding-top:8px;padding-bottom:8px}.viewerFrame:not(.viewerFrame--fullscreen):not(.viewerFrame--embedded){height:45dvh}.modelCard{gap:10px}.modelCard-change{padding:8px 12px}.productInfo .productInfo{padding-left:0;padding-right:0}.productName{font-size:clamp(28px,9vw,40px);line-height:1.15;min-width:0}.modelCard-name{font-size:14px;white-space:normal;text-overflow:clip;overflow:visible;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2}.viewerFullscreenButton{width:32px;height:32px}.viewerResetButton{top:50px;height:32px;padding:0 12px;font-size:12px}}.paveGroups .mainStoneCheckboxBlock{margin-top:8px}.paveGroupRow .mainStoneCheckboxText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paveGroupMixed:before{background:#7d7c78;border-color:#7d7c78}.stoneTypePicker{margin-bottom:16px}.stoneTypeSwatches{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px;padding:4px}.productEnvironment .lightingTitle{text-transform:none}.stoneTypeSwatchesCompact{gap:10px;margin:0;padding:8px 16px 10px 48px}.stoneTypeSwatch{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid rgba(30,30,30,.15);background:radial-gradient(circle at 35% 30%,#ffffff 0%,var(--swatch) 55%);box-shadow:0 0 0 3px transparent;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.stoneTypeSwatchesCompact .stoneTypeSwatch{width:26px;height:26px}.stoneTypeSwatch:hover{transform:scale(1.08)}.stoneTypeSwatchSelected{box-shadow:0 0 0 2px #fff,0 0 0 4px #272727}.stoneTypeSwatch:focus-visible,.stoneTypeDot:focus-visible{outline:2px solid rgba(39,39,39,1);outline-offset:2px}.paveGroupItem{display:flex;flex-direction:column}.stoneTypeDot{flex-shrink:0;width:18px;height:18px;padding:0;border-radius:50%;border:1px solid rgba(30,30,30,.2);background:radial-gradient(circle at 35% 30%,#ffffff 0%,var(--swatch) 60%);cursor:pointer}.stoneTypeDotMixed{background:linear-gradient(135deg,#eef1f4 50%,#9a9994 50%)}.paveCustomiseButton{flex-shrink:0;width:24px;height:24px;padding:0;margin-right:-6px;border:0;border-radius:6px;background:transparent;color:#4c4c4c;cursor:pointer;display:flex;align-items:center;justify-content:center}.paveCustomiseButton svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease}.paveCustomiseButton:hover{background:#1e1e1e0f}.paveCustomiseButtonOpen svg{transform:rotate(180deg)}.paveCustomiseButton[aria-disabled=true]{color:#1e1e1e40;cursor:not-allowed}.paveCustomiseButton[aria-disabled=true]:hover{background:transparent}.paveCustomiseButton:focus-visible{outline:2px solid rgba(39,39,39,1);outline-offset:1px}.paveStoneList{margin:4px 0 4px 24px;padding:4px;background:#ece9e1}.paveStoneList.mainStoneCheckboxBlockScrollable{max-height:264px}.paveStoneItem{display:flex;flex-direction:column}.paveStoneRow{height:36px;padding:8px 10px;gap:10px}.paveStoneRow:before{width:16px;height:16px;min-width:16px;min-height:16px}.paveStoneRow .mainStoneCheckboxText{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.paveStoneRow .mainStoneCheckboxIcon{left:11px;width:16px;height:16px;font-size:11px}.paveStoneItem .stoneTypeSwatchesCompact{padding-left:36px}.paveShapeChips{display:flex;align-items:center;gap:6px;padding:2px 12px 6px 53px;cursor:default}.paveShapeChip{height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(30,30,30,.12);background:#ffffffb3;color:#4c4c4c;font-size:12px;cursor:pointer}.paveShapeChip:hover{background:#fff}.paveShapeChipSelected{background:#fff;border-color:#272727;color:#1e1e1e}.paveShapeChip:focus-visible{outline:2px solid rgba(39,39,39,1);outline-offset:1px}@media(max-width:480px){.paveGroupRow{gap:8px;padding:12px 10px}.paveGroupRow .mainStoneCheckboxIcon{left:12px}.paveStoneList{margin-left:8px}.paveShapeChips{padding-left:43px}.paveStoneItem .stoneTypeSwatchesCompact{gap:8px;padding-left:12px;padding-right:4px}}.stoneTypeDotNone{background:#d9d7d1;border-color:#1e1e1e1f;cursor:not-allowed}.toast{position:fixed;top:20px;right:20px;min-width:300px;max-width:400px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:16px;z-index:10001;display:flex;align-items:flex-start;gap:12px;opacity:0;transform:translate(100%);transition:opacity .3s ease,transform .3s ease}.toast-enter{opacity:1;transform:translate(0)}.toast-exit{opacity:0;transform:translate(100%)}.toast-content{flex:1}.toast-title{font-weight:600;font-size:14px;color:#1f2937;margin-bottom:4px}.toast-message{font-size:13px;color:#6b7280;line-height:1.5}.toast-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s ease;flex-shrink:0}.toast-close:hover{color:#374151}.viewerLoading,.viewerLoading-veil{position:absolute;inset:0;pointer-events:none}.viewerLoading-veil{z-index:9996;background:#f0f0f0}.viewerLoading{z-index:9998;display:flex;align-items:center;justify-content:center;opacity:1;animation:viewerLoadingIn .2s ease-out;transition:opacity .2s ease-out}.viewerLoading--leaving{opacity:0}.viewerLoading-track{position:absolute;top:0;left:0;right:0;height:3px;overflow:hidden;background:#1f1f1f14}.viewerLoading-bar{width:100%;height:100%;background:var(--dark-matter, #1f1f1f);transform-origin:left center;transition:transform .3s ease-out}.viewerLoading-sheen{position:absolute;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,#1f1f1f00,#1f1f1f73,#1f1f1f00);animation:viewerLoadingSheen 1.2s ease-in-out infinite}@keyframes viewerLoadingSheen{0%{transform:translate(-100%)}to{transform:translate(340%)}}.viewerLoading-pill{display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:8px 14px;border-radius:999px;background:#ffffffeb;box-shadow:0 2px 10px #0000001f;color:#1f1f1f;font-size:13px;font-weight:500;line-height:1.2;letter-spacing:.02em;white-space:nowrap}.viewerLoading-spinner{flex:none;width:14px;height:14px;border-radius:50%;border:2px solid rgba(31,31,31,.18);border-top-color:#1f1f1fe0;animation:viewerLoadingSpin .8s linear infinite}@keyframes viewerLoadingIn{0%{opacity:0}to{opacity:1}}@keyframes viewerLoadingSpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.viewerLoading,.viewerLoading-bar{animation:none;transition:none}.viewerLoading-spinner{animation-duration:2s}.viewerLoading-sheen{animation-duration:3s}}.viewerPoster{position:absolute;inset:0;z-index:9997;overflow:hidden;pointer-events:none;opacity:1;transition:opacity .45s ease-out}.viewerPoster--leaving{opacity:0}.viewerPoster-image{position:absolute;top:0;left:50%;height:100%;width:auto;aspect-ratio:1 / 1;transform:translate(-50%);filter:blur(1.5px) saturate(.9);animation:viewerPosterIn .25s ease-out}@keyframes viewerPosterIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.viewerPoster,.viewerPoster-image{transition:none;animation:none}}.accordion{display:flex;flex-direction:column;gap:1px;border-radius:8px;overflow:hidden}.accordion-item{border-bottom:1px solid var(--border-color)}.accordion-item:last-child{border-bottom:none}.accordion-trigger{padding:18px 16px;width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;cursor:pointer;text-align:left;font-size:14px;font-weight:500;color:var(--dark-matter);transition:background-color .2s ease;text-transform:uppercase}.accordion-trigger:hover{background-color:#00000005}.accordion-trigger:focus-visible{outline:2px solid rgba(0,0,0,.2);outline-offset:-2px}.accordion-title{flex:1}.accordion-icon{width:16px;height:16px;flex-shrink:0;transition:transform .2s ease;color:#0009}.accordion-icon-open{transform:rotate(180deg)}.accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}.accordion-content-open{max-height:1000px}.accordion-content-inner{font-size:14px;line-height:1.5;color:#000000b3;padding:12px 0}.accordion-content-inner .selectContainer{margin-top:0}.accordion-content-inner .selectContainer h2{display:none}.accordion-content-inner .selectContainer h2.mainStoneTitle{display:block;margin-top:10px}.thumbTile{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--border-color);border-radius:10px;background:#f0f0f0;cursor:pointer;-webkit-tap-highlight-color:transparent}.thumbTile--selected{border:2px solid var(--dark-matter)}.thumbTile:focus-visible{outline:2px solid var(--dark-matter);outline-offset:2px}.thumbTile-image{width:100%;height:100%;object-fit:cover;pointer-events:none}.thumbTile-caption{position:absolute;left:0;right:0;bottom:0;padding:4px 6px;background:#ffffffdb;color:var(--dark-matter);font-size:12px;line-height:1.3;font-weight:500;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transform:translateY(100%);transition:transform .15s ease-out}.thumbTile:hover .thumbTile-caption,.thumbTile:focus-visible .thumbTile-caption,.thumbTile--selected .thumbTile-caption,.thumbTile--captioned .thumbTile-caption{transform:translateY(0)}@media(hover:none){.thumbTile-caption{padding:2px 4px;font-size:10px;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.thumbTile-caption{transition:none}}.thumbTile-busy{position:absolute;top:5px;right:5px;width:18px;height:18px;box-sizing:border-box;border-radius:50%;background:#ffffffeb;box-shadow:0 1px 4px #0000002e;opacity:0;animation:thumbTileBusyIn .15s ease-out .15s forwards;pointer-events:none}.thumbTile-busy:after{content:"";position:absolute;inset:3px;border-radius:50%;border:2px solid rgba(31,31,31,.18);border-top-color:var(--dark-matter);animation:thumbTileBusySpin .8s linear infinite}@keyframes thumbTileBusyIn{to{opacity:1}}@keyframes thumbTileBusySpin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.thumbTile-busy:after{animation-duration:2s}}.thumbStrip{position:relative}.thumbStrip:after{content:"";position:absolute;top:0;right:0;bottom:0;width:40px;background:linear-gradient(to right,#fff0,#fff);pointer-events:none;opacity:0;transition:opacity .15s ease-out}.thumbStrip--more:after{opacity:1}.thumbStrip:before{content:"";position:absolute;top:0;left:0;bottom:0;z-index:1;width:40px;background:linear-gradient(to left,#fff0,#fff);pointer-events:none;opacity:0;transition:opacity .15s ease-out}.thumbStrip--less:before{opacity:1}.thumbStrip-arrow{position:absolute;top:50%;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0 0 2px;border:1px solid var(--border-color);border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000001f;color:var(--dark-matter);font-size:20px;line-height:1;cursor:pointer;transform:translateY(-50%)}.thumbStrip-arrow[hidden]{display:none}.thumbStrip-arrow--left{left:4px}.thumbStrip-arrow--right{right:4px}.thumbStrip-arrow:hover{background:#f4f4f4}.thumbStrip-arrow:focus-visible{outline:2px solid var(--dark-matter);outline-offset:2px}@media(hover:none){.thumbStrip-arrow{display:none}}.thumbStrip-track{display:flex;gap:8px;padding:2px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.thumbStrip-track::-webkit-scrollbar{display:none}.thumbStrip .thumbStrip-tile:focus-visible{outline-offset:-2px}.thumbStrip-tile{flex:0 0 96px;width:96px;height:64px}@media(max-width:1023px){.thumbStrip-tile{flex-basis:88px;width:88px;height:60px}}.matLabelWrapper{width:96px;height:110px;padding:8px;position:relative}.hdrPreviewWrapper{padding:10px;border-radius:50%;width:80px;height:80px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hdrPreviewImage{width:100%;height:100%;object-fit:cover}.recommendedLabel{margin:2px 0 0;text-align:center;font-size:11px;line-height:1.2;color:#9a9994;font-weight:400;text-transform:none}.hdrPreviewIcon{display:flex;width:100%;height:100%;color:#000}.hdrPreviewIcon svg{width:100%;height:100%}.matLabelWrapperCaptioned{height:auto}.optionCaption{margin:12px 0 0;text-align:center;font-size:13px;line-height:1.2;color:#4c4c4c;text-transform:none}.uploadModelsBtn__input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.uploadModelsBtn__button{padding:12px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--background-color, #fff);color:var(--text-color, #1a1a1a);font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s,background .2s}.uploadModelsBtn__button:hover{border-color:var(--border-color-hover, #999);background:var(--background-hover, #f5f5f5)}.shareLinkModal-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10002;padding:16px}.shareLinkModal{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;min-width:320px;max-width:420px}.shareLinkModal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(0,0,0,.08)}.shareLinkModal-title{margin:0;font-size:18px;font-weight:600;color:#1f2937}.shareLinkModal-close{width:32px;height:32px;border:none;background:transparent;font-size:24px;line-height:1;color:#6b7280;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;padding:0}.shareLinkModal-close:hover{background:#0000000f;color:#1f2937}.shareLinkModal-body{padding:20px}.shareLinkModal-linkRow{display:flex;gap:8px;margin-bottom:20px}.shareLinkModal-input{flex:1;padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;color:#374151;background:#f9fafb}.shareLinkModal-copyBtn{padding:10px 16px;border:none;border-radius:8px;background:#272727;color:#fff;font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap}.shareLinkModal-copyBtn:hover{background:#1f1f1f}.shareLinkModal-messengersLabel{margin:0 0 12px;font-size:13px;color:#6b7280}.shareLinkModal-messengers{display:flex;gap:12px;flex-wrap:wrap}.shareLinkModal-messengerBtn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:14px;color:#374151;cursor:pointer}.shareLinkModal-messengerBtn:hover{background:#f9fafb;border-color:#d1d5db}.shareLinkModal-messengerBtn svg{flex-shrink:0}
