.room-viz-launch{display:block;margin-top:1rem}.room-viz-launch[hidden]{display:none}.room-viz-launch__button{gap:0.6rem}.room-viz-launch__button svg{width:2rem;height:2rem;flex:none}.room-viz{--rv-fg:rgb(var(--color-foreground,18,18,18));--rv-bg:rgb(var(--color-background,255,255,255));--rv-accent:rgb(var(--color-button,18,18,18));--rv-accent-text:rgb(var(--color-button-text,255,255,255));--rv-line:rgba(var(--color-foreground,18,18,18),0.15);--rv-muted:rgba(var(--color-foreground,18,18,18),0.7);width:min(110rem,calc(100vw - 3.2rem));max-width:none;height:min(88rem,calc(100vh - 3.2rem));height:min(88rem,calc(100dvh - 3.2rem));max-height:none;padding:0;border:0;border-radius:1.2rem;background:var(--rv-bg);color:var(--rv-fg);font-size:1.5rem;line-height:1.4;overflow:hidden}.room-viz::backdrop{background:rgba(0,0,0,0.6)}.room-viz [hidden]{display:none !important}.room-viz button,.room-viz input,.room-viz a{font:inherit}.room-viz__panel{display:flex;flex-direction:column;height:100%}.room-viz__head{display:flex;align-items:flex-start;justify-content:space-between;gap:1.6rem;padding:1.4rem 2rem;border-bottom:1px solid var(--rv-line)}.room-viz__title{margin:0;font-size:1.9rem;line-height:1.2}.room-viz__product{margin:0.2rem 0 0;color:var(--rv-muted);font-size:1.35rem}.room-viz__close{flex:none;width:4rem;height:4rem;margin:-0.6rem -0.8rem 0 0;border:0;background:none;color:inherit;font-size:2.8rem;line-height:1;cursor:pointer}.room-viz__start{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.6rem;padding:3.2rem 2rem;text-align:center}.room-viz__start>p{max-width:46rem;margin:0}.room-viz__start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.room-viz__error{color:#b42318}.room-viz__fine{margin:0;color:var(--rv-muted);font-size:1.25rem}.room-viz__btn{display:inline-flex;align-items:center;justify-content:center;min-height:4.4rem;padding:0 1.8rem;border:1px solid var(--rv-fg);border-radius:var(--buttons-radius,0.4rem);background:transparent;color:var(--rv-fg);text-decoration:none;cursor:pointer;white-space:nowrap}.room-viz__btn--primary{border-color:var(--rv-accent);background:var(--rv-accent);color:var(--rv-accent-text)}.room-viz__editor{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.room-viz__hint,.room-viz__tools,.room-viz__patterns,.room-viz__foot{flex-shrink:0}.room-viz__stage{position:relative;flex:1;min-height:22rem;overflow:hidden;background:#1c1c1e;touch-action:none;user-select:none;-webkit-user-select:none}.room-viz__stage[data-mode="keep"],.room-viz__stage[data-mode="erase"]{cursor:none}.room-viz__canvas{position:absolute;display:block}.room-viz__overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.room-viz__outline polyline{fill:none;stroke:#fff;stroke-width:2;filter:drop-shadow(0 0 1.5px rgba(0,0,0,0.8))}.room-viz__outline .room-viz__front{stroke:#fff;stroke-width:1.5;stroke-dasharray:5 6;opacity:0.7}.room-viz__outline.is-faint{opacity:0.25}.room-viz__handle{fill:#fff;stroke:#1c1c1e;stroke-width:3;filter:drop-shadow(0 1px 2px rgba(0,0,0,0.6));outline:none}.room-viz__handle:focus-visible{stroke:#2f80ed;stroke-width:4}.room-viz__cursor{fill:rgba(255,255,255,0.12);stroke:#fff;stroke-width:1.5}.room-viz__status{position:absolute;left:50%;bottom:1.6rem;transform:translateX(-50%);width:max-content;max-width:calc(100% - 3.2rem);margin:0;padding:0.8rem 1.4rem;border-radius:99rem;background:rgba(0,0,0,0.72);color:#fff;font-size:1.35rem;text-align:center}.room-viz__hint{margin:0;padding:0.8rem 2rem 0;color:var(--rv-muted);font-size:1.3rem;min-height:2.6rem}.room-viz__tools,.room-viz__patterns{display:flex;flex-wrap:wrap;align-items:center;gap:0.8rem 1.4rem;padding:0.8rem 2rem 0}.room-viz__modes{display:inline-flex;border:1px solid var(--rv-line);border-radius:99rem;padding:0.3rem}.room-viz__modes button{min-height:3.6rem;padding:0 1.3rem;border:0;border-radius:99rem;background:none;color:inherit;cursor:pointer}.room-viz__modes button[aria-pressed="true"]{background:var(--rv-accent);color:var(--rv-accent-text)}.room-viz__tool{min-height:3.6rem;padding:0 1.3rem;border:1px solid var(--rv-line);border-radius:99rem;background:none;color:inherit;cursor:pointer;touch-action:none}.room-viz__tool[aria-pressed="true"]{border-color:var(--rv-fg)}.room-viz__range{display:inline-flex;align-items:center;gap:0.8rem;font-size:1.35rem}.room-viz__range input{width:12rem;accent-color:var(--rv-accent)}.room-viz__patterns>span{font-size:1.35rem;color:var(--rv-muted)}.room-viz__patterns>div{display:flex;gap:0.6rem;overflow-x:auto}.room-viz__pattern{flex:none;width:5.2rem;height:4rem;padding:0;border:2px solid transparent;border-radius:0.4rem;background:none;cursor:pointer;overflow:hidden}.room-viz__pattern img{display:block;width:100%;height:100%;object-fit:cover}.room-viz__pattern[aria-pressed="true"]{border-color:var(--rv-fg)}.room-viz__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem;margin-top:0.8rem;padding:1.2rem 2rem 1.4rem;border-top:1px solid var(--rv-line)}.room-viz__foot .room-viz__fine{flex:1 1 26rem}.room-viz__actions{display:flex;flex-wrap:wrap;gap:0.8rem}@media screen and (max-width:749px){.room-viz{width:100vw;height:100vh;height:100dvh;border-radius:0}.room-viz__head{padding:1rem 1.6rem}.room-viz__hint,.room-viz__tools,.room-viz__patterns{padding-left:1.6rem;padding-right:1.6rem}.room-viz__tools{gap:0.6rem 1rem}.room-viz__range input{width:9rem}.room-viz__foot{padding:1rem 1.6rem 1.2rem}.room-viz__foot .room-viz__fine{flex-basis:100%}.room-viz__actions{width:100%}.room-viz__actions>*{flex:1;padding:0 1rem}}