.xxiiiRoomEditor{--re-bg:#101c22;--re-panel:#121f26;--re-line:#293b42;--re-muted:#92a8ae;--re-accent:#9cf5cb;position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;color:#e9f4f0;background:var(--re-bg);box-sizing:border-box;overflow:hidden;font:13px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
.xxiiiRoomEditor *{box-sizing:border-box}.xxiiiRoomEditor [hidden]{display:none!important}.xxiiiRoomEditor[open]{display:flex;flex-direction:column}.xxiiiRoomEditor::backdrop{background:#000}.xxiiiRoomEditor h2,.xxiiiRoomEditor h3,.xxiiiRoomEditor p{margin:0}.xxiiiRoomEditor button,.xxiiiRoomEditor input,.xxiiiRoomEditor select{font:inherit}.xxiiiRoomEditor button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:#1b2d35;color:#dceee7;border:1px solid #344950;border-radius:7px;min-height:38px;padding:8px 12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s;line-height:1.25}.xxiiiRoomEditor button:hover{background:#2a4148;border-color:#76968c}.xxiiiRoomEditor button:disabled{opacity:.4;cursor:default}.xxiiiRoomEditor button:focus-visible,.xxiiiRoomEditor input:focus-visible,.xxiiiRoomEditor select:focus-visible,.roomEditView:focus-visible{outline:2px solid var(--re-accent);outline-offset:-2px}.xxiiiRoomEditor button.active{color:var(--re-accent);background:#254438;border-color:#6bba95}.xxiiiRoomEditor button.roomEditPrimary{background:var(--re-accent);color:#0c3022;border-color:var(--re-accent)}.xxiiiRoomEditor button.roomEditPrimary:hover{background:#c2ffdf}.xxiiiRoomEditor input,.xxiiiRoomEditor select{border:1px solid #344950;border-radius:6px;background:#0c171d;color:#e6f2ed;min-height:38px;padding:8px 10px;min-width:0}.xxiiiRoomEditor small{font-size:10px;font-weight:600;letter-spacing:1.4px;color:var(--re-muted)}
.roomEditHeader{height:70px;flex-shrink:0;display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--re-line);padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:#101c22;z-index:10}.roomEditBrand{display:grid;grid-template-columns:48px auto;grid-template-rows:20px 16px;column-gap:12px;margin-right:18px;min-width:180px}.roomEditBrand>b{grid-row:1/3;align-self:center;font:italic 800 22px/1 system-ui;color:var(--re-accent);letter-spacing:-2px;border-right:1px solid #416052;padding-right:10px}.roomEditBrand>div{font-size:13px;font-weight:750;letter-spacing:1px}.roomEditBrand small{font-size:9px;letter-spacing:1.9px}.roomEditStatus{flex:1;font-size:11px;color:var(--re-muted);padding:0 10px}.roomEditStatus.error{color:#ffb4a7}.xxiiiRoomEditor .roomEditIcon{width:38px;min-width:38px;padding:0;font-size:22px}.roomEditWorkspace{flex:1;min-height:0;display:grid;grid-template-columns:296px minmax(0,1fr) 246px;position:relative}.roomEditLibrary{border-right:1px solid var(--re-line);display:flex;flex-direction:column;min-height:0;background:var(--re-panel);padding:22px 16px 0;overflow:hidden}.roomEditLibraryHead{margin-bottom:18px}.roomEditLibraryHead h2{font-size:23px;letter-spacing:-.6px;margin-top:3px}.roomEditSearch{width:100%;flex-shrink:0}.roomEditCategories{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:14px 0}.xxiiiRoomEditor .roomEditCategories button{font-size:10px;min-height:32px;padding:6px 4px;background:transparent;border-color:var(--re-line)}.xxiiiRoomEditor .roomEditCategories button.active{background:#294838;border-color:#577f69}.roomEditFilter{width:100%}.roomEditCount{font-size:10px;color:var(--re-muted);padding:12px 0}.roomEditCatalog{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:start;margin:0 -5px 0 0;padding:0 5px 20px 0;scrollbar-width:thin;scrollbar-color:#385650 transparent}.roomEditCard{border:1px solid #2b3d43;background:#192930;border-radius:8px;overflow:hidden;position:relative;min-width:0}.roomEditCard.selected{border-color:var(--re-accent);box-shadow:0 0 0 1px var(--re-accent)}.xxiiiRoomEditor .roomEditCardAction{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;width:100%;height:100%;border:0;border-radius:0;background:transparent;padding:0;text-align:left;gap:0}.xxiiiRoomEditor .roomEditCardAction:hover{background:#233b40}.roomEditCardMedia{width:100%;aspect-ratio:1.3;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#31434b,#1b2b33);overflow:hidden}.roomEditCardMedia img{width:100%;height:100%;object-fit:contain}.roomEditCardSymbol{font-size:34px;color:#6d8988}.roomEditCardAction>strong{font-size:11px;line-height:1.3;font-weight:600;padding:9px 9px 5px;min-height:42px;overflow-wrap:anywhere}.roomEditCardBadge{font-size:8px!important;letter-spacing:.8px!important;color:var(--re-accent)!important;padding:0 9px 10px;margin-top:auto}.roomEditCard.locked .roomEditCardBadge{color:#a6b4b9!important}.roomEditCard.locked .roomEditCardMedia{opacity:.65}.roomEditUnlock{display:block;color:#a3b4b7;font-size:9px;line-height:1.4;padding:0 9px 9px}.roomEditNoResults{grid-column:1/-1;color:var(--re-muted);padding:12px 0}
.roomEditView{position:relative;min-height:0;min-width:0;overflow:hidden;contain:layout paint;touch-action:none;background:radial-gradient(ellipse at center,#20303a,#111d25)}.roomEditView>canvas.xxiiiRoomEditorCanvas{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;display:block;z-index:0}.roomEditViewTools{position:absolute;top:18px;left:18px;display:flex;gap:3px;padding:4px;border:1px solid #3d535b;border-radius:10px;background:#14232ce8;z-index:2;box-shadow:0 5px 25px #0003}.xxiiiRoomEditor .roomEditViewTools button{font-size:11px;min-height:32px;padding:7px 10px;background:transparent;border-color:transparent}.xxiiiRoomEditor .roomEditViewTools button.active{background:#2c4c3f;color:var(--re-accent);border-color:#547460}.roomEditCameraTools{position:absolute;right:18px;bottom:20px;z-index:3;display:flex;flex-direction:column;border:1px solid #3d535b;border-radius:9px;overflow:hidden;box-shadow:0 5px 20px #0003}.xxiiiRoomEditor .roomEditCameraTools button{width:40px;height:38px;border:0;border-bottom:1px solid #3d535b;border-radius:0;background:#14232ce8;font-size:21px;padding:0}.xxiiiRoomEditor .roomEditCameraTools button:last-child{border:0;font-size:16px}.roomEditQuick,.roomEditPlacement{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:6px;padding:7px;background:#14232cf5;border:1px solid #466359;border-radius:10px;box-shadow:0 8px 35px #0005;max-width:calc(100% - 140px);white-space:nowrap}.roomEditPlacement{flex-wrap:wrap;justify-content:center;width:400px;white-space:normal}.roomEditPlacement>span{width:100%;font-size:11px;color:#b6d3c6;text-align:center;padding-bottom:3px}.roomEditPlacing .xxiiiRoomEditorCanvas{cursor:crosshair}.roomEditToast{position:absolute;z-index:4;top:80px;left:50%;transform:translateX(-50%);background:#3c3029ed;border:1px solid #ac825d;color:#ffe0b8;padding:10px 15px;border-radius:8px;font-size:12px;max-width:90%;box-shadow:0 6px 20px #0004}.roomEditInspector{border-left:1px solid var(--re-line);background:var(--re-panel);padding:24px 18px;overflow:auto;scrollbar-width:thin;display:flex;flex-direction:column;gap:16px}.roomEditEmptySelection{padding:45px 0 50px;text-align:center}.roomEditEmptySelection>span{display:block;font-size:60px;line-height:1;color:#6d988b;margin-bottom:22px}.roomEditEmptySelection h2{font-size:21px;line-height:1.3;margin-bottom:14px;letter-spacing:-.5px}.roomEditEmptySelection p{color:var(--re-muted);font-size:12px;line-height:1.8}.roomEditSelection h2{font-size:21px;letter-spacing:-.5px;line-height:1.2;margin:7px 0 8px;overflow-wrap:anywhere}.roomEditSelection>small{font-size:9px;letter-spacing:1px}.roomEditItemPreview{margin:16px 0 20px;aspect-ratio:1.6;background:radial-gradient(ellipse at center,#30444a,#182b33);border:1px solid var(--re-line);border-radius:9px;display:flex;align-items:center;justify-content:center;color:#6c9787;font-size:55px;overflow:hidden}.roomEditItemPreview img{width:100%;height:100%;object-fit:contain}.roomEditSelection h3{font-size:9px;font-weight:600;letter-spacing:1.3px;color:var(--re-muted);margin:18px 0 12px}.roomEditFields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.roomEditFields>label{font-size:10px;color:var(--re-muted);display:flex;flex-direction:column;gap:4px;min-width:0}.roomEditFields>label:last-child{grid-column:1/-1}.roomEditFields input{width:100%;font-variant-numeric:tabular-nums}.roomEditRotation{display:flex;align-items:center;justify-content:space-between;gap:5px}.xxiiiRoomEditor .roomEditRotation button{padding:7px;font-size:11px;min-height:36px}.roomEditAngle{font-size:19px;font-weight:500;color:var(--re-accent);font-variant-numeric:tabular-nums}.roomEditSelectedActions{display:flex;flex-direction:column;gap:7px;margin-top:24px}.xxiiiRoomEditor .roomEditSelectedActions button{font-size:11px}.xxiiiRoomEditor .roomEditDanger{color:#ffb4a7;background:#352727;border-color:#684a45}.roomEditCollectionInfo{margin-top:auto;padding-top:16px;border-top:1px solid var(--re-line);font-size:11px;color:var(--re-muted)}.xxiiiRoomEditor .roomEditReset{font-size:10px;color:var(--re-muted);background:transparent;min-height:32px}.roomEditFooter{display:flex;justify-content:space-between;gap:15px;align-items:center;min-height:32px;padding:7px max(18px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));border-top:1px solid var(--re-line);color:#8da7aa;font-size:10px;background:#101b21}.roomEditFooter>span:last-child{color:#b1cfbc;white-space:nowrap}.roomEditHelp{position:absolute;z-index:6;inset:16px;max-width:700px;margin:auto;max-height:calc(100% - 32px);background:#13232bf5;border:1px solid #506b68;border-radius:12px;box-shadow:0 20px 90px #000a;padding:24px;overflow:auto}.roomEditHelp h2{font-size:21px;margin-bottom:20px}.roomEditHelp>div{display:grid;grid-template-columns:1fr 1.2fr;gap:16px;padding:10px 0;border-bottom:1px solid #30464b;font-size:11px}.roomEditHelp kbd{font-family:inherit;color:var(--re-accent)}.roomEditHelp>p{font-size:11px;line-height:1.7;color:var(--re-muted);margin-top:20px}.xxiiiRoomEditor .roomEditHelpClose{position:absolute;right:12px;top:12px;padding:0;width:30px;min-height:30px;font-size:20px}.roomEditLibraryClosed .roomEditWorkspace{grid-template-columns:minmax(0,1fr) 246px}.roomEditLibraryClosed .roomEditLibrary{display:none}
.roomEditLoading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#101c22;color:#dffff1;text-align:center;padding:24px}.roomEditLoading img{width:min(260px,55vw);height:auto}.roomEditLoadTrack{width:min(300px,70vw);height:5px;background:#253a3c;border-radius:8px;overflow:hidden}.roomEditLoadTrack>div{height:100%;width:40%;background:var(--re-accent);animation:roomLoading 1.2s ease-in-out infinite alternate}@keyframes roomLoading{from{transform:translateX(-100%)}to{transform:translateX(250%)}}@media(prefers-reduced-motion:reduce){.roomEditLoadTrack>div{animation:none;width:100%;opacity:.65}.xxiiiRoomEditor button{transition:none}}
@media(max-width:1150px){.roomEditWorkspace{grid-template-columns:254px minmax(0,1fr) 220px}.roomEditLibrary{padding:18px 12px 0}.roomEditInspector{padding:20px 13px}.roomEditBrand{min-width:160px;margin-right:5px}.roomEditHeader{gap:6px;padding-left:10px;padding-right:10px}.roomEditViewTools{left:12px;right:12px;top:12px;justify-content:center}.xxiiiRoomEditor .roomEditViewTools button{padding:7px;font-size:10px}.roomEditLibraryClosed .roomEditWorkspace{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:900px){.roomEditWorkspace{grid-template-columns:230px minmax(0,1fr)}.roomEditInspector{display:none}.roomEditHasSelection .roomEditInspector{display:flex;position:absolute;right:12px;top:68px;bottom:90px;width:210px;z-index:3;border:1px solid #405b57;border-radius:9px;box-shadow:0 10px 35px #0006}.roomEditLibraryClosed .roomEditWorkspace{grid-template-columns:minmax(0,1fr)}.roomEditBrand{min-width:150px}.roomEditStatus{font-size:10px}.xxiiiRoomEditor .roomEditSave{display:none}.roomEditFooter{font-size:9px}.roomEditCameraTools{right:12px}.roomEditQuick{max-width:calc(100% - 80px);left:45%;bottom:16px}.roomEditHasSelection .roomEditItemPreview{height:85px;aspect-ratio:auto;margin:12px 0}.roomEditSelection h3{margin-top:12px}.roomEditSelectedActions{margin-top:14px}}
@media(max-width:620px){.roomEditHeader{height:60px;padding:8px;gap:5px}.roomEditBrand{min-width:0;grid-template-columns:35px auto;column-gap:8px;flex:1}.roomEditBrand>b{font-size:17px;padding-right:6px}.roomEditBrand>div{font-size:10px}.roomEditBrand small{font-size:7px}.roomEditStatus{position:absolute;bottom:34px;left:10px;right:10px;z-index:7;pointer-events:none;padding:0;color:#c5d5cd}.xxiiiRoomEditor .roomEditHeader button{min-height:34px;padding:7px;font-size:10px}.xxiiiRoomEditor .roomEditHeader .roomEditIcon{width:30px;min-width:30px;font-size:19px}.roomEditWorkspace{grid-template-columns:156px minmax(0,1fr)}.roomEditLibrary{padding:14px 8px 0}.roomEditLibraryHead{margin-bottom:10px}.roomEditLibraryHead h2{font-size:17px}.roomEditLibraryHead small{font-size:7px}.roomEditCategories{grid-template-columns:1fr 1fr;gap:3px;margin:9px 0}.xxiiiRoomEditor .roomEditCategories button{font-size:9px;padding:5px 2px;min-height:29px}.xxiiiRoomEditor .roomEditSearch,.xxiiiRoomEditor .roomEditFilter{font-size:10px;padding:7px;min-height:34px}.roomEditCatalog{grid-template-columns:1fr;gap:8px}.roomEditCount{font-size:9px}.roomEditCardMedia{aspect-ratio:1.6}.roomEditCardAction>strong{min-height:0}.roomEditViewTools{flex-wrap:wrap;gap:1px;padding:3px;left:7px;right:7px;top:7px}.xxiiiRoomEditor .roomEditViewTools button{font-size:9px;min-height:28px;padding:5px}.roomEditCameraTools{right:7px;bottom:35px}.xxiiiRoomEditor .roomEditCameraTools button{width:32px;height:32px}.roomEditQuick{left:8px;transform:none;right:48px;max-width:none;flex-wrap:wrap;bottom:35px;padding:5px;gap:4px}.xxiiiRoomEditor .roomEditQuick button{font-size:10px;padding:6px;min-height:30px;flex:1}.roomEditHasSelection .roomEditInspector{right:7px;top:84px;bottom:155px;width:180px;padding:14px 10px}.roomEditSelection h2{font-size:16px}.roomEditSelection>small{font-size:8px}.roomEditHasSelection .roomEditItemPreview{display:none}.roomEditFields{gap:6px}.xxiiiRoomEditor .roomEditFields input{font-size:11px;min-height:32px;padding:6px}.roomEditCollectionInfo{font-size:9px}.xxiiiRoomEditor .roomEditReset{font-size:9px}.roomEditPlacement{left:7px;right:47px;transform:none;width:auto;max-width:none;bottom:35px;padding:6px}.roomEditPlacement>span{font-size:9px}.roomEditPlacement button{font-size:10px;min-height:30px;padding:6px}.roomEditFooter{height:28px;min-height:28px;padding:5px 8px;font-size:8px}.roomEditFooter>span:first-child{display:none}.roomEditFooter>span:last-child{margin-left:auto}.roomEditToast{font-size:10px;top:84px;width:90%;padding:8px}.roomEditHelp{inset:6px;padding:15px}.roomEditHelp h2{font-size:17px;margin-bottom:14px}.roomEditHelp>div{grid-template-columns:1fr;gap:4px;padding:8px 0;font-size:10px}}
@media(max-height:550px) and (min-width:621px){.roomEditHeader{height:54px}.roomEditLibrary{padding-top:10px}.roomEditLibraryHead{margin-bottom:8px}.roomEditLibraryHead h2{font-size:19px}.roomEditCategories{margin:8px 0}.roomEditInspector{padding-top:12px}.roomEditItemPreview{height:70px;aspect-ratio:auto;margin:10px 0}.roomEditEmptySelection{padding:10px 0}.roomEditSelection h2{font-size:17px}.roomEditSelection h3{margin:10px 0 6px}.roomEditSelectedActions{margin-top:12px}.roomEditFooter{min-height:26px;padding-top:4px;padding-bottom:4px}}
.roomEditCatalog{flex:1;grid-auto-rows:max-content}.xxiiiRoomEditor .roomEditCardAction{height:auto}.roomEditCardMedia{flex-shrink:0}.xxiiiRoomEditor .roomEditProperties{display:none}.xxiiiRoomEditor button{margin:0}.roomEditBrand>div{white-space:nowrap}
@media(max-width:900px){.roomEditHasSelection .roomEditInspector{display:none}.roomEditHasSelection.roomEditPropertiesOpen .roomEditInspector{display:flex}.xxiiiRoomEditor .roomEditProperties{display:inline-flex}}
#xxiiiConfigView .xxiiiConfigBar{flex-wrap:wrap}#xxiiiConfigRoom{min-width:70px}#xxiiiConfigView .xxiiiConfigBar.xxiiiCustomizeBar{grid-template-columns:repeat(7,minmax(0,1fr))}@media(max-width:760px){#xxiiiConfigView .xxiiiConfigBar.xxiiiCustomizeBar{grid-template-columns:repeat(4,minmax(0,1fr))}}
