#loading{--progress:0%;position:fixed!important;inset:0!important;z-index:100000!important;transform:none!important;width:auto!important;height:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:24px;background:#bdc2cc!important;color:#17212b!important;font:14px system-ui!important;text-align:center;pointer-events:all!important;padding:32px}#loading img{width:min(180px,50vw);height:auto;mix-blend-mode:multiply}#loading .loadRing{width:98px;height:98px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4d6178 var(--progress),#ffffff55 0);position:relative}#loading .loadRing:before{content:'';position:absolute;inset:4px;border-radius:50%;background:#bdc2cc}#loading [data-load-percent]{position:relative;font-size:22px;font-variant-numeric:tabular-nums}#loading button{padding:12px 24px;border-radius:18px;border:1px solid #8994a5;background:#ffffff40;color:inherit}body:has(#loading)>header,body:has(#loading)>main{pointer-events:none!important;visibility:hidden}body:has(#loading)>dialog{visibility:hidden}dialog.graphicsDialog,dialog.installHint,dialog.onboardingDialog,dialog#arDialog,.assemblyToast{background:linear-gradient(145deg,#e5eaf04d,#9ca6b543)!important;backdrop-filter:blur(26px) saturate(150%)!important;-webkit-backdrop-filter:blur(26px) saturate(150%)!important;border:1px solid #f6f8ff80!important;border-radius:30px!important;box-shadow:inset 0 1px 1px #ffffff80,0 18px 60px #15203135!important;color:#edf3fa!important;text-shadow:0 1px 2px #0004}dialog::backdrop{background:#121c2b55!important;backdrop-filter:blur(5px)}dialog.graphicsDialog,dialog.installHint,dialog.onboardingDialog{width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:26px;font:14px system-ui}dialog h2{font-size:22px;margin:10px 0 16px}dialog p,dialog li{line-height:1.6}dialog.graphicsDialog select,dialog.graphicsDialog button,dialog.installHint button,dialog.onboardingDialog button{background:#e7efff24!important;color:#f4f7ff!important;border:1px solid #ffffff60!important;border-radius:18px!important;padding:11px 18px;font:inherit;cursor:pointer}dialog.graphicsDialog select option{background:#343e4c;color:white}.graphicsStatus{color:#e5ebf5!important}.onboardingActions{display:flex;justify-content:space-between;gap:14px;margin-top:24px}.editorHelp{background:transparent;border:1px solid currentColor;border-radius:50%;color:inherit;width:26px;height:26px;flex:none;cursor:pointer;font:14px system-ui;margin-left:4px}header{gap:8px}.graphicsButton{margin-left:auto}.assemblyToast{padding:14px 20px!important}@media(orientation:landscape) and (max-height:600px){dialog.graphicsDialog,dialog.installHint,dialog.onboardingDialog{padding:18px 24px;max-width:560px;width:calc(100vw - 70px)}dialog h2{font-size:19px;margin:6px 0 8px}.onboardingActions{margin-top:12px}}
dialog.onboardingDialog p,dialog.onboardingDialog small,dialog.installHint p,dialog.installHint li,dialog.graphicsDialog p,dialog.graphicsDialog label{color:#f7faff!important;opacity:1!important;font-weight:500;text-shadow:0 1px 3px #0008}dialog.onboardingDialog h2{color:#fff!important}

header{background:rgba(22,26,32,.86)!important;backdrop-filter:blur(24px) saturate(115%)!important;-webkit-backdrop-filter:blur(24px) saturate(115%)!important;border-bottom:1px solid #ffffff16!important;color:#e9edf3!important;box-shadow:inset 0 1px #ffffff0c;gap:12px!important}header .brand{gap:5px!important;flex:none}header .brand img{filter:invert(1)!important;mix-blend-mode:screen!important;opacity:1!important}header .brand strong{color:#b8bec7!important;letter-spacing:.06em!important}header small{color:#a2aab7!important;margin-left:auto}header [data-language-switch] button{color:#b8c0cd!important}header [data-language-switch] button.active{color:#fff!important;border-color:#fff9!important}.editorHeaderActions{display:flex;align-items:center;gap:10px;flex:none;margin-left:0}.editorHeaderActions button{display:grid;place-items:center;width:30px;height:30px;padding:3px!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:#d8dfe9!important;box-shadow:none!important;cursor:pointer;flex:none}.editorHeaderActions svg{width:24px;height:24px}.editorHeaderActions button:hover{color:white!important}@media(max-width:760px){header{padding-left:16px!important;padding-right:12px!important;gap:8px!important}.editorHeaderActions{gap:8px}.editorHeaderActions button{width:28px;height:28px}header .brand{gap:4px!important}header .brand strong{font-size:10px!important}}

.graphicsChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:18px 0}.graphicsChoices legend{margin-bottom:10px;color:#f7faff}.graphicsChoices button[aria-pressed="true"]{background:#e5efff55!important;border-color:#fff!important;box-shadow:inset 0 0 0 1px #ffffff80}.graphicsChoices button{min-height:44px}

/* Editing workflow */
#moduleSizePanel{position:fixed;z-index:80;top:calc(60px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100% - 140px);padding:16px 20px;border:1px solid #ffffff35!important;border-radius:20px!important;background:rgba(25,32,42,.9);color:#f3f7ff;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 8px 32px #0003;}
#moduleSizePanel[hidden]{display:none!important}#moduleSizePanel label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#dbe5f1}#moduleSizePanel select,#moduleSizePanel button{font-size:16px!important;color:#f5f8ff;background:#ffffff14;border:1px solid #ffffff30!important;border-radius:12px!important;padding:10px 12px;min-height:44px}#moduleSizePanel option{background:#252c36}#moduleSizePanel p{flex-basis:100%;max-width:360px;color:#f5f8ff!important;margin:0}
#elements tr[aria-selected=true]{outline:2px solid #a7dcff;outline-offset:3px;background:#72bfff30!important}#elements tr[aria-selected=true] td{background:#75bbef20!important}#elements tr[aria-selected=true] button,#elements tr[aria-selected=true] .glassSelect{font-weight:700!important;color:#fff!important}
#undo:not(:disabled),#redo:not(:disabled){color:#e5eef9!important;opacity:1!important;filter:drop-shadow(0 1px 2px #0004)}
html[lang=en] .moduleCaption{font-size:9px!important;white-space:normal!important;line-height:11px!important;text-align:center}
@media(max-width:760px),(any-pointer:coarse),(hover:none),(orientation:landscape) and (max-height:600px) and (max-width:1100px){aside input,aside select,aside .glassSelect{font-size:16px!important}#moduleSizePanel{top:calc(50px + env(safe-area-inset-top));max-width:100%;width:100%;border-radius:0 0 20px 20px!important;padding:12px;gap:8px}#moduleSizePanel strong{flex-basis:100%;text-align:center}.moduleCaption{font-size:9px!important;white-space:normal!important;line-height:11px!important}#rotateTools>button{min-width:0!important}#rotateTools .moduleCaption{max-width:100%;overflow-wrap:anywhere}.portraitSceneOptions,.portraitSceneOptions>div{scrollbar-width:none!important}.portraitSceneOptions::-webkit-scrollbar,.portraitSceneOptions>div::-webkit-scrollbar{display:none!important;width:0;height:0}}

/* Sizes replace the contents of the existing tool rail instead of floating separately. */
html body main #rotateTools.sizeEditing{display:block!important;height:auto!important;grid-auto-rows:auto!important;}
html body main #rotateTools.sizeEditing>button{display:none!important;}
html body main #rotateTools #moduleSizePanel{position:static!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end!important;gap:10px!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
html body main #rotateTools #moduleSizePanel[hidden]{display:none!important;}
#moduleSizePanel>strong,#moduleSizePanel>p{grid-column:1/-1;text-align:center;margin:0!important;}
#moduleSizePanel>label{min-width:0;width:100%;display:flex;flex-direction:column;gap:4px;}
#moduleSizePanel select,#moduleSizePanel>button{box-sizing:border-box;width:100%!important;height:44px!important;min-height:44px!important;padding:8px 12px!important;margin:0!important;border-radius:14px!important;line-height:24px!important;}
#moduleSizePanel>button{display:flex!important;align-items:center!important;justify-content:center!important;font-size:14px!important;}
@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){html body main #rotateTools.sizeEditing{width:260px!important;max-width:260px!important;height:calc(100dvh - 60px)!important;padding:24px 16px!important;}}

html body main #elements tr[aria-selected=true]{outline:none!important;box-shadow:none!important;background:#72bfff20!important;}
html body main #elements tr[aria-selected=true] td{border:0!important;outline:none!important;box-shadow:none!important;}

html body main #rotateTools #moduleSizePanel>button{color:#f7faff!important;background:#ffffff14!important;border:1px solid #ffffff35!important;box-shadow:none!important;}

.graphicsDialog form{display:flex;flex-direction:column;gap:12px}.graphicsDialog .graphicsChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.graphicsDialog button{min-width:0;white-space:normal}.graphicsDialog .soundToggle{width:100%;margin:0}.graphicsDialog form>button:last-child{margin-top:8px}

main.moduleSizeEditing>aside,main.moduleSizeEditing .menuVeil,main.moduleSizeEditing .closeWorkspace{visibility:hidden!important;opacity:0!important;pointer-events:none!important;}

/* Shared neutral selection and unobtrusive close control. */
html body main .fabricPreviewClose,html body main .fabricPreviewClose:hover{background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:0!important;box-shadow:none!important;filter:none!important;}
html body main .fabricPreviewClose::before,html body main .fabricPreviewClose::after{content:none!important;}
html body main .fabricPicker button[aria-pressed=true]{background:#ffffff26!important;border-color:#ffffffb0!important;color:#fff!important;}
html body main .elementTable tr.selected{background:#ffffff26!important;outline:0!important;box-shadow:inset 3px 0 #d3d6db!important;}
html body main #rotateTools>button.active{color:#fff!important;background:#ffffff24!important;}
html body main .swatch.active{outline-color:#f2f3f4!important;box-shadow:0 0 0 2px #34373b!important;}
@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){
 html body main.fabricPreview>aside{background:#b9bdc5f2!important;border:0!important;color:#222a36!important;}
 html body main.fabricPreview>aside section.menuPanel :is(label,.note,h3,output,h2),html body main.fabricPreview .fabricPickerHeading{color:#303640!important;text-shadow:none!important;}
 html body main>aside .fabricPicker :is(button,summary),html body main>aside .materialSamples button,html body main>aside #applyAll,html body main>aside #gloss{border-radius:0!important;border:1px solid #7d8798!important;background:#ffffff20!important;color:#243044!important;box-shadow:none!important;font:12px Arial!important;}
 html body main>aside .fabricPicker button[aria-pressed=true]{background:#313945!important;color:#fff!important;border-color:#313945!important;}
 html body main>aside .fabricPreviewClose{color:#243044!important;}
 html body main>aside .materialSamples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
 html body main>aside #tableSettings h2{font:500 12px Arial!important;letter-spacing:.06em;}
 dialog.graphicsDialog,dialog.installHint,dialog.onboardingDialog,dialog#arDialog,.assemblyToast{border-radius:0!important;background:#b9bdc5ed!important;color:#253044!important;text-shadow:none!important;}
 dialog :is(p,label,small,h2),.assemblyToast{color:#253044!important;text-shadow:none!important;}
 dialog button{border-radius:0!important;color:#253044!important;}
}
@media(max-width:760px),(any-pointer:coarse),(hover:none),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html body main.fabricPreview>aside{border-radius:32px 32px 0 0!important;background:linear-gradient(135deg,#313943e6,#222932e6)!important;}
 html body main.fabricPreview .sectionRail{translate:0 160%!important;pointer-events:none!important;}
}
@media(orientation:landscape) and (any-pointer:coarse),(orientation:landscape) and (max-height:600px) and (max-width:1100px){html body main.fabricPreview>aside{border-radius:0 32px 32px 0!important;}}
body{background:#2b2f36!important;}html{background:#2b2f36!important;}

.mobileElementsGroup{display:contents}.mobileElementsGroup>button{display:none}.mobileElementsOptions{display:contents}
@media(max-width:760px),(any-pointer:coarse),(hover:none),(orientation:landscape) and (max-height:600px) and (max-width:1100px){
 html body main #rotateTools .mobileElementsGroup{display:block;min-width:0;position:relative;grid-row:2;grid-column:3}
 html body main #rotateTools .mobileElementsGroup>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:none;color:#eef1f5;border:0;padding:3px;width:100%;height:100%;font-size:9px}
 .mobileElementsGroup>button svg{width:24px;height:24px}
 .mobileElementsOptions{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);padding:8px;gap:8px;background:#292f38f5;border:1px solid #ffffff38;border-radius:18px;z-index:100;width:250px}
 .mobileElementsGroup.open .mobileElementsOptions{display:flex}
 .mobileElementsOptions button{flex:1;min-width:0;color:#fff;background:none;border:0;padding:8px;font:10px Arial}
 .mobileElementsOptions .contextIcon{display:flex;justify-content:center}.mobileElementsOptions .moduleCaption{display:block!important}.mobileElementsOptions .contextText{display:none}
 html body main #rotateTools.sizeEditing .mobileElementsGroup{display:none!important}
}
@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){
 .mobileElementsOptions>button{width:100%;min-height:40px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:#eee;cursor:pointer}
 .mobileElementsOptions .contextIcon svg{width:20px;height:20px}.mobileElementsOptions .moduleCaption,.mobileElementsOptions .contextText{display:none}
}

.modelCatalog{display:grid;gap:16px;margin-bottom:20px}.modelCard{overflow:hidden;border:1px solid #ffffff45;background:#ffffff16;border-radius:24px;padding:16px;display:grid;gap:10px}.modelCard img{display:block;width:100%;aspect-ratio:8/5;object-fit:contain;background:#f8f8f7;border-radius:14px}.modelWordmark{font:600 28px Georgia!important;letter-spacing:.13em;margin:0!important;color:inherit!important}.model-tied{font-family:Arial!important;font-weight:800!important;letter-spacing:-.04em}.model-luxe{font-style:italic!important}.model-gala{font-weight:400!important}.model-uno{font-family:Arial!important;font-weight:300!important}.modelCard p,.modelCard small{margin:0;line-height:1.5;color:inherit!important}.modelState{font-size:11px;opacity:.75}.modelCard a{color:inherit;font-size:12px}.futureModels{display:grid;gap:16px}.futureModels>summary{padding:12px;cursor:pointer}.futureModels .modelCard{margin-top:12px}
@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){.modelCard,.modelCard img{border-radius:0}.modelCard{border-color:#8a929f;background:#ffffff20}.modelCard p,.modelCard small{color:#303943!important}}

html{height:100%;overflow:hidden;}body{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;margin:0!important;}
@media(max-width:760px),(any-pointer:coarse),(hover:none),(orientation:landscape) and (max-height:600px) and (max-width:1100px){html body main.fabricPreview .sectionRail{display:none!important;visibility:hidden!important;}}

@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){html body main #rotateTools .mobileElementsGroup>button{display:none!important}.mobileElementsOptions{display:contents!important}}

@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){
 html body main.fabricPreview #fabricSection{color:#29313c!important;}
 html body main.fabricPreview>aside section.menuPanel #applyAll{border-radius:0!important;background:#ffffff20!important;color:#26313f!important;border-color:#8a929e!important;}
 html body main.fabricPreview>aside section.menuPanel .fabricPreviewClose{color:#29313c!important;}
}

@media(min-width:761px) and (min-height:601px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)),(min-width:1101px) and (hover:hover) and (pointer:fine) and (not (any-pointer:coarse)){
 html body dialog:is(.graphicsDialog,.installHint,.onboardingDialog,#arDialog) :is(button,p,small,label,legend,li,select){color:#29323f!important;text-shadow:none!important;}
 html body dialog:is(.graphicsDialog,.installHint,.onboardingDialog,#arDialog) :is(button,select){border-radius:0!important;border-color:#858d99!important;background:#ffffff28!important;}
 html body dialog:is(.graphicsDialog,.installHint,.onboardingDialog,#arDialog) button[aria-pressed=true]{background:#343c48!important;color:#fff!important;}
}

.materialSample[data-material-value^="granite"]>span{background-size:570%!important;background-position:1.5% 1.5%!important;}
.materialSample[data-material-value^="marble"]>span{background-size:286% 500%!important;background-position:58% 95%!important;}
