html,body.visual-room-page{margin:0;padding:0;min-height:0}
.visual-room-page .visual-canvas-page{background:transparent}
.visual-room-page .visual-canvas-page::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--room-canvas-background);opacity:var(--room-canvas-opacity);visibility:var(--room-canvas-visibility);pointer-events:none}
.visual-room-top-actions{position:fixed;right:16px;top:16px;z-index:30001;display:flex;align-items:center;gap:10px}
.visual-room-page .visual-room-icon-action{position:relative;display:grid;place-items:center;box-sizing:border-box;width:48px;height:48px;padding:10px;border:0;background:transparent;box-shadow:none;color:var(--room-button-ink);text-decoration:none;cursor:pointer}
.visual-room-icon{display:block;width:28px;height:28px;flex:none;background:currentColor;mask-size:contain;mask-position:center;mask-repeat:no-repeat;-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat}
.visual-room-icon-corridor{mask-image:url("icons/corridor.b5fb546e819d.svg");-webkit-mask-image:url("icons/corridor.b5fb546e819d.svg")}
.visual-room-icon-editor{mask-image:url("icons/editor.55d2dfda8d8b.svg");-webkit-mask-image:url("icons/editor.55d2dfda8d8b.svg")}
.visual-room-icon-action::after{content:attr(data-tooltip);position:absolute;right:0;top:calc(100% + 8px);padding:5px 8px;white-space:nowrap;font:13px/1.4 var(--room-font-ui);color:var(--room-ink);background:var(--room-surface);border:1px solid var(--room-line);visibility:hidden;pointer-events:none}
.visual-room-icon-action:hover::after,.visual-room-icon-action:focus-visible::after{visibility:visible}
.visual-room-icon-action:focus-visible{outline:2px solid var(--room-focus);outline-offset:2px}
.visual-room-top-actions{gap:4px}
.visual-room-page .visual-room-icon-action{width:36px;height:36px;padding:7px}
.visual-room-icon{width:22px;height:22px}
.visual-room-tools-frame{position:fixed;left:16px;bottom:16px;width:116px;height:68px;border:0;background:transparent;z-index:25000;color-scheme:normal}
.visual-room-tools-body{margin:0;padding:0;background:transparent;font-family:var(--room-font-ui);color:var(--room-button-ink)}
.visual-room-library-actions{position:absolute;left:0;bottom:0;display:flex;gap:4px}
.visual-room-tools-body .visual-room-icon-action{position:relative;display:grid;place-items:center;width:36px;height:36px;box-sizing:border-box;padding:7px;border:0;background:transparent;color:var(--room-button-ink);text-decoration:none}
.visual-room-icon-text-library{mask-image:url("icons/text-library.cef10ed57e00.svg?v=rounded-v2");-webkit-mask-image:url("icons/text-library.cef10ed57e00.svg?v=rounded-v2")}
.visual-room-icon-image-library{mask-image:url("icons/image-library.1739f73ecb4e.svg?v=rounded-v2");-webkit-mask-image:url("icons/image-library.1739f73ecb4e.svg?v=rounded-v2")}
.visual-room-icon-settings{mask-image:url("icons/settings.582ebc473568.svg?v=rounded-v2");-webkit-mask-image:url("icons/settings.582ebc473568.svg?v=rounded-v2")}
.visual-room-library-actions .visual-room-icon-action::after{right:auto;left:0;top:auto;bottom:calc(100% + 4px);font-size:12px;padding:2px 4px}
@media(max-width:800px),(hover:none) and (pointer:coarse){
 .visual-room-page .visual-room-icon-action{width:44px;height:44px;padding:11px}
 .visual-room-tools-frame{width:140px;height:76px}
}
@media(min-width:130px){.visual-room-tools-body .visual-room-icon-action{width:44px;height:44px;padding:11px}}
.visual-room-icon-home{mask-image:url("icons/room.e2e910f8aba6.svg");-webkit-mask-image:url("icons/room.e2e910f8aba6.svg")}
iframe.public-corner-navigation{position:fixed;top:16px;right:16px;z-index:30001;width:76px!important;max-width:none!important;height:82px!important;border:0;background:transparent}
.public-corner-body .visual-room-library-actions{left:auto;right:0;top:0;bottom:auto}
.public-corner-body .visual-room-icon-action::after{left:auto;right:2px;top:calc(100% + 4px);bottom:auto}
iframe.public-follow-frame{position:fixed;top:auto;left:auto;right:16px;bottom:16px;transform:none;z-index:30001;width:160px;height:52px;border:0;background:transparent}
.visual-public-text-page iframe.public-follow-frame--text{width:240px;left:auto}
@media(max-width:800px),(hover:none) and (pointer:coarse){.visual-room-page iframe.public-follow-frame{bottom:70px}}
@media(max-width:800px),(hover:none) and (pointer:coarse){iframe.public-corner-navigation{width:92px!important}}
@media(min-width:90px){.public-corner-body .visual-room-icon-action{width:44px;height:44px;padding:11px}}
