.progress{--size:.5rem;--bg:color-mix(in srgb, var(--text), transparent 80%);--activeBg:var(--text);margin:0 0 .5em;position:relative;&[data-style=steps]{flex-direction:row;justify-content:space-between;gap:.5em;display:flex;& span{transition:all 1s;&.step{width:var(--size);height:var(--size);background:var(--bg);box-shadow:var(--buttonShadow);border-radius:.1rem;justify-content:center;align-items:center;font-weight:700;display:inline-flex;transform:rotate(45deg);&+.direction{width:auto;height:1px;margin-block:auto;margin-inline:calc(var(--size) / 4);background:color-mix(in srgb, var(--bg), transparent 50%);flex:1;display:inline-block}&.completed,&.active{background:var(--activeBg);border-color:var(--activeBg);color:var(--background);border-radius:50%}&.active{scale:2}&.completed{&+.direction{background:var(--activeBg)}}}}}&[data-style=progress]{background:color-mix(in srgb, var(--background), var(--text) 10%);border-radius:.5em;height:.5em}& .bar{--from:color-mix(in srgb, var(--primary), white 20%);--to:var(--primary);background:linear-gradient(to right, var(--from), var(--to));border-radius:.5em;transition:all .2s;position:absolute;inset:0 auto 0 0}}dialog.form-wrapper{border:none;width:100%;max-width:50vw;height:fit-content;padding:0!important;& button.action{--background:var(--danger);--text:white;border-width:0;border-radius:50%;justify-content:center;align-items:center;width:1em;height:1em;margin:0;padding:0;font-size:3rem;display:inline-flex;position:fixed;top:.5em;right:.5em}& h1,& h2,& h3,& h4,& h5,& h6{margin-bottom:.2em}}html:has(dialog.form-wrapper[open]){position:fixed;overflow:hidden}.form-wrapper{position:relative;& form{box-sizing:border-box;padding:4em;&>fieldset{min-height:100%;&>label:not(:has(input[type=checkbox],input[type=radio])),&>fieldset{width:100%;&>*{width:100%}}}& sup{color:var(--alert);font-size:.8em;font-weight:700}& .form-actions{justify-content:flex-end;gap:2em;padding:2em 0 0;font-size:1.15em;display:flex;& button[data-direction=forward],& button[type=submit]{margin-left:auto}& button[data-direction=forward]:not([disabled]){--background:var(--success);--text:white;&:hover{box-shadow:inset .5em .5em 1em color-mix(in srgb, var(--success), black 15%), inset -.5em -.5em 1em color-mix(in srgb, var(--success), white 20%)}}}}}@media screen and (width<=768px){dialog.form-wrapper{max-width:90vw;& button.action{font-size:2.5rem;top:.25em;right:.25em}}.form-wrapper{& form{padding:2em;& .form-actions{gap:1.5em;padding:1.5em 0 0;font-size:1em}}}}aside#chat{&:has(#booking-wrapper){overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history,& footer.chat-compose{display:none}}& .booking-panel{background:0 0;border:none;margin:0;padding:0}& #booking-wrapper.form-wrapper{z-index:60;height:100%;padding:0;position:absolute;inset:0;& .booking-form{box-sizing:border-box;background:var(--uiBackground);flex-direction:column;gap:0;width:100%;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden;& .progress{z-index:3;flex-shrink:0;margin:0 0 1em;position:relative}& .booking-step-body{overscroll-behavior:contain;z-index:1;flex-direction:column;flex:1;gap:1em;width:100%;min-height:0;padding:2em 0;display:flex;position:relative;overflow-y:auto}& .form-actions{z-index:3;flex-shrink:0;padding:1.5em 0 0;position:relative;&:empty{padding:0;display:none}}& .booking-booked-details{margin-top:.25em}& .booking-calendar-actions{flex-direction:column;align-items:stretch;gap:.75em;width:100%;max-width:22rem;margin:.5em auto 0;display:flex;& .button{text-align:center;justify-content:center;width:100%}}& h3{margin:0 0 .2em}& p{margin:0}& ul{margin:0;padding-left:1.2em}& .booking-studio-list{flex-direction:column;gap:1em;width:100%;display:flex;& .booking-studio-card{text-align:left;width:100%;height:fit-content;box-shadow:none;border:3px solid var(--border);background:0 0;border-radius:.5em;flex-direction:column;align-items:flex-start;padding:1em;line-height:1.15;display:flex;&:hover{border-color:var(--primary)}& .studio-logo{text-align:center;background-color:var(--primary);width:2em;height:2em;color:var(--uiBackground);text-shadow:none;border-radius:.2em;justify-content:flex-end;align-items:flex-end;margin-right:.5em;padding:.25em;font-size:1.15em;font-weight:600;display:inline-flex}& strong{text-overflow:ellipsis;max-width:100%;font-size:1.25em;font-weight:400;display:block;overflow:hidden}& span.studio-details{align-items:center;display:inline-flex}& span{color:color-mix(in srgb, var(--text) 70%, transparent)}}}& #date-picker.booking-slot-picker{width:100%;min-width:0;max-width:none;box-shadow:none;background:color-mix(in srgb, var(--uiBackground) 94%, var(--primary) 6%);padding:1em}& .booking-slot-list{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.75em;width:100%;display:grid}& .booking-slot,& #date-picker.booking-slot-picker .date-details-popup{& .time-slots{flex-flow:wrap;gap:.5em;margin:.5em 0 0;display:flex;& button{font:inherit;text-align:center;background:var(--text);width:100%;text-shadow:none;color:var(--uiBackground);border-radius:.5em;padding:.5em 1em;font-size:1rem}}}& .booking-slot.is-selected,& #date-picker.booking-slot-picker .date-details-popup button.booking-slot-selected{--background:color-mix(in srgb, var(--primary) 18%, var(--uiBackground));border-color:var(--primary)}& .booking-contact-fields{flex-direction:column;align-items:start;gap:1em;width:100%;display:flex;& label{width:100%}}& .booking-error{color:var(--alert)}}}}@media screen and (width<=768px){aside#chat #booking-wrapper.form-wrapper .booking-form{padding:1rem;& .form-actions{gap:1.5em;padding-top:1em;font-size:1em}}}fieldset.phone-input{flex-direction:row;gap:.5em;margin-top:0;& select[name=country]{width:5em;[data-theme=dark] &{filter:none;background-color:#0000;background-image:url(/i/expander-light.svg)}}}@media screen and (width<=768px){fieldset.phone-input{flex-direction:column;gap:.25em;& select[name=country]{width:100%}}}section#date-picker{--border-color:var(--primary);--active-color:color-mix(in srgb, var(--primary), white 20%);background:color-mix(in srgb, var(--background), var(--text) 2%);border:none;border-top:3px solid var(--primary);border-radius:.3em;flex-direction:column;gap:1em;min-width:410px;max-width:25%;padding:1.5em;line-height:1.2em;transition:all .2s;position:relative}section#date-picker.hidden{border:none;height:0;padding:0;overflow:hidden}section#date-picker[data-mode=range]{box-shadow:var(--heavy-shadow)}section#date-picker header{justify-content:space-between;align-items:center;height:2em;margin:0 0 1em;display:flex;position:relative}section#date-picker header .title{justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}section#date-picker header .title span{white-space:nowrap;font-weight:500;position:absolute;inset:auto}section#date-picker header button{color:inherit;height:inherit;font-size:2em;line-height:inherit;cursor:pointer;user-select:none;text-shadow:inherit;box-shadow:none;background:0 0;border:none;outline:none;padding:0;transition:all .2s}section#date-picker header button:hover{scale:1.15}section#date-picker header button:active{scale:.85}section#date-picker .days-container.reverse{flex-direction:row-reverse}section#date-picker .week-days,section#date-picker .days{grid-template-columns:repeat(7,1fr);gap:.5em;display:grid}section#date-picker .week-days.days[inert],section#date-picker .days.days[inert]{position:absolute}section#date-picker .week-days span,section#date-picker .days span{aspect-ratio:1/.7;border:3px solid #0000;border-radius:.5em;justify-content:center;align-items:center;width:2rem;padding:.5em 1.25em;transition:all .2s;display:inline-flex;position:relative}section#date-picker .week-days span.older,section#date-picker .days span.older{color:color-mix(in srgb, var(--text), var(--background) 70%)}section#date-picker .week-days span.current,section#date-picker .days span.current{border-color:var(--border-color)}section#date-picker .week-days span.clickable,section#date-picker .days span.clickable{color:#fff;text-shadow:0 1px #0005;cursor:pointer;background:var(--active-color);box-shadow:0 .05em .2em color-mix(in srgb, var(--active-color), transparent 70%);font-weight:700}section#date-picker .week-days span.clickable:hover,section#date-picker .days span.clickable:hover{background:color-mix(in srgb, var(--active-color), red 40%);border-radius:.15em;scale:1.05}section#date-picker .week-days span .date-details-count,section#date-picker .days span .date-details-count{background:var(--background);color:var(--text);z-index:2;box-shadow:var(--heavy-shadow);border:1px solid var(--primary);text-shadow:none;border-radius:50%;justify-content:center;align-items:center;font-size:.8em;font-weight:600;transition:all .3s;display:flex;position:absolute;top:-1em;right:-1em}section#date-picker .week-days span .date-details-popup,section#date-picker .days span .date-details-popup{background:var(--background);width:100%;height:100%;box-shadow:var(--heavy-shadow);color:var(--text);text-shadow:none;border:2px solid var(--primary);opacity:0;text-align:left;border-radius:.3em;flex-direction:column;padding:1em;font-size:0;transition:all .3s;display:flex;position:absolute;overflow:hidden}section#date-picker .week-days span .date-details-popup button,section#date-picker .days span .date-details-popup button{height:inherit;line-height:inherit;box-shadow:none;letter-spacing:0;background:0 0;border:none;padding:0;transition:none;position:static}section#date-picker .week-days span:hover,section#date-picker .days span:hover{z-index:10}section#date-picker .week-days span:hover .date-details-count,section#date-picker .days span:hover .date-details-count{opacity:0}section#date-picker .week-days span:hover .date-details-popup,section#date-picker .days span:hover .date-details-popup{opacity:1;width:fit-content;height:fit-content;font-size:1rem;overflow:visible}section#date-picker .week-days.week-days,section#date-picker .days.week-days{user-select:none}section#date-picker .week-days.week-days span,section#date-picker .days.week-days span{text-transform:capitalize;font-weight:600}@media screen and (width<=560px){section#date-picker .days,section#date-picker .week-days{text-align:center}section#date-picker .days span,section#date-picker .week-days span{padding:.25em}}aside#chat{&:has(#photo-render-wrapper){overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history,& footer.chat-compose{display:none}}& .photo-render-panel{background:0 0;border:none;margin:0;padding:0}& #photo-render-wrapper.form-wrapper{z-index:60;height:100%;padding:0;position:absolute;inset:0;& .photo-render-form{box-sizing:border-box;background:var(--uiBackground);flex-direction:column;gap:0;width:100%;height:100%;padding:2rem;display:flex;position:relative;overflow:hidden;& .photo-render-body{overscroll-behavior:contain;flex-direction:column;flex:1;gap:1.25em;width:100%;min-height:0;padding:1.5em 0;display:flex;position:relative;overflow-y:auto;& .photo-render-hint{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent));margin:0;font-size:.78rem}& .photo-render-error{color:var(--danger);margin:0;font-size:.78rem}}& .photo-render-field{flex-direction:column;gap:.45em;display:flex;& label{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent));font-size:.82rem}& input[type=url],& input[type=file],& select{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--text) 18%, transparent);background:var(--background);width:100%;color:var(--text);font:inherit;border-radius:.45em;padding:.65em .75em}& .photo-render-hint{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent));margin:0;font-size:.72rem}}& .photo-render-actions{flex-shrink:0;gap:.75em;padding-top:.5em;display:flex;& button{flex:1;justify-content:center}}& .photo-render-preview{flex-direction:column;gap:.35em;display:flex;& .preview-header{justify-content:space-between;align-items:center;display:flex}& label{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent));font-size:.82rem}& .preview-refresh{border:1px solid color-mix(in srgb, var(--text) 20%, transparent);color:var(--text);cursor:pointer;background:0 0;border-radius:.25em;padding:.2em .5em;font-size:.72rem}& .preview-refresh:disabled{opacity:.5;cursor:default}& .source-preview-img{object-fit:contain;border:1px solid color-mix(in srgb, var(--text) 15%, transparent);background:#f8f8f8;border-radius:.35em;width:100%;max-height:180px}& .preview-placeholder{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent));border:1px dashed color-mix(in srgb, var(--text) 20%, transparent);text-align:center;background:color-mix(in srgb, var(--background) 95%, transparent);border-radius:.35em;padding:.8em;font-size:.78rem}}}}}fieldset#geometry-input{display:flex;&>div[class*=-view]{justify-content:center;align-items:flex-start;max-width:100%;margin:0 0 1em;display:flex;& span{--width:1;--size:5em;--max:calc(var(--size) * 4);--bg:color-mix(in srgb, var(--background), var(--text) 10%);--x:calc(var(--width) * var(--size));--y:calc(var(--size) / 2);width:var(--x);height:var(--y);max-width:var(--max);max-height:var(--max);background:var(--bg);margin-inline:calc(-1 * var(--y));z-index:2;justify-content:center;align-items:center;transition:all .3s;display:flex;[data-theme=dark] &{--bg:color-mix(in srgb, var(--background), var(--text) 20%)}&:before{white-space:nowrap;content:attr(data-value);display:block}&[class*=left],&[class*=right]{width:var(--y);height:var(--x);z-index:1;margin-inline:0}&[class*=left]{&:before{transform:rotate(-90deg)}}&[class*=right]{&:before{transform:rotate(90deg)}}}}& .ceiling-cabinets{cursor:pointer;align-items:center;gap:.75em;width:100%;margin-top:1em;display:flex;& input[type=checkbox]{width:auto;margin:0}}& .geometry-fields{align-items:flex-end;gap:1em;display:flex;&>label{flex:1;& span:has(svg){align-items:center;gap:1em;display:inline-flex;& svg{width:1.25em;height:2em;position:absolute;inset:auto auto auto .75em}& input{padding-left:2.5em}}}}}fieldset#layout{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));display:grid;& label{& .content{text-align:center;border:3px solid #0000;border-radius:.6em;width:100%;& img{border-radius:.4em;width:100%;margin:0 0 .2em}& p{margin-bottom:.5em}}&:hover{& .content{border-color:color-mix(in srgb, var(--primary), transparent 50%)}}&:has(input[type=radio]:checked){& .content{border-color:var(--primary)}}}}}fieldset#palette{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));gap:3em;display:grid;& label{flex-direction:row;display:flex;& input[type=radio]{display:none}& .content{& .colors{border:3px solid var(--text);border-radius:.25em;flex-direction:row;gap:0;width:fit-content;height:2em;margin:0 0 1em;transition:all .2s;display:flex;overflow:hidden;& span{width:1em;height:2em;display:inline-flex}}& h5{margin-bottom:.5em;font-size:1.15em}& .popularity{--score:0%;background:color-mix(in srgb, var(--background), var(--text) 15%);border-radius:.2em;width:100%;height:.25em;margin:0 0 .5em;display:block;position:relative;&:after{content:"";height:.25em;width:var(--score);background:var(--success);border-radius:.2em;display:block;position:absolute;left:0}}& p{font-size:.9em;line-height:1.25em;& .suitable-style{background:color-mix(in srgb, var(--background), var(--text) 15%);border-radius:.2em;padding:.2em .5em;font-size:.8em;line-height:1em;display:inline-flex;&:not(:last-child){margin-right:.5em}}}}&:has(input:checked){& .content{& .colors{border-color:var(--primary)}}}}}}.builder-container{flex-direction:column-reverse;gap:1em;width:100%;height:auto;max-height:80%;font-family:sans-serif;display:flex;& .toolbar{background:0 0;border-radius:.5em;flex-flow:wrap;justify-content:space-between;gap:2em;width:100%;padding:.5em;display:flex;& .tool-group,& .actions{flex-direction:row;gap:.5em;display:flex;&.actions{margin-left:auto}& .division-value{flex-direction:row;align-items:center;gap:.25em;font-size:1.5em;display:inline-flex;& input{width:5em;padding-inline:.5em .1em;font-size:.8rem}}& button{border:none;height:auto;padding:.5em;&.active{background:var(--primary);color:#fff}}& .hint{color:color-mix(in srgb, var(--text), var(--background) 50%);margin:0;font-size:.8em}}}& aside.canvas-wrapper{padding:0;display:flex;position:relative;overflow:hidden;& .blueprint-svg{background:var(--background);pointer-events:visible;cursor:crosshair;border:2px solid color-mix(in srgb, var(--background), var(--text) 40%);max-height:60vh;margin:0 auto .5em}}}fieldset#style{&>fieldset:has(label){grid-template-columns:repeat(auto-fit,minmax(25em,1fr));display:grid;& label{& .content{text-align:center;border:3px solid #0000;border-radius:.6em;width:100%;& img{border-radius:.4em;width:100%;margin:0 0 .2em}& p{margin-bottom:.5em}}&:hover{& .content{border-color:color-mix(in srgb, var(--primary), transparent 50%)}}&:has(input[type=radio]:checked){& .content{border-color:var(--primary)}}}}}aside#chat{&:has(#init-wrapper){overflow:hidden;& header.chat-header{border-bottom-color:#0000}& article.chat-history{display:none}}& #init-wrapper.form-wrapper{height:100%;padding:0;position:absolute;inset:0;& form{background:var(--uiBackground);width:100%;height:100%;padding:6rem 2rem 8rem;overflow:auto;&:before,&:after{content:"";user-select:none;pointer-events:none;z-index:10;width:calc(100% - .5rem);height:10rem;position:absolute;inset:0}&:before{background:linear-gradient(to bottom, var(--uiBackground) 20%, #0000 70%);bottom:auto}&:after{background:linear-gradient(to top, var(--uiBackground) 20%, #0000 70%);top:auto}& .progress{z-index:999;position:absolute;inset:2rem 2rem auto}& .form-actions{z-index:999;padding:2rem;position:absolute;inset:auto 0 0}& fieldset{&#intro{& img{pointer-events:none;user-select:none;width:calc(100% + 4em);margin:-1.5em -2em 1em}}&#budget{& .budget-input-wrapper{align-items:center;gap:1em;display:flex;& input[type=number]{flex:1;width:auto}}& .budget-input-actions{--column:3;--gap:.5em;gap:var(--gap);flex-wrap:wrap;justify-content:space-evenly;display:flex;& button{width:calc(100% / var(--column) - var(--gap));text-align:center;height:2em;box-shadow:none;border-radius:.25em;justify-content:center;padding:0 .5em}}}}}}}@keyframes chat-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes stream-blink{0%,to{opacity:1}50%{opacity:0}}@keyframes placeholder{0%{opacity:.5}60%{opacity:1}to{opacity:.5}}button.chat-caller{border-radius:var(--pillRadius);background:var(--uiBackground);box-shadow:var(--heavyShadow);border:none;border:1px solid var(--subtleBorder);cursor:pointer;padding:0;display:none;@media (width<=767px){z-index:9999;width:3rem;min-width:2.75rem;height:3rem;min-height:2.75rem;display:block;position:fixed;bottom:1rem;right:1rem}[class*=fullscreen]+&{z-index:9999;width:3em;height:3em;transition:transform var(--chat-transition-fast), box-shadow var(--chat-transition-fast);border-radius:50%;margin-inline:2rem;font-size:1.25em;display:block;position:absolute;inset:auto 2.5em 2.5em auto;&:hover{transform:scale(1.05)}& svg{width:1.5em;height:1.5em}}}aside#chat{--border:var(--subtleBorder);--bottomSpace:10em;--chat-muted:color-mix(in srgb, var(--text) 55%, transparent);--chat-transition-fast:.15s ease;--chat-disabled-opacity:.45;background:var(--premiumGlass);height:calc(100vh - 8.5rem);width:var(--chat-width);border-radius:var(--panelRadius);max-width:30rem;box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 40%);backdrop-filter:blur(8px);margin:0 1.25rem 1.25rem;flex-direction:column;gap:0;margin-left:auto;display:flex;position:relative;overflow:hidden;& :is(button.chat-caller,.chat-header-close,.chat-suggestion,.chat-history-load-button):focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=767px){border-radius:var(--panelRadius) var(--panelRadius) 0 0;z-index:10000;width:100%;max-width:none;height:min(85vh,100dvh - 4rem);margin:0;transition:transform .25s;position:fixed;inset:auto 0 0;transform:translateY(100%);&.chat-drawer-open{transform:translateY(0)}}[class*=fullscreen]+button+&,[class*=fullscreen]+&{border:1px solid var(--border);margin-block:0}& header.chat-header{border-bottom:1px solid color-mix(in srgb, var(--subtleBorder), transparent 50%);background:color-mix(in srgb, var(--premiumGlass), white 4%);letter-spacing:.01em;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:.7em;padding:0;font-size:.92rem;display:flex;& h2{color:var(--text);letter-spacing:.015em;margin:0;font-size:1.15rem;font-weight:600;line-height:1}& .chat-header-text{min-width:0;padding:1em;& .chat-header-title{flex-wrap:wrap;align-items:center;gap:.5em .75em;display:flex}& .chat-status{opacity:.75;color:var(--primary);align-items:center;gap:.35em;font-size:.65rem;font-weight:500;display:inline-flex}& .chat-status-dot{background:currentColor;border-radius:50%;width:.38em;height:.38em;animation:1.2s ease-in-out infinite chat-pulse}& p{color:color-mix(in srgb, var(--text) 72%, transparent);margin:.35em 0 0;font-size:.78rem;line-height:1.45}}& .chat-header-close{border-radius:var(--pillRadius);background:color-mix(in srgb, var(--text) 5%, transparent);width:1.65rem;height:1.65rem;color:var(--text);cursor:pointer;opacity:.65;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:inline-flex;&:hover{background:color-mix(in srgb, var(--text) 10%, transparent);opacity:1}}}& article.chat-history{background:0 0;flex-direction:column;flex:1;gap:1.25em;min-height:0;padding:1.15rem 1.25rem 10em;display:flex;position:relative;overflow-y:auto;& .chat-history-load{z-index:1;justify-content:center;padding-bottom:.25em;display:flex;position:sticky;top:0}& .chat-history-load-button{border-radius:var(--pillRadius);border:1px solid var(--subtleBorder);background:var(--pillBg);color:var(--text);box-shadow:var(--softShadow);cursor:pointer;padding:.28em .65em;font-size:.65rem;&:disabled{opacity:.55;cursor:wait}}&.is-busy{scroll-behavior:smooth}& span.bottom-offset{height:var(--bottomSpace);pointer-events:none;position:absolute;inset:auto 0 0}}& footer.chat-compose{min-height:var(--bottomSpace);flex-shrink:0;position:relative;& section.chat-hints{inset:auto 0 var(--bottomSpace) 0;z-index:4;pointer-events:auto;margin:0;padding:.35em 1em .25em;position:absolute;& .chat-suggestions{flex-flow:row;gap:.65em;padding-bottom:.25rem;display:flex;overflow-x:auto}& .chat-suggestion{text-align:left;border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 30%);border-radius:var(--pillRadius);background:var(--pillBg);width:fit-content;min-height:0;color:var(--text);text-shadow:none;cursor:pointer;box-shadow:var(--softShadow), var(--premiumGlow);margin:0;padding:.5em 1.15em;font-size:.68rem;line-height:1.25;transition:all .15s cubic-bezier(.23,1,.32,1);&:hover:not(:disabled){box-shadow:0 .25em .9em color-mix(in srgb, var(--shadowDark), transparent 45%);border-color:color-mix(in srgb, var(--subtleBorder), transparent 10%);transform:translateY(-1.5px)scale(1.01)}&:disabled{cursor:not-allowed;opacity:var(--chat-disabled-opacity)}}}& .chat-send-hint{color:var(--chat-muted);pointer-events:none;user-select:none;z-index:5;margin:0;font-size:.68rem;line-height:1.3;position:absolute;inset:auto auto 2em 2.5em}}[class*=fullscreen]+button.chat-caller+&{max-height:60vh;position:absolute;inset:auto 2em 8.5em auto;&:after{content:"";pointer-events:none;border:1em solid #0000;border-top-color:#fff;width:2em;height:2em;margin:0 0 -2em;position:absolute;top:100%;left:calc(100% - 4em)}[data-theme=dark] &:after{border-top-color:var(--background)}}}form#request-form{width:calc(100% - 1.7em);height:calc(var(--bottomSpace) - 1.7em);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 35%);border-radius:var(--panelRadius);background:var(--premiumGlass);box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);backdrop-filter:blur(10px);padding:0;position:absolute;inset:auto .85em .85em;& label{position:absolute;inset:0;& textarea{border-radius:var(--panelRadius);height:auto;min-height:3.6rem;max-height:8rem;box-shadow:none;resize:none;letter-spacing:.01em;background:0 0;border:none;padding:1rem 1.25rem;font-size:.93rem;line-height:1.42;position:absolute;inset:0;overflow-y:auto}}& fieldset{border:none;flex-direction:row-reverse;gap:.55em;margin:0;padding:0;display:flex;position:absolute;inset:auto .55em .55em;& button{min-width:3.1rem;min-height:3.1rem;box-shadow:var(--softShadow), var(--premiumGlow);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 50%);border-radius:50%;justify-content:center;padding:0 1em;font-size:.7em;transition:all .12s cubic-bezier(.23,1,.32,1);&:hover{box-shadow:var(--heavyShadow), var(--premiumGlow);border-color:color-mix(in srgb, var(--subtleBorder), transparent 20%);transform:translateY(-1px)scale(1.02)}&:active{box-shadow:var(--pressedButtonShadow);transform:scale(.985)}&.stop-button,&.retry-button{border-radius:var(--pillRadius);justify-content:center;align-items:center;padding:.28em .65em;font-size:.66em}&.recognition-button{&.active{border-color:var(--primary);color:var(--primary);& svg{animation:.75s infinite pulse}}&.unsupported,&:disabled{cursor:not-allowed}}}}& .voice-error,& .voice-hint{pointer-events:none;margin:0;font-size:.66rem;line-height:1.4;position:absolute;inset:auto 1.1em .4em}& .voice-error{color:var(--danger,#b42318)}& .voice-hint{color:var(--chat-muted,color-mix(in srgb, var(--text) 55%, transparent))}}@keyframes pulse{0%{transform:scale(1)}10%{transform:scaleY(1.2)}30%{transform:scaleY(.9)}40%{transform:scaleY(1.25)}70%{transform:scaleY(.95)}90%{transform:scaleY(1.1)}to{transform:scale(1)}}.chat-entry{flex-direction:row;align-items:flex-start;gap:.85em;width:100%;margin-bottom:.5em;display:flex;& .avatar{--size:2.5em;--halfSize:calc(var(--size) / 2);width:var(--size);height:var(--size);background:color-mix(in srgb, var(--primary), var(--background) 22%);color:var(--background);border:1px solid var(--subtleBorder);aspect-ratio:1;box-shadow:var(--softShadow);border-radius:50%;flex-direction:row;justify-content:center;align-items:center;margin:.08em 0 auto;padding:0;display:flex;position:sticky;top:0;& span{font-size:var(--halfSize);font-weight:600;transition:all .2s}& svg{width:var(--halfSize);height:var(--halfSize)}}& .message{text-shadow:0 1px 0 var(--textShadowColor);background:0 0;flex-direction:column;flex:1;gap:.15em;padding:.18em .2em;display:flex;& p,& .markdown-body p{font-weight:400}& .timestamp{opacity:.8;font-size:.6rem}& .text-placeholder{--width:5em;--delay:.2s;--duration:1s;width:var(--width);background:color-mix(in srgb, var(--background), var(--text) 30%);height:.7em;animation:placeholder var(--duration) var(--delay) infinite ease-in-out;border-radius:.25em;margin:0 .5em 0 0;display:inline-block}}&.widget{flex-direction:column;padding:.5em 0;& .message{width:100%;& .content{width:100%;max-width:100%}}}&.tool{flex-direction:row-reverse;& .message .content{width:100%;max-width:100%}}&.assistant,&.think{flex-direction:row-reverse;& .think-message{width:100%;min-width:100%;margin:0 0 1em;padding:0;display:flex;position:relative;& .think-message-icon svg{width:1rem;height:1rem;margin:.2rem .5rem 0 0}}& .message{& .content{width:fit-content;max-width:min(19vw,100%);overflow:auto}& .turn-status{color:var(--primary);margin:.5em 0 0;font-size:.72rem;animation:1.2s ease-in-out infinite chat-pulse}& .stream-cursor{vertical-align:text-bottom;background:var(--primary);width:.45em;height:1em;margin-left:.1em;animation:.9s step-end infinite stream-blink;display:inline-block}}}&,&.assistant,&.user{& .message{&:hover .entry-actions,&:focus-within .entry-actions{opacity:1}& .entry-actions{opacity:0;transition:opacity var(--chat-transition-fast,.15s ease);flex-wrap:wrap;gap:.5em;margin:.75em 0 0;display:flex;& .entry-action{color:color-mix(in srgb, var(--text), var(--background) 50%);cursor:pointer;height:auto;text-shadow:inherit;box-shadow:none;background:0 0;border:none;border-radius:0;align-items:center;gap:.35em;padding:0;font-size:.7rem;line-height:1.1;display:inline-flex;& svg{--size:1em;height:var(--size);width:var(--size)}&.copied{color:var(--primary)}&:focus-visible{outline:2px solid var(--primary);outline-offset:2px}&:hover{text-underline-offset:.2em;text-decoration:underline}}}}}& .tool-card{border-radius:var(--panelRadius);border:1px solid var(--subtleBorder);background:var(--softCardBg);box-shadow:var(--softShadow);padding:.6em .8em;&--error{border-color:color-mix(in srgb, var(--danger) 35%, transparent);background:color-mix(in srgb, var(--danger) 6%, var(--uiBackground))}&__header{align-items:center;gap:.45em;margin-bottom:.35em;display:flex}&__icon{font-size:.9em}&__title{font-size:.82rem}&__body{font-size:.8rem}}& .photo-render-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em;width:100%;margin-top:.75em;display:grid;& figure{border:1px solid color-mix(in srgb, var(--text) 12%, transparent);background:color-mix(in srgb, var(--background), var(--text) 4%);border-radius:.45em;margin:0;overflow:hidden;& img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}}}&.error{flex-direction:row-reverse;& .avatar{background:var(--danger);color:#fff;& svg{stroke:#fff}}& .message{background:color-mix(in srgb, var(--danger), white 10%);color:#fff;border-color:var(--danger);text-shadow:0 1px 0 color-mix(in srgb, var(--danger), white 30%);border-radius:.5em;padding:1em;& .timestamp{color:inherit}}}}.markdown-body pre{background:color-mix(in srgb, var(--text) 6%, var(--uiBackground));border-radius:.4em;padding:.75em 1em 2.25em;position:relative;overflow-x:auto}.markdown-body code{font-size:.85em}.markdown-body table{border-collapse:collapse;width:100%;font-size:.85em}.markdown-body th,.markdown-body td{border:1px solid color-mix(in srgb, var(--text) 20%, transparent);padding:.35em .5em}.markdown-body .code-copy{border:1px solid color-mix(in srgb, var(--text) 15%, transparent);background:var(--uiBackground);color:var(--text);cursor:pointer;border-radius:.25em;min-width:2.75rem;min-height:2.75rem;padding:.2em .45em;font-size:.65rem;position:absolute;bottom:.35em;right:.35em}.kitchen-insight{border-radius:var(--panelRadius);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 40%);background:var(--premiumGlass);width:100%;box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);text-align:left;backdrop-filter:blur(4px);padding:.85rem .95rem;&>header{letter-spacing:.09em;text-transform:uppercase;opacity:.48;margin:0 0 .25em;font-size:.56rem;font-weight:600}&>.hero{flex-wrap:wrap;align-items:center;gap:.4em;margin:0 0 .6em;display:flex}& .score{font-variant-numeric:tabular-nums;color:var(--insight-hero);letter-spacing:-.05em;font-size:1.95rem;font-weight:700;line-height:.92}& .alert,& .badge{border-radius:var(--pillRadius);text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--insight-accent) 15%, transparent);color:var(--insight-accent);margin:0;padding:.05em .45em;font-size:.62rem;font-weight:600;&.excellent,&.good{--insight-accent:var(--success)}&.fair,&.studio{--insight-accent:var(--alert)}&.critical{--insight-accent:var(--danger)}}& .meta{color:color-mix(in srgb, var(--text) 50%, transparent);flex:100%;font-size:.72rem}& .alert{background:color-mix(in srgb, var(--alert) 16%, transparent);color:var(--alert);& .icon svg{stroke:currentColor;width:.85em;height:.85em}}& .chips{flex-direction:column;align-items:stretch;gap:.22rem;padding-top:.15rem;font-size:.86em;display:flex;& .chip{border-radius:var(--pillRadius);background:0 0;flex-direction:row;justify-content:space-between;gap:.6em;padding:.15em .35em;display:flex;& span{align-items:baseline;gap:.4em;font-size:.82rem;display:flex;& .value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700;line-height:1}& .hint{opacity:.6;white-space:nowrap;font-size:.72rem}}&.warn{background:color-mix(in srgb, var(--alert) 14%, transparent);& .icon,& .value{color:var(--alert)}}&.reference .value{color:color-mix(in srgb, var(--text) 58%, transparent);font-weight:500}}}& .footnote{color:color-mix(in srgb, var(--text) 42%, transparent);margin-top:.45rem;font-size:.62rem;line-height:1.25}}.kitchen-insight.pricing .score{letter-spacing:-.055em;font-size:1.9rem}.kitchen-insight.pricing header{margin-bottom:.1em}.dropdown{background:var(--uiBackground);box-shadow:var(--heavyShadow);z-index:10;border-radius:.5em;flex-direction:column;gap:1em;padding:1em;font-size:1rem;display:flex;position:absolute;top:100%;&.float-right{right:0}&.float-left{left:0}}.profile{flex-direction:row-reverse;align-items:center;gap:.35em;text-decoration:none;display:flex;position:relative;& .profile-compact{flex-direction:row-reverse;align-items:center;gap:.5em;display:flex}& .avatar{--size:2.05rem;width:var(--size);height:var(--size);color:var(--background);background:color-mix(in srgb, var(--primary), var(--background) 18%);border-radius:var(--pillRadius);box-shadow:var(--softShadow);border:1px solid var(--subtleBorder);aspect-ratio:1;flex-direction:row;justify-content:center;align-items:center;margin-block:auto;padding:0;font-size:.82rem;font-weight:600;display:flex;& span{font-size:.78em;font-weight:600}}& ul{font-size:.8em;& li{display:flex;&:last-child{margin:0}& .name{white-space:nowrap;font-weight:700;& svg{width:1em;height:1em;color:var(--success);display:inline-flex}}& button.primary{justify-content:center;width:100%}}}&>button[type=button]{box-shadow:none;opacity:.6;background:0 0;border:none;align-items:center;margin-block:auto;padding:0;display:flex}& .profile-meta{flex-direction:column;min-width:0;margin-right:.35em;line-height:1.05;display:flex}& .profile-name{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;font-size:.74rem;font-weight:600;overflow:hidden}& .profile-email{opacity:.5;white-space:nowrap;text-overflow:ellipsis;font-size:.58rem;overflow:hidden}& .dropdown{& ul{& li{&:has(.name){border-bottom:1px dotted color-mix(in srgb, var(--background), var(--text) 10%);margin:0 0 .75em;padding:0 0 .75em}&:last-of-type{margin-top:2em}& form{width:100%!important}}}}}main>header{background:var(--premiumGlass);border-radius:var(--panelRadius);z-index:10000000;width:calc(100% - 2.5em);height:4.75rem;box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 45%);backdrop-filter:blur(6px);flex-direction:row;gap:1.85em;margin:1.25rem 1.25rem 0;padding:.5em 1.5em;display:flex;&>svg{opacity:.96;width:clamp(11rem,26%,13.5rem);height:auto;margin:0;display:flex}& .header-navbar{flex-direction:row;align-items:flex-end;gap:0;margin-right:auto;display:flex;& a{height:100%;color:var(--text);letter-spacing:.06em;white-space:nowrap;border-radius:var(--pillRadius);flex-direction:column;justify-content:center;align-items:center;gap:.2em;margin:-.2em 0;padding:0 .9em;font-size:.76em;font-weight:500;text-decoration:none;transition:all .1s;display:inline-flex;& svg{opacity:.85;width:1.6em;height:1.6em}&:hover{background:color-mix(in srgb, var(--text), transparent 94%);box-shadow:var(--softShadow)}}& .current-project{flex-direction:row;align-items:center;margin:auto 0;padding:0 .5em 0 1em;font-weight:700;display:flex;position:relative;& button{height:auto;box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;gap:.5em;padding:.5em 1em;font-size:.8rem;font-weight:600;line-height:1em;display:inline-flex;& svg{width:1.5rem;height:1.5rem}}}}& .theme-switcher-button{box-shadow:none;background:0 0;border:none;margin:auto 0;padding:0 1em}& form#locale-form{width:auto;margin:auto 0;font-size:.8em}& .header-auth{flex-direction:row;gap:.75em;margin:auto 0;font-size:.85em;font-weight:600;display:flex;& a{color:var(--text);white-space:nowrap;text-decoration:none;&:hover{box-shadow:0 .35em 0 var(--primary)}&.primary{color:var(--text);background:var(--primary);box-shadow:var(--buttonShadow)}}}}dialog#cookie-informer{visibility:visible;background:var(--background);width:fit-content;min-width:400px;max-width:25%;height:auto;color:var(--text);box-shadow:var(--heavyShadow);opacity:1;user-select:none;z-index:99999999;border:none;border-radius:.2em;flex-flow:column wrap;gap:1em;padding:1.5rem 2rem;font-size:.9em;transition:all .5s;display:flex;position:fixed;inset:auto 1em 1em auto;& h3,& p{margin:0}& .actions{justify-content:space-between;align-items:baseline;gap:1rem;display:flex;& a{color:inherit;text-underline-offset:.2em;font-weight:600;text-decoration-style:dotted;text-decoration-thickness:1px}& button{&:first-of-type{margin-left:auto}&.accept{--text:white;--background:var(--primary);[data-theme=dark] &{--text:black}}}}}@media screen and (width<=440px){dialog#cookie-informer{min-width:0;max-width:100%;inset:auto 0 0;& .actions{flex-direction:column;align-items:center;gap:.5em;& button{text-align:center;justify-content:center;align-items:center;width:100%;margin:auto}}}}img:not([class*=-cover]):not([class*=viewer-ignore]){cursor:pointer}dialog#image-gallery{z-index:999998;background:0 0;border-radius:0;width:0;height:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden;&[open]{width:100%;min-width:100%;height:100%;min-height:100%;&::backdrop{--in:#111a;--out:#111e}}& button[type=button]{--background:var(--danger);--text:white;z-index:999;border-width:0;border-radius:50%;justify-content:center;align-items:center;width:1em;height:1em;margin:0;padding:0;font-size:3rem;display:inline-flex;position:absolute;top:.5em;right:.5em;&.close{z-index:9999}&:active{scale:1.1}&[data-direction=prev],&[data-direction=next]{--background:#333;width:50%;height:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:auto;padding:.5em;position:absolute;inset:50%;&:active{scale:1.025}}&[data-direction=prev]{justify-content:flex-start;left:0;right:auto}&[data-direction=next]{justify-content:flex-end;left:auto;right:0}}& img{box-shadow:var(--heavyShadow);border-radius:.5em}& img.image-gallery-main-preview{--zoom:1;height:80%;scale:var(--zoom);margin:auto;display:flex;inset:auto}& .image-gallery-list{z-index:999999;scroll-snap-type:x mandatory;background:linear-gradient(#0000,#1117);gap:1em;width:100%;padding:1em;display:flex;position:absolute;inset:auto 0 0;overflow:scroll hidden;& img{scroll-snap-align:start;opacity:.4;filter:grayscale(.2);width:auto;height:7vh;transition:all .3s;scale:.9;&:hover,&.active{opacity:1;filter:none;scale:1}}}}@media screen and (width<=768px){dialog#image-gallery{& img.image-gallery-main-preview{height:60%}& .image-gallery-list{gap:.5em;padding:.5em;& img{height:6vh}}}}#kitchen-builder{background:#fff}.contact-shadows{mix-blend-mode:multiply}.grid-helper{opacity:.3}#toolbox-wrap{z-index:10001;flex-direction:column;gap:.75em;display:flex;position:absolute;left:1.25rem}fieldset#toolbox{border-radius:var(--panelRadius);background:var(--premiumGlass);box-shadow:var(--heavyShadow), var(--panelHighlight), var(--premiumGlow);border:1px solid color-mix(in srgb, var(--subtleBorder), transparent 45%);backdrop-filter:blur(4px);flex-flow:column wrap;gap:.8em;padding:.7em .35em;font-size:.8rem;display:flex;& label{align-items:center;display:flex;& button{--size:2.9em;font-size:calc(var(--size) / 2);height:var(--size);width:var(--size);box-shadow:none;border-radius:var(--pillRadius);background:0 0;flex-direction:column;justify-content:center;padding:0;display:flex;& svg{aspect-ratio:1;width:calc(var(--size) / 2);height:calc(var(--size) / 2);min-width:calc(var(--size) / 2);min-height:calc(var(--size) / 2);opacity:.88;display:block}&[disabled]{opacity:.2}&.busy:not([disabled]){opacity:.65;animation:1.2s ease-in-out infinite toolbox-busy-pulse}&+.popover-hint{background:var(--uiBackground);color:var(--text);text-shadow:none;box-shadow:var(--heavyShadow);user-select:none;pointer-events:none;opacity:0;white-space:nowrap;z-index:9999;border-radius:.5em;padding:.2em 1em;font-size:0;transition:all .4s;position:absolute;inset:auto 0 auto 100%;overflow:hidden}}}&:hover .popover-hint{opacity:1;font-size:1.25em;font-weight:400;right:auto}}fieldset#material-colors,fieldset#kitchen-style{background:var(--uiBackground);box-shadow:var(--heavyShadow);border:none;border-radius:1em;flex-direction:column;gap:.55em;min-width:14.5rem;max-width:min(19rem,100vw - 7rem);max-height:min(100%,100vh - 2rem);margin:0;padding:1.1em 1.25em;font-size:1rem;display:flex;position:absolute;top:0;left:6rem;overflow-y:auto;& .panel-hint{opacity:.72;margin:0;font-size:.72em;line-height:1.35}& .presets{flex-direction:column;gap:.4em;width:100%;display:flex;& .presets-title{font-size:.85em;font-weight:600}& .preset-grid{flex-direction:column;gap:.4em;display:flex;& .preset-card{border-radius:var(--pillRadius);color:inherit;cursor:pointer;box-shadow:none;text-shadow:none;background:0 0;border:1px solid #0000;flex-direction:column;align-items:flex-start;gap:.35em;height:auto;padding:.25em .35em;font-size:.95em;line-height:1.2;display:flex;&.active{font-weight:600}& .preset-swatches{gap:.2em;display:flex;& .preset-swatch{--size:2em;width:var(--size);height:var(--size);border:1px solid color-mix(in srgb, var(--text) 20%, transparent);border-radius:.25em}}& .preset-label{font-weight:600}}}}& .customize-toggle{box-shadow:none;color:inherit;cursor:pointer;text-underline-offset:.15em;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.72em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}& .customize-zones{flex-direction:column;gap:.55em;display:flex}& .material-zone{border-bottom:1px solid color-mix(in srgb, var(--text) 8%, transparent);flex-direction:column;gap:.4em;padding-bottom:.5em;display:flex;&:last-child{border-bottom:none;padding-bottom:0}}& .material-zone-header{justify-content:space-between;align-items:center;gap:.5em;display:flex}& .material-zone-title{font-size:.78em;font-weight:600}& .zone-action{box-shadow:none;color:inherit;opacity:.75;cursor:pointer;text-underline-offset:.12em;white-space:nowrap;background:0 0;border:none;padding:0;font-size:.65em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}& .material-zone-row{flex-direction:column;gap:.35em;padding-top:.15em;display:flex}& .material-zone-row-label{opacity:.75;font-size:.68em}& .swatch-picker{flex-direction:column;gap:.3em;display:flex}& .swatch-picker-label{opacity:.75;font-size:.68em}& .swatch-grid,& .texture-grid{flex-wrap:wrap;gap:.3em;display:flex}& .color-swatch,& .texture-swatch{--size:5em;width:var(--size);height:var(--size);cursor:pointer;box-shadow:none;background-color:#0000;background-position:50%;background-size:cover;border:2px solid #0000;border-radius:.35em;padding:0;&:hover{z-index:999;scale:1.25}&:focus-visible{outline:2px solid color-mix(in srgb, var(--text) 55%, transparent);outline-offset:1px}&.active{border-color:var(--text);box-shadow:0 0 0 1px var(--uiBackground)}}& .color-swatch{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--text) 12%, transparent)}& .style-picker{flex-direction:column;justify-content:space-between;gap:.3em;display:flex}& .style-picker-label{opacity:.75;font-size:.68em}& .style-option-grid{flex-wrap:wrap;gap:.35em;display:flex}& .style-option{border:1px solid var(--subtleBorder);border-radius:var(--pillRadius);background:var(--pillBg);color:inherit;cursor:pointer;box-shadow:none;text-shadow:none;padding:.28em .55em;font-size:.67em;line-height:1.15;&:hover,&:focus-visible{background:color-mix(in srgb, var(--pillBg), white 25%);outline:none}&.active{border-color:var(--text);background:color-mix(in srgb, var(--uiBackground), white 55%);font-weight:600}}& .reset-colors{cursor:pointer;box-shadow:none;background:0 0;border:none;align-self:flex-start;margin-top:.35em;padding:0;font-size:.85em;text-decoration:underline;&:hover,&:focus-visible{opacity:1;outline:none}}}fieldset#controls{z-index:999;flex-flow:column wrap;gap:.5em;font-size:.7rem;display:flex;position:absolute;inset:auto 1em 1em auto;& button{--size:2rem;font-weight:700;font-size:calc(var(--size) / 2);height:var(--size);width:var(--size);border-radius:50%;justify-content:center;padding:0}}@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}@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:#b8b4ae;--scene-vignette-blur:13px;--scene-vignette-darkness:.36;inset:0;right:calc(var(--chat-width) + 1.25rem);background-color:var(--scene-bg);border:none;border-radius:0;flex:1;align-items:center;margin-right:auto;transition:opacity .2s;display:flex;position:absolute;top:6rem;overflow:visible;&[data-scene-mood=evening]{--scene-bg:#726f72;--scene-vignette-blur:15px;--scene-vignette-darkness:.42}&.fullscreen{border:none;inset:0}&.grab{cursor:grab}&.grabbing{cursor:grabbing}& 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);backdrop-filter:blur(var(--scene-vignette-blur,5rem));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}&:before{content:"";z-index:2;pointer-events:none;mix-blend-mode:multiply;opacity:.1;width:100%;height:100%;animation:grain-move .75s steps(6) infinite linear;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.28'/%3E%3C/svg%3E");background-repeat:repeat;background-size:10rem 10rem;position:absolute;inset:0}}.scene-planner-feedback{z-index:100;pointer-events:none;background:color-mix(in srgb, var(--scene-bg,#1a1a1a) 22%, transparent);backdrop-filter:blur(4px);border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex;position:absolute;inset:0}.scene-planner-feedback--kitchen{background:color-mix(in srgb, var(--scene-bg,#1a1a1a) 24%, transparent);backdrop-filter:blur(8px);box-shadow:inset 0 0 0 1px #ffffff14}.scene-planner-feedback p{opacity:.8;text-align:center;letter-spacing:.01em;margin:0;font-size:.78rem}aside#scene.fullscreen .scene-planner-feedback{border-radius:0}@keyframes grain-move{0%{background-position:0 0}25%{background-position:25px 15px}50%{background-position:-18px 28px}75%{background-position:12px -22px}to{background-position:0 0}}main#project-page{--sceneBg:#c7c4c1;background:var(--sceneBg);min-width:100vw;&:has(canvas[data-scene-mood=evening]){--sceneBg:#726c70}& section#workspace{--chat-width:min(30%, 30rem);background:0 0;flex:1;justify-content:flex-end;align-items:flex-end;gap:1em;height:100%;margin:0;padding:0;display:flex;position:absolute;inset:0;&:has(.fullscreen){padding:0;& .fullscreen{border-radius:0}}}}