.ar-entry{--ar-ink:var(--heading);--ar-halo:var(--uiBackground);inset:auto auto 3rem;left:max(var(--workspace-pad), env(safe-area-inset-right,0));z-index:var(--z-toolbox);width:max-content;max-width:calc(100% - 2rem);height:auto;min-height:2.75rem;box-shadow:none;color:var(--ar-ink);font:inherit;cursor:pointer;transition:transform var(--motion-fast,.16s) ease;background:0 0;border:none;border-radius:.35rem;align-items:center;gap:.6rem;padding:.15rem .2rem .15rem .05rem;display:inline-flex;position:absolute;.toolbox-camera>&{flex-shrink:0;max-width:none;position:static}&:before{display:none}& .glyph{width:2.365rem;height:2.365rem;filter:drop-shadow(0 0 .14rem var(--ar-halo)) drop-shadow(0 .06rem .16rem color-mix(in srgb, var(--ar-ink) 18%, transparent));flex-shrink:0;place-items:center;display:grid}& svg{width:100%;height:100%;display:block}& .faces{opacity:0;transition:opacity var(--motion-fast,.16s) ease}& .label{letter-spacing:.02em;text-shadow:0 0 .2rem var(--ar-halo), 0 .04rem .12rem var(--ar-halo);font-size:.78rem;font-weight:600;line-height:1.2}&:hover:not(:disabled),&:focus-visible{box-shadow:none;color:var(--ar-ink);background:0 0;& .faces{opacity:1}}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}&:active:not(:disabled){transform:scale(.97)}&:disabled{opacity:.5;cursor:default}html[data-theme=dark] &{--ar-ink:var(--background);--ar-halo:var(--heading)}html[data-shell=desktop] &{&:not([data-tablet]){display:none}}html[data-shell=smartphone] &,html[data-shell=tablet][data-shell-landscape=short] &{top:calc(max(var(--header-h), var(--header-bottom,0rem)) + .6rem);position:fixed;bottom:auto;left:50%;translate:-50%}html[data-shell=smartphone] &{--ar-ink:#1a1c1f;--ar-halo:var(--sceneBg,#d6d9dc)}html[data-shell=smartphone] main#project-page:has(canvas[data-scene-mood=evening]) &{--ar-ink:#fff}@media (prefers-reduced-motion:reduce){&,& .faces{transition:none}&:active:not(:disabled){transform:none}}}.ar-hud{--ar-surface:#282828;--ar-panel:#202020f2;--ar-highlight:#ededed;--ar-muted:#505050;--ar-border:#ffffff30;--ar-secondary:#c6c6c6;--ar-gutter:1rem;--ar-radius:1.25rem;z-index:var(--z-overlay,100120);color:#fff;color-scheme:dark;pointer-events:none;touch-action:none;font-size:1rem;line-height:1.45;display:none;position:fixed;inset:0;&[data-open]{pointer-events:auto;background:#151515f5;display:block}&[data-active]{background:0 0}& button{font:inherit;border:.0625rem solid var(--ar-border);background:var(--ar-surface);color:#fff;pointer-events:auto;cursor:pointer;min-width:3rem;min-height:3rem;transition:background var(--motion-fast,.16s) ease, border-color var(--motion-fast,.16s) ease;border-radius:.875rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;line-height:1.35;&:active:not(:disabled){border-color:var(--ar-highlight)}&:hover:not(:disabled){color:#fff;background:#383838}&:disabled{opacity:1;color:#ababab;cursor:default;background:#353535}&:disabled:hover{color:#ababab;background:#353535}&:focus-visible{outline:.2rem solid var(--ar-highlight);outline-offset:.2rem}&[aria-pressed=true],&[aria-pressed=true]:hover,&.primary:not(:disabled),&.primary:not(:disabled):hover{background:var(--ar-highlight);color:#202020}}& .capture-surface{z-index:1;touch-action:none;border:none;border-radius:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0;&,&:hover:not(:disabled),&:disabled,&:disabled:hover{box-shadow:none;background:0 0}&:focus-visible{outline-offset:-.2rem}}& .quick-look-icon{filter:invert();width:3rem;height:3rem}& .quick-look-launch{background:var(--ar-highlight);color:#202020;border-radius:.875rem;justify-content:center;align-items:center;gap:.6rem;min-height:3rem;padding:.6rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;display:flex;& img{width:1.5rem;height:1.5rem}&:after{content:attr(data-label)}&:focus-visible{outline:.2rem solid var(--ar-highlight);outline-offset:.2rem}}& header{width:auto;inset:max(var(--ar-gutter), env(safe-area-inset-top,0)) max(var(--ar-gutter), env(safe-area-inset-right,0)) auto max(var(--ar-gutter), env(safe-area-inset-left,0));z-index:4;pointer-events:none;justify-content:space-between;gap:1rem;display:flex;position:absolute;& button{background:var(--ar-panel);border-radius:50rem;box-shadow:0 .25rem 1rem #0002}}& .close{place-items:center;width:3rem;padding:.75rem;display:grid}& .close svg{width:1.5rem;height:1.5rem}& .help-toggle{align-items:center;gap:.5rem;display:inline-flex;&[aria-expanded=true]{background:var(--ar-highlight);color:#202020}& span:not(.caption),& svg{width:1.125rem;height:1.125rem;display:block}html[data-shell=smartphone] &{justify-content:center;width:3rem;padding:.75rem;& .caption{display:none}}}& .intro{pointer-events:auto;box-sizing:border-box;width:min(30rem, calc(100% - 2 * var(--ar-gutter)));text-align:center;background:var(--ar-panel);border:.0625rem solid var(--ar-border);border-radius:var(--ar-radius);touch-action:pan-y;overscroll-behavior:contain;max-height:calc(100dvh - 11rem);padding:2rem;position:absolute;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 1rem 4rem #0004;& svg{width:8rem;max-height:5.5rem;color:var(--ar-secondary)}& h2{color:inherit;text-wrap:balance;margin-block:1rem;font-size:1.5rem;line-height:1.3}& .privacy,& .detail{color:var(--ar-secondary);font-size:.8rem}& button{width:100%;margin-top:.5rem}& p{margin-block:1rem;line-height:1.5}}& svg{fill:none;stroke:currentColor;stroke-width:2px}& .guidance{inset:calc(max(var(--ar-gutter), env(safe-area-inset-top,0)) + 3.75rem) max(var(--ar-gutter), env(safe-area-inset-right,0)) auto max(var(--ar-gutter), env(safe-area-inset-left,0));text-align:center;background:var(--ar-panel);border:.0625rem solid var(--ar-border);touch-action:pan-y;overscroll-behavior:contain;z-index:3;border-radius:1rem;max-width:30rem;max-height:30dvh;margin:auto;padding:.875rem 1rem;position:absolute;overflow:auto;box-shadow:0 .25rem 1.5rem #0002}& .instruction{text-wrap:balance;margin:0;font-size:.9rem;font-weight:500}& .help{border-top:.0625rem solid var(--ar-border);color:var(--ar-secondary);text-align:start;margin:.75rem 0 0;padding-top:.75rem;font-size:.8rem;& p{margin:0}}& .steps{border-bottom:.0625rem solid var(--ar-border);gap:.625rem;margin:0 0 .75rem;padding:0 0 .75rem;list-style:none;display:flex;& li{color:var(--ar-secondary);flex:1;justify-content:center;align-items:center;gap:.375rem;font-size:.7rem;display:flex;& span{border:.0625rem solid var(--ar-border);font-variant-numeric:tabular-nums;border-radius:50%;flex-shrink:0;place-items:center;width:1.25rem;height:1.25rem;display:grid}&[aria-current=step]{color:#fff;font-weight:600;& span{background:var(--ar-highlight);color:#202020}}&[data-complete] span{border-color:var(--ar-highlight)}}}& .guides{z-index:2;pointer-events:none;width:100%;height:100%;color:var(--ar-highlight);filter:drop-shadow(0 .025rem .04rem #000);position:absolute;inset:0;& path:not(.hit){vector-effect:non-scaling-stroke;stroke-width:2px}&[data-draft] path:not(.hit){stroke-dasharray:8 6}& .hit{stroke:#0000;stroke-width:4px;pointer-events:stroke}}& .handle{z-index:3;touch-action:none;border-radius:50%;width:3rem;height:3rem;padding:.5rem;position:absolute;transform:translate(-50%,-50%);box-shadow:0 .125rem .5rem #0004;&[data-active],&[data-active]:hover{background:var(--ar-muted);border-color:var(--ar-highlight)}& svg{width:100%;height:100%}}& .corner-capture{filter:drop-shadow(0 .04rem .04rem #000);pointer-events:none;width:9rem;height:9rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);& .floor-patch{fill:#ffffff18;stroke:#ffffff50;stroke-width:1px}& .corner{stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}& circle{fill:var(--ar-highlight);stroke:#202020;stroke-width:1px}&[data-ready] .corner{stroke-width:3px}}& .wall-guide{text-align:start;color:var(--ar-secondary);justify-content:center;align-items:center;gap:.75rem;margin:0 0 .75rem;font-size:.75rem;display:flex;& svg{width:5rem;height:2.75rem;color:var(--ar-highlight);flex-shrink:0}& .arms{opacity:.3;stroke-width:5px}& .back-wall{stroke-width:5px}& circle{fill:var(--ar-highlight);stroke:var(--ar-panel)}}& .level{left:50%;top:max(var(--ar-gutter), env(safe-area-inset-top,0));z-index:3;text-align:center;width:6rem;color:var(--ar-highlight);pointer-events:none;filter:drop-shadow(0 .025rem .035rem #000);position:absolute;transform:translate(-50%);& svg{stroke-linecap:round;width:100%;height:1.5rem;display:block;overflow:visible}& .reference{opacity:.65}& .horizon{stroke-width:3px}& span{background:var(--ar-panel);border:.0625rem solid var(--ar-border);font-variant-numeric:tabular-nums;min-width:3rem;text-shadow:none;border-radius:50rem;padding:.2rem .6rem;font-size:.75rem;display:inline-block}&[data-aligned] .reference{opacity:1;stroke-width:3px}}& footer{z-index:4;position:absolute;&[data-capturing]{pointer-events:none}width:auto;inset:auto max(var(--ar-gutter), env(safe-area-inset-right,0)) max(var(--ar-gutter), env(safe-area-inset-bottom,0)) max(var(--ar-gutter), env(safe-area-inset-left,0));background:var(--ar-panel);border-radius:var(--ar-radius);border:.0625rem solid var(--ar-border);touch-action:pan-y;overscroll-behavior:contain;flex-wrap:wrap;justify-content:center;gap:.5rem;max-width:34rem;max-height:48dvh;margin-inline:auto;padding:.75rem;display:flex;overflow:auto;box-shadow:0 .5rem 2rem #0003;& button{flex:auto}& .primary{flex-basis:100%;min-height:3.25rem;font-weight:600}& .settings{pointer-events:auto;flex:100%;min-width:0;& summary{min-height:2.75rem;color:var(--ar-secondary);cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;padding-inline:.5rem;font-size:.8rem;list-style:none;display:flex;&::-webkit-details-marker{display:none}&:focus-visible{outline:.125rem solid var(--ar-highlight);outline-offset:-.125rem;border-radius:.5rem}& span,& svg{width:1rem;height:1rem;display:block}}&[open] summary span{rotate:180deg}}& .options{overscroll-behavior:contain;touch-action:pan-y;flex-wrap:wrap;gap:.5rem;max-height:max(4rem,48dvh - 11rem);padding:.25rem .125rem .75rem;display:flex;overflow:auto}& .offset{flex-basis:100%;align-items:center;gap:.8rem;display:flex}& input{accent-color:var(--ar-highlight);pointer-events:auto;flex:1;min-width:0;min-height:3rem}& p{text-align:center;flex-basis:100%;margin:0}& .hint{color:var(--ar-secondary);font-size:.75rem}& .tap-hint{text-wrap:balance;padding-block:.5rem;font-size:.875rem;font-weight:600}& .measurement{font-variant-numeric:tabular-nums;font-size:.875rem;font-weight:600}& nav{background:#151515;border-radius:1rem;flex:100%;gap:.25rem;padding:.25rem;display:flex;& button{background:0 0;border-color:#0000;flex:1}}}html[data-shell=smartphone][data-shell-landscape=short] &,html[data-shell=tablet][data-shell-landscape=short] &{--ar-gutter:.5rem;& .intro{max-height:calc(100dvh - 2rem);padding:1rem 1.5rem;&>svg{display:none}}& .guidance{top:var(--ar-gutter);max-height:25dvh;padding:.5rem .75rem;inset-inline:8rem}& .steps{margin-bottom:.375rem;padding-bottom:.375rem}& footer{max-width:44rem;max-height:45dvh;& .options{max-height:15dvh}& .primary{flex-basis:auto}}& .level{left:8.5rem}}@media (prefers-reduced-motion:reduce){& button{transition:none}}&:empty,& :is(.intro,.guidance,.instruction,.help,footer):empty{display:none}}#kitchen-builder{background:#fff}.contact-shadows{mix-blend-mode:multiply}.grid-helper{opacity:.3}#toolbox-wrap>.selection-prompt{top:calc(var(--header-h) + 1rem);left:var(--workspace-pad);max-width:min(28rem, calc(100vw - var(--chat-width) - 3rem));border:.0625rem solid var(--line);border-radius:var(--pillRadius);box-shadow:var(--popoverShadow);color:var(--heading);background:var(--surface-1);align-items:center;gap:.5rem;padding:.4rem .4rem .4rem .95rem;display:flex;position:fixed;& p{margin:0;font-size:.85rem;line-height:1.4}& button{background:var(--wash);width:2.25rem;height:2.25rem;min-height:0;color:inherit;box-shadow:none;border:0;border-radius:50%;flex:0 0 2.25rem;padding:.65rem;&:hover{background:var(--heading);color:var(--surface-1)}}& svg{width:100%;height:100%;display:block}& button:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}html[data-shell=smartphone] &{max-width:calc(100vw - 2rem);position:static}}#inspector{--pad:1.25rem;top:0;bottom:0;left:calc(100% + var(--toolbox-card-gap));z-index:2;box-sizing:border-box;width:var(--toolbox-card-w);border-radius:var(--panelRadius);background:var(--surface-1);box-shadow:var(--floatShadow);color:var(--heading);flex-direction:column;margin:0;font-size:1rem;display:flex;position:absolute;overflow:clip;&>header{box-sizing:border-box;min-height:3.85rem;padding:.6rem .75rem .6rem var(--pad);border-bottom:.0625rem solid var(--line);align-items:center;gap:.5rem;display:flex}& .tabs{border-radius:var(--pillRadius);background:var(--wash);flex:1;gap:.125rem;padding:.2rem;display:flex;& button{border-radius:var(--pillRadius);min-height:2.15rem;box-shadow:none;color:var(--textSecondary);font:inherit;font-size:.82rem;font-weight:var(--button-weight);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;flex:1;padding:0 .6rem;&:hover:not([aria-selected=true]){background:var(--wash);color:var(--heading)}&[aria-selected=true]{background:var(--surface-1);box-shadow:var(--buttonShadow);color:var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:.0625rem}}}& .close{background:var(--wash);width:2.25rem;min-width:2.25rem;height:2.25rem;min-height:2.25rem;box-shadow:none;color:var(--heading);cursor:pointer;transition:background var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid;& span,& svg{width:1rem;height:1rem;display:block}&:hover{background:var(--heading);color:var(--surface-1)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .body{min-height:0;padding:1rem var(--pad) 0;overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:1.25rem;display:flex;overflow-y:auto}& .body>footer{z-index:3;width:auto;margin:auto calc(var(--pad) * -1) 0;padding:.6rem var(--pad) .85rem;border-top:.0625rem solid var(--line);background:var(--surface-1);position:sticky;bottom:0}& .hint{color:var(--textSecondary);margin:0;font-size:.8rem;line-height:1.45}& .group{flex-direction:column;gap:.75rem;display:flex;&>header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}}& h3{color:var(--textSecondary);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:650;line-height:1.3}& h4{margin:.25rem 0 -.25rem;font-size:.82rem;font-weight:650}& :is(.link,.reset,.disclosure,.primary){font:inherit;box-shadow:none;cursor:pointer;&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .link{color:var(--textSecondary);font-size:.75rem;font-weight:var(--button-weight);text-underline-offset:.2em;white-space:nowrap;background:0 0;border:none;padding:0;text-decoration:underline;&:hover{color:var(--heading)}}& .reset{border-radius:var(--pillRadius);color:var(--textSecondary);font-size:.8rem;font-weight:var(--button-weight);background:0 0;border:none;align-items:center;gap:.5rem;margin-left:-.75rem;padding:.55rem .75rem;display:inline-flex;& span,& svg{width:1rem;height:1rem;display:block}&:hover{background:var(--wash);color:var(--heading)}}& .disclosure{box-sizing:border-box;white-space:normal;border:.0625rem solid var(--line);border-radius:var(--controlRadius);width:100%;color:var(--heading);font-size:.85rem;font-weight:var(--button-weight);text-align:start;background:0 0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex;& span,& svg{width:1rem;height:1rem;transition:rotate var(--motion-fast);flex-shrink:0;display:block}&[aria-expanded=true] svg{rotate:180deg}&:hover{border-color:var(--ring)}}& .presets{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid;&>li{min-width:0;list-style:none;position:relative;&:hover,&:focus-within{z-index:2}}}& .preset{border:.0625rem solid var(--line);border-radius:var(--controlRadius);background:var(--surface-1);width:100%;box-shadow:none;color:var(--heading);font:inherit;text-align:start;cursor:pointer;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.5rem;padding:.45rem .45rem .55rem;display:flex;position:relative;&:hover{border-color:var(--ring)}&[aria-pressed=true]{border-color:var(--heading);box-shadow:inset 0 0 0 .0625rem var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .strip{height:2.25rem;box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 10%, transparent);border-radius:.5rem;grid-template-columns:repeat(5,1fr);display:grid;overflow:hidden;&>span{background:var(--swatch)}}& :is(.strip>.glass,.dot.glass){background:linear-gradient(155deg, color-mix(in srgb, var(--swatch,#d8dde3) 62%, transparent), color-mix(in srgb, var(--swatch,#d8dde3) 38%, transparent)), repeating-conic-gradient(#ececeb 0% 25%, #f7f7f6 0% 50%) 0 0 / .375rem .375rem}& .name{white-space:normal;min-width:0;font-size:.8rem;font-weight:var(--button-weight);overflow-wrap:anywhere;padding-right:1.4rem;line-height:1.25;display:grid;& .code{color:var(--textSecondary);font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:400}}& .check{background:var(--heading);width:1.1rem;height:1.1rem;color:var(--surface-1);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:.5rem;right:.45rem;& svg{stroke-width:3.5px;width:.7rem;height:.7rem}}& .tip{border-radius:var(--panelRadius);background:var(--surface-1);width:15rem;max-width:none;box-shadow:var(--floatShadow);color:var(--heading);pointer-events:none;border:none;margin:0;padding:.8rem .9rem;position:fixed;inset:auto;overflow:visible;&:not(:popover-open){display:none}&:popover-open{flex-direction:column;gap:.55rem;display:flex}&::backdrop{backdrop-filter:none;background:0 0}& strong{font-size:.82rem;font-weight:650}}& .row{grid-template-columns:.75rem minmax(0,1fr);align-items:center;column-gap:.45rem;display:grid}& .dot{background:var(--swatch);width:.75rem;height:.75rem;box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent);border-radius:.2rem;grid-row:1/span 3;align-self:start;margin-top:.1rem}& .role,& .decor{text-overflow:ellipsis;white-space:nowrap;grid-column:2;line-height:1.3;overflow:hidden}& .role{font-size:.75rem;font-weight:650}& .decor{color:var(--textSecondary);font-size:.75rem}& .picker{flex-direction:column;gap:.5rem;display:flex}& .caption{color:var(--textSecondary);flex-wrap:wrap;gap:.35rem;margin:0;font-size:.75rem;line-height:1.35;display:flex;& span{color:var(--heading);font-weight:600}}& .swatches{grid-template-columns:repeat(auto-fill,minmax(2.25rem,1fr));gap:.45rem;display:grid;& button{aspect-ratio:1;background-color:var(--swatch);width:100%;min-width:0;min-height:0;box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent);cursor:pointer;transition:box-shadow var(--motion-fast);background-position:50%;background-size:cover;border:none;border-radius:.55rem;padding:0;position:relative;&:hover{box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent), 0 0 0 .125rem var(--ring)}&[aria-checked=true]{box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent), 0 0 0 .125rem var(--surface-1), 0 0 0 .25rem var(--heading)}&:focus-visible{outline:var(--focus-outline);outline-offset:.3rem}&.over:after{content:"";width:.45rem;height:.45rem;box-shadow:0 0 0 .1rem var(--surface-1);background:#e85d04;border-radius:50%;position:absolute;top:.2rem;right:.2rem}}&.glass button{background-image:linear-gradient(118deg, #ffffff6b 0%, transparent 38%, transparent 62%, #ffffff1f 100%), linear-gradient(155deg, color-mix(in srgb, var(--swatch,#9aa3ad) 70%, transparent), color-mix(in srgb, var(--swatch,#9aa3ad) 62%, transparent)), linear-gradient(180deg, #d8d4cd 0%, #ebe7e0 45%, #cfcbc3 100%);overflow:hidden}& .alu{border:.125rem solid var(--frame,#5a5e64);border-radius:.125rem;position:absolute;inset:14%}}& .tiles{grid-template-columns:repeat(auto-fill,minmax(4.25rem,1fr));gap:.6rem .5rem;display:grid;& button{min-width:0;box-shadow:none;color:var(--textSecondary);font:inherit;font-size:.75rem;font-weight:var(--button-weight);text-align:start;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.35rem;padding:0;line-height:1.25;display:flex;& .label{white-space:normal;hyphens:auto;overflow-wrap:break-word;min-width:0}&:hover .texture{box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent), 0 0 0 .125rem var(--ring)}&[aria-checked=true]{color:var(--heading);& .texture{box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent), 0 0 0 .125rem var(--surface-1), 0 0 0 .25rem var(--heading)}}border-radius:.55rem;&:focus-visible{outline:none}&:focus-visible :is(.texture,.front){outline:var(--focus-outline);outline-offset:.2rem}}}& .texture{aspect-ratio:4/3;box-shadow:inset 0 0 0 .0625rem color-mix(in srgb, var(--heading) 14%, transparent);transition:box-shadow var(--motion-fast);background-position:50%;background-size:cover;border-radius:.55rem;display:block}& .front{background:var(--wash);color:var(--textSecondary);transition:box-shadow var(--motion-fast);display:block;& svg{width:100%;height:100%;display:block;overflow:visible}& svg *{stroke-width:.0625rem;vector-effect:non-scaling-stroke}& .cut{stroke-opacity:.45}}& .fronts{grid-template-columns:repeat(3,minmax(0,1fr));& button{white-space:normal}& .label{overflow-wrap:anywhere}& button{&:hover .front{box-shadow:0 0 0 .125rem var(--ring)}&[data-pending] .front{outline:.125rem dashed var(--heading);outline-offset:.125rem}&[aria-checked=true] .front{color:var(--heading);box-shadow:0 0 0 .125rem var(--surface-1), 0 0 0 .25rem var(--heading)}}& .detail{min-width:0;color:var(--textSecondary);overflow-wrap:anywhere;margin-top:-.25rem;font-size:.75rem;font-weight:400}}& .handles{grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));& button{white-space:normal;&:hover .grip{box-shadow:0 0 0 .125rem var(--ring)}&[aria-checked=true] .grip{box-shadow:0 0 0 .125rem var(--surface-1), 0 0 0 .25rem var(--heading)}&:focus-visible .grip{outline:var(--focus-outline);outline-offset:.2rem}}& .detail{color:var(--textSecondary);hyphens:auto;overflow-wrap:break-word;font-size:.75rem;font-weight:400}}& .grip{aspect-ratio:2;background:color-mix(in srgb, white 84%, var(--wash));transition:box-shadow var(--motion-fast);border-radius:.55rem;justify-content:center;align-items:center;padding:.4rem;display:flex;& svg{width:100%;height:100%;display:block}color:#a7a9ab;& img{object-fit:contain;width:100%;height:100%;display:block}& path{stroke:#00000047;stroke-width:.0625rem;vector-effect:non-scaling-stroke}}& .tone{vertical-align:-.08em;border-radius:50%;width:.8em;height:.8em;margin-inline-end:.35em;display:inline-block;box-shadow:inset 0 0 0 .0625rem #00000038}& .kinds{margin-bottom:.25rem}& :is(.segments,.styles) button{border:.0625rem solid var(--line);border-radius:var(--pillRadius);min-width:0;box-shadow:none;color:var(--heading);font:inherit;font-size:.8rem;font-weight:var(--button-weight);cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);background:0 0;padding:.5rem .85rem;&:hover:not(:disabled){border-color:var(--ring)}&:disabled{opacity:.45;cursor:not-allowed}&:is([aria-checked=true],[aria-pressed=true]){border-color:var(--heading);background:var(--heading);color:var(--surface-1)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .segments{flex-wrap:wrap;gap:.4rem;display:flex}& .styles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid;& button[data-pending]{border-style:dashed;border-color:var(--heading)}& button{border-radius:var(--controlRadius);text-align:start;white-space:normal;overflow-wrap:anywhere;min-height:2.75rem;padding:.6rem .8rem;line-height:1.25;display:block}}& .replan{border-radius:var(--controlRadius);background:var(--wash);flex-direction:column;gap:.65rem;padding:.85rem .95rem;scroll-margin-bottom:5rem;font-size:.82rem;line-height:1.4;display:flex;& p{margin:0}& div{align-items:center;gap:1rem;display:flex}}& .primary{border-radius:var(--pillRadius);background:var(--heading);color:var(--surface-1);font-size:.8rem;font-weight:var(--button-weight);border:none;padding:.55rem 1rem}& .intro{grid-template-columns:2.5rem minmax(0,1fr);align-items:center;gap:.15rem .75rem;display:grid;&>span{border-radius:var(--controlRadius);background:var(--wash);width:2.5rem;height:2.5rem;transition:background var(--motion-fast), color var(--motion-fast);grid-row:span 2;place-items:center;display:grid;& svg{width:1.25rem;height:1.25rem}}&.on>span{background:var(--heading);color:var(--surface-1)}& h3{color:var(--heading);letter-spacing:0;text-transform:none;font-size:.95rem}}& .zones{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex;&>li{list-style:none}& button{border:.0625rem solid var(--line);border-radius:var(--controlRadius);width:100%;box-shadow:none;color:var(--heading);font:inherit;text-align:start;cursor:pointer;transition:background var(--motion-fast), border-color var(--motion-fast);background:0 0;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label switch""state switch";align-items:center;column-gap:.75rem;padding:.65rem .75rem .65rem .9rem;display:grid;&:hover:not(:disabled){border-color:var(--ring)}&[aria-checked=true]{background:var(--wash)}&:disabled{opacity:.45;cursor:not-allowed}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}}& .label{font-size:.85rem;font-weight:var(--button-weight);white-space:normal;grid-area:label;line-height:1.3}& .state{color:var(--textSecondary);white-space:normal;grid-area:state;font-size:.75rem;line-height:1.3}}& .switch{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--heading) 16%, transparent);width:2.25rem;height:1.3rem;transition:background var(--motion-fast);grid-area:switch;position:relative;&:after{content:"";background:var(--surface-1);width:1rem;height:1rem;transition:translate var(--motion-fast);border-radius:50%;position:absolute;top:.15rem;left:.15rem;box-shadow:0 .0625rem .125rem #0000002e}[aria-checked=true]>&{background:var(--heading);&:after{translate:.95rem}}}html[data-shell=smartphone] &{--pad:.85rem;width:100%;max-width:calc(100vw - 1.25rem);max-height:min(52dvh, calc(100dvh - var(--header-h) - var(--mobile-dock-stack,10rem) - 1.25rem));border:.0625rem solid var(--line);border-radius:var(--mobile-sheet-radius) var(--mobile-sheet-radius) 0 0;background:color-mix(in srgb, var(--surface-1) 96%, transparent);box-shadow:none;backdrop-filter:blur(.85rem);border-bottom:none;position:relative;inset:auto;&>header{display:none}& .body{gap:.9rem;padding-top:.75rem}& .body>footer{margin:0 calc(var(--pad) * -1);background:0 0;border-top:none;padding-top:.35rem;position:static}}html[data-shell=tablet][data-shell-landscape=short] #toolbox-wrap>&,html[data-shell=smartphone][data-shell-landscape=short] #toolbox-wrap>&{top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);border-radius:0;width:min(18rem,46vw);max-height:none;position:fixed;left:0}}.variants-gallery{height:100%;color:var(--heading);flex-direction:column;display:flex;overflow:hidden;&.compact{height:auto}&>.title{border-bottom:.0625rem solid var(--line);color:var(--heading);flex-shrink:0;margin:0;padding:.95rem 1.25rem .85rem;font-size:.92rem;font-weight:650;line-height:1.25;display:block}&:not(.compact)>.title{box-sizing:border-box;align-items:center;min-height:3.85rem;padding-block:.6rem;display:flex}&>.title .n{vertical-align:.1em;border-radius:var(--pillRadius);background:var(--wash);color:var(--textSecondary);font-variant-numeric:tabular-nums;margin-left:.4rem;padding:.1rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}&>.empty{border:.0625rem dashed var(--line);border-radius:var(--controlRadius);flex-direction:column;align-items:flex-start;gap:.55rem;margin:1rem 1.25rem;padding:.85rem 1rem;display:flex}&>.empty .empty-icon{color:var(--heading);display:inline-flex}&>.empty .empty-icon svg{width:1.15rem;height:1.15rem}&>.empty p{color:var(--textSecondary);margin:0;font-size:.82rem;line-height:1.45}&>ul{overscroll-behavior:contain;scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr);align-content:start;gap:.75rem;min-height:0;margin:0;padding:1rem 1.25rem;list-style:none;display:grid;overflow:auto}&.compact>ul{max-height:min(60dvh,28rem)}&>ul>li{min-width:0;list-style:none;display:flex;position:relative}& .card{border:.0625rem solid var(--line);border-radius:var(--controlRadius);background:var(--surface-1);width:100%;min-width:0;box-shadow:none;color:var(--heading);cursor:pointer;text-align:start;touch-action:manipulation;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;justify-content:flex-start;align-items:stretch;gap:.6rem;margin:0;padding:.5rem .5rem .75rem;display:flex}& .card:hover:not(:disabled){border-color:var(--ring)}& .card.current{border-color:var(--heading);box-shadow:inset 0 0 0 .0625rem var(--heading);opacity:1}& .card:disabled{cursor:default}& .card:disabled:not(.current){opacity:.5;cursor:not-allowed}& .card:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}& .shot{aspect-ratio:16/10;background:var(--wash);border-radius:.5rem;width:100%;display:block;position:relative;overflow:hidden}& .shot img{object-fit:cover;width:100%;height:100%;display:block}& .shot .schematic{pointer-events:none;position:absolute;inset:.55rem .6rem}& .shot svg{width:100%;height:100%;display:block}& .shot .row{display:block}& .shot [data-kind=fridge]{fill:color-mix(in srgb, var(--heading) 42%, var(--surface-1,#fff))}& .shot [data-kind=tower],& .shot [data-kind=pantry],& .shot [data-kind=oven]{fill:color-mix(in srgb, var(--heading) 38%, var(--surface-1,#fff))}& .shot [data-kind=sink]{fill:color-mix(in srgb, var(--heading) 28%, var(--surface-1,#fff))}& .shot [data-kind=burner]{fill:color-mix(in srgb, var(--heading) 48%, var(--surface-1,#fff))}& .shot [data-kind=dishwasher]{fill:color-mix(in srgb, var(--heading) 34%, var(--surface-1,#fff))}& .shot [data-kind=plug]{fill:color-mix(in srgb, var(--heading) 12%, transparent)}& .shot [data-kind=cabinet],& .shot [data-kind=hood]{fill:color-mix(in srgb, var(--heading) 22%, var(--surface-1,#fff))}& .shot .mark{background:var(--heading);color:var(--surface-1,var(--elevatedFill,#fff));letter-spacing:.02em;border-radius:50rem;padding:.18em .5em;font-size:.65rem;font-weight:650;line-height:1.2;position:absolute;top:.4rem;left:.4rem}& .meta{flex-direction:column;gap:.2rem;min-width:0;padding-inline:.2rem;display:flex}& .meta .name{color:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.84rem;font-weight:650;line-height:1.3;overflow:hidden}& .meta .detail{color:var(--textSecondary,var(--textMuted));white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.75rem;font-weight:400;line-height:1.4;display:-webkit-box;overflow:hidden}& .meta .price{font-variant-numeric:tabular-nums;color:var(--heading);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.8rem;font-weight:650;line-height:1.35;overflow:hidden}& .like{z-index:1;background:color-mix(in srgb, var(--surface-1) 90%, transparent);width:2rem;min-width:2rem;height:2rem;min-height:2rem;box-shadow:var(--buttonShadow);color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:.85rem;right:.85rem}& .like span,& .like svg{width:.95rem;height:.95rem;display:block}& .like:hover,& .like.on{background:var(--heading);color:var(--surface-1)}& .like.on svg{fill:currentColor}& .like:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}html[data-shell=smartphone] &{min-width:0;max-width:none;&>.title{font-size:1.05rem}&>ul{gap:.75rem}& .card{gap:.55rem;padding:.55rem .55rem .7rem}& .shot{aspect-ratio:16/9}& .meta .name{font-size:.92rem}& .meta .price{font-size:.88rem}}}html[data-shell=smartphone] #toolbox-wrap{--dock-upper-fill:color-mix(in srgb, var(--surface-1) 95%, var(--heading) 5%)}html[data-shell=smartphone] #toolbox-wrap[data-toolbox-open=true]>fieldset#toolbox.strip{box-sizing:border-box;width:var(--dock-bar-w);max-width:var(--dock-bar-w);--mobile-tool-size:2.1rem;min-height:0;padding:.5rem calc(var(--phone-gutter,1rem) - .6rem) .7rem;border:none;border-top:.0625rem solid var(--line);border-radius:var(--dock-radius,1.25rem) var(--dock-radius,1.25rem) 0 0;background:var(--dock-upper-fill);-webkit-backdrop-filter:none;justify-content:space-around;align-items:flex-start;gap:0;margin:0;transition:none;display:flex;transform:none;box-shadow:0 -.35rem 1.25rem #0b122017;&>div:has(>.toolbox-action){flex:1 1 0;gap:.2rem;min-width:0}& .toolbox-action:after{content:"";position:absolute;inset:-.3rem -.6rem -1.05rem}& .toolbox-action:active:not(:disabled) svg{scale:.92}& .toolbox-action svg{transition:scale var(--motion-fast)}& .tool-label{color:var(--textSecondary);opacity:1;font-size:.58rem;font-weight:500}& div:has(>.toolbox-action.active)>.tool-label{color:var(--heading);font-weight:650}}html[data-shell=smartphone] #toolbox-wrap:has(>#inspector)>fieldset#toolbox.strip{display:none}html[data-shell=smartphone]:not([data-shell-landscape=short]) #toolbox-wrap>#inspector{width:var(--dock-bar-w);max-width:var(--dock-bar-w);border:none;border-top:.0625rem solid var(--line);border-radius:var(--dock-radius,1.25rem) var(--dock-radius,1.25rem) 0 0;background:var(--dock-upper-fill);margin-bottom:0;box-shadow:0 -.5rem 1.5rem #0b12201f;&>header.sheet-head{padding:.55rem .55rem 0 var(--pad);justify-content:space-between;align-items:center;gap:.75rem;display:flex}&>header.sheet-head h2{color:var(--heading);margin:0;font-size:.86rem;font-weight:650;line-height:1.2}&>header.sheet-head .close{background:var(--wash);width:2.3rem;min-width:0;height:2.3rem;min-height:0;color:var(--heading);cursor:pointer;border:none;border-radius:50%;place-items:center;padding:0;display:grid;position:static}&>header.sheet-head .close svg{width:1.05rem;height:1.05rem;display:block}&>.body{overflow-x:hidden}}.scale-segment{color:var(--scale-ink,var(--heading));display:flex}.scale-segment .track{justify-content:flex-end;width:4.5rem;display:flex}.scale-segment .segment{flex-direction:column;align-items:center;gap:.2rem;display:flex}.scale-segment .segment:after{content:"";border:.125rem solid;border-block-start:none;align-self:stretch;height:.4rem}.scale-segment .value{font-size:var(--scale-font,.6875rem);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650;line-height:1}.scale-segment[data-ends] .track{margin-inline-end:1.25rem}.scale-segment[data-ends] .segment{height:1.25rem;display:block;position:relative}.scale-segment[data-ends] .segment:after{opacity:.6;background:linear-gradient(currentColor,currentColor) 50%/100% .0625rem no-repeat,linear-gradient(currentColor,currentColor) 0/.0625rem 100% no-repeat,linear-gradient(currentColor,currentColor) 100%/.0625rem 100% no-repeat,linear-gradient(currentColor,currentColor) 50%/.0625rem 50% no-repeat;border:none;height:.4rem;position:absolute;inset:auto 0 0}.scale-segment[data-ends] :is(.zero,.value){font-size:var(--scale-font,.6875rem);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;line-height:1;position:absolute;top:0}.scale-segment[data-ends] .zero{left:0;transform:translate(-50%)}.scale-segment[data-ends] .value{right:0;transform:translate(50%)}.scene-scale{--scale-ink:var(--scene-ink);--scale-font:.78rem;pointer-events:none}.scene-scale :is(.zero,.value){text-shadow:var(--scene-text-outline)}.scene-scale .segment:after{filter:var(--scene-line-outline)}aside#scene>.scene-scale{right:1.75rem;bottom:max(1.75rem, env(safe-area-inset-bottom,0));z-index:var(--z-toolbox);position:absolute}html[data-shell=smartphone] #toolbox-wrap>.scene-scale{right:var(--phone-gutter);position:absolute;bottom:calc(100% + .75rem)}#toolbox-wrap{& .tool-label{display:none}--toolbox-tool:2.75rem;--toolbox-rail-pad-x:.375rem;--toolbox-fab:calc(var(--toolbox-tool) + 2 * var(--toolbox-rail-pad-x));--toolbox-top:calc(var(--workspace-pad) * .65);--toolbox-bottom:calc(max(var(--workspace-pad), env(safe-area-inset-bottom,0)) + 3.5rem);--toolbox-room:calc(100vw - var(--chat-width) - 2rem);--toolbox-card-gap:.5rem;--toolbox-card-w:min(21rem, calc(var(--toolbox-room) - var(--toolbox-fab) - var(--toolbox-card-gap)));top:var(--toolbox-top);bottom:var(--toolbox-bottom);left:max(var(--workspace-pad), env(safe-area-inset-left,0));z-index:var(--z-toolbox);justify-content:center;align-items:flex-start;gap:var(--space-5,1.5rem);pointer-events:none;flex-direction:column;display:flex;position:absolute;overflow:visible;&>*{pointer-events:auto}html[data-shell=desktop] &{section#workspace:has(#init-wrapper) &{--toolbox-room:calc(100vw - min(48%, 42rem) - 2.5rem)}section#workspace:has(#booking-wrapper) &{--toolbox-room:calc(100vw - min(50%, 50rem) - 2.5rem)}}html[data-shell=tablet] &{--toolbox-top:.5rem;--toolbox-room:calc(100vw - var(--chat-width) - 1.25rem);section#workspace:has(#init-wrapper) &{--toolbox-room:calc(100vw - min(52%, 28rem) - 1.5rem)}section#workspace:has(#booking-wrapper) &{--toolbox-room:calc(100vw - min(55%, 26rem) - 1.5rem)}}html[data-shell=smartphone] &{top:auto;left:50%;right:auto;bottom:var(--mobile-dock-inset,max(.65rem, env(safe-area-inset-bottom,0)));box-sizing:border-box;width:auto;height:auto;min-height:0;max-height:none;padding-top:var(--dock-fab-lift,1.67rem);z-index:var(--z-toolbox);pointer-events:none;flex-direction:column-reverse;justify-content:flex-start;align-items:center;gap:.5rem;position:fixed;overflow:visible;transform:translate(-50%);max-width:min(calc(100vw - 1.5rem), calc(100vw - env(safe-area-inset-left,0) - env(safe-area-inset-right,0) - 1rem))!important;&>*{pointer-events:auto}--mobile-tool-size:2.35rem;--mobile-tools-cols:5;--mobile-tools-ease:cubic-bezier(.22, 1, .36, 1);--mobile-tools-duration:.34s;&>fieldset#toolbox{grid-template-columns:repeat(var(--mobile-tools-cols,5), minmax(var(--mobile-tool-size,2.35rem), 1fr));grid-template-rows:repeat(var(--mobile-tools-rows,1), auto);grid-auto-rows:auto;grid-auto-flow:row;display:grid;&>div:has(>.toolbox-action){grid-row:2}&>div:has(>[data-toolbox-action=newProject]){grid-area:1/1}&>.history{display:contents}&>.history>div:has(>[data-toolbox-action=undo]){grid-area:1/-3/auto/-2}&>.history>div:has(>[data-toolbox-action=redo]){grid-area:1/-2/auto/-1}box-sizing:border-box;width:100%;max-width:calc(100vw - 1.25rem);min-height:var(--mobile-tools-panel-h,auto);height:auto;padding:var(--mobile-tools-panel-pad-y,.5rem) var(--mobile-tools-panel-pad-x,.55rem);place-content:center space-between;place-items:center;gap:var(--mobile-tools-row-gap,.25rem) var(--mobile-tools-col-gap,.3rem);border-radius:var(--mobile-sheet-radius);border:.0625rem solid var(--line);background:color-mix(in srgb, var(--surface-1) 96%, transparent);box-shadow:var(--floatShadow);-webkit-backdrop-filter:blur(.85rem);clip:auto;transform-origin:bottom;will-change:transform, opacity;transition:opacity var(--mobile-tools-duration) var(--mobile-tools-ease), transform var(--mobile-tools-duration) var(--mobile-tools-ease), visibility 0s linear var(--mobile-tools-duration);margin:0 0 1rem;position:relative;overflow:visible}&[data-toolbox-open=true]>fieldset#toolbox{opacity:1;visibility:visible;pointer-events:auto;width:100%;transition:opacity var(--mobile-tools-duration) var(--mobile-tools-ease), transform var(--mobile-tools-duration) var(--mobile-tools-ease), visibility 0s linear 0s;margin:0 0 1rem;position:relative;transform:translateY(0)scale(1)}&:not([data-toolbox-open=true])>fieldset#toolbox{opacity:0;visibility:hidden;pointer-events:none;width:100%;margin:0 0 .35rem;position:absolute;bottom:100%;left:0;right:0;transform:translateY(.55rem)scale(.96)}&:not([data-toolbox-open=true])>#inspector:not([data-panel=lighting]){display:none}&:has(>#inspector){gap:0;&>fieldset#toolbox{border-top:none;border-top-left-radius:0;border-top-right-radius:0;margin-top:0}}}html[data-shell=smartphone][data-shell-landscape=short] &{top:auto;left:50%;right:auto;bottom:var(--mobile-dock-inset,.5rem);flex-direction:row;gap:.3rem;width:auto;height:auto;min-height:2.6rem;max-height:none;position:fixed;overflow:visible;transform:translate(-50%);max-width:calc(100vw - 1rem)!important;&[data-toolbox-open=true]{width:min(100vw - 1rem,28rem);min-height:2.7rem}&[data-toolbox-open=true]>fieldset#toolbox{width:100%;max-width:none}}html[data-shell=tablet][data-shell-landscape=short] &{width:100%;max-height:none;height:var(--mobile-toolbox-rail-h,var(--mobile-toolbox-h,2.75rem));flex-direction:row;gap:0;position:fixed;inset:auto 0 0;overflow:visible;max-width:none!important;&>*{pointer-events:auto;width:100%;max-width:none}&>fieldset#toolbox{--mobile-tools-cols:7;&>.history{display:contents}clip:auto;pointer-events:auto;width:100%;height:100%;position:relative;overflow:visible;visibility:visible!important;transform:none!important}}}html[data-shell=smartphone]{--dock-bar-w:calc(100vw - var(--phone-gutter,1rem) * 2);--dock-bar-h:4rem;--dock-fab-lift:0rem;--dock-icon-muted:color-mix(in srgb, var(--heading) 92%, transparent);& .mobile-dock-bar{box-sizing:border-box;width:var(--dock-bar-w);height:var(--dock-bar-h);border:.0625rem solid var(--line);border-radius:var(--pillRadius);background:color-mix(in srgb, var(--surface-1) 94%, transparent);-webkit-backdrop-filter:blur(1.25rem)saturate(1.2);box-shadow:var(--floatShadow);pointer-events:auto;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:.3rem;margin:0;padding:.4rem;display:grid;position:relative;overflow:visible}& .mobile-dock-btn{box-sizing:border-box;border-radius:var(--pillRadius);width:100%;min-width:0;height:100%;min-height:0;color:var(--dock-icon-muted);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast), box-shadow var(--motion-fast);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:.22rem;margin:0;padding:0 .2rem;display:inline-flex;position:relative}& .mobile-dock-btn:after{content:"";position:absolute;inset:-.4rem -.15rem}& .mobile-dock-btn.dock-wand:after{inset-inline-start:-.4rem}& .mobile-dock-btn.dock-tools:after{inset-inline-end:-.4rem}& .mobile-dock-btn :is(svg,.dock-label){pointer-events:none}& .mobile-dock-btn svg{stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round;width:1.3rem;height:1.3rem;display:block}& .mobile-dock-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}& .mobile-dock-btn:active:not(:disabled){transform:scale(.96)}& .mobile-dock-btn.dock-wand:hover:not(:disabled),& .mobile-dock-btn.dock-tools:hover,& .mobile-dock-btn.dock-tools.is-open{color:var(--heading);background:var(--wash)}& .dock-label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;pointer-events:none;max-width:100%;font-size:.58rem;font-weight:600;line-height:1.1;display:block;overflow:hidden}& .mobile-dock-btn.dock-chat.is-primary{background:var(--heading);width:auto;color:var(--surface-1);flex-direction:row;gap:.45rem;padding:0 1.1rem 0 .95rem;box-shadow:0 .25rem .75rem #0b122038}& .mobile-dock-btn.dock-chat.is-primary:hover{background:var(--fill-hover);color:var(--surface-1)}& .mobile-dock-btn.dock-chat .dock-label{font-size:.7rem;font-weight:650}& .mobile-dock-btn.dock-chat .fab{display:contents}& .mobile-dock-btn.dock-chat .dock-chat-badge{top:-.1rem;z-index:2;background:var(--alert);width:.7rem;height:.7rem;box-shadow:0 0 0 .14rem var(--surface-1);pointer-events:none;border-radius:50%;animation:1.6s ease-in-out infinite dock-chat-badge-pulse;position:absolute;inset-inline-end:.2rem}& .mobile-dock-btn.dock-chat .dock-chat-ping{border-radius:inherit;pointer-events:none;animation:1.3s cubic-bezier(.22,1,.36,1) 2 dock-chat-ping;position:absolute;inset:0}& .mobile-dock-btn.dock-wand:disabled{cursor:not-allowed}& .mobile-dock-btn.dock-wand:disabled :is(svg,.dock-label){opacity:.35}& .mobile-dock-btn.dock-wand.busy:not(:disabled){opacity:.65;animation:1.2s ease-in-out infinite toolbox-busy-pulse}& body:has(dialog#cookie-informer) #toolbox-wrap{bottom:calc(min(12rem,28dvh) + .75rem)}}html[data-shell=smartphone][data-shell-landscape=short]{--dock-bar-w:min(19rem, calc(100vw - 1.5rem));--dock-bar-h:3.4rem}html[data-shell=smartphone]:not([data-shell-landscape=short]){--mobile-dock-inset:env(safe-area-inset-bottom,0);--dock-bar-w:100vw;--dock-bar-h:3.8rem;--dock-radius:var(--mobile-sheet-radius,1.25rem);--dock-label-pad:.6rem;--dock-icon-slot:2.1rem;--dock-disc:4.5rem;& #toolbox-wrap{gap:0;width:100vw;bottom:0;left:0;right:0;transform:none;max-width:none!important}& .mobile-dock-bar{z-index:3;height:calc(var(--dock-bar-h) + env(safe-area-inset-bottom,0));padding:0 .25rem env(safe-area-inset-bottom,0);background:var(--surface-1);-webkit-backdrop-filter:none;box-shadow:none;direction:ltr;border:none;border-radius:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}& .mobile-dock-btn{padding:0 .2rem var(--dock-label-pad);color:var(--heading);border-radius:0;justify-content:flex-end;gap:.15rem}& .mobile-dock-btn svg{width:1.35rem;height:1.35rem;transition:scale var(--motion-fast)}& .mobile-dock-btn:not(.dock-chat)>svg,& .mobile-dock-btn.dock-chat .fab{margin-block:calc((var(--dock-icon-slot) - 1.35rem) / 2)}& .mobile-dock-btn:active:not(:disabled) svg{scale:.92}& .mobile-dock-btn:not(.dock-chat) .dock-label{color:var(--textSecondary);font-weight:500}& .mobile-dock-btn:after{inset:0 0 calc(-1 * env(safe-area-inset-bottom,0))}& .mobile-dock-btn.dock-new:after{left:-.25rem}& .mobile-dock-btn.dock-wand:after{right:-.25rem}& .mobile-dock-btn:active:not(:disabled){transform:none}& .mobile-dock-btn:is(.dock-new,.dock-wand):hover:not(:disabled){color:var(--heading);background:0 0}& .mobile-dock-btn.dock-new:disabled{cursor:not-allowed}& .mobile-dock-btn.dock-new:disabled :is(svg,.dock-label){opacity:.35}& .dock-label{font-size:.58rem}& .mobile-dock-btn.dock-chat.is-primary{isolation:isolate;width:100%;padding:0 .2rem var(--dock-label-pad);color:var(--surface-1);box-shadow:none;clip-path:inset(-1.5rem -1.5rem calc(-1 * env(safe-area-inset-bottom,0)) -1.5rem);background:0 0;flex-direction:column;gap:.15rem}& .mobile-dock-btn.dock-chat.is-primary:before{content:"";z-index:-1;width:var(--dock-disc);height:var(--dock-disc);background:var(--heading);box-shadow:inset 0 0 0 .3rem color-mix(in srgb, var(--surface-1) 7%, transparent), 0 .15rem .5rem #0b122029;transition:background var(--motion-fast), scale var(--motion-fast);border-radius:50%;position:absolute;top:-.3rem;left:50%;translate:-50%}& .mobile-dock-btn.dock-chat.is-primary:hover{color:var(--surface-1);background:0 0}& .mobile-dock-btn.dock-chat.is-primary:hover:before{background:var(--fill-hover)}& .mobile-dock-btn.dock-chat.is-primary:active:before{scale:.97}& .mobile-dock-btn.dock-chat .dock-label{font-size:.58rem;font-weight:650}& .mobile-dock-btn.dock-chat .fab{place-items:center;display:grid;position:relative}& .mobile-dock-btn.dock-chat .dock-chat-badge{top:-.2rem;inset-inline-end:-.3rem}& .mobile-dock-btn.dock-chat .dock-chat-ping{border-radius:50%;inset:-.45rem}}@keyframes dock-chat-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--alert) 55%, transparent)}to{box-shadow:0 0 0 1.15rem #0000}}@keyframes dock-chat-badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.88;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){html[data-shell=smartphone] #toolbox-wrap>fieldset#toolbox{transition:none!important}html[data-shell=smartphone] #toolbox-wrap[data-toolbox-open=true]>fieldset#toolbox{transform:none!important}}html[data-shell=smartphone] body:has(aside#chat.chat-drawer-open) .mobile-dock-btn.dock-chat .dock-chat-badge{display:none!important}#toolbox-wrap>.toolbox-camera{--camera-ink:var(--scene-ink);z-index:var(--z-toolbox);left:max(var(--workspace-pad), env(safe-area-inset-left,0));bottom:max(var(--workspace-pad), env(safe-area-inset-bottom,0));width:auto;box-shadow:none;background:0 0;border:none;align-items:center;gap:1.25rem;display:flex;position:fixed}html[data-shell=smartphone] #toolbox-wrap>.toolbox-camera,html[data-shell=tablet][data-shell-landscape=short] #toolbox-wrap>.toolbox-camera{display:none}#toolbox-wrap>.toolbox-camera .toolbox-action{width:auto;min-width:2.75rem;max-width:none;height:auto;min-height:2.75rem;box-shadow:none;color:var(--camera-ink);cursor:pointer;opacity:var(--idle-opacity);transition:color var(--motion-fast,.16s) ease, transform var(--motion-fast,.16s) ease, opacity var(--motion-fast,.16s) ease;background:0 0;border:none;border-radius:.35rem;flex-direction:row;align-items:center;gap:.6rem;padding:.15rem .2rem .15rem .05rem;display:inline-flex}#toolbox-wrap>.toolbox-camera .toolbox-action:before{display:none}#toolbox-wrap>.toolbox-camera .toolbox-action .glyphs{--camera-glyph:calc(2.15rem * 1.1);width:var(--camera-glyph);height:var(--camera-glyph);filter:var(--scene-line-outline);flex-shrink:0;place-items:center;display:grid}#toolbox-wrap>.toolbox-camera .toolbox-action .glyph{width:var(--camera-glyph);height:var(--camera-glyph);transition:opacity var(--motion-fast,.16s) ease;grid-area:1/1;place-items:center;display:grid}#toolbox-wrap>.toolbox-camera .toolbox-action .glyph-fill,#toolbox-wrap>.toolbox-camera .toolbox-action:hover:not([disabled]) .glyph-line,#toolbox-wrap>.toolbox-camera .toolbox-action:focus-visible .glyph-line{opacity:0}#toolbox-wrap>.toolbox-camera .toolbox-action:hover:not([disabled]) .glyph-fill,#toolbox-wrap>.toolbox-camera .toolbox-action:focus-visible .glyph-fill{opacity:1}#toolbox-wrap>.toolbox-camera .toolbox-action .glyph svg{width:var(--camera-glyph);height:var(--camera-glyph);display:block;overflow:visible}#toolbox-wrap>.toolbox-camera .toolbox-action .label{letter-spacing:.02em;color:var(--camera-ink);text-shadow:var(--scene-text-outline);white-space:nowrap;transition:color var(--motion-fast,.16s) ease;font-size:.78rem;font-weight:600;line-height:1.2}#toolbox-wrap>.toolbox-camera .toolbox-action:hover:not([disabled]),#toolbox-wrap>.toolbox-camera .toolbox-action:focus-visible{box-shadow:none;color:var(--camera-ink);opacity:1;background:0 0}#toolbox-wrap>.toolbox-camera .toolbox-action:hover:not([disabled]) .label,#toolbox-wrap>.toolbox-camera .toolbox-action:focus-visible .label{color:var(--camera-ink)}#toolbox-wrap>.toolbox-camera .toolbox-action:active:not([disabled]){transform:scale(.97)}#toolbox-wrap>.toolbox-camera .toolbox-action:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}@media (prefers-reduced-motion:reduce){#toolbox-wrap>.toolbox-camera .toolbox-action,#toolbox-wrap>.toolbox-camera .toolbox-action .glyph{transition:none}#toolbox-wrap>.toolbox-camera .toolbox-action:active:not([disabled]){transform:none}}fieldset#toolbox{box-sizing:border-box;padding:var(--toolbox-rail-pad-x);border-radius:var(--panelRadius);background:var(--surfaceWarm,var(--surface-1));box-shadow:var(--softShadow), var(--panelHighlight);border:none;flex-direction:column;align-items:center;gap:.25rem;margin:0;font-size:.8rem;display:flex;position:relative;html[data-shell=desktop] &,html[data-shell=tablet] &{z-index:3;width:var(--toolbox-fab)}&:before{content:"";border-radius:inherit;background:var(--surfaceGlow);pointer-events:none;position:absolute;inset:0}& .history{display:contents}& div:has(>.toolbox-action),& .toolbox-sep{z-index:1;position:relative}& div:has(>.toolbox-action){display:flex}& .toolbox-sep{background:var(--divider);align-self:stretch;height:.0625rem;margin:.2rem .4rem}& .toolbox-action{--size:var(--toolbox-tool);width:var(--size);height:var(--size);min-width:var(--size);min-height:var(--size);border-radius:var(--controlRadius);box-shadow:none;color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;place-items:center;padding:0;display:grid;& svg{width:calc(var(--size) * .46);height:calc(var(--size) * .46);stroke-width:2.15px;display:block}&:hover:not([disabled],.active){background:var(--wash)}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset,.125rem)}&.active:not([disabled]){background:var(--heading);color:var(--surface-1)}&[data-toolbox-action=regenerate]:not(.active){background:var(--wash)}&[disabled]{opacity:1;cursor:not-allowed;& svg{opacity:.3}}&.busy:not([disabled]){opacity:.65;animation:1.2s ease-in-out infinite toolbox-busy-pulse}}& .popover-hint{top:50%;left:calc(100% + var(--toolbox-rail-pad-x) + .5rem);z-index:3;background:var(--heading);color:var(--surface-1);box-shadow:var(--buttonShadow);white-space:nowrap;user-select:none;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--motion-fast), translate var(--motion-fast), visibility 0s linear .16s;border-radius:.5rem;padding:.4rem .65rem;font-size:.78rem;font-weight:500;line-height:1.2;position:absolute;translate:-.25rem -50%}@media (hover:hover) and (pointer:fine){& div:has(>.toolbox-action):hover>.popover-hint{opacity:1;visibility:visible;transition-delay:.2s;translate:0 -50%}}& div:has(>.toolbox-action:focus-visible)>.popover-hint{opacity:1;visibility:visible;translate:0 -50%}& :is(.toolbox-fronts-wrap,.toolbox-lighting-wrap):is(:hover,:focus-within) .popover-hint{opacity:0;visibility:hidden}& :is(.toolbox-variants-wrap,.toolbox-fronts-wrap,.toolbox-lighting-wrap){z-index:2;position:relative}& .toolbox-flyout{top:0;left:calc(100% + var(--toolbox-rail-pad-x) + .5rem);z-index:4;padding:var(--toolbox-rail-pad-x);border-radius:var(--panelRadius);background:var(--surface-1);box-shadow:var(--floatShadow);opacity:0;visibility:hidden;transition:opacity var(--motion-fast), translate var(--motion-fast), visibility 0s linear .16s;gap:.25rem;margin:0;display:flex;position:absolute;translate:-.25rem;&:before{content:"";width:calc(var(--toolbox-rail-pad-x) + .5rem);height:var(--toolbox-tool);position:absolute;top:0;right:100%}}& :is(.toolbox-fronts-wrap,.toolbox-lighting-wrap):is(:hover,:focus-within)>.toolbox-flyout{opacity:1;visibility:visible;transition-delay:0s;translate:0}html[data-shell=smartphone] &{flex-direction:unset;flex-wrap:unset;width:auto;height:auto;min-height:0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;gap:0;margin:0;padding:0;overflow:visible;&:before,& .popover-hint{display:none}&>div:has(>.toolbox-action),&>.history>div:has(>.toolbox-action){box-sizing:border-box;width:var(--mobile-tool-size,2.35rem);max-width:var(--mobile-tool-size,2.35rem);height:var(--mobile-tool-size,2.35rem);flex-direction:column;justify-content:flex-start;align-items:center;gap:.1rem;width:100%;max-width:100%;height:auto;display:flex;position:relative;overflow:visible}& .tool-label{text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;text-align:center;max-width:100%;color:inherit;opacity:.7;font-size:.56rem;font-weight:500;line-height:1.15;display:block;overflow:hidden}& div:has(>.toolbox-action.active)>.tool-label{opacity:1;font-weight:600}& div:has(>.toolbox-action:disabled)>.tool-label{opacity:.35}& .toolbox-sep{display:none}&>div:has(>.toolbox-action)>.toolbox-action,&>.history .toolbox-action{--size:var(--mobile-tool-size,2.35rem);box-sizing:border-box;width:var(--size);max-width:var(--size);min-width:0;min-height:0;height:var(--size);max-height:var(--size);aspect-ratio:1;background:0 0;border-radius:50%;padding:0}&>div:has(>.toolbox-action)>.toolbox-action.active,&>.history .toolbox-action.active{background:var(--heading);color:var(--surface-1,#fff);box-shadow:none}&>div:has(>.toolbox-action)>.toolbox-action svg,&>.history .toolbox-action svg{width:1.35rem;min-width:0;height:1.35rem;min-height:0}}html[data-shell=tablet][data-shell-landscape=short] &{width:100%;height:100%;padding:.06rem max(.12rem, env(safe-area-inset-right,0)) .06rem max(.12rem, env(safe-area-inset-left,0));border:none;border-top:.0625rem solid var(--divider,transparent);box-shadow:none;border-radius:0;flex-flow:row;justify-content:space-between;align-items:center;gap:0;margin:0;overflow-x:clip;& .toolbox-sep{width:.0625rem;height:.9rem;margin:0 .0625rem}& .popover-hint{display:none}& .toolbox-action{--size:2.1rem;border-radius:.5rem}}html[data-shell=smartphone][data-shell-landscape=short] &{width:100%;height:100%;padding:.06rem max(.12rem, env(safe-area-inset-right,0)) .06rem max(.12rem, env(safe-area-inset-left,0));border:none;border-top:.0625rem solid var(--divider,transparent);box-shadow:none;border-radius:0;flex-flow:row;justify-content:space-between;align-items:center;gap:0;margin:0;overflow-x:clip;& .popover-hint{display:none!important}& .toolbox-sep{width:.0625rem;height:.9rem;margin:0 .0625rem}}}#toolbox-wrap:has(>#inspector) .popover-hint{display:none}#toolbox-wrap>.toolbox-variants-flyout{top:0;bottom:0;left:calc(100% + var(--toolbox-card-gap));z-index:4;width:var(--toolbox-card-w);border-radius:var(--panelRadius);background:var(--surface-1);box-shadow:var(--floatShadow);opacity:0;visibility:hidden;transition:opacity var(--motion-fast), translate var(--motion-fast), visibility 0s linear .2s;margin:0;font-size:1rem;position:absolute;overflow:clip;translate:-.25rem;html[data-shell=tablet][data-shell-landscape=short] &{top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);border-radius:0;width:min(18rem,46vw);position:fixed;left:0}}#toolbox-wrap:has(.toolbox-variants-wrap:hover,.toolbox-variants-wrap :focus-visible)>.toolbox-variants-flyout,#toolbox-wrap>.toolbox-variants-flyout:is(:hover,:has(:focus-visible)){opacity:1;visibility:visible;transition-delay:0s;translate:0}#toolbox-wrap:has(>.toolbox-variants-flyout) .toolbox-variants-wrap .popover-hint{display:none}@keyframes toolbox-busy-pulse{0%,to{scale:1}50%{scale:1.08}}button#dev-trigger{opacity:0;cursor:auto;background:0 0;border:none;width:1rem;height:1rem;padding:0;position:fixed;inset:0 auto auto 0}.toolbox-action[data-toolbox-action=moodLighting] svg,.toolbox-action[data-toolbox-action=sketch] svg{overflow:visible}.toolbox-action[data-toolbox-action=regenerate] svg{overflow:visible;& .wand{transform-box:fill-box;transform-origin:0 100%}& .spark path,& .dust circle{transform-box:fill-box;transform-origin:50%}& .trail{stroke-dasharray:.5 1.5;stroke-dashoffset:.5px}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.toolbox-action[data-toolbox-action=regenerate]:is(:hover,:focus-visible):not([disabled],.busy) svg{& .wand{animation:.9s cubic-bezier(.3,.7,.4,1) regen-wand}& .trail{animation:.36s linear .2s regen-trail}& .spark path{animation:regen-spark .8s ease-out calc(.26s + var(--i) * 70ms) backwards}& .dust circle{animation:regen-dust .62s ease-out calc(.36s + var(--i) * 35ms) backwards}}}.toolbox-action svg{& .leg-l,& .leg-r{transform-box:view-box;transform-origin:12px 5px}& .wine{--tilt:6deg;transform-box:view-box;transform-origin:7.5px 20.5px}& .tumbler{--tilt:-6deg;transform-box:view-box;transform-origin:17px 20.5px}& .head{transform-box:view-box;transform-origin:8px 9px}& .rotor{transform-box:view-box;transform-origin:var(--ox) var(--oy)}& .paint{transform-box:fill-box;transform-origin:50%}& .filament{transform-box:fill-box;transform-origin:50%}& .door{transform-box:view-box;transform-origin:4px 12px}& .pencil-body{transform-box:view-box;transform-origin:2.5px 21.5px}& .plan-door{transform-box:view-box;transform-origin:6px 21px}& .mark{transform-box:fill-box;transform-origin:50% 100%}}@media (hover:hover) and (prefers-reduced-motion:no-preference){.toolbox-action:is(:hover,:focus-visible):not([disabled],.busy){&[data-toolbox-action=undo] svg{animation:.6s cubic-bezier(.3,.7,.4,1) tb-undo}&[data-toolbox-action=redo] svg{animation:.6s cubic-bezier(.3,.7,.4,1) tb-redo}&:is([data-toolbox-action=newProject],[data-toolbox-action=restart]) svg{animation:.7s cubic-bezier(.65,0,.35,1) tb-spin}&[data-toolbox-action=materialColors] svg{animation:.7s ease-in-out tb-tilt;& .paint{animation:tb-paint .45s ease-out calc(.1s + var(--i) * 80ms)}}&[data-toolbox-action=kitchenStyle] svg{& .leg-l{animation:.6s cubic-bezier(.3,.7,.4,1) tb-leg-open-l}& .leg-r{animation:.6s cubic-bezier(.3,.7,.4,1) tb-leg-open-r}& .arc{animation:.55s ease-out .15s backwards tb-draw}}&[data-toolbox-action=facadesDrawers] svg{& .door{animation:.55s cubic-bezier(.2,.8,.2,1) tb-door-open}& .drawer{animation:.5s ease-out .12s backwards tb-drawer-out}& :is(.drawer-side,.inside){animation:.3s ease-out .3s backwards tb-fade-in}}&[data-toolbox-action=moodLighting] svg{& .glow-preview{animation:.8s ease-in-out .5s tb-peek}& .bulb{animation:.6s cubic-bezier(.3,.6,.4,1) tb-screw-in}& .filament{animation:.6s linear tb-twist}& .ray{animation:tb-draw .35s ease-out calc(.55s + var(--i) * 60ms) backwards}}&[data-toolbox-action=life] svg :is(.wine,.tumbler){animation:.8s ease-in-out tb-clink}&[data-toolbox-action=orthographicCamera] .glyphs{animation:.7s ease-in-out tb-turn}&:is([data-toolbox-action=roomVisible],[data-toolbox-action=grid]) svg{animation:.7s ease-in-out tb-flip}&[data-toolbox-action=cinematicTour]:not(.active) svg{& .craft{animation:1.2s ease-in-out tb-takeoff}& .rotor{animation:1.2s cubic-bezier(.5,0,.5,1) tb-rotor-spin}}&[data-toolbox-action=drawerColumnMarkers] svg .mark{animation:tb-hop .6s ease-out calc(var(--i) * .1s)}&[data-toolbox-action=lightHelpers] svg{& .head{animation:.7s ease-in-out tb-nod}& .ray{animation:tb-draw .4s ease-out calc(.15s + var(--i) * 80ms) backwards}}&[data-toolbox-action=sketch] svg{& .pencil-body{animation:.7s ease-in-out tb-scribble}& .pencil-trace{animation:.5s ease-out .15s backwards tb-draw}}&[data-toolbox-action=roomPlan] svg{& .plan-door{animation:.8s ease-in-out tb-plan-door}& .plan-swing{animation:.8s ease-in-out tb-plan-swing}}}}@media (prefers-reduced-motion:no-preference){.toolbox-action[data-toolbox-action=cinematicTour].active svg{& .craft{animation:.5s ease-out both tb-lift-off,1.6s ease-in-out .5s infinite tb-hover}& .rotor{animation:.4s linear infinite tb-rotor-run}}}@keyframes tb-undo{35%{rotate:-45deg}70%{rotate:8deg}}@keyframes tb-redo{35%{rotate:45deg}70%{rotate:-8deg}}@keyframes tb-tilt{30%{rotate:-10deg}65%{rotate:6deg}}@keyframes tb-paint{45%{scale:1.9}}@keyframes tb-leg-open-l{0%{rotate:-26deg}}@keyframes tb-leg-open-r{0%{rotate:26deg}}@keyframes tb-door-open{0%{scale:2.67 1}}@keyframes tb-drawer-out{0%{translate:-1.5px -1.5px}}@keyframes tb-fade-in{0%{opacity:0}}@keyframes tb-peek{35%{opacity:.9}50%{opacity:.35}65%{opacity:1}to{opacity:0}}@keyframes tb-clink{35%{rotate:var(--tilt)}50%{rotate:calc(var(--tilt) * .6)}62%{rotate:var(--tilt)}}@keyframes tb-turn{35%{scale:.75 1}70%{scale:1.05 1}}@keyframes tb-flip{35%{scale:1 .6}70%{scale:1 1.06}}@keyframes tb-takeoff{25%{translate:0}50%{translate:0 -1.6px}65%{translate:0 -1.2px}82%{translate:0 -1.5px}}@keyframes tb-rotor-spin{0%{opacity:0;rotate:0deg}15%,85%{opacity:1}to{opacity:0;rotate:calc(var(--dir,1) * 1440deg)}}@keyframes tb-rotor-run{0%{opacity:1;rotate:0deg}to{opacity:1;rotate:calc(var(--dir,1) * 360deg)}}@keyframes tb-lift-off{to{translate:0 -1px}}@keyframes tb-hover{0%,to{translate:0 -1px}50%{translate:0 -1.6px}}@keyframes tb-hop{30%{translate:0 -3px}55%{translate:0;scale:1.08 .9}75%{translate:0 -.8px;scale:1}}@keyframes tb-nod{35%{rotate:-10deg}70%{rotate:4deg}}@keyframes tb-scribble{15%{rotate:-5deg}35%{rotate:3deg}55%{rotate:-4deg}75%{rotate:1.5deg}}@keyframes tb-plan-door{45%{rotate:90deg}}@keyframes tb-plan-swing{0%,to{stroke-dasharray:1 1.1;stroke-dashoffset:0}45%{stroke-dasharray:1 1.1;stroke-dashoffset:1.05px}}@keyframes tb-screw-in{0%{translate:0 -2px}}@keyframes tb-twist{0%,50%{animation-timing-function:ease-in;scale:1}25%,75%{animation-timing-function:ease-out;scale:.3 1}}:is(.toolbox-action,#inspector .intro) svg{& .glow{transform-box:fill-box;transform-origin:50% 0}}@media (prefers-reduced-motion:no-preference){:is(.toolbox-action,#inspector .intro) svg{& .glow{animation:.5s cubic-bezier(.2,.8,.2,1) both light-on}& .rays .ray{animation:tb-draw .4s ease-out calc(.1s + var(--i) * 80ms) backwards}& .glass-glow{animation:.4s ease-out backwards tb-fade-in}}}@keyframes light-on{0%{opacity:0;scale:1 .15}}.loading-mark .segment{fill:currentColor;stroke:currentColor;stroke-width:5px;stroke-linejoin:round;stroke-dashoffset:0;fill-opacity:1;opacity:1;animation-duration:1.8s;animation-timing-function:cubic-bezier(.42,0,.2,1);animation-iteration-count:infinite;animation-fill-mode:backwards}.loading-mark .first{stroke-dasharray:360;animation-name:loading-k-360;animation-delay:20ms}.loading-mark .second,.loading-mark .third{stroke-dasharray:400;animation-name:loading-k-400}.loading-mark .second{animation-delay:.62s}.loading-mark .third{animation-delay:1.22s}@keyframes loading-k-360{0%,to{stroke-dashoffset:0;fill-opacity:1;opacity:1}34%{stroke-dashoffset:0;fill-opacity:0;opacity:.22}46%{stroke-dashoffset:360px;fill-opacity:0;opacity:.18}68%{stroke-dashoffset:0;fill-opacity:0;opacity:1}82%{stroke-dashoffset:0;fill-opacity:1;opacity:1}}@keyframes loading-k-400{0%,to{stroke-dashoffset:0;fill-opacity:1;opacity:1}34%{stroke-dashoffset:0;fill-opacity:0;opacity:.22}46%{stroke-dashoffset:400px;fill-opacity:0;opacity:.18}68%{stroke-dashoffset:0;fill-opacity:0;opacity:1}82%{stroke-dashoffset:0;fill-opacity:1;opacity:1}}dialog:is(#photo-mode,#photo-render-viewer){--stage:#0e0e0d;--glass:#121210a8;--glass-strong:#121210c7;--glass-line:#ffffff24;--glass-hover:#ffffff1f;--glass-text:#f5f3ef;--glass-bright:#fff;--glass-muted:#f5f3efad;box-sizing:border-box;background:var(--stage);width:100%;max-width:none;height:100%;max-height:none;color:var(--glass-text);z-index:var(--z-modal,10050);border:0;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden}dialog:is(#photo-mode,#photo-render-viewer)[open]{display:block}dialog:is(#photo-mode,#photo-render-viewer)[open]::backdrop{background:var(--stage)}dialog:is(#photo-mode,#photo-render-viewer) .stage{border-radius:var(--cardRadius);background:var(--glass);position:absolute;inset:15%;overflow:hidden;box-shadow:0 1.5rem 4rem #00000073}dialog:is(#photo-mode,#photo-render-viewer) .stage canvas,dialog:is(#photo-mode,#photo-render-viewer) .stage img{object-fit:cover;width:100%;height:100%;display:block}dialog:is(#photo-mode,#photo-render-viewer)>header,dialog:is(#photo-mode,#photo-render-viewer)>footer{width:auto;margin:0}dialog:is(#photo-mode,#photo-render-viewer)>header{pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:absolute;inset:1rem 1rem auto}dialog:is(#photo-mode,#photo-render-viewer)>header>*,dialog:is(#photo-mode,#photo-render-viewer)>footer>*{pointer-events:auto}dialog:is(#photo-mode,#photo-render-viewer) h2,dialog:is(#photo-mode,#photo-render-viewer) .close,dialog:is(#photo-mode,#photo-render-viewer) .status,dialog:is(#photo-mode,#photo-render-viewer) .bar,dialog:is(#photo-mode,#photo-render-viewer) .modes,dialog:is(#photo-mode,#photo-render-viewer) .failure{border:.0625rem solid var(--glass-line);background:var(--glass);-webkit-backdrop-filter:blur(1rem)saturate(1.2)}dialog:is(#photo-mode,#photo-render-viewer) h2,dialog:is(#photo-mode,#photo-render-viewer) h3,dialog:is(#photo-mode,#photo-render-viewer) .failure{color:var(--glass-text)}dialog:is(#photo-mode,#photo-render-viewer) h2{border-radius:var(--pillRadius);background:var(--glass-strong);letter-spacing:-.01em;margin:0;padding:.55rem 1rem;font-size:.95rem;font-weight:600}dialog:is(#photo-mode,#photo-render-viewer) :is(.close,.step){aspect-ratio:1;width:2.5rem;min-width:0;height:2.5rem;min-height:0;color:var(--glass-text);cursor:pointer;transition:background-color var(--motion-fast);border-radius:50%;flex:none;place-items:center;padding:0;display:grid}dialog:is(#photo-mode,#photo-render-viewer) :is(.close,.step):hover{background:var(--glass-strong)}dialog:is(#photo-mode,#photo-render-viewer) :is(.close,.step) svg{width:1.1rem;height:1.1rem}dialog:is(#photo-mode,#photo-render-viewer)>footer{pointer-events:none;justify-items:center;gap:.6rem;display:grid;position:absolute;inset:auto 1rem 1.25rem}dialog:is(#photo-mode,#photo-render-viewer) .status{border-radius:var(--cardRadius);gap:.4rem;width:min(100%,26rem);padding:.75rem 1rem;font-size:.92rem;display:grid}dialog:is(#photo-mode,#photo-render-viewer) .status small{color:var(--glass-muted);font-size:.8rem}dialog:is(#photo-mode,#photo-render-viewer) progress{border-radius:var(--pillRadius);background:var(--glass-hover);appearance:none;border:0;width:100%;height:.25rem;overflow:hidden}dialog:is(#photo-mode,#photo-render-viewer) progress::-webkit-progress-bar{background:var(--glass-hover)}dialog:is(#photo-mode,#photo-render-viewer) progress::-webkit-progress-value{background:var(--glass-text);transition:width var(--motion-fast)}dialog:is(#photo-mode,#photo-render-viewer) progress::-moz-progress-bar{background:var(--glass-text)}dialog:is(#photo-mode,#photo-render-viewer) progress:indeterminate{background:linear-gradient(var(--glass-text), var(--glass-text)) 0 0 / 32% 100% no-repeat, var(--glass-hover);animation:1.1s ease-in-out infinite alternate photo-progress-sweep}dialog:is(#photo-mode,#photo-render-viewer) progress:indeterminate::-webkit-progress-bar{background:0 0}dialog:is(#photo-mode,#photo-render-viewer) progress:indeterminate::-moz-progress-bar{background:0 0}@keyframes photo-progress-sweep{to{background-position:100% 0}}dialog:is(#photo-mode,#photo-render-viewer) .failure{border-radius:var(--cardRadius);margin:0;padding:.65rem 1rem;font-size:.92rem}dialog:is(#photo-mode,#photo-render-viewer) .bar{border-radius:var(--pillRadius);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;max-width:100%;padding:.35rem;display:flex}dialog:is(#photo-mode,#photo-render-viewer) .views{flex-wrap:wrap;justify-content:center;gap:.2rem;display:flex}dialog:is(#photo-mode,#photo-render-viewer) :is(.views,.modes) button{border-radius:var(--pillRadius);min-width:2.5rem;min-height:2.5rem;color:var(--glass-muted);font:inherit;font-size:.9rem;font-weight:var(--button-weight);cursor:pointer;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:0;padding:.45rem .95rem}dialog:is(#photo-mode,#photo-render-viewer) :is(.views,.modes) button:hover{background:var(--glass-hover);color:var(--glass-text)}dialog:is(#photo-mode,#photo-render-viewer) :is(.views,.modes) button[aria-checked=true]{background:var(--glass-text);color:var(--stage)}dialog:is(#photo-mode,#photo-render-viewer) .views button:disabled{opacity:.35;pointer-events:none}dialog:is(#photo-mode,#photo-render-viewer) .bar>.actions{border-left:.0625rem solid var(--glass-line);padding-left:.5rem}dialog:is(#photo-mode,#photo-render-viewer) .actions{flex-wrap:wrap;justify-content:center;gap:.35rem;display:flex}dialog:is(#photo-mode,#photo-render-viewer) .button{border:.0625rem solid var(--glass-line);border-radius:var(--pillRadius);min-height:2.5rem;color:var(--glass-text);font:inherit;font-size:.9rem;font-weight:var(--button-weight);text-align:center;cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast);background:0 0;justify-content:center;align-items:center;gap:.45rem;padding:.45rem 1.05rem;text-decoration:none;display:inline-flex}dialog:is(#photo-mode,#photo-render-viewer) .button:hover{background:var(--glass-hover)}dialog:is(#photo-mode,#photo-render-viewer) .button.primary{background:var(--glass-text);color:var(--stage);border-color:#0000}dialog:is(#photo-mode,#photo-render-viewer) .button.primary:hover{background:var(--glass-bright)}dialog:is(#photo-mode,#photo-render-viewer) .button[aria-disabled=true]{opacity:.4;pointer-events:none}dialog:is(#photo-mode,#photo-render-viewer) .button svg{width:1.05em;height:1.05em}dialog:is(#photo-mode,#photo-render-viewer) .button:focus-visible,dialog:is(#photo-mode,#photo-render-viewer) :is(.close,.step):focus-visible,dialog:is(#photo-mode,#photo-render-viewer) :is(.views,.modes) button:focus-visible{outline:.125rem solid var(--glass-text);outline-offset:.125rem}dialog:is(#photo-mode,#photo-render-viewer) .notice{border:.0625rem solid var(--glass-line);border-radius:var(--cardRadius);background:var(--glass-strong);justify-items:start;gap:.6rem;max-width:36rem;margin-inline:auto;padding:1.25rem;display:grid;position:absolute;inset:50% 1rem auto;transform:translateY(-50%)}dialog:is(#photo-mode,#photo-render-viewer) .notice .mark{aspect-ratio:1;background:var(--glass-hover);border-radius:50%;place-items:center;width:2.25rem;height:2.25rem;display:grid}dialog:is(#photo-mode,#photo-render-viewer) .notice .mark svg{width:1.1rem;height:1.1rem}dialog:is(#photo-mode,#photo-render-viewer) .notice h3{margin:0;font-size:1.05rem;font-weight:650}dialog:is(#photo-mode,#photo-render-viewer) .notice p{color:var(--glass-muted);margin:0;font-size:.95rem;line-height:1.45}dialog:is(#photo-mode,#photo-render-viewer) .notice .actions{justify-content:flex-end;width:100%;margin-top:.4rem;& .primary{order:1}html[data-shell=smartphone] &{flex-direction:column-reverse}}dialog#photo-mode>header{grid-template-columns:1fr auto 1fr;display:grid;& h2{box-sizing:border-box;justify-self:start;align-items:center;min-height:2.5rem;display:flex}& .close{justify-self:end}}dialog#photo-mode .modes{box-sizing:border-box;border-radius:var(--pillRadius);background:var(--glass-strong);gap:.2rem;height:2.5rem;padding:.2rem;display:flex}dialog#photo-mode .modes button{white-space:nowrap;min-height:0;padding:0 .9rem}dialog#photo-mode .stage .wait{place-items:center;height:100%;display:grid}dialog#photo-mode .stage[data-fit=contain]{box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;display:flex;& img{object-fit:contain;border-radius:var(--cardRadius);width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 1.5rem 4rem #00000073}}dialog#photo-mode .notice .failure{-webkit-backdrop-filter:none;color:var(--glass-text);background:0 0;border:0;padding:0}html[data-shell=smartphone] dialog#photo-mode{&>header{grid-template-columns:1fr auto;& h2{clip-path:inset(50%);white-space:nowrap;width:.0625rem;height:.0625rem;position:absolute;overflow:hidden}& .modes{justify-self:start}}& .stage{inset:4.5rem 1rem 11rem}&>footer{grid-template-columns:minmax(0,1fr)}& .views{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;min-width:0;padding-inline-end:2.5rem;overflow-x:auto;mask-image:linear-gradient(90deg,#000 calc(100% - 2.5rem),#0000)}& .views button{flex:none;padding-inline:.75rem;font-size:.82rem}}dialog#photo-render-viewer .stage{box-shadow:none;background:0 0;border-radius:0;justify-content:center;align-items:center;display:flex;inset:4.5rem 1rem 6.5rem}dialog#photo-render-viewer .stage img{object-fit:contain;border-radius:var(--cardRadius);width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 1.5rem 4rem #00000073}dialog#photo-render-viewer .step{background:0 0;border:0}html[data-shell=smartphone] dialog:is(#photo-mode,#photo-render-viewer) .bar>.actions{border-left:0;padding-left:0}html[data-shell=smartphone] dialog:is(#photo-mode,#photo-render-viewer) .bar{border-radius:1.6rem}@media (prefers-reduced-motion:reduce){dialog:is(#photo-mode,#photo-render-viewer) progress:indeterminate{background-position:50% 0,0 0;animation:none}dialog:is(#photo-mode,#photo-render-viewer) .button,dialog:is(#photo-mode,#photo-render-viewer) :is(.close,.step),dialog:is(#photo-mode,#photo-render-viewer) :is(.views,.modes) button,dialog:is(#photo-mode,#photo-render-viewer) progress::-webkit-progress-value{transition:none}}.decimal-stepper{background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--fieldRadius);min-width:0;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);grid-template-columns:2.75rem minmax(4.5rem,1fr) 2.75rem;align-items:stretch;display:grid;overflow:hidden}.decimal-stepper:hover{border-color:var(--ring)}.decimal-stepper:focus-within{border-color:var(--heading);box-shadow:var(--inputFocusRing)}.decimal-nudge{width:2.75rem;min-width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.decimal-nudge:first-child{border-inline-end:.0625rem solid var(--line)}.decimal-nudge:last-child{border-inline-start:.0625rem solid var(--line)}label:hover .decimal-nudge{background:0 0}.decimal-stepper .decimal-nudge:hover:not(:disabled){background:var(--wash)}.decimal-stepper .decimal-nudge:active:not(:disabled){background:color-mix(in srgb, var(--heading) 12%, transparent)}.decimal-nudge:disabled{opacity:.38;cursor:default}.decimal-nudge:focus-visible{outline:var(--focus-outline);outline-offset:-.125rem}.decimal-nudge .icon,.decimal-nudge svg{width:1.1rem;height:1.1rem;display:block}.decimal-value{background:0 0;border:none;min-width:0;height:2.75rem;display:block;position:relative}.decimal-stepper.is-invalid{border-color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, var(--surface-1))}.decimal-stepper .decimal-value input[type=text]{box-sizing:border-box;width:100%;min-width:0;height:2.75rem;min-height:2.75rem;font:inherit;font-variant-numeric:tabular-nums;text-align:center;color:var(--heading);box-shadow:none;user-select:text;background:0 0;border:none;border-radius:0;outline:none;margin:0;padding:0 1.45rem 0 .35rem;font-size:1rem;font-weight:650;line-height:2.75rem;display:block}.decimal-unit{pointer-events:none;color:var(--textSecondary);font-size:.75rem;font-weight:550;line-height:1;position:absolute;top:50%;right:.4rem;translate:0 -50%}.builder-container{--ruler:1.3rem;flex-direction:column;flex:auto;width:100%;min-height:0;display:flex}.builder-container .canvas-wrapper{flex:auto;min-height:0;padding:0;display:flex;position:relative;overflow:hidden}.builder-container .blueprint-svg{cursor:crosshair;touch-action:none;user-select:none;background:var(--background);border:none;border-radius:0;width:100%;height:100%;max-height:none;margin:0;display:block}.builder-container .grid-minor{stroke:color-mix(in srgb, var(--heading) 14%, transparent);stroke-width:.0625rem;vector-effect:non-scaling-stroke}.builder-container .grid-major{stroke:color-mix(in srgb, var(--heading) 30%, transparent);stroke-width:.09rem;vector-effect:non-scaling-stroke}.builder-container .room{fill:none;stroke:none}.builder-container .kitchen-hatch-fill{fill:color-mix(in srgb, var(--heading) 12%, transparent)}.builder-container .kitchen-hatch{stroke:color-mix(in srgb, var(--heading) 38%, transparent);stroke-width:.05rem;vector-effect:non-scaling-stroke}.builder-container .kitchen-run{stroke:color-mix(in srgb, var(--heading) 48%, transparent);stroke-width:.12rem;stroke-linejoin:miter;stroke-linecap:square;vector-effect:non-scaling-stroke;shape-rendering:geometricprecision;pointer-events:none}.builder-container .kitchen-over{fill:color-mix(in srgb, var(--danger) 22%, transparent);stroke:var(--danger);stroke-width:.16rem;stroke-linejoin:miter;vector-effect:non-scaling-stroke;pointer-events:none}.builder-container .wall{fill:none;stroke:var(--heading);stroke-width:.42rem;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.builder-container .wall-halo{stroke:color-mix(in srgb, var(--heading) 50%, transparent);stroke-width:1.4rem;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}.builder-container .draft{fill:none;stroke:var(--heading);stroke-width:.28rem;stroke-dasharray:.4rem .32rem;stroke-linecap:round;vector-effect:non-scaling-stroke}.builder-container .draft.close{stroke:var(--primary,var(--heading));stroke-dasharray:none}.builder-container .guide{stroke:color-mix(in srgb, var(--heading) 22%, transparent);stroke-width:.0625rem;vector-effect:non-scaling-stroke}.builder-container .node{fill:var(--surface-1);stroke:var(--heading);stroke-width:.125rem;vector-effect:non-scaling-stroke}.builder-container .node.hot{fill:var(--surface-1);stroke:var(--heading);stroke-width:.16rem}.builder-container .blueprint-svg[data-node=grab]{cursor:grab}.builder-container .blueprint-svg[data-node=drag]{cursor:grabbing}.builder-container .node.active,.builder-container .node.preview{fill:var(--heading);stroke:var(--surface-1)}.builder-container .close-ring{fill:color-mix(in srgb, var(--primary,var(--heading)) 16%, transparent);stroke:var(--primary,var(--heading));stroke-width:.14rem;vector-effect:non-scaling-stroke}.builder-container .cross line{stroke:color-mix(in srgb, var(--heading) 50%, transparent);stroke-width:.0625rem;vector-effect:non-scaling-stroke}.builder-container .ghost{fill:none;stroke:color-mix(in srgb, var(--heading) 45%, transparent);stroke-width:.125rem;vector-effect:non-scaling-stroke}.builder-container .opening-cut{fill:none;stroke:var(--background);stroke-width:.55rem;stroke-linecap:butt;vector-effect:non-scaling-stroke}.builder-container .opening-frame{fill:var(--background);stroke:var(--heading);stroke-width:.2rem;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.builder-container .opening-glass,.builder-container .opening-jamb,.builder-container .opening-leaf,.builder-container .opening-arc{fill:none;stroke:var(--heading);stroke-width:.2rem;stroke-linecap:square;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.builder-container .opening-arc{stroke-width:.18rem}.builder-container .opening.is-preview,.builder-container .utility.is-preview{opacity:.55}.builder-container .opening.selected .opening-cut{stroke:color-mix(in srgb, var(--heading) 28%, var(--background));stroke-width:1.15rem}.builder-container .utility.selected .utility-dot{stroke:var(--ring);stroke-width:.5rem;paint-order:stroke}.builder-container .utility-dot{stroke:var(--background);stroke-width:.12rem;vector-effect:non-scaling-stroke}.builder-container .utility-icon{pointer-events:none}.builder-container .dim.live{opacity:.7}.builder-container .dim text{fill:var(--heading);stroke:var(--background);stroke-width:.14em;paint-order:stroke fill;font-variant-numeric:tabular-nums;font-size:1.55em;font-weight:650}.builder-container .opening-dim text{stroke-width:.18em;font-size:1.15em;font-weight:600}.builder-container .empty,.builder-container .plan-hint{z-index:1;pointer-events:none;text-align:center;text-wrap:balance;color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--controlRadius);box-shadow:var(--popoverShadow);margin:0;padding:.5rem .9rem;font-size:.8125rem;font-weight:550;line-height:1.4;position:absolute}.builder-container .empty{flex-direction:column;align-items:center;gap:.35rem;width:min(20rem,100% - 3rem);max-width:min(20rem,100% - 3rem);padding:1rem 1.15rem 1.05rem;display:flex;inset:50% auto auto 50%;translate:-50% -50%}.builder-container .empty-icon{width:var(--hit-min,2.75rem);height:var(--hit-min,2.75rem);background:var(--wash);color:var(--heading);border-radius:50%;place-items:center;margin-block-end:.15rem;display:grid}.builder-container .empty-icon svg{width:1.35rem;height:1.35rem}.builder-container .empty strong{color:var(--heading);margin:0;font-size:1rem;font-weight:650;line-height:1.25}.builder-container .empty>span:not(.empty-icon){color:var(--heading);font-size:.8125rem;font-weight:500;line-height:1.4}.builder-container .cursor-hud{z-index:2;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;background:color-mix(in srgb, var(--heading) 92%, transparent);border-radius:var(--pillRadius);margin:0;padding:.2rem .45rem;font-size:.6rem;font-weight:650;line-height:1.2;position:absolute;translate:.7rem .7rem;color:var(--surface-1)!important}.builder-container .plan-hint{width:max-content;max-width:min(26rem,100% - 3rem);inset-block-start:.75rem;inset-inline-start:50%;translate:-50%}.builder-container .inspect{flex-direction:row;align-items:flex-end;gap:.4rem;display:flex}.builder-container .opening-size{pointer-events:auto;isolation:isolate;width:13.25rem;max-width:13.25rem;color:var(--heading);background-color:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--cardRadius);box-shadow:var(--popoverShadow);animation:opening-size-in var(--motion-fast,.16s) ease;flex-direction:column;flex:none;gap:.65rem;margin:0;padding:.7rem .75rem .8rem;display:flex}.builder-container .opening-size-title{align-items:center;gap:.4rem;margin:0;font-size:.875rem;font-weight:650;line-height:1.3;display:flex}.builder-container .opening-size-title .icon,.builder-container .opening-size-title svg{width:1.1rem;height:1.1rem}.builder-container .opening-preview{place-items:center;height:3.5rem;padding:.2rem 0;display:grid}.builder-container .opening-preview-frame{box-sizing:border-box;border:.14rem solid var(--heading);background:color-mix(in srgb, var(--heading) 8%, transparent);max-width:100%;height:100%;max-height:100%;box-shadow:inset 0 0 0 .2rem color-mix(in srgb, var(--heading) 12%, transparent);border-radius:.28rem}.builder-container .opening-size-field{flex-direction:column;gap:.3rem;display:flex}.builder-container .opening-size-field>label{overflow-wrap:anywhere;font-size:.75rem;font-weight:550;line-height:1.3}.builder-container .opening-size .field-hint{color:var(--textSecondary);font-size:.75rem;font-weight:450;line-height:1.35}.builder-container .inspector-check{cursor:pointer;align-items:flex-start;gap:.45rem;font-size:.75rem;line-height:1.35;display:flex}.builder-container .inspector-check input{width:1rem;height:1rem;accent-color:var(--heading);flex:none;margin:.05rem 0 0}.builder-container .inspector-actions{flex-direction:column;gap:.4rem;display:flex}.builder-container .inspector-action{min-width:0;min-height:2.75rem;color:var(--heading);border:.0625rem solid var(--line);border-radius:var(--controlRadius);font-size:.8125rem;font-weight:var(--button-weight);text-align:left;cursor:pointer;background:0 0;align-items:center;gap:.45rem;padding:.35rem .75rem;display:flex}.builder-container .inspector-action span{overflow-wrap:anywhere;white-space:normal;min-width:0;font-weight:inherit;line-height:1.25}.builder-container .inspector-action:hover{background:var(--wash);border-color:var(--ring)}.builder-container .inspector-action:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.builder-container .inspector-action .icon{flex:none;width:1.1rem;height:1.1rem;display:inline-flex}.builder-container .inspector-action svg{width:100%;height:100%}@keyframes opening-size-in{0%{opacity:0;transform:translate(.45rem)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.builder-container .opening-size{animation:none}}.builder-container .plan-hint[data-tone=close]{background:color-mix(in srgb, var(--primary,var(--heading)) 14%, var(--surface-1));border-color:color-mix(in srgb, var(--primary,var(--heading)) 28%, transparent);font-weight:650}.builder-container .chrome{z-index:3;pointer-events:none;grid-template-rows:auto auto;justify-items:end;gap:.45rem;display:grid;position:absolute;inset-block-end:calc(var(--ruler) + .45rem + env(safe-area-inset-bottom,0));inset-inline-end:.75rem}.builder-container .chrome>*{pointer-events:auto}.builder-container .toolbox-wrap{--toolbox-tool:var(--hit-min,2.75rem);--toolbox-rail-pad-x:.3rem;z-index:0;flex-direction:row-reverse;grid-row:1;align-items:flex-end;gap:.4rem;display:flex;position:relative;inset:auto}.builder-container .toolbox,.builder-container .toolbox-nested{background:var(--surfaceWarm);border-radius:var(--panelRadius);box-shadow:var(--softShadow), var(--panelHighlight);border:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.35rem;padding:.3rem;display:flex}.builder-container .groups{flex-direction:column;align-items:center;gap:.35rem;display:flex}.builder-container .view{border-block-start:.0625rem solid var(--line);flex-direction:column;align-items:center;gap:.35rem;margin-block-start:.35rem;padding-block-start:.5rem;display:flex}.builder-container .lead{border-block-end:.0625rem solid var(--line);flex-direction:column;align-items:center;margin-block-end:.35rem;padding-block-end:.5rem;display:flex}.builder-container .tool{align-items:center;display:flex;position:relative}.builder-container .pan-tool,.builder-container .point-inline,.builder-container .toolbox-action .name{display:none}.builder-container .points{z-index:3;background:var(--surfaceWarm);border-radius:var(--panelRadius);box-shadow:var(--softShadow), var(--panelHighlight);gap:.35rem;padding:.3rem;display:flex;position:absolute;top:50%;right:calc(100% + .65rem);transform:translateY(-50%)}.builder-container .toolbox-action{--size:var(--toolbox-tool);width:var(--size);height:var(--size);min-width:var(--size);min-height:var(--size);max-width:var(--size);border-radius:var(--controlRadius);color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.builder-container .toolbox-action:hover:not(.active,:disabled){background:var(--wash)}.builder-container .toolbox-action:active:not(.active,:disabled){background:color-mix(in srgb, var(--heading) 12%, transparent)}.builder-container .toolbox-action:disabled{opacity:.38;cursor:default}.builder-container .toolbox-action[data-import]{box-shadow:inset 0 0 0 .125rem var(--heading)}.builder-container .toolbox-action[data-clear]{color:var(--danger)}.builder-container .toolbox-action.active{background:var(--heading);color:var(--surface-1)}.builder-container .toolbox-action:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.builder-container .toolbox-action.active span,.builder-container .toolbox-action.active svg{color:inherit}.builder-container .icon,.builder-container .icon svg,.builder-container .toolbox-action svg{width:calc(var(--toolbox-tool) / 2.15);height:calc(var(--toolbox-tool) / 2.15);flex:none;display:block}.builder-container .popover-hint{z-index:3;pointer-events:none;opacity:0;white-space:nowrap;color:var(--surface-1);background:var(--heading);box-shadow:var(--buttonShadow);border-radius:.5rem;padding:.4rem .65rem;font-size:0;font-weight:500;line-height:1.2;position:absolute;inset:50% calc(100% + .4rem) auto auto;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.builder-container .tool:hover .popover-hint,.builder-container .tool:focus-within .popover-hint{opacity:1;font-size:.78rem}.builder-container .toolbox-wrap:has(.toolbox-nested) .groups .popover-hint{display:none}}.builder-container .blueprint-svg[data-pan=ready]{cursor:grab}.builder-container .blueprint-svg[data-pan=active]{cursor:grabbing}.builder-container .scale{z-index:2;pointer-events:none;position:absolute;inset:0}.builder-container .gutter{z-index:1;width:var(--ruler);height:var(--ruler);background:color-mix(in srgb, var(--surface-1) 96%, transparent);position:absolute;inset-block-end:0;inset-inline-start:0}.builder-container .ruler{pointer-events:none;background:color-mix(in srgb, var(--surface-1) 94%, transparent);position:absolute;overflow:visible}.builder-container .ruler.x{height:var(--ruler);border-block-start:.0625rem solid var(--line);inset-block-end:0;inset-inline:0}.builder-container .ruler.y{width:var(--ruler);border-inline-end:.0625rem solid var(--line);inset-block:0;inset-inline-start:0}.builder-container .mark{position:absolute}.builder-container .ruler.x .mark{width:0;border-inline-start:.0625rem solid color-mix(in srgb, var(--heading) 40%, transparent);inset-block:.28rem 0;inset-inline-start:var(--t)}.builder-container .ruler.y .mark{height:0;border-block-start:.0625rem solid color-mix(in srgb, var(--heading) 40%, transparent);inset-block-start:var(--t);inset-inline:.32rem 0}.builder-container .ruler.x .mark[data-major]{border-inline-start-width:.125rem;border-inline-start-color:color-mix(in srgb, var(--heading) 70%, transparent);inset-block-start:.08rem}.builder-container .ruler.y .mark[data-major]{border-block-start-width:.125rem;border-block-start-color:color-mix(in srgb, var(--heading) 70%, transparent);inset-inline-start:.14rem}.builder-container .mark .n{font-variant-numeric:tabular-nums;color:var(--heading);white-space:nowrap;font-size:.5rem;font-weight:650;line-height:1;position:absolute}.builder-container .ruler.x .n{inset-block-start:.1rem;inset-inline-start:.2rem}.builder-container .ruler.y .n{inset-block-start:.15rem;inset-inline-end:.15rem}.builder-container .dock{z-index:0;pointer-events:auto;background:var(--surfaceWarm);border-radius:var(--panelRadius);min-width:0;box-shadow:var(--softShadow), var(--panelHighlight);flex-direction:row;grid-row:2;align-items:center;gap:.55rem;padding:.2rem .35rem;display:flex;position:relative;inset:auto}.builder-container .meter{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--heading);margin:0;padding-inline-end:.15rem;font-size:.75rem;font-weight:650;line-height:1}.builder-container .meter .size{font-weight:inherit}.builder-container .dock .scale-segment{border-inline-end:.0625rem solid var(--line);padding-inline:.2rem .55rem}.builder-container .zoom{flex-direction:row;align-items:center;gap:.25rem;display:flex}.builder-container .dock:has(.meter) .zoom{border-inline-start:.0625rem solid var(--line);padding-inline-start:.35rem}.builder-container .zoom .scale-action{background:var(--wash);border-radius:50%}.builder-container .zoom .scale-action:hover:not(:disabled){background:var(--heading);color:var(--surface-1)}.builder-container .scale-action{width:var(--hit-min,2.75rem);height:var(--hit-min,2.75rem);min-width:var(--hit-min,2.75rem);min-height:var(--hit-min,2.75rem);border-radius:var(--controlRadius);color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background var(--motion-fast), color var(--motion-fast);background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0;display:inline-flex}.builder-container .scale-action:hover:not(:disabled){background:var(--wash)}.builder-container .scale-action:active:not(:disabled){background:color-mix(in srgb, var(--heading) 12%, transparent)}.builder-container .scale-action:disabled{opacity:.38;cursor:default}.builder-container .scale-action:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}.builder-container .scale-action .icon,.builder-container .scale-action svg{width:1.15rem;height:1.15rem;display:block}.builder-container .zoom-readout{min-width:3.5rem;height:var(--hit-min,2.75rem);border-radius:var(--controlRadius);font:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--heading);cursor:pointer;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;margin:0;padding:0 .35rem;font-size:.875rem;font-weight:650;line-height:1;display:inline-flex}.builder-container .zoom-readout:hover{background:var(--wash)}.builder-container .zoom-readout:active{background:color-mix(in srgb, var(--heading) 12%, transparent)}.builder-container .zoom-readout:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}html[data-shell=smartphone] .builder-container .plan-hint{max-width:calc(100% - 1.5rem)}html[data-shell=smartphone] .builder-container .opening-size{width:min(13.25rem,100vw - 5.5rem);max-width:min(13.25rem,100vw - 5.5rem)}html[data-shell=smartphone] .builder-container .empty{width:calc(100% - 2rem);max-width:calc(100% - 2rem);padding:.9rem 1rem}html[data-shell=smartphone] .builder-container .chrome{flex-direction:column;align-items:stretch;gap:.4rem;padding-inline:.4rem;display:flex;inset-block-end:calc(var(--ruler) + .35rem + env(safe-area-inset-bottom,0));inset-inline:0}html[data-shell=smartphone] .builder-container .inspect{flex-direction:column;align-items:stretch}html[data-shell=smartphone] .builder-container .toolbox-wrap{width:100%;min-width:0;display:block}html[data-shell=smartphone] .builder-container .toolbox{overscroll-behavior-inline:contain;scrollbar-width:none;border-radius:var(--controlRadius);flex-direction:row;align-items:stretch;gap:.5rem;width:100%;padding:.3rem;overflow-x:auto}html[data-shell=smartphone] .builder-container .toolbox::-webkit-scrollbar{display:none}html[data-shell=smartphone] .builder-container .groups,html[data-shell=smartphone] .builder-container .view{flex-direction:row;gap:.15rem}html[data-shell=smartphone] .builder-container .view{border-block:none;border-inline-start:.0625rem solid var(--line);margin:0;padding:0 0 0 .5rem}html[data-shell=smartphone] .builder-container .lead{border-block:none;border-inline-end:.0625rem solid var(--line);flex-direction:row;margin:0;padding:0 .5rem 0 0}html[data-shell=smartphone] .builder-container .tool{flex:none}html[data-shell=smartphone] .builder-container .pan-tool,html[data-shell=smartphone] .builder-container .toolbox-action .name{display:block}html[data-shell=smartphone] .builder-container .point-inline{display:contents}html[data-shell=smartphone] .builder-container .points-tool{display:none}html[data-shell=smartphone] .builder-container .toolbox-action{border-radius:var(--controlRadius);flex-direction:column;justify-content:flex-start;gap:.15rem;width:3.8rem;min-width:3.8rem;max-width:3.8rem;height:3.55rem;min-height:3.55rem;padding:.45rem .2rem .2rem}html[data-shell=smartphone] .builder-container .toolbox-action .name{text-align:center;white-space:normal;overflow-wrap:break-word;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:100%;font-size:.625rem;font-weight:600;line-height:1.1;display:-webkit-box;overflow:hidden}html[data-shell=smartphone] .builder-container .opening-size{flex-direction:column;width:100%;max-width:none;padding:.6rem;display:flex}html[data-shell=smartphone] .builder-container .opening-size-title,html[data-shell=smartphone] .builder-container .opening-preview{display:none}html[data-shell=smartphone] .builder-container .opening-size-field{flex-direction:row;align-items:center;min-width:0}html[data-shell=smartphone] .builder-container .opening-size-field>label{flex:0 0 3.5rem}html[data-shell=smartphone] .builder-container .opening-size-field .decimal-stepper{flex:auto;grid-template-columns:2.25rem minmax(0,1fr) 2.25rem;min-width:0}html[data-shell=smartphone] .builder-container .opening-size-field .decimal-nudge{width:2.25rem;min-width:2.25rem}html[data-shell=smartphone] .builder-container .opening-size .field-hint{display:none}html[data-shell=smartphone] .builder-container .dock{align-self:flex-end;gap:.4rem;width:max-content;max-width:100%;padding:.15rem .4rem}html[data-shell=smartphone] .builder-container .dock:has(.meter){grid-template-columns:auto auto;row-gap:.3rem;display:grid;& .meter{white-space:normal;grid-area:1/1}& .meter .size{white-space:nowrap}& .scale-segment{border-inline-end:none;grid-area:2/1;padding-inline:0}& .scale-segment .track{justify-content:flex-start}& .zoom{grid-area:1/2/3}}html[data-shell=smartphone] .builder-container .stats{gap:.45rem}html[data-shell=smartphone] .builder-container .zoom-readout{min-width:3rem;font-size:.8125rem}html[data-shell=smartphone] .builder-container .popover-hint{display:none}@media (orientation:landscape) and (height<=32rem){html[data-shell=smartphone] .builder-container .plan-hint,html[data-shell=smartphone] .builder-container .dock{display:none}html[data-shell=smartphone] .builder-container .inspect{align-self:flex-start;width:min(22rem,100vw - .8rem)}}.builder-container .plan-file{display:none}.builder-container .underlay{opacity:.4;pointer-events:none}.builder-container .empty-import{pointer-events:auto;border:.0625rem solid var(--line);border-radius:var(--pillRadius);background:var(--surface-1);color:var(--heading);font:inherit;font-size:.8125rem;font-weight:var(--button-weight);cursor:pointer;align-items:center;gap:.45em;margin-block-start:.4rem;padding:.5rem .95rem;display:inline-flex}.builder-container .empty-import:hover{background:var(--fill-hover)}.builder-container .empty-import .icon{place-items:center;display:grid}.builder-container .empty-import svg{width:1.05em;height:1.05em}.builder-container .plan-notice{z-index:2;text-wrap:balance;width:max-content;max-width:min(30rem,100% - 3rem);color:var(--heading);background:var(--surface-1);border:.0625rem solid var(--line);border-radius:var(--controlRadius);box-shadow:var(--popoverShadow);align-items:center;gap:.5rem;margin:0;padding:.45rem .45rem .45rem .9rem;font-size:.8125rem;font-weight:550;line-height:1.4;display:flex;position:absolute;inset-block-start:.75rem;inset-inline-start:50%;translate:-50%}.builder-container .plan-notice[data-busy]{padding-inline-end:.9rem;animation:1.4s ease-in-out infinite plan-notice-pulse}.builder-container .notice-close{width:2rem;min-width:0;height:2rem;min-height:0;color:var(--heading);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.builder-container .notice-close:hover{background:var(--fill-hover)}.builder-container .notice-close svg{width:1rem;height:1rem}@keyframes plan-notice-pulse{50%{opacity:.6}}@media (prefers-reduced-motion:reduce){.builder-container .plan-notice[data-busy]{animation:none}}dialog.room-plan-dialog,dialog.room-plan-dialog[open]{inset:auto;border:none;border-radius:var(--panelRadius);box-sizing:border-box;width:calc(85vw - .425rem);max-width:none;height:calc(85dvh - .425rem);max-height:none;color:var(--text);text-shadow:none;box-shadow:none;z-index:var(--z-overlay,100120);overscroll-behavior:contain;background:0 0;border-bottom:none;gap:0;margin:0;padding:0;position:fixed;top:50%;left:50%;translate:-50% -50%}dialog.room-plan-dialog::backdrop{background:var(--modalVeil);-webkit-backdrop-filter:blur(.4rem)}dialog.room-plan-dialog[open]{animation:room-plan-in var(--motion-spring,.28s ease-out) both;place-items:stretch stretch;display:grid}body:has(dialog.room-plan-dialog[open]){overflow:hidden}.room-plan-card{border-radius:var(--panelRadius);background:var(--surface-1);border:.0625rem solid var(--line);width:100%;height:100%;max-height:none;box-shadow:var(--floatShadow);box-sizing:border-box;flex-direction:column;padding:0;display:flex;overflow:hidden}.room-plan-head{--room-plan-btn:2.25rem;border-block-end:.0625rem solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;margin:0;padding:.5rem .6rem .5rem .9rem;display:flex}.room-plan-copy{min-width:0;min-height:var(--room-plan-btn);flex-direction:column;flex:auto;justify-content:center;gap:.12rem;display:flex}.room-plan-copy h2{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;color:var(--heading);margin:0;font-size:1.05rem;font-weight:650;line-height:1.2;overflow:hidden}.room-plan-copy h2 .short{display:none}.room-plan-copy p{white-space:nowrap;text-overflow:ellipsis;color:var(--textSecondary,var(--textMuted,var(--text)));margin:0;font-size:.75rem;font-weight:500;line-height:1.3;overflow:hidden}.room-plan-actions{flex-direction:row;flex:none;align-items:center;gap:.4rem;display:flex}.room-plan-actions>*{flex-shrink:0}.room-plan-actions .room-plan-done{height:var(--room-plan-btn);min-height:var(--room-plan-btn);border-radius:var(--pillRadius);font-size:.78rem;font-weight:var(--button-weight);white-space:nowrap;cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast);border:none;flex-direction:row;justify-content:center;align-items:center;gap:.32rem;padding:0 .72rem;display:inline-flex}.room-plan-done:active{background:var(--fill-hover)}.room-plan-done .icon,.room-plan-done svg{flex:none;width:.92rem;height:.92rem;display:block}.room-plan-close{box-sizing:border-box;width:var(--room-plan-btn);height:var(--room-plan-btn);min-width:var(--room-plan-btn);min-height:var(--room-plan-btn);background:var(--wash);color:var(--heading);cursor:pointer;touch-action:manipulation;transition:background-color var(--motion-fast), color var(--motion-fast);border:none;border-radius:50%;flex:none;place-items:center;margin:0;margin-inline-start:.5rem;padding:0;display:inline-grid}.room-plan-close span,.room-plan-close svg{width:.92rem;height:.92rem;display:block}.room-plan-close:hover,.room-plan-close:active{background:var(--heading);color:var(--surface-1)}.room-plan-close:focus-visible,.room-plan-done:focus-visible{outline:var(--focus-outline,.125rem solid currentColor);outline-offset:var(--focus-offset,.125rem);box-shadow:var(--focus-ring,0 0 0 .1875rem color-mix(in srgb, var(--heading) 35%, transparent))}.room-plan-body{flex:auto;min-height:0;display:flex;overflow:hidden}.room-plan-body .builder-container{flex:auto;height:auto;min-height:0;max-height:none}.room-plan-body .builder-container aside.canvas-wrapper{flex:auto;min-height:0}.room-plan-body .builder-container .blueprint-svg{width:100%;height:100%;max-height:none}#room-plan-dialog.room-plan-dialog .builder-container .toolbox button span,#room-plan-dialog.room-plan-dialog .builder-container .toolbox button svg,#room-plan-dialog.room-plan-dialog .builder-container .toolbox-nested button span,#room-plan-dialog.room-plan-dialog .builder-container .toolbox-nested button svg,#room-plan-dialog.room-plan-dialog .room-plan-actions button span,#room-plan-dialog.room-plan-dialog .room-plan-actions button svg{color:inherit}@keyframes room-plan-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){dialog.room-plan-dialog[open]{animation:none}.room-plan-done,.room-plan-close{transition:none}}html[data-shell=smartphone] dialog.room-plan-dialog,html[data-shell=smartphone] dialog.room-plan-dialog[open]{border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;inset:0;translate:none}html[data-shell=smartphone] .room-plan-card{border-radius:0;height:100%;max-height:none;padding:0}html[data-shell=smartphone] .room-plan-copy p{display:none}html[data-shell=smartphone] .room-plan-head{--room-plan-btn:2.75rem;padding:.4rem .45rem;padding-top:max(.4rem, env(safe-area-inset-top,0));gap:.45rem}html[data-shell=smartphone] .room-plan-copy{min-height:var(--room-plan-btn)}html[data-shell=smartphone] .room-plan-copy h2{font-size:1.05rem}html[data-shell=smartphone] .room-plan-copy h2 .full{display:none}html[data-shell=smartphone] .room-plan-copy h2 .short{color:var(--heading);display:inline}html[data-shell=smartphone] .room-plan-close{margin-inline-start:.15rem}html[data-shell=smartphone] .room-plan-done span:not(.icon){display:inline}html[data-shell=smartphone] .room-plan-done{border-radius:50rem;width:auto;min-width:5.75rem;padding-inline:.65rem}.scene-sketch{z-index:1001;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;& path{fill:none;stroke:var(--heading);stroke-width:.1875rem;stroke-linecap:round;stroke-linejoin:round}& path.halo{stroke:var(--surface-1,var(--uiBackground));stroke-width:.4375rem;opacity:.85}&[data-phase=process]{cursor:progress;& path:not(.halo){animation:1.2s ease-in-out infinite alternate sketch-process}}}@keyframes sketch-process{to{opacity:.45}}.sketch-bar{z-index:var(--z-toolbox);border:.0625rem solid var(--line);border-radius:var(--pillRadius);max-width:min(34rem,100% - 2rem);box-shadow:var(--popoverShadow);color:var(--heading);background:var(--surface-1);align-items:center;gap:.25rem;padding:.3rem .3rem .3rem .95rem;display:flex;position:absolute;top:1rem;left:50%;translate:-50%;& p{flex:auto;margin:0 .4rem 0 0;font-size:.85rem;line-height:1.35}& button{background:var(--wash);width:2.25rem;height:2.25rem;min-height:0;color:inherit;box-shadow:none;border:0;border-radius:50%;flex:0 0 2.25rem;padding:.55rem;&:hover:not(:disabled){background:var(--heading);color:var(--surface-1)}&:disabled{opacity:.45}&:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-offset)}}& .done:not(:disabled){background:var(--heading);color:var(--surface-1)}& svg{width:100%;height:100%;display:block}html[data-shell=smartphone] &{top:calc(var(--header-h) + .5rem);border-radius:1rem;flex-wrap:wrap;max-width:none;padding:.6rem .6rem .6rem .9rem;left:.75rem;right:.75rem;translate:none;& p{flex:100%;margin:0 0 .45rem;font-size:.8rem}& p+button{margin-left:auto}& button{flex-basis:var(--hit-min,2.75rem);width:var(--hit-min,2.75rem);height:var(--hit-min,2.75rem);padding:.65rem}}}@keyframes scene-capture-flash{0%{filter:brightness()saturate()}15%{filter:brightness(2.7)saturate(1.25)}55%{filter:brightness(1.7)saturate(1.1)}to{filter:brightness()saturate()}}aside#scene{--scene-bg:var(--sceneBg);--scene-vignette-darkness:.36;--scene-ink:var(--heading);--scene-halo:var(--uiBackground);--scene-text-outline:.08rem 0 0 var(--scene-halo), -.08rem 0 0 var(--scene-halo), 0 .08rem 0 var(--scene-halo), 0 -.08rem 0 var(--scene-halo), .06rem .06rem 0 var(--scene-halo), -.06rem .06rem 0 var(--scene-halo), .06rem -.06rem 0 var(--scene-halo), -.06rem -.06rem 0 var(--scene-halo);--scene-line-outline:drop-shadow(1px 0 0 var(--scene-halo)) drop-shadow(-1px 0 0 var(--scene-halo)) drop-shadow(0 1px 0 var(--scene-halo)) drop-shadow(0 -1px 0 var(--scene-halo));inset:0;right:calc(var(--chat-width) + var(--workspace-pad));top:calc(var(--header-h) + var(--workspace-pad) * 1.35);touch-action:none;background-color:var(--scene-bg);user-select:none;border:none;border-radius:0;flex:1;align-items:center;margin-right:auto;transition:opacity .2s;display:flex;position:absolute;overflow:visible;html[data-theme=dark] &{--scene-ink:var(--background);--scene-halo:var(--heading)}&[data-scene-mood=evening]{--scene-bg:#6b6569;--scene-vignette-darkness:.22}&.fullscreen{border:none;inset:0}html[data-shell=tablet] &{top:calc(var(--header-h) + var(--workspace-pad) * 2);bottom:var(--workspace-pad);left:var(--workspace-pad);right:calc(var(--chat-width) + var(--workspace-pad) + var(--tablet-scene-gap,.35rem));border-radius:var(--panelRadius,1.15rem)}html[data-shell=smartphone] &{border-radius:0;inset:0}html[data-shell=tablet][data-shell-landscape=short] &{top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);border-radius:0;left:0;right:0}html[data-shell=smartphone][data-shell-landscape=short] &{top:var(--header-h);bottom:var(--mobile-toolbox-h,2.75rem);left:0;right:0}&.grab{cursor:grab}&.grabbing{cursor:grabbing}& .scene-canvas{width:100%;height:100%;position:relative;overflow:hidden}& canvas{opacity:1;filter:saturate();border-radius:0;width:100%;height:100%;transition:opacity .48s cubic-bezier(.4,0,.2,1),filter .48s cubic-bezier(.4,0,.2,1);display:block;position:absolute;inset:0}&.scene-visual-busy canvas{opacity:.78;filter:saturate(.9)}& canvas.capture-flash{animation:.2s ease-out forwards scene-capture-flash}&:after{content:"";z-index:1000;pointer-events:none;background:color-mix(in srgb, var(--scene-bg,#1a1a1a) calc(var(--scene-vignette-darkness,.24) * 100%), transparent);mask-image:var(--scene-vignette-mask);border-radius:0;position:absolute;inset:0;mask-position:50%;mask-size:130%;mask-repeat:no-repeat}&.fullscreen canvas{border-radius:0}}section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:calc(min(50%, 50rem) + var(--workspace-pad) + .75rem)}html[data-shell=tablet]{& section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:calc(min(55%, 26rem) + var(--workspace-pad) + .5rem)}}html[data-shell=smartphone]{& section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){right:0}}html[data-shell=tablet][data-shell-landscape=short]{& aside#scene:not(.fullscreen),& section#workspace:has(#init-wrapper) aside#scene:not(.fullscreen),& section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){left:0;right:0}}html[data-shell=smartphone][data-shell-landscape=short]{& aside#scene:not(.fullscreen),& section#workspace:has(#init-wrapper) aside#scene:not(.fullscreen),& section#workspace:has(#booking-wrapper) aside#scene:not(.fullscreen){left:0;right:0}}.scene-planner-feedback{z-index:100;pointer-events:none;background:color-mix(in srgb, var(--scene-bg,#1a1a1a) 24%, transparent);backdrop-filter:blur(.5rem);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.65rem;display:flex;position:absolute;inset:0;box-shadow:inset 0 0 0 .0625rem #ffffff14}.scene-planner-feedback p{color:var(--text);text-align:center;letter-spacing:.01em;opacity:1;margin:0;font-size:.8rem}.scene-planner-progress{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--text) 16%, transparent);width:min(12rem,70%);height:.25rem;overflow:hidden}.scene-planner-progress-fill{border-radius:inherit;background:var(--text);height:100%;transition:width .2s;display:block}.scene-planner-progress[data-phase=planning] .scene-planner-progress-fill{width:32%;animation:1.1s ease-in-out infinite alternate scene-planner-progress-slide}@keyframes scene-planner-progress-slide{to{transform:translate(212.5%)}}@media (prefers-reduced-motion:reduce){.scene-planner-progress[data-phase=planning] .scene-planner-progress-fill{animation:none;transform:translate(106.25%)}}html[data-shell=smartphone] .scene-planner-progress{width:min(10rem,64%)}aside#scene.fullscreen .scene-planner-feedback{border-radius:0}@keyframes grain-move{0%{background-position:0 0}25%{background-position:1.5625rem .9375rem}50%{background-position:-1.125rem 1.75rem}75%{background-position:.75rem -1.375rem}to{background-position:0 0}}
